企业简介

作为中国自动化领域的权威旗舰网络媒体,控制网创立于1999年7月,是中国举行的第十四届IFAC (International Federation of Automatic Control)大会的中国官方组织机构的唯一指定网站。控制网是中国自动化学会专家咨询工作 委员会(ECC)的秘书处常设之地。是北京自控在线文化传播有限公司开设的网站。

  • 公司类型:其他

联系方式
  • 控制网
  • 地址:北京市海淀区上地十街辉煌国际2号楼1504室
  • 邮编:100085
  • 电话:010-57116291 / 59813326
  • 传真:010-59813329
  • 网址:http://www.kongzhi.net
  • Email:mahongliang@kongzhi.net
  • 联系人:市场部
案例详细
标题Modicon Quantum与S7 PLC通过TCP协议通信的实现
技术领域工业以太网
行业电子制造
简介本文简要介绍了Modbus-TCP协议,工业以太网On TCP 、On ISO。针对宝钢长材坯料生产系统优化工程水处理项目中遇到的Quantum与S7 PLC间以太网通讯协议不兼容问题,给出了解决方案,并详细介绍了配置过程和主要程序。
内容






周平
 (1981-)

男,湖北汉川人,学士,工程师,主要从事冶金、水处理行业,自动控制开发、改造工作。

摘要:本文简要介绍了Modbus-TCP协议,工业以太网On TCP 、On ISO。针对宝钢长材坯料生产系统优化工程水处理项目中遇到的Quantum与S7 PLC间以太网通讯协议不兼容问题,给出了解决方案,并详细介绍了配置过程和主要程序。

关键词:以太网;Modbus-TCP;工业以太网;IPCom;S7Com;Quantum;S7;PLC

Abstract: The article introduces the ModbusTCP protocol, Industrial Ethernet On TCP and On
 ISO. Based on the incompatible problem of Ethernet communication protocol between Quantum 
and S7 PLCs, we provide a solution to it. The configuration process and main program code 
are introduced in detail.

Key words: Ethernet; Modbus-TCP; Industrial Ethernet; IPCom; S7Com;  Quantum; S7; PLC

    随着科学技术的发展,许多工业厂商开始将传统的现场总线构架在以太网上,以太网技术正在逐渐从民用、商用应用于工程领域。从目前工业自动化控制领域的发展情况来看,以太网技术最终取代现场总线是工业控制网络发展的必然趋势。西门子和施耐德两家的PLC在工程项目中经常遇到,西门子S7系列PLC支持On TCP 或On ISO 的以太网通讯,施耐德Quantum 和Premium PLC 支持Modbus TCP 通讯,但是两个PLC之间通过以太网直接通讯一直未能解决。2008年,在上海金自天正信息技术有限公司从宝钢承接的长材坯料生产系统优化工程水处理项目中,需要应用这个技术,在施耐德公司技术服务的支持、查阅文档,并不断尝试下,终于成功解决。

1 Modbus-TCP简介

    Modbus应用层协议由美国Modicon公司(现为施耐德电气旗下品牌)与1979年开发的,由于其简单易用,得到了广大工业自动化仪器仪表企业的采纳与支持,实际已成为了业界标准。Modbus 应用层协议位于ISO/OSI参考模型中的第7层,将它嵌入到不同的底层协议中形成了三种具体的通信方式:Modbus 串行链路、Modbus-Plus 和Modbus-TCP。Modbus-TCP实现了在TCP/IP以太网上以客户/服务器方式的Modbus报文通信。这种通信模型是将Modbus 协议作为应用层协议嵌入到底层TCP/IP中构成的。与标准Modbus帧相比,Modbus-TCP帧中的寻址与校验交有TCP/IP协议完成。 

2 Industrial Ethernet On TCP or ISO简介

   Industrial Ethernet是西门子通讯系统的新名字,过去叫做SINEC H1网。Industrial Ethernet 包括了所有西门子PLC在以太网上的通讯协议:其中就有ISO layer4 和TCP/IP通讯。

3 Quantum与S7 PLC系统的通讯实现

3.1 控制系统组成

    本系统整个结构为典型以太网星型结构,如图 1所示。各PLC均为以太网上的独立节点,包括多个施耐德Quantum PLC和西门子S7 PLC。其中Quantum PLC位于水处理电气室,S7 PLC分布在连铸、LF炉、电炉各电气室,Quantum PLC作为公辅系统需与另外三套S7 PLC交换数据。

                              图1   系统结构图

