西门子模块6ES7518-4AP00-0AB0技术参数
1引言
美国Echelon公司于1991年提出了LonWorks(Local Operating Networks,局部操作网络)网络,简称L0N网。LonWorks是一种完整的、全开放的、可互操作的、成熟的和低成本的分布式控制网络技术,众多的制造厂和用户纷纷在其控制网络方案中采用LonWorks技术。到目前为止,全世界已有2500多家公司利用LonWorks技术生产各种各样的LonWorks产品,以满足现代化楼宇、工厂、交通运输系统、城市基础设施(水、电、气等)、家庭等环境自动化系统的分布式控制网络要求。在1995年,LonWorks控制网络被美国确定为楼宇自动化控制网络标准的一部份。目前,世界大的楼宇控制公司,如霍尼韦尔、安德沃、西比、江森、兰吉尔、萨切维尔等都正在采用LonWorks技术改造产品,已形成世界技术潮流。L0N网标志着控制系统网络的新纪元。
2 L0N网与其它工业总线网
前期LONWORKS产品的市场开拓过分集中于和传统的PLC/IPC现场总线的竞争。然而,在Profibus、Interbus、CAN总线盛行的工业环境中,显然没有很强的竞争能力。因此,LONWORKS转而在楼宇以及一些孤立的工业现场(例如染色机)取得了巨大进展。许多工程实例表明:通过精心设计,大楼可以只装备单独的一个LONWORKS网络,使得HVAC(供热、通风和制冷)、电力照明、阳光屏蔽和安全功能以及开放式控制设备能在网络上互操作,参见图1。
与之相反,LONWORKS在工业现场的应用前景并没有得到认可,自身也遇到很多的困难。原因就是对分布式智能控制的原理接受不足。然而,LONWORKS以其出色的稳定性以及灵活的自由拓扑布线技术于基于RS485的传统现场通讯布线技术。LONWORKS能够巧妙而经济地满足特殊要求。能够以功能简表的形式为开发商提供解决方案的基础。对许多设备诸如发动机、泵、变频器、PLC、阀门、传感器等都有功能简表。
由于LONWORKS在工业现场的应用前景并没有得到大家的认可,转而在楼宇自控行业得到很大的发展。而对于楼宇自控中的机电设备的控制,LONWORKS并没有大的优势,这反而是传统的PLC/IPC的天下。PLC/IPC以其通用性、可靠性以及低廉的成本优势牢牢地占据着传统的产业机械/工业设备控制的根据地。这也是LONWORKS在多年来与PLC/IPC竞争工业现场后无法得到很大发展的原因。然而,毕竟LONWORKS以其对等设计和智能分布式现场设备在技术上的工业自动化系(PLC/IPC现场总线)整整一代。随着工业自动化以及网络技术的发展,对传统PLC的网络要求也越来越高,工业以太网这个新鲜名词也随之出现。而且也有了取代现场总线的趋势。
虽然组建控制网络的方法有很多,但是对于自动化控制而言,平坦的、对等式(P2P)体系结构是好的。P2P体系结构和其它任何一种分级的体系结构相比,不再具有分级体系结构与生俱来的单点故障。在传统的体系结构中,来自某一个设备的信息要传递给目标设备,必须先传送到中央设备或者网关。因此,每两个非中央设备之间的通信包括了一个额外的步骤,或者说增加了故障的可能性。P2P体系结构的设计相比之下,它允许两个设备之间直接通信,这避免了中央控制器的故障可能性,并且排除了瓶颈效应。此外,在P2P设计中,设备的故障更多的可能是只影响到一个设备,而不象非平坦的、非对等式体系结构中潜在的影响到许多设备。由图2 可以看出通过监控的传统的主从通讯网络与P2P体系通讯网络的优劣。
3 L0N网原理
LonWorks网络中设备的通信是采用一种称为LonTalk的网络标准语言实现的。LonTalk协议由各种允许网络上不同设备彼此间智能通信的底层协议组成。 LonTalk协议提供的通信服务,使得设备中的应用程序能够在网络上同其他设备发送和接收报文而无需知道网络的拓扑结构或者网络的名称、地址,或其他设备的功能。LonWorks协议能够有选择地提供端到端的报文确认、报文证实和优先级发送,以提供规定受限制的事务处理次数。对网络管理服务的支持使得远程网络管理工具能够通过网络和其他设备相互作用,这包括网络地址和参数的重新配置、下载应用程序、报告网络问题和启动/停止/复位设备的应用程序。LonTalk——也就是LonWorks系统——可以在任何物理媒介上通信,这包括电力线,双绞线,无线(RF),红外(IR),同轴电缆和光纤。
而所谓互操作性意味着每个网络中的装置能够根据自己需要发布的信息变成数字式串行数据通过网络直接到达另一个装置。数据转移通常涉及一个信息发送者,一个或一个以上的接收者。发送者和接收者之间一定要有某种形式的连接,数据才能以一连串的开--关状态转移。所有连接到某一特定信道的装置必须有同一速率运行的兼容收发器,如此才能够达到互操作的目的。但是可互操作的网络并不是传统的主从式通讯网络(点对点)可以达到的,网络装置间串行数据的转移要求一套通讯协议,协议通常以嵌入软件或固件代码形式存在于每个网络装置中。包含这个协议代码和某种类型的操作智能的装置称之为网络节点。它包括一片Neuron神经芯片、传感和控制设备、收发器(用于建立Neuron芯片与传输之间的物理连接)和电源。
LonTalk通讯协议是LONWORKS技术的核心,该协议提供一套通信服务,使装置中的应用程序能在网上对其他装置发送和接收报文而无须知道网络拓扑、名称、地址或其他装置的功能。LONTALK协议能够有选择地提供端到端的报文确认、报文证实、优先级发送以便设定事物处理时间。它是一个分层的以数据包为基础的对等的通信协议,象有关的以太网和因特网协议一样。但是,LONTALK协议设计用于控制系统而不是数据处理系统的特定的要求。每个数据包由可变数目的字节构成,长度不定,并且包含应用层的信息以及寻址和其他信息。信道上的每个装置监视在信道上传输的每个数据包以确定自己是否收信人。若是,则处理以判明是否包含本节点应用程序所需的信息或者它是否是个网络管理数据包。LonTa1k协议是直接面向对象的网络协议,即,通过网络变量实现网络节点间的联结。当定义为输出的网络变量改变时,能自动地将网络变量的值发送出去,使所有该变量定义为输入的节点收到它的改变,以便激活相应的处理进程(事件触发型)。标准网络变量能使不同制造商的产品通过建立标准的数据传送模式、正确地翻译、传送数据,便于设备的互换和互操作。另外,由于网络变量的长度有限,多31B,又提供了四种类型的报文服务:应答方式、请求/响应方式、非应答重发方式、非应答方式。
为了简化网络配置和管理,可以把逻辑地址分配给节点,逻辑地址让用户把一个名字和物理装置与节点配合。使用LONTALK的控制网中的逻辑地址在网络配置时定义。所有逻辑地址有2个部分,部分是指定域的ID,这个指定域就是节点的集合他们之间可以互操作。逻辑地址的第二部分以独特的15位节点地址规定域中的一个单一节点。
而对于PLC介入到LONWORKS网络中,实现PLC数据/状态的实时监控,则必须由网关节点的应用程序对PLC进行操作。
4 L0N网在智能楼宇控制系统中的应用
本文以上海某大型广场的智能楼宇控制系统中,涉及到台达PLC的LONWORKS系统的部分为例,介绍网关节点与PLC通讯配置的网络变量以及命令格式。在该系统中,机电设备为中央空调风柜,PLC根据回风温度经过PID调节新风阀门的开度,以达到控制房间或单元室温的目的。风柜网络原理图参看图3。
网络变量
nviConfig 配制网络变量
nvoDR[0~7] 只读模拟量(AI)
nvoXR[0~7] 只读数字量(DI)
nviMW[0~12] 只写数字量(DO)
nviDW[0~31] 只写模拟量(AO)
配制网络变量
nviConfig输入格式:X X X X XXXXXXXX
指令 操作号 : 设定值
指 令:R 读设定值,W 置设定值;
操作号: 00 通信格式设定
01~08 nvoDR[0~7] 连接设定
09~16 nvoXR[0~7] 连接设定
17~29 nvoMW[0~12] 连接设定
30~61 nvoDW[0~31] 连接设定
设定值:通信格式设定 BBBBB_TT (BBBBB波特率 如09600,_ 空格,TT 通信秒间隔 如01)
连接设定: SSIIAAAA (SS设备号 如01,II指令 如02,AAAA地址 如1AFF)
连接量
只读模拟量和只读数字量按通信秒间隔自动读设备进行刷新,只写数字量和只写模拟量赋值网络变量时自动发送到设备。
由于LONTALK协议规定网关节点的应用程序中已经包含该网关节点的逻辑地址,并且是以名称的形式存在于网关节点的应用程序中。因此,网关节点到PLC的通讯部分无须顾及PLC的通讯地址,而只需通用默认的PLC地址即可,参见图4。
图4中,变量规定为只读,在台达PLC的通讯协议中,D0对应的地址为H1000,则,D100对应的地址为H1064,依此类推。由于LONTALK协议的网关地址已经在网关节点的应用程序中得到确定,那么,网关节点与PLC的通讯就变成了标准的统一的程序,只需使用PLC默认的通讯地址即可,如图4、图5、图6所示PLC的通讯地址都统一为1。
由图3,现场的监控由文本显示器TP04G来实现,远端的监控通过LONWORKS网关节点来实现。这样组成一个分布式智能控制系统。远端的上位计算机通过与末端的LON网关交换数据,网关节点根据从信道中接受到的数据包判断是否是合适本网关的数据包,如是,则网关节点应用程序再将数据下达至PLC,完成远端的监控。
虽然LON分布式智能控制系统不要求末端的PLC提供地址,但是文本显示器与PLC的地址设置功能大大地方便了程序编写者与现场的调试人员,以下简单地介绍该功能的使用:TP04G提供了DELTA Mx的DRIVER,该功能适用于DELTA PLC的多地址应用场合。我们知道,在标准设备的生产制造中,我们需要的是标准化的程序,以简化现场的调试以及方便程序文件的管理。那么,在标准设备的组网过程中,必不可少地需要改变PLC的地址,以达到组网控制的目的。如果通过传统的改变PLC程序来实现的话,一台标准设备就有一套程序。很不方便程序的管理。使用文本显示器的DELTA Mx功能只需在文本的系统菜单中改变文本的通讯地址即可,而文本程序中需要对PLC的D1121设置成相应地址即可实现。
文本显示器提供的万年历功能为实现空调系统定时开/关机功能提供了方便,PLC可以通过万年历的时间实现对风机的定时开关机控制。网络功能的实现为楼宇机电设备的管理者提供了方便,管理人员可以通过网络对位于大楼任何位置的机电设备下达指令,也可以随时通过LON网络查看任何位置的机电设备的运行状态。实现了楼宇智能控制。
科研手套及各种PVC手套的公司,年产值在0.5到1亿元人民币,产品基本上都是出口外销。全厂有两个生产车间共26条生产线,整个工厂的所有生产线由工厂产量监控查询系统实施实时监控,对每一条生产线的产量数据进行实时存储,将PLC中掉电保持区的数据读到监控系统自定义的相应变量当中去, 每分钟通过标准的SQL语言对数据进行存储(每分钟向SQLSERVER数据库中存储26条生产线的产量数据,即26条生产线的当前产量),用户可以通过日期、时间、时间段、车间、生产线等查询任何车间、任意一条生产线的产量,能对车间、生产线的月产量进行统计,并在查询出满足条件的记录后,将结果通过报表显示,按规定报表格式将结果进行存储和打印。以下是对相关技术问题的简略讨论。
2 系统结构与功能
工厂产量监控查询系统的结构示意图如图1所示。
图1 产量查询系统结构示意图
该系统要实现的功能是可以任意查询一车间、二车间任何生产线(共26条生产线)在任何时段的产量。具体要求如下:1)每条生产线产量的数据至少能够保存4个月的储存期,以便对历史数据进行查询;2)能查询每条生产线任意月、天、小时、分钟的产量;3)能对任意一条生产线在任意时段的产量进行查询;4)查询结果能以特定的格式在报表中显示,同时将结果打印出来;5)各条生产线任意月、日、小时、分钟的产量可在电脑上以柱状图、实时趋势曲线的形式显示。
查询系统的查询方式可以实现:1)按照日期进行查询;2)按照时间进行查询;3)按照生产线进行查询;4)按照任意时间段进行查询;5)按照班次进行查询(早、中、晚班);6)查询任意月的任意车间、任意生产线的产量;7)可以运用第1)到第5)种不同的排列组合进行复杂的查询。
3 系统设计
该系统的设计是比较简单的,软、硬件选型配置如表1所示。
表1 系统软、硬件配置
工厂产量监控查询系统的设计主要在于软件系统的设计,以下问题是考虑的重点。
1)两个车间共26条生产线,每分钟要有26条记录生成,每分钟向数据库插入26条记录。该系统全天24小时工作,不允许停,所以的数据量为37440条记录。每月的数据量为1160640条记录。如果要存储4个月,则数据量为4642260条记录。数据量是相当庞大的,硬盘的数据存储接近2-3G,不仅会造成在查询时,系统资源严重被占用,同时普通的数据库如ACCESS的表格没有能力管理如此庞大的数据系统。ACCESS在管理如此庞大的数据时,不仅系统会造成不稳定,同时会出现不可预料的情形。所以只能寻找能够管理大型数据系统的数据库,因此可以选择SQLSERVER或Oracle。
2)组态软件(组态王)支持对标准的数据库进行数据的插入、选择、删除等基本的操作,同时支持标准的SQL语言。灵活的运用该组态软件提供的SQL函数使监控系统通过ODBC(开放性的数据源)配合标准的SQL语言对数据库进行各种简单和复杂的操作。
3)即使使用大型的数据库,SQL Server或Oracle,由于每天的数据量多达37440条记录,如果将1个月,甚至是4个月的记录全部写入同一个数据库的同一个表格,则所有的数据量大的将使表格崩溃,即使数据库能够管理,查询的速度也是可想而知的,将会非常的慢。解决问题的思路是以系统的日期作为当天的表格名称。当系统时间为00:00:00时刻时,新建一个表格,通过SQLCreateTable( DeviceID, "TableName", "TemplateName" )函数建立不同的表格,因为组态软件支持字符串函数。
4)查询条件比较复杂。为了完成如此复杂的查询,使用了Active控件,因为组态软件支持第三方控件,将所有的条件罗列出来进行排列组合,将每一种情况都考虑在内。然后通过程序来实现选择条件转换成SQLSELECT()函数工作的条件。因为工艺要求能够任意查询任意生产线在任意时段的产量,为了能够实现该功能,可以新建站点及站点变量(\\本站点\CX_Hour,\\本站点\CX_Minute,\\本站点\CX_Hour1,\\本站点\CX_Minute1)。在以时间段进行查询时,先将以前两个变量输入的时间做为条件进行查询,将查询出记录的数据赋给在过程中自定义的中间变量。然后再以后两个变量输入的时间作为条件进行查询,将查询出的结果同样赋给自定义的中间变量。将两次查询的结果求差,然后将日期、时间、车间生产线产量通过报表的组态添到表格当中。
5)对于月产量的查询。需要判断输入的月份有几天,然后从该月的天开始到后进行查询,查询的时刻为每的23:59分时各生产线的产量。然后对查询出的数据进行累加,直到该月的后。具体程序实现是按照特定的格式将数据填写到报表当中。
6)当查询的条件比较复杂时,有些条件不可能同时成立,因此,在选择条件时,要互相限制,以避免出现混乱现象。
7)工艺要求能够查询任意生产线每分钟的产量,可以通过事件发生命令实现,即每当系统时间的秒等于59时,触发执行相应程序。
8)在系统时间等于00:00:00时刻时,用事件命令建立相应程序,以得到需要新建表格的名称,并同时将PLC中累计产量的寄存器清零,重新开始对该日的产量进行累计。
4 系统调试考虑
针对本文讨论的特定工厂产量监控查询系统,在系统安装调试过程中有些问题是不能被忽略的。
1)因为两个车间之间的距离在300m左右,而从个车间到监控室的距离有500m左右,距离比较远,为了遏制信号的衰减,将信号线用网线代替,同时加中继器将信号放大。保证数据传输的安全性。
2)要求现场布线时严格按照电气规范施工,保证安装的合格。
3)正确的设置操作系统中数据源ODBC的选项,以保证监控系统能通过ODBC与数据库SQL Server连接。在运行监控系统执行任何操作时,观察运行反馈信息,以得到相关的错误信息,可根据提示的错误信息检查程序。
4)报表组态非常灵活,可以通过While{}循环语句,将查询结果按照顺序填写到报表中。灵活的运用While{}语句可将程序简化,减少监控系统后台运行程序的时间。
5)灵活运用应用程序命令、数据改变命令、事件命令、热键命令、按钮的弹起、按住、按下命令进行编程。
6)在程序量大的项目中应养成良好的编程习惯,定义变量时好使用英文对程序进行标注,以增加程序的可读性。
系统经调试正常后,投入生产运行的产品产量柱状图如图2所示,产量的趋势图如图2所示。
5 结束语
尽管台达PLC属于小型PLC,但其性能可靠、支持485通讯等特点,足以完成集中控制的功能,配合组态软件实现复杂的工厂监控、数据查询、打印、报表等DCS系统的功能。