工业过程控制系统及工程应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.3 控制系统软件配置及编程语言

2.3.1 控制系统软件层次

控制系统软件的基本构成也是按照硬件的划分形成的,这是由于软件是依附于硬件的。控制系统的发展也是如此。当控制系统的数字处理技术与单元式组合仪表的分散化控制、集中化监视的体系结构相结合产生分布式控制系统时,软件就跟随硬件被分成控制层软件、监控软件和组态软件,同时,还有运行十多个站的网络软件,作为各个站上功能软件之间的桥梁。

在软件功能方面,控制层软件是运行在现场控制站上的软件,主要完成各种控制功能,包括回路控制、逻辑控制、顺序控制,以及这些控制所必须针对现场设备连接的I/O处理;监控软件是运行于操作员站或工程师站的软件,主要完成运行操作人员所发出的各个命令的执行、图形与画面显示、报警信息的显示处理、对现场各类检测数据的集中处理等。

组态软件则主要完成系统的控制层软件和监控软件的组态功能,安装在程师站中。控制系统的软件主要包括控制层软件、监控软件和组态软件。

2.3.1.1 控制层软件

现场控制站中的控制层软件的最主要功能是直接针对现场I/O设备,完成控制系统的控制功能。这里面包括了PID回路控制、逻辑控制、顺序控制和混合控制等多种类型的控制。为了实现这些基本功能,在现场控制站中还应该包含以下主要的软件:

(1)现场I/O驱动。主要是完成I/O模块(模板)的驱动,完成过程量的输入/输出。采集现场数据,输出控制计算后的数据。

(2)数据预处理。对输入的数据进行预处理,如滤波处理、除去不良数据、工程量的转换、统一计量单位等,总之,是要尽量真实地用数字值还原现场值并为下一步的计算做好准备。

(3)数据存储。实时采集现场数据并存储在现场控制站内的本地数据库中,这些数据可作为原始数据参与控制计算,也可通过计算或处理成为中间变量,并在以后参与控制计算。所有本地数据库的数据(包括原始数据和中间变量)均可成为人机界面、报警、报表、历史、趋势及综合分析等监控功能的输入数据。

(4)输出控制量。按照组态好的控制程序进行控制计算,根据控制算法和检测数据、相关参数进行计算,得到实施控制的量。

为了实现现场控制站的功能,在现场控制站建立有与本站的物理I/O和控制相关的本地数据库,这个数据库中只保存与本站相关的物理I/O点及与这些物理I/O点相关的,经过计算得到的中间变量。本地数据库可以满足本现场控制站的控制计算和物理I/O对数据的需求,有时除了本地数据外还需要其他现场控制站上的数据,这时可从网络上将其他节点的数据传送过来,这种操作被称为数据的引用。

2.3.1.2 监控软件

监控软件的主要功能是人机界面,其中包括图形画面的显示、对操作命令的解释与执行、对现场数据和状态的监视及异常报警、历史数据的存档和报表处理等。为了上述功能的实现,操作员站软件主要由以下几个部分组成。

(1)图形处理软件,通常显示工艺流程和动态工艺参数,由组态软件组态生成并且按周期进行数据更新。

(2)操作命令处理软件,其中包括对键盘操作、鼠标操作、画面热点操作的各种命令方式的解释与处理。

(3)历史数据和实时数据的趋势曲线显示软件。

(4)报警信息的显示,事件信息的显示、记录与处理软件。

(5)历史数据记录与存储,转储及存档软件。

(6)报表软件。

(7)系统运行日志的形成、显示、打印和存储记录软件。

(8)工程师站在线运行时,对控制系统本身运行状态的诊断和监视,发现异常时及时报警,同时通过工程师站上的显示屏幕给出详细的异常信息,如出现异常的位置、时间、性质。

