×
接口总线驱动 > 总线 > 详情

基于PROFIBUS—DP的串口设备群的集成方案与实现

发布时间:2020-05-26 发布时间:
|

引言

    PROFIBUS是市场占有率最高的一种现场总线技术,它包括用于制造业自动化的PROFIBUS—DP和用于流程工业领域的PROFIBUS—PA,它是目前我国唯一的现场总线国家标准。现在越来越多的工业控制系统采用了PROFIBuS现场总线技术,还有很多企业希望在原有设备的基础上改造成现场总线控制系统。这样一来,许多旧的不PROFIBUS—DP接口的串口设备,要实现总线控制系统就比较困难,如果都将其更换为具有DP接口的控制设备,将给企业带来巨大的经济负担。那么如何把现存的不带DP接口的串口设备连接到总线上组成DP网络就成为一个亟待解决的问题。

    解决该问题的方法有很多种,一种方法是将每一个控制设备都增加一个由其相应厂家生产的DP接口模块,使用这种方法一方面会增加很多硬件成本,另一方面有些生产串口设备的厂家根本就不能提供与这些旧型号相匹配的DP接口模块;另外一种方法是设计局部的底层小网络,这种网络的主站可以是基于PLC的,也可以是基于其他智能设备的,然后集中通过一个DP接口挂接到DP网络中。本文介绍的是基于PROFIBUS爪S485总线桥实现串口设备群和DP网络互联的方法,它属于后者。使用本文介绍的组网方法,不但硬件成本比较低,安装方便,而且编程简单,PROFlBUS—DP主站可以直接对各个串口设备进行控制,传输速率较快,有很好的实用性和可行性。

1 系统构成

    PROFIBUS/485总线桥的PROFlBUS通信接口为标准的DP驱动接口,波特率自适应,最大波特率为6Mbps。其通信协议符合DP—V0,其串口设备接口为标准的485接口,通信波特率最大可达57.6Kbps,传输速率为2400bit/s~57.6Kbit/s。根据通信速度的要求,建议所挂串口设备数量不宜太多。本实验中,利用总线桥作为串口设备网络的主站与串口设备群实现485通信,同时总线桥作为PROFIBUS的从站,实现与现场总线系统的通信功能。

    实验系统采用CPU3 15.2DP作为DP系统的主站,总线桥作为现场总线系统的一个DP从站,与DP主站进行通信,同时总线桥作为串口设备网络的一个主站,与它下面挂接的串口设备群进行通信。在本系统中采用几个S7—200 PLC作为模拟的串口设备群,系统结构如图1所示。当然,系统中也可以连接其他的串口设备,其实现方法大致相同。

图1 系统构成示意图

2 PROFIBUS/RS485总线桥的工作原理

    总线桥工作原理是:一方面,CPU通过对PROFIBUS通信协议芯片的控制实现PROFIBUS的通信,在I认M中建立PROFIBUS通信数据缓冲区;另一方面,通过RS485接口实现和外部现场设备的通信,同样在RAM中建立RS485通信数据缓冲区。CPU通过两个通信缓冲区的数据交换,实现PROFIBUS到RS485的通信。

    由于总线桥自身不具备控制功能,必须通过DP主站进行控制。DP主站通过对其控制字的设置,来控制总线桥作为RS485网络主站对其各从站的发送接收模式,通过监控其状态字来实现对数据发送接收状态的监控。PROFIBUS数据区与RS485数据报文格式对照关系如表1所示。

表1 PROFIBus数据区与RS485接收报文对照表

    总线桥的输入输出数据缓冲单元可由用户在现场总线网络组态中自行设定,最大输入单元不得超过224个字节,最大输出单元也不得超过224个字节,输入和输出单元之和最大不得超过232个字节。由于总线桥在PROFIBUS配置中预留2字节输入作为“接收长度”和“通信状态字”,2字节输出作为“发送长度”和“控制字”,因此对于总线桥来说最大输入报文长度不得超过222个字节,最大输出报文长度也不得超过222个字节,输入和输出报文长度之和最大不得超过230个字节。

    由表1可知,总线桥在PROFIBuS中预留字节中IBl为通信状态字,其各位(D7~D0)所代表的含义为:D0为l时表示接口处于“接收完毕/发送允许”状态,为0时表示接口处于“等待接收”状态;D1为1表示接口正在发送数据中,为0表示接口不在发送数据中;D2为l表示接口正在接收数据中,为0表示接口不在接收数据中;D3、D4、D5、D6位未定义;D7为1表示接收数据字符奇偶校验错,为0表示无接收数据字符奇偶校验错。QB1字节为通信控制字,其各位(D7~DO)所代表的含义为:DO位为1时表示在自动发送模式时,主站按照设定的时间间隔,自动连续发送,该位需和QB1的Dl位配合使用,D0为0时表示在触发发送模式时,当该位由0变1(上升沿)时,触发发送一次;D1为l表示主站处于自动定时发送模式,为0时表示总线桥处于触发发送模式;D2为1时表示接收模式为按长度接收,按照用户给定的接收报文长度控制

    接收结束,为0时表示接收模式为按字符间隔接收,当接收到一个字符后连续3.5个字符时间没有收到下一个字符时,认为报文结束;D3、D4、D5位未定义;D6位为1时表示主站处于强制等待接收,为O时无效;D7位为1时表示主站处于强置允许发送状态,为0时无效。

    本实验系统中涉及的状态位和控制位有11.0、Q0.0和Q0.1位。

