实例讲解|教你PLC模拟量编程
【领西门子全套资料,看文末】
【领西门子全套资料,看文末】
【领西门子全套资料,看文末】
什么是模拟量编程?
模拟量是一种连续变化的量。它的使用对象也是各种连续变化的量,比如温度、压力、湿度、流量、转速、电流、电压、扭矩等。
模拟量编程,很多初学者觉得很难,其实只要把握住模拟量编程的关键点,就可以轻松解决。
这个关键点就在于找到工程量与内码的转换关系 。所谓的工程量 是指工业控制中的实际物理量,如压力、温度、流量和液位等,这些物理量通过变送器能够产生标准的连续变化的模拟量信号。所谓的内码 是指外部输入的连续变化的模拟量信号在模拟量输入模块内部对应产生的数字量信号(我们知道在PLC及其模块内部实现运算的都是数字量信号)。
那么归根结底,找工程量与内码的转换关系,就是指实际物理量与模拟量模块内部数字量的对应关系。在找对应关系时,应考虑变送器输出量程和模拟量输入模块的量程。
下面我们举个例子,用两种方法讲解一下模拟量的编程。
【领西门子全套资料,看文末】
【领西门子全套资料,看文末】
实例
【控制要求】
某温度变送器量程为0~100℃,输出信号为4~20mA,模拟量输入模块EM AE04量程为0~20mA,转换后数字量为0~27648,设转换后的数字量为X,试编程求温度值。
【方法一】一般解法
1.找到实际物理量与模拟量输入模块内部数字量比例关系
温度变送器的输出信号的量程为4~20mA,模拟量输入模块EM AE04的量程为0~20mA,二者不完全对应,因此实际物理量0℃对应模拟量模块内部数字量5530,实际物理量100℃对应模拟量模块内部数字量27648。
找到实际物理量与模拟量输入模块内部数字量比例关系
2.程序编写
通过上步找到比例关系后,可以进行模拟量程序的编写了,编写的关键在于用PLC指令表达出P=100(X-5530)/(27648-5530)。
实例的模拟量程序
【领西门子全套资料,看文末】
【领西门子全套资料,看文末】
【方法二】用模拟量转换库进行编程
为便于用户编程,西门子官方网站提供了模拟量比例转换指令库文件
利用库文件中的模拟量比例转换指令S_ITR,可以非常方便的将实际物理量与模拟量输入模块内部数字量建立联系。
1.S_ITR指令解析
S_ITR指令解析
2.模拟量比例转换指令库在STEP7_Micro/WIN编程软件中添加
首先,在西门子官方网站上下载模拟量比例转换指令库文件
接着打开STEP7_Micro/WIN编程软件,在项目树中的库文件夹上,右键单击并选择“打开库文件夹”,打开库文件夹所在的路径,将模拟量比例转换指令库文件
文件复制到该路径下,之后在项目树中的库文件夹上,右键单击并“刷新库”即可。
模拟量比例转换指令库在STEP7_Micro/WIN编程软件中添加
【领西门子全套资料,看文末】
【领西门子全套资料,看文末】
3.程序编制
利用模拟量比例转换指令得到程序。
利用模拟量比例转换指令得到的程序
【经验总结】
(1)细品上面的例子,真正理解内码与实际物理量的对应关系 ,才是掌握模拟量编程的关键 。一些初学者模拟量编程不会,原因就在这。
(2)用模拟量比例转换指令 编程非常便捷,读者应熟练利用该指令,并学会添加指令库,在模拟量编程中建议使用该方法编程,好处是占用的网络少并且编程快速 。
(3)用热电阻和热电偶模块采集温度时,实际温度=内码/10 ,这点容易被读者忽略。
(来源:网络,版权归原作者所有)
西门子1200PLC模拟量测温案例,看完新手也会使用功能指令
一、任务目标
该任务是功能指令应用案例,使用功能指令有助于我们理清编程思路。本任务使用了标准化及缩放指令,在实际应用中这两个指令应用非常广泛。本任务除了指令的解读之外,还涉及模拟量相关知识。
本任务要求读者掌握以下几个内容:
1.模拟量与数字量的关系
2.温度传感器的接线
3.模拟量与实际物理量的转换
4.标准化指令和缩放指令的使用
二、任务描述
如图3-5-1所示此温度传感器可采集车间温度,传感器(DC0-10V)把测量的数据反馈给PLC,PLC可通过计算得到实际的温度值,以便于在HMI上显示:
图3-5-1 温度采集示意图
三、相关知识
本案例需要了解的知识有模拟量的概念;模拟量与数字量的基本转换关系;温度传感器的接线;涉及编程主要掌握的是标准化及缩放指令的使用。
01、 模拟量控制简介
(1)在工业控制中,某些输入量(温度、压力、液位、流量等)是连续变化的模拟量信号,某些被控对象也需模拟信号控制,因此要求PLC有处理模拟信号的能力。PLC内部执行的均为数字量,因此模拟量处理需要完成有两方面任务:一是将模拟量转换成数字量(A/D转换);二是将数字量转换为模拟量(D/A转换)。
(2)模拟量处理过程如图3-5-2所示。这个过程主要分为以下几个阶段:
图3-5-2 模拟量处理过程
①模拟量信号的采集,由传感器来完成。传感器将非电信号(如温度、压力、液位等)转换成电信号。
注意:此时的信号为非标准信号。
②非标准信号转换成标准信号,此项任务由变送器来完成。传感器输出的非标准电信号输送给变送器,经变送器将非标准电信号转化成标准电信号。根据国际标准,标准信号分为电压型和电流型两种类型。电压型的标准信号DC0-10V和0-5V等;电流型的标准型号为DC0-20MA和DC4-20MA。
③A/D转换。变送器将其输出的标准信号传送给模拟量输入扩展模块后,模拟量输入扩展模块将模拟量信号转化为数字量信号。
02、 温度传感器接线
(1)变送器信号的选择:
①电压型变送器的选用:早期的变送器大多为电压输出型,即测量信号转换成0-5V或0-10V电压输出。这是运算放大器直接输出,信号功率小于0.05W,通过A/D转换电路转换成数字信号供S7-1200PLC读取、控制。但在信号需要远距离传输或使用环境中电网干扰较大的场合,电压输出型变送器的使用受到了极大限制,暴露了抗干扰能力较差、线路损耗导致精度降低等缺点;所以电压信号一般只使用与短距离传输。
②电流型变送的选用:当现场与控制室之间的距离较远,连接电线的电阻较大时,如果用电压信号远传,电线电阻与接收仪表输入电阻的分压,将产生较大的误差,而用恒电流信号远传,只要传送回路不出现分支,回路中的电流将不会随电线长短而改变,从而保证了传送的精度;所以一般远距离传输用的都是电流信号。
(2)温度变送器及传感器,如图3-5-3:
图3-5-3 温度变送器及传感器
(3)变送器的类型及接线
变送器分为四线制、三线制、二线制接线法。这里讨论的“线制”,是以传感器或仪表变送器是否需要外供电源来区别的,而并不是指模块需要几根线或该变送器有几根输出信号线。以下介绍三线制电压型变送器接线方法如图3-5-4:
图3-5-4 温度变送器接线
03、 模拟量与数字量的转换
在实际的工程项目中,读者往往采集温度、压力、流量等信号,那么在程序中如何处理这些模拟量信号呢?换句话说编写模拟量程序的目的是什么呢?编写模拟量程序的目的是将模拟量转换成对应的数字量,最终将数字量转换成工程量(物理量)。
模拟量转换为工程量分为单极性和双极性两种。双极性的-27648对应工程量的最小值,27648对应工程量的最大值。
单极性模拟量分为两种,即4-20mA和0-10V、0-20mA。
(1)第一种为4-20mA,是带有偏移量的。
因为4mA为总量的20%,而20mA转换为数字量为27648,所以4mA对应的数字量为5530。模拟量转换为数字量是S7-1200PLC完成的,读者要在程序中将这些数值转换为工程量。
(2)第二种是没有偏移量的
没有偏移量的是如0-10V、0-20mA等模拟量,27648对应最大工程量,0对应工程量的最小值。
(3)模拟量信号(0-10V、0-5V或0-20mA)在S7-1200PLC CPU内部用0-27648的数值表示(4-20mA对应5530-27648),这两者之间有一定的数学关系,如图3-5-5
图3-5-5 模拟量信号与数字量曲线
04、 标准化指令和缩放指令
(1)标准化指令(NORM_X)
NORM_X指令:使用“NORM_X”指令,可将输入VALUE中变量的值映射到线性标尺对其标准化。使用参数MIN和MAX定义输入VALUE值范围的限值:
注意:可以从指令框“<???>”下拉列表中选择该指令的数据类型。
标准化指令的计算公式是:OUT= (VALUE - MIN) / (MAX - MIN),其中 (0.0 <= OUT <= 1.0),计算原理如图3-5-6
图3-5-6 标准化指令公式对应计算原理图
用一个例子来说明标准化指令(NORM_X)的使用,梯形图如图3-5-7所示:
当I0.0闭合激活标准化指令,要标准化的VALUE存储在MW10中,VALUE的范围是0-27648,将VALUE标准化的输出范围是0.0-1.0。假设MW10中是13824,那么MD12中的标准化的结果是0.5。
图3-5-7 标准化指令示例
(2)缩放指令(SCALE_X)
SCALE_X指令:使用“SCALE_X”指令,可将输入VALUE的值映射到指定的值范围来对其缩放。当执行缩放指令时,输入VALUE的浮点值会缩放到有参数MIN和MAX定义的值范围。缩放结果为整数,存储在OUT输出中。缩放指令参数见下表:
注意:可以从指令框“<???>”下拉列表中选择该指令的数据类型。
缩放指令的计算公式是:OUT= VALUE (MAX - MIN) + MIN,其中 (0.0 <= VALUE <= 1.0),计算原理如图3-5-8;
用一个例子来说明标准化指令(NORM_X)的使用,梯形图如图3-5-8所示,当I0.0闭合激活标准化指令,要标准化的VALUE存储在MD16中,VALUE的范围是0-27648,将VALUE标准化的输出范围是0-27648。假设MD10中是0.5,那么MW20中的标准化的结果是13824。
图3-5-8 缩放指令示例
四、任务实施
本任务的实施步骤主要分为PLC接线、IO地址分配以及程序设计思路:
01、 IO地址分配
输入地址
说明
温度显示地址
说明
IW64
模拟量输入
MD24
温度显示
02、 程序设计思路
1)使用标准化指令,把采集过来的模拟量值进行标准化,标准化后的范围值在0.0-1.0之间。
2)再使用缩放指令,把标准化后的数值进行缩放,缩放后的范围值在温度传感器量程(-50.0-200.0℃)范围之间。
03、 程序设计
五、经验与总结
1、模拟量的换算,主要是要理解模拟量与数字量之间的关系。
2、在本任务中,主要使用的是标准化和缩放指令进行模拟量采集换算,换算的时候要注意数字量及工程量数值的填写,以免换算错误。
3、在上述例子中,温度传感器的量程为-50℃-200℃,所以在缩放指令中需要正确填写数值。
4、如果现场有多个温度传感器,可以使用带参数子程序的方式编写更加方便。
5、如果现场的传感器是4-20mA电流输出的,那么在标准化指令中的MIN管脚填写的数值应该是5530,而不是0。
(技成培训网原创,作者:郭彪,未经授权不得转载,违者必究)
小编推荐:
13种电气计算EXCEL表格,自动生成!从此计算不求人(超实用)
手机版电工专用计算器,1分钟快速搞定复杂的电工计算
6款免安装的超实用电气计算软件,值得下载
相关问答
三菱plc模拟量读取指令?
三菱pLc模拟读取指令,电位器数据读指令VRRD,电位器开关设定指令VRSC。1、确认模拟量输入模块型号及输入点,按说明书接好线2、确认模拟量模块的位置,以及DFM...
西门子S7-1200PLC如何转换模拟量?
刚好手头有一个项目有用到模拟量输入输出的,下面就讲解一下首先我这里用的模拟模块是SM1234模块4输入2输出下面是软件设置,可以选择电压模式或者电流模式...
三菱PLC编程指令MC怎么输入?
三菱PLC主控指令MC输入方法:编写MC主控命令的时候,先按F8转入输入命令格式;然后写MC空格N0,空格Mx按确认键完成;主控结速时,按F8输入MCR,空格Nx确认后...
三菱plc模拟量输入用什么指令?
三菱PLC模拟量输入通常使用MOV指令或LD指令,根据具体情况选择对应的数据类型和地址。例如,如果你要将模拟量输入的数据存储到寄存器D100中,可以使用以下指令:...
PLC中,指令STL,SET是什么意思,在哪用?M8029的用法又是什...
最佳答案STL是步进触点指令,用于“激活”某个状态。STL触点一般是与左侧母线相连的常开触点,当状态步成为活动步时,对应的STL触点接通,它右边的电路被处理...
plc编程指令详细讲解?
PLC(可编程逻辑控制器)编程指令是用于控制和操作PLC系统的命令。它们告诉PLC要执行的具体操作,例如读取输入、执行逻辑运算、控制输出等。不同的PLC制造...
为什么plc的模拟量是aiw16?
PLC(ProgrammableLogicController)在自动化控制领域中广泛应用,用于控制各种工业场景中的机器和设备。PLC通常需要读取和控制模拟量信号,比如温度、压力...
PLC中,指令STL,SET是什么意思,在哪用?M8029的用法又是什么?
STL是步进触点指令,用于“激活”某个状态。SET是置位指令,转移方向用。STL触点一般是与左侧母线相连的常开触点,当状态步成为活动步时,对应的STL触点接通...S...
plc指令程序是什么?
1.PLC指令程序是一种用于编程可编程逻辑控制器(PLC)的指令序列。2.PLC指令程序的目的是控制PLC执行特定的操作,例如监测输入信号、进行逻辑运算、控制输出信...
plc中ZRST指令用法?
2、下一步,继续通过梯形图输入在X0触点后面确定ZRSTD0D5。3、这个时候需要选择对程序进行转换,并点击模拟测试按钮。4、这样一来如果没问题,即可实现plc中Z...