电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 其他PLC >> 三菱PLC >> 正文

三菱PLC特殊功能模块实战教程,(Buffer Memory,简称BFM)FROM、DFROM、TO指令

作者:佚名    文章来源:本站原创    点击数:    更新时间:2024/10/4

在PLC控制系统中,特殊功能模块一般作为PLC的扩展单元使用,模块的控制与检测需要通过PLC的程序进行。

 

为了能够方便地实现PLC对特殊功能模块的控制,并减少应用指令的条数,统一应用指令的格式,在三菱PLC的特殊功能模块中设置了专门用于PLC与模块间进行信息交换的缓冲存储器(Buffer Memory,简称BFM)。缓冲存储器数据中包括了模块控制信号位、模块参数等控制条件,以及模块的工作状态信息、运算与处理结果、出错信息等内容。

PLC对模块的控制,只需要通过PLC的数据输出(TO)指令在模块缓冲存储器的对应控制数据位中写入控制信息即可。同样PLC对模块的状态检测,也只需要通过PLC的数据阅读(FROM)指令读出对应的模块缓冲存储器数据即可。

因此,对于所有的特殊功能模块,PLC的编程事实上只是不断利用PLC的TO与FROM指令对模块缓冲存储器进行读/写操作而已。为此,正确使用PLC的TO与FROM指令,是特殊功能模块编程的前提条件。

一、特殊功能模块的位置编号

当多个特殊模块与PLC相连时,PLC对模块进行的读/写操作必须正确区分是对哪一个模块进行操作。这就产生了区分不同模块的位置编号。

当多个模块相连时,PLC特殊模块位置编号是这样确定的:从基本单元最近的模块算起,由近到远分别是0#,1#,2#,…,7#特殊模块编号,如下图所示。

 

但当其中如果含有扩展单元时,扩展模块不算入编号,特殊模块编号则跳过扩展单元,仍由近到远从0#编起,如图下所示。

 

一个PLC的基本单元最多能够连接8个特殊单元模块,编号从0#~7#。FX2N PLC的I/O点数最多是256点,它包含了基本单元的I/O点数、扩展单元的I/O点数和特殊模块所占用的I/O点数。特殊模块所占用的I/O点数可查询手册得到。FX2N的模拟量模块一般占用8个I/O点,计算在输入点、输出点均可。

二、缓冲存储器缓冲存储器BFM

       每个特殊功能模块里面有若干个16位存储器,手册上面称缓冲存储器BFM。缓冲存储器BFM是PLC与外部模拟量进行信息交换的中间单元。输入时,由模拟量输入模块将外部模拟量转换成数字量后先暂存在BFM内,再由PLC进行读取,送入PLC的字软元件进行处理。输出时,PLC将数字量送入输出模块的BFM内,再由输出模块自动转换成模拟量送入外部控制器或执行器中,这是模拟量模块BFM的主要功能。除此之外,BFM还具有如下功能。

1)模块应用设置功能:模拟量模块在具体应用时,要求对其进行选择性设置,如通道的选择、转换速度、采样等,这些都是针对BFM不同单元的内容设置来进行的。

2)识别和差错功能:每个模拟量模块都是一个识别码,固化在某个BFM单元里,用于进行模块识别。当模块发生故障时,BFM的某个单元会存在故障状态信息。

3)标定调整功能:当模块的标定不能够满足实际生产需要时,可以通过修改某些BFM单元数值建立新的标定关系。

特殊模块的BFM数量并不相同,但FX2N模拟量模块大多为32个BFM缓冲存储单元,他们的编号是BFM#0~BFM#31。每个BFM缓冲存储单元都是一个16位的二进制存储器。在数字技术中,16位二进制位数一个“字”,因此,每个BFM存储单元都是一个“字”单元。在介绍模拟量的BFM功能时,常常把某些BFM存储单元的内容称为“XX”字,如通道字、状态字等。

对特殊功能模块的学习和应用,除了选型、模拟量信号的输入/输出接线和它的位置编号外,对其BFM存储单元的学习是个关键,是学习特殊功能模块的难点和重点。实际上,学习这些模块的应用就是学习这些存储器的内容跟它的读/写。推广来说,不管学习哪种模块,其核心都是BFM的内容及其读写。

PLC与特殊模块的信息交换是通过读指令FROM和写指令TO的程序编制来完成的。

一、FROM指令

PLC的FROM指令的作用是将特殊功能模块缓冲存储器(BFM)的内容读入到PLC中。指令的功能代码为FNC78,指令格式如下:

指令中各元件、操作数代表的意义依次如下。

 

X0:指令执行启动条件,当X0为“1”时,执行本指令。启动触点可以是输入X、输出Y、内部继电器M等。

FROM:指令代码,其中FROM为基本指令代码,代表特殊功能模块缓冲存储器(BFM)。

阅读指令,带“□”的前缀D与带后缀P可以根据情况选择使用,可有可无,前缀D表示32位操作指令,后缀P代表触点上升沿驱动。各种组合所代表的意义如下。

  • FROM(无前缀D和后缀P):利用触点X0.启动的16位数据阅读指令。

  • DFROM(有前缀D,无后缀P):利用触点X0启动的32位数据阅读指令。

  • FROMP(无前缀D,有后缀P):利用触点X0的上升沿启动的16位数据阅读指令。

  • DFROMP(有前缀D,有后缀P):利用触点X0的上升沿启动的32位数据阅读指令。

K1:模块地址常数,用来选择与指定特殊功能模块。如在FX系列PLC中,从基本单元开始,依次向右的第1、2、3…..个特殊功能模块,对应的模块地址依次为K0、K1、K2、……,在指令的这一区域只能输入常数。

