《(西门子SCL编程)通过模拟量控制气缸升起和下降.docx》由会员分享,可在线阅读,更多相关《(西门子SCL编程)通过模拟量控制气缸升起和下降.docx(5页珍藏版)》请在第壹文秘上搜索。
1、对于PLC的输入输出,分数字量和模拟量两种。数字量很好理解,就是在时间和数量上都离散的物理量,比如启/停按钮,行程开关,电磁阀通/断,这些都是数字量。数字量对应PLC存储就是1位,即1比特(binarydigit,缩写bit),作为信息的最小单位,只有两种状态:0(低电平)和1(高电平),也表示为FALSE和TRUE。模拟量是在时间或数值上都连续的物理量,常见的如温度、氧含量、压力等。模拟量使用起来不太方便,不是有多难,而是在程序上需要做必要的处理,本文通过实例,讲一讲如何通过模拟量控制气缸升起和下降。通过模拟量输出控制运动对象动作,要先确定运动对象的信号类型和量程等参数。信号类型常见的有电流
2、420mA和电压05V10V等;量程是设备自身的参量,比如气缸控制阀流量开度为0100%,K型热电偶测温范围01300C等。本文选用的气缸控制阀控制特性如图1所示,可以看出信号类型420mA,412mA对应的1通2,流量开度q对应100-0(%);1220mA对应的1通4,流量开度q对应0100(%);wmA图1气缸控制阀控制特性处理模拟量信号需要两个指令,NORM_X:标准化和SCALE_X:缩放指令。NORM_X:标准化使用“标准化”指令(参照图2所示),通过将输入VALUE中变量的值映射到线性标尺对其进行标准化。可以使用参数MIN和MAX定义(应用于该标尺的)值范围的限值。输出OUT(R
3、ET.VAL)中的结果经过计算并存储为浮点数,这取决于要标准化的值在该值范围中的位置。如果要标准化的值等于输入MIN中的值,则输出OUT将返回值“0.0”。如果要标准化的值等于输入MAX的值,则输出OUT需返回值力.0”。其中MIN、MAX和VALUE既可以是整数,也可以是浮点数。OUT(RET_VAL)为浮点数。1.0飞。L/MINMAXVAUJE图2NORM_XSCALE_X:缩放指令使用“缩放”指令(参照图3所示),通过将输入VALUE的值映射到指定的值范围内以缩放该值。当执行“缩放”指令时,输入VALUE的浮点值会缩放到由参数MIN和MAX定义的值范围。缩放结果为整数,存储在RET_V
4、AL输出中。其中MIN、MAX和OUT(RET_VAL)既可以是整数,也可以是浮点数。VALUE为浮点数。图3SCALE_X接下来在FB中定义各变量,如图4所示。变量有升起和降落的指令rise_command、fall_command,数据类型均为BOOl型;升起和降落的开度百分比rise_ratefall.rate,此处数据类型均定义为Int型;以及标准化和缩放的变量,NORM_rise_rate(Real型)、N0RM_fall_rate_1(Real型)、NORM_fall_rate_2(Real型)、SCALE_rise_rate(Int型)、SCALE_fall_rate(lnt型)
5、。20 Output3d InOut443 StaticJ InPUt5ri$e_commandBoollse非保持6OSlLCOmmandBoollse非保持70 rise_rateInt0非保持83 SBll_rateInt0非保持90 NORM_rise_rateReel0.0非保持10句SCALE_rise_rateInt0非保持11句NORM_fall_rate_1Real0.0非保持12旬NORM.fB.rate.2Real0.0非保持132 SCALE_fe ll_rateInt0非保持图4定义变量00AMCTCTw*Test名称数据类型默认值保持可AHMlL.在HMI输出量AQ
6、l(Int型)需要在PLC变量中定义,同时模拟量输出的地址要与实际的接线端子地址一致。用SCL语言编程,如图5所示。QA1#NORM_rise_rate:=HORM_X(MIN:=O,VALUE:=#rise_rate,MAX:=1OO);2 tSCALE-rse-rce:-SCLE-X(MIN:-1382,VALUE:-iNORM_rlse_rate,MAX:-27648);3 #HCRM_fall_rate_l:-HORM_X(MINO,VALUE:tfll-rate,MAX:-100);4 #K0RM_fall_rate_2:=1.0-#!OP170B(Winccflexible)操作指导Z.德国:西门子公司,2004.