课程咨询
工作时间: 9:00-18:00
QQ
QQ
0755-28917957
拨打咨询电话:0755-28917957
电话
电话
微信
微信
回顶
深入浅出西门子PLC连载三:S7-200系列PLC自由口通信程序设计
荣久学院 ● 2018-12-18 17:50:29


    S7-200
系列PLC中的自由口通信是一种比较灵活的通信,相对而言其通信程序的设计难度也会更大点,有很多学员问我,设计自由口通信有没有什么设计思路可供参考,接下本文就分享下自由口通信程序的设计思路,同时这也是西门子系列PLC通信功能的连载三。


    自由口通信方式是S7-200CPU很重要的功能。在自由口模式下,S7-200PU可以与任何通信协议公开的其他设备和控制器进行通信,也就是说S7-200 PLC可以由用户自己定义通信协议。S7-200 PLC的通信口支持RS485接口标准。采用正负两根信号线作为传输线路。工作模式采用串行半双工形式,在任意时刻只允许由一方发送数据,另一方接收数据。

 

    数据传输采用异步方式,传输的单位是字符,收发双方以预先约定的传输速率,在时钟的作用下,传送这个字符中的每一位。传输速率值可以设置为1200240048009600192003840057600115200,单位为kbps。字符帧格式为一个起始位、78个数据位、一个奇/偶校验位或者无校验位、一个停止位。字符传输从最低位开始,空闲线高电平、起始位低电平、停止位高电平。字符传输时间取决于波特率。数据发送可以是连续的也可以是断续的。

 

    所谓连续的数据发送,是指在一个字符格式的停止位之后,立即发送下一个字符的起始位,之间没有空闲线时间。而断续的数据发送,是指当一个字符帧发送后,总线维持空闲的状态,新字符起始位可以在任意时刻开始发送,即上一个字符的停止位和下一个字符的起始位之间有空闲线状态。




 

    发送和接收指令是使用自由口协议进行通信的指令



 

    发送和接收程序分为主程序和中断程序,其主程序示例如图所示。在主程序中,在第一次扫描时初始化自由口通信的状态字。初始化自由端口:选择波特率为9600bps、选择8b数据位、选择无校验位。初始化RCV消息控制字节:启用RCV、检测消息结束字符、检测空闲线消息条件。将消息结束字符设为十六进制0A。将空闲线超时设置为5ms。将最大字符设为100。将中断0连接到接收完成事件。将中断2连接到发送完成事件。启用从VB100开始的缓冲区。启用户中断。



    当接收完成时,如果接收状态显示接收结束字符,则连接一个10ms定时器,触发发送并返回;如果接收因其他原因完成,则启动新的接收。



 

    在此中断程序中,断开定时器中断,并将消息发送给端口上的设备。



 

    在此中断程序中,当发送完成时,启用另一个接收。



 

    今天先讲到这里,关于具体程序,以及一些必要的理论知识,我们明天继续。

    (未完待续……)

    转载请注明来源


相关文章:

PLC之间的PPI该如何实现通讯设计?
常见问题