《(西门子SCL编程)通过模拟量控制气缸升起和下降.docx》由会员分享,可在线阅读,更多相关《(西门子SCL编程)通过模拟量控制气缸升起和下降.docx(8页珍藏版)》请在优知文库上搜索。
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(%);IWmA图1气缸控制阀控制特性处理模拟量信号需要两个指令,NORM.X:标准化和SCALE_X:缩放指令。NORM_X:标准化使用“点准化”指令(参照图2所示),通过将输入VALUE中变量的值映射到线性标尺对其进行标准化。可以使用参数MIN和MAX定义(应用于该标尺的)值范围的限值。输出OUT(
3、RET.VAL)中的结果经过计算并存储为浮点数,这取决于要标准化的值在该值范围中的位置。如果要标准化的值等于输入MIN中的值,则输出OUT将返回值“0.0”。如果要标准化的值等于输入MAX的值,则输出OUT需返回值“1.0”。其中MIN、MAX和VALUE既可以是整数,也可以是浮点数。OUT(RET_VAL)为浮点数。1.0OUTTJoo图2NORM_XSCALE_X:缩放指令使用“缩放”指令(参照图3所示),通过将输入VALUE的值映射到指定的值范围内以缩放该值。当执行“缩放”指令时,输入VALUE的浮点值会缩放到由参数MIN和MAX定义的值范围。缩放结果为整数,存储在RET_VAL输出中。
4、其中MIN、MAX和OUT(RET_VAL)既可以是整数,也可以是浮点数。VALUE为浮点数。图3SCALE_X接下来在FB中定义各变量,如图4所示。变量有升起和降落的指令rise_command、fall_command,数据类型均为BOol型;升起和降落的开度百分比rise,ate、faLrate,此处数据类型均定义为Int型;以及标准化和缩放的变量,NORMise_rate(Real型)、NORM_fall_rate_l(Real型)、NORM_fall_rate_2(ReaI型)、SCALE_rise_rate(Int型)、SCALE_fall_rate(Int型)。5j rise.c
5、ose.rteInt0非保拎11出 NORM.fell_rateJReal0.0等保持12N0RM.foll.rte.2Real0.0羊保持13SCALE fall fateInt李保持图4定义变量9EllSJ HHHgHHH 0SITest名称/提槃里默认值保持可MHhm.Mh.在.JInput2OutputIORMfallracl;5 SCALE-fall-rate:-SCALEeX(MIN:0rVALUE:州。RMjfaIl_rauj2,MAX:-23824);6 BXF“isJconmandTHEN7 AQl:*SCLE-rise-rate;8 EHDJF;9 BIFIfalXeeCO
6、MiandTHEN10 T-AQ1w:-SCLEalIrate;11 ehd_if;12图5SCL程序第1行程序是将“risejate”标准化为0.01.0范围内的值;第2行程序是将“NORM_rise_rate”缩放到PLC能够执行的整数范围,这里需要了解PLC自身模拟量模认电流测量模拟值的范围,需要查找该模拟量模块的手册,本文使用的模拟量模块420mA电流测量范围为027648,中间值12mA对应的值为13824(该值需自己计算)。第3行程序是将“faH_rate”标准化为0.01.0范围内的值;第4行程序是一次转换,由于控制阀412m对应的是IO(M),不太符合常规的表达逻辑。第5行程序
7、是将“N0RM_faH_rate_2”缩放为PLC能够执行的整数方位,解释同第2行。第68行程序是进行指令的判断,如果升起指令FSmand”为真,则将缩放过的值“SCALE_rise_rate”赋值给输出变量AQl,实加气缸升起;第910行程序是排行指令的判断,如果下降指令为真,则将缩放过的值“SCALE_fhll_rate”赋值给输出变量AQl,实现气缸下降;注意这里为了简化程序,程序里没有进行rise_rate”和“fall_rate”进行相互复位操作模拟量控制是一种通过模拟量输入信号来控制伺服电机转矩或速度的方法。通过调整输入信号的大小,可以实现对电机转矩、速度或位置的精确控制。在伺服运
8、动控制中,大家可能经常听到“位置控制”,速度控制”,”模拟量控制”等词。前面几个还能理解,但是“模拟量控制”对于很多人来说还是不了解这是个啥,所以今天就给大家简单讲下“模拟量控制工模拟量控制是一种通过模拟量输入信号来控制伺服电机运动的方法,一般是控制电机的转矩、速度或位置。在这种控制方式下,输入信号的变化范围与电机运动的变化范围是成比例的。通常,输入信号的范围是O-IOV或4-2OmA,对应着电机运动的最小值和最大值。在模拟量控制中,输入信号的变化会被转换成电机的运动,从而控制电机的位置、速度或力矩等。输入信号可以来自于外部的控制器或传感器,例如PLC、PID控制器或者传感器。输入信号的变化会
9、导致伺服电机的运动随之变化,从而实现对电机的精确控制。通过调整输入信号的大小,可以控制伺服电机的运动。当输入信号为最小值时,电机运动达到最低值;当输入信号为最大值时,电机运动达到最高值。在输入信号的变化过程中,电机的运动会随之调整,以实现所需的运动参数。模拟量控制适用于需要精确控制伺服电机转矩、速度或位置的应用场景,例如需要按照特定位置、速度或力度运动的自动化系统、机械加工设备等。通过调整输入信号的大小,可以实现对电机运动参数的灵活调节,满足不同应用需求。一、模拟量位置控制对象索引描述2002h01h运行模式选择2005h2005h:01h:位置指令来源,3模拟量控制方式1,4-模拟量控制方式
10、22005h:2Ah:AH死区判断时间窗口,单位ms2005h:2Ch:模拟盘IoV对应位置值(编码器单位)2017h虚拟输入端子功能配理(详见:“7.1.1数字录输入D2003h2003h:17h:AIl偏置,单位mV2003h:18b:AH输入滤波时间常数,单位ms2003h:19h:AlI死区,单位mV,默认为100mV2003h:1Ah:AH倍率,单位0.001相关对象模拟量输入位置控制有两种方式:“模拟量控制方式1”和“模拟量控制方式2,o1 .模拟量控制方式1:死区前的给定位置=符号(多功能号36电平对应)*模拟量IOV对应位置值*(输入电压*AI1倍率+AIl偏置)/10000(
11、多功能号36有效为负方向,无效为正方向)模拟输入电压2 .模拟量控制方式2:(1)输入电压5-10V:死区前的给定位置=模拟量IOV对应位置值*(输入电压*AIl倍率+AIl偏置)/10000(2)输入电压05V:死区前的给定位置=-模拟量IOV对应速度值*(输入电压*AIl倍率+AIl偏置)/10000模拟输入电压3 .配置示例(1)参数设置设置为NiMotion位置模式:2002h:01h=l设置位置指令来源为3:2005h:OIh=3设置电机使能:2003h:03h=1、逻辑为低电平有效:2003h:04h=0设置模拟量输入位置控制方向:2003h:05h=36逻辑为下降沿有效:2003
12、h:06h=3(2)运行Dll输入低电平,电机按照模拟量给定的位置运行,DI2控制电机运转方向二、模拟量速度控制对象索引描述2002h:01h运行模式选择2006h2006h:01h:NiMotion速度模式主速度给定来源,1-模拟最控制方式12006h:02h:NiMotion速度模式辅速度给定来源,I-模拟量控制方式22006h:03h:NiMOtiOn速度模式速度指令选择.0主速度给定,1-辅速度给定2006h:04h:速度指令数字给定值,单位rpm2006hi07h:速度指令加速斜坡时间常数,职位ms,表示从OrPm加速到100OrPm所用的时间2006h:08h:速度指令减速斜坡时间
13、常数,单位ms2006hi0Ah:正向速度阈值,单位rpm2006h:0Bh:正向速度阈值,单位rpm2017h虚拟输入端子功能配理(详见:数字破输入)2003h2003hi17h:AH偏置,单位mV2003h:18h:AH输入滤波时间常数,单位ms2003h:19h:AIl死区,冷位mV,默认为IoOmV2003h:IAh:All倍率,单位0.0012003h:1Fh:模拟珏IoV对应速度值,单位rpm相关对象模拟量输入速度控制有两种方式:“模拟量控制方式1和模拟量控制方式2”。1 .模拟量控制方式1:死区前的给定速度=符号(多功能号36电平对应)*模拟量IOV对应速度值*(输入电压*AIl倍率+AIl偏置)/10000(多功能号36有效为负方向,无效为正方向)模拟输入电压2 .模拟量控制方式2:(1)输入电压510V:死区前的给定速度二模拟量IOV对应速度值*(输入电压*AIl倍率+AIl偏置)/10000(2)输入电压05V:死区前的给定速度二-模拟量IOV对应速度值*(输入电压*AII倍率+All偏置)/10000模拟输入电压3 .配置示例(1)参数设置设置为Ni