西门子PLC和EPSON机械手的Modbus通讯 点击:1147 | 回复:15



柳红岩

    
  • 精华:2帖
  • 求助:7帖
  • 帖子:17帖 | 687回
  • 年度积分:53
  • 历史总积分:18356
  • 注册:2009年8月05日
发表于:2024-08-22 21:50:00
楼主

很久以来使用EPSON机械手和PLC交互,都是直接购买对应的通讯板卡,这样一来GSD文件一导入对应的通讯地址也就有了,编程方便,通讯可靠。

1.png

但是甲方有时候就是那么死抠,为了省那么一点,反正工程师写程序又不花钱,不方便又不是不能用,不稳定又不是干不了。于是开启了这次的modbus之旅。


首先说明一点,modbus TCP不是modbus RTU.这次采用的时TCP的方式,直接接网线的那种。

首先来看下硬件EPSON LS6-B602S,对应的控制器为RC90-B.支持Modbus tcp的通讯方式

2.png


介绍了机械手然后说一下PLC,这个没有什么特别的,就是普通西门子plc,这次使用的是一个1515的双网口plc,不要以为很高端,要带13个伺服轴,你就可以想象怎么个极限使用了。

1】机械手设置,首先打开机械手软件RC+7.0,设置IP地址及对应的通讯

设置对应的控制信号地址,打开输入输出可以看到起始地址都是512

image.png


如此设置完毕,机械手这边的输入和输出就设置好了。至于机械手程序,很简单了拿到这些交互点,还是不是随便写。

2】介绍PLC这边的设置及程序

说实话找Modbus对应和PLC通讯地址,很多地方都没有说,即使写了的也是很模糊的一张图片。但是足够了。

毕竟只要能通讯上,剩下的自己试试就知道了。

---通讯地址      

这张模糊的地址分布,大致给我们说清了 机械手512开始的地址,对应40032/30032开始的寄存器,而且是以word的形式,这特么不是modbus RTU吗就是?不管了反正不是串口是网口而且是需要设置IP地址,不需要写03,06这类指令,,哈哈哈

image.png

于是我们需要在PLC端建立对应的通讯地址

image.png

这里我只是需要7个字,如果需要多的继续设置就好。

3】PLC的modbus指令

image.png

这块就不过多写这个指令每个引脚的功能了,大家自己去看。总之指令需要指定通讯对象的IP地址及端口号

然后指定是读还是写的模式。读就是读取对方发送的内容,写就是对对象发送控制指令。ok简短解说看程序

--指定IP地址和端口

image.png

--读模式,读取需要的7个word

image.png

这里主要注意:mode=0读取,modbus通讯30032输入地址--对应机械手输出第32个word,第64个byte,从512开始的16个位变量。块上对应的数字7代表需要读取的长度。MB_DATA_PTR需要使用P#开头指定的地址,去掉P#直接拖拽DB地址不可以。具体怎么写可以通过指令帮助查看。

---写指令

image.png

这个指令和上面的读注意事项一样。

这样把程序下载进去,就可以查看双方发送和接收的数据了。


本来准备想写很多的,真的动手了反而就只想写这些注意点了,自己踩了几个坑,1是P#开头的地址,最后看了帮助文档很久才发现这个问题。2是发送和接收指令的切换条件,开始用1HZ指令切换的,会出现发送没有完成,写又开始的状况,最后干脆两个互锁,交替发送就可以了。

差不多就这样了,大家随便看看,稍微点启发然后试试肯定能弄起来,若有不明白的在留言把。很久没有弄PLC了,写的不正确的请指正海涵。



楼主最近还看过



fighting2021

  • [管理员]
  • 精华:4帖
  • 求助:4帖
  • 帖子:1202帖 | 8059回
  • 年度积分:1133
  • 历史总积分:22182
  • 注册:2008年11月11日
发表于:2024-08-23 08:44:42
1楼

写的很详细

回复本条

    

l780326793

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:98
  • 历史总积分:98
  • 注册:2024年8月23日
发表于:2024-08-23 14:04:16
2楼

感谢楼主,写的很详细

回复本条

    

西北风吹沙

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 13回
  • 年度积分:103
  • 历史总积分:103
  • 注册:2024年4月04日
发表于:2024-08-26 16:51:51
3楼

感谢分享。

回复本条

    

1993mjx

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 432回
  • 年度积分:36
  • 历史总积分:129
  • 注册:2016年1月08日
发表于:2024-09-02 07:43:37
4楼
谢谢分享!

回复本条

    

大蓝鲸的杆子

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 30回
  • 年度积分:113
  • 历史总积分:113
  • 注册:2024年5月30日
发表于:2024-09-12 13:52:49
5楼

学习学习

回复本条

    

叶向前95

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:147
  • 历史总积分:148
  • 注册:2005年3月26日
发表于:2024-10-01 20:19:05
6楼

谢谢啦,学习了。

回复本条

    

EC_Chan

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 124回
  • 年度积分:8
  • 历史总积分:347
  • 注册:2018年4月15日
发表于:2024-10-09 15:36:34
7楼

值得学习。

回复本条

    

布衣

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 64回
  • 年度积分:193
  • 历史总积分:434
  • 注册:2016年9月18日
发表于:2024-10-12 17:29:58
8楼

感谢楼主大人分享

回复本条

    

请叫我王老湿

  • [版主]
  • 精华:0帖
  • 求助:0帖
  • 帖子:631帖 | 8930回
  • 年度积分:33
  • 历史总积分:359304
  • 注册:2011年4月25日
发表于:2024-10-12 17:55:16
9楼

楼主很强大

回复本条

    

若此笔名未被注册

  • 精华:8帖
  • 求助:1帖
  • 帖子:279帖 | 3240回
  • 年度积分:0
  • 历史总积分:5723
  • 注册:2003年3月30日
发表于:2024-10-19 23:21:50
10楼

问题,彼此给对方一堆数据,用来干什么用的?

回复本条

    

erduo800

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 13回
  • 年度积分:2
  • 历史总积分:54
  • 注册:2011年8月29日
发表于:2024-10-25 13:13:06
11楼

感谢楼主分享

回复本条

    

老山121

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:2
  • 历史总积分:3
  • 注册:2015年6月09日
发表于:2024-11-17 11:18:54
12楼
学习学习,楼主厉害[鄙视]

回复本条

    

kfc320

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:1
  • 历史总积分:2
  • 注册:2015年10月07日
发表于:2024-11-21 21:04:58
13楼
感谢楼主分享

回复本条

    

ytuygby

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 47回
  • 年度积分:29
  • 历史总积分:38
  • 注册:2014年2月20日
发表于:2024-12-02 11:12:20
14楼

感谢楼主分享

回复本条

    

coolninai

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 36回
  • 年度积分:122
  • 历史总积分:122
  • 注册:2012年5月03日
发表于:2024-12-03 12:04:52
15楼

感谢楼主,写的很详细

回复本条

    

热门招聘
相关主题

官方公众号

智造工程师