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模拟量编程
给大伙分享的是关于西门子S7-300PLC模拟量方面的实例,包含了以下几个方面的要点:
1、对变送器进行取值,并进行控制
2、对模数功能块 FC105 进行调用
3、对 AI 模块进行设置
4、对 AI 量程块进行选择
这个实例, 调试的是一个流量调节回路中, 流量变送器输出 2-2-MA DC信号到 SM331 模拟输入模块,模块将该信号转换成浮点数,然后在程序中调用FC105将该值转换成工程量,我们就可以监视实际工程中的流量值了。
模拟量 AI 采用 SM311 模块是 8x12Bit(8 通道 12 位)对应货号是 6ES7 331-7KF02-OABO,在模数转化上利用传感器或变送器的, 电压或电流取出的值,到 AI 模块上进行转换, 然后把值传给西门子的 CPU 进行处理, 从而检测控制传感器的值,如图
模拟量输入模块模拟量输入用于连接电压和电流传感器、 热电耦、电阻和热电阻, 用来实现PLC 与模拟量过程信号的连接。模拟量输入模块如图 2-1 所示,将从过程发送来的模拟信号转换成供 PLC 内部处理用的数字信号。本次工程用的是 SM311 输入模块如图所示。该模块具有如下特点:
分辨率为 9 到 15 位+符号位(用于不同的转换时间) ,可设置不同的测量范围。通过量程模块可以机械调整电流 /电压的基本测量范围。用 STEP 7硬件组态工具可进行微调。模块把诊断和超限中断发送到可编程控制器的 CPU 中。模块向 CPU 发送详细的诊断信息
模拟量输入模块的接线方式
两线制电流和四线制电流都只有两根信号线, 它们之间的主要区别在于:两线制电流的两根信号线既要给传感器或者变送器供电,又要提供电流信号 ;而四线制电流的两根信号线只提供电流信号。因此,通常提供两线制电流信号的传感器或者变送器是无源的 ;而提供四线制电流信号的传感器或者变送器是有源的。
因此,当 PLC 的模板输入通道设定为连接四线制传感器时, PLC 只从模板通道的端子上采集模拟信号, 如图 2-3,而当 PLC 的模板输入通道设定为连接二线制传感器时,如图 2-2,PLC 的模拟输入模板的通道上还要向外输出一个直流 24V的电源,以驱动两线制传感器工作。
传感器型号:
● 两线制 (本身需要供给 24vDC 电源的,输出信号为 4-20MA ,电流)即+接 24vdc,负输出 4-20mA 电流。
● 四线制 (有自己的供电电源, 一般是 220vac ,信号线输出 +为 4-20ma 正,-为 4-20ma负。
1、PLC:(以 2 正、 3 负为例 ),两线制时正极 2 输出 24VDC 电压, 3 接收电流 ,所以遇到两线制传感器时, 一种接法是 2 接传感器正, 3 接传感器负 ;跳线为两线制电流信号。二种接法是 2 悬空,3 接传感器的负,同时传感器正要接柜内 24vdc;跳线为两线制电流信号。
2、(以 2 正、3 负为例 ),四线制时正极 2 是接收电流, 3 是负极。(四线制好处是传感器负极信号与柜内 M 为不同电平时不会影响精度很大,因为是传感器本身电流的回路 )遇到四线制传感器时,一种方法是 2 接传感器正, 3 接传感器负,plc 跳线为 4 线制电流。
“传感器正与 plc 的 3 相连, 2 悬空,跳线为两线制电流。”此条在四线制和二线制传感器均适用,大家可以自己试验,好用的顶起来。
3、(以 2 正、3 负为例 ),四线制传感器与 plc 两线制跳线接法:信号线负与柜内 M 线相连。将传感器正与 plc 的 3 相连, 2 悬空,跳线为两线制电流。
4、(以 2 正、3 负为例),电压信号:2 接传感器正, 3 接传感器负, plc 跳线为电压信号。
量程卡的设置
量程卡 在模板的左侧装有量程卡,允许的设置为“ A”,“B”,“C”和“ D”,分别适用于不同的测量的类型和范围。在安装模板前必须正确地设置它。
没有量程卡的模拟量模板具有适应电压和电流测量的不同接线端子,这样,通过正确地连接有关端子可以设置测量的类型。
关于设置不同的测量类型及测量范围的简要说明印在模板上。对于这个工程,水位的测量采用的是二线制变送器,所以选择“ D”,如图 2-4 所示。
输入模块设置
在“硬件”界面下设置好机架后,双击输入模块“ ATBx12bit”,如下图:
双击输入模块后会弹出一个执行框, 点击“地址”后,将开始地址改为 “256”如下图:
改完地址后,再点击“输入” ,将“测量型号”中点击“ 2DMU ”设置传感器的类型。(本次用的是两线的变送器) 。如下图:
AI 系统
建立一个西门子硬件模块在添加好电源和 CPU 后,在配置文件中选择AI 模块如图 4-1
在添加完成时在硬件系统中会出现此模块如图 4-2
在此操作成功后双击进行选择,设置对话框点输入。如图 4-3
在选择完成后点确定,就可以了,然后就是程序编写。
AI 程序
在 S7-300中 AI 模块的程序已经, 厂方已经写好, 只要进行功能模块的调用就好了,调用方法 如图 4-4
在图 4-4 的下对话框下找到 FC105 功能块,如图 4-5
IN:使能端。HI_LIM :高线。L0_LIM :低线。BIPOLAR :极性。RET_VAL :报错存入。OUT:输出的值(液位)
相关问答
300PLC怎样编写模拟量输入程序?
1300PLC可以编写模拟量输入程序2编写模拟量输入程序的前提是需要了解模拟量和数字量的概念以及其区别。编写模拟量输入程序需要选择合适的输入模块并进行模...
西门子PLC300如何将0-10V的模拟量显示在触摸屏上显真实流量值?又如何用来控制变频器调速呢?
首先,在触摸屏上建输出域,将模拟量的采集通道值传送到输出域就可以了,如果需要计算则导入公式。首先,在触摸屏上建输出域,将模拟量的采集通道值传送到输出域...
西门子plc300模拟量输入干扰严重?
如果西门子PLC300的模拟量输入受到严重干扰,可以采取以下措施来解决问题:1.查找干扰源:首先需要确定干扰的来源,这可能来自于电源线、信号线或周围的其他设...
S7-300模拟量最大值对应的数字量27648是怎么来的?
300的模拟量,输入0-10V或0-20ma的信号,对应0-27648。如果是4-20ma,需要在程序里做处理。比如传感器0-10bar输出4-20ma电流,程序里希望显示压力值,程序处理就...
用西门子s7-300模拟量输出,来控制西门子mm440变频器,实现多速度调速,应该怎么做呢?变频器内部要怎么设?
PLC这边要安装GSD文件在STEP7这边。变频器内部输入IO的设置相关内容进行设置,数字量端子排控制调速或者模拟量控制调速用STARTER进行组态,具体步骤请看相...
西门子plc电流模拟量怎么写程序?
要在西门子plc上实现电流模拟量的写入和读取,首先需要正确配置模拟量输入输出模块。接下来使用指令进行模拟量写入和读取操作,例如使用S7-300PLC的SFB52指令...
西门子plc300模拟量输入模块故障指示灯不亮是否代表模块正常?
1、指示灯坏了2、模块坏到故障灯也不亮了3、故障指示灯亮只能代表很明显的故障1、指示灯坏了2、模块坏到故障灯也不亮了3、故障指示灯亮只能代表很明显的...
西门子300PLC模拟量输入输出模块直接接收的数据类型是什么?
西门子模拟量模块的数据类型为INT类型。西门子模拟量模块的数据类型为INT类型。
西门子S7300PLC模数转换编程-多多熊的回答-懂得
调用库里StanardLibrary里TI-S7里FC105调用一个FC105就可以了
西门子plc300功能块编程方法?
西门子PLC300功能块编程方法可以按照以下步骤进行:确定需要使用的功能块:首先需要确定所需的功能块,可以在西门子的官方网站上查找可用的功能块,或者参考PLC3...