西门子S7-1200PLC通信研究

2021-10-08 03:24王建菊
南方农机 2021年18期
关键词:通信协议组态IP地址

王建菊

(武昌职业学院,湖北 武汉 430202)

0 引言

西门子公司是世界上首屈一指的电气与电子公司,近年来,西门子公司在原来200PLC的基础上推出了S7-1200。西门子公司S7-1200系列的PLC作为小型自动化项目的新型控制器,在国内外已被越来越多的工业自动化工程师选用。同时,西门子公司将原本独立的编辑、编译、调试、人机界面等一系列软件功能集成到一个统一的博图软件平台中,简便和规范了PLC控制系统的开发流程。

西门子PLC支持多种通信协议,应用广泛多样。在博图环境下,西门子PLC的网络搭建变得轻巧快速,通信变得更加灵活和适用,为工业自动化通信领域提供了高效、稳定、可靠的网络解决方案。

1 通信基础

一个完整的通信系统包括发送端、接收端、接口(RS232、RS485/422、RJ45等)、协议(profibus-DP、profinet、以太网、Device net等)、介质、网络中继器等。数据传输的方式包括串行通信、并行通信,分别如图1、图2所示。并行通信是把高低电压信号同时发过去,传输数据量大,接线多,传输过程中外部产生一个干扰,所有的并行线都会产生干扰,因而现场用并行通信很少。串行通信是采用一根通信线传输数据,数据按照位的方式逐位发送,只需一根传输线完成,成本低,但传输速度慢。在西门子PLC中一般采用串行通信。

图1 串行通信示意图

图2 并行通信示意图

常用通信接口为串口和以太网口。串口接口主要分为232、485、422三种。232主要是由RX、TX、GND三根线组成。等电位传输,采用负电压作为逻辑1,传输信号电平相对信号GND传输,易受干扰,只能进行PTP通信,因此,大多数设备通信都不采用RS232接口。485主要是以一种差分信号进行传输,只需要两根线,+、-两根线,或者也叫A、B两根线。A、B两根线的差分电平信号作为数据信号传输,抗干扰性强,大多数协议采用RS485接口。422是把232的RX分成两根线RX+、RX-,把TX分成TX+、TX-[1]。由于在很多设备通信中,基本上是属于一问一答式的,因此,232的全双工通信优势并不明显,特别是一主与多从通信时,而485的接线就非常简便。因此,在S71200串行通信中,主要采用485接口。RS232、RS485串口接线示意如图3、图4所示。

图3 RS232串口接线示意图

图4 RS485串口接线示意图

以太网接口主要为RJ45接口,RJ45内部8针,至少需要接四根线,1/2发送,3/6接收,1236四根线互连即可,以太网口是在串口的基础上提出的。RJ45接口在以太网通信中应用较多。

2 S7-1200PLC串行通信模块

西门子S7-1200PLC本体只自带一个以太网口,在实际应用中需要给S7-1200PLC扩展串口。西门子S7-1200PLC常用扩展串口为:用于通信的CM系列和用于通信的CB板。CM1241通信扩展模块应用于USS西门子内部通信协议及Modbus RTU用于第三方通信协议。CM1243-5扩展模块为S7-1200PLC做PROFIBUSDP通信的主站模块,而CM1242-5扩展模块为S7-1200PLC,做PROFIBUSDP通信的从站模块。S7-1200PLC通信模块最多扩展三个,各通信模块应用及参数可以参见S7-1200PLC样本[2]。

3 S7-1200PLC常用通信

3.1 S7-1200PLC常用通信协议

西门子S7-1200PLC根据接口不同,支持的通信协议也不同。基于RS485口通信:PROFIBUS-DP(开放式),MPI(内部,西门子内部协议不公开),modbus-RTU(标准),USS(内部),PPI(内部/200,已经停产)。基于PN(RJ45)口通信:Profinet(开放式),以太网TCP/IP(开放式),modbus-TCP/IP(标准),S7(内部),CANopen(开放式),devicenet(开放式)[3]。

3.2 S7-1200PLC常用串口通信

PROFIBUS-DP,开放式的用户通信,凡是支持DP通信的设备都可以和S7-1200做DP通信,如机器人、第三方PLC、变频、伺服等。由于S71200CPU本体没有串口,必须选配CM1242或CM1243模块。PROFIBUS-DP网络节点限制在1~126,网络长度为100 m~1 200 m,其优点为抗干扰性强,实时性好。PROFIBUS-DP可以做主主通信,即两个PLC都用作主站,使用硬件网关模块:DP/DP/couple耦合器。PROFIBUS-DP做主从通信,CPU能力强的作为主站,弱的作为从站。

