[西门子] 完美的模拟量编程详解——三菱FX2N系列

[复制链接]
查看88867 | 回复0 | 2024-1-29 19:52:43 | 显示全部楼层 |阅读模式




前几期,我们发表过西门子PLC的模拟量手把手教学文,发现大家很感兴趣,也有不少朋友给我们留言需要我们发表些三菱PLC的,苦于事多,力不从心!今天熬夜,把这空缺补上!(熬夜伤身,记得多给我们鸡腿补补)


先用例子来引导
有一个压力变送器,量程为0~20MPa,输出信号为0~10V。PLC借助FX2N-2AD的模拟量输入模块,将压力值传送给上位机显示。

其中的FX2N-2AD模块的量程为0~10V,转换后的数字量为0~4000,(这个0~4000,是FX2N-2AD模块的输出特性,也就是线性比的数据值,跟西门子的0~32000和0~27648是一个道理)。



所需主要软硬件配置

① 1套GX DEVELOPER V8.86;

② 1个FX2N-2AD模块;

③1台FX2N-16MT PLC。

第一步——FX2N-2AD 了解

FX2N-2AD模块只有两个通道,也就是说最多只能和两路模拟量信号连接,其转换精度为12位。FX2N-2AD模块并不需要外接电源供电,其电源直接由PLC供给。



第二步——FX2N-2AD 接线

FX2N-2AD模块可以转换电流信号和电压信号,但其接线有所不同,外部电压信号与FX2N-2AD模块的连接如下图所示,传感器与模块的连接最好用双绞线,当模拟量的噪声或者波动较大时,在图中连接一个00.1~4.7μF的电容,VIN1和VIN2与电压信号的正信号相连,COM1和COM2与信号的低电平相连。FX2N-2AD模块的供电直接由PLC通过扩展电缆提供,并不需要外接电源。



外部电流信号与FX2N-2AD模块的连接如下图所示,传感器与模块的连接最好用双绞线,IIN1和IIN2与电流信号的正信号相连,COM1和COM2与信号的低电平相连。VIN1和IIN1短接,VIN2和IIN2短接。



此模块的不同的通道只能同时连接电压或者电流信号,如通道1输入电压,那么通道2的输入只能是电压信号。

【关键点】

① FX2N-2AD不能将一个通道作为模拟电压的输入,而另一个作为电流输入,这是因为两个通道使用相同的偏值量和增量值。

② 模块的转换位数为12位,对应的数字为2的12次方减1=4095,但实际应用时,为了计算方便,通常情况下都将最大模拟量输入(DC 10V或20mA)所对应的数字量设定为4000,A/D转换的输出特性见下表1。

④ 输入信号只能是单极性的。



表1 A/D转换的输出特性

第三步——FX2N-2AD 模块的编程

相对于其他的PLC(如西门子S7-200),FX2N-2AD模块的使用不是很方便,要使用FROM/TO指令。使用TO指令启动A/D转换,用FROM指令将A/D转换结果读入PLC。

转换结果数据在模块缓冲存储器(BFM)中的存储地址如下。

BFM#0的bit0~bit7:转换结果数据的低8位。

BFM#1的bit0~bit3:转换结果数据的高4位。

A/D转换控制信号在模块缓冲存储器(BFM)中的存储地址如下:

BFM#17的bit0:通道选择,为0时,选择通道1;为1时,选择通道2。

BFM#17的bit1:A/D转换的启动信号,上升沿启动A/D转换。

说了以上三步,回到文章开篇的例子(我知道你肯定已经忘记什么内容,赶紧往上翻~~),如何对例子进行编程呢?

直接看程序:



借助:第三步——FX2N-2AD 模块的编程的内容。我们对上面程序进行讲解:

1:BFM#17的bit0 写入0值,代表我们选择FX2N-2AD 模块的第一个通道来采取压力变送器的信号。

2:BFM#17的bit1 写入1值,代表我们要启动通道1的A/D转换功能。

3:PLC获取FX2N-2AD 模块的数据,写到M100~M131。

4:数据优化,将数据传送至D0,为了后期处理准备。

别以为就这样完事了,D0的数值只是转换后的数字,并非真实压力值!我们还要进行线性化计算:

压力表量程:0~20MPa(0~20000kPa)对应于转换后的数字:0~4000,转换公式为:

P=(20000*D0)/4000=5*D0

因此还需要加上第五步:



D2的数值就是检测到的压力值啦~

是不是很简单?赶紧点赞吧!

记得给我们加  鸡腿  ,谢谢!

本帖子中包含更多资源

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

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

本版积分规则