郭树青,岳玲玲,田金鑫,田康康,文 猛
(1.河南机电职业学院瑞德国际学院,河南郑州 450000;2.宇通客车股份有限公司,河南郑州 450000)
西门子的通信网络是通过通信处理器、通信链接器相连构成,实现“集中管理、分散控制”的分布式控制,更好地满足当前工厂自动化系统发展的需要。其中,工业现场总线PROFIBUS位于西门子工业自动化通信网络的中间层,主要服务于车间级与现场级数据交换的总线技术。
PROFIBUS(Process Field Bus)工业现场总线是全球广泛采用的现场总线标准之一[1],具有可靠的实时性、强大的抗干扰性、高速低成本等优点,是极具竞争力的自动化现场总线。
PROFIBUS 由3 个独立的组成部分,分别支持了以下3 种通信协议:
(1)PROFIBUS FMS(Field bus Message Specification,现场总线报文规范)主要协调解决系统级和车间级的数据传输问题[2],如协调不同供应商设备的兼容性问题。同时可处理因一个单元级出现多个主站数据通信的情况,常用于大范围和复杂的通信场合,总线周期一般小于100 ms。
(2)PROFIBUS DP(Decentralized Periphery,分布式外部设备)是专为帮助用户简易、高效实现数据传输而优化设计的通信总线,良好地实现了PROFIBUS 控制器(主站)与远程分布式I/O(从站)之间的确定性通信[3]。总线周期一般小于10 ms,特别适合于PLC 通过串行电缆同各现场级的分布式设备(I/O、驱动器等)实现通信,由于其高效数据交换的优势且能够较好地适应环境恶劣的生产现场,是当前工厂自动化系统常用的总线方式。
(3)PROFIBUS PA(Process Automation,过程自动化)适合现场设备间的过程自动化,PA 可以将自动化控制系统与用于测量特定物理量(压力、温度等)的现场设备连接起来,并可转化4~20 mA 的模拟信号[4]。相比于上述2 种通信协议,PA 传输技术融合了IEC 11158-2 标准以确保本质安全,PA 产品中包括防爆类系列产品,可用于防爆领域的信号传感器和执行器与中央自动控制系统/仪表的通信。
该平台硬件选用西门子CPU315-2DP、DI16×DC 24 V 输入模块、DO8×DC 24 V 输出模块、PS307 5A 电源、8 个输入按钮和8 个输出LED 小灯,另包括触摸屏、外部端子等部件,作为PROFIBUS DP 通信主站。
该平台硬件选用西门子CPU1215C DC/DC/DC、CM1242-5通信模块、DI16/DO16×DC 24 V、8 个输入按钮和8 个输出LED小灯,另包括触摸屏、外部端子、伺服驱动等部件,作为PROFIBUS DP 通信从站。
主站西门子S7-300 的PLC 控制器集成了CM1243-5 通信模块,用于连接在PROFIBUS 上作为DP 主站模块;从站西门子S7-1200 的PLC 选用的是CM1242-5 通信模块,用于连接在PROFIBUS 上作为DP 从站模块。西门子S7-300 与S7-1200 的PROFIBUS 接口通过双绞电缆连接,满足所属物理层支持RS-485 和光纤传输技术的条件。
基于通信平台,采用PROFIBUS DP 总线实现西门子S7-300 CPU315-2DP PLC 与S7-1200 CPU1215C DC/DC/DC PLC的连接。其中一台S7-300 PLC 作为主站,主站IP 地址为192.168.0.1;另一台S7-1200 PLC 作为从站,从站IP 地址为192.168.0.2;PC 地址为192.168.0.3。在主站和从站任意一侧,均可实现通过输入信号控制对方的输出。PC 安装有博图TIA V15软件,可用来对PLC 进行硬件组态、程序编写及调试。
3.2.1 主从站组网
通过博图V15 集成软件对主从站硬件进行组态。进入网络视图中,点击PLC_2(Slave)与PLC_1(Master)的DP 接口使其相连,并通过接口属性设置2 台PLC 的IP 地址,保证在同一网段且不冲突。
接着在PLC_2(Slave)的“常规”中“DP 接口”中将其设置为DP 从站,并为其分配DP 主站PLC_1(Master)。
3.2.2 设置传输区域
PROFIBUS DP 通信功能是为了实现DP 主站和DP 从站之间实现快速、循环的数据交换。传输区域便于用户设置DP 主站与从站进行数据交换的地址空间。
通过新增传输区,根据数据交换的方向、长度及IO 地址实际使用情况设置主从站的通信地址,传输区1:设置主站长度为一个字节的Q4 的数据向从站长度一个字节的I5 传输;传输区2:设置从站长度为一个字节的Q4 向主站长度一个字节的I5 传输,设置传输区域如图1 所示。
图1 设置传输区域
PROFIBUS DP 通信主站和从站通过设置的传输区实现数据交换,接下来的程序编写中将进一步解释主从站之间数据交换的详细过程,从而实现主站(或从站)输入按钮通过PROFIBUS DP 总线控制从站(或主站)输出小灯点亮。
3.3.1 功能描述
(1)通过主站S7-300 PLC_1(Master)面板上的按钮SB1 控制从站S7-1200 PLC_2(Slave)面板上的H1 小灯点亮,SB2 控制H1 小灯熄灭。
(2)通过从站S7-1200 PLC_2(Slave)面板上按钮SB3 控制主站S7-300 PLC_1(Master)面板上的H3 小灯点亮,SB4 控制H3小灯熄灭。
3.3.2 IO 地址分配
根据功能描述要求,需要将主站的输入信号(按钮SB1)的信号传输从站,进而控制从站的输出信号(小灯H1),因此需要根据传输区域设置主站发送信号及从站接收信号的地址;同理,从站向主站发送信号需要设置从站发送信号及主站接收信号的地址,根据实际控制需求进行IO 地址分配见表1。
表1 IO 地址分配
3.3.3 通信原理
根据实际的IO 地址分配及功能描述,具体阐述主站和从站间数据交换的过程:当按下DP 主站按钮I2.0(SB1),将信号发送主站传输区Q4.0,同时通过PROFIBUS DP 总线,DP 从站对应传输区I5.0 接收信号,并控制从站输出信号Q2.0(H1);同理,按下DP 从站按钮I2.2(SB3),通过PROFIBUS DP 总线控制主站输出信号Q2.2(H3)。
3.3.4 编写程序
根据主从站PROFIBUS DP 通信数据交换的基本原理,分别打开主、从站的程序块OB1 编写程序如图2、图3 所示。
图2 S7-300 主站LAD 程序
图3 S7-1200 从站LAD 程序
博图V15 中2 个PLC 的 硬件组态和程序分别下载后,基于PLC通信实验平台,通过主站S7-300 面板,按下SB1 按钮,从站S7-1200面板小灯H1 点亮(图4);通过从站S7-1200 面板,按 下 SB3 按 钮(I2.2),主站S7-300 面板小灯H3(Q0.0)点亮。
图4 主站向从站发送数据
S7-300 主站面板上按下输入按 钮SB1(I2.0),通过主站发送传输区Q4.0 的线圈“通电”,只要Q4.0线圈“通电”且通信正常,S7-1200 从站接收传输区I5.0就能够接收信号,常开触点闭合从而控制从站Q2.0 的线圈“通电”,其连接的PLC 外部输出小灯H1 点亮。同理,从站面板按下按钮SB3(I2.2),主站小灯H3 点亮。传输区设置的DP 主站与DP 从站的传输地址互为映射,任何时刻只要一方发送数据且通信正常,另一方就能够自动接收数据[5],从而控制PLC 外部输出设备。
基于通信平台,通过上述过程实现了西门子PLC S7-300与S7-1200 之间的PROFIBUS DP 总线通信,通信设备实验结果验证了主从站数据交换的基本原理。为今后实现多个S7-300和S7-1200 PLC 或其他设备之间通过PROFIBUS DP 总线的通信奠定了基础。