APP下载

一种利用S7—1200集成以太网接口实现与S7—200 SMART通信的方法

2017-09-09刘丰年

数字技术与应用 2017年7期
关键词:通信协议调用组态

刘丰年

摘要:利用S7-1200PLC自身集成的以太网接口将S7通信应用于S7-1200与S7-200 SMART之间进行通讯测试,实验表明,在S7-1200侧编程调用PUT/GET指令可以成功实现与S7-200 SMART PLC之间的通信,具有一定的实际应用价值。

关键词:S7-1200;S7-200 SMART;以太网;通信

中图分类号:TP393 文献标识码:A 文章编号:1007-9416(2017)07-0034-02

S7-1200 CPU本体集成的以太网通信接口(PROFINET通信口)功能强大,配合西门子公司为S7系列PLC专门优化设计的太网传输层通信协议(S7通信协议)可以实现多种西门子工控设备之间的通信。

1 S7-1200 CPU集成以太网接口

S7-1200 CPU本体上集成了一个PROFINET通信口,支持以太网通信标准。这个PROFINET 物理接口是支持10/100Mb/s的 RJ45口,支持电缆交叉自适应,因此一个标准的或是交叉的以太网线都可以用于这个接口。此接口除了可以实现S7-1200 CPU与编程设备及人机界面的通信外,也经常用于S7-1200 CPU与其他CPU之间的通信。常见的S7-1200 CPU与其他CPU之间的通信方法如下所述:

1.1 S7-1200 CPU之间的通信

S7-1200 CPU之间进行通信采用开放式用户通信,一般可以使用紧凑型指令TSEND_C和TRCV_C,它们除了发送或接收功能外,还可以建立和断开连接。开放式用户通信可以使用ISO-ON-TCP连接或TCP连接,连接参数采用图形方式组态[1]。

1.2 S7-1200与S7-300/400通信

S7-1200与S7-300/400通信可采用ISO-ON-TCP和TCP连接的以太网通信,此种通信方式下S7-300/400需要配置以太网模块,或使用有以太网接口的CPU。S7-1200调用TSEND_C和TRCV_C指令,S7-300/400调用AG_SEND和AG_RCV指令。双方都需要组态连接,通信伙伴为“未指定”。S7-1200与S7-300/400通信也可以采用S7连接的以太网通信,在S7通信中,S7-1200只能作服务器,不需要对它的S7通信组态和编程。S7-300/400在通信中做客户机,需要用STEP 7的网络组态工具NetPro建立S7单向连接,调用PUT和GET指令来实现通信[2-3]。

1.3 S7-1200与S7-200通信

S7-1200与S7-200通信采用S7连接的以太网通信实现,S7-200需要配以太网模块CP 243-1,S7-1200的以太网接口在S7通信中只能作服务器,在通信中它是被动的,不需要作任何组态和编程的工作。S7-200 CPU在通信中作客户机,需要用S7-200的以太网向导来组态,并调用组态时生成的指令来实现通信[4]。

2 S7通信协议

S7通信协议是专为西门子S7系列PLC优化设计的一种基于MPI、PROFIBUS、ETHERNET等网络的以太网传输层通信协议,该协议被广泛应用于各种西门子工控设备之间的通讯。S7协议协议会在数据传输开始之前建立到通信伙伴的逻辑连接。数据传输完成后,这些协议会在必要时终止连接。这种面向连接的协议尤其适用于注重可靠性的数据传输。一条物理线路上可以存在8个逻辑连接。在进行数据交换之前,控制器必须与通信伙伴建立连接,面向连接的协议具有较高的安全性。这里的连接是指两个通信伙伴之间为了执行通信服务建立的逻辑链路,而不是指两个站之间用物理媒体(例如电缆)实现的连接。需要注意的是,实际应用中,如果实用的版本不一样S7-1200 CPU只支持S7通信的情况会有差别,通常情况下,在使用PORTAL V10.5软件时,S7-1200 CPU只支持S7通信的服务器端;在使用STEP7 V11软件时,S7-1200 CPU支持S7通信的服务器与客户端[4]。

