登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:【今日话题】一站式了解 三菱FX5U CCLINK IE MR-JE-C总线伺服 ST编程,AI加持。(20251218)

点击:45 回复:1

用到的手册,PDF
MR-JE-C 技术资料集(CC-Link IE现场网络Basic篇)
MR-JE-C技术资料集(轨迹模式篇)
附件:
[本地下载]
附件:
[本地下载]
~~~~~~~~~
根据硬件手册,FX5U网口可以代带16轴<不知道加上其它程序循环时间会不会爆炸>。
~~~~~~~~~~~~~~~~~
伺服网络设置,我简述一下:
面板有2个旋钮,sw1+sw2 如果是00 那么伺服的IP地址最后的地址是软件设置(用USB自行设置),如果是非00,地址=SW1+SW2的16进制转换到10进制的地址。
这里不再啰嗦,细节直接看手册去吧 MR-JE-C 技术资料集(CC-Link IE现场网络Basic篇)4.2 IP地址设定。
~~~~~~~~~~~~~~~~~~~~~~~~~
编程软件这边:
1,添加从站,<可以手动拖进去,也可以把伺服配置IP地址后然后自动检测扫描>
完成以后记得点 上面的 《反映设置并关闭》
附件 01.jpg
~~~~~~~~~
2,链接软原件,RX,RY 占用64位,RWW RWR 占用32个字。
考虑到FB块通用性,这里直接考虑16轴配满,RX RY 用B区,RW 用W区,;
RX是CPU是伺服反馈给PLC的,64点*16轴=1024点,B0~B3FF
RY是CPU发送给伺服的,同样的点数,从B400-B7FF
RWr 读 W0-W1FF   32点*16轴=512点
RWw 写 W200-W3FF
检查- 应用。
附件 02.jpg
PS:记得CPU参数里面设置一下B 和W区域的大小,B合计要1024+1024=2048,W 需要512+512=1024点
然后下载到PLC即可。
~~~~~~~~~~
3,手册大致白话:
RX RY区域,只用64位最后一位(bit0~63),RY3.F(bit63)是通讯开始,RX3.F(bit63)是通讯OK。
附件 03.jpg
程序: 只要轴号在1-16即可驱动
附件 04.jpg
RW区域:
我看了很多别人做的,都用的数组做的(估计都是抄袭吧),FB调用的时候,一次就用读取32个INT,写32个INT,还有上面的RX RY也是用的数组64个bool。
考虑节约性能,不用数组,还有,有些映射是DINT,数组是int,转换传送ST下面用MOV会报错(int-dint不能互相转),不是太友好。
附件 05.jpg
根据上面的表格,做一个结构体,方便使用修改
R是读,W是写,也方便区分
附件 06.jpg
程序映射: 一个Z0干下去,只需要计算首字偏移量,然后跟着加偏移量就行,后续修改检查也不是太麻烦。
附件 07.jpg
~~~~~~~~~~~~~~~
好了,上面的基本上就那样了,剩下就可以写程序了
轴控无非,SON,复位,回原点,JOG,相对,绝对,无非就是以上动作吧,点到点应用最多。
SON:
这个参考别人的程序,就是把控制字RW00-6040 写16#F 就OK了,手册给的状态机:
附件 10.jpg
附件 11.jpg
~~~~~~
以上,BIT0-BIT3是 SON,BIT7是复位故障,bit8是暂停,
还有反馈可以读:RR-6041
附件 12.jpg
~~~~~~~~
看别人写的很简答,我也从简吧
中午了,吃饭了,后续再来更新。
AI也挺SB的,Z0:=32*ii_AxisNO-1; 这样是错误的,它没发现,还是我发现的,哈哈哈
正确的应该是Z0:=32*(ii_AxisNO-1);这样计算偏移量应该就OK了;
后续有硬件了,我慢慢调试~
最后修改:2025/12/18 17:14:23
25-12-18 12:35
啊呀,接着更新,问问AI:
附件 20.jpg
AI还是挺好的,我看别人写的都是直接给值,比如使能,6040=HF,去使能=0,既然有常量类型的变量,我们就用,定义一下常量变量,常量就是内部数值,这样错了也好改。
附件 21.jpg
根据上面的状态机,程序如下:
附件 22.jpg
~~~~~~~
以上,还未上机实测,暂时把逻辑全部捋一遍,让AI+自己检验一下;
还真别说,一堆问题,然后人工修复一下:
附件 23.jpg
附件 24.jpg
附件 25.jpg
AI这个时候感觉还行,给他手册,然后慢慢修改,
比如 “1. 故障复位信号无防抖(违反手册 10ms 保持要求)
问题:S_.W01_6040.7:=is_.ib_RST 直接绑定按钮,短按(<10ms)会导致复位失败(资料集第 5.1.2 节明确要求 “Fault Reset 信号需保持≥10ms”)”
伺服故障以后,只要复位就给6040.7复位bit=true了,它还说要10ms,不知道是啥逻辑,如果错误解除就跳转出去了。
还有什么兜底,就那么几个步骤,数值肯定跑不飞的,不过我加了也不影响~
后续慢慢更新吧,我买的伺服还没到,目前慢慢写程序,后期再接硬件调试。
25-12-18 14:53

工控新闻

更多新闻资讯