陈维琨,吴凤英
(1.中环天仪股份有限公司,天津300384;2.天津理工大学自动化学院,天津300384)
目前的钢管生产厂对无缝钢管的质量要求越来越高,要求采用适当的工艺过程控制来满足应用,HCCS系统(以下简称HCCS),是利用伺服阀控制连轧机的轧辊液压缸位置来控制轧机的辊缝和压力,进而在线控制钢管的壁厚。某无缝轧管机组HCCS 需要和PQF(三辊可调式连轧管机组)PLC进行实时通讯,HCCS和PQF PLC之间采用TCP/IP 协议进行通讯,正常生产过程中,工艺人员通过HMI 对辊缝进行调整轧出特定的壁厚和长度。设定值通过TCP/IP 和ProfibusDP 网传输到HCCS 系统,HCCS 系统进行调整后再反馈到HMI 完成调整。工艺操作画面(HMI)会显示HCCS的轧制力、伺服缸的位置、辊缝等信息方便工艺调整。由于现场设备较多,电磁环境恶劣,如果要保证整个通讯系统的稳定性,就要保证底层的通讯网络非常稳定和成熟。目前HCCS和PQF PLC之间收发数据极不稳定,这对正常的生产造成了较大的影响。
经过对HCCS 和PQF PLC 之间数据传输进行检测,发现PQF PLC侧的数据包地址经常显示为无效,造成数据包地址无效的原因是由于传输的报文的大小发生了错误(原数据包被含信息量更大的数据包所替代)。造成这种错误的情况较多,主要有:网络负载或网络数据包冲突;网卡的问题;软件版本问题以及网卡缓存饱和等。目前有两种方案可以对该问题进行解决:一是,从PLC 内部对整个逻辑语言进行修改;二是,选用ANSALDO 公司的STS 软件,在HCCS 和PQF中间建立服务器网关,通过OPC 技术进行通讯改造。
经过分析,方案1在现有条件下难以实现,容易造成兼容性和稳定性方面的问题。方案2选用安装STS 软件的服务器作为中间网关,通过STS通讯软件可以实现对报文信息的重新建立;分拆报文从中选出包含正确接收缓存信息的报文数据;抛弃无法建立正确报文数据的错误报文。通过解决错误报文的问题从而解决HCCS 和PQF PLC 通讯过程中经常出现的缓存错误问题。因此通过对比分析,考虑稳定和可靠性原则,确定采用方案2进行通讯改造。
OPC 是用于工业控制领域的OLE(object linking and embedding)。按照OPC 基金会的定义,OPC 是一套技术规范和工业标准,为基于Windows 操作平台的工业应用程序提供高效的信息集成和交互功能的组件对象模型接口标准,以微软的分布式组件对象模型COM/DCOM/COM+技术为基础,采用客户/服务器模式,提供自动化控制、设备管理和设备之间的软件应用互操作性和设备的互换性。OPC 的作用是为服务器和客户的链接提供统一和标准的接口规范。OPC 的服务器是数据的供应方,负责为OPC 客户提供数据;OPC 客户是数据的使用方,处理OPC服务器提供的数据[1-2]。
软件配置为:SIMATIC Step 7 V5.4,SIMATIC NET PC SOFTWARE V6.2 SP1,STS SOFTWARE 其中SIMATIC Step 7 V5.4 和SIMATIC NET PC SOFTWARE V6.2 SP1 用于对西门子PLC 进行编程并组态OPC Server 创建OPC tag文件格式,添加数据块中的报文数据。STS SOFTWARE 中可以通过配置MemSTS,配置交换数据的报文报头、通讯地址,及其每个数据的内容。并且每个数据包都有自己固定的区域,字长必须和报文的长度匹配。
硬件配置为:SIEMENS 工控机,SIEMENS PLC 400(CPU416 3DP),以太网通讯模块,数字量输入/输出模块,模拟量输入/输出模块,存储卡,编程线缆,自适应以太网卡,网线等。
我们可以先在西门子工控机上建立OPC 服务器,通过以太网,OPC 服务器中的数据就可以与西门子PLC中的数据建立起互为映像的关系。
图1所示系统改造前HCCS和PQF PLC之间的通讯,通过工业以太网连接到工业交换机采用TCP/IP 协议进行通讯。改造后,在PQF PLC 和HCCS 中间增加OPC STS 服务器,OPC STS 服务器作为工业网关,PQF PLC 和HCCS 进行通讯时必须先经过OPC STS 服务器进行数据报文的转发才能实现。PQF PLC 和STS 服务器之间采用OPC 技术进行通讯,STS 服务器向HCCS 转发数据报文时则仍采用TCP/IP协议。
图1 HCCS和PQF PLC通讯改造简图Fig.1 HCCS and PQF PLC communication transformation diagram
这里要建立的OPC Server 与PLC 的连接是以SIMATIC NET为基础的。SIMATIC NET是西门子在工业控制层面上提供的一个开放的,多元的通讯系统。首先,新建NetPro工程。第2步,配置PLC IP地址。第3步,组态OPC服务进入Station Configurator,第1个插槽添加OPC Server,第2 个添加IE General;在STEP7 中组态OPC 服务器插入SIMATIC PC STATION,改名字与Station Configurator 中一致。第4 步,组态网卡此处IP为OPC 服务器IP 地址。第5步,建立连接,进入NetPor,若前面设置的以太网名字不同则会出现2 条Industrial Ethernet,导致编译不通。在OPC Server 处建立连接。第6步,进行测试,进入Scout,点击Local Server(s)中的OPC.SimaticNet,若能进入DB块,则说明通讯正常[3-4]。
首先安装STS 服务软件,安装后进入STSConsole,新建项目并在配置属性中添加BAS目标工作站以及添加IP 地址等和PQF PLC 端建立通讯。通讯建立后对PQF PLC进行连接测试,主要步骤为:第1步,开始菜单中运行窗口里执行cmd 命令,在弹出的DOS 窗口中输入ping 192.168.5.30;第2 步,双击打开桌面上的start sts快捷方式,然后双击桌面上的STSConsole;第3步,进入到STSConsole 界面里点击open project并打开相应的项目点击下拉菜单选择STS-GATEWAY 再点击旁边的连接图标(软件启动完毕)查看状态。
STS 服务器与PQF PLC 之间采用OPC 技术进行通讯,而与HCCS之间则采用TCP/IP协议进行通讯。
STS服务器内的软件对于发送和接收的数据报文实行一种触发机制,这种机制允许STS服务器可以发送外部的数据并且能检测到即将接收到的数据。PQL PLC 向STS 服务器发送的所有数据报文定义成字节队列进行发送。这种数据的转换方式来自于PLC内部智能模块部分,下面将对TCP/IP 协议的工作原理以及HCCS 和PQF PLC 间通过STS 服务器进行数据交换进行一下描述。
TCP/IP 协议采用7 层模型,它的工作原理主要为以下8个步骤:
1)在源主机上,应用层将一串应用数据流传送给传输层;
2)传输层将应用层的数据流截成分组,并加上TCP报头形成TCP段,送交网络层;
3)在网络层给TCP段加上包括源、目的主机IP地址的IP报头,生成一个IP数据包,并将IP数据包送交链路层;
4)链路层在其MAC帧的数据部分装上IP数据包,再加上源、目的主机的MAC 地址和帧头,并根据其目的MAC地址,将MAC帧发往目的主机或IP路由器;
5)在目的主机,链路层将MAC 帧的帧头去掉,并将IP数据包送交网络层;
6)网络层检查IP报头,如果报头中校验和与计算结果不一致,则丢弃该IP 数据包;若校验和与计算结果一致,则去掉IP 报头,将TCP 段送交传输层;
7)传输层检查顺序号,判断是否是正确的TCP 分组,然后检查TCP 报头数据。若正确,则向源主机发确认信息;若不正确或丢包,则向源主机要求重发信息;
8)在目的主机,传输层去掉TCP 报头,将排好顺序的分组组成应用数据流送给应用程序。这样目的主机接收到的来自源主机的字节流,就像是直接接收来自源主机的字节流一样[5]。
如图2 所示,当PLC 准备好来自内部DB(数据块)的缓存数据(字节队列)后,PQF PLC 向STS 服务器发送请求数据报the_SendReq 设为“1”,STS服务器的触发器触发并启动匹配的脚本信息(HCCS_OUT.CS)并复制从PQF PLC接收到的缓存数据,将复制后的数据存储在STS服务器内的BAS(基础自动化)输入输出区,下一步STS服务器向PQF PLC回复已收到缓存数据the_SendReq设为“0”。STS服务器内部将已准备好发送的数据报the_DataRdy 设为“1”并将复制好的PLC缓存数据进行重新排列和封装,将正确的数据报头信息(正确的HCCS地址)添加到数据报里转发给HCCS。最后STS服务器内部的触发器进行重新的复位操作。
图2 PQF PLC 向HCCS发送数据报Fig.2 PQF PLC send data to the HCCS
如图3 所示,STS 服务器和HCCS 之间仍然采用TCP/IP 协议进行通讯。当HCCS 向STS 服务器通过TCP/IP 通道发送一个新的数据报后,STS 中的触发器自动将该数据the_DataRdy 设置为“1”(该触发执行时间为500 ms)。STS 触发器运行匹配的脚本信息(HCCSinput.cs)并复制来自TCP 通道的缓存数据将其存储在STS 服务器内部的HCCS 输入输出区,将the_DataRdy 设置为“0”重建报文信息并自动转发(通过OPC客户端)给PQF PLC 中匹配的DB(数据块),然后向PQF PLC 发送数据the_Recvd 触发为“1”。最后来自PQF PLC 逻辑内部的触发器重新复位,并将数据the_Recvd触发为“0”。
图3 HCCS向PQF PLC发送数据报Fig.3 HCCS send data to the PQF PLC
STS 内部的输入输出区如图4 所示,数据被存储在相应的内部区域,在HCCS 输入输出区内包含着BAS_HCCS_WD以及BAS_HCCS_RRPD等字节信息,而BAS输入输出区内则包含着相对应的T26281以及T26282等代码。
图4 STS内部的输入输出区Fig.4 STS inner I/O area
本系统通过OPC 技术采用STS 监控软件实时显示通讯数据,并且通过STS软件的触发机制对数据报文进行处理分析,存入相对应的输入输出区域内,然后进行数据的重组转发,整个过程实现了轧管生产过程中,对HCCS 和PQF PLC 通讯过程中数据的检测、监控、重组转发等功能。
系统的主要特点为:
1)实时检测和监控HCCS 和PQF PLC 之间数据通讯的连接状态,以及数据的完整性;
2)STS软件实时将连接的日志文件存储在数据库中,便于有效掌握系统的运行状态;
3)系统运行稳定可靠、便于维护,通过对通讯数据的监控可以避免停机故障和重大质量事故的发生。
本系统通过OPC 技术以及STS 服务器软件在HCCS和PQF PLC双方建立网络连接后,在满足通讯协议的基准下,通过监控软件能直观地监控通讯的数据,将双方通讯进行数据交换的内容直观地体现出来,能较迅速地发现、解决通讯问题。OPC技术提高了数据交换过程中的稳定性,STS软件特有的对数据报的检测、监控、重组转发等功能则提高了双方通讯的稳定性和可靠性,该系统的成功实施为其他冶金行业的工业网络改造提供了较高的参考价值。
[1]姜建芳,苏少钰,陈庆伟,等.西门子S7-300 系列PLC 与PC机通信实现的研究[J].制造业与自动化,2003,25(1):52-54.
[2]李南,薛孝存,王大海,等.浅谈OPC 技术[J].中国仪器仪表,2003(1):5-7.
[3]梁首发.S7-300可编程序控制器及工控组态软件WinCC应用[J].中国仪器仪表,2001(3):16-17.
[4]亢红波,马伯渊,商高平.PLC 控制系统中基于OPC 技术的多上位机解决方案[J].工业控制计算机,2006,19(1):68-69.
[5]石林锁,王涛,刘顺波.基于OPC规范的客户应用程序实现[J].微计算机信息,2003,19(5):68-71.