FX2N-2AD模拟量输入模块简述

——
参考:
《三菱FX系列PLC编程速成全图解》 韩相争 化学工业出版社
FX2N-2AD中文手册说明书
三菱FROM、TO指令解释

模拟量控制简介

模拟量处理过程如图7-1所示。
在这里插入图片描述
——
模拟量I/O模块包括模拟量输入模块、模拟量输出模块和模拟量输入输出模块。

FX2N-2AD型模拟输入模块用于将2点模拟输入(电压输入或电流输入)转换成12位的数字值,并将该值输入到PLC的BFM中。该模块无需外部电源,其电源由基本单元提供,通过专用的扁平电缆与CPU通信。
两个频道的模拟输入值可以接受0-10V DC(点),0-5V DC,或者4-20mA之间。

技术指标&输入特性

在这里插入图片描述
产品出厂时,默认特性0-10V DC。

模拟量转换的精度除了取决与A/D转换的分辨率,还受到转换芯片的外围电路的影响。在实际应用中,输入的模拟量信号会有波动、噪声和干扰,内部模拟电路也会产生噪声、漂移,这些都会对转换的最后精度造成影响。这些因素造成的误差要大于A/D芯片的转换误差。

接线方式

在这里插入图片描述
注意电压输入和电流输入接线方式不同:电流输入时,VIN与IIN需要短接再接入;电压输入时,可直接接入VIN。
信号输入设备与模块之间最好用屏蔽双绞线连接,为了减少外界干扰可在VIN与COM端间并联1个0.1~0.47uf的电容。
一般电压信号比电流信号容易受干扰,应优先选用电流信号。

电流输入通道对地有一250欧姆电阻,当电流输入时,通过电阻转换为电压,接入电压输入通道,因此模块的输入端实际上就是电压输入。模块的输入放大器的增益时可调的,因此量程是可调的,量程在5-10V间可调,出场时量程为10V,如果被测信号的最大值小于10V,可通过调节增益电位器来调节量程。
例:如果被测信号为0-5V,将模块输入端接入5V直流电压,调节增益调节电位器,同时读取AD转换值,当读取转换值为4000时即可。

注意

  1. 由于所有通道都采用同样的偏移值和增益值,因此两个通道的模拟输入必须统一(即输入相同类型的信号),不能一个作为模拟电压的输入,一个作为电流的输入;
  2. 输入信号只能是单极性的;
  3. 模块转换数字量对应2^12-1=4095,实际应用中简化为4000;

通用程序

From/To指令

除了硬件连接,还需要编写相关程序用于设置模块的工作参数和读取转换得到的数字量以及模块的操作状态。
FX2N-2AD模块的使用不是很方便,要使用FROM/TO指令。

FROM指令
FROM指令读取特殊功能模块的BFM中的数据,将A/D转换结果读入PLC,指令格式如下:
在这里插入图片描述

符号含义
Cc指令执行的启动条件
FROM助记符
—>功能号FNC78
Kn1扩展模块编号,常用K表示
Kn2缓冲存储器BFM的地址;此地址只和模块本身有关,和模块编号无关,常用K表示
Kn3Mn4读取的数据在PLC CPU中的存储地址,具体含义见下
—>Kn3从BFM读取的二进制的位数,常用K表示,以4bit为单位,n3允许值为1~8,例:K4代表16位
—>Mn4数据在PLC储存区域的首地址,M表示读取的数据储存于中间继电器。注意:储存位置可以是数据继电器,此时无需前缀Kn3
Kn5需要传送的点数,常用K表示。FROM、FROMP格式时,以16位二进制为单位,例:K1代表16位;采用DFROM、DFROMP格式时,以32位二进制为单位,例:K1代表32位

—>表示该行从属于上方最近一行没有—>的行。

TO指令
使用TO指令用于PLC基本单元将数据写入特殊功能模块的BFM中,启动A/D转换;
在这里插入图片描述

