三菱特殊功能模块读写指令的使用
2017-04-10 技术知识
在我们的FX系列PLC有很多特殊功能模块,大致可以分成:模拟量输入/输出模块、温度传感器输入模块、定位控制模块等等。那么三菱FX系列PLC的模拟量模块是如何和三菱FX PLC进行联系的呢?在三菱FX系列PLC中设置有两个指令对模拟量模块进行控制,这两条指令就是读指令FROM和写指令TO。PLC和模拟量模块的数据交换就是通过这特殊功能模块的读写指令来完成的。
对于这两个指令,其中的操作数涉及到模块编号和模块BFM单元,那么我们首先是要理解一下什么是模块编号和什么是模块BFM单元。
下面就先讲一下模块编号的由来。当出现多个特殊功能模块与PLC进行相连时,PLC对模块进行的读写操作必须得区分出是哪个模块进行的,因此就产生了区分不同模块的位置编号。一个PLC的基本单元最多能连接8个特殊功能模块,所以编号就是0#-7#。
那么什么是特殊功能模块的缓冲存储器BFM呢?缓冲存储器BFM的主要功能就是作为PLC与特殊功能模块进行信息交换的中间单元。FX2N的模拟量模块大都是32个BFM缓冲存储单元的,编号是从BFM0-BFM31。我们要知道的是每个BFM缓冲存储器都是一个字单元,所以我们经常会说到通道字和状态字等。
对以上的概念有了一定的了解之后,我们就开始学习一下特殊功能模块的读写指令。
特殊功能模块的读指令是FROM,指令格式是FROM m1 m2 D n,这条指令的意思就是把位置编号为m1的特殊功能模块中以BFM#m2为首址的n个数据读到PLC中以D为首址的n个字元件中。
举个例子,FROM K1 K10 D0 K1 这条指令,简单的说就是把1#模块的BFM#10单元内容复制到PLC的D0单元里面。如果将该指令改成FROM K1 K10 D0 K4,那就是把1#模块的BFM#10~BFM#13这四个单元内容复制到PLC的D0~D3单元里面,对应的关系是:BFM#10对应D0,BFM#11对应D1,BFM#12对应D2,BFM#13对应D3。我们再将这条指令修改成DFROM K1 K10 D0 K2,那么也是把1#模块的BFM#10~BFM#13这四个单元内容复制到PLC的D0~D3单元里面,但是对应的关系是:BFM#11 BFM#10对应D1 D0,BFM#13 BFM#12对应D13 D12。
再举个例子,FROM K1 K29 K4M0 K1这条指令,它就是用1#模块BFM#29的位值来控制PLC的M0-M15的状态。假如BFM#29中的数值是1001 0000 0001 0101,那么M0,M2,M4,M12,M15就是闭合的。
特殊功能模块的写指令是TO,指令格式是TO m1 m2 S n,这条指令的意思就是把PLC中以S为首址的n个字元件的内容写入到位置编号为m1的特殊模块中以m2为首址的n个缓冲存储器BFM中。我们要注意的是TO指令常用的是脉冲执行型TOP的。
举个例子,TOP K1 K0 H3130 K1这条指令,简单的说就是把十六进制数H3130复制到1#模块的BFM#0单元里面。如果将该指令改成TOP K1 K10 D0 K4,那就是把PLC的D0~D3这四个单元的内容写入到1#模块的BFM#10~BFM#13这四个单元里面,对应的关系是:D0对应BFM#10,D1对应BFM#11,D2对应BFM#12,D3对应BFM#13。我们再将这条指令修改成DTOP K1 K10 D0 K2,那么也是把PLC的D0~D3这四个单元的内容写入到1#模块的BFM#10~BFM#13这四个单元里面,但是对应的关系是:D1 D0对应BFM#11 BFM#10,D13 D12对应BFM#13 BFM#12。
再举个例子,TOP K1 K29 K4M0 K1这条指令,它就是把PLC的M0-M15的状态所表示的16位数据的内容写入到1#模块BFM#29缓冲存储器里面。
那么这就是特殊功能模块读写指令的使用,指令的使用还是比较简单的,以上举了好几个例子,不知道你对读写指令掌握了多少呢。
对于这两个指令,其中的操作数涉及到模块编号和模块BFM单元,那么我们首先是要理解一下什么是模块编号和什么是模块BFM单元。
下面就先讲一下模块编号的由来。当出现多个特殊功能模块与PLC进行相连时,PLC对模块进行的读写操作必须得区分出是哪个模块进行的,因此就产生了区分不同模块的位置编号。一个PLC的基本单元最多能连接8个特殊功能模块,所以编号就是0#-7#。
那么什么是特殊功能模块的缓冲存储器BFM呢?缓冲存储器BFM的主要功能就是作为PLC与特殊功能模块进行信息交换的中间单元。FX2N的模拟量模块大都是32个BFM缓冲存储单元的,编号是从BFM0-BFM31。我们要知道的是每个BFM缓冲存储器都是一个字单元,所以我们经常会说到通道字和状态字等。
对以上的概念有了一定的了解之后,我们就开始学习一下特殊功能模块的读写指令。
特殊功能模块的读指令是FROM,指令格式是FROM m1 m2 D n,这条指令的意思就是把位置编号为m1的特殊功能模块中以BFM#m2为首址的n个数据读到PLC中以D为首址的n个字元件中。
举个例子,FROM K1 K10 D0 K1 这条指令,简单的说就是把1#模块的BFM#10单元内容复制到PLC的D0单元里面。如果将该指令改成FROM K1 K10 D0 K4,那就是把1#模块的BFM#10~BFM#13这四个单元内容复制到PLC的D0~D3单元里面,对应的关系是:BFM#10对应D0,BFM#11对应D1,BFM#12对应D2,BFM#13对应D3。我们再将这条指令修改成DFROM K1 K10 D0 K2,那么也是把1#模块的BFM#10~BFM#13这四个单元内容复制到PLC的D0~D3单元里面,但是对应的关系是:BFM#11 BFM#10对应D1 D0,BFM#13 BFM#12对应D13 D12。
再举个例子,FROM K1 K29 K4M0 K1这条指令,它就是用1#模块BFM#29的位值来控制PLC的M0-M15的状态。假如BFM#29中的数值是1001 0000 0001 0101,那么M0,M2,M4,M12,M15就是闭合的。
特殊功能模块的写指令是TO,指令格式是TO m1 m2 S n,这条指令的意思就是把PLC中以S为首址的n个字元件的内容写入到位置编号为m1的特殊模块中以m2为首址的n个缓冲存储器BFM中。我们要注意的是TO指令常用的是脉冲执行型TOP的。
举个例子,TOP K1 K0 H3130 K1这条指令,简单的说就是把十六进制数H3130复制到1#模块的BFM#0单元里面。如果将该指令改成TOP K1 K10 D0 K4,那就是把PLC的D0~D3这四个单元的内容写入到1#模块的BFM#10~BFM#13这四个单元里面,对应的关系是:D0对应BFM#10,D1对应BFM#11,D2对应BFM#12,D3对应BFM#13。我们再将这条指令修改成DTOP K1 K10 D0 K2,那么也是把PLC的D0~D3这四个单元的内容写入到1#模块的BFM#10~BFM#13这四个单元里面,但是对应的关系是:D1 D0对应BFM#11 BFM#10,D13 D12对应BFM#13 BFM#12。
再举个例子,TOP K1 K29 K4M0 K1这条指令,它就是把PLC的M0-M15的状态所表示的16位数据的内容写入到1#模块BFM#29缓冲存储器里面。
那么这就是特殊功能模块读写指令的使用,指令的使用还是比较简单的,以上举了好几个例子,不知道你对读写指令掌握了多少呢。