三菱 R 系列 PLC 远程 IO 机器人通信与触摸屏配方应用
ST 编程里的结构体艺术
三菱 R 系列支持 ST 语言的结构体操作。项目中用到的轴控制结构体示例如下:
TYPE AxisControl : STRUCT
bStart : BOOL;
bStop : BOOL;
dTargetPos : DWORD;
dCurrentPos : DWORD;
END_STRUCT
END_TYPE
VAR stRobotAxis : AxisControl := (FALSE, FALSE, 0, 0);
END_VAR
该自定义结构体将轴控制参数打包管理,在定位模块调用时直接整包传递。配合 RD77MS 定位模块时,通过 FB 块调用:
rd77ms_MoveAbsolute(axisNo:=1, position:=stRobotAxis.dTargetPos);
这种面向对象式的写法提高了程序可读性,便于后期维护。
CC-Link 联机机器人配置
配置发那科机器人作远程站时,参数设置需注意站号间隔。项目中的参数表配置如下:
[CC-Link IE Field Basic]
StationNo = 3
NetworkType = CC-Link IE Field Basic
OccupiedStation = 2
OccupiedStation=2 相当于给机器人预留了扩展空间,避免后期增加设备时出现地址冲突。当机器人需要传输超过 32 点数据时,此参数至关重要。
触摸屏配方功能
GT2710 的配方功能支持数组偏移实现配方组的快速切换:
local recipeIndex = GetTagValue("RecipeSelect")
SetTagArray("MaterialData", recipeIndex*10, 10)
配合背景数据块自动保存功能,设备重启后配方状态可自动恢复。
双屏联动机制
两个触摸屏实现异地操作的核心在于心跳检测机制:
//主屏心跳
IF NOT GT_Heartbeat THEN
GT_Heartbeat := TRUE;
TON_Heartbeat(IN:=TRUE, PT:=T#2S);
ELSE
GT_Heartbeat := FALSE;
END_IF
//从屏检测
IF GT_Heartbeat AND (GT_Heartbeat_PREV <> GT_Heartbeat) THEN
LastActiveTime := NOW();
END_IF
通过交替变化的 BOOL 信号实现屏间状态同步,配合时间戳判断当前操作权归属。实测响应速度小于 200ms。
EPLAN 设计规范
EPLAN 电气原理图中包含关键设计规范:所有 CC-Link 线缆标注最小弯曲半径,伺服动力线走线路径避开编码器线槽,这些规范有助于提升现场安装效率。
程序架构采用 ST 写核心算法,LD 做状态监控,FB 块封装设备驱动。目录结构清晰划分:
/Root
├── Robot_Control(ST 源码)
├── HMI_Interface(屏参绑定)
├── Motion_Lib(定位函数库)
└── IO_Mapping(IO 映射表)
这种结构有利于跨团队协作,降低电气工程师和软件工程师的沟通成本。


