恭喜,你发布的帖子
发布于 2024-04-27 10:19:31
9楼
数据存储方式和通信传输略有差异,
以16位字为基本单位的通信中,数据通信时就直接以16位形式发送,比如西门子(低址高位)这边按B0-B1(H-L)存储的16位,发到对方(高址高位),对方解析出来自动以B1-B0存储。同样的;同样的,对方以B1-B0存储的数据,发送到西门子PLC,也会解析出来按B0-B1的存储。即16位数据是一样的,但是各自按自己的方式存储。
发送时,按存储的先后顺序逐字发送,因此对于双字,需要两个单位,这时候存储上的差异就体现出来了,发送一般按地址低到高逐个字发送,对方W0-W1的发送,西门子PLC按W0-W1存储,当还原双字时,对方W0-L,W1-H,那么西门子PLC这边变成了W0-H,W1-L,所以要做高低字转换。
同样的,当以8位字节为基本通信单元时,因为逐字节发送,则要对高低字节转换。
一般的,看发送区长度的单位是字还是字节,来确定是16位还是8位。
以上一点个人看法,通信前还是先做测试,然后确定数据处理方式。
请填写推广理由:
分享
只看
楼主