问:三菱M80系统,想通过上位机读取当前正在运行的加工程序号(OXXXX),用于MES报工。已知CNC已联网,IP为192.168.1.100。请问应该读取哪个地址?
答:三菱M80中,当前加工程序号存储在系统变量#3011(宏变量)中,也可以通过MELSEC协议读取地址D200(具体地址因系统版本可能不同,建议查阅M80通信手册)。推荐使用SLMP协议直接读取标签“#3011”,更稳定。示例(使用Python + pymelsec库):
from pymelsec import MelsecConnection
mc = MelsecConnection('192.168.1.100', port=1024)
prog_no = mc.read('#3011', type='word')
print(f'当前程序号: O{prog_no}')
注意:部分M80固件版本可能限制读取系统变量,需开启“外部访问”权限。

