基于西门子开放式工业以太网OPEN IE的数据通讯方案
1 引言
在当今自动化领域,网络结构已经被广泛地应用于各行各业的工业环境中,它是构成各类控制系统的基础,其性能直接影响着系统整体的综合指标,不同的网络种类形式如:串口通讯、现场总线、以太网等已在各类场合获得了验证和发展,但随着近年来it技术的迅猛发展,这种格局正在发生着巨大的变化,特别是以太网技术正由商业向工业、上层向低层、低速向高速、非实时向实时、封闭向透明、层次化向扁平化等方面全面发展和延伸,并融合了各类现场总线的技术和协议,再加上低成本的刺激和速度的提高因素,全球各自动化巨头厂商也不断推出“e网拉平到底”成功案例,传统的控制系统却不得不面对这一强劲的挑战,以太网进入工业控制领域并融入现场通讯技术已成为现实。
对于未来自动化网络技术的主角,从现有市场应用角度看,以太网iso/osi七层模型中顶层应用层协议的标准化、通用性和开放性是决定各供货商设备彼此间是否可具备互操作性的首要条件,应用层协议的标准和开放为不同层次、不同厂商、不同种类的设备实现互联通信及实现高效的统一管理提供了良好的实现平台,纵观西门子工业以太网simatic ie的发展就顺应了这一市场的需求和趋势,simatic ie体系架构如图1所示。
![](http://www.ofweek.com/Upload/News/2012-7//siliver/07_19/2/t1.jpg)
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接口或t blocks接口来实现的,它是基于西门子s7 plc控制层面所集成的以太网服务功能,支持与第三方通讯伙伴用于以太网或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传输的属性,集合了高速通讯和路由兼容性的优势,支持带确认的数据块传送,具有极高的通信可靠性,但当前仅限于simatic s7家族产品内部所使用,第三方通讯伙伴一般都不支持iso-on-tcp连接,因此面向连接的tcp/ip以太网通讯成为我们首选。
综合以上阐述可得出采用统一介质访问层、标准tcp/ip传输网络层和开放应用层的以太网来实现这些第三方通讯设备联网,是此流程自动化控制的首选方案,因此针对上述工业数据采集领域的现状,我们制定了基于tcp/ip的以太网通信解决方案,包括设备投资、布线、维护和编程难易程度所产生的总体成本可大为降低,它不单独占用处理器物理端口和处理资源,在灵活性和可用性方面可有极大的提升,与plc控制层的协同工作效率也得到了提高,降低了维护成本并进一步简化了网络结构,并对今后系统功能扩充及升级也带来了极大的便利,符合各制造商们日益关注的价值主张。
3 开放式ie功能实现
3.1系统组成
本系统现场设备主要包含有:godex热敏标签条码打印机、metrologic条形码扫描仪、tcs电子台秤和辊道秤等等,为满足这些设备数据处理和控制的要求,采用带有cp343-1通信处理机的s7-300plc并充分利用工厂现有的局域网资源,组成一个基于tcp/ip数据流的工业以太网通信方案,以满足各工艺段的需要,也使s7-300plc资源得到充分的利用和发挥,系统组成如图2所示。
![](/uploadfile/images/content_2012/content_7/content_20/201272015141663.jpg)
s7-300cp模板的s7应用程序是基于s5兼容接口send/receive来实现开放式ie通信,cp它最多可同时建立16个tcp/ip任务资源的连接,虽然tcp/ip是基于面向数据流通信的服务,而非基于消息的数据包传输服务,这就意味着发送的数据没有任何有用于数据的信息,例如长度、起始和结束信息,接收端只能提供相对应的接收长度和特征符来获取正确的信息,因此需考虑send/receive收发功能的输出参数及状态的判别,来协调双方的请求和响应以确保双方可靠通信,另外对于接收方还需注意接收缓冲区数据流的定位问题,总之send/receive接口所集成的基于tcp/ip的socket接口访问为实现与第三方设备的数据交换提供了灵活多样服务,基于tcp连接的接口框图如图3所示。
![](/uploadfile/images/content_2012/content_7/content_20/201272015859105.jpg)
上图描述了s7-300plc所带cp模板与现场tcp/ip设备的连接框架,首先配置s7-300plc作为tcp客户端,电子台秤作为tcp服务器端,经客户端请求服务器端来进行二者的tcp native连接,连接成功返回后再执行send/receive功能服务,来实现与电子台秤的双向数据采集的通信任务。
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 ncm s7,而ncm s7完全集成在step 7环境中,并可提供丰富的网络诊断功能,包括:通讯处理器的状态、一般诊断与统计功能、连接诊断、缓冲区诊断、局域网控制器统计等。cp343-1 模板除了在硬件组态hw config中配置外,对本地s7-300 plc而言其每个tcp通讯都需要通过netpro来建立起静态连接,其组态过程如下:
1)通信伙伴选择
开放式ie远程通讯伙伴为称重仪、标签打印机、条码扫描仪等非simatic s7工作站,因此选择使用非特定通信连接的类型unspecified;
2)指定连接类型
开放式ie通讯连接类型应选择tcp connection,并定义tcp连接的名字,系统将自动生成块参数local id和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-300 plc基于开放通讯的cp343-1模板连接组态不需要编程,而是通过netpro来组建的,因此其通讯编程只需调用面向连接的send/receive接口就可完成ascii数据收发工作,系统的s7plc共有八个tcp连接,其中电子台秤共有6套分别占有6个连接,台秤通信过程是双向应答式的,在每一个连接中完成ascii码数据的读和写功能,s7-300整个通信功能流程如图4所示。
![](/uploadfile/images/content_2012/content_7/content_20/20127201572829.jpg)
图4 plc1通信功能流程图
从上述流程图中可看出plc1共有八个tcp连接和一个s7单边连接,其中电子台秤共有6套分别占有6个连接,台秤通信过程是双向应答式的,在每一个连接中完成ascii码数据的读和写功能,通讯协议为电子台秤自有特定的ascii码协议,其通信格式如图5所示。
以上plc命令请求中,stx(02h)是起始前缀符,etx(03h)是结束后缀符,电子秤返回数据中前后缀符之间为带±极性pol符的6位十进制当前称量值,其中sp(20h)为空格,cr(0dh)为回车,lf(0ah)为换行;s7-300plc在一个连接中通过命令方式完成每台台秤的称量数据采集任务,双方所有数据都以ascii编码传送,plc可根据不同工艺要求发不同的命令,分别可读取净重、毛重、总重和状态功能(去皮、置零、复位、累计、超差等)选择的信息,在netpro组态中分别建立起6套称量接口的tcp连接,并且定义由plc端为通信客户连接端,电子台秤设置为服务器端,plc通过send/receive接口程序设计实现与6套电子台秤的双向通信。
2)标签打印编程
godex ez-1100plus标签打印机具有热敏/热转印二种工作模式,具备tcpserver/client和usb接口,内置常用标准条码库和支持ezpl程序语言,ezpl程序语言属条形码高级控制语言,有三种命令模式:控制命令,设定命令和标签格式命令。ezpl命令包括一串字符参数,并以一大写英文字母启首,作为功能识别码,各参数间以,作为区隔,每行命令结束时,以内建隐藏式符号“cr”为识别,控制命令及设定命令分别以符号“~”及“∧”启首,标签格式命令则不以符号启首,各识别码均为大写英文字母,各参数则为小写字母,旨在定义各类数据如线条﹑矩形﹑条形码﹑文字﹑图像等等。
条形码技术是随着计算机与信息技术的发展和应用而诞生的,它是集编码、印刷、识别、数据采集和处理于一体的实用技术,它的诞生极大地促进了商品流通,条形码技术也是早期“物联网”概念诞生的驱动力之一。现代化的物流装备离不开商品条形码,当前世界上常用的条码制总类繁多,但使用最广泛的是ean商品条形码,它由国际物品编码协会制定并通用于世界各地,我国目前在国内推行使用的也是这种商品条形码,ean商品条形码中最常用的是ean-13码,也俗称为ean标准版;ean-13通用商品条形码一般由前缀部分、制造厂商代码、商品代码和校验码组成,条形码的最后用1位校验码来校验商品条形码中左起第l-12数字代码的正确性。从前面所述的tcp连接及通信流程图中可看出godex ez-1100plus标签打印机占有tcp connection2连接,在ob1中调用fc106实现单向数据流通信的ean-13码打印功能,数据流其实就是标签打印的组合式命令,其命令的格式如下:
“控制命令 + 设定命令 + ∧l(起始命令)+ 标签格式命令 + e(end命令)”
因此对于标签打印机按上述格式,将各命令及数据进行组合就形成组合式命令数据流,当然必需满足ezpl程序语言所规定的语法,其内容主要包含标签高度、宽度、间距、 明暗度、速度、剥纸功能、边界起点、条码类型和条码数据等等,下面的程序范例是打印一张ean 13的条形码标签,ezpl程序本身是一般的字符文件或命令行,无论使用何种语言编写程序,只需送出该字符文件的内容即可控制条形码机来打印,ezpl程序命令行数据必须以ascii码值存放于打印命令数据块db101中供fc56 ag_send接口使用,db101命令数据块如表1所示。
![](/uploadfile/images/content_2012/content_7/content_20/20127201554254.jpg)
ob1中打印触发事件的启动,只需在fc106中调用fc56 ag_send接口,将db101命令块的数据发送至打印机就可完成整个条码打印任务,fc106编程及和ean-13码打印结果如下:
fc106:a m 90.6 //启动打印
= l 20.0
bld 103
call “ag_send56” //调用fc56 ag_send发送接口
act :=l20.0 //激活发送打印命令
id :=2 //硬件组态连接号tcp connection2
laddr:=w#16#100 //cp模块十六进制硬件组态地址
send :=p#db101.dbx 0.0 byte 164 //发送命令块起始地址
len :=164 //发送命令块长度共164个字节
done :=“weight”.b101 //发送执行代码位
error:=“weight”b102 //发送错误代码位
status:=“weight”w4 //发送状态字
3)条码扫描编程
ms1690 focus条形码扫描仪采用了高分辨率的cmos感应器和功能强大的高速处理芯片,再加上firstflash?专利技术,使它的全向扫描模式能从各个角度扫描当前市场上所有标准码制的条码,在使用前首先要对它进行参数设置定义,参数定义内容包含如:通信模式设置、stx前缀/etx后缀、扫描模式、条码类型/解码规则和扫描间隔时间等,这些参数即可通过软件设置也可经扫描设置,扫描仪占有tcp connection1连接与cp343-1进行单向接受通信,step 7中调用功能fc107中的fc66 ag_recv接口来完成条码ascii数据的采集,并存入指定接收数据的db块,其区域长度只要不小于扫描仪发送字节长度就可以了,因此fc66编程思路与称量fc6 ag_recv接口相似,在这里就不再重复。
4)通信诊断
诊断功能对控制系统而言有着非常重要的地位,它对系统的调试、运行和故障排除起着关键的作用,step7为simatic系统提供了在线和编程二类通信诊断的途径,在线诊断具有一个分级概念的诊断功能,这种概念将使您能够查询关于simatic s7组件和功能的状态信息,并对各种不同情形下的问题进行分类诊断,它覆盖了下列内容:
·使用step 7对包括s7工作站、cp模板等硬件进行诊断和故障检测。
·使用ncm s7进行网络通讯诊断或模块通讯功能和运行状态的动态检测。
·hw config提供所组态的在线或离线cp的通讯属性的静态信息。
因此从上述系统分类诊断中可看出ncm s7 diagnostics为在线cp模板的通讯功能及运行状态提供了常规动态诊断,另外它还可以对cp模板进行出厂设置初始化、c-plug 卡格式化等操作。ncm s7可通过程序组simatic/step 7、cp属性对话框或netpro连接属性对话框来启动。
![](http://www.ofweek.com/Upload/News/2012-7//siliver/07_19/2/t6.jpg)
与simatic manager管理器相同,在左侧的浏览区中,可看到分层排列的诊断对象,显示的对象结构与当前正在检查的cp类型、该cp组态的功能和相匹配的连接,浏览区中显示了本地plc当前共有8个在线tcp connection连接;在右侧的内容区,将可发现在浏览区域中选定的诊断功能的结果和状态,即反映出这8个tcp connection连接的通信收发状况,分别对应了6套台秤(tcp connection3~connection8)、1套标签打印机(tcp connection2)和1套条码扫描仪(tcp connection1),还包含连接状态、接收状态和发送状态等信息。如发生连接错误、中断或警告,将在ncm s7左侧的浏览区中显示,如图6所示:
![](/uploadfile/images/content_2012/content_7/content_20/201272015431234.jpg)
通过鼠标在ncm s7浏览区域中选择所诊断的对象,就可以执行功能诊断,也可通过相关菜单命令来操作,并且ncm s7诊断缓冲器提供了以太网cp上事件消息的查询记录,它包含了关于cp的所有通讯服务和诊断事件的详细信息,诊断事件消息是记录在cp模板内的环形缓冲区中,环形缓冲区可包含多达50条信息,另外在ncm s7中,则可保存多达500条消息。所有cp模板功能都将自动生成事件消息,调用诊断对象时消息被读取并显示,最新的消息将以最高的连续编号在最上一行中显示,如果双击一个事先选定的事件消息则会显示关联的帮助文本,以便我们进一步详细分析和处理该事件消息。
4 结束语
本文结合数据采集处理系统讨论了西门子开放式工业以太网应用方案的实施情况,介绍了在open ie环境下基于tcp/ip协议实现simatic plc平台与第三方设备的以太网自由通信过程,并且在半导体行业得到了成功的应用,open ie应用突破了工业以太网应用于同品牌plc与plc之间、plc与分布式i_o之间和plc与上位机之间通讯的局限,加速了工业以太网向不同阵营自动化平台、现场设备层和i/o设备层拓展的趋势,具有实现方法快速灵活、通信可靠稳定、网络资源整合简单和不受距离限制等特性,据arc的最新统计预测,2012年工业以太网现场设备层的市场规模预计将会超过四百万个节点。综观当前全集成自动化开放式架构,无论是从纵向(从i/o设备层到mes层的数据、资产管理)还是横向(单个智能组件和子系统之间的数据供应)信息集成来看,工业以太网及它的扩充技术(如:无线通信、gps广域网通信、等时同步、功能安全等应用)为开放式架构的无边界整合带来了保障,工业以太网向不同层面、不同领域全方位延伸局面已势不可当,面对当前竞争激烈和不断变化的市场需求,只有树立持续创新、勇于开拓的理念,才能共赢未来,开启工业以太网更广阔的发展空间。
文章版权归西部工控xbgk所有,未经许可不得转载。