[size=0.8]模拟量使用起来不太方便,不是有多难,而是在程序上需要做必要的处理,本文通过实例,讲一讲如何通过模拟量控制气缸升起和下降。 [size=0.8]通过模拟量输出控制运动对象动作,要先确定运动对象的信号类型和量程等参数。信号类型常见的有电流4~20mA和电压0~5V/10V等;量程是设备自身的参量,比如气缸控制阀流量开度为0~100%,K型热电偶测温范围0~1300℃等。 [size=0.8]本文选用的气缸控制阀控制特性如图1所示,可以看出信号类型4~20mA,4~12mA对应的1通2,流量开度q对应100~0(%);12~20mA对应的1通4,流量开度q对应0~100(%); [size=0.8]图1 气缸控制阀控制特性 [size=0.8]处理模拟量信号需要两个指令,NORM_X:标准化和SCALE_X:缩放指令。 [size=0.8]NORM_X:标准化 [size=0.8]使用“标准化”指令(参照图2所示),通过将输入 VALUE 中变量的值映射到线性标尺对其进行标准化。可以使用参数 MIN 和 MAX 定义(应用于该标尺的)值范围的限值。输出OUT( RET_VAL) 中的结果经过计算并存储为浮点数,这取决于要标准化的值在该值范围中的位置。 [size=0.8]如果要标准化的值等于输入 MIN 中的值,则输出 OUT 将返回值“0.0”。如果要标准化的值等于输入 MAX 的值,则输出 OUT 需返回值“1.0”。 [size=0.8]其中MIN 、 MAX和VALUE既可以是整数,也可以是浮点数。OUT( RET_VAL) 为浮点数。 [size=0.8]图2 NORM_X [size=0.8]SCALE_X:缩放指令 [size=0.8]使用“缩放”指令(参照图3所示),通过将输入 VALUE 的值映射到指定的值范围内以缩放该值。当执行“缩放”指令时,输入 VALUE 的浮点值会缩放到由参数 MIN 和 MAX 定义的值范围。缩放结果为整数,存储在 RET_VAL 输出中。 [size=0.8]其中MIN 、 MAX和OUT( RET_VAL) 既可以是整数,也可以是浮点数。VALUE为浮点数。 [size=0.8]图3 SCALE_X [size=0.8]接下来在FB中定义各变量,如图4所示。变量有升起和降落的指令rise_command、fall_command,数据类型均为Bool型;升起和降落的开度百分比rise_rate、fall_rate,此处数据类型均定义为Int型;以及标准化和缩放的变量,NORM_rise_rate(Real型)、NORM_fall_rate_1(Real型)、NORM_fall_rate_2(Real型)、SCALE_rise_rate(Int型)、SCALE_fall_rate(Int型)。 [size=0.8]图4 定义变量 [size=0.8]输出量AQ1(Int型)需要在PLC变量中定义,同时模拟量输出的地址要与实际的接线端子地址一致。 [size=0.8]用SCL语言编程,如图5所示。 [size=0.8]图5 SCL程序 ![]() |
|免责声明|本站介绍|工控课堂
( 沪ICP备20008691号-1 || 沪公网安备 31010602005455号 )|网站地图
GMT+8, 2020-7-1 10:12 , Processed in 0.049864 second(s), 45 queries .
Powered by Discuz! X3.4
© 2001-2017 Comsenz Inc.