[西门子] 带你了解PLC模拟量采集原理,搞定模拟量编程

[复制链接]
查看97041 | 回复0 | 2024-5-23 17:06:29 | 显示全部楼层 |阅读模式
在工业自动化控制系统中,随着技术的不断更新迭代,控制系统也不再单单局限于数字量控制,越来越多的如温度、压力、直流电机调速、变频器控制等,这些都是连续变化的量,因此模拟量控制应运而生。但是在PLC控制中,PLC实质上还是一种工业计算机,由于计算机只能够处理数字量,无法直接处理模拟量信息。因此PLC就必须通过外部硬件将模拟量转换为数字量输入到PLC内进行处理,同样处理完成后必须通过外部硬件将数字量转换为模拟量输出控制。在这个过程中就需要用到A/D输入模块和D/A输出模块。

在工业自动化应用中又分:电压和电流型两种模拟量模块。

下面以三菱FX2N-4AD模拟量模块为例,介绍其工作原理。

FX2N-4AD模拟量模块是4通道的输入模块,接收模拟量信号将其转换为数字量,其最大分辨率是12位,输入通道电压或是电流的选择是通过使用者配线来决定的,可以选择的模拟量值范围为-10V到10VDC(分辨率5MV)或者4-20MA、-20MA到20MA(分辨率:20ua)。该模块共计有32个缓冲存储区,每个存储区16位。如下图所示外形尺寸:



该模块的配线图如下:



PS:模拟量模块输入接线硬采用双绞屏蔽电缆,并且要远离电源线或其他可能产生干扰的电线。

下面是手册显示其性能指标:



重点来了:该模块的数据转换对应图示,如下:



针对以上图示,需要进行数据换算,也是模拟量应用最关键的一点,下面逐个列举例子分析。

对于0-10V(-10V到10V)的输入情况,当输入电压为0V时,对应着PLC内的数据就是0,当输入电压为10V时对应的PLC内部数值就是2000,假设该通道模拟量采集的是外部热电偶,热电偶的温度测量范围为0-100度,意思也就是:

当外部测量的实际温度为0度时,输入到模拟量模块端的电压就是0V,在PLC内显示的数值就是0;当外部测量的实际温度为100度时,输入到模拟量模块的电压就是10V,在PLC内显示的数值就是2000;因为如果当前温度为50度,则PLC内读到的数值就是1000;他们之前成线性对比关系。



同样对于4-20MA的情况,温度为0-100度对应输入电流4-20MA,在PLC内部为0-1000数值,同样为线性关系,可根据对应关系计算外部温度对应的PLC内部数据值大小。

0-20MA(-20MA到20MA)同样的原理计算。

在实际工业应用中模拟量模块电流输入抗干扰性能要好些。电压型因线路压降问题传输距离也不如电流型。

下面来看一下该模块的BFM缓冲存储区含义:



带※号的缓存器可以使用TO指令从PC写入,不带※号的缓冲存储区的数据可以使用FROM指令读入PC中。

在从模拟量特殊功能模块读出数据前,一定确保这些设置数据已经送入模块中。否则,将使用模块里面之前保存的数值。



通道选择设定

由上表可知通道的初始化是由缓存区BFM#0中的4位十六进制数H0000控制的,每一位对应一个通道,而每一位的数值设定规则为:

0=0:表示该通道为-10V到10V;

0=1:表示该通道为4-20MA;

0=2:表示该通道为-20MA到20MA;

0=3:表示该通道关闭OFF状态;

有上述规则可以:H3210意思为

第一通道:-10V到10V;

第二通道:4-20MA;

第三通道:-20MA到20MA;

第四通道:关闭状态;

其他缓冲存储区可查阅手册设定,其中BFM#30识别码K2010可在初始化时判定当前模块是否正确。

关于指令部分要用到FROM和TO指令,感兴趣的工友可自行查阅使用方法,因不同PLC编程指令差异比较大,不做详述。

关于PLC中模拟量采集部分原理大同小异,都需要A/D和D/A模块进行处理,转换关系原理也一样,只是在PLC内部对应的数据大小有差异,搞懂原理即可灵活运用。

以上就是有关模拟量部分的分享,个人学习总结,仅供参考。

欢迎交流,点点关注不迷路。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则