K29:模块缓冲存储器的地址(数据源),K29代表模块缓冲存储器的地址为BFM#29。在指令这一区域只能输出常数,具体参数号取决于指令需要阅读的内容。

K40M0:指定从缓冲存储器读取到的数据在PLC中的存储位置(目标位置)。K4代表需要阅读的二进制位数,以4位(bit)二进制为单位,K4代表16位,允许输入的值为K1~K8。M0代表数据在PLC中存储区域的首地址,在16位数据阅读时,若输入M0,代表读入的数据存储于PLC的内部继电器M0~M15中。存储位置也可以是16位数据寄存器D(常用),这时不需要前缀K4。

K1:需要传送的点数,采用FROM、FROMP格式时,以16位二进制为单位,K1代表阅读16点,K2代表32点等。采用DFROM、DFROMP格式时,以32位二进制为单位,K1代表阅读32点,K2代表64点。允许输入的值为K1~K32767。

FROM指令也可以32位应用,这时传送数据个数为2K1个。

下面通过具体例子来具体说明指令功能。

【例子1】试说明下列指令执行功能含义。

1)FROM  K1  K30  D0 K1

把1#模块的BFM#30单元内容复制到PLC的D0单元中。

2)FROM  K0  K50  D100 K4

把0#模块的(BFM#5~BFM#8)4个单元内容复制到PLC的(D10~D13)单元中。其对应关系是:(BFM#5)→(D10)、(BFM#6)→(D11)、(BFM#7)→(D12)、(BFM#8)→(D13)。

3)FROM  K1  K29  K4M10  K1

用1#模块BFM#29的位值控制PLC的M10~M25继电器状态。位值为0,M断开;位值为1,M闭合。例如,BFM#29中的数值是1000 0000 0000 0111,那么它所对应的继电器M10、M11、M12和M25是闭合的,其余继电器都是断开的。

4)DFROM  K0  K5  D100 K1

  这是FROM指令的32位应用,注意这个K1表示传送两个数据,指令执行功能含义是把0#模块(BFM#5)→(D100)、(BFM#6)→(D101)。

【例子2】说明下图程序各指令的意义

 

指令①的作用是:当X0为“1”时,将安装于基本单元右侧的第1个特殊功能模块的缓冲存储器的参数BFM#29读入到PLCM0~M15的16点内部及继电器中。

指令②的作用是:在X0为“1”的瞬间,利用X0的上升沿,将安装于基本单元右侧的第1个特殊功能模块的缓冲存储器的参数BFM#29读入到PLC的M0~M15的16点内部继电器中。

指令③的作用是:当X0为“1”时,将安装于基本单元右侧的第一个特殊功能模块的缓冲存储器的参数BFM#29、BFM#30读入到PLC的16位数据存储器D0中。

指令④的作用是:当X0为“1”时,将安装于基本单元右侧的第一个特殊功能模块的缓冲存储器的参数BFM#29、BFM#30读入到PLC的16位数据存储器D0、D1中(32位阅读指令)。

指令⑤的作用是:当X0为“1”时,将安装于基本单元右侧第一个特殊功能模块的缓冲存储器的参数BFM#29、BFM#30读入到PLC的16位数据寄存器D0、D1中(16位阅读指令,但传送点数为连续32点)。

指令⑥指令作用是:当X0为“1”时,将安装于基本单元右侧第一个特殊功能模块的缓冲存储器的参数BFM#29、BFM#30、BFM#31、BFM#32读入到PLC的16位数据存储器D0、D1、D2、D3中(32位阅读指令,传送点数为连续64点)。

二、TO指令

TO指令的作用是将PLC中指定的内容写入特殊功能模块的缓冲存储器(BFM)中,指令的功能代号为FNC79,指令格式如下:

 

指令中各元件、操作代表的意义依次如下。

X0指令执行启动条件。

TO指令代码,其中TO为基本指令代码,代表特殊功能代码缓冲存储器(BFM)写入指令,前缀D表示32位操作指令,后缀P表示触点上升沿驱动。

K1:模块地址常数,用来选择和指定特殊功能模块。

K29:模块缓冲存储器的数据地址常数,在TO指令中目标位置,K29代表模块缓冲存储器的参数BFM#29。

K4M0:源数据在PLC中的存储位置指定。K4代表需要写入的二进制位数,以4位(bit)二进制为单位,K4代表16位,允许输入的值为K1~K8。M0代表源数据在PLC中存储区域的首地址。源数据也可以是16位数据寄存器D(常用),这时不需要前缀K4。

K1:需要传送的点数,允许输入的值为K1~K32767。TO指令也可32位应用,这时传送数据个数为2K1个。

指令中各操作数的含义和要求与FROM指令一致。

【例子3】试说明指令执行功能含义。

1)TOP  K1  K0 H3300  K1

   把十六进制数H3300复制到1#模块的BFM#0单元中。

2)TOP  K0  K5 D10  K4

   把PLC的(D10~D13)4个单元的内容写入位置编号为0#模块的(BFM#5~BFM#8)4个单元中。其对应关系是(D10)→(BFM#5)、(D11)→(BFM#6)、(D12)→(BFM#7)、(D13)→(BFM#8)。

3)TOP  K1  K4 K4M10  K1

把PLC的M10~M25继电器的状态所表示的16位数据的内容写入位置编号为1#模块BFM#4缓冲存储器中。M断开,位值为0;M闭合,位值为1。

4)DTOP  K0  K5 D100  K1

 这是TO指令的32位应用,注意这个K1表示传送两个数据,指令执行功能含义是把PLC的(D100)、(D101)单元中的内容复制到位置编号为0#模块的(BFM#5)、(BFM#6)缓冲存储器中。

Tags:BFM,三菱plc,功能模块,FROM  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询