PLC模拟量转化原理及其处理

文章介绍了PLC如何处理模拟量信号,如电压和电流,以及如何将这些信号转换为整型数据。通过定义输入和输出接口,提出了一个通用的转换方案,考虑了不同传感器和模块的范围差异,并涉及将转换后的数值映射到实际物理量(如温度)的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

了解模拟量

模拟量是指变量在一定范围连续变化的量;也就是在一定范围(定义域)内可以取任意值(在值域内)。
一般在工控领域,数字量一般是指开关信号。模拟量是指电压电流信号。

因此模拟量又分为电压型电流型

PLC有专门的模块接受电压和电流信号.
电压型大体的范围有0-10V,0-5V。
电流型大体范围有0-20mA,4-20mA。

注意虽然说模块是0-10V,但输入端的传感器等的范围不一定是标准的0-10V,也有可能是0-5V,但只要输入端的范围在模块范围内即可。

信号之间关系

模拟量信号接入PLC后,PLC将模拟量信号转换为了整型数据,但注意不同的PLC转换后的值不一定是一样的,这里以0-32767为例。

例如模块输入电压0-10V,转换后是0-32767。两者是线性关系
x/(10-0)=y/(32767-0)

0-10V转成0-32767

转换实现

首先获取明确PLC是否带有模拟量输入和输出,以及通道数量。这个PLC上自带两路模拟量输入和输出,以西门子为例。

西门子模拟量
这里可以查看模拟量输入输出是电流还是电压控制。

电压型
此时需要根据关系式进行转换。

output:=input*32767/10

如果类型范围不是0-10v,转换也不是0-32767,此时用一个通用的接口接收。

定义输入接口
Input	:REAL;输入的信号值
MinAccept	:REAL;接受范围的最小值
MaxAccept	:REAL;接受范围的最大值
Minswitsh	:REAL;转换后的最小值
Maxswitsh	:REAL;转换后的最大值
定义输出接口
Output	:REAL;

具体公式:

0-32767的值转换实际电压或者电流
Output:=Input*(Maxswitsh-Minswitsh)/(MaxAccept-MinAccept)

通用方案的实现

虽然我们的得到了转换之后的数值,但终究还是在一个原本规定的范围值内。假如接受的是温度,那么转换后的值还必须转换成温度,我们上面的方案缺少这一步。
还有一种特殊情况是如果传感器是0-5V的,但是模块是0-10V的。
为了考虑这些情况必须增加接口。

定义输入接口
Input	:REAL;输入的信号值
MinAccept	:REAL;模块接受范围的最小值(例如0-10V的0V)
MaxAccept	:REAL;模块接受范围的最大值(例如0-10V的10V)
Minswitsh	:REAL;PLC转换后的最小值(例如0-327670)
Maxswitsh	:REAL;PLC转换后的最大值(例如0-3276732767)
MinAct		:REAL;传感器输出范围的最小值(例如0-5V的0V)
MaxAct		:REAL;传感器输出范围的最大值(例如0-5V的5V)
MinSensor	:REAL;传感器输出实际数值最小值(例如温度是0-127℃的0℃)
MaxSensor	:REAL;传感器输出实际数值最大值(例如温度是0-127℃的127℃)
定义输出接口
Output	:REAL;
定义中间量
Mid_1	:REAL;
Mid_2	:REAL;

具体转换:

获取实际的电压或者电流值
Mid_1:=Input*(Maxswitsh-Minswitsh)/(MaxAccept-MinAccept)
按照比例转换成实际值,例如温度
Mid_2:=Mid_1*(MaxSensor-MinSensor)/(MaxAct-MinAct)
输出值
Output:=Mid_2
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

破罐子不摔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值