为了支持上述操作员站软件的功能实现,在操作员站上需要建立一个全局的实时数据库,这个数据库集中了各个现场控制站所包含的实时数据及由这些原始数据经运算处理所得到的中间变量。这个全局的实时数据库被存储在每个操作员站的内存中,而且每个操作员站的实时数据库是完全相同的复制。因此,每个操作员站可以完成各个相同的功能,形成一种可互相替代的冗系结构。当然各个操作员站也可根据运行需要,通过软件人为地定义其完成不同的功能,而形成一种分工的形态。

2.3.1.3 组态软件

组态软件安装在工程师站中,这是一组软件工具,是为了将通用的、有普遍适应能力的控制系统,变成一个针对某一个具体应用控制工程的专门控制系统。为此,系统针对这个具体应用进行一系列定义,如硬件配置、数据库的定义、控制算法程序的组态、监控软件组态,报警报表的组态等。在工程师站上,要做的组态定义主要包括以下方面。

(1)硬件配置。这是使用组态软件首先应该做的,根据控制要求配置各类站的数量、每个站的网络参数、各个现场I/O站的I/O配置(如各种I/O模块的数量、是否冗余、与主控单元的连接方式等)以及各个站的功能定义。

(2)定义数据库。包括历史数据和实时数据,实时数据库指现场物理I/O点数据和控制计算时,中间点变量的数据。历史数据库是按一定的存储周期存储的实时数据,通常将数据存储在计算机的硬盘上以备查用。

(3)历史数据和实时数据。历史数据和实时数据的趋势显示、列表和打印输出等定义。

(4)控制层软件组态。也括确定控制目标、控制方法、控制算法、控制周期以及与控制相关的控制变量、控制参数等。

(5)控制软件的组态。包括各种图形界面(也括背景画面和实时刷新的动态数据)、操作功能定义(操作员可以进行哪些操作、如何进行操作)等。

(6)报警定义。包括报警产生的条件定义、报警方式的定义、报警处理的定义(如对报警信息的保存、报警的确认、报警的消除除操作)及报警列表的种类与尺寸定义等。

(7)系统运行日志的定义。包刮各种现场事件的认定、记录方式及各种操作的记录等。

(8)报表定义。包括报表的种类、数量、报表格式、报表的数据来源及在报表中各个数据项的运算处理等。

(9)事件顺序记录和事故追忆等特殊报告定义。

2.3.2 控制层软件

集散控制系统的控制层软件特指运行于现场控制站的控制器中的软件,针对控制对象,完成控制功能。用户通过组态软件按工艺要求编制的控制算法,下装到控制器中,和系统自带的控制层软件一起,完成对系统设备的控制。

2.3.2.1 控制层软件的功能

DCS控制层软件,其基本功能可以概括为I/O数据的采集、数据预处理、数据组织管理、控制运算及I/O数据的输出,其中数据组织管理和控制运算由用户组态,有了这些功能,DCS的现场控制站就可以独立工作,完成本控制站的控制功能,如图2.2所示。除此之外,一般DCS控制层软件还要完成一些辅助功能,如控制器及重要I/O模块的冗余功能、网络通信功能及自诊断功能等。

图2.2 计算机控制的基本过程

I/O数据的采集与输出由控制计算机的I/O模块(板)来实现,对多个I/O接口,控制器接受工程师站下装的硬件配置信息,完成各I/O通道的信号采集与输出。I/O通道信号采集进来后还要有一个数据预处理过程,这通常也是在I/O模块上来实现,I/O模块上的微处理器(CPU)将这些电信号进行质量判断并调理、转换为有效信号后送到控制器作为控制运算程序使用的数据。