符号含义
Cc指令执行的启动条件
TO助记符
—>功能号FNC79
Kn1扩展模块编号,常用K表示
Kn2缓冲存储器BFM的地址;此地址只和模块本身有关,和模块编号无关,常用K表示
Kn3Mn4写入的数据在PLC CPU中的存储地址,具体含义见下
—>Kn3写入BFM的二进制的位数,常用K表示,以4bit为单位,n3允许值为1~8,例:K4代表16位
—>Mn4数据在PLC储存区域的首地址,M表示写入的数据储存于中间继电器。注意:储存位置可以是数据继电器,此时无需前缀Kn3
Kn5需要传送的点数,常用K表示。FROM、FROMP格式时,以16位二进制为单位,例:K1代表16位;采用DFROM、DFROMP格式时,以32位二进制为单位,例:K1代表32位

缓冲存储器分配

转换结果数据在模块缓冲存储器(BFM)中的存储地址如下,BFM是16位的:
在这里插入图片描述

表中:
A/D通道选择:b0=0,选择CH1通道;b0=1,选择CH2通道
A/D转换启动:b1由0变1时,转换开始

程序设计

使用前还需确定模块的编号,FX系列可以连接多达8个特殊功能模块,其编号从最靠近基本单元的那一个开始顺次编为0-7号,注意数字量I/0扩展模块不占编号。

单通道

下面展示一段非常经典的AD模块程序,采用了通道1进行转换,几乎在每本教材中都会出现:
在这里插入图片描述
下面对该梯形图程序进行逐行解释:

  1. CPU在第一个特殊模块(K0)的BFM17(K17)中,向bit0(H0=0B)写入0,意思是选择模块的CH1通道;
  2. CPU在第一个特殊模块(K0)的BFM17(K17)中,向bit1(H2=10B)写入1,即启动CH1通道 的AD转换功能;

两行代码没法合成一行。

  1. K2M100,该操作将第一个模块的BFM#0 的低八位(b0-b7)读到CPU的M100-M107,BFM#1的低八位(包含有效数据b0-b3)读到CPU的M108-M115,即读取CH1通道的12位数字值;

这个问题我想了有一段时间了,BFM#0和BFM#1中共有16+16位数据(包括保留位),所以转移的点数位K2(K1代表16位,因此K2代表32位),然而储存,目的地址为K2M100(K2代表8位)而非K4M100(K4代表16位)。之所以采用K2M100而非K4M100,可能是因为后者会使12位数字值不连续,高位和低位数据分散需要额外编写传送指令;前者刚好使低八位和高四位连续。

  1. K4M100,该操作将M100-M115的数据内容转移到数据储存器D0中(通道1的高端4位移动到下面的8位位置上,并存储到D0);
双通道

如果要同时使用两个通道,可采用如下程序:
在这里插入图片描述
实际上在BFM#17中同一时间只能设置1个通道工作,因此图中X0和X1在同一时间只能有一个置位,这也是为什么两个通道都将临时数据存储到K2M100却不会造成数据冲突;若二者同时置位,会导致程序不能正常运行。

注意
从X0/X1打开至模拟到数字转换值存储到主单元的数据寄存器之间的时间为2.5ms,因此两通道的切换时间不得小于该处理时间。

结果折算

为了将模拟量模块内部数字量与实际物理量对应,需要找出二者的数据比例关系。
设X为数字量(0-10V),M为模拟量(0-4000),可得:
M=X/400
如果直接写入DIV D0 K400 D2,由于除法指令无法除小数的特性,其结果总是为整数,小数会被省略,因而数据精度遭到折损。
可以将X从0-10V的范围转换到0-10000mV,这样算式为:
M=1000X/400
=10X/4

即将小数扩大为整数来保留值。
修改后的程序为:
在这里插入图片描述

用了两个指令,先乘后除。

乘法MUL指令和除法DIV指令占取两个寄存器,如果只保留一个会造成数据错误。

平均值滤波
(摘自FX3U手册,不清楚FX2N有没有这个功能)模拟量输入模块可能采集到缓慢变化的模拟量信号中的干扰噪声,这些噪声通常以窄脉冲的方式出现,为了减轻噪声信号的影响,模块提供连续若干次采样值的平均值,可以设置求平均值的采样周期数。但是,取平均值会降低PLC对外部输入信号的响应速度。

  • 11
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值