线下实训
HOME
线下实训
正文内容
模拟编程实例plc PLC编程必备:模拟量计算,结合实际案例详解,这操作一看就懂
发布时间 : 2024-11-24
作者 : 小编
访问数量 : 23
扫码分享至微信

PLC编程必备:模拟量计算,结合实际案例详解,这操作一看就懂

模拟量是工业自动化使用的蛮多的一个东西,一般用在对温度、压力等数字量的检测和控制,比较高端的还会结合PID进行使用。在学习模拟量的过程中,读取到相应的数据很简单,困扰大家学习模拟量的最大难题是对模拟量的量程范围的选择以及计算。下面,陈老师将对模拟量的计算进行一个详细的解说,会结合相应的案例,帮助大家理解模拟量。

例1:

如上图,一个温度感应模块,感应的温度时0~150°,对应的输出电压时0~10V,也就是说感应到0的温度,这个模块就输出一个0V的电压;感应到150°,就输出一个10V的电压。中间的每一个温度也会对应一个相应的电压,这里需要去计算么,不不不,现在还不到计算的时候,我们继续往下看。

上图是我们FX系列的plc,加了2个模拟量的模块,其中FX3U-4AD就是用来接收这些电压数值的模块(也可以接收电流)。有一点要记住,plc显示出来的是数字,而不是电压值。而且,显示出来的数值大小也可以是不同范围,例如,可以把0-10V的电压显示为0-10000的数值,也可以显示为0-4000或者0-32000的对应数值,你选择的数值越大,检测的就越精确,看下图的3种模式,我们可以通过plc编程进行设定,选择其中一种:

(由于我们的温度模块是0-10V的,我们plc的接收范围是-10V--+10V,我们把负数部分去掉,对应的数值的负数范围也可以去掉)

下面我们选择0-32000的数值范围进行计算。也就是说,读取到是数值0,就是电压为0v;读取到32000的数值,就是感应到的电压是10V。再对应到我们温度模块的0-150°,可以发现0-10V就是一个中间量,我们不需要拿他来计算, 0数值对应的温度是0°150°对应的数值是32000。

如上图,温度和读取的数值是一个线性关系,我们可以用坐标系表示,温度为X,显示的数值为Y,这时我们发现,他们之间存在一个比例关系,Y是X的k倍,也就是说,显示的数值是实际温度的K倍,具体是多少倍,我们不知道,我们可以列公式 y=k*x,这时可以代入 x=150°时,y=32000,即 32000=k*150,可以求得,k=32000/150=2133

结论是,读取到的数值除以2133就是实际的温度。

选择不同的量程范围,计算的过程都是一样的,这里就不给大家一一演示,下面进入第二个例子,来看看更有难度的计算。

例2:

下图是我们另外一种温度变送器,它能感应到-50°~+150°的温度范围,输出的是4~20ma的电流。

就是说我们的感应器感应到-50°时,输出电流4mA;感应到150°的温度时,输出20mA的电流。参照下图,我们可以选择不用的量程范围

比如,我们选择0~16000的量程范围,那么这时候对应关系如下:

我们把读取的数值命名为y把实际温度命名为x,x变化,我们的y也会跟着变化,这时,因为我们的温度初始检测值不为零,所以计算比前面有所不同。我们先根据-50°对应数值0, +150°对应的数值为16000,做出下图

我们可以列出这样的方程y=k*x+b,然后代入(-50,0)、(150,16000)

这是初中的直线方程的知识点,我们可以接出k=80,b=4000;

y=80*x+4000或x=(y-4000)/80

最后可以得出,实际的数值减去4000,再除以80就是实际的温度。

我们再来回顾下计算的流程。

这就是我们模拟量的计算过程,当然plc也可以通过D\A模块输出电压或者电流,其计算过程和原理都是一样的,这里就留给大家自己去思考。(本文为技成老师原创,作者:陈育鑫,未经授权不得转载,违者必究!)

往期优秀文章回顾:

变频器的控制回路端口详解,图文并茂~

实例讲解|教你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 ,这点容易被读者忽略。

(来源:网络,版权归原作者所有)

相关问答

西门子1200模拟量输入编程实例?

以下是使用西门子S7-1200PLC进行模拟量输入编程的示例代码:1.配置模拟量输入模块在S7-1200PLC的硬件配置中,添加模拟量输入模块,并配置其参数。例如,如...

西门子plc模拟量编程实例?

以下是一个使用西门子PLC的模拟量编程示例:假设有一个温度传感器,将温度值转换为4-20mA模拟量信号,然后将信号输入到PLC的模拟量输入模块中。我们需要将输入的...

plc程序怎么模拟运行?

1、首先,需要在开始菜单中打开三菱PLC编程软件GXDeveloper:2、然后,需要从工程菜单中创建新工程,并选择使用plc的系列及类型:3、接着,需要编写一个简单...

模拟量输入输出编程实例讲解?

模拟量输入(AnalogInput)和模拟量输出(AnalogOutput)是PLC(可编程逻辑控制器)控制系统中常用的I/O类型之一。模拟量I/O数值的表示是用数字量来模拟实物量...

谁有plc模拟量编程实例?

PLC模拟量编程实例可以参考以下案例:利用PLC实现温度控制系统,通过读取温度传感器的模拟量信号,将其转换成数字量信号,并与设定的温度值进行比较,控制加热器...

三菱温度模拟量编程实例?

以下是一个基于三菱PLC的温度模拟量编程实例:1.假设我们需要把两个模拟量信号(如温度传感器)的变化值,转换成0-10V的电压信号输出到模拟量输出端口上。首先...

CP1H使用2路模拟量输入AD模块,如何在PLC里编程?

首先,你需要的PLC中去设定需要的量程,以及对应的分辨率:1、如果你使用内建的AD输入,那么对应的模拟量输入地址就是:200CH~203CH例如如果使用AD0的话,对...

三菱PLC编程后怎样模拟仿真?

1、首先,我们需要在开始菜单中打开三菱PLC编程软件GXDeveloper:2、然后,需要从工程菜单中创建新工程,并选择使用plc的系列及类型:3、接着,需要编写一个...1、...

三菱plc压力模拟量编程实例?

三菱plc压力模拟量的编程实例:在PLC中使用MOV指令将模拟量输入值移入V区域,然后在触摸屏上放置一个数值显示元件,在元件属性中设定需要线性转换,将PLC的4-20M...

盆友们,PLC怎么编写一个模拟量程序?西门子plc

[回答]既然是输出,要根据负载来说的,负载控制信号是4-20ma还是485?没有模拟量模块是话就不能以4-20ma信号输入模拟量模块,就必须要有模拟量模块才可以有4-...

 王二的经济学故事  呼和浩特教育学院 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部