控制计算机的控制功能由现场控制站中的控制器实现,是控制器的核心功能。在控制器中一般保存有各种基本控制算法,如PID、微分、积分、超前滞后、加、减、乘、除、三角函数、逻辑运算、伺服放大、模糊控制及先进控制等控制算法程序,这些控制算法有的在IEC 61131-3标准中已有定义。通常,控制系统设计人员是通过控制算法组态工具,将存储在控制器中的各种基本控制算法,按照生产工艺要求的控制方案顺序连接起来,并填进相应的参数后下装给控制器,这种连接起来的控制方案称之为用户控制程序,在IEC 61131-3标准中统称为程序组织单元(Program Organization Units,POUs)。控制运行时,运行软件从I/O数据区获得与外部信号对应的工程数据,如流量、压力、温度及位置等模拟量输入信号,接触器的关/开、设备的启/停等开关量输入信号等,并根据组态好的用户控制算法程序,执行控制运算,并将运算的结果输出到I/O数据区,由I/O驱动程序转换输出给物理通道,从而达到自动控制的目的。输出信号一般也包含如阀位信号、电流、电压等模拟量输出信号和启动设备的开/关、启/停的开关量输出信号等。控制层软件每个程序组织单元作如下处理。

(1)从I/O数据区获得输入数据。

(2)执行控制运算。

(3)将运算结果输出到I/O数据区。

(4)由I/O驱动程序执行外部输出,即将输出变量的值转换成外部信号(如4~20mA模拟信号)输出到外部控制仪表,执行控制操作。

上述过程是一个理想的控制过程,事实上,如果只考虑变量的正常情况,该功能还缺乏完整性,该控制系统还不够安全。一个较为完整的控制方案执行过程,还应考虑到各种无效变量情况。例如,模拟输入变量超量程情况、开关输入变量抖动情况、输入变量的接口设备或通信设备故障情况,等等。这些将导致输入变量成为无效变量或不确定数据。此时,针对不同的控制对象应能设定不同的控制运算和输出策略,例如可定义:变量无效则结果无效,保持前一次输出值或控制倒向安全位置,或使用无效前的最后一次有效值参加计算,等等。所以现场控制站I/O数据区的数据都应该是预处理以后的数据。

2.3.2.2 信号采集与数据预处理

控制计算机要完成其控制功能,首先要对现场的信号进行采集和处理。控制计算机的信号采集指其I/O系统的信号输入部分。它的功能是将现场的各种模拟物理量如温度、压力、流量、液位等信号进行数字化处理,形成现场数据的数字表示方式,并对其进行数据预处理,最后将规范的、有效的、正确的数据提供给控制器进行控制计算。现场信号的采集与预处理功能是由控制计算机的I/O硬件及相应软件实现的,用户在组态控制程序时一般不用考虑,由控制计算机系统自身完成。I/O硬件的形式可以是模块或板卡,电路原理DCS和PLC基本相同。软件则根据I/O硬件的功能而稍有不同。对于早期的非智能I/O(多为板卡形式)。处理软件由控制器实现,而对于现存大多数智能I/O来说,数据采集与预处理软件由I/O板卡(模块)自身的CPU完成。控制系统中I/O部分的设备框图,如图2.3所示。

图2.3 控制系统I/O框图

控制计算机的信号采集系统对现场信号的采集是按定时间间隔也就是采样周期进行的,而生产过程中的各种参数除开关量(如联锁、继电器和按钮等只有开和关两种状态)和脉冲量(如涡轮流量计的脉冲输出)外,大部分是模拟量如温度、压力、液位和流量等。由于计算机所能处理的只有数字信号,所以必须确定单位数字量所对应的模拟量大小,即所谓模拟信号的数字化(A/D转换),信号的采样周期实质上是对连续的模拟量A/D转换时间间隔问题。此外,为了提高信号的信噪比和可靠性,并为控制计算机的控制运算作准备,还必须对输入信号进行数字滤波和数据预处理。所以,信号采集除了要考虑A/D转换,采样周期外,还要对数据进行处理才能进入控制器进行运算。

(1)A/D转换。在实际应用中,一个来自传感器的模拟量物理信号,如电阻信号、非标准的电压及电流信号等,一般先要经过变送器,转换为4~20mA、0~20mA、1~5V、0~10V等标准信号,才能接入到控制计算机的I/O模块(板)的模拟量输入(AI)通道上。在AI模块(板)上一般都有硬件滤波电路。电信号经过硬件滤波后接到A/D转换器上进行模拟量到数字量的转换。A/D转换后的信号是二进制数字量,数字量的精度与A/D的转换位数相关,如12位的A/D转换完的数值范围即为0~4095,16位的A/D转换完的数值范围即为0~65535。之后再由软件对A/D转换后的数据进行滤波和预处理,再经工程量程转换计算,转换为信号的工程量值。转换后的工程值,可以是定点格式数据,也可以是浮点格式数据。目前,一般的CPU中基本都带有浮点协处理器,且CPU的运算速度已大大提高,为了保证更高的计算精度,采用浮点格式表示数据的更为普遍。

