1 引言
在当今自动化领域,网络结构已经被广泛地应用于各行各业的工业环境中,它是构成各类控制系统的基础,其性能直接影响着系统整体的综合指标,不同的网络种类形式如:串口通讯、现场总线、以太网等已在各类场合获得了验证和发展,但随着近年来it技术的迅猛发展,这种格局正在发生着巨大的变化,特别是以太网技术正由商业向工业、上层向低层、低速向高速、非实时向实时、封闭向透明、层次化向扁平化等方面全面发展和延伸,并融合了各类现场总线的技术和协议,再加上低成本的刺激和速度的提高因素,全球各自动化巨头厂商也不断推出“e网拉平到底”成功案例,传统的控制系统却不得不面对这一强劲的挑战,以太网进入工业控制领域并融入现场通讯技术已成为现实。
对于未来自动化网络技术的主角,从现有市场应用角度看,以太网iso/osi七层模型中顶层应用层协议的标准化、通用性和开放性是决定各供货商设备彼此间是否可具备互操作性的首要条件,应用层协议的标准和开放为不同层次、不同厂商、不同种类的设备实现互联通信及实现高效的统一管理提供了良好的实现平台,纵观西门子工业以太网simatic ie的发展就顺应了这一市场的需求和趋势。
simatic ie所遵循的技术发展路线正是全面体现标准化、通用性及开放性这一战略,它兼顾了效率、实时性、确定性、灵活性等各方面综合因素,包含了标准以太网和定制以太网,simatic ie基于“tcp/ip+标准化(profinet)+通用性(s7/s5兼容、it、iso等通信)+开放性(开放式ie)”这一模式是对当前工业以太网发展模式的最好诠释,其中s7通信和s5兼容通信是simatic plc家族的标准通信协议,其应用接口的通信不依赖特定的总线系统,它包含simatic net系统范围内基于以太网的s7站、s5站和pg/pc之间的相互通信;而开放式ie是指基于s5兼容通信或开放式通信专用的功能块使用标准协议(tcp native、iso on tcp、udp)堆栈在应用层上实现开放的通讯服务,相当于直接socket访问的服务功能,通常称为开放式ie通讯,其数据交换是通过send/receive接口或tblocks接口来实现的,它是基于西门子s7plc控制层面所集成的以太网服务功能,支持与第三方通讯伙伴用于以太网或tcp/ip的数据流通信;开放式ie通讯为用户编程提供一个“空应用顶层”的以太网服务来支持tcp/ip端口的自由通讯,适合于二进制或者ascii码与外部设备进行自由约定协议或特定专用协议的数据通信。
2 流程工艺
某半导体有限公司作为一家专业从事微处理器mcu、ic以及功率半导体分立器件生产、销售业务的企业,其公司的ic产品的包装、贴标、称重、输送、检测分选等后道工序中所包含的检测采集设备有称重仪表、标签打印机、条码扫描仪、喷码机、分选仪等,这些第三方设备的共性表现为:设备分布范围广且布线成本高、协议繁琐且各不相同、物理层不统一组网性能差且维护复杂、实时性要求不高且通信量不均等因素,基于上述设备的联网方案当前常用的不外乎有以下几种:
(1)模拟量输入输出模块
(2)usb/rs232/rs485串行ptp通信
(3)各类现场总线或设备总线
(4)工业平板电脑/嵌入式计算机
(5)基于pc base的tcp/ip方案
上述方案中又以串口通信方式最为普遍,如s7-300plc通过cp340/341来扩充串口联网功能,但这存在不同物理层(rs232/422/485)和不同协议的限制,势必会造成扩展多个串口来连接这类设备,使系统成本升高、布线复杂,另外还受到传输速率低、通信距离短和维护困难等因素的限制,因此利用工厂范围内现有共享的以太网公共传输通道相比上述解决方案更具备明显的优势。
首先基于osi以太网七层模型的低层部分具有统一的网络介质访问层,即物理层和数据链路层符合ieee802.3规范,这意味着以太网络硬件的物理接口和驱动程序层面得到了统一,各类以太网标准端口及线缆的选择标准及它们组合使用,为以太网端口设备的互联提供了极大的便利,确保此类设备可快速方便地共享以太网公共传输通道的信息。
其次osi以太网模型的中间层部分传输层/网络层,它提供了统一的基于ip的tcp/udp协议,它具有结构简单标准、网络资源易整合和支持高速通信的优势,其中udp是基于ip的简单快速数据传输协议,由于它在发送的数据包中仅加入了少量的管理信息,与tcp/ip相比可获得更高的数据吞吐量,但它面向数据包的传输,而非面向连接的特性,决定了udp协议数据传输中存在着不安全的隐患;而rfc1006中的“iso-on-tcp”是tcp协议的一种扩展,它在tcp/ip协议中定义了iso传输的属性,集合了高速通讯和路由兼容性的优势,支持带确认的数据块传送,具有极高的通信可靠性,但当前仅限于simatics7家族产品内部所使用,第三方通讯伙伴一般都不支持iso-on-tcp连接,因此面向连接的tcp/ip以太网通讯成为我们首选。
综合以上阐述可得出采用统一介质访问层、标准tcp/ip传输网络层和开放应用层的以太网来实现这些第三方通讯设备联网,是此流程自动化控制的首选方案,因此针对上述工业数据采集领域的现状,我们制定了基于tcp/ip的以太网通信解决方案,包括设备投资、布线、维护和编程难易程度所产生的总体成本可大为降低,它不单独占用处理器物理端口和处理资源,在灵活性和可用性方面可有极大的提升,与plc控制层的协同工作效率也得到了提高,降低了维护成本并进一步简化了网络结构,并对今后系统功能扩充及升级也带来了极大的便利,符合各制造商们日益关注的价值主张。
3 开放式ie功能实现
3.1系统组成
本系统现场设备主要包含有:godex热敏标签条码打印机、metrologic条形码扫描仪、tcs电子台秤和辊道秤等等,为满足这些设备数据处理和控制的要求,采用带有cp343-1通信处理机的s7-300plc并充分利用工厂现有的局域网资源,组成一个基于tcp/ip数据流的工业以太网通信方案,以满足各工艺段的需要,
s7-300cp模板的s7应用程序是基于s5兼容接口send/receive来实现开放式ie通信,cp它最多可同时建立16个tcp/ip任务资源的连接,虽然tcp/ip是基于面向数据流通信的服务,而非基于消息的数据包传输服务,这就意味着发送的数据没有任何有用于数据的信息,例如长度、起始和结束信息,接收端只能提供相对应的接收长度和特征符来获取正确的信息,因此需考虑send/receive收发功能的输出参数及状态的判别,来协调双方的请求和响应以确保双方可靠通信,另外对于接收方还需注意接收缓冲区数据流的定位问题,总之send/receive接口所集成的基于tcp/ip的socket接口访问为实现与第三方设备的数据交换提供了灵活多样服务。
3.2通讯接口
开放式ie通信伙伴cp的数据通讯是通过“send/recrive”接口模式完成的,其接口基于iso模型1~4层所有的协议,为tcp服务提供了统一的socket接口到每个端口,允许通过工业以太网实现simatic s7 plc与带以太网端口设备的通讯;选择功能包ag_send(fc5)和ag_recv(fc6)可用于带以太网cp343-1模板的s7-300 plc与具有tcp/ip接口的第三方站通信,fc5和fc6功能包含在step7的“simatic_net_cp”库中,需通过输入参数“act”激活才可调用,它运行需要多个ob1循环周期并可以在一个连接中同时进行收发通信,cpu将对连接进行监控,一旦连接中断cpu将自动重新恢复该连接,其通信过程结束标志变量为“done”或“error”,状态结果变量为“status”,程序可根据这些结果对收发任务进行评估,但只有在同一周期内才有效。
fc5/fc6的输入参数“id”值可以从step7通信连接属性对话框的“general”“information”栏中获得,而“laddr”的值可以从step7硬件配置界面中的工业以太网cp属性对话框的“addresses”栏获得,该值应以十六进制的形式填入通信块,同时也可在编程时点击fc5/fc6功能的连接属性,选择组态列表中的相应连接号,fc5/fc6功能中的id和laddr参数就会在程序里自动生成。
3.3通信组态
为连接组态cp343-1 tcp通讯连接,需使用step7 v5.4和用于工业以太网的simatic net ncms7,而ncm s7完全集成在step7环境中,并可提供丰富的网络诊断功能,包括:通讯处理器的状态、一般诊断与统计功能、连接诊断、缓冲区诊断、局域网控制器统计等。cp343-1模板除了在硬件组态hw config中配置外,对本地s7-300plc而言其每个tcp通讯都需要通过netpro来建立起静态连接,其组态过程如下:
1)通信伙伴选择
开放式ie远程通讯伙伴为称重仪、标签打印机、条码扫描仪等非simatics7工作站,因此选择使用非特定通信连接的类型unspecified;
2)指定连接类型
开放式ie通讯连接类型应选择tcp connection,并定义tcp连接的名字,系统将自动生成块参数localid和laddr参数,对于客户端对象还须选择在通信连接初始化中 具有主动连接功能的选项active connection;
3)ip地址&port端口号分配
对于开放式ie通讯除设置双方ip地址和子网掩码外,还须分配通讯双方(local/remote)的port端口号,port端口定义分配范围为2000到5000中的空闲地址,而小于2000的端口地址一般由国际互联网代理成员管理局(iana)已赋予特定的用途或保留;
4)数据传送长度
对于老版本的cp343-1具有支持数据长度超过240个字节的作业选项,新版cp已取消了该选项,直接支持最大可达8192个字节的数据传送;
5)编译和下载
当前cp343-1通讯处理器支持在cpu上保存组态数据的选项,而不是存储到cp的eeprom中,因此今后更换cp模块时也不需要pg,在cp启动时,新cp的组态数据将自动从cpu中进行下载。
6)其它
以上未涉及的选择,按netpro的默认选项。
3.4通信编程
1)称量采集编程
s7-300plc基于开放通讯的cp343-1模板连接组态不需要编程,而是通过netpro来组建的,因此其通讯编程只需调用面向连接的send/receive接口就可完成ascii数据收发工作,系统的s7plc共有八个tcp连接,其中电子台秤共有6套分别占有6个连接,台秤通信过程是双向应答式的。