3 通信系统程序设计

    3.1 PROFIBUS-DP主站通信方案及程序框图

    总线桥设备作为一个DP从站,其组态过程和其他DP从站一样,首先将其相应的GSD文件添加到STEP7中,找到相应的设备添加到DP网络中。然后根据需要配置好输入输出数据缓冲区即可。本实验系统输入输出的配置为:除系统自动预留的2字节输入和2字节输出作为“接收报文长度”、“通信状态字”、“发送报文长度”和“控制字”外,配置了6字节的输入和6字节的输出。所以发送和接收报文的长度都不能超过6个字节。此时主站PLC上带有的其他输入输出模块,其输入输出地址均是从IB8和QB8开始的。

    串口设备的通信过程必须是有应答的。通过实验可知,在主程序中通过检测I1.0(接收完成/发送允许)的状态位来实现对串口设备从站轮流控制是不可行的。由于通信速度较快,在主程序中有时无法准确捕捉I1.0的上升沿,鉴于该情况便考虑到了采用S7—300的I/O中断方式实现,通过I1.0(接收完成/发送允许)状态位产生中断,对从站轮流发送数据,从而实现对从站的控制。但总线桥11.0状态位既不是作为S7300主站一个输入点,也不是总线桥作为DP从站的一个输入点,所以既无法采用硬件中断,也无发采用分布式I/O触发主站的硬件中断。

    经过验证,最后采用基于时间的控制方式,即自动定时发送模式,由主站程序控制对各个从站的轮流控制发送和接收。定时间隔从50ms到10s可由用户自行设定。本实验系统的定时间隔为1s,其程序流程图如图2所示(以对2个串口设备控制为例)。[page]

    3.2串口从站设备通信方案及程序框图

    本实验系统采用多台S7—200 PLC来模拟串口设备群,整个系统是有应答的收发通信。当然也可以采用其他串口设备,如果采用单纯发送设备(如条码扫描器)或单纯接收设备(如显示屏),其实现方法是一样的,只是编程更加简单而已。

图2 DP主站通讯程序流程图

    对S7.200 PLC,我们使用其自由口通信方式,用XMT指令发送数据,用RCV指令接收数据。因为有多台PLC串接在网络中,每台PLC需要接收到有用的数据是不同的,所以需要根据主站所发送的地址来判断是发给哪一个从站的数据,从而该从站进行接收,并向主站发送数据。又因为通信速度较快,所以对地址的判断需要放到接收完成中断程序中。其程序框图如图3所示。

    图3中中断O为接收完成中断,中断1为时基中断,中断2为发送完成中断。时基中断的时间为10ms。

    3.3程序设计中的关键环节

    在系统软件设计中,首先需要注意的是主站自动发送间隔时间的选择。对主站来说,如果接收数据过长,接收数据时间大于发送时间间隔,那么接收将被发送打断,而不能完整地接收数据。设计人员需要根据在主站中所配置输入缓冲单元的数系统所选传输速率,算出传送所需最长报文数据所需要的时间,将主站定时器时间设定为大于传送最长报文的时间(也可根据经验设置),才不至于出现主站发送打断主站接收的情况,实现良好的通信效果。

图3 串口设备从站通信程序框图

    其次需要注意的是串口设备从站收发之间需要有一个切换时间。当串口设备收到主站发送的控制命令后,不能立即向主站发送数据,需要延迟一小段时间,也就是说需使数据线处于一小段空闲时间后,再向主站发送数据,这样才能保证传输的可靠性。通过实验表明,如果不设置串口设备从站收发切换时间,在通信中容易造成数据丢失,不能实现良好的循环通信。在本系统中采用的是时间中断方式,定时时间为10ms,即串口设备收发切换时间为10ms。

4 结束语

    本系统采用S7—300 PLC作为PROFIBUS主站,使用多台S7-200 PLC模拟串口设备群,配置了6个字节缓冲输入和缓冲输出,实验室调试结果表明:DP主站能够按时间每隔1s轮流对各个串口设备发送数据,串口设备从站能够在接收到主站发给自己的数据后,及时地将数据从缓冲区取出,存放到相应的存储单元,停留10ms后从站将自己的数据报告给主站,根据缓冲区的配置每次可传送6个字节的数据,主站接收到从站报告的数据后,按不同的从站地址存储到其相应的存储单元,然后对下一个从站进行访问,依此循环通信。本系统实际运行通信情况良好。

    本实验系统提供的组网方法,以其良好的通信状况,低廉的成本,不仅能够实现现场总线系统的智能化管理,具有很高的先进性,还可以节约大量的硬件成本。那些存在较多串口设备,在不更换设备的情况下需进行现场总线技术改造的企业,可借鉴本例的设计。 


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
SPI总线的特点.工作方式及常见错误解答