(2)采样周期。对连续的模拟信号,A/D转换按一定的时间间隔进行,采样周期是指两次采样之间的时间间隔。从信号的复现性考虑,采样周期不宜过长,或者说采样频率均不能过低。根据香农采样定理,采样频率ω必须大于或等于原信号(被测信号)所含的最高频率ωmax的两倍,数字量才能较好地包含模拟量的信息,即

ω≥2ωmax  (2.1)

从控制角度考虑,系统采样周期T越短越好,但是这要受到整个I/O采集系统各个部分的速度、容量和调度周期的限制,需要综合I/O模件上A/D、D/A转换器的转换速度,I/O模块自身的扫描速度,I/O模块与控制器之间通信总线的速率及控制器I/O驱动任务的调度周期,才能计算出准确的最小采样周期。在控制系统中,I/O信号的采样周期是一个受到软硬件性能限制的指标。随着半导体技术的进步,CPU、A/D、D/A等器件速度及软件效率的提高,I/O采样周期对系统负荷的影响已减小很多,软硬件本身在绝大多数情况下,已不再是信号采样的瓶颈,一般来说,对采样周期的确定只需考虑现场信号的实际需要即可。对现场信号的采样周期需考虑以下几点。

①信号变化的频率。频率越高,采样周期应越短。

②对大的纯滞后对象特性,可选择采样周期大致与纯滞后时间相等。

③考虑控制质量要求。一般来说,质量要求越高,采样周期应选得越小一些。

除上述情况外,采样周期的选择还会对控制算法中的一些参数产生影响,如PID控制算式中的积分时间及微分时间。

2.3.2.3 分辨率

由于计算机只能接受二进制的数字量输入信号,模拟量在送往计算机之前必须经过A/D转换器转换成二进制的数字信号。这就涉及A/D转换器的转换精度和速度问题。

显然A/D转换器的转换速度不能低于采样频率,采样频率越高,则要求A/D转换器的转换速度越快。现在A/D转换芯片的转换速度都是微秒级的速度,所以这点现在不用过多考虑。

A/D转换器的转换精度则与A/D的位数有关。位数越高,则转换的精度也越高。A/D转换器的转换精度可用分辨率K来表示。

   (2.2)   

式中,N为A/D转换器的位数。

2.3.2.4 采集数据的预处理

为了抑制进入控制计算机系统的信号中可能侵入的各种频率的干扰,通常在AI模块的入口处设置硬件模拟RC滤波器。这种滤波器能有效地抑制高频干扰,但对低频干扰滤波效果不佳。而数字滤波对此类干扰(包括周期性和脉冲性干扰)却是一种有效的方法。

所谓数字滤波,就是用数学方法通过数学运算对输入信号(包括数据)进行处理的一种滤波方法。即通过一定的计算方法,减少噪声干扰在有用信号中的比重,使得送往计算机的信号尽可能是所要求的信号。由于这种方法是靠程序编制来实现的,因此,数字滤波的实质是软件滤波。这种数字滤波的方法不需要增加任何硬件设备,由程序工作量比较小的I/O模块中的CPU来完成。

数字滤波可以对各种信号,甚至频率很低的信号进行滤波。这就弥补了RC模拟式滤波器的不足。而且,由于数字滤波稳定性高,各回路之间不存在阻抗匹配的问题,易于多路复用,因此,发展很快,用途极广,很多工业控制领域都在使用。数字滤波方法很多,各有优缺点,往往根据实际情况要选择不同的方法。下面介绍几种经典的软件滤波方法。

