一种节省组态软件I/O点数的方法及实现
一种节省组态软件I/O点数的方法及实现 王念春(东南大学电气工程系) 摘 要:工业控制系统中采用了大量的各类组态软件,同一种组态软件的价格主要由其I/O点数决定,降低所使用组态软件的I/O点数可节省工程成本,本文介绍了一种节省组态软件I/O点数的方法。 关键词:组态软件;通讯协议;Modbus;啤酒 一、前言 人—机界面(HMI)是各种控制系统中重要的一环,在Windows环境下运行的工控组态软件提供的图形界面形象、直观,深受操作者与工程技术开发人员的喜爱,在国内自动控制系统的上位机中得到了广泛应用。但出于销售策略上的考虑,几乎所有的工控组态软件在销售时都按不同的输入、输出(I/O)点数划分定价,例32点学习版,64点、128点、256点、512点、1024点、不限点工程版等,价格相差较大,并且不同的组态软件在定义I/O点数时略有不同,有的定义为数据采集点与中间动画控制变量之和,有的定义为上位机数据库中与下位机通讯的变量之和等,在多级分布式控制系统中,一般认为I/O点数为上位机组态软件与下位机(PLC、数据采集插卡、智能仪表等)通讯的数据变量之和。 很显然,降低所使用的组态软件I/O点数,可降低整个工程成本,有很大的现实意义。在对某啤酒厂发酵车间实施DCS控制系统过程中,上位机组态软件使用美国Iconics公司GenesisFor Windows 3.0版(简称GFW3.0),下位机使用英国欧陆公司T103系列T921 CPU PLC,通过对系统构成、组态软件、通讯协议、信号特点等进行综合分析,通过编写少量的上、下位机通讯程序,降低了所使用组态软件的I/O点数,达到了节省工程费用目的。 二、控制系统构成 发酵车间控制系统由两台上位机组成(见图2—1),一台为LIN上位机(上位机2),通过S9565卡与下位机构成LIN网,下位机程序通过此台计算机下载到下位机中,同时计算机中插有Modicon公司的SA85卡,运行自编的在DOS下运行的控制软件;上位机1运行工控组态软件GFW30开发版,计算机中插有Modicon公司的SA85卡;两台宿主计算机1与2通过SA85卡与Modicon公司的BM85网桥构成发酵车间上位计算机网络Modbus Plus网中的3个网点(地址6、8、9),上位机网络通讯速率为1Mbps。Modbus Plus网通过BM85网桥从下位机获得数据,网桥同下位机以Modbus网络协议交换数据。其它车间上位机也可通过Modbus plus网获取发酵车间下位机数据。 下位机采用英国欧陆公司的T103(单CPU,T921),它在底板上集成了Modbus及LIN网络接口,它的Modbus最高通讯速率为38 400bps。有两台下位机,其间的数据可通过LIN网共享。 三、I/O点数分析与统计 文中发酵车间的主要控制目标为24只发酵罐,每个发酵罐的输入、输出点数与性质如下: 1、上、中、下3个冷媒开关电磁阀(3 DO); 2、上、中、下3个温度(3 AI); 3、发酵罐料位信号(1 AI); 4、发酵罐压力信号(1 AI); 5、一个罐顶压力释放电磁阀(1 DO); 6、每个发酵罐共计9路:4路DO,5路AI; 24只发酵罐“硬”I/O点数为:24×9=216点,理论上选购256点的组态软件即可满足要求。GFW 3.0软件的I/O点数定义为上、下位机通讯参数点数之和,因此要购买的上位机组态软件GFW3.0的I/O点数为:下位机PLC“硬”I/O点数(216)+上、下位机其它通讯参数点数,在本例中上、下位机其它通讯参数点数主要为模拟信号的定标与校正参数,简要分析如下: 发酵罐中温度传感器使用Pt100铂测温电阻,变送器测温范围-50℃~130℃,实际使用中发现存在如下问题: (1)理论上Pt100铂测温电阻在0℃时电阻值为100Ω,但实际上存在一定的阻值偏差,例为99.5Ω,从而给温度测量带来误差,称为铂电阻0℃偏差,不同厂家、同一厂家不同批次的铂电阻,偏差大小不尽相同,有必要在下位机中校正,按传统做法,相当于增加了一个上、下位机的通讯参数,应计入上位机组态软件的I/O点数; (2)温度变送器偏差。在冰水混合物中测量出Pt100测温电阻的阻值,记下铂电阻0℃偏差(转换成温度数值),然后通过温度变送器测量出此时温度,两个温度间的差值即为温度变送器0℃偏差。同理在下位机中校正这一偏差,相当于增加了一个上、下位机的通讯参数,应计入上位机组态软件的I/O点数; (3)非线性校正参数。在-50℃~130℃温度范围内,如果对温度测量精度要求不高,可近似认为铂测温电阻特性为线性,但发酵罐为大惯性缓变系统,在降温期温度变化速率为0.1~0.2℃/h,对温测精度要求非常高,因此引入3个校正系数,校正非线性的影响,相当于增加了3个上、下位机的通讯参数,应计入上位机组态软件的I/O点数。 从上面可以看出,即使不计入非线性校正的3个系数,每个发酵罐的I/O通讯参数为:9(硬I/O)+3×(1+1)(软I/O)=15,上位机组态软件的I/O点数为15×24=360点,大大超 出256点。 通过进一步的分析,可以发现“硬”I/O与“软”I/O之间存在的差异。
从控制角度看没有必要将这类I/O点放入上位机实时数据库,但这类数据也存在变化的可能,需要提供修改手段。一般可通过如下方法修改: 1、购买较多I/O点数的上位机软件。将“软”I/O点放入上位机实时数据库,由于这类数据较重要,有必要建立一定的安全保护措施;缺点为成本较高; 2、停机启动另一数据库。要修改这类参数时,退出正常运行程序,通过另一数据库启动组态软件,修改参数;缺点为要停机(上位机)处理,有时实际情况不允许; 3、直接修改下位机程序。这是最全面的解决手段,缺点为对操作人员有较高素质要求,存在一定的风险,不满足程序保密需要,同时需要停机(上、下位机)处理; 4、自编程序处理。 正是基于上面的分析,笔者针对文中控制系统网络的构成与特点,开发了上、下位机的通讯程序,不仅降低了上位机软件的I/O通讯点数,节省了工程费用,同时还可作为上位机组态软件故障时应急处理程序。 四、网络寻址 控制系统上位机网络为Modbus Plus,通过BM85网桥与下位机用Modbus协议交换数据,各装置在网络中地址分配见图2-1。 Modbus Plus网络寻址路由路径由5个字节构成,通过BP85网桥可以联接多个Modubs Plus网,构成复杂的网络寻址方式,从其它车间可得到发酵车间下位机数据。本例中从上位机2寻址下位机1数据的寻址字节见图4—1,表示为91100,同理,91200为上位机1或2寻址下位机2中数据的寻址字节表示。 每个下位机PLC作为一个Modbus Slave装置,有一个Slave号,在每一个下位机中,还相应定义了通讯速率、奇偶位、停止位、超时时间等参数。本文下位机中有3种类型的Modbus表:①Register类型,为16 bit的模拟量;②Digital类型,为1 bit的开关量;③Diagnostic类型,用来诊断下位机Database在运行过程中的状况,为16 bit的模拟量。下位机最多支持16个Modbus表,表中的地址用户可定义。在同一个Modbus表中不能混用这3种类型。 知道了怎样在网络中寻址及下位机Modbus表,就可以编写通讯程序。 五、结束语 上位机组态软件的I/O点数可分为“硬”I/O点数与“软”I/O点数两大类,上、下位机通讯总I/O点数为两者之和,在工程中可通过多种方法降低上位机组态软件的I/O点数,既可节省工程费用,又可方便用户使用。用文中介绍的方法和方案开发的程序经过较长时间运行,证明其稳定、可靠,达到了预期目的。 |
提交
超越传统直觉,MATLAB/Simulink助力重型机械的智能化转型
新大陆自动识别精彩亮相2024华南国际工业博览会
派拓网络被Forrester评为XDR领域领导者
智能工控,存储强基 | 海康威视带来精彩主题演讲
展会|Lubeworks路博流体供料系统精彩亮相AMTS展会