三菱L系列PLC的特殊缓存区(缓冲存储器BFM)是PLC基本单元与特殊功能模块(如模拟量I/O模块、通信模块等)之间进行数据交换的核心区域,其核心功能、结构特性及操作要点如下:
一、核心功能
数据交换
BFM是PLC与特殊功能模块间的“数据桥梁”,用于传输控制信号、参数设置、工作状态信息及运算结果。例如:模拟量模块:通过BFM读取传感器采集的模拟量(如温度、压力),或将PLC输出的数字量转换为模拟信号控制执行机构。
通信模块:存储通信协议参数(如波特率、地址),实现PLC与其他设备(如触摸屏、变频器)的数据交互。
参数配置
用户可通过BFM设置模块的工作模式、量程范围、滤波时间等参数。例如:在模拟量输入模块中,配置BFM#0为“4-20mA输入”,BFM#1为“0-10V输出”,以匹配传感器信号类型。
状态监控
BFM实时反馈模块的运行状态(如正常、故障、过载)及诊断信息,便于快速定位问题。例如:若模拟量输出模块的BFM#31显示“过载错误”,需检查负载电流是否超过模块额定值。
二、结构特性
固定地址分配
BFM由32个16位寄存器组成,编号为BFM#0
至BFM#31
。每个寄存器的功能由模块技术说明书定义,用户需严格遵循。例如:BFM#0
:通道1输入值(0-4000对应0-10V或4-20mA)。BFM#10
:通道1平均值滤波次数(1-64)。BFM#30
:模块错误代码(0=正常,1=输入断线,2=超量程)。FX3U-4AD模拟量输入模块:
断电非易失性
部分BFM内容在PLC断电后仍可保留(如参数设置),但需根据模块型号确认。例如:FX5U-4AD-ADP模块:BFM#0-#15为断电保持区,用于存储关键参数;BFM#16-#31为易失区,断电后数据丢失。
三、操作要点
读写指令
FROM指令:从模块BFM读取数据到PLC。
ladderFROM K1 K0 D0 K4 // 从模块1的BFM#0读取4个字(8字节)到D0-D3
TO指令:将PLC数据写入模块BFM。
ladderTO K1 K10 K500 K2 // 向模块1的BFM#10写入数据500,写入长度为2个字(4字节)
地址计算
若模块要求写入量程参数到
BFM#5
,则TO指令中目标地址为K5
。模块地址从基本单元右侧开始编号,第1个模块为
K1
,第2个为K2
,依此类推。BFM地址需根据模块技术说明书确定。例如:
实时性要求
高速通信模块(如以太网模块)的BFM读写需在1个扫描周期内完成,避免数据丢失。建议使用中断程序或高速处理指令(如
REF
、BLK
)。错误处理
读写BFM前需检查模块状态(如
BFM#30
错误代码)。若模块未就绪(如READY
信号为OFF),需暂停操作并报警。
四、典型应用案例
案例:温度控制系统(FX5U + FX5U-4AD-PT-ADP模块)
硬件连接:
PT100温度传感器连接至模拟量输入模块的通道1。
模块地址设置为
K1
(基本单元右侧第1个模块)。参数配置:
通过TO指令设置量程范围(
BFM#0=0
,BFM#1=4000
,对应-200℃至+600℃)。启用平均值滤波(
BFM#10=4
,即4次采样平均)。数据读取:
使用FROM指令定期读取温度值(
BFM#2
存储通道1的AD转换结果)。程序示例:
ladderFROM K1 K2 D10 K1 // 从模块1的BFM#2读取1个字(温度值)到D10MOV D10 D100 // 将温度值传送到数据寄存器D100
状态监控:
检查
BFM#30
错误代码,若为1
(输入断线),则触发报警并停止加热。