当前位置: 首页 > news >正文

网站视频链接/西安网站建设推广专家

网站视频链接,西安网站建设推广专家,电子商务网站建设与实践考试答案,wordpress英文下主题怎么换/// /* ReadCoils函数: 读继电器的状态 , 成功返回ture。 send 数据长度12 recv 数据长度10 unsigned short int addr 读继电器的起始地址(继电器编号-1) 。 注意:1~8个继电器,起始地址从0开始 unsigned short int len 读取继电器…

/// /* ReadCoils函数: 读继电器的状态 , 成功返回ture。 send 数据长度=12 recv 数据长度=10 unsigned short int addr 读继电器的起始地址(继电器编号-1) 。 注意:1~8个继电器,起始地址从0开始 unsigned short int len 读取继电器的个数,最大8. debug_state 如果为1 打印出调式信息 ubool *paraDO 读出的继电器状态 SOCKET s_bnc,fd_set fds,timeval tv 是辅助的网络接口参数 */ /// inline bool ReadCoils(unsigned short int addr, byte & coilstate, SOCKET_INT s_bnc) { cmd_len = 12; byte cmd_code = 1; //命令代码:01,读继电器 byte *cmd_string ; byte *echo_string ; cmd_string = new byte[cmd_len] ; echo_string = new byte[cmd_len] ; cmd_string[ 0] = 0 ; // modbus 协议规定标示 cmd_string[ 1] = 0 ; cmd_string[ 2] = 0 ; cmd_string[ 3] = 0 ; cmd_string[ 4] = 0 ; // length 高位部分 命令的后续字节数量 cmd_string[ 5] = 6 ; // length 低位部分 命令的后续字节数量 cmd_string[ 6] = 0 ; // Unit Identifier :identification of a remote slave connected on a serial line or on other buses. cmd_string[ 7] = cmd_code ; cmd_string[ 8] = (unsigned char) (addr >> 8); cmd_string[ 9] = (unsigned char) addr; cmd_string[10] = 0; //(unsigned char) (len >> 8); cmd_string[11] = 8; //(unsigned char) len ; int iret; fd_set fds; struct timeval tv; tv.tv_sec = SLEEP ; //超时等待时 tv.tv_usec = 0; FD_ZERO(&fds); FD_SET(s_bnc, &fds); /* wait for permission to send(等待是否可写write)*/ iret = select(s_bnc +1, NULL, &fds, NULL, &tv); /*write*/ if (iret=0) { if(debug_state) printf("Timer over!n"); close(s_bnc); return false ; } else if (iret<0) { if(debug_state) printf("select is err! n"); close(s_bnc); return false ; } /*send 写入数据 */ iret = send(s_bnc, (char *)cmd_string, cmd_len , 0); if (iret < cmd_len) { if(debug_state) printf("failed to send chars:%dn",iret); close(s_bnc); return false; } /*wait for response(等待是否可读read)*/ FD_SET(s_bnc, &fds); iret = select(s_bnc +1 , &fds, NULL, NULL, &tv); if (iret=0) { if(debug_state) printf("Timer over!n"); close(s_bnc); return false ; } else if (iret<0) { if(debug_state) printf("select is err! n"); close(s_bnc); return false ; } /*读出数据 */ iret = recv(s_bnc, (char *)echo_string, 12 , 0); if (iret<=0) { if(debug_state) printf("接受数据recv语句出错n"); } if ( echo_string[7] == cmd_code) /*7位置是命令*/ { /*if(debug_state) printf("n读数据成功了n");*/ } else if ( echo_string[7] == (0x80 | cmd_code)) { if(debug_state) printf("设备主动报告:操作出错n"); return false; } else { if(debug_state) printf("出错n"); return false; } //int nDOFlag = echo_string[9] |echo_string[10] << 8); //9位置10位置是继电器的状态 //unsigned char nDOFlag = echo_string[9]; //因为E3018只有8个继电器,故没有10位置 coilstate = echo_string[9]; delete []cmd_string; delete []echo_string; return true; }

全部程序正在完善中。

转载于:https://www.cnblogs.com/johnphan/archive/2010/02/22/9191276.html

http://www.lbrq.cn/news/1562131.html

相关文章:

  • 网站开发 例子/卢松松外链工具
  • 广州市建设监理协会网站/哪些店铺适合交换友情链接
  • 装饰公司营销型网站建设/西安关键词排名推广
  • 平顶山市建设委员会网站/郑州搜索引擎优化
  • 西安高校定制网站建设公司推荐/优化网站平台
  • 做游戏陪玩网站/推广文案范例
  • 网站建设市场分析报告/口碑营销案例ppt
  • 江苏句容市疫情最新情况/青岛seo网站关键词优化
  • 有人在相亲网站骗人做传销/单页面seo搜索引擎优化
  • 网站筛选功能/我在百度下的订单如何查询
  • 路由器 东莞网站建设/建站流程主要有哪些
  • 免费网站模板下载大全下载/百度快照是干嘛的
  • 网站开发有限公司/青岛seo外包公司
  • 企业网站主页设计图片/最热门的短期培训课程
  • 网站制作的基本流程/长沙优化网站推广
  • 2018爱情动做网站/2345浏览器主页网址
  • 做网站的前端是做什么/广州线下培训机构停课
  • 沈阳网站建设制作公司/安徽百度关键词优化
  • 网站建设二级分销/百度指数有哪些功能
  • 做ui要上那些网站/高端网站建设公司哪家好
  • 服装电子商务网站设计/怎么进行seo
  • 佛山广告设计公司排名/seo搜索引擎优化薪酬
  • 个人做网站流程图/百度pc端首页
  • 网站建设犭金手指C排名15/自己做网站设计制作
  • 手机在线设计/郑州百度seo排名公司
  • 北京 工业网站建设公司价格/代做seo关键词排名
  • 织梦网站怎样做防护/产品推广软件有哪些
  • 网站开发在线教程/友链是什么
  • 网站怎么做播放器/提高工作效率的软件
  • 设计师素材网站e/google推广公司哪家好
  • 云原生俱乐部-RH124知识点总结(1)
  • 【P14 3-6 】OpenCV Python——视频加载、摄像头调用、视频基本信息获取(宽、高、帧率、总帧数)
  • 云原生俱乐部-杂谈2
  • w484扶贫助农系统设计与实现
  • es7.x中分片和节点关系以及查看节点数
  • Python基础(Flask①)