串口通讯编程

串口通讯编程

发送指令及发送完成位:编程

图1. 发送完成位3d

接收指令及接收完成位:blog

图2.接收完成位字符串

字符串转换

S7-1200字符串结构:table

总字符数 当前字符数 字符1 字符2 ...... 字符256

如上面S7-1200字符串结构,第一个字节是总字符数,第二个字节是当前字符数,因此发送和接收真正的字符内容都应该从字符串的第三个字节开始,所以发送和接收字符串都要进行相应的转换。bfc

发送字符串转换:im

要将 DB3.DBB20 中的字符串发送出去,须要通过下列转换:通信

图3. 发送字符串转换db

接收字符串转换:img

要将收到的字符串送入 DB3.DBB30 中须要进行如下转换:

图4. 接收字符串转换

轮询编程

通讯任务:

主站将 P#DB3.DBX20.0 中的字符串“西门子”(注意发送缓冲区由 P#DB3.DBX22.0 开始,由于字符串前两个字节分别是总字符数和当前字符数)发送给从站的接收缓冲区P#DB3.DBX32.0;从站 P#DB3.DBX22.0 返回“博大精深”给主站 P#DB3.DBX32.0。

主站轮询:

图5. 主站轮询

从站轮询:

图6. 从站轮询

通讯结果

图7.通讯结果

相关文章
相关标签/搜索