版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
监控与数据采集技术Ch3工业数据采集技术与应用一、工业数据采集基础1、工业数据采集系统组成与结构、I/O接口功能与分类(1)工业数据采集系统组成与结构(2)工业数据采集系统的I/O接口(Interface)及其功能过程输入/输出通道是SCADA系统上、下位机与被控过程现场测控设备之间的物理信息通道。过程输入/输出通道除了有A/D、D/A、DI、DO等I/O设备外,通常还包括一些辅助的部件,如多路转换开关、放大器、采样保持器、热电偶冷端温度补偿装置等。SCADA系统的I/O接口,不仅实现了计算机与监控过程的信号传输,而且还解决了计算机与外部设备连接时存在的各种矛盾。I/O接口的功能:A.数据缓冲功能——计算机的工作速度快,而外部设备的工作速度比较慢,为了避免因速度不一致导致的数据丢失,接口中一般都设置有数据寄存器或锁存器。B.信号转换功能——由于外部设备所需要的控制信号和所能提供的状态信号与计算机能识别的信号往往是不一致的,特别是连接不同公司生产的设备时,进行信号之间的转换是不可避免的。信号的转换包括时序的配合、电平的转换、信号类型的转换、数据宽度的转换(并行变串行或串行变并行)等。C.驱动功能——由于计算机总线的信号驱动能力有线,当要连接多台外部设备时,总线可能就会不堪重负,因此,可以通过扩展的接口来连接多台外部设备。D.中断管理功能——当外部设备需要及时得到计算机的服务时,就要求接口设备具有中断控制管理功能。E.隔离功能——接口上的光电隔离或电气隔离等各种隔离措施可以确保计算机系统的安全。(3)工业数据采集系统分类2、采样定律与数据采集卡的性能指标(1)采样定律数据采集是指利用数据采集设备实现对连续模拟信号的采样。采样是指将一个信号(时间或空间上的连续函数)转换成一个数值序列(时间或空间上的离散函数)。数据采集的一个理论问题就是如何确保数字化的采样值能真实反映原始的模拟信号,即能根据采样值来重构原来的连续信号。
香农采样定律(也称奈奎斯特定理):为了不失真地恢复模拟信号,采样频率应该大于模拟信号频谱中最高频率的2倍。采样定律说明了采样频率与信号频谱之间的关系,是连续信号离散化的基本依据。2、采样定律与数据采集卡的性能指标(1)数据采集卡的性能指标及参数含义在设计数据采集系统时要满足采样定律,与之对应的参数就是A/D卡的采样速率,除了该参数,随着应用需求的不同,还需要了解数据采集卡的组成、性能指标及参数含义。
图3.3所示为研华多功能数据采集卡PCI1711U,一般的数据采集卡包括多路采样开关(Multiplexer)、放大器、A/D触发器与转换器、板载存储器、晶振、定时器与计数器等把外部电压信号转成计算机能够识别的数字信号,主要性能参数:采样频率MaxSamplingRate(S/s),SamplingFrequency(Hz)精度(Resolution):8bit12bit14bit16bit输入范围(InputRange)(增益):同步采样(Simultaneousanaloginput)轮询采样(Multiplexanaloginput)突发模式采样(Burstmode)触发模式(Triggermode)隔离(Isolation)FIFO模数转换设备A/D(1)A/D分辨率Codewidth=smallestdetectablechangeinvoltage=AD的输入范围增益*2nn=#ofADCbits
16-bitADC3-bitADCAmplitudecodewidthTime02010012014040608010.009.757.506.255.003.752.501.250111110100011010001000(2)A/D采样速率香浓定律:采样频率>2倍的最高信号频率,实际应用中,常取5倍AdequatelysampledAliasedduetoundersampling图3.3采样频域确定(3)多通道采集采集模式通道设置扫描顺序增益范围单端/差分输入单极/双极Straingauge1Straingauge2Battery1Battery2TempPressure同步采样图形示例间隔扫描连续扫描(4)触发软件触发:用指令触发STARTTRIG*InputofMIOBoardEdgeInitiatesAcquisitionTTLSignalLevelandSlopeofAnalogSignalInitiatesAcquisition
LevelandSlopeofAnalogSignalRetrievesAcquisition条件获取(软件)由AIBufferRead设定AIRead调用AIBufferRead模拟触发数字触发3、SCADA系统中的数据采集(1)数据采集的多样性与广泛性
以数据采集的核心设备——数据采集卡为例,除了ISA、PCI、PCIe、PXI、PXIe、PC104、PC104+等不同内部总线的板卡,还有USB、现场总线模块及以太网模块等外部总线模块,这些不同的数据采集卡件随着性能的不同而价格差异极大,用户需要根据自己的应用需求合理选择。
数据采集系统的应用从简单到复杂,除了硬件上的不同,在数据采集软件及软件平台方面也有较大的差别。
SCADA系统中,数采硬件可以是I/O设备,也可以是各种智能数据采集装置、数字显示或控制仪表或其它形式的下位机。由于硬件设备的多样性,引起总线类型、通信协议等不同,因此,在硬件接口及软件编程上比较复杂和多样。SCADA系统中几种不同数据通信方式(2)SCADA系统中的数据采集与数据交换1)下位机的数据采集,即下位机与I/O设备的数据交换。本章所介绍的数据采集实际上属于这类,也是数据采集中最为复杂与多样的。2)下位机之间的数据交换,目前同一个厂商的下位机之间的实时数据交换比较简单。3)上位机与下位机之间的数据交换,目前广泛使用OPC规范。4)上位机之间(服务器与服务器、客户机与服务器)的数据交换,一般上位机软件系统是一个开发平台(如WinCC),用户只需要进行一定的配置就可以解决此类问题。5)上位机与其他应用系统(如MES)的交换数据,有几种不同的实现方式。4、常用的数据采集技术(1)基于嵌入式技术的数据采集
采用单片机、ARM、DSP和FPGA等微处理器,配备相关的I/O接口、通信接口等,即可构成嵌入式数据采集装置,是一类广泛使用的数据采集方式,特别是对于特定领域或特定应用来说,这是一类主要的数据采集方式。
一般属于定制开发,工作量大,系统稳定性与开发人员关系大。(2)基于网络技术的数据采集
该方案需要配置具有各类通信接口的数据采集模块,依据通信接口物理层及应用层协议的不同,设备呈现多样化,不同行业的设备不同。例如,楼宇自动化领域大量使用BACnetMS/TP和BACnet/IP通信接口模块,在制造业大量使用ProfiNet接口的I/O模块。根据对采样速率的不同要求,还可以分为高速采集模块和低速采集模块。
这类开发一般属于系统集成,效率高,稳定性强,成本较高。早先的网络化数据采集系统采用的是专用的网络和协议,使用受到很大限制。1995年后基于RS-485总线的各种数据采集模块大量涌现,台湾研华科技、鸿格科技等公司有种类比较齐全的各种I/O、通信及辅助模块,可以方便构成分布式数据采集系统。为了方便客户在不同的开发环境下开发应用程序,他们提供了多种形式的驱动程序。可以采用RS-485(专用协议、MODBUS等)、以太网及现场总线等多种方式,是现在主流的分布式数据采集方案
(3)基于虚拟仪器技术的数据采集虚拟仪器(VirtualInstrumentation)指的是具有虚拟仪器面板的个人计算机仪器。虚拟仪器由计算机、仪器模块和软件三部分组成。仪器模块部分的数据采集卡、GPIB卡等仅用于信号的输入/输出,仪器的功能主要由软件实现。操作人员通过友好的图形用户界面及面向虚拟仪器的编程语言来控制仪器的运行,以完成对被测量的采集、分析、判断、显示、存储及数据生成。虚拟仪器强调软硬件的可复用性,强调软件在仪器中的作用。
这类开发主要应用在航天航空、汽车电子、通信、新能源等行业的测控(测试)系统中。能实现高速、同步等复杂应用需求,价格较高昂。
美国国家仪器(NI)公司全套硬件、软件和分析工具(类似于Matlab的工具包)使得这类开发变得较为容易,大大缩短开发周期。(4)基于物联网技术的数据采集1)对大规模企业的数据采集这类应用主要针对制造业等行业的数字化改造,更合适的叫法是工业互联网应用。这些企业在基础层已有比较完善的数据采集系统,但这些系统设备种类多、通信协议多,还存在私有协议。2)对大量分布式测量点的数据采集在服务业、物流运输业、农业、林业、交通业等应用中,存在大量分散的数据采集点,但每个采集点的数据量少。对于这类应用,一般现场汇聚节点与传感器节点之间可以采用短程无线通信。二、数据采集系统的I/O接口模块AI:模拟量输入:温度、压力、流量、物位、位移、速度、分析参数AO:模拟量输出,可以控制阀门开度、变频器功率等执行结构DI:数字量输入:设备状态(运行、故障)、按钮状态等DO:数字量输出:继电器、固态继电器、晶体管输出1、数字量输入接口模块
在SCADA系统中,数字信号有编码数字(二进制数或十进制数)、开关量、脉冲序列等。各种按键、继电器和无触点开关(晶体管、可控硅等)是典型的开关量,而控制步进电机的则是脉冲序列信号。这些信号有高电平和低电平两个状态,相当于二进制数的1和0,计算机处理较为方便。由于数字量信号是计算机直接能接收和处理的信号,所以数字量输入输出通道比较简单,主要是解决信号的缓冲和锁存问题。由于在工业现场存在电场、磁场、噪声等各种干扰,在输入输出通道中往往需要设置隔离器件,以抑制干扰的影响。开关量输入/输出通道的主要技术指标是抗干扰能力和可靠性,而不是精度。
(a)开关量输入通道 (b)开关量输出通道图3.4开关量输入输出通道的结构图3.5典型直流输入模块内部电路开关量输入和输出通道组成主要有接口电路、接口地址译码器及相应电路。对于数字量输入通道,来自现场被控对象的开关量输入信号,经过输入电路进入接口电路,再转换成能被计算机识别的数字信号,最后通过输入缓冲器送入主机电路。对于数字量输出通道,由主机电路送出的数字信号先存于输出锁存器,再经驱动电路放大后,作为开关量输出信号送至现场执行机构。输入输出通道中的开关电路和驱动电路,通常包括单稳、光电耦合器、脉冲变压器、继电器、功放管和可控硅等。单稳电路用于整形,可由分立元件和集成器件构成。光电耦合器、脉冲变压器、继电器具有隔离作用,能防止共模干扰的窜入,继电器还具有放大作用。功放管和可控硅用于功率放大,以使开关量信号能驱动现场执行机构。通道中的输入缓冲器和输出锁存器采用如上所述的并行I/O接口电路。2、模拟量接口I/O模块(1)模拟量输入模块模拟量输入通道的作用是将从现场检测到的模拟信号转变成数字信号送给计算机。其组成如图3.6所示。图3.6模拟量输入通道组成
(2)模拟量输出模块
现场的执行器,如电动调节阀、气动调节阀、调速电机等都需要模拟量来控制,所以模拟量输出通道的任务就是将计算机计算的数字量转换为可以推动执行器动作的模拟量。模拟量输出通道一般由D/A转换器、多路模拟开关、保持器等组成,其中D/A转换器是完成数/模转换的主要器件。NI信号调理模块3、信号调理(SCXI)设备信号调理多路复用放大隔离滤波传感器激励冷端补偿SCXI功能传感器和信号热电偶RTDs热敏电阻应变仪电压信号
微伏,毫伏,伏电流信号
4—20mA,0—20mA数字信号1、数据采集中的I/O控制数据采集就是在CPU的控制下将I/O卡的输入、输出数据作转换,把计算机内存中的数据输出,或将外部的模拟数据转换为数字量后再送入内存。根据采样定理,如果信号的截止频率很高时,采样频率必须相应提高,才能保证频率不失真,而采样频率的最大值是由A/D转换器的转换时间决定的。三、基于PC的数据采集图3.12A/D转换过程AI:模拟量输入:温度、压力、流量、物位、位移、速度、分析参数AO:模拟量输出,可以控制阀门开度、变频器功率等执行结构DI:数字量输入:设备状态(运行、故障)、按钮状态等DO:数字量输出:继电器、固态继电器、晶体管输出A/D转换中的触发信号
数据传输就是如何将A/D转换后的数据送入计算机的内存中,然后被计算机加工、处理和存储。A/D转换后的数据通常保存在板卡的寄存器或FIFO中,这些数据必须及时取出。数据传输主要有三种方式:查询管理中断管理DMA管理A/D采样中数据传输过程所有的数据采集卡的寄存器中都有一定的位信号ECO(EndofConversion转换结束),该信号反映A/D转换的状态。如ECO=1,表示转换仍在进行;如该位为0,则表示A/D转换已结束。
所谓查询管理,即通过程序读该位的状态来对A/D转换的数据进行管理,如ECO=1则等待,如ECO=O则表示转换已完成,读取转换结果。查询管理把A/D转换芯片的状态线STS与中断请求线相连,用作中断管理,只要A/D转换完毕,A/D芯片的STS线即发出中断申请,进入中断服务子程序,完成转换数据的读取、处理等。采取中断管理可以显著提高系统的实时性,使系统有足够的时间响应其他的任务请求。中断管理实时性是指要求计算机在规定的时间范围内完成规定的任务。采取中断管理方式,在外围设备没有做好数据交换准备时,CPU可以运行与数据交换无关的其他任务,一旦外围设备做好了数据交换的准备,主动向CPU发出中断请求,只要条件合适,CPU就会中断,正在进行的工作,装入数据交换的中断服务程序。完成了中断服务程序后,CPU又自动返回原来运行的程序。
通过这种方式,就可以比较好地解决外围慢速设备与CPU高速运行的矛盾,也使系统有更好的实时性。中断管理好处把A/D转换的结束信号ECO与DMA的请求信号DREQ相连,当A/D转换结束后,ECO信号产生向DMA的请求信号DREQ,由DMA控制将A/D转换的数据传输到内存单元。这种方式实际上是计算机的内存RAM与高速外围设备之间的直接数据交换,数据不必再经过CPU,而是在DMA控制器的控制下,在内存与高速外围设备之间进行的高速、大量的数据交换。
这种数据交换方式主要用于一些计算机测控系统中,而计算机监控系统中较少采取这种方式。DMA管理①软件启动,查询管理——这种方式在编程的实现上极为简单,但是程序可移植性差,采样频率对机器速度的依赖性强,在一台计算机上调整好的频率参数,移植到另一台速度不同的计算机上,其决定采样频率的参数需要重新调整。A/D的启动方式和管理方式的不同组合②定时启动,中断管理——这种方式从根本上克服了上一种方式的缺点,实现了采样频率的精确设定,程序对计算机的依赖性大大减少。但这种方式编程复杂,数据采集终端程序如果写的不好,会影响系统的稳定性。。③定时启动,DMA管理——这种方式在传输数据时完全由硬件电路实现,可以实现更高的采样速度,更少的占用系统资源,适用于高速数据采集的场合。2、基于PC的板卡类设备集中数据采集(1)基于PC的数据采集概述基于PC的数据采集是指以PC为主控设备,实现数据采集的过程。数据采集的I/O接口设备可以是集中式的数据采集板卡,也可以是分布式的数据采集模块,这些模块之间可以采用厂家自定义的通信协议,也可以采用现场总线协议。
用户需要在PC中编写数据采集软件,完成数据采集功能。至于PC中的数据采集应用软件,可以用高级语言(如C++等)来编写,也可以用组态软件、LabVIEW等进行二次开发来实现。(2)采用高级语言进行板卡类设备的数据采集数据采集和平台有关,不同平台、不同编程软件,有不同数据采集的实现方式。用户的选择余地较大。以研华的数据采集解决方案为例,可以采用(1)封装成VI(虚拟仪器控件),供LabVIEW使用。(2)DAQNaviC++类库支持C++编程环境。(3)DAQNaviJava类库CSCL支持利用Java语言进行数据采集编程。(4)ActiveX支持VB和Delphi等编程语言。(5)NET组件库支持在.NET环境下的编程,包括VisualC#.NET和VisualBasic.NET。
上层是各类软件开发环境。这些软件开发环境透过解释器对硬件进行操作,完成数据采集。
可以看出,用户可以根据自己的需要选择相应的驱动方式。一般情况下,板卡厂家还提供大量数据采集例程,用户可以直接利用,或者在例程的基础上开发自己的数据采集程序。(3)Matlab环境下板卡设备的数据采集
Matlab软件对硬件的支持越来越强,Matlab软件包中已支持一些厂家的板卡设备,可以在Matlab中直接调用这些设备的数据采集函数进行数据采集。如果Matlab中没有相应的设备,也可以编写相关的Matlab驱动来实现数据采集。
教材中有研华公司的PCI1711U板卡为例,在Matlab中采用m文件或图形化编程完成数据采集的例子。3、基于OPCDA的分布式数据采集通过OPC进行数据采集是常用的数据采集方法,现有的组态软件、LabVIEW、Matlab或高级语言编程环境都支持OPC规范,可以作为数据采集的客户端。
要使用该方法,需要有相关设备的OPC服务器。由于现有的数据采集模块大多采用标准通信协议,因此,除了厂家提供的OPC服务器,主流的OPC服务器软件(如KepwareOPC服务器等)都可以和各类数据采集模块通信。
可以参考教材中的实例。4、基于PC的ModbusTCP网络分布式数据采集
对于大量定制的、运行于PC平台的测控系统,用户多委托第三方或自己采用高级语言进行开发。对于这类运用,首先要解决的就是数据采集问题。目前微软的VisualStudio平台和开源的QT是常用的开发平台,所以需要在这样的开发平台编写数据采集程序。
随着现场测控设备越来越开放,标准的通信协议被广泛使用。即使是一些私有协议,设备厂商也会提供通信库,如三菱电机的MXComponent、西门子的S7.NET等。一些第三方也开发了通信库,支持更多的硬件设备。因此,编写PC与控制器的通信程序变得越来越简单了。
可以参考教材中的基于PC的ModbusTCP网络分布式数据采集实例。1、PLC与智能模块协同数据采集技术一般来说,小型的PLC主机单元没有模拟量通道,如果扩展PLC的模拟量模块,价格会比较贵,而且模块具有的I/O点不多,扩展模块的数量有限制。对于这种既想利用PLC作为主要的测控设备来处理逻辑控制功能,又要控制系统硬件成本的应用来说,可以采取PLC与模拟量数据采集模块结合的方式来开发测控系统。这些模拟量模块通常通道数多,种类较多,通道平均价格比PLC扩展模拟量模块便宜。把PLC与各种总线式数据采集模块混合使用的另外一个优点是对于模拟量数据采集,可以把模块放到现场传感器或执行器附近,构成分布式数据采集系统,从而节约大量的屏蔽电缆,降低系统成本,而且维护起来较方便。四、PLC与数据采集设备串行通信协同数据采集分布式数据采集模块和PLC进行串行通信,进行模拟量数据采集,其典型具体配置如下。(1)PLC主机不带RS-485接口,需要外配RS-485通信模块。例如,三菱FX2NCPU需要配接FX2NC-485ADP通信适配器,不过这种方式的通信程序稍复杂。还可以用FX3U控制器配接FX3U-485-ADP-MB模块,由于这个模块面向Modbus串行通信,因此,PLC程序极为简单。(2)PLC主机带有RS-485接口,可以直接与模块进行通信。目前主流的PLC厂家推出的小型PLC(如西门子S7-1200系列、三菱FX-5U和FX-5UC等)都带有RS-485接口。需要说明的是,由于PLC与数据采集模块是通过串行通信进行数据采集的,因此,数据采集的周期受到通信速率的限制,不可能实现高速数据采集。此外,模块的采样速率通常也比较低。
教材中给出了几个实例,程序都调试过。
PLC与数据采集模块连接示意图PLC与智能仪表连接示意图1、基于以太网的协同数据采集串行通信速率较低,随着以太网在设备层的普及,可以采样以太网构成数据采集网络。
与串行通信不同,ModbusTCP通信中一般不用“主从”说法,而是称作服务器和客户机。通常提供服务的是服务器,发出请求的是客户机。通信网络上的客户机主动发送请求报文给服务器,两者建立连接,服务器响应客户机的请求,并根据其要求发送响应报文,然后客户机接收报文,通信结束后,客户机关闭与服务器的通信。可以把Modbus串行通信的主站看作客户机,而被动的从站是服务器。教材中给出了几个实例,可以参考。五、PLC与数据采集设备基于ModbusTCP协同数据采集1、物联网通信协议MQTT
六、基于物联网MQTT通信的数据采集发布/订阅机制传统采用请求/响应或消费者/生产者模式2、MQTT在工业数据采集中的应用
目前,MQTT在工业数据采集中的应用方式较多,主要包括从传感器、执行器通过MQTT进行数据采集;从控制器通过MQTT进行数据采集;从监控软件通过MQTT进行数据采集。考虑到JSON(JavaScriptObjectNotation)数据可读性强、编写简洁、网络传输效率高的特点,JSON在MQTT协议数据传输时被广泛使用。(1)PLC进行MQTT通信(2)组态软件进行MQTT通信监控与数据采集技术Ch4
SCADA系统应用软件编程与组态
由SCADA系统的组成可以知道,SCADA系统的应用软件开发包括:(1)人机界面软件(中控室上位机和触摸屏)(2)下位机应用软件(3)通信网络组态三部分。
除了驱动定制开发,通信网络组态部分一般较少涉及程序开发,主要是在上位机和下位机进行驱动配置与参数组态,以及对网络设备进行配置等。一、SCADA系统应用软件1、下位机(控制器)应用软件下位机由于种类繁多,应用软件开发平台与控制器捆绑,因此,下位机应用软件开发平台比较多。但随着控制器标准化和编程环境一致性的增强,下位机应用软件开发逐步标准化,软件的可读性、可复用性等也有了很大程度的提升。由于下位机承担现场直接控制功能,对现场设备进行数据采集和控制,如果下位机程序出现异常,可能导致系统停机,甚至发生严重事故,因此,下位机应用软件的可靠性非常重要,这就对下位机应用软件的开发提出了更高的要求。
目前,多数下位机编程支持IEC61131-3国际标准,此外,一些常见(蓓福、贝加莱等)的编程套件还支持高级语言,甚至Matlab等。2、上位机人机界面软件
人机界面是指人和机器在信息交换和功能上接触或互相影响的人机结合界面,英文称作HumanMachineInterface(HMI),有些地方称为ManMachineInterface(MMI)。目前信息技术已经深深地影响了人们的生活与工作,特别是随着各种移动设备的广泛应用,人们几乎时时刻刻都要通过人机界面进行人机操作。例如,在手机App上购物、在银行ATM机上存取款等操作在工业自动化领域,除了控制器、变频器等大量控制设备上集成的人机界面,还有两种类型的人机界面被广泛使用。(1)现场操作员面板/终端/触摸屏
在制造业流水线及机床等单体设备上,大量采用了PLC作为控制设备,但是PLC自身没有显示、键盘输入等人机交互功能,因此,通常需要配置触摸屏或嵌入式工业计算机作为人机界面。它们通过与PLC通信,实现对生产过程的现场监视和控制,方便现场操作人员操作,还可利用触摸屏完成参数设置、参数显示、报警确认、打印等功能(2)中控室上位机人机界面SCADA系统中央监控系统的服务器与现场控制站进行通信,工程师站、操作员站等需要安装、配置对生产过程进行监视、控制、报警、记录等功能的工业控制应用软件,具有这样功能的工业控制应用软件也称为人机界面,这一类人机界面通常用工业控制组态软件(后简称组态软件)开发。和终端相比,上位机人机界面不存在工程下载(Download)的问题,而是直接运行在工作站(通常是商用机器、工控机、工作站或服务器)上。污水处理厂人机界面示例二、SCADA系统下位机编程规范IEC61131-31、传统PLC编程语言的不足梯形图语言规范不一致程序可复用性差缺乏足够的程序封装能力不支持数据结构程序执行具有局限性难以实现选择或并行等复杂顺控操作传统的梯形图编程在算术运算处理、字符串或文字处理等方面均不能提供强有力的支持2、IEC61131-3标准的产生1992年以后,IEC陆续颁布施行可编程序控制器国际标准IEC61131的各个部分。已正式颁布的有:IEC61131-1通用信息,2003年5月出版第二版)IEC61131-2装置要求与测试,2003年2月出版第二版)IEC61131-3编程语言,2003年1月出版第二版)IEC61131-4用户导则(1995)IEC61131-5通信服务规范2000)IEC61131-7模糊控制编程软件工具实施(2000)IEC61131-8IEC61131-3语言的应用和实现导则(2001)
中国的工业过程测量和控制标准化委员会按与IEC国际标准等效的原则,组织翻译出版工作。1995年12月29日颁布了PLC的国家标准GB/T15969.1,15969.2,15969.3,15969.4,涉及IEC61131的第一、第二、第三和第四部分。GB/T15969.5《通信服务规范》在2003年5月颁布出版,GB/T15969.8《IEC61131-3语言的实现导则》,已于2007年8月实施。IEC61131-3是当今世界第一个为工业自动化控制系统的软件设计提供标准化编程语言的国际标准。这显然是注意到由于DCS等以数字技术为基础的控制装置在发展进程中过于专有化,给用户带来的大量不便。这一标准为可编程控制器软件技术的发展,乃至整个工业控制软件技术的发展,起了举足轻重的推动作用。可以说,没有编程语言的标准化,便没有今天PLC走向开放式系统的坚实基础。这个标准将现代软件的概念和现代软件工程的机制与传统的PLC编程语言成功地结合,又对当代种类繁多的工业控制器中的编程概念及语言进行了标准化。3、特点IEC61131-3允许在同一个PLC中使用多种编程语言,允许程序开发人员对每一个特定的任务选择最合适的编程语言,还允许在同一个控制程序中不同的软件模块用不同的编程语言编制,以充分发挥不同编程语言的应用特点。标准中的多语言包容性很好地正视了PLC发展历史中形成的编程语言多样化的现实,为PLC软件技术的进一步发展提供了足够的技术空间和自由度。4、优势采用现代软件模块化原则,主要内容包括:编程语言支持模块化,将常用的程序功能划分为若干单元,并加以封装,构成编程的基础。模块化时,只设置必要的、尽可能少的输入和输出参数,尽量减少交互作用和内部数据交换。模块化接口之间的交互作用均采用显性定义。将信息隐藏于模块内,对使用者来讲只需了解该模块的外部特性(即功能、输入和输出参数),而无需了解模块内算法的具体实现方法。IEC61131-3支持自顶而下(TopDown)和自底而上(BottomUp)的程序开发方法。自顶而下的开发过程是用户首先进行系统总体设计,将控制任务划分为若干个模块,然后定义变量和进行模块设计,编写各个模块的程序;自底而上的开发过程是用户先从底部开始编程,例如先导出函数和功能块,再按照控制要求编制程序。无论选择何种开发方法,IEC61131-3所创建的开发环境均会在整个编程过程中给予强有力的支持。IEC61131-3所规范的编程系统独立于任一个具体的目标系统,它可以最大限度地在不同的PLC目标系统中运行。这样不仅创造了一种具有良好开放性的氛围,奠定了PLC编程开放性的基础,而且可以有效规避标准与具体目标系统关联而引起的利益纠葛,体现标准的公正性。将现代软件概念浓缩,并加以运用。例如:数据使用DATA_TYPE声明机制;功能(函数)使用FUNCTION声明机制;数据和功能的组合使用FUNCTION_BLOCK声明机制。完善的数据类型定义和运算限制。软件工程师很早就认识到许多编程的错误往往发生在程序的不同部分,其数据的表达和处理不同。IEC61131-3从源头上注意防止这类低级的错误,虽然采用的方法可能导致效率降低一点,但换来的价值却是程序的可靠性、可读性和可维护性。对程序执行具有完全的控制能力。传统的PLC只能按扫描方式顺序执行程序,对程序执行的其他要求,如由事件驱动某一段程序的执行、程序的并行处理等均无能为力。IEC61131-3允许程序的不同部分、在不同的条件(包括时间条件)下、以不同的比率并行执行结构化编程。对于循环执行的程序、中断执行的程序、初始化执行的程序等可以分开设计。此外,循环执行的程序还可以根据执行的周期分开设计。1、概述IEC61131-3编程语言标准分为两部分:公用元素、编程语言公用元素部分给出软件模型和编程模型,引入配置、资源、任务和存取路径等基本概念。说明各种编程语言中使用的字符集、标识符、关键字等,定义数据的外部表示、数据类型、变量和程序组织单元等,定义顺序功能表图的基本元素等。编程语言部分定义了两大类编程语言:文本化编程语言和图形化编程语言三、IEC61131-3标准的主要内容图6.1IEC61131-3标准的层次与结构语言元素表6.1语言元素示例语言元素含义示例分界符具有不同含义的专用字符(,),=,+,-,*,$,;,:=,#,空格符关键字标准标识符,作为编程语言中的“字”RETAIN,CONFIGURATION,END_VAR,FUNCTION,PROGRAM直接量用于表示不同数据类型的数值78,4.372E-5,16#a5标识符字母数字字符串,用于用户指定的变量名、标号或POU等MW212,Doutput1,SwitchIn,realyout,P1_V3关键字关键字(keyword)是语言元素特征化的词法单元。关键字是标准标志符。在IEC61131-3标准中,关键字是结构声明和语句的固定符号表示法,其拼写和含义均由IEC61131-3标准明确规定。因此,关键字不能用于用户定义的变量或其他名称。这一点与高级编程语言是一致的。关键字不区分字母的大、小写。例如,关键字“FOR”和“for”是等价的。为了更好地进行区别,关键字通常以大写字母表示。表6.3所示为关键字及其含义。关键字主要包括:基本数据类型的名称、标准功能名、标准功能块名、标准功能的输入参数名、标准功能块的输入和输出参数名、图形编程语言中的EN和ENO变量、指令表语言中的运算符、结构化文本语言中的语言元素、顺序功能图语言中的语言元素。直接量直接量用来表示常数变量的数值,其格式取决于变量的数据类型。直接量有3种基本类型:数字直接量字符串直接量时间直接量标识符标识符(identifier)是字母、数字和下划线字符的组合。其开始必须是字母或下划线字符,并被命名为语言元素(LanguageElement)。标识符对字母的大、小写不敏感,所以标识符ABCD和abcD具有相同的意义。标识符用于表示变量、标号,以及功能、功能块、程序组织单元等名称。2、数据类型与变量(1)数据类型
IEC61131-3对数据类型进行了定义,从而防止对数据类型的不同设置而发生出错。数据类型的标准化是编程语言开放性的重要标准。在IEC61131-3中定义一般数据类型和非一般数据类型两类。非一般数据类型又可分为基本数据类型和衍生数据类型。基本数据类型有21种。数据类型与它在数据存储器中所占用的数据宽度有关。
一般数据类型的数据用前缀“ANY”标识,用于标准函数和标准功能块的输入和输出连接。它采用分级结构。衍生数据类型是由用户定义的数据类型,它建立在基本数据类型的基础上,也称为导出数据类型。这类数据类型所定义的变量是全局变量。它可用与基本数据类型所使用的相同方法对变量进行声明。在IEC61131-3标准中,变量分为单元素变量和多元素变量。(2)变量
与数据的外部表示相反,变量提供能够改变其内容的数据对象的识别方法。例如,可改变与PLC输入、输出或存储器有关的数据。变量可以被声明为基本数据类型、一般数据类型和导出数据类型。变量的类型和属性变量的附加属性3、程序组织单元及其组成图
程序组织单元(1)程序组织单元概述表6.2IEC61131-3标准的3中POU及其含义类型关键字含义ProgramPROGRAM主程序,包括I/O的分配、全局变量和存取路径FunctionBlockFUNCTION_BLOCK带输入和输出变量的块FunctionFUNCTION具有功能值的块,用于扩展PLC的基本预算和操作集图POU元素构成声明部分
定义程序组织单元内所使用的变量,应注意区别程序组织单元接口变量和程序组织单元局部变量。在程序组织单元的代码部分,使用编程语言对逻辑电路或算法进行编程。
在IEC61131-3中,变量用于初始化、处理和存储用户数据。在每个程序组织单元的开始部分必须声明变量,变量赋予的数据类型必须是已知的。
对不同的数据类型,程序组织单元变量的声明部分分为不同的段,每个声明部分对应于一种变量类型,并可以包括一种或多种变量。接口部分
程序组织单元接口以及在程序组织单元中使用的局部数据区是借助于在声明块中将程序组织单元变量赋予变量类型进行定义的。程序组织单元接口分为以下几个部分:调用接口:形式参数(输入和输入/输出参数)返回值:输出参数或功能返回值全局接口:带有全局/外部变量和存取路径调用接口的变量也称为形式参数。调用一个程序组织单元时,形式参数为实际参数代替,形式参数被赋予实际值或常数。代码部分程序组织单元的指令或代码部分紧接声明部分,它包含PLC执行的指令。可以利用IEC61131-3提供的5种编程语言来编写代码,根据程序要完成的不同的功能要求和任务特点,合理利用这些编程语言来编写代码,从而完成适合于不同的控制任务和应用领域的程序编写。几种组织单元的调用功能无“记忆/存储”能力,而功能块要求有“记忆/存储”能力,因此,功能是不能调用功能块的(2)功能
功能是一种可以赋予参数,但没有静态变量的程序组织单元。有些书籍或文献也称功能为函数。当用相同的输入参数调用某一功能时,该功能总能够生成相同的结果作为其功能值。功能有多个输入变量,没有输出变量,但有一个功能值作为该功能的返回值。功能由功能名和一个表达式组成。功能分为标准功能和用户定义功能(衍生功能)。
IEC61131-3标准定义了8类标准功能八种标准功能(1)类型转换功能:数据类型的转换(2)数值类功能:对数值变量进行数学运算(3)算术类功能:计算多个输入变量的算术功能(4)位串类功能:包括串移位运算和位串的按位布尔功能。(5)选择和比较类功能:根据条件来选择输入信号作为输出返回值。(6)字符串类功能:字符串功能用于对输入的字符串进行处理,(7)时间数据类功能(8)枚举数据类型的功能功能的结构功能的文字形式可以表示为:FUNCTION功能名:返回的数据类型功能声明部分功能本体部分END_FUNCTION功能的例子FUNCTIONSIMPLE_FUN:REALVAR_INPUTA,B
:REAL; C
:REAL:=1.0END_VARSIMPLE_FUN:=A*B/C;ENDFUNCTION(4)功能块
功能块是在执行时能够产生一个或多个值的程序组织单元。功能块实例化是编程人员在功能块说明部分用指定功能块名和相应的功能块类型来建立功能块的过程。每个功能块实例有它的功能块名、内部变量、输出变量及可能的输入变量数据结构。该数据结构的输出变量和必要的内部变量的值能够从这次执行保护到下一次执行。功能块实例的外部只有输入和输出变量是可存取的。功能块内部变量对用户来说是隐藏的。功能块图形表示图6.5功能块的图形表示功能块包括:标准功能块衍生功能块用户定义功能块
衍生功能块是利用标准功能块创造的新功能块。IEC61131-3允许用户利用已有的功能块和功能生成新的功能块。任意功能块均可采用便于管理且功能更简单的功能和/或功能块进行编程。
IEC61131-3中定义了5种标准功能块。五种标准功能块(1)双稳元素功能块(2)边缘检测功能块(3)计数器功能块(4)定时器功能块(5)通信功能块功能块段的文字形式可以表示为:FUNCTION_BLOCK功能块名功能块声明功能块体END_FUNCTION_BLOCK功能与功能块区别
功能和功能块的主要区别在于,相同输入参数调用时,功能总是产生相同的结果(功能值),功能没有“记忆”特性。
功能有输入变量,没有输出变量,但有一个功能值作为该功能的返回值;而功能块可以有输入和输出变量。
功能块可以调用功能,而功能不能调用功能块。
(5)程序
程序是程序组织单元之一,它由功能和功能块组成。PROGRAM类型的程序组织单元称为主程序。在一个多CPU的PLC控制系统中,能同时执行多个主程序,这一点体现了程序与功能块的不同。程序代表PLC用户的最高层,能存取PLC的I/O口,并能使它们能为其它程序组织单元所存取。IEC61131-3标准使用变量以存储信息。但是,它们的存储位置不再需要由用户自行定义,而是由编程系统自行进行管理,每个变量具有固定的数据类型。IEC61131-3规定若干数据类型,这些数据类型在位数量和符号的使用方面有所不同。程序以PROGRAM关键字开始,随后是程序名、程序声明和程序体,最后以END_PROGRAM关键字结束。与功能或功能块的声明类似,程序声明包括在整个程序声明中所使用变量的声明。图6.6IEC61131-3标准的软件模型4、软件、通信和功能模型(1)软件模型软件模型描述基本的软件元素及其相互关系。这些元素包括:程序组织单元,即程序和功能块组态元素,即配置、资源、任务、全局变量和存取路径。它是现代PLC的软件基础该模型描述了如何将一个复杂程序分解为若干小的可管理部分,并在各分解部分之间有清晰和规范的接口的方法。IEC61131-3软件模型分为输入输出界面、通信界面和系统界面输入输出界面:每个PLC都要读取来自实际过程的输入信号和输出控制信号通信界面:PLC需要与其它设备、包括PLC、计算机、人机界面等,提供操作显示画面和操作面板等系统界面:是PLC的软件和硬件之间的界面(2)主要内容1)配置(Configuration)
语言元素(结构元素),相当于IEC61131-1标准定义的PLC系统。位于软件模型的最上层,等同于一个PLC软件或应用程序多台PLC构成的一个控制系统中,每一台PLC的应用程序都是一个独立的配置配置将系统内所有资源结合成组,为资源提供数据交换的手段一个配置可有多个资源,配置中定义该配置的全局变量、资源、存取路径等,它反映PLC的硬件物理结构,为程序与物理I/O通道之间提供接口2)资源(Resource)
语言元素,结构元素位于软件模型的第二层,等同于一个CPU为程序和PLC物理输入输出通道提供接口程序只有装入资源才能执行一个资源具有“信号处理功能”、“人机接口功能”和“传感器和执行器接口功能”资源声明在该资源内的全局变量、任务和程序声明等每个资源可以支持多于一个程序。资源使PLC能够加载、启动和执行许多总体独立的程序3)任务(Task)
语言元素,结构元素位于软件模型第三层。规定程序组织单元在运行期的特性任务是执行控制元素,具有调用能力。它控制一系列程序组织单元周期地执行,或者根据一个特定的事件触发来执行任务有任务名和三个输入参数★SINGAL:事件触发输入端,上升沿触发与任务相关联的程序组织单元执行一次★INTERVAL:周期执行时的时间间隔。该任务的有关程序组织单元按该时间间隔周期执行★PRIORITY:对任务设置的优先级,0表示最高优先级
任务(Task)的执行无优先级执行优先级最高的POU先执行同等优先级的根据等待时间最长的POU先执行优先级执行较低优先级程序组织单元的执行被延缓不能中断具有同样优先级或较高优先级的其他单元的执行由任务使能的程序组织单元实施的控制遵循下列原则:SINGAL不为零,表示是事件触发的单任务INTERVAL不为零,SINGAL为零,该任务结合的程序组织单元周期执行多个任务执行时,PRIORITY数值小的任务先被执行相同优先级的多个任务,等待时间长的程序组织单元先被执行没有任务结合的程序具有最低的优先级,在资源开始执行前执行与任务没有直接结合的功能块实例根据求值次序执行与任务结合的功能块实例的执行与求值规则无关数据同步规则
►功能块执行时,来自其他功能块的所有输入采用同样的求值结果
►同一功能块的输出送到两个或多个功能块,全部目的功能块与任务有显式或隐式的结合,则目的功能块输入信号在求值时间内,与源功能块有同样的求值结果4)全局变量(GLOBALVARIABLE)
全局变量能用于整个工程项目,可被该工程内所有软件元素存取。在配置声明段声明的全局变量能够用于该配置在资源声明段声明的全局变量能够用于该资源在一个系统中不能有相同名称的两个全局变量在程序组织单元中需要对所用的全局变量用外部变量声明全局变量用于与其他网络进行数据交换
VAR_GLOBAL
全局变量声明
END_VAR5)存取路径变量(ACCESSVARIABLE)
存取路径变量用于将全局变量、直接表示变量和功能块的输入、输出和内部变量联系起来,实现信息的存取它提供在不同配置之间交换数据和信息的方法,每一配置内的变量可被其它远程配置存取。两种存取方法:读写(READ_WRITE)方式和只读(READ_ONLY)VAR_ACCESS
存取路径变量名:外部存取的变量:存取路径的数据类型和存取方式END_VAR6)软件模型的特点能够灵活地用于宽范围的不同的PLC体系,通用性强。适合小规模系统和大规模分散系统在一台PLC上可以同时装载、启动和执行多个独立程序。标准允许一个配置内有多个资源,每个资源可支持多个程序。传统的PLC程序只能同时运行一个程序增强了分级设计的分解。一个复杂程序可以通过分层分解,最终分解为可管理的程序组织单元。程序可被定义为一个功能块和函数的网络。软件能够被设计成可重复使用的程序组织单元。实现对程序执行的完全控制能力可经通信网络提供交换信息的工具(2)用户程序结构▲传统PLC用户程序结构采用各种功能模块组织块OB功能块FB功能FC数据块DB系统功能块SFB系统功能SFC▲IEC标准规定用户程序结构采用程序组织单元程序组织单元ProgramOrganizationUnit程序Program功能块FunctionBlock功能Function标准功能块用户功能块标准功能用户功能程序块PB采用程序组织单元的优点可对每个应用领域设置用户的功能块库,便于工程的应用。可对功能块进行测试和记录。能够提供全球范围内的库存取功能。可改变编程,用于建立功能块网络。可重复使用,使用的次数无限制。可节省工厂投资成本传统的PLC模型仅包括一个资源,运行一个任务,控制一个程序,且运行于一个封闭系统中。对PLC的使用者来说,除可通过编制程序来控制外,输入采样、输出设置和PLC例行程序均是不可见、不可控的。(3)与传统PLC软件模型比较
而IEC61131-3的软件模型从理论上描述了将一个复杂程序如何分解为若干小的不同的可管理部分,并在各分解部分之间有清晰和规范的接口方法。
为使标准的规定适应宽泛的应用范围,又能被PLC制造厂商乐意接受和支持,IEC61133-3规定了二大类编程语言:文本化编程语言:指令清单语言(IL)(用的很少,新标准很可能取消)结构化文本语言(ST)图形化编程语言:梯形图语言(LD)功能块图语言(FBD)连续功能图(CFC)SFC放在通用部分,不仅作为编程语言,还可以看作一种程序设计方法四、IEC61131-3标准的编程语言
IEC61131-3标准是一个强有力的、灵活的、可移植的、开放性的工业控制编程语言国际标准。目前,欧美等西方国家都致力于IEC61131-3标准的推广与应用,市场上基于这个标准的产品较多,德国KW公司的MULTIPROG(被德国菲尼克斯公司收购)德国Infoteam的OPenPCS德国3S公司的CoDeSys等
这些软件的开发商都不生产控制系统硬件产品,而是专著于IEC61131-3标准的控制系统编程环境开发。这也是这些产品都具有很好的移植功能,适合于多种软、硬件平台的原因之一。三菱电机、欧姆龙、施耐德、研华、和利时、汇川等国内外控制器生产商都和这些厂家有所合作,并推出面向自家产品的编程平台。
除了这些商业软件,市场上还出现了符合IEC61131-3标准的开源软件,如Beremiz。MULTIPROG罗克韦尔Studio5000LogixDesigner罗克韦尔Studio5000LogixDesigner图6.7不同编程语言实现相同的功能示例(1)梯形图语言梯形图语言是从继电器-接触器控制基础上发展起来的一种编程语言,其特点是易学易用,历史悠久。特别是对于具有电气控制背景的人而言,梯形图可以看作是继电逻辑图的软件延伸和发展。尽管两者的结构非常类似,但梯形图软件的执行过程与继电器硬件逻辑的连接是完全不同的。
(2)功能块图
功能块图编程语言是将各种功能块连接起来实现所需控制功能。功能块图编程语言源于信号处理领域。功能块图编程语言是IEC61499标准的基础。功能块图语言在过程控制中的应用更加广泛。它用一系列相互连接的图形块表达功能、功能块和程序的行为,就如同在电子电路图常见的一样。也可以将它想像为用许多处理元件之间的信号流量图来描述一个系统的行为。功能块图编程语言的图形符号有功能、功能块和连接元素组成。
功能块图的应用实例功能块图的内部网络结构当实际液位测量值小于等于所设定的最小液位时,输出一个ON信号;当测量值大于等于最高液位时,输出一个OFF信号。当然,由于液体不可能同时低于最低位和高于最高位,程序中用“RS”或“SR”功能块都可以。(3)结构化文本语言(ST)结构化文本语言(ST)是高层编程语言,类似于PASCAL编程语言。它不采用底层的面向机器的操作符,而是采用高度压缩的方式提供大量抽象语句来描述复杂控制系统的功能。一般而言,它可以用来描述功能、功能块和程序的行为,也可以在SFC中描述步、动作块和转移的行为。
相比较而言,它特别适合于定义复杂的功能块。这是因为它具有很强的编程能力,可方便地对变量赋值,调用功能和功能块,创建表达式,编写条件语句和迭代程序等。
结构化文本语言编写的程序格式自由,可在关键词与标识符之间的任何地方插入制表符、换行符和注释。它还具有易学易用、易读易理解的特点。在拥有了更多高级编程语言的特点时,它也失去了一些面向机器的操作符的特点,特别是结构化文本语言编写的程序执行效率较低,因为源程序要编译为机器语言才能执行。熟悉高级编程语言工程师会喜欢用结构化文本编程语言,用该语言编程的程序与梯形图程序相比十分的简捷。
随着更多接受信息化教育(非传统的电气工程师)年青编程人员逐步成为工控机的生力军,ST编程语言已成为超过梯形图语言,使用最多的编程语言。三菱电机GXWorks3编程环境上述功能也可以用这句ST语言实现:Dev_Run:=Start_ButtonORDev_RunANDNOTStop_Button;施耐德SoMahineV4.3编程环境(4)连续功能图语言CFC连续功能图(CFC)语言是一种基于功能块图的图形化编程语言(IEC61131-3标准的扩展),是控制系统的基本构件,可以是任意IEC语言。包括由连续功能图本身编写的逻辑或策略包装而成的元素。连续功能图语言是西门子SIMATICPCS7集散控制系统的主要组态语言。连续功能图程序包含输入、输出、跳转、返回、标号、注释等图形元素,它通过调用功能、功能块来实现程序控制。调用的功能和功能块都要根据特定的算法和输入/输出控制参数对输入信号进行处理。元素之间用连线建立连接,其中,除了注释元素,还可以自动或手动设置元件顺序号,以表明运行顺序和数据传递。与功能块图相比,连续功能图没有网络的限制,可任意放置编程元素,允许插入反馈回路。每个功能块的输入位于左侧,输出位于右侧。可以将功能块输出链接到其他功能块的输入,以创建复合表达式。在标准的文本中没有把顺序功能图(SFC)单独列入编程语言,而是将它在公用元素中予以规范。这就是说,在文本化语言中,或者在图形化语言中,都可运用SFC的概念、句法和语法。但习惯上也把它叫做另一种编程语言。应用程序的设计人员可根据应用要求从这些语言中选择使用。这四种语言再加上一套顺序功能的文本和图形的通用元素(即SFC),支持现今已被广泛理解和运用的软件设计方法。(5)顺序功能图SFC图6.8SFC示意采用SFC编程的关键是将控制任务分解为一系列符合IEC标准的步、确定步转换的条件以及在每个步要执行的动作。这些步可以包括单一序列、选择序列、并行序列或它们的组合。在采用SFC编程时,步既包含实现控制功能所要经历的状态(过程)及在这些步所要执行的控制动作,也可以包括控制系统出现故障、异常或程序本身出错时所对应的状态,在这些步中,可以进行异常处理,处理完成后,状态可以转移到初始步或某个指定的步。以往一般只有中、高档的PLC才支持SFC编程,而且,SFC程序占用资源较多,程序的执行效率也较低。
目前一些小型PLC也开设支持SFC编程语言。
顺控编程首推该方法进行程序设计和编码。用西门子S7-GRAPH编辑的SFC程序施耐德SoMahineV4.3编程环境SFC编程监控与数据采集技术Ch4
SCADA系统应用软件编程与组态一、组态软件概述1、传统工况软件存在的问题一旦工业被控对象有变动,就必须修改其控制系统的源程序,导致开发周期延长;已开发成功的工控软件又因控制项目的不同而重复使用率很低,导致其价格非常昂贵;维护工作量大;可靠性差;不能满足工业界不断提升的要求。2、什么是组态软件Configurationsoftware,即组态软件,其含义是使用软件工具对计算机及软件的各种资源进行配置(包括进行对象的定义、制作和编辑,并设定其状态特征属性参数),达到使计算机或软件按照预先设置,自动执行特定任务,满足使用者要求的目的。用组态王软件开发的上位机人机界面用MOVICON(被艾默生收购)软件开发的上位机人机界面30年前Intouch的DEMO,30年后还是这样,虽然产品已被收购了2次西门子WinCC组态软件的开发环境3、使用组态软件的好处
工控组态软件在实现工业控制软件开发中免去了大量烦琐的编程工作,解决了长期以来控制工程人员缺乏计算机专业知识与计算机专业人员缺乏控制工程现场操作技术和经验的矛盾,极大地提高了自动化工程的工作效率。现已成为开发SCADA系统上位机人机界面的最主要的软件。4、组态软件功能数据采集流程显示趋势(实时、历史)报警控制安全控制报表分布式架构其他功能,如SPC等5、组态软件的发展上世纪80年代的组态软件,像Onspec、Paragon500、早期的FIX等都运行在DOS环境下,图形界面的功能不是很强,软件中包含着大量的控制算法,这是因为DOS具有很好的实时性。上世纪90年代,随着微软的Windows3.0风靡全球,以Wonderware公司的Intouch为代表的人机界面软件开创了Windows下运行工控软件的先河。上实际80年代靠DOS版组态软件起家,后来向OS/2移植的公司基本上都没落了。组态软件的出现,解决了控制系统人机界面开发中软件可重用的问题,满足当今快速开发工程的要求,提高了应用软件的可靠性、可维护性,易于软件升级,降低了用户开发成本。因此出现了快速发展,产品众多。由于有巨大的市场需求,许多大公司都开发了相应的组态软件,以和自身的硬件更好结合。纯做软件的基本都被收购至少一次。Siemens,1996年推出WinCCGE,Simplicity,又收购Intellution的iFixRockwellAutomation,Rsview(老),FactoryTalkView(新)InductiveAutomation公司的Ignition(在特斯拉工厂应用后,很火)现今主要产品国外(高端市场)Intouch,iFix,Citec(被收购),WinCC,Simplicity国内(低端市场)组态王,MCGS(主要嵌入式),力控,紫金桥二、组态软件的特性1、组态软件的特性
组态软件产品非常多,但它们有许多基本的特性,表现在:系统功能用户界面整体结构相似性实时多任务接口开放系统安全(1)组成与整体结构相似性图5.1组态软件结构(2)实时多任务
在实际工业控制中,同一台计算机往往需要同时进行实时数据的采集、处理、存储、检索、管理、输出,算法的调用,实现图形、图表的显示,报警输出,实时通信等多个任务。(3)接口开放
实际应用中,用户可以很方便地用VB或VC十十等编程工具自行编制或定制所需的设备构件,装入设备工具箱,不断充实设备工具箱。很多工控组态软件提供了一个高级开发向导,自动生成设备驱动程序的框架,给用户开发I/O设备驱动程序工作提供帮助。用户还可以使用自行编写动态链接库(DLL)的方法在策略编辑器中挂接自己的应用程序模块。(4)安全性
工控组态软件提供了一套完善的安全机制。用户能够自由组态控制菜单、按钮和退出系统的操作权限,只允许有操作权限的操作员对某些功能进行操作,防止意外地或非法地关闭系统、进入开发系统修改多数或者对未授权数据进行更改等操作。一些工控组态软件还提供了工程密码、锁定软件狗、工程运行期限等功能,来保护使用组态软件开发所得的成果,开发者还可利用这些功能保护自己的合法权益。三、组态软件的组成1、组态软件功能要求
组态软件的使用者是自动化工程设计人员。组态软件包的主要目的是使使用者在生成适合自己需要的应用系统时不需要修改软件程序的源代码,因此组态软件要含有常用的工控软件功能开发部件,满足自动化工程人员进行系统开发的基本要求。
例如:自动化工程设计技术人员在组态软件中只需填入一些事先设计的表格,利用图形功能把被控对象,如反应罐温度计、锅炉趋势曲线、报表等形象地画出来,通过内部数据连接把被控对象的属性与I/O设备的实时数据进行逻辑连接。当由组态软件生成的应用系统投入运行后,与被控对象连接起来。(1)与采集控制设备间进行数据交换;(2)使来自设备的数据与计算机图形画面上的各元素关联起来;(3)处理数据报警及系统报警;(4)存储历史数据并支持历史数据的查询;(5)各类报表的生成和打印输出;
作为满促控制系统开发共同目的要求的软件,一定要体现如下特性:具有实时多任务、接口开放、使用灵活、功能多样、运行可靠等特点。
作为工控软件,其各个组成部分共同作用,能实现下列功能:(6)为使用者提供灵活、多变的组态工具,可以适应不同应用领域的需求;(7)最终生成的应用系统运行稳定可靠;(8)具有与第三方程序的接口,方便数据共享。(9)简单的回路调节;批次处理;SPC过程质量控制(10)符合IEC61131-3标准。2、组态软件的组成
组态软件都是以工程的形式来方便开发人员进行自动化工程的开发。为了实现这些功能,在其组成上包括以下部分:(1)人机界面(2)实时数据库(3)设备组态与管理(4)网络应用与通信系统(5)控制系统(6)系统安全与用户管理(7)脚本语言(8)运行策略(9)其它组件(1)人机界面人机界面系统实际上就是所谓的工况模拟动画。人机界面组态中,要利用组态软件提供的工具,制作出友好的图形界面给控制系统用,其中包括被控过程流程图、曲线图、棒状图、饼状图、趋势图,以及各种按钮、控件等元素。人机界面组态中,除了开发出满足系统要求的人机界面外,还要注意运行系统中画面的显示、操作和管理。在组态软件中进行工程组态的第一步即是制作工况模拟动画,动画制作分为静态图形设计和动态属性设置两个过程。静态设计
静态图形设计类似于“画画”,用户利用组态软件中提供的基本图形元素(线、填充形状、文本)及设备图库,在组态环境中“组合”成工程的模拟静态画面。静态图形设计在系统运行后保持不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年度保险合同的详细描述
- 二零二四年健身俱乐部会员合同3篇
- 二零二四年度加盟合同标的及服务内容详细描述2篇
- 二零二四年度维修合同:煤炭设备维修保养协议(2024版)
- 二零二四年度知识产权侵权责任保险合同
- 北京工业大学耿丹学院《论文写作指导》2022-2023学年第一学期期末试卷
- 2024版二手房独家买卖委托协议3篇
- 2024版校园文化墙设计与施工合同
- 2024版计算机软件开发与授权合同3篇
- 二零二四年度债权转让合同转让价格和条件2篇
- 淮南煤矿复垦区土壤重金属空间分布特征及污染评价
- 药品质量检查原始记录
- 《通过练习学习有机反应机理》福山透三氢剑魔汉化
- 多举措落实“双减”有效促进“五育融合”
- 2022年396经济类联考综合真题及详解【精编版】
- 五年级语文上册部编版习作例文《鲸》《风向袋的制作》(课件+教案+学案+练习)
- 一年级拼音口试试卷一
- DB43-T 2237-2021油茶嫁接苗与实生苗形态鉴别及检测
- 球罐喷淋管安装施工方案
- GB/T 6792-2009客车骨架应力和形变测量方法
- GRS-化学品管理手册
评论
0/150
提交评论