4 S7-1200PLC常用以太网通信组态

4.1 S7-1200PLC之间S7通信

S7是西门子内部协议,仅用于西门子带PN口的CPU之间的通信。S7通信需要使用通信指令,可进行单向和双向通信[4],做法如下。

添加两台S7-1200PLC,即PLC1 1214DCDCDC 4.2版本和PLC2 1214DCDCDC 4.2版本。在两台PLC的属性界面防护与安全里面选择连接机制,分别勾选允许来自远程对象的PUT/GET通信访问,同时勾选系统和时钟存储器。其中,PLC1的IP地址为192.168.0.1,PLC2的IP地址为192.168.0.2。在PLC1和PLC2中分别建立全局数据块DB1、DB2,两个数据块均为标准块,建立10个字节的数据。

连接两台PLC的以太网端口建立子网,如图5所示。在PLC1中添加GET读取指令并进行硬件组态,选中GET指令,在组态里面选择连接参数,本地端点为PLC1,伙伴为PLC2,连接名称为S7_连接_1,PLC1主动建立连接,S7指令组态如图6所示。

图5 两台PLC子网连接

图6 S7指令组态设置

其中,PLC1中的指令引脚REQ为上升沿系统时钟信号,ID为设备标志符,ADDR_1为伙伴地址,RD_1为本地地址。PLC2中发送一个数据10存入PLC2中的DB数据块中,两台PLC程序如图7、图8所示。

图7 S7通信PLC1程序

图8 S7通信PLC2程序

下载两台PLC的程序进行仿真,数据传输结果如图9所示,通信成功。

图9 S7通信仿真调试

4.2 S7-1200PLC开放式以太网TCP通信

以太网TCP通信连接是通过开放式用户通信中的TSEND/TRCV的指令建立连接和发送接收数据的,是一种开放式用户协议[5],做法如下。

添加两台1200CPU,即PLC1 1214DCDCDC 4.2版本,PLC2 1214DCDCDC 4.2版本。修改两台PLC的IP地址,PLC1的IP地址为192.168.0.1,PLC2的IP地址为192.168.0.2。连接两台PLC的以太网端口建立子网。

在PLC1中添加TRSEN_C发送指令并进行硬件组态,在PLC2中添加TRCV_C接收指令并进行硬件组态,本地端点为本地,伙伴为对方,对于PLC1连接数据选择新建发送_Send_DB,伙伴里面同样选择新建_Receive_DB。PLC2的连接数据选择Receive_DB数据块,PLC1伙伴里面选择Send_DB数据块。

其中,PLC1中的TRSEN_C指令引脚REQ为上升沿系统时钟信号,CONNECT为组态连接参数里面的连接数据的发送DB块,DATA是发送的数据储存地址,M1.3为数据传输开关。PLC2中TRCV_C指令引脚CONNECT为组态连接参数里面的连接数据的接收DB块,DATA是接收的数据储存地址,两台PLC程序如图10、图11所示。

图10 以太网TCP通信PLC1程序

图11 以太网TCP通信PLC2程序

下载两台PLC的程序进行仿真,数据传输结果如图12所示,通信成功。

图12 TCP通信仿真调试

在S7-1200PLC以太网通信中的S7通信和以太网TCP通信,两种通信方式都是以太网端口通信。但是S7通信是西门子内部通信协议,S7通信可以一条指令完成数据传输;而TCP通信是一种开放式用户协议,在以太网TCP通信中必须TRSEN_C指令和TRCV_C指令同时存在才能进行数据传输。

5 结束语

S7-1200PLC通信是学习和应用的难点。笔者在介绍通信基础上分析了S7-1200PLC几种常用通信方法,对S7通信和以太网TCP通信进行组态编程,实现了两台S7-1200PLC之间的数据传输,并对两种通信方法做了对比。通过对几种S7-1200PLC通信的介绍,为PLC通信应用提供不同的思路。

猜你喜欢
通信协议组态IP地址
浅谈力控ForceControl V7.2组态软件在自动化控制工程中的应用
ZnF低激发电子态的组态相互作用研究
组态软件技术现状与发展
车载网络通信协议标准化问题研究
高职“工业组态技术”课程建设探析
公安网络中IP地址智能管理的研究与思考
电动汽车充电接口及通信协议新国标发布
《IP地址及其管理》教学设计
计算机的网络身份IP地址
基于R8C的汽车OBD通用故障诊断仪设计