3 PUT/GET指令

PUT指令和GET指令用其唯一的输入参数TABLE定义16B的表格,用该表格定义3个状态位、错误代码、远程站的IP地址指向远程站中要访问的数据的指针、数据长度、指向本地站中要访问的数据的指针。表1为PUT 指令参数说明,表2为GET指令参数说明。利用STEP7编程软件中的PUT/GET向导可以方便地建立以太网通信连接。

4 硬件组态和网络组态

实验用S7-1200 CPU采用CPU1215C,其编程软件为STEP7 V13 SP1。S7-200 SMART CPU采用ST30(固件V2.0),其编程软件为STEP 7 Micro/WIN SMART V2.1。

(1)在TIA软件中新建一个项目,添加1个S7-1200站点,并为其分配网络和IP地址,如图1所示。

(2)打开网络视图,为S7-1200 CPU添加一个新连接。

(3)添加新连接,对话框中应选选择“未指定”,添加好后,需要对新创建的连接伙伴方的IP地址和TSAP地址进行设置。其中,S7-200 SMART侧的TSAP设置为03.00或者03.01。

5 软件程序编程

(1)创建发送数据块DB1(接收区数据块DB2类似),数据块定义为200个字节的数组且数据块的属性中需要取消“优化的块访问”选项。(2)发送数据块与接收数据块创建完成后,即可在OB1中调用PUT/GET指令,进行S7通信。

通过以上程序用S7-1200可将通信数据区DB1中的200个字节发送到S7-200 SMART的VB 数据区,并读取S7-200 SMART中的VB数据区存储到S7-1200的数据区DB2中。由于S7-200 SMART 做S7通讯的服务器,占用S7-200 SMART PLC的服务器连接资源,因此,S7-200 SMART PLC本身不需要编写通讯程序。

6 通信状态监控

在TIA软件的网络视图中,将软件切换到在线模式,监控S7连接状态,S7连接图标显示为绿色,说明S7-1200与S7-200 SMART之间成功建立了通信连接。

此时如果S7-1200触发PUT/GET指令,通过TIA软件监控表和STEP 7 Micro/WIN SMART软件的状态表,就可以監控数据通信。S7-200 SMART中V区对应于DB1,即在PUT指令中使用的通信伙伴数据区ADDR_1=P#DB1.DBX0.0 BYTE 200在S7-200 SMAR中对于为VB0~VB199。实验表明,该种通信方式实现了S7-1200与S7-200 SMART之间的数据通信。

7 结语

本文利用S7-1200集成以太网接口,采用PUT/GET指令,将S7通信应用于S7-1200与S7-200 SMART之间的通讯,经过实验测试发现在S7-1200侧编程调用PUT/GET指令能够成功实现与S7-200 SMART PLC之间的通信。

参考文献

[1]王文静.S7-200 PLC与S7-1200 PLC串口通信实时性分析[J].机电信息,2016,(12):126-127.

[2]王大鹏,王涛,苏孝国.基于TIA Portal环境的S7-1200的OPC通讯[J].可编程控制器与工厂自动化,2014,(9):97-101.

[3]张东,刘壮,高长水,等.基于TCP协议的PC与西门子S7-1200PLC通信研究[J].自动化技术与应用,2016,35(8):93-97,120.

[4]廖常初.S7-1200 PLC编程与应用[M].北京:中国电力出版社,2015:169-171.endprint

猜你喜欢

通信协议调用组态
基于PLC及组态技术的恒温控制系统开发探讨
核电项目物项调用管理的应用研究
LabWindows/CVI下基于ActiveX技术的Excel调用
基于Z-Stack通信协议栈的红外地温采集电路设计
基于PLC和组态的智能电动拧紧系统
基于系统调用的恶意软件检测技术研究
基于DMX512通信协议的多路转发器设计与研究
PLC组态控制在水箱控制系统的应用
基于NS-3的PLC多频通信协议仿真平台设计与实现
铸造行业三维组态软件的应用