[西门子] ABB工业机器人与三菱FX3U的MC协议通讯

[复制链接]
查看36537 | 回复0 | 2024-1-4 08:16:44 | 显示全部楼层 |阅读模式


导语

众所周知ABB如果需要跟三菱PLC实现总线通讯的话,需要搭配DSQC 378B CC-LINK模块,而且此模块是依赖DeviceNet板卡。

ABB机器人从2018年年底开始发货的IRC5 标准柜已经取消了标配的DSQC 1006(DeviceNet板卡),此时单独购买DSQC 378B是无法使用的,而DSQC 1006+DSQC 378B 软硬件的成本已经上万了。

最新的OmniCore 控制器也。暂时不支持DSQC 378BCC-LINK模块。

最近也是有小伙伴遇到这个问题,很苦恼,所以托我写了这个RAPID模块。

01.
功能介绍


本次模块主要针对FX3U系列+FX3U-ENET-ADP或FX3U-ENET-L模块,经测试FX5U,Q系列的PLC也支持。[MC协议的A系列1E帧同时兼容SLMP协议1E帧。]

支持除随机写入以外的所有功能。



MC报文及详情参考手册:《FX3U-ENET-ADP》

02.

PLC端的配置



步骤如下:1.在右侧工程栏中双击PLC参数;2.在弹框中选择内置以太网端口设置,设置IP,设置通信数据代码设置,勾选允许RUN中写入;3.点击打开设置,在弹框第一栏中选择TCP协议,MC协议,端口号根据自己需求设置比如4999,然后设置结束,设置结束,把新的配置写到PLC中即可。







03.

ROB的前提条件



1.必要选项:616-1PC Interface

2.实时通讯:623-1 Multitasking

3.加载 FX3U_MC_1E.mod 模块



04.

ROB的编程



支持的软元件:



支持的远程操作:



创建与MC从站的连接



MC1ECreateConnection 1,"192.168.3.",4999;
远程操作控制PLC



//远程RUNMC1ERmtOpControl 1,RmtRUN;//远程STOPMC1ERmtOpControl 1,RmtSTOP;//读取型号VAR string str_model;MC1ERmtOpControl 1,RmtTYPE\Model:=str_model;//折返错误测试VAR bool bl_result;MC1ERmtOpControl 1,RmtTEST\Result:=bl_result;
批量读取



//批量读取位VAR num n_bit{10};MC1EBatchRead 1,SoftM,100,n_bit;//批量读取字-整数!.IntX:=UINT[16位无整数]!.IntX:=INT[16位有整数]!.IntX:=UDINT[32位无整数]!.IntX:=DINT[32位有整数]VAR num n_int{22};MC1EBatchRead 1,SoftD,100,n_int\IntX:=UINT;//批量读取字-浮点数VAR num n_foat{12};MC1EBatchRead 1,SoftD,100,n_foat\Foat4;
批量写入



//批量写入位VAR num n_bit{10}:=[1,0,1,0,1,0,1,1,1,1];MC1EBatchWrite 1,SoftM,1000,n_bit;//批量写入字-整数!.IntX:=UINT[16位无整数]!.IntX:=INT[16位有整数]!.IntX:=UDINT[32位无整数]!.IntX:=DINT[32位有整数]VAR num n_int{3}:=[100,200,300];MC1EBatchWrite 1,SoftD,1010,n_int\IntX:=UINT;//批量读取字-浮点数VAR num n_foat{5}:=[-3.278,90.87,-90.878,-3.14,0.891];MC1EBatchWrite 1,SoftD,1020,n_foat\Foat4;
05.
FX3U_MC_1E模块


链接:https://pan.baidu.com/s/1oxNtdXWS59yWS1dZ2gvn4w

提取码:usyg

备注:此模块已编码,如果需要源码或去除测试版提示,请与我联络。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则