我有两个400的主站需要做通讯,网络通了,在写SFB14,15发现个问题,就是只有BOOL类型的变量能读写,只要包含其他类型变量(int,real)就不行,并且SFB块的error会闪,我后来又单独新建一个DB只包含一个real变量还是不行,也报错,求解!
问题补充:
我是用BYTE数据在发送区和接收区,数据长度也核对过好多遍了。
最佳答案
1、SFB14,15传送数据是以字节为单位的。注意,INT,REAL型数据由四个字节组成。
2、例如,通讯数据是以数据块DB形式传送,要传送的DB中第一条信息为16个BOOL类型的变量(占用2个字节),第二条信息为2个INT类型的变量(占用4个字节),第三条信息为3个REAL类型的变量(占用12个字节)。上述信息那么在编写程序时的数据传送长度为18个字节。
3、编写程序时,只需要顾及数据传送18个字节的DB即可。至于这18个字节中是什么类型的数据只有编程人员自己清楚。
4、注意,有些因为通讯设备不同,接收的数据会出现INT,REAL型数据的高低字节或高低字的顺序颠倒的情况,要根据实际的数值进行整理。
提问者对于答案的评价:
谢谢你的解答
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc346114.html