对缓冲存储区的读出或者写入方法中,有FROM/TO指令和缓冲存储区直接指定两种方法。
使用缓冲存储区直接指定时,需要对应PLC的软件,仅对应FX3U、FX3UC PLC。
不管使用哪一种方法,首先要了解特殊功能模块的地址分配,如图5-2所示。
1.缓冲存储区的直接指定(FX3U、FX3UC PLC的情况下)
缓冲存储区的直接指定方法是,将下列的设定软元件指定为直接应用指令的源操作数或者目标操作数,如图5-3所示。
(1)使用例1
图5-2 特殊功能模块的地址分配
图5-3 缓冲存储区的直接指定
下面的程序是将单元号1的缓冲存储区(BFM#10)的内容乘以数据(K10),并将结果读出到数据寄存器(D10、D11)中,如图5-4所示。
图5-4 缓冲存储区的直接指定(例1)
(2)使用例2
下面的程序是将数据寄存器(D20)加上数据(K10),并将结果写入单元号1的缓冲存储区(BFM#6)中,如图5-5所示。
图5-5 缓冲存储区的直接指定(例2)
2.FROM/TO指令(FX3G、FX3U、FX3UC PLC的情况下)
(1)FROM指令(BFM→PLC,读取)
1)读出缓冲存储区的内容时,使用FROM指令。
a)指令格式,如图5-6所示。
图5-6 FROM指令格式
b)设定数据,见表5-1。
表5-1 FROM指令设定数据
c)对象软元件,见表5-2。
表5-2 FROM指令的对象软元件
2)功能和动作说明
a)16位运算(FROM、FROMP)
将单元号为m1的特殊功能单元/模块中的缓冲存储区(BFM)m2开始的n点16位数据传送到(读出)PLC内以开始的n点中,如图5-7所示。
图5-7 FROM指令(16位运算)
b)32位运算(DFROM、DFROMP)
将单元号为m1的特殊功能单元/模块中的缓冲存储区(BFM)[m2+1、m2]开始的n点32位数据传送到(读出)PLC内以开始的n点中,如图5-8所示。
图5-8 FROM指令(32位运算)(www.xing528.com)
有关操作数的指定内容:
①特殊功能单元/模块的单元号[m1]
单元号是用于指定FROM/TO指令是针对哪个设备进行动作的。
设定范围:K0~K7。
对于PLC而言,其连接的特殊功能单元/模块的单元号会自动被分配。
单元号是从离基本单元最近的模块开始依次为No.0→No.1→No.2→…,如图5-2所示。
②缓冲存储区(BFM)编号[m2]
在特殊功能单元/模块中,最多内置了32767点16位的RAM内存,这个就称为缓冲存储区。
缓冲存储区的编号为0~32766,其内容由各设备的控制目的而决定。
设定范围:K0~K32766。
在32位指令中处理BFM时,指定的BFM为低16位、编号紧接的BFM为高16位,如图5-9所示。
③传送点数[n]
设定范围:K1~K32767。
用n指定传送的字点数。16位指令中的n=2和32位指令中的n=1是相同的意思,如图5-10所示。
图5-9 BFM(32位运算时)
图5-10 16位运算与32位运算
(2)TO指令(PLC→BFM,写入)
1)向缓冲存储区写入数据时,使用TO指令。
a)指令格式,如图5-11所示。
图5-11 TO指令格式
b)设定数据,见表5-3。
表5-3 TO指令设定数据
c)对象软元件,见表5-4。
表5-4 TO指令的对象软元件
2)功能和动作说明
a)16位运算(TO、TOP)将PLC中起始的n点16位数据传送到(写入)单元号为m1的特殊功能单元/模块中的缓冲存储区(BFM)m2开始的n点中,如图5-12所示。
图5-12 TO指令(16位运算)
b)32位运算(DTO、DTOP)
将PLC中以开始的n点32位数据传送到(写入)单元号为m1的特殊功能单元/模块中的缓冲存储区(BFM)[m2+1,m2]开始的n点中,如图5-13所示。
图5-13 TO指令(32位运算)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。