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

了解模拟量

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

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

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
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值