最近有个项目要用伺服电机,其实之前国产的伺服用了几次了,但是发现三菱的好像要更复杂一些。
项目用的是HG-KN73J-S100的电机+MR-JE-70A的控制器,总功率在750w左右。
源型漏型
手册里一直提到源型漏型的区别,基本上就是正负极完全反过来的。但是手册里没有提到怎么确定是漏型还是源型。直到我看到了这里我觉得应该是这样的,就是左边的接线方式决定了右边引脚的的类型,如果左边是按照源型接的话,右边是就是源型,如果左边是漏型的话右边就是漏型,因为看起来右边的电源是左边提供的。
我最后用了漏型接法
所以也引出了下一个问题就是这个控制器需要额外供电24V。
资料下载
最开始我是和代理要,后来才知道原来资料下载的网站是这个,要搜三菱电机自动化。。。https://cn.mitsubishielectric.com/fa/zh/download/dwn_idx_certification.asp
直接搜三菱电机的话是不对的。。。
接线
因为通讯内容不算多,所以打算用485来控制。但是手册放大器对应的有5个引脚
其中,TRE的作用应该是接地一类的,但是有一个严重的问题是422是全双工所以有4根线,而485是半双工只有两根线。但是手册里没有提到怎么接线。我搜到一张这样的图,不知道是不是对的。
2020年8月7日 UPDATE:
试了下是可以的,RDP和SDP练到A上,SDN、RDN和TRE连到B上。
ModBus-RTU
三菱有一个手册里面有个视频介绍了怎么用PLC连接JE的设置方式。我试了试直接用485控制感觉有点难,文档不是很好理解而且例子太少了。所以决定用modbus来做。
设置
具体的设置可以跟着视频里操作,特别的是这里有个可以自动EM2和SON的
我记下都设置了什么。。。
通讯协议
基本上是Modbus的协议,消息的组成是这样的
其中fuction可以是下面三种中的一种
当功能为03时是数据是这样的
Address | Function | start register | no. of register | CRC16 |
---|---|---|---|---|
01 | 03 | 起始寄存器 | 连续读取寄存器数量 | 校验 |
1Byte | 1Byte | 2Byte | 2Byte | 2Byte |
返回的数据为
Address | Function | no. of data | DATA | CRC16 |
---|---|---|---|---|
01 | 03 | 数据数量 | 数据 | 校验 |
1Byte | 1Byte | 1Byte | nByte | 2Byte |
例如
当功能为10时是这样的
返回的数据为
当有错误时,返回是这样的
2020年8月10日 UPDATE:
当传输多个字节时,有两种字节序可以选择,默认的是一种比较奇怪的顺序。。。
测试JOG运行
使用6060切换至JOG模式
01 10 60 60 00 01 02 00 9C
使用6061查询目前模式
01 03 60 61 00 01
返回
01 03 02 00 9C B8 2D
先使用6081写入速度
设定速度为500
01 10 60 81 00 02 04 00 00 01 F4
读取设定的速度值
01 03 60 81 00 02
返回(这个返回值看不太懂)
01 03 04 **16 76 00 00** 1F A1
2020年8月10日 UPDATE:
是因为字节序的问题(是小端传输的)没有传输正常的速度,所以返回值不一样。正确的应该是
01 10 60 81 00 02 04 01 F4 00 00
读取加速时间常数
01 03 60 83 00 02
设定加速时间常数
01 10 60 83 00 02 04 03 E8 00 00
读取减速时间常数
01 03 60 84 00 02
设定减速时间常数
01 10 60 84 00 02 04 03 E8 00 00
给6040 写入0F变为可操作模式
01 10 60 40 00 01 02 00 0F
使用6040写入1F启动电机
01 10 60 40 00 01 02 00 1F
额,手册里貌似有个流程图。。
CRC16
额,记得要在结尾加CRC16校验
使用Modbus时控制模式的选择
其实只能选择两种模式:点位表和程序方式。但是可以用过上面的方式切换的JOG模式
程序模式
切换程序模式和电位置模式时,需要初始化
大概是先给6040 写一个0F
然后用2D70写一个程序编号
然后给6041写一个1F运行程序
网友评论