PLC使用RS指令向PC发送数据

worldy 2012-02-15 07:20:41
PC端使用MSComm控件操作数据,PLC端使用RS指令发送一数据串,字符串以26(十进制)结束;按照MSDN说明,当MSComm收到该字符时,MSComm控件应该产生OmComm事件(CommEvent 参数为comEvEOF(7 收到文件结束(ASCII 字符为 26)字符。)但实际上,字符串已经能正确接收,数据完整,最后字符确为26,但是OmComm事件并没发生,这是为什么,或者我哪错了,请知道的高手不吝赐教。
...全文
2903 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
老经 2013-08-19
  • 打赏
  • 举报
回复
worldy 2012-03-05
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 ningxiaoguang 的回复:]
楼主你好!我想通过三菱PLC的RS指令与VB通讯,可否给我些资料呢?
[/Quote]
三菱的没有用过,不太懂它的rs是怎么使用的,要看他的说明书。、
一般VB和PLC通信要了解PLC的通信协议,按照通信协议组织数据,并解释返回的数据,一般情况下,不不要使用rs指令(rs指令一般作为主机使用,PC和PLC通信,一般将PLC做从机使用)

ningxiaoguang 2012-03-05
  • 打赏
  • 举报
回复
楼主你好!我想通过三菱PLC的RS指令与VB通讯,可否给我些资料呢?
贝隆 2012-02-15
  • 打赏
  • 举报
回复
你参阅一下我给你的那个例子,有处理方法。
zdingyun 2012-02-15
  • 打赏
  • 举报
回复
未设置MsComm控件的EOFEnable 属性为True,而且要设置RThreshold 属性不等于0.


worldy 2012-02-15
  • 打赏
  • 举报
回复
RThreshold设置为1,每个字符触发一次,应该不是个好的选择,这样效率太低,同时,也失去RThreshold这个参数存在的意义,但是如果设置大于1的值,比如,设置为10,现在有26个字节的数据传入,那么,传入20个字符后,再传入最后的5个就不会触发事件,PC端该如何处理最后的消息?
贝隆 2012-02-15
  • 打赏
  • 举报
回复
你应该是没有设置 MSComm1.RThreshold,这个属性设置为0,就表示不触发OnComm事件,设置为1,就表示接收到一个字符触发一次,依次类推。
看看这个:
http://download.csdn.net/detail/veron_04/4037248
worldy 2012-02-15
  • 打赏
  • 举报
回复
台达 eh2-40
贝隆 2012-02-15
  • 打赏
  • 举报
回复
什么PLC?
worldy 2012-02-15
  • 打赏
  • 举报
回复
串行通信指令,其功能就是最原始的发送数据,没有协议包装,而将指定的一块D寄存器的内容发送到485总线上,然后,接收回馈者的返回消息(可以没有回馈消息)
贝隆 2012-02-15
  • 打赏
  • 举报
回复
什么叫RS指令?
松下通讯协议(PLC) RCS Read single point of contact information 读取单个触点的状态信息 WCS Write single point of contact information 写入单个触点的状态信息 RCP Read plural point of contact information 读取多个触点的状态信息 WCP Write plural point of contact information 写入多个触点的状态信息 RCC Read word unit of contact information 读取字单位的触点的状态信息 WCC Write word unit of contact information 写入字单位的触点的状态信息 SC Preset word unit in contact area 预置字单位的触点 RD Read data area 读取数据寄存器值 WD Write data area 写入数据寄存器值 SD Preset of data area 预置数据寄存器值 RS Read timer and counter set value area 读取定时器/计数器目标值 WS Write timer and counter set value area 写入定时器/计数器目标值 RK Read timer and counter elapsed value area 读取定时器/计数器经过值 WK Write timer and counter elapsed value area 写入定时器/计数器经过值 MC Registration and reset of monitor contact 登录及复位监控触点 MD Registration and reset of monitor data 登录及复位监控数据 MG Monitor execution 执行监控 RR Read system register 读取系统寄存器 WR Write system register 写入系统寄存器 RT Read Programmable Controller (PC) status 读取PLC 当前状态 RP Read program 读取程序 WP Write program 写入程序 RM Remote control (RUN/PROGRAM mode switching) 遥控(运行/编程模式切换) AB Transmission abort command 传输终止指令

863

社区成员

发帖
与我相关
我的任务
社区描述
VB COM/DCOM/COM+
c++ 技术论坛(原bbs)
社区管理员
  • COM/DCOM/COM+社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