PLC之间低成本通讯的实现

时间:2022-10-10 11:16:03

PLC之间低成本通讯的实现

摘 要:目前,工厂工业自动化的程度越来越高,在大型控制系统中,由于控制任务复杂,点数过多,各PLC站之间的模拟量、数字量信号需要交叉联锁,为节省各PLC站单机控制的任务量及系统成本,各PLC之间要实现必要的通讯,本文介绍西门子S7-400(300)PLC之间的通讯。

关键词:MPI;通讯;Profibus;程序

1 MPI通讯

MPI(Multipoint Interface)是一种适用于小范围、少数PLC站点之间的近距离通讯网络,在网络结构中属于单元级和现场级。通讯速率一般为:19.2k~12Mbps,默认值为:187.5kbps;通讯数据包不超过122字节。接口是S7-400 CPU上自带的MPI口(如图1),实际应用中只接“3”和“8”两个引脚。

图1

连接电缆为西门子Profibus标准电缆,电缆总长度不能超过50米,如果长度不够可以增加RS485中继器来扩展距离。连接插头为西门子Profibus 标准插头,如果使用其他电缆和插头,将带来数据传输不稳定的风险,网络图如图2。

图2

在此网络物理连接的基础上,MPI通讯又可分为全局数据包(GD)通讯、不需要组态的双边连接通讯、不需要组态的单边连接通讯和需要组态的连接通讯。这里只介绍不需要组态的单边连接通讯,单边通讯类似于客户机和服务器之间的通讯模式,即只在客户机一端编写程序来读取和写入服务器的数据,这时需要调用客户机PLC的系统功能块“SFC67”和“SFC68”完成读/写功能,通讯程序如下:

CALL SFC 67

REQ:=M50.0 // M50.0始终为“1”

CONT:=M50.1 //M50.1始终为“1”

DEST_ID:=W#16#3 //通讯伙伴的MPI地址为“3”

VAR_ADDR:=P#M 100.0 BYTE 60 //读取通讯伙伴MB100~MB159变量的数据

RET_VEL:=MW90 //通讯出现故障时,将错误代码值放入MW90

BUSY:=M50.2 //读取数据结束M50.2为“0”,没结束为“1”

RD:=P#M100.0 BYTE 60 //读取到的通讯伙伴的数据放入本地MB100~MB159变量中

CALL SFC 68

REQ:=M50.0 // M50.0始终为“1”

CONT:=M50.1 //M50.1始终为“1”

DEST_ID:=W#16#3 //通讯伙伴的MPI地址为“3”

VAR_ADDR:=P#M 200.0 BYTE 60 //写入通讯伙伴MB200~MB259变量的数据

SD:=P#M 200.0 BYTE 60 //读取本地MB200~MB259变量的数据

RET_VAL:=MW92 //通讯出现故障时,将错误代码值放入MW92

BUSY:=M50.3 //发送数据结束M50.3为“0”,没结束为“1”

如果通讯双方是S7-400PLC和S7-300PLC,S7-300只能作为服务器,S7-400作为客户机,通讯程序只能在S7-400中编写,S7-300中不需编写通讯程序。

2 Profibus通讯

Profibus通讯和MPI通讯具有相同的物理连接特性,区别在于接口的类型,Profibus通讯连接的是集成在CPU上的Profibus接口。Profibus通讯又可分为:PA(Process Automation)、FMS(Fieldbus Message Specification)和DP(Decentralized Periphery),即过程自动化协议、现场总线标准协议和分布式控制系统协议。其中,DP以传输速度快、通讯数据量大、可扩展性能强等优点被广泛应用于工业系统中。

典型的Profibus-DP网络配置是一个主站、多个从站结构,主站与从站之间的通讯基于主-从原理,即主站向从站发出请求,按照站号顺序轮询从站。根据通讯电缆的总长度不同,通讯波特率也应设成不同,一般长度小于200米时波特率可设为:1.5 Mbps。本文简单介绍同一项目下的两套PLC的通讯,其中,S7-400PLC作为主站、S7-300PLC作为从站的Profibus-DP通讯方式。网络连接如图3

图3

此种通讯方式只需通讯双方组态,不需要编程。先组态从站S7 300,打开从站的硬件组态,再打开CPU的DP属性窗口,“常规”选项卡中设置地址为“8”,“工作模式”选项卡选择“DP从站”,“组态”选项卡点击“新建”按钮,在弹出的窗口中设定从站的地址类型为“输入”;地址为“20”;长度为“32”;单位为“字节”。即主站发送的32个字节数据放入IB20~IB51中,确定后再次点击“组态”选项卡的“新建”按钮,在弹出的窗口中设定从站的地址类型为“输出”;地址为“20”;长度为“32”;单位为“字节”。即本站的QB20~QB51中的数据发送给主站,组态后的结果如图4。确定后保存编译下载。

下面组态主站,打开主站的硬件组态,再打开CPU的DP属性窗口,“常规”选项卡中设置地址为“7”,“工作模式”选项卡选择“DP主站”,确定后找到硬件组态窗口右侧的硬件目录下:\PROFIBUS DP\Configured Stations\CPU 31x图标,将其拖入DP主站系统,此时会弹出“DP 从站属性”窗口,点击“连接”选项卡中的“连接”按钮,确定后从站图标就会出现在DP 主站系统的下方如图5。双击从站图标,在弹出的“DP 从站属性”窗口中编辑组态行1,设定主站的地址类型为“输出”;地址为“20”;长度为“32”;单位为“字节”。

与从站的输入匹配。确定后再编辑组态行2,,设定主站的地址类型为“输入”;地址为“20”;长度为“32”;单位为“字节”,与从站的输出匹配。组态后的结果如图6,确定后保存编译下载。

这样通讯就建立起来了,数据交换对照表如表1,在编程的时候可以直接使用这些变量,这种通讯方式的缺点是占用通讯双方的输入、输出地址资源。

表1

3 结束语

PLC之间的通讯方式还有很多,比如工业以太网通讯等,但这两种通讯方式不需要增加通讯双方的硬件成本,利用自身CPU集成的通讯口进行通讯,实施起来简便快捷、经济高效。具体采用哪种通讯方式,在实际应用中,需要根据现场系统配置的情况和成本预算来决定通讯方案。

参考文献

[1]刘锴,周海.深入浅出西门子S7-300 PLC[M].北京:北京航空航天大学出版社.

[2]崔坚.西门子S7可编程序控制器- STEP7编程指南[M].北京:机械工业出版社,2007.

上一篇:浅谈我国幼儿教育课程改革 下一篇:语文教学中强调课外阅读的必要性