模拟量在PLC里怎么应用?5分钟后就学会模拟量接线和编程!
在工业应用中,最普遍的两个元素就是数字量和模拟量,今天我们聊一聊模拟量的编程,
模拟量作为工业控制中必不可少的一个元素,由模拟量传感器发出信号,最终由控制单元接收,可以表示温度,压力,流量,液位等等!在PLC控制系统中,最常见的模拟量信号为4-20ma,以前的文章我们也提到过,4-20ma作为行业标准有着得天独厚的优势。
那么除了4-20ma外,我们还可以用-10V~ +10V或者0-20ma等等,这些信号由传感器发送出来,最终进入到PLC模拟量输入通道,那么你知道PLC怎么识别和控制吗?
我们用实例来说明一下,看完本文后你也可以使用PLC编程控制模拟量!
一、 S7-200 模拟量使用简介
S7-200系列产品可以采集标准的电压、电流模拟量信号和热电偶、热电阻温度传感器信号。普通的电压和电流信号经过A/D转换成为0~32000 或者-32000~32000 之间的整数。温度传感器信号被直接转换为摄氏度(或华氏度)温度值,省去了复杂的温度值换算。
S7-200系列可以提供的模拟量输出信号有-10V~ +10V之间的电压和0~20mA 的电流信号,能够满足大多数模拟量负载的需求。
S7-200系列的模拟量扩展模块选型灵活,用户可以根据实际需要选择使用CPU224XP集成的模拟量通道,或者使用4通道输入、8通道输入、2通道输出、4通道输出和输入输出混合模块。
224 XP在CPU上集成了两个模拟量输入端口和一个模拟量输出端口。
224 XP 的模拟量输入/输出通道的精度为 12位。 224 XP上的模拟量输入转换速度比模拟量扩展模块慢,因此要求高的场合请使用模拟量扩展模块。
分辨率 是A/D模拟量转换芯片的转换精度,即用多少位的数值来表示模拟量。S7-200模拟量模块的转换分辨率是12位,能够反映模拟量变化的最小单位是满量程的1/4096。
模拟量转换的精度 除了取决于A/D转换的分辨率,还受到转换芯片的外围电路的影响。在实际应用中,输入的模拟量信号会有波动、噪声和干扰,内部模拟电路也会产生噪声、漂移,这些都会对转换的最后精度造成影响。这些因素造成的误差要大于A/D芯片的转换误差。
二、CPU 224 XP本体集成的模拟量I/O接线图如下:
图中:
a:此处表示A+和B+都可以接±10V信号
b:电流型负载接在I和M端子之间
c:电压型负载接在V和M端子之间
S7-224 XP 的两路模拟量输入通道被出厂设置为电压信号(0-10V)输入。为了能够输入电流信号,必须在 A+ 与 M 端 (或 B+ 与 M 端) 之间并入一个500 欧姆的电阻。并必须确保外接电流源具有短路保护以防损坏。因为没有充分隔离,外接电阻也可成为干扰源。
为了得到尽量精确的测量结果,推荐使用公差尽可能小的电阻。当在500欧电阻两端施加最大 28.8V 的电压时,电阻消耗功率为1.66W。要选择功率大于1.66瓦的500欧电阻。
三、模拟量比例换算
S7-200 CPU内部用数值表示外部的模拟量信号,两者之间有一定的数学关系。这个关系就是模拟量/数值量的换算关系。例如,使用一个0 - 20mA的模拟量信号输入,在S7-200 CPU内部,0 - 20mA对应于数值范围0 - 32000;对于4 - 20mA的信号,对应的内部数值为6400 - 32000。
模拟量转换的目的不是在S7-200 CPU中得到一个0 - 32000之类的数值;对于编程和操作人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量占量程的百分比数值更重要,这是换算的最终目标。
1、通用比例换算公式
模拟量的输入/输出都可以用下列的通用换算公式换算:
Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl
其中:
Ov:换算结果,Iv:换算对象,Osh:换算结果的高限,Osl:换算结果的低限,
Ish:换算对象的高限,Ish:换算对象的低限。
它们之间的关系可以图示如下:
2、实用指令库
为便于用户使用,用户可以将“自定义指令库”添加到自己的Micro/WIN编程软件中应用。下载并添加模拟量比例换算指令库如下图中的scale_E(V1.0),或scaling(V1.2)。
在这个指令库中,子程序Scale_I_to_R可用来进行模拟量输入到S7-200内部数据的转换;子程序Scale_R_I可用于内部数据到模拟量输出的转换。
四、模拟量编程实例
1、模拟电路图及接线如下图,24V电源采用S7-224 XP自带的电源。调节电位器可以得到0—9V的直流电压输出。
喜欢的话请点赞并分享,您的支持是我坚持下去的动力!送人玫瑰,手有余香!
实例讲解|教你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 ,这点容易被读者忽略。
(来源:网络,版权归原作者所有)
相关问答
PLC模拟量程序怎么写?
模拟量输入:使用MOV指令,输入为AIW0或AIW6(看你PLC是否自带模拟量输入),输出为VW0,模拟量输出:使用MOV指令,输出为VW2,输出为AQW0或AQW6(看你PLC是否自...模.....
plc模拟量编程实例详解?
给大伙分享的是关于西门子S7-300PLC模拟量方面的实例,包含了以下几个方面的要点:1、对变送器进行取值,并进行控制2、对模数功能块FC105进行调用3、对AI...
PLC模拟量的编程?
PLC(ProgrammableLogicController,可编程逻辑控制器)的模拟量编程主要涉及以下几个方面:1.确定信号类型和传感器:在PLC编程中,应该确定使用哪种类型...
PLC模拟量编程实例?
1.使用ST结构编写一个简单的PLC模拟量程序,实现当模拟量A的值大于50时,将模拟量B的值设置为100。LD0,A//将模拟量A的值加载到寄存器0MOVD,0//将寄存...
信捷plc模拟量怎么写?
要编写信捷PLC的模拟量程序,你需要按照以下步骤进行:1.确定模拟量输入/输出的类型和数量。确定输入模拟量的数据范围和分辨率。2.创建模拟量输入和输出变量...
s7200模拟量输入编程实例?
以下是一个S7-200PLC模拟量输入的简单编程示例:假设我们有一个模拟量输入模块(如EM231),连接到S7-200PLC的第一个模拟量输入通道,要将输入的模拟量信号读...
松下plc模拟量输入编程实例?
下面是一个松下PLC模拟量输入编程实例:M0:程序开始M1:设置模拟量输入参数M2:调整模拟量输入的正常量范围M3:将模拟量输入的正常量标记为程序变量M4:比...
西门子1200模拟量输入编程实例?
以下是使用西门子S7-1200PLC进行模拟量输入编程的示例代码:1.配置模拟量输入模块在S7-1200PLC的硬件配置中,添加模拟量输入模块,并配置其参数。例如,如...
PLC对模拟量数据的计算方法?
首先确认你模拟量输入模块通道定义范围MIN~MAX,则换算如下:当前电流={(Pmax-Pmin)/(MAX-MIN)}*D0+4(mA);当前压力=={(Pmax-Pmin)/(MAX-MIN)...
CP1H使用2路模拟量输入AD模块,如何在PLC里编程?
首先,你需要的PLC中去设定需要的量程,以及对应的分辨率:1、如果你使用内建的AD输入,那么对应的模拟量输入地址就是:200CH~203CH例如如果使用AD0的话,对...