这样的自由口程序如何做

(485波特率9600,起始位2,数据位7,校验位1,结束位无)

 格式:$ADD,ORDER, XXX,XXXX,*hh 
 1 数据头: “$”起始的ASCII码。
 2 地址:用‘,’结束,定长3字节(S7-200地址888,12个采集器地址001~012)。
 3 命令值:用‘,’结束,不定长。
 4 数据:用‘,’结束,不定长。
 .
 .(数据可以N个)
 .
 N+4 数据尾:“*”。
 N+5 校验和:自“$”后开始到“*”以前的每个字与下一个字作异或(XOR)操作后的值再与下一字节异或的结果。
 协议不定长。

 
 通讯测试:(PLC测试采集器的通讯状况)
     命令值:LINK
     $001,LINK, *hh (对采集器1的连接测试)
 采集器应答:(采集器PLC的非参数回复的应答)
     命令值:YES
     $001,YES,*hh(采集器001对S7-200非参数回复的应答)

 

 参数询问:(PLC对采集器的参数询问)
     命令值:DATA
     $001,DATA,*hh(PLC对采集器001的参数询问)
 参数上传:(采集器001上传参数,输出状态常闭C/常开O)
     命令值:DATA
       $001,DATA,1024,300,10000,C,10,3,2020,O,20,6,600,C,500,150,66,C,0,0,0,O,*hh
    (采集器001的参数上传
     路一PT100原始数据1024,温度300,频率10000HZ,继电器常闭
     路二PT100原始数据10,温度3,频率2020HZ,继电器常开
     路三PT100原始数据20,温度6,频率600HZ,继电器常闭
     路四PT100原始数据500,温度150,频率66HZ,继电器常闭
     路五PT100原始数据0,温度0,频率0HZ,继电器常开)

 动作命令:
     
     $001,DO,A,300,C,10000,O,8000,O,0,C,26,O,*hh
    (对采集器1的远程输出控制方式,流量显示,和输出控制
     路一流量300,继电器常闭
     路二流量10000,继电器常开
     路三流量8000,继电器常开
     路四流量0,继电器常闭
     路五流量26,继电器常开)
    
 采集器应答:(采集器PLC的非参数回复的应答)
     命令值:YES
     $001,YES,*hh(采集器001对S7-200非参数回复的应答)
 现在能采集到9#站的地址数据,当设置10#站时数据就采集不到了。
 程序没法上传,有需要看程序的话联系QQ767131769,各位拜托了。

问题补充:
写错了,起始位1位

最佳答案

起始位2,不能实现。

提问者对于答案的评价:
OK

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc347732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日
下一篇 2021年7月4日

相关推荐

发表回复

登录后才能评论