200的自由通讯功能确实强大!
目前我用其端口做过和ABB变频器(
modbus)、富士变频器(富士通讯协议)、海里普变频器(海里普协议)、西门子M440的USS通讯、托利多称重仪表等通讯。
以上通讯没有用西门子的库程序,直接根据自由通讯规约而编制的,其实不管什么
modbus还是别的关键在于校验不同,因为其通讯原理都是一样的,即一问一答,多站轮询等!
基于485半双工通讯介质,也即发送和接收要分开,
200自由通讯我认为最为稳定的是用接收字符终中断(如端口0,中断事件8)和SMB2,每接收一个字符就触发中断事件一次。然后在程序中处理接收过来的数据,最好结束中断、转移数据等。
哪位需要类似程序可联系我,以便交流!
附中断事件程序
LD Always_On:SM0.0
XORB VB1567, VB1567
MOVD &VB201, VD1562
MOVB 0, VB200
ATCH INT_1:INT1, 8
R V3021.0, 1 //R V3021.0, 4
R M0.0, 1
CRETI
LD Always_On:SM0.0
WDR
MOVB Receive_Char:SMB2, VB1567
AN M0.0
AB= VB1567, VB1403
S M0.0, 1
LD M0.0
MOVB VB1567, *VD1562
INCB VB200
INCD VD1562