中控编程各模块详解.docx
- 文档编号:7430289
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:27
- 大小:335.10KB
中控编程各模块详解.docx
《中控编程各模块详解.docx》由会员分享,可在线阅读,更多相关《中控编程各模块详解.docx(27页珍藏版)》请在冰豆网上搜索。
中控编程各模块详解
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。 否则的话,右链路的状态为OFF。 正跳变触点对应于含两个输入的AND_BOOL功能,其中的一个输入事先与R_TRIG功能块相连。 1.4负跳变触点 在负跳变触点中,如果相关BOOL变量的状态从ON跳变为OFF时,同时左链路的状态为ON的话,则右链路在下一个程序周期为ON。 否则的话,右链路的状态为OFF。 负跳变触点对应于含两个输入的AND_BOOL功能,其中一个输入事先与F_TRIG功能块相连。 2线圈 线圈是LD元素,它将其左侧的水平链路状态传送至其右侧的水平链路,相关变量/直接地址的状态将保存。 2.1线圈 在线圈中,可将左链路的状态复制至相关的布尔变量和右链路。 线圈通常跟在触点之后,但它们也能够后接触点。 线圈对应于MOVE功能。 2.2取反线圈
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 模块 详解