中控编程各模块详解.docx

上传人:b****2 文档编号:23478647 上传时间:2023-05-17 格式:DOCX 页数:33 大小:334.10KB
下载 相关 举报
中控编程各模块详解.docx_第1页
第1页 / 共33页
中控编程各模块详解.docx_第2页
第2页 / 共33页
中控编程各模块详解.docx_第3页
第3页 / 共33页
中控编程各模块详解.docx_第4页
第4页 / 共33页
中控编程各模块详解.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

中控编程各模块详解.docx

《中控编程各模块详解.docx》由会员分享,可在线阅读,更多相关《中控编程各模块详解.docx(33页珍藏版)》请在冰豆网上搜索。

中控编程各模块详解.docx

中控编程各模块详解

GT_FLOAT模块

简介

该模块功能是检查第一个输入值是否大于第二个输入值,若是,则输出值为ON,否则为OFF。

   EN和ENO能作为附加参数加以设置。

表示

符号

 

公式

OUT=ONifIN1>IN2

OUT=OFFifIN1≤IN2

 

参数描述

参数

数据类型

含义

IN1

FLOAT

第一输入

IN2

FLOAT

第二输入

OUT

BOOL

输出值

GE_FLOAT模块

简介

   模块功能是检查第一个输入值是否大于等于第二个输入值,若是,则输出值为ON,否则为OFF。

   

   EN和ENO能作为附加参数加以设置。

表示

 符号

  

 公式

   OUT=ONifIN1≥IN2

   OUT=OFFifIN1<IN2

参数描述

参数

数据类型

含义

IN1

FLOAT

第一输入

IN2

FLOAT

第二输入

OUT

BOOL

输出值

LT_FLOAT模块

简介

   该模块功能是检查第一个输入值是否小于第二个输入值,若是,则输出值为ON,否则为OFF。

   EN和ENO能作为附加参数加以设置。

表示

 符号

 公式

OUT=ONifIN1

OUT=OFFifIN1≥IN2

参数描述

参数

数据类型

含义

IN1

FLOAT

第一输入

IN2

FLOAT

第二输入

OUT

BOOL

输出值

LE_INT模块

简介

   该模块功能是检查第一个输入值是否小于等于第二个输入值,若是,则输出值为ON,否则为OFF。

   EN和ENO能作为附加参数加以设置。

表示

符号

公式

ifIN1≤IN2OUT=ON

ifIN1>IN2OUT=OFF

参数描述

参数

数据类型

含义

IN1

INT

第一输入

IN2

INT

第二输入

OUT

BOOL

输出值

 

RS触发器模块

简介

  该模块功能是用于RS存储,其中复位优先。

当R1=ON,Q1就变为OFF。

当R1=OFF,S=ON,则Q1=ON;

当R1=OFF,S=OFF,则Q1保持原状态。

EN和ENO能作为附加参数加以设置。

表示

 符号

   VOIDRS(S,R1,Q1)

参数描述

参数

数据类型

含义

S

BOOL

置位

R1

BOOL

复位(优先)

Q1

BOOL

输出

 

SR触发器模块

简介

该模块功能是用于RS存储,其中置位优先。

当S1=ON,Q1就变为ON。

当S1=OFF,R=OFF时,Q1保持以前状态;

当S1=OFF,R=ON时,Q1=OFF 。

EN和ENO能作为附加参数加以设置。

表示

 符号

VOIDSR(S1,R,Q1)

参数描述

参数

数据类型

含义

S1

BOOL

置位(优先)

R

BOOL

复位

Q1

BOOL

输出

 

R_TRIG模块

简介

   该模块的功能是上升沿触发,即当CLK从OFF跳变为ON时,Q在下一周期为ON;其余情况下,Q都为OFF。

   EN和ENO能作为附加参数加以设置。

表示

 符号

VOIDR_TRIG(CLK,Q)

参数描述

参数

数据类型

含义

CLK

BOOL

输入

Q

BOOL

输出

 

F_TRIG模块

简介

   该模块的功能是下降沿触发,即当CLK从ON跳变为OFF时,Q在下一周期为ON其余情况下,Q都为OFF。

   EN和ENO能作为附加参数加以设置。

表示

 符号

VOIDF_TRIG(CLK,Q)

参数描述

参数

数据类型

含义

CLK

BOOL

输入

Q

BOOL

输出值

 

TON定时器模块