(1)限幅滤波法(又称程序判断滤波法)。是根据经验判断,确定两次采样允许的最大偏差值(设为A)。每次检测到新值时判断:如果本次值与上次值之差<A,则本次值有效。如果本次值与上次值之差≥A,则本次值无效,放弃本次值,用上次值代替本次值。

当|yn)-yn-1)|≤A时,则yn)为有效值;

当|yn)-yn-1)|>A时,则yn-1)为有效值。

这种方法的优点是能有效克服因偶然因素引起的脉冲干扰,缺点是无法抑制那种周期性的干扰,平滑度差。

(2)中位值滤波法。计算机连续采样N次(N取奇数),把N次采样值按大小排列,取中间值为本次有效值。这种方法的优点是能有效克服因偶然因素引起的波动干扰。对温度、液位的变化缓慢的被测参数有良好的滤波效果。但是对流量、速度等快速变化的参数不宜采用。

(3)算术平均滤波法。算术平均滤波法是计算机连续取N个采样值进行算术平均运算,当N值较大时,信号平滑度较高,但灵敏度较低,N值较小时,信号平滑度较低,但灵敏度较高。N值的选取一般按照流量:N=12;压力:N=4;液位:N=4~12;温度:N=1~4。

此法的优点是适用于对一般具有随机干扰的信号进行滤波。这样信号的特点是有一个平均值,信号在某数值范围附近上下波动。缺点是对于测量速度较慢或要求数据计算速度较快的实时控制不适用。

(4)递推平均滤波法(又称滑动平均滤波法)。把连续取N个采样值看成一个队列。队列的长度固定为N。每次采样到新数据放入队尾,并扔掉原来队首的一次数据(先进先出原则)。把队列中的N个数据进行算术平均运算,就可获得新的滤波结果。

   (2.3)   

式中,为第N次采样的N项递推平均值;yn-i)为依次向前递推i项的采样值。

优点:对周期性干扰有良好的抑制作用,平滑度高。适用于高频振荡的系统。

缺点:灵敏度低。对偶然出现的脉冲性干扰的抑制作用较差。不易消除由于脉冲干扰所引起的采样值偏差。不适用于脉冲干扰比较严重的场合。

(5)中位值平均滤波法(又称防脉冲干扰平均滤波法)。相当于“中位值滤波法”+“算术平均滤波法”。连续采样N个数据,去掉一个最大值和一个最小值。然后计算N-2个数据的算术平均值。N值的选取:3~14。

优点:融合了两种滤波法的优点。对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差。

缺点:测量速度较慢。

(6)限幅平均滤波法。相当于“限幅滤波法”+“递推平均滤波法”,每次采样到的新数据先进行限幅处理,再送入队列进行递推平均滤波处理。

优点:融合了两种滤波法的优点。对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差。

缺点:占用存储器RAM资源比较多。

(7)一阶滞后滤波法(一阶惯性滤波)。模拟电路常用的RC滤波电路传递函数为

   (2.4)   

式中,Ts为滤波时间常数。离散化处理后得

yn)=ayn-1)+(1-axn)  (2.5)

式中,a=T/(T+Ts),取a=0~1,式(2.5)可以描述为:

本次滤波结果=a×上次滤波结果+(1-ax本次采样值

(8)加权递推平均滤波法。是对递推平均滤波法的改进,即不同时刻的数据乘以不同的权重(系数aj)。通常是越接近现时刻的数据,权重取得越大。给予新采样值的权重系数越大,则灵敏度越高,但信号平滑度越低。其表达式为:

   (2.6)   

   (2.7)   

优点:适用于有较大纯滞后时间常数的对象。和采样周期较短的系统。

缺点:对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号。不能迅速反应系统当前所受干扰的严重程度,滤波效果差。

(9)消抖滤波法。设置一个滤波计数器,将每次采样值与当前有效值比较,如果采样值=当前有效值,则计数器清零。如果采样值≠当前有效值,则计数器+1,并判断计数器是否≥上限N(溢出)。如果计数器溢出,则将本次值替换当前有效值,并清计数器。

优点:对于变化缓慢的被测参数有较好的滤波效果,可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动。

缺点:对于快速变化的参数不宜采用。如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导入系统。

(10)限幅消抖滤波法。相当于“限幅滤波法”+“消抖滤波法”。先限幅,后消抖。

优点:继承了“限幅”和“消抖”的优点,改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统。

缺点:对于快速变化的参数不宜采用。

2.3.3 控制计算机编程语言

控制计算机对现场信号进行采集并对采集的信号进行了预处理后,即可将这些数据参与到控制运算中,控制运算的运算程序根据具体的应用各不相同。在控制系统中先要在工程师站软件上通过组态完成具体应用需要的控制方案,编译生成控制器需要执行的运算程序,下装给控制器运行软件,通过控制器运行软件的调度,实现运算程序的执行。本质上,控制方案的组态过程就是一个控制运算程序的编程过程。以往,控制计算机厂商为了给控制工程师提供一种比普通软件编程语言更为简便的编程方法,发明了各种不同风格的组态编程工具,而当前,这些各式各样组态编程方法,经国际电工委员会(International Electrotechnical Commission,IEC)标准化,统一到了IEC 61131-3控制编程语言标准中。风格相同的编程方法为用户、系统厂商及软件开发商都带来了极大的好处。

IEC 61131-3国际标准的编程语言包括图形化编程语言和文本化编程语言。图形化编程语言包括:梯形图(Ladder Diagram,LD)、功能块图(Function Block Diagram,FBD)、顺序功能流程图(Sequential Function chart,SFC)。文本化编程语音包括:指令表(Instruction List,IL)和结构化文本(Structured Text,ST)。IEC 61131-3的编程语言是IEC工作组对世界范围的控制计算机厂家的编程语言合理地吸收、借鉴的基础上形成的一套针对工业控制系统的国际编程语言标准。简单易学是它的特点,很容易为广大控制工程人员掌握,这里简单介绍一下这五种编程语言。

2.3.3.1 结构化文本语言

结构化文本(ST)是一种高级的文本语言,表面上与PASCAL语言很相似,但它是一个专门为工业控制应用开发的编程语言,具有很强的编程能力。用于对变量赋值、回调功能和功能块、创建表达式、编写条件语句和迭代程序等。结构化文本(ST)语言易读易理解,特别是用有实际意义的标识符、批注来注释时,更是这样。

(1)操作符。结构化文本(ST)定义了一系列操作符用于实现算术和逻辑运算,如逻辑运算符:AND、XOR、OR;算术运算符:<、>、≤、≥、=、≠、+、-、*、/等。

(2)赋值语句。结构化文本(ST)程序既支持很简单的赋值语句,如X:=Y,也支持很复杂的数组或结构赋值。

(3)在程序中调用功能块。在结构化文本(ST)程序中可以直接调用功能块。功能块在被调用以前,输入参数被分配为默认值;在调用后,输入参数值保留为最后一次调用的值。

(4)结构化文本(ST)程序中的条件语句。条件语句的功能是某一条件满足时执行相应的选择语句。结构化文本(ST)有如下的条件语句。

(5)结构化文本(ST)程序中的迭代语句。迭代语句适用于需要一条或多条语句重复执行许多次的情况,迭代语句的执行取决于某一变量或条件的状态。应用迭代语句应避免迭代死循环的情况。

2.3.3.2 指令表

IEC 61131-3的指令表(IL)语言是一种低级语言,与汇编语言很相似,是在借鉴、吸收世界范围的控制计算机厂商的指令表语言的基础上形成的一种标准语言,可以用来描述功能,功能块和程序的行为,还可以在顺序功能流程图中描述动作和转变的行为。现在仍广泛应用于控制计算机的编程。

(1)指令表语言结构。指令表语言是由一系列指令组成的语言。每条指令在新行开始,指令由操作符和紧随其后的操作数组成,操作数是指在IEC 61131-3的“公共元素”中定义的变量和常量。有些操作符可带若干个操作数,这时各个操作数用逗号隔开。指令前可加标号,后面跟冒号,在操作数之后可加注释。

(2)指令表操作符。IEC 61131-3指令表包括四类操作符:一般操作符、比较操作符、跳转操作符和调用操作符。

2.3.3.3 功能块图

功能块图(FBD)是一种图形化的控制编程语言,它通过调用函数和功能块来实现编程。所调用的函数和功能块可以是IEC标准库当中的,也可以是用户自定义库当中的。这些函数和功能块可以由任意五种编程语言来编制。FBD与电子线路图中的信号流圈非常相似,在程序中,它可看作两个过程元素之间的信息流。

功能块用矩形块来表示,每一功能块的左侧有不少于一个的输入端,在右侧有不少于一个的输出端。功能块的类型名称通常写在块内,但功能块实例的名称通常写在块的上部,功能块的输入输出名称写在块内的输入/输出点的相应地方。

在功能块网路中,信号通常是从一个功能或功能块的输出传递到另一个功能或功能块的输入。信号经由功能块左端输入,并求值更新,在功能块右端输出。

在使用布尔信号时,功能或功能块的取反输入或输出可以在输入端或输出端用一个小圆点来表示,这种表示与在输入端或输出端加一个“取反”功能是一致的。

功能块图(FBD)是一种图形化的控制编程语言,它通过调用函数和功能块来实现编程。所调用的函数和功能块可以是IEC标准库当中的,也可以是用户自定义库当中的。这些函数和功能块可以由任意五种编程语言来编制。FBD与电子线路图中的信号流圈非常相似,在程序中,它可看作两个过程元素之间的信息流。

功能块用矩形块来表示,每功能块的左侧有不少于一个的输入端,在右侧有不少于一个的输出端。功能块的类型名称通常写在块内,但功能块实例的名称通常写在块的上部,功能块的输入输出名称写在块内的输入/输出点的相应地方。

在功能块网路中,信号通常是从一个功能或功能块的输出传递到另一个功能或功能块的输入。信号经由功能块左端输入,并求值更新,在功能块右端输出。

2.3.3.4 梯形图

梯形图(LD)是IEC 61131-3三种图形化编程语言的一种,是使用最多的控制计算机编程语言,来源于美国,最初用于表示继电器逻辑,简单易懂,很容易被电气人员掌握。后来随着控制计算机硬件技术发展,梯形图编程功能越来越强大,现在梯形图在控制系统也得到广泛使用。

IEC 61131-3中的梯形图(LD)语言通过对各控制计算机厂家的梯形图(LD)语言合理地吸收、借鉴,语言中的各图形符号与各控制计算机厂家的基本一致。IEC 61131-3的主要图形符号包括以下几种。

(1)触点类:常开触点、常闭触点、正转换读出触点、负转换触点。

(2)线圈类:一般线圈、取反线圈、置位(锁存)线圈、复位去锁线圈、保持线圈、置位保持线圈、复位保持线圈、正转换读出线圈、负转换读出线圈。

(3)函数和功能块:包括标准的函数和功能块以及用户自己定义的功能块。

2.3.3.5 顺序功能流程图

顺序功能流程图(SFC)是IEC 61131-3三种图形化语言中的一种,是一种强大的描述控制程序的顺序行为特征的图形化语言,可对复杂的过程或操作由顶到底地进行辅助开发。SFC允许一个复杂的问题逐层地分解为步和较小的能够被详细分析的顺序。

(1)顺序功能流程图的基本概念。顺序功能流程图可以由步、有向连线和过渡的集合描述。

(2)顺序功能流程图(SFC)的几种主要形式,单序列控制、并发序列控制、选择序列控制、混合结构序列。

(3)顺序功能流程图(SFC)的程序执行。顺序功能流程图(SFC)程序的执行应遵循相应的规则,每一程序组织单元(POU)与一任务(task)相对应,任务负责周期性地执行程序组织单元(POU)内的IEC程序,顺序功能流程图(SFC)内的动作也是以同样周期被执行。