Modicon Quantum与S7 PLC通过TCP协议通信的实现Word文件下载.docx
- 文档编号:8036057
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:12
- 大小:257.15KB
Modicon Quantum与S7 PLC通过TCP协议通信的实现Word文件下载.docx
《Modicon Quantum与S7 PLC通过TCP协议通信的实现Word文件下载.docx》由会员分享,可在线阅读,更多相关《Modicon Quantum与S7 PLC通过TCP协议通信的实现Word文件下载.docx(12页珍藏版)》请在冰点文库上搜索。
以太网;
Modbus-TCP;
工业以太网;
IPCom;
S7Com;
Quantum;
S7;
PLC
Abstract:
ThearticleintroducestheModbusTCPprotocol,IndustrialEthernetOnTCPandOn
ISO.BasedontheincompatibleproblemofEthernetcommunicationprotocolbetweenQuantum
andS7PLCs,weprovideasolutiontoit.Theconfigurationprocessandmainprogramcode
areintroducedindetail.
Keywords:
Ethernet;
Modbus-TCP;
IndustrialEthernet;
IPCom;
S7Com;
Quantum;
S7;
PLC
随着科学技术的发展,许多工业厂商开始将传统的现场总线构架在以太网上,以太网技术正在逐渐从民用、商用应用于工程领域。
从目前工业自动化控制领域的发展情况来看,以太网技术最终取代现场总线是工业控制网络发展的必然趋势。
西门子和施耐德两家的PLC在工程项目中经常遇到,西门子S7系列PLC支持OnTCP或OnISO的以太网通讯,施耐德Quantum和PremiumPLC支持ModbusTCP通讯,但是两个PLC之间通过以太网直接通讯一直未能解决。
2008年,在上海金自天正信息技术有限公司从宝钢承接的长材坯料生产系统优化工程水处理项目中,需要应用这个技术,在施耐德公司技术服务的支持、查阅文档,并不断尝试下,终于成功解决。
1Modbus-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协议完成。
2IndustrialEthernetOnTCPorISO简介
IndustrialEthernet是西门子通讯系统的新名字,过去叫做SINECH1网。
IndustrialEthernet包括了所有西门子PLC在以太网上的通讯协议:
其中就有ISOlayer4和TCP/IP通讯。
3Quantum与S7PLC系统的通讯实现
3.1控制系统组成
本系统整个结构为典型以太网星型结构,如图1所示。
各PLC均为以太网上的独立节点,包括多个施耐德QuantumPLC和西门子S7PLC。
其中QuantumPLC位于水处理电气室,S7PLC分布在连铸、LF炉、电炉各电气室,QuantumPLC作为公辅系统需与另外三套S7PLC交换数据。
图1系统结构图
3.2控制系统数据通信的配置
要实现各个PLC通过以太网进行数据传输,必须建立在协议统一的基础上。
QuantumPLC支持Modbus-TCP协议,而S7PLC支持IndustrialEthernetOnTCP协议,这两个协议在应用层不同,但是低层协议是相同的。
在QuantumPLC方面,施耐德提供有140NWM10000型模板,该模板支持IPCom服务,可以直接在IP层从以太网其它PLC中获得数据。
西门子S7PLC方面,只需要提供支持Fetch/Write功能的CP通讯卡,具备该功能的通讯卡,所有对PLC的数据取存都是透明的,不需其他编程工作。
配置步骤如下:
(1)配置140NWM10000模板,设置模板IP地址,如图2所示。
图2设置模板IP地址
(2)导入IPcom服务,并配置CPU与NWM10000传输通道占用的寄存器地址,如图3所示。
注意:
每个通道占用80个字,也就是说每个通道可以传输80个字,地址设置不要重复。
图3配置CPU与NWM10000传输通道占用的寄存器地址
(3)配置西门子S7PLC,在HWManager中配置CP卡,打开Fetch/Write功能,如图4所示。
图4配置CP卡
(4)在Netpro中新建连接,连接对象选择“Unspecified”,类型选择“TCPConnection”,如图5所示。
图5在Netpro中新建连接
(5)配置完成的连接,如图6所示。
图6配置完成
3.3Unity编程实现:
(1)导入扩展数据类型和扩展功能块,如图7所示。
图7
(2)建立IPCOM_BUF数据类型的变量,如图8所示。
每个IPCOM_BUF占用80个字的地址空间。
图8
(3)主要程序代码,图9为读取S7CPUDB块中数值的代码段。
图9
S7FetchDB参数描述:
输入参数,如表1所示。
表1
名称
类型
描述
Request_Org01
EBOOL
上升沿时向S7请求读取数据
StartAddr
UINT
DB块起始地址
DBNR
BYTE
DB块
IP1..IP4
要读取的S7IP地址:
IP1.IP2.IP3.IP4.
Port
S7站点指定的Fetch端口号
Connect
BOOL
为“1”时,FB功能块尝试与远程S7CPU建立连接,如果连接成功,Activity和Connected为“1”,Error==0.
SndRcvBufAddr
确定参数的起始地址,这个地址必须与变量表中定义的SndRcvBuf参数地址一致。
Path
指定连接序号。
占用IPCOM配置时,对应通道中的某一个连接(共4个通道,每个通道可提供4个TCP连接)
输出参数,如表2所示。
表2
Done
确认功能块执行成功
FetchedValues
ANY_ARRAY_BYTE
从S7CPU抓取的数据存放地址
ErrorCode
相关S7通讯协议故障码
Error
功能块执行错误
Stat
相关IPCom通讯系统故障状态
Activity
IPCom正常执行中时为“1”
Connected
TCP连接建立后,为“1”
(4)主要程序代码,图10为向S7CPU中写入数值。
图10
S7WriteDB参数描述:
输入参数,如表3所示。
表3
上升沿时向S7请求写入数据
WriteValues
向S7写入的数据
要写入的S7IP地址:
S7站点指定的Write端口号
输出参数,如表4所示。
表4
4结束语
系统投用后,笔者成功地从三台西门子PLC中读写到了数据,且数据响应正常、稳定,达到了预期的效果。
在统一的通讯协议下,整个网络结构层次清晰、维护方便,为网络的稳定运行打下了良好基础。
应该指出的是,这种通讯方式还在起步阶段,有些地方不够成熟,仍需解决,比如:
NWM10000通讯模板不支持冗余系统、配置软件不能向下兼容、硬件升级后没有相应的配置软件等,这些问题仍待解决。
其他作者:
陈伟(1984-),男,江苏南通人,学士,工程师;
么淑华(1970-),女,河北唐山人,学士,高级工程师。
参考文献
[1]Modbus通信在PLC通道检测中的应用[J].电气时代,2005,6:
78---80.
[2]UDPandTCPCommunicationforQuantumandPremiumPLCsrunningUnityProApplications
SystemUserGuide.施耐德电气.
[3]DataExchangetoSiemensS7ControllersQuantumandPremiumPLCswithS7ComLibrary
SystemUserGuide.施耐德电气.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Modicon Quantum与S7 PLC通过TCP协议通信的实现 Quantum S7 PLC 通过 TCP 协议 通信 实现