线下实训
HOME
线下实训
正文内容
模拟量输入给plc编程 PLC如何使用模拟量?接线加程序实例讲解,轻松学好PLC
发布时间 : 2024-10-06
作者 : 小编
访问数量 : 23
扫码分享至微信

PLC如何使用模拟量?接线加程序实例讲解,轻松学好PLC

首先我们了解一下什么是数字量和模拟量?为什么PLC需要使用模拟量?

数字量

数字量是物理量的一种。它们的变化在时间上是不连续的,总是发生在一系列离散的瞬间。这一类物理量叫做 数字量。也就是离散量,指得是分散开来的、不存在中间值的量。

模拟量

模拟量是指变量在一定范围连续变化的量;也就是在一定范围(定义域)内可以取任意值(在值域内)。

数字量是分立量,而不是连续变化量,只能取几个分立值,如二进制数字变量只能取两个值。

那么对于实际的工业应用而言,数字量和模拟量都是必不可少的。

因为在工厂的自动化控制中,我们需要对温度,压力,液位,深度等等数据进行监控并控制。

比如说一个锅炉的控制,我们需要水烧到一定温度,一般来说该温度是可调的,比如说50摄氏度,或者70摄氏度,而数字量则不能满足这些条件。

再举个例子,一些化工企业需要测量液体的酸碱度,那么酸碱度不可以用数字量的0或者1表示,只能使用模拟量,PH6.5,PH7.0等等才可以清晰的描绘出实际的数据。

那么学习模拟量其实应该学习两部分内容;

一硬件;

硬件包括选型和接线,选型就是针对不同的工况选择不同的模拟量以及PLC,比如说模拟量使用0-10V,4-20ma还是0-20ma还是特殊的热电偶信号等等。

其次就是接线,大家不要小瞧了接线,针对不同的PLC有不同的接线方法。

对于西门子S7-300系列来说,我们需要使用拓展模块,打开西门子STEP7,徐楠则合适的PLC和模拟量模块,并将模块添加进去。

对于PLC而言,每一个模拟量都有一个固定的地址,这个地址是可以在程序中进行识别并计算的,续智能则合适的地址并添加进去。

根据现场设备,选择合适的量程,如果是测量温度的话需要使用特定的温度模块,并选择合适的温度信号。对于温度的控制,我们以前文章有介绍过,需要的朋友可以去寻找。

对于电压信号,有多种可选类型,可根据实际设备的信号类型进行选择。比如说-10V—10V,-5V—5V,-1V—1V,1-5V。

当然,西门子系列的模拟量拓展模块有很多,除了文中所用到的,还有很多其他的电压信号应用在不同领域。如下图所示。

对于电流信号则分为二线制和四线制,需要按照实际仪表去选择。

如上图所示,选择好模拟量输入类型后需要将硬件的量程卡也切换到相应的位置。

记得拆模块前先断电,调整完以后上电并下载硬件组态。

而对于其他的PLC而言就没有更换量程卡这一步骤,只需要将线直接接到PLC模拟量输入模块即可。

二软件编程;

对于初学PLC编程的人来说,模拟量输入、输出模块的编程要比用位变量进行一般的程序控制难的多,因为它不仅仅是程序编程,而且还涉及到模拟量的转换公式推导与使用的问题。不同的传感变送器,通过不同的模拟量输入输出模块进行转换,其转换公式是不一样的,如果选用的转换公式不对,编出的程序肯定是错误的。

其实对于PLC而言,它可以接受的都是-32767-32767数据,我们需要对这个数据转换成为我们需要的实际数据。

我做了一张图去区分电流和电压信号的区分。

它的意思是将模拟量通道为304的数据转化为量程是0-500的实际数据,并将数据赋给MW104.

模拟量输出则相反,将数据从MW104转化为0-100%的模拟量数据,比如说如果外部信号PQW320是0-10V,则对应0V-10V。

改图是模拟量输出的表达形式,大家可以保存下来。方便查找。

最后给大家一个简单的实例讲解;

这时一个不太复杂的加料程序中的一部分,程序很容易理解,是一个在大料仓里面的雷达料位机,该项目中雷达料位计的特点是可以检测0.5-10米的原料料位,因为生产的原因该料仓需要保证一直有原料。

