ctpptai
遇到一个项目,要求300的PLC与某智能表进行485通讯,报文没问题,但是校验码为前五个数据的无进位相加,有点迷糊,请大神指点
曹工1982
能具体一点么,举个例子。
比方说:AA BB AA 12 13,这5个数的无进位相加结果就是27
机器熊
可以把仪表通讯的资料发出来,大家帮你看看。
错了,是25
注意黑线标注的部分就是我用程序写不出来的部分,我知道是什么意思,但是不知道在300程序里面怎么实现
有一段STL程序可以实现这个功能,我想把它转成LAD,不知道怎么弄
AA BB AA 12 13,这5个数的无进位相加结果就是27
是不是先把他们转化成 ASCII码,然后再无进位相加(二进制,还是十进制)
回复内容:
对: ctpptai 有一段STL程序可以实现这个功能,我想把它转成LAD,... 内容的回复!
STL的程序贴上来,看看
L 0
T #TEMP2
T #TEMP1
L P#DBX 0.0
LAR1
OPN DB 1
L #IN0
M001: T #TEMP3
L DBB [AR1,P#0.0]
T LB 1
L #TEMP1
L #TEMP2
+I
L P#1.0
+AR1
L #TEMP3
LOOP M001
L LB 3
T DBB [AR1,P#0.0]
NOP 0
对: 曹工1982 回复内容:对: ctpptai 有一段STL程序可以... 内容的回复!
干这个事情还是用STL,不要用Ladder,学会用STL吧
对: ctpptai L 0 T #TEMP... 内容的回复!
Temp1 Temp2 应该是Int的格式的,对么
不对的,是WORD格式,TEMP3是INT格式