做了个与台达VDF-B变频器通讯的程序,SMB30设置为 波特率9600 数据位8 无校验 停止位1
即16#09。用串口调试工具实验下,PLC发送和接收的数据均正常无误。但不能与变频器通讯。
发现台达变频器通讯格式应为 16#69 即波特率9600 数据位7 偶校验 停止位1
更改程序,再用串口调试工具接收,收到PLC发送的数据就变了。变频器也通讯不上。
自己编了个简单的发送程序,如下:
network1
LD SM0.1
MOVB16#69, SMB30
network2
LD SM0.1
MOVB16#05, VB100
MOVB16#41, VB101
MOVB16#42, VB102
MOVB16#30, VB103
MOVB16#31, VB104
MOVB16#32, VB105
network3
LD I0.0
EU
XMT VB100,0
用串口调试工具接收到的数据是 41H 42H 30H 31H 32H
这是我想要的数据
但把network1 中改为16#69 即把数据位由8位改为7位,无校验改为偶校验
用串口调试工具接收的数据是 41H 09H 41H 0AH 13H 7FH
不但数据改变,竟然还多了个数,这是为什么?是对的还是错的呢?
翻遍了S7-200手册,也没有找到数据位为7位的通讯实例,难道一定要是8位?
8位和7位有什么区别?PLC发送的数据是怎样组成的?
是程序不完整吗?那为什么8位的时候发送的数据是正常的呢?
静候高人指点。。。。。