所以我们需要在该料仓低于大概2米的时候进行补料以保证该料仓的原料充足,并且在达到9米的时候停止避免原料堆积到外面。

好了,模拟量输入输出你看懂了吗?

更多好文章请关注我的头条号!

西门子PLC模拟量是如何编程的

在PLC编程中,模拟量是我们经常会用到的,比如压力传感器的模拟量反馈就要用到模拟量输入模块,给比例阀的设定就需要用到模拟量输出模块等等,模拟量编程的掌握也是PLC编程的必备技能,编程的基本思路其实也是非常简单,下面我们就先简单说说:

对于模拟量输入来说:只需要将反馈的电压或电流信号进行数字化处理,并对处理后的数字量进行标准化(也就是0~100%或-100%~100%)。然后就可以根据实际进行编程了。

对于弄你两输出来说:就需要将程序执行后的结果进行去标准化,比如就是将0~100%转化成0~27648(这里量程的范围主要看选择的模块支持的信号和范围),如下面这段程序:

下面我们就一步步看看到底是什么编程的,我们这里就以模拟量输出为例来进行编程:

需要在硬件组态中插入一个模拟量模块,本例中插入的是模拟量输出模块 SM 332; AO 8 x 12 位; (6ES7332-5HF00-0AB0) ,8个通道,每个通道可设置为电流或电压输出

也可以设置量程,如下图所示:

2、下面我们就要知道我们要用到模拟量精度及量程转换

模拟量转换的分辨率

分辨率是 A/D 模拟量转换芯片的转换精度,即用多少位的数值来表示模拟量。模拟量模块的转换分辨率用于反映模拟量变化的最小单位。精度 < 15 位时,将所有由"x"标识的位设置为"0"。

模拟量模块所支持的模拟值精度,如表1.1所示。

表1.1

单极性输入范围(例如,电压输入0~10V,对应值为0~27648),如表所示。

双极性输入范围(例如,电压输入-10~10V,对应值为-27648~27648),如表所示。

例如,下表中 12 位分辨率的模块,其数据从低字节的第四位(bit3)开始变化,其最小变化单位2的3次方= 8 ,bit0~bit2 则补" 0 "(红色图框为无效位)

设该模拟量通道类型为电压0~10V,满量程电压值10V对应数据27648,其能识别的最小电压值为:

3、STEP 7 V5.x中模拟量输入/输出的编程

1)FC105/FC106 在哪里?

在编程界面下,在 "程序元素"中的 "库——> Standard Library ——> TI-S7 Converting Blocks"中可以找到,见下图:

注意:请不要使用 "S5-S7 Converting Blocks"下的 FC105,FC106,该路径下的功能是用于 S5 输入输出模板的,在 S7 输入输出模板上无法使用。

2) FC105功能描述

SCALE(FC105)功能接受一个整型值(IN),并将其转换为以工程单位表示的介于下限和上限(LO_LIM和HI_LIM)之间的实型值。将结果写入OUT。SCALE功能使用以下等式:

OUT = [ ((FLOAT (IN) - K1)/(K2 - K1)) * (HI_LIM - LO_LIM)] + LO_LIM

常数K1和K2根据输入值是BIPOLAR还是UNIPOLAR设置。

● BIPOLAR:假定输入整型值介于 -27648与27648之间,因此K1 = -27648.0,K2 = +27648.0

●UNIPOLAR:假定输入整型值介于0和27648之间,因此K1 = 0.0,K2 = +27648.0

如果输入整型值大于K2,输出(OUT)将钳位于HI_LIM,并返回一个错误。如果输入整型值小于K1,输出将钳位于LO_LIM,并返回一个错误。

通过设置LO_LIM > HI_LIM可获得反向标定。使用反向转换时,输出值将随输入值的增加而减小。

3) FC105的参数定义

故障信息:

如果输入整型值大于K2,输出(OUT)将钳位于HI_LIM,并返回一个错误。如果输入整型值小于K1,输出将钳位于LO_LIM,并返回一个错误。ENO的信号状态将设置为0,RET_VAL等于W#16#0008。

4) FC105例子程序

上图中用MW20作为模拟量输入地址(正常编程中在IN中模拟量输入地址比如PIW256,这个值根据前面规则来的,也就是单极性27648对应100)

5) FC106 功能描述

UNSCALE(FC106)功能接收一个以工程单位表示、且标定于下限和上限(LO_LIM和HI_LIM)之间的实型输入值(IN),并将其转换为一个整型值。将结果写入OUT。UNSCALE功能使用以下等式:

OUT = [ ((IN - LO_LIM)/(HI_LIM - LO_LIM)) * (K2 - K1) ] + K1

并根据输入值是BIPOLAR还是UNIPOLAR设置常数K1和K2。

● BIPOLAR:假定输出整型值介于 -27648和27648之间,因此,K1 = -27648.0,K2 = +27648.0

● UNIPOLAR:假定输出整型值介于0和27648之间,因此,K1 = 0.0,K2 = +27648.0

如果输入值超出LO_LIM和HI_LIM范围,输出(OUT)将钳位于距其类型(BIPOLAR或UNIPOLAR)的指定范围的下限或上限较近的一方,并返回一个错误。

6) FC106 的参数定义

故障信息:

如果输入值超出LO_LIM和HI_LIM范围,输出(OUT)将钳位于距其类型(BIPOLAR或UNIPOLAR)的指定范围的下限或上限较近的一方,并返回一个错误。ENO的信号状态将设置为0,RET_VAL等于W#16#0008。

7) FC106 例子程序

上图中就是MD作为设定,本例设定50,对应的输出就是13824,并将MW16(13824送至PQW256,控制对应设备,例如比例阀的开口度)。

那么TIA Portal博途中模拟量输入/输出的编程

1)SCALE/UNSCALE在哪里?

在TIA Portal中指令SCALE/UNSCALE的功能和STEP7中的FC105/FC106功能相同,用于模拟量输入/输出的编程。

编程界面下,在 "指令" 中的"基本指令 ——> 转换操作"中可以找到,

电气相关知识和经验是用来分享,希望本文能对你有帮助。与人玫瑰,手留余香。

相关问答

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

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

PLC模拟量程序怎么写?

模拟量输入:使用MOV指令,输入为AIW0或AIW6(看你PLC是否自带模拟量输入),输出为VW0,模拟量输出:使用MOV指令,输出为VW2,输出为AQW0或AQW6(看你PLC是否自...模.....

带电源的模拟量信号如何接入PLC?

1.首先,了解plc的输入和输出特性。plc通常具有数字输入和输出通道,用于连接和控制外部设备。数字输入通道用于接收模拟量信号,而数字输出通道用于将plc的输出...

plc连接外部模拟量过程?

PLC连接外部模拟量的过程需要先确定所需的模拟量输入输出模块,然后将其插入到PLC的相应插槽中。接下来,需要将模拟量信号传输线路与模块连接,然后通过PLC编程...

300PLC怎样编写模拟量输入程序?

300PLC编写模拟量输入程序的步骤如下:1.确定模拟量输入口的地址:通过PLC的接口板确定模拟量输入口的地址,一般为AI1、AI2、AI3等。2.配置硬件参数:根据实...

s7200模拟量输入编程实例?

以下是一个S7-200PLC模拟量输入的简单编程示例:假设我们有一个模拟量输入模块(如EM231),连接到S7-200PLC的第一个模拟量输入通道,要将输入的模拟量信号读...

西门子模拟量输入信号如何控制输出编程?

西门子模拟量输入信号如何控制输出编程?西门子模拟量输入信号如何控制输出编程?其实就是模拟量输入信号如何转化为所需的数值。以我们常用的S7-300PLC的模拟量...

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

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

plc模拟量编程实例详解?

给大伙分享的是关于西门子S7-300PLC模拟量方面的实例,包含了以下几个方面的要点:1、对变送器进行取值,并进行控制2、对模数功能块FC105进行调用3、对AI...

如何在plc中加模拟量?

在PLC(可编程逻辑控制器)中添加模拟量通常涉及以下步骤:选择合适的模拟量输入模块:首先,您需要选择一个适合您应用需求的模拟量输入模块。这些模块通常具有...

 活剥父母  CANG井空 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

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

热线

188-0000-0000
专属服务热线

微信

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