简介

该模块的功能是当IN从OFF跳变为ON时,产生一个延时输出。

EN和ENO能作为附加参数加以设置。

表示

符号

VOIDTON(IN,PT,Q,ET)

参数描述

参数

数据类型

含义

IN

BOOL

输入

PT

ULONG

预置延时时间(单位毫秒)

Q

BOOL

输出状态

ET

ULONG

内部时钟

详细描述

任何时候如果IN为OFF,则Q=OFF,ET=0。

如果IN变为ON,内部时钟ET启动,以(系统运行周期×任务运行周期数)为单位增加,延时开始。

(例如:

系统运行周期在SCKey中设定为500ms,SCControl的任务管理中选定占5个周期,那么延时就以2500ms为单位增加)。

当内部时钟ET达到PT值时,Q变为ON,ET=PT。

如果IN在ET达到PT值前变为OFF,则Q=OFF,ET=0。

 

TOFF定时器模块

简介

该模块的功能是当IN从ON跳变为OFF时,产生一个延时输出。

EN和ENO能作为附加参数加以设置。

表示

符号

VOIDTOFF(IN,PT,Q,ET)

参数描述

参数

数据类型

含义

IN

BOOL

输入

PT

ULONG

预置延时时间(单位毫秒)

Q

BOOL

输出状态

ET

ULONG

内部时钟

详细描述

任何时候如果IN为ON,则Q=ON,ET=0。

如果IN变为OFF,内部时钟ET将启动,以(系统运行周期×任务运行周期数)为单位增加,延时开始。

(例如:

系统运行周期在SCKey中设定为500ms,SCControl的任务管理中选定占5个周期,那么延时就以2500ms为单位增加)。

当内部时钟ET达到PT值时,Q将变为OFF,ET=PT。

如果IN在ET达到PT值之前变为ON,则ET=0,Q=ON。

 

TP定时器模块

简介

   该模块用于产生持续时间一定的脉冲。

   EN和ENO能作为附加参数加以设置。

表示

符号

VOIDTP(IN,PT,Q,ET)

参数描述

参数

数据类型

含义

IN

BOOL

输入

PT

ULONG

预置延时时间(单位毫秒)

Q

BOOL

输出状态

ET

ULONG

内部时钟

详细描述

如果ET=0,IN变为ON,则Q变为ON,内部时钟(ET)启动,以(系统运行周期×任务运行周期数)为单位增加。

(例如:

系统运行周期在SCKey中设定为500ms,SCControl的任务管理中选定占5个周期,那么延时就以2500ms为单位增加)。

如果ET尚未达到PT值,IN变为OFF,ET与Q都不会受IN影响。

当ET达到PT值,Q将变为OFF(与IN无关)。

ET达到PT值之后IN变为OFF,则内部时钟停止,ET=0,Q=OFF。

 

CTD模块

简介

该模块(减计数器)的功能是:

当LD=ON时,CV=PV。

当LD=OFF,CD=ON时,CV每个周期自减1,直到-32767为止。

不管LD和CD的状态,当CV>0时Q为OFF,当CV≤0时Q变为ON。

EN和ENO能作为附加参数加以设置。

表示

 符号

VOIDCTD(CD,LD,PV,Q,CV)

参数描述

参数

数据类型

含义

CD

BOOL

计数开关

LD

BOOL

数据载入

PV

INT

预置数值

Q

BOOL

输出指示

CV

INT

计算值

 

CTU模块

简介

该模块(增计数器)功能是:

当R=ON时,CV=0。

当R=OFF,CU=ON时,CV每个周期自加1,直到32767为止。

不管R和CU的状态,当CV

EN和ENO能作为附加参数加以设置。

表示

 符号

VOIDCTU(CU,R,PV,Q,CV)

参数描述

参数

数据类型

含义

CU

BOOL

计数开关

R

BOOL

复位

PV

INT

预置数值

Q

BOOL

输出指示

CV

INT

计算值

 

CTUD模块

简介

该模块(增减计数器)的功能是:

当R=ON时,CV=0,QU=OFF,QD=ON(增计数器清零);

当LD=ON时,CV=PV,QU=ON,QD=OFF(减计数器清零);

如果在R和LD端同时为ON,则R(复位)优先。

当R=LD=OFF时,若CU=ON,CD=OFF,则为增计数器,CV自加1;至CV≥PV时,QU变为ON,CV继续自加至32767。

当R=LD=OFF时,若CU=OFF,CD=ON,则为减计数器,CV自减1;至CV≤0时QD变为ON,CV继续自减到-32767为止。

EN和ENO能作为附加参数加以设置。

表示

 符号

VOIDCTUD(CU,CD,R,LD,PV,QU,QD,CV)

参数描述

参数

数据类型

含义

CU

BOOL

增计数触发输入

CD

BOOL

减计数触发输入

R

BOOL

复位

LD

BOOL

数据载入

PV

INT

预置数值

QU

BOOL

增指示开关

QD

BOOL

减指示开关

CV

INT

计算值(真实值)

 

XOR_BOOL模块

简介

   该模块功能是将输入值进行逻辑异或操作,并将结果赋给输出值。

输入值个数不限,拖动该模块会出现多个输入引脚。

   EN和ENO能作为附加参数加以设置。

表示

 符号

 公式

OUT=IN1XORIN2XOR┅XORINn

参数描述

参数

数据类型

含义

IN1

BOOL

第一输入

IN2

BOOL

第二输入

INn

BOOL

第n个输入

OUT

BOOL

输出

 

ABS_FLOAT模块

简介

   该模块的功能是计算输入值的绝对值并将结果赋给输出值。

   EN和ENO可作为附加参数加以设置。

表示

符号

公式

         OUT=|IN|

参数描述

参数

数据类型

含义

IN

FLOAT

输入值

OUT

FLOAT

输出值

 

MUL_FLOAT模块

简介

   该模块的功能是将输入值相乘,并将结果赋给输出值。

   EN和ENO能作为附加参数加以设置。

表示

 符号

 公式:

OUT=IN1×IN2

参数描述

参数

数据类型

含义

IN1

FLOAT

第一输入

IN2

FLOAT

第二输入

OUT

FLOAT

输出

 

DIV_FLOAT模块

简介

 该模块的功能是将输入值相除,并将结果赋给输出值。

 EN和ENO能作为附加参数加以设置。

表示

 符号

 公式

OUT=IN1/IN2

参数描述

参数

数据类型

含义

IN1

FLOAT

第一输入

IN2

FLOAT

第二输入

OUT

FLOAT

输出值

 

MOVE_FLOAT模块

简介

   该模块的功能是将输入值赋给输出值。

   EN和ENO能作为附加参数加以设置。

表示

 符号

 公式

OUT=IN1

参数描述

参数

数据类型

含义

IN1

FLOAT

第一输入

OUT

FLOAT

输出

 

ADD_FLOAT模块

简介

该模块的功能是将输入值相加,并将结果赋给输出值。

输入值的个数不限,拖动该模块会出现多个输入引脚。

EN和ENO能作为附加参数加以设置。

表示

 符号

 公式

OUT=IN1+IN2+INn

   

参数描述

参数

数据类型

含义

IN1

FLOAT

第一输入

IN2

FLOAT

第二输入

INn

FLOAT

第n输入

OUT

FLOAT

输出

 

SUB_FLOAT模块

简介

   该模块的功能是将输入值相减,并将结果赋给输出值。

   EN和ENO能作为附加参数加以设置。

表示

 符号

 公式

OUT=IN1-IN2

参数描述

参数

数据类型

含义

IN1

FLOAT

第一输入

IN2

FLOAT

第二输入

OUT

FLOAT

输出

 

AVE_FLOAT模块

简介

该模块的功能是求输入值的平均值,并将结果赋给输出值。

输入值的个数不限,拖动该模块会出现多个输入引脚。

EN和ENO能作为附加参数加以设置。

表示

符号

公式

OUT=(IN1+IN2+┅)/N

参数描述

参数

数据类型

含义

IN1

FLOAT

第一输入

IN2

FLOAT

第二输入

INn

FLOAT

第二n

OUT

FLOAT

输出

 

单回路模块

简介

该模块是对在自定义回路中声明的单回路进行定义,确定它的输入输出,组成一个控制回路。

通过序号N与自定义回路中的声明相对应,将它在自定义回路中所相应序号所对应的位号组入监控画面中,可在监控画面中对其进行参数设置。

其中BSCX可以有更多的参数让用户来设置。

表示

    符号

     算法

   该模块是PID单回路控制模块,流程图如下所示:

 

参数描述

参数

数据类型

含义

补充说明

PV

SFLOAT

测量值

 

N

UINT

BSC序号

范围[0,31]

MV

SFLOAT

输出阀位

 

g_bsc[N].SwSV

BOOL

内/外给定开关

ON—外给定

g_bsc[N].SwAM

BOOL

手/自动开关

ON—自动

g_bsc[N].SwNeg

BOOL

正/反作用开关

ON—反作用

g_bsc[N].SwTV

BOOL

输出跟踪开关

ON—跟踪

g_bsc[N].SwDT

BOOL

微分方式切换开关

ON=dPV/dtOFF=dErr/dt

g_bsc[N].SV

SFLOAT

内给定值

 

g_bsc[N].ESV

SFLOAT

外给定值

 

g_bsc[N].KP     

SFLOAT

比例常数

Kp*2=1/P

g_bsc[N].TI    

INT

积分时间

单位为0.1秒

g_bsc[N].TD

INT

微分时间

单位为0.1秒

g_bsc[N].TV

SFLOAT

输出跟踪量

 

g_bsc[N].IA

SFLOAT

输入补偿

 

g_bsc[N].OA

SFLOAT

输出补偿

 

g_bsc[N].ER

SFLOAT

偏差报警值

 

g_bsc[N].ML

SFLOAT

输出限幅下限

 

g_bsc[N].MH

SFLOAT

输出限幅上限

 

g_bsc[N].KV

SFLOAT

可变增益

 

g_bsc[N].RESERVED_6B

BOOL

比例微分先行开关

ON=比例微分先行

注意

  对BSCX模块,需要特别注意所设置的参数不能与AdvanTrol等监控画面中的相关参数相冲突,否则将导致AdvanTrol中监控画面中的相关参数设置功能无效!

各项

∙内外给定选择

    用户可以通过参数SwSV来选择内给定或外给定。

当SwSV为ON时,设定值等于外给定值ESV;当SwSV为OFF时,设定值等于内给定值SV。

同时为了防止内外给定切换时发生扰动,在外给定时,将外给定值赋给内给定值;在内给定时,将内给定值赋给外给定值(监控画面中所看到的内给定值就等于系统的设定值)。

   用户可以通过BSCX模块给内外给定值分别赋数值、变量和位号。

也可以在ST语言中进行这些赋值操作,其操作语句如下:

   sfloattt;

   intN;

   g_bsc[N].ESV=0.5f;

   g_bsc[N].ESV=AI02000000PV;

   g_bsc[N].ESV=S02_B0000;

   g_bsc[N].ESV=tt;

   g_bsc[N].SV=0.5;

   g_bsc[N].SV=AI02000000.PV;

   g_bsc[N].SV=S02_B0000;

   g_bsc[N].SV=tt;

   其中:

N为BSC序号,S02_B0000为自定义半浮点,AI02000000为AI位号。

   内给定和外给定的唯一区别就是,内给定值可以在监控画面上进行设置。

∙报警处理

   误差等于设定值减去测量值,同时在BSC中,对误差进行了报警处理。

误差报警值缺省值为100%,用户也可以通过ST语言,对ER进行修改,如下所示:

g_bsc[0].ER=0.01f;

   当BSC回路0的误差大于0.01f或小于-0.01f时,就会发出一个偏差报警。

   但在手动状态下,不发生任何偏差报警。

   

∙正反作用处理

   正反作用处理是根据正反作用开关,对偏差进行处理,把处理后的值送到PID算法中进行运算。

当SwNeg为ON时,系统处于反作用状态,这个时候PID算法中的输入等于负偏差;当SwNeg为OFF时,系统处于正作用状态,这个时候PID算法的输入等于正偏差。

正反作用可以在调整画面中进行修改,也可以在BSCX模块中进行修改,或在SCX语言中直接对其赋值。

 

PID计算

   单回路控制器PID计算示意图

   

   AutoMV为上一周期的控制输出值减去输出补偿值。

采用增量式的PID算法,最终的控制输出值与上一周期的控制输出值有关,由于使用在输出补偿之前进行累加的方法,如果不减去上一周期的输出补偿值,而直接使用会造成对输出补偿值的累加。

在串级控制回路中的原理亦是如此。

自动值为本周期PID计算后的值,这个变量对用户不可见。

   PID算法

∙PID算法框图

    

上图中-PV为测量值乘以负1。

∙基本算式

    所采用的算法为采用增量式算法,其中微分器为不完全微分方法,其表达式如下:

                      

   其中P为比例带。

为积分时间(I),为微分时间(D),为微分增益。

∙ 微分先行

   当控制系统的给定值发生阶跃变化时,微分动作将导致控制量的大幅度变化,这样不利于生产的稳定操作。

因此,在微分项中不考虑给定值,只对测量值(即被控量)进行微分。

这种方法就是微分先行方法,即

                  

   式中:

y(n)为本周期测量值PV,y(n-1)为上一周期PV值,为本周期微分项值,为上一周期微分项值。

   对于串级控制的副回路而言,因给定值是主回路提供的,故上述仅对测量值微分的做法并不适用,仍应按原微分项算式对偏差进行微分。

∙参数说明

比例度P(%):

P最小值为P=6.25%,P的最大值为P=204800%。

微分时间常数D(单位秒):

最大为3276.8s,最小值可以为0s。

积分时间常数I(单位分):

其最大值与D一致,3276.8/60=54.61分;而因为I在计算时表现为倒数形式,如果太小会引起计算的溢出,因此将I最低限制为1s,1/60=0.02分。

输出处理

∙单回路控制器输出处理框图

      

∙手自动处理

   手自动处理根据开关量SwAM判断当前回路处于自动或手动状态。

当SwAM为OFF时,回路处于手动状态;当SwAM为ON时,回路处于自动状态,将自动值赋给手动值。

SwAM缺省值为OFF。

∙跟踪处理

   当SwTV等于ON时,系统处于跟踪状态。

当回路处于跟踪状态下,系统的手自动状态开关(SwAM)处于手动状态,并将跟踪值赋给手动值。

SwTV缺省值为OFF。

∙量程限幅处理

   将经过跟踪处理后的手动值进行量程限幅处理,当其超出量程时发生一个报警。

经过量程限幅后的手动值就是最后要输出的控制输出值(MV)。

 

 

闪光模块

简介

该模块用来产生一个脉冲的输出信号,当输入IN1=OFF,则输出为OUT=OFF;

当输入IN1=ON且IN2=OFF,则输出跟踪IN1状态,即OUT=ON;

当输入IN1=IN2=ON时,输出将交替为逻辑0和逻辑1,交替周期为扫描周期。

表示

符号

算法

    当IN1=OFF,输出OUT=OFF;

    当IN1=ON且IN2=OFF,输出OUT=ON;

    当IN1=IN2=ON,输出OUT交替为ON或OFF,交替周期为扫描周期,即当程序第2次运行到该模块,输出就发生跳变。

参数描述

参数

数据类型

含义

IN1

BOOL

报警信号

IN2

BOOL

确认报警信号

OUT

BOOL

输出

 

LD程序段的结构对应于继电器开关操作的梯级。

在LD编辑器中,窗口背景是逻辑网格。

   在它的左边划出所谓的左汇流条。

这个左汇流条对应于梯级的相线(L线路)。

正如在梯级中一样,只有接至电源即接至左汇流条的LD目标(触点、线圈)将在LD编程期间被编辑。

   对应于中线的右汇流条不进行显示。

但是,在内部,所有的线圈和基本功能块输出都接在它上面,从而建立起电流通路。

   编程语言LD的目标为触点、线圈和功能模块。

这些目标通过实际参数和链路来互连。

1触点

   触点是LD元素,它将状态传送至其右侧的水平链路。

这一状态是在其左侧的水平链路中的状态与相关变量/直接地址的状态进行布尔与的结果。

触点不改变相关变量/直接地址的值。

 

1.1常开触点

   在常开触点中,如果相关BOOL变量的状态为ON时,左链路的状态复制至右链路。

否则的话,右链路的状态为OFF。

   常开触点对应于两个输入的AND_BOOL功能。

   两个并行的常开触点对应于两个通过OR功能连接的AND_BOOL功能。

 

1.2常闭触点

   在常闭触点中,如果相关BOOL变量的状态为OFF时,左链路的状态复制至右链路。

否则的话,右链路的状态为OFF。

   常闭触点对应于含两个输入的AND_BOOL功能,其中一个是反相的。

 

1.3正跳变触点

   在正跳变触点中,如果相关BOOL变量的状态从OFF跳变为ON时,同时左链路的状态为ON的话,则右链路在下一个程序周期为ON。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1