3.2 控制系统数据通信的配置

    要实现各个PLC通过以太网进行数据传输,必须建立在协议统一的基础上。Quantum PLC支持Modbus-TCP协议,而S7 PLC支持Industrial Ethernet On TCP协议,这两个协议在应用层不同,但是低层协议是相同的。在Quantum PLC 方面,施耐德提供有140NWM10000型模板,该模板支持IPCom服务,可以直接在IP层从以太网其它PLC中获得数据。西门子S7 PLC方面,只需要提供支持Fetch/Write功能的CP通讯卡,具备该功能的通讯卡,所有对PLC的数据取存都是透明的,不需其他编程工作。配置步骤如下:

    (1) 配置140NWM10000模板,设置模板IP地址,如图 2所示。

                              图2   设置模板IP地址

    (2) 导入IPcom服务,并配置CPU与NWM10000传输通道占用的寄存器地址,如图 3所示 。

    注意:每个通道占用80个字,也就是说每个通道可以传输80个字,地址设置不要重复。

                      图3   配置CPU与NWM10000传输通道占用的寄存器地址

    (3)配置西门子S7 PLC,在HW Manager中配置CP卡,打开Fetch/Write功能,如图 4所示。

                              图4   配置CP卡

    (4) 在Netpro中新建连接,连接对象选择“Unspecified”,类型选择“TCP Connection”,如图 5所示。

                        图5   在Netpro中新建连接

    (5) 配置完成的连接,如图 6所示。

                              图6   配置完成

3.3 Unity编程实现:

    (1) 导入扩展数据类型和扩展功能块,如图7所示。

                                      图7

    (2) 建立IPCOM_BUF数据类型的变量,如图8所示。

    注意:每个IPCOM_BUF占用80个字的地址空间。

                                      图8

    (3) 主要程序代码,图9为读取S7 CPU DB块中数值的代码段。

                                      图9

    S7FetchDB参数描述:

    输入参数,如表 1 所示。

                                 表  1
名称
类型
描述
Request_Org01
EBOOL
上升沿时向S7请求读取数据
StartAddr
UINT
DB块起始地址
DBNR
BYTE
DB块
IP1 .. IP4
BYTE
要读取的S7 IP地址:IP1.IP2.IP3.IP4.
Port
UINT
S7站点指定的Fetch端口号
Connect
BOOL
为“1”时,FB功能块尝试与远程S7CPU建立连接,如果连接成功,Activity 和 Connected为“1”,Error ==0.
SndRcvBufAddr
UINT
确定参数的起始地址,这个地址必须与变量表中定义的SndRcvBuf参数地址一致。
Path
UINT
指定连接序号。占用IPCOM配置时,对应通道中的某一个连接(共4个通道,每个通道可提供4个TCP连接)

    输出参数,如表 2所示。

                                 表  2
名称
类型
描述
Done
BOOL
确认功能块执行成功
FetchedValues
ANY_ARRAY_BYTE
从S7 CPU 抓取的数据存放地址
ErrorCode
UINT
相关S7通讯协议故障码
Error
BOOL
功能块执行错误
Stat
UINT
相关IPCom通讯系统故障状态
Activity
BOOL
IPCom正常执行中时为“1”
Connected
BOOL
TCP 连接建立后,为“1”

    (4) 主要程序代码,图 10为向S7 CPU中写入数值。

                                      图10

    S7WriteDB参数描述:

    输入参数,如表 3所示。

                                表  3
名称
类型
描述
Request_Org01
EBOOL
上升沿时向S7请求写入数据
WriteValues
ANY_ARRAY_BYTE
向S7写入的数据
StartAddr
UINT
DB块起始地址
DBNR
BYTE
DB块
IP1 .. IP4
BYTE
要写入的S7 IP地址:IP1.IP2.IP3.IP4.
Port
UINT
S7站点指定的Write端口号
Connect
BOOL
为“1”时,FB功能块尝试与远程S7CPU建立连接,如果连接成功,Activity 和 Connected为“1”,Error ==0.
SndRcvBufAddr
UINT
确定参数的起始地址,这个地址必须与变量表中定义的SndRcvBuf参数地址一致。
Path
UINT
指定连接序号。占用IPCOM配置时,对应通道中的某一个连接(共4个通道,每个通道可提供4个TCP连接)

    输出参数,如表 4所示。

                                表  4
名称
类型
描述
Done
BOOL
确认功能块执行成功
ErrorCode
UINT
相关S7通讯协议故障码
Error
BOOL
功能块执行错误
Stat
UINT
相关IPCom通讯系统故障状态
Activity
BOOL
IPCom正常执行中时为“1”
Connected
BOOL
TCP 连接建立后,为“1”

4 结束语

    系统投用后,笔者成功地从三台西门子PLC中读写到了数据,且数据响应正常、稳定,达到了预期的效果。在统一的通讯协议下,整个网络结构层次清晰、维护方便,为网络的稳定运行打下了良好基础。应该指出的是,这种通讯方式还在起步阶段,有些地方不够成熟,仍需解决,比如:NWM10000通讯模板不支持冗余系统、配置软件不能向下兼容、硬件升级后没有相应的配置软件等,这些问题仍待解决。

其他作者:

陈    伟(1984-),男,江苏南通人,学士,工程师;

么淑华(1970-),女,河北唐山人,学士,高级工程师。

参考文献

[1] Modbus通信在PLC通道检测中的应用[J].电气时代,2005,6:78---80.

[2] UDP and TCP Communication for Quantum and Premium PLCs running Unity Pro Applications 
System User Guide. 施耐德电气.

[3] Data Exchange to Siemens S7 Controllers Quantum and Premium PLCs with S7Com Library 
System User Guide.施耐德电气.