1.模拟量输入(AI)模块
AI模块获得的变量数据来自硬件输入,为一个主要变量数据输入提供线性化、阻尼,单位转换为百分数和限位,使这个变量数据成为AI模块的输出数据。变量数据输入来自于传感器模块,可按通道号选择。
AI模块的框图如图9-3-2所示。
用通道选择外部连接,将输入CHANNEL0(通道变量数据)经过传感器通道(access transducer)引入块处理(图9-3-2所示)。块处理对引入的主要变量进行工程单位到百分数的转换(CONVERT TO%),XD_SCALE为输入变量的百分刻度数值;线性化由“函数”进行处理,用L_TYPE选择允许算法的不同类型,如线性、非线性和平方根;用户单位转换(user unit conversion)是把百分数值转换为用户工程单位。OUT_SCALE为输入变量的用户工程单位数值。经块处理输出的变量进入滤波器,阻尼时间常数由PV_FTIME控制。滤波器输出PV(E.U)分两路,一路由OUT_D输出,把PV(E.U)送报警磁盘(ALARMS DISC),HL_LIM、LO_LIM、ALARM_MYS、ALARM_IND_TYPE分别为报警上限、下限、方式和选择类型。另一路经手动设定(MANUAL SP)开关和限位(clamp function)单元由OUT送出,这个输出能用于其他功能模块。手动设定开关由方式选择控制,MODE_PER为方式允许(即允许手动设定),MOD_E_BLK为功能块方式。在手动设定时,可使AI功能模块输出一个可调数值,这对控制系统仿真和调试非常有用。由于有“函数”功能,AI输出可以是输入的线性函数,也可以是输入的平方根函数。
图9-3-2 AI模块的框图
2.PID控制模块
PID控制模块是许多控制策略的关键,它几乎被普遍使用,除PD之外,当过程本身有偏差存在时,PID模块输出将不断变化,输出使偏差向减小方向变化(这是对负反馈控制系统而言)。当主过程(回路)和副过程(回路)惯性时间常数或工作频率相差三倍以上时,控制模块常被串联(级)使用。
PID控制模块的框图如图9-3-3所示。
被控变量由IN输入,经滤波器(PV_FTIME)后用PV表示,其时间常数是PV_FTIME。PV经标度变换(PV&SP SCALING)后在PID算法(PID algorithim)中与SP相会合,如果IN被限制在一个常数状态,PID将不能积分。PV和DV(PV与SV差的绝对值)提供越限报警功能(PV AND DEVIATION ALARM),虽然PV是一个包含变量的参数,但也有一个状态,这个状态是IN的一个复制,除非IN是好的,否则有一个PV或块报警。
串级设定SP被使用,它带有速率和绝对值限制。有一个附加控制选项手动跟踪,即在手动方式时将引起SP值跟踪PV值,限制不产生SP—PV跟踪。
有一个BYPASS(旁路)开关,是给操作员用的,如果BYPASS控制选项是真的,在副级控制器使用BYPASS开关,若有坏值,则旁路。如果只改变BYPASS,当设置的时候,SP的值(量程的百分数)直接通向操作输出,输出OUT的值可作为块反向输出(BKCAL_OUT)。当方式改变为串级(CAS)时,上游块需要恢复OUT的值,在旁路输出上,上游块需要恢复PV值。
图9-3-3 PID控制模块的框图
增益、重置(积分时间)和速率(微分时间)是P、I和D术语的调整常数,增益是无量纲数值,速率是用秒表示的时间常数,现存的控制器由它们的一些或所有的倒数值调整,如比例带和每分钟重复。这些参数的操作接口,应能显示并由使用者选择。
输出选择为控制PID作用选择。正作用控制选项如果是真的,当PV超过SP,输出OUT增加;如果是假的,PV超过SP,输出将减少。这将使正作用和反作用之间的反馈不同,必须设置合适,在整个自动方式期间决不能改变。为了输出反向跟踪(BKCAL_OUT),选项的设置也必须在计算机限制状态内。
输出支持前馈(feed forward)算法,在控制回路中前馈值(FF_VAL)输入带进一个与干扰成比例的外部值,使用前馈标度变换(feed forward scaling)使前馈值转换为输出量程的百分数。这个值在前馈增益(feed forward gain)中与增益相乘后送到PID算法,加入了PID算法的操作输出。如果前馈值的状态是“坏”的,最后可用值(通常是手动的最后值)将被使用,这样,可防止对输出的冲击。当状态返回到“好”时,模块将调整它的积分或偏置项以保持以前的输出。
为反向输出(BKCAL_OUT)设置了一个不是限制后的SP值就是PV值的选项。输出支持跟踪算法,TRK_VAL为跟踪值,TRK_IN_D为跟踪状态值。
为了防止积分饱和,当输出参数达到或是上限(HI_LIM)或是下限(LOW_LIM)时,PID模块有一个利用停止算法积分过程(或积分分离)的控制策略,可避免过程控制的积分饱和。
当模块方式开关从手动切向自动时,PID算法给予用户无扰切换的性能。这个性能通过BUMP_ENB(软切换)和BUMP_TYPE(硬切换)两参数完成。无扰策略按照选择的无扰类型重新计算PID的积分项。当方式开关出现时,每种类型将影响PID输出。在第一种类型积分项被改变,使输出保持它的最后值,最后值通常是手动的最后值或自动的初始值;当硬传输被选择,输出等于它的以前值加上PID比例项。其他情况可能将产生一个输出等于一个偏置值或偏置值加PID比例项。所谓硬性M→A(手动→自动)切换即初始输出值加上当时偏差值乘以比例增益。
手动→自动切换的初始值,即手动的最后值,如果这个值指定为非零值,则手动切向自动时,该值即输出的初始值。这时跟踪输入(TRK_VAL)不能被连接。作为M→A切换,手动输出要连接到TRK_VAL,而TRK_IN_D要连接到自动/手动方式的状态信号上,这样,在手动时,PID输出跟踪手操输出,一旦切到自动,则可实现无扰。手动向自动切换可是无扰的,也可以是硬的。自动切向手动也是无扰的,在自动状态下,手动操作寄存器始终跟踪限制器(OUTPUT LIMIT)后的输出值。
RCAS_IN表示由监控主系统对模块输出提供目标设定和状态;RCAS_OUT表示经斜坡(速率限制)后的模块设定和状态提供给监控主系统,用于返回计算和发生在限值和方式变化条件下的允许功能;ROUT_IN表示由监控主系统为像输出一样使用的控制模块提供目标(或操作)输出和状态;CAS_IN表示输入参数是远程设定值,这个值必须来自其他现场总线模块或DCS。
总之,PID模块使用时如同设定器,由操作人员调整设定值,或由其他模块送来变量,或由计算机、DCS或PLC设定数值。操作变量MV也具有相同的结构,也可由监控主系统或DCS或PLC设定。MV值与乘上增益的前馈变量相加,并加上一个偏置经标定和限位后输出(OUT)。模块提供了限值报警、偏差报警、设定、跟踪、安全(限位)输出、正作用和反作用等功能。
3.模拟量输出(AO)模块
驱动硬件输出和相关数据通路,按照运行方式选择当前的设定值,如果需要可限制它。也可根据需要反向并提供结果给硬件输出或软件输出。
AO模块的框图如图9-3-4所示。
图9-3-4 AO模块的框图
模块可以设置为CAS_IN和RCAS_IN自动方式。SP经选择器(SP SELECTOR)对CAS_IN、SP_LOCAL(本机设定)和RCAS_IN以及反馈值进行选择后输出设定值。为避免设定值SP的剧烈变化设置了限制器(rate limiter),对SP进行速率限制,再经限位器(clamper)对SP进行绝对值限制后,进入一个按特殊功能做的特性补偿器(characteriza-tion)。特性补偿后,SP与偏置值相加后分三路:第一路返回SP选择器;第二路进入反向通路输出参数选择器;第三路在转换器中将工程单位转换为百分数,标度参数为PV_SCALE(SP%),也可通过开关(INC CLOSE)输出反向(INVERT SPAN 100VALUE)设定值(IN V.SP%),并由传送输出给转换器(块)。SP支持串联(级)结构,CAS方式必须把其他模块的输出作为AO模块的SP,SP设有标准的速率和绝对值限制。
如果硬件支持一个读回值,如阀位,此值应通过READBACK返回。
总之,模拟输出模块AO能从其他模块接收一个信号,并把它进行标定、限速、限位、补偿和报警后送硬件转换块转换为电流或气压输出。可由操作人员写最终控制元件的设定值(SP_LOCAL),或由另一信号或DCS或PLC来写,它支持串级结构,并为自动/手动无扰切换提供一个反馈计算输出。
4.输出选择(OSDL)模块
这是装在现场总线到电流转换器FI302中的模块。输出选择块提供从一个跟随已给信号到三个输出的选择,它被用于分割范围控制、阀序或输出选择。输出选择模块OSDL的框图如图9-3-5所示。
图9-3-5 输出选择模块OSDL框图
5.输入信号选择(Input Selector,IS)模块
输入信号选择模块具有4个模拟输入和1个输出。允许对一个参数选它的最大值、最小值、中值,或通过由二进制输入所驱动的触发开关,从所选的两个值中输出一个。输入信号选择模块IS的框图如图9-3-6所示。
6.信号特征描绘(Signal Characterizer,CHAR)模块
信号特征化功能块有两个通道,每个部分的输出是相应输入的非线性函数。非线性函数用一个最多为20段的折线表来描述。非线性函数是由x—y坐标上20个点组成的图表所决定的。用内插法计算出输出y。用同一曲线使两个输入产生两个独立的输出。第二个输入可以反向,也就是说,y2是输入,x2是输出。
输出通道1、2分别与输入通道1、2相关,这两个通道的输入互不相关,但两者使用同样的曲线。不在折线折点上的输出值通过线性插值计算。在填入曲线表中的点坐标时,X应该是单调递增的,否则参数BLOCK_ERR的组态错误标志将被置位,块工作模式进入“停止服务”。如果所需的折线少于20段,也就不需要填入21个有效的点坐标,但需要将不用的点坐标都设成“+∞”。X1是曲线X坐标的最小值,Xm是曲线X坐标的最大值。当输入小于X1时,Y均为Y1;当输入大于Xm时,Y均为Ym。这两个Y值也起着类似限幅的作用,因此在这种情况下的输出状态中会有所体现。
图9-3-6 输入信号选择模块IS框图
功能块有一个反向处理的功能,可以交换第2个通道的X、Y轴,即当参数SWAP_2为真时:
IN_1=X,OUT_1=Y;
IN_2=Y,OUT_2=X;
这提供了运用曲线的反函数进行反向计算的方法。如果折线表定义的曲线不是单调递增或者单调递减的,即当X增加时Y不是单调的,此时如果SWAP_2为“真”时,会出现与组态时X不是单调递增的同样的错误。
信号特征描绘模块CHAR的框图如图9-3-7所示。
7.算术(ARTH)模块
该功能块设计用于支持多传感器复合测量中的计算。它向用户提供一些在这种运用中通用的数学计算函数。用户不需要知道如何写方程式,而只需根据所要完成的功能,按名称来选择算法即可。算术模块ARTH的框图如图9-3-8所示。
算术模块计算四个输入为函数的输出,函数中包含一组可调的常数和一个已选择好的算法。模块提供多种可选择的算法,如带有温度和压力补偿并采用双量程变送器的气体流量计算、带有温度补偿的液体流量计算、平均值计算、信号相加和相乘、四阶多项式计算、简单的静压式罐容(HTG)计算、明渠流量计算。
功能块具有5个输入,其中3个为辅助输入。IN和IN_LO两个输入用于量程扩展。量程扩展功能是这样实现的:g为一内部变量,如果输入IN小于量程低限(RANGE_LO),g=0;如果IN大于量程高限(RANGE_HI),g=1;如果IN在两者之间,g在0和1之间线性插值。量程扩展单元的输出按下式计算:
PV=gIN+(1-g)IN_LO
这样功能块就能综合从两个不同量程范围的传感器传来的信号。
计算功能块可以提供以下算法:①线性流量补偿,用于体积流量的密度补偿;②平方根流量补偿;③近似流量补偿;④英制热流量补偿;⑤常规乘/除;⑥平均;⑦常规加法器;⑧四阶多项式;⑨简单HTG液位补偿。
图9-3-7 信号特征描绘模块CHAR的框图
图9-3-8 算术模块ARTH的框图
8.积分器模块INTG
积分器模块将两个输入之差加以累计。这些输入可以是变化率,或者是由脉冲计数器来的累加值。累加值与释放动作值进行比较,两个分离的输出是由累加值控制;当累加值达到释放限值时,其中一个输出起作用,另一个输出是当达到预释放值时起作用。通过对两个输入信号的分析,模块能告诉操作员累加值是否可靠。积分器模块INTG的框图如图9-3-9所示。
图9-3-9 积分器模块INTG的框图
累积功能块用于对一个变量进行时间累积,或者对一个脉冲输入功能块(FF基金会尚未正式发布其规范)进行计数。它通常用来累积流量,给出一段时间内总质量或者容量;或者总计一段时间内的功率,给出总能量。累积方法可以是从零递增,或者是从某一设定值递减。功能块也可以作为批量总计(Batch totalizer)单元工作,即累积值与预设的触发设定值比较,累加到达设定值或从设定值递减到零时产生一个开关信号。累计单元的复位方式可以是自动、周期的或者根据用户命令进行。计数方式和复位方式的不同组合决定了不同的计算类型。
累积功能块具备处理双向流量输入的能力,因此它可以用于计算净流量。将REV_FLOWi(i=1、2)置为“真”,此时功能块即将相应通道的输入处理为反向的流量、速率、脉冲量等。这可以用于计算容器内容积或者质量的变化,或者作为流量比控制的优化工具。
图9-3-10是该功能块计算净流量的简要示意图,该图仅为表示如何处理双向流量计算,对输入数据处理做了简化。
由于输入值状态可能并不总是“良好”(good),因此,功能块有两个输出值OUT和RTOTAL表示累积的结果。OUT反映了不考虑输入状态时净流量的累积,RTOTAL表示输入状态为“出错”(bad)时的净流量绝对值累加。
(www.xing528.com)
图9-3-10 净流量计算示意图
该功能块可用于批量总计,相应有两个输出:预触发信号(OUT_PTRIP)和触发信号(OUT_TRIP)。累计单元递增计数,当输出OUT到达设定值TOTAL_SP减去预触发提前量PRE_TRIP的值时,预触发开关量输出OUT_PTRIP置位。当计数到达设定值TOTAL_SP,触发信号OUT_TRIP置位,预触发信号保持置位。
9.设备控制(Device control)模块
这个功能块用于对具有多个状态的数字设备(如双向电动机、压缩机等)的设定值控制。具体地说,就是根据功能块的设定值、其他控制参数输入的逻辑运算以及被控设备状态的反馈,产生被控设备的设定值。当功能块工作处于“自动”时的典型工作过程如下:如果输出OUT_D转换到一个新的状态,输出被控设备的一个新的设定值(如“活动状态1”),然后功能块开始计时。如果被控设备在预定的时间内确认了该状态,并将确认信号反馈到功能块的IN_D,则定时器停止,该过程完成。如果定时器到达该状态的确认时间,则功能块状态参数DC_STATE中关于“状态1”的相应标志置位为“失败”,输出OUT_D根据块的配置决定进入“不活动”(passive)状态或保持原状态。
10.输出分程(Splitter)模块
输出分程模块SPLIT的框图如图9-3-11所示。
输出分程功能块提供了分程控制的能力,将单个输入用于驱动两个控制输出,每个输出是输入中某一部分的线性函数,同时提供了相同的线性函数的反向计算(back calculation给上游功能块提供一个输出,用于实现无扰动切换)。图9-3-12是一种分程控制应用的示意图。
实际上用户可以通过指定(X11,Y11),(X12,Y12),(X21,Y21),(X22,Y22),定义输出1、2和设定值之间的任意关系,功能块本身对此并无限制。设定值的单位不一定用百分量。
图9-3-1 1输出分程模块SPLIT的框图
11.超前/滞后(Lead/Lag)模块
超前/滞后模块的框图如图9-3-13所示。
超前/滞后功能块提供了对输入参数(IN)的动态补偿,它能提供超前或滞后补偿,或同时提供两者。用户可以通过设置适当的超前时间和滞后时间获得所期望的输入/输出关系。
功能块另有一个跟随(FOLLOW)开关量输入,如果它被置位,功能块的计算输出值将被强制跟随输入值。另外功能块也支持手动模式。这个功能块设计用于测量变送通道,因而不支持控制状态传播或者反向计算。
12.延时模块(Deadtime)
延时功能块提供了以某一确定的时间延迟一个连续信号的功能,从控制角度来说提供了一个纯滞后环节。延迟的时间值由DEAD_TIME参数确定。可以通过设置跟随参数,根据外部事件取消延迟作用。
图9-3-12 分程控制示意图
图9-3-13 超前/滞后模块Lead/Lag的框图
13.设定值程序发生模块(Setpoint rampgenerator)
设定值程序发生模块的框图如图9-3-14所示。
图9-3-14 设定值程序发生模块的框图
(1)功能块概述
设定值程序发生功能块典型的应用是在均热炉、间歇反应器等的温度控制,用于产生一个PID功能块的设定值。在这些应用场合,设定值往往需要跟踪一条随时间变化的曲线。
输出曲线由折线表定义,折线最多可达10段。每一段由一个起始值、一个持续时间值和下一段的起始值定义,一条拥有n段的曲线需指定n+1个设定值和n个时间值。另外用户还需指定用于显示的时间单位。设定值的输出值通过对这若干个点进行折线拟合和插值计算后得到。
(2)时钟控制
时间轴的控制由一个内部定时器来实现。定时器的启动和复位由输入START和RESET_IN控制,也可以通过发出操作员指令,即设置参数OP_CMD_SPG来实现。一旦启动,功能块将按设定的曲线自动输出设定值。定时器在运行中可以被暂停。
如果自动循环(AUTO_CYCLE)设为“真”,当时间值到达曲线终点时会自动回到曲线原点重新运行,即能够循环地输出设定值曲线。
功能块有3个输出参数指示输出当前在时间轴上的位置:STEP_POSN——在当前段中的位置;TIME_POSN——从当前段开始已经过的时间;TIME_POSN_T——时间轴上的位置和定时器设置。功能块处于手动模式时,操作员可以通过写这3个参数的值,使功能块的输出转移到时间轴上的任何位置。值得注意的是,这3个输出是不独立的。
手动模式下,操作员还可以发出以下的操作命令(OP_CMD_SPG):前进(AD-VANCE)——时间推进到下一段的起始点;重复(REPEAT)——时间回到当前段的起始点。
(3)输出参数
功能块处于自动模式时,OUT值是不可以通过网络访问修改的。当功能块处于手动操作模式时,用户可以更改OUT值,但此时PRE_OUT参数值仍然是自动运行时随着时间变化应当输出的值。这保证了当运行模式从“手动”回到“自动”时,切换是无扰动的,OUT值将以BAL_TIME参数定义的时间值为时间常数,接近PRE_OUT参数值。另外,设定值输出曲线的起始点可以根据BKCAL_IN参数而改变。总之,该功能块配置非常灵活,对用户的各种需求考虑得较为周全。
14.输入选择(Input selector)模块
输入选择模块的框图如图9-3-15所示。
信号选择功能块提供了对最多4路输入的选择,根据配置产生一个输出信号。它通常接收来自AI功能块的数据,可以执行最大、最小、中间值、平均值或者“最先良好”(first good)状态的信号选择。功能块的另一个输出参数是“选中通道”(selected),指明算法选中了哪个输入。功能块也支持手动模式。
该功能块提供了禁止某一路通道的功能。如果“DISABLE_N”置位,相应的第N个输入被忽略,状态为“bad”的输入也被忽略。如果当前没有输入存在,或者有效的输入数目低于“MIN_GOOD”参数的设定值,那么将“选中”输出的值设为零,不进行选择处理。
15.定时器(Timer)模块
定时器模块的框图如图9-3-16所示。
该功能块有4个通道的数据输入和1个复位输入可与其他功能块相连接。已连接的输入值可以为“真”、“假”或者“未定义”。“未定义”的输入作为“失效”状态处理。
图9-3-15 输入选择模块的框图
定时器的处理类型由参数TIMER_TYPE定义,可以为:
1)测量指示最近一次输入为真的延续时间。
2)累积输入为真的延续时间。
3)比较输入为真的延续时间和一个指定的时间值。
4)延迟一个正跳变(false→true),如果该正脉冲延续时间过短,忽略这个脉冲。
5)扩展一个负跳变(true→false),如果该负脉冲延续时间过短,忽略这个脉冲。
6)去抖动延迟任何跳变,如果脉冲延续时间过短,忽略这个脉冲。
7)产生不可重触发脉冲——当输入一个正跳变,产生一个不可重触发的正脉冲。
8)产生可重触发脉冲——当输入一个正跳变,产生一个可重触发的正脉冲。
该功能块有3个输出值:OUT_D、OUT_EXP、OUT_REM。OUT_D是一个可连接的包含状态信息的数字量。OUT_EXP和OUT_REM输出浮点数,前者指示已经历的时间,后者指示相对于一个设定的时间值剩余的时间。
图9-3-16 定时器模块的框图
图9-3-17给出功能块处于“延迟”模式时输入输出的示意图。图中的组合逻辑输出PV_D发生了一个正跳变,功能块将延迟该信号,直到定时器计时超过设定值TIME_SP后,在预输出PRE_OUT_D上输出一个正跳变。如果PV_D为“真”的时间不到该设定值,预输出不发生变化。OUT_EXP参数为PV_D为“真”的持续时间,OUT_REM为从设定值开始递减经过的时间。在PV_D发生了负跳变以后,两个时间输出值是否清零由参数QUIES_OPT设置而定。下一次PV_D的正跳变将重启一次计时过程。
图9-3-17 延迟模式输出
16.模拟量报警(Analog Alarm)模块
模拟量报警模块的框图如图9-3-18所示。
图9-3-18 模拟量报警模块的框图
模拟量报警功能块提供了对于任何块的模拟量输出的报警状态报告。报警状态包括上限、上上限、下限、下下限报警。这些报警限可以是用户输入的,也可以通过计算提供动态偏差报警限,即基于过程设定点(SP)和偏差、增益的设置计算而得。该功能块提供了一个选项,可以在设定值改变以后临时扩展报警限,如图9-3-19所示。另外也可以设置在一段时间内禁止报警,以免产生有害的报警。
此外,该功能块可以用作比较器,比较IN输入和过程设定值输入。由于IN输入的处理算法首先进行以PV_TIME为时间常数的滤波,因而该比较器有滞后效应。
Smar302现场总线控制系统的功能模块有很多,不能一一介绍,将来的FF模块会与之很类似,所以,学习Smar302现场总线控制系统的功能模块,一定会对学习FF的功能模块有所帮助。但是,对功能模块的深入理解,还应在具体的工程实践中加以体会。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。