苏州实操派科技有限公司官网-实操派教育科技,汇川技术PLC培训,实操派PLC培训,苏州PLC培训机构

伺服应用笔记(三)——ModbusRTU控制SV660P说明

[复制链接]
10 452

附件下载,需登录可以查看贴内更多信息

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

x
帖子目的

Modbus RTU是工业控制现场经典的控制协议,本贴结合市场一线实际工作经验,总结上位机通过ModbusRTU控制SV660P的注意事项,希望对大家有所帮助
1.Modbus协议说明

Modbus通信的底层为RS485信号,采用双绞线进行联接就可以了,因此传输距离较远,可达1000米,抗干扰性能比较好,且成本低,在工业控制设备的通信中被广泛使用,现在众多厂家的变频器、控制器都采用了该协议。传送数据格式有HEX码数据和ASCII码两种,分别称为Modbus-RTU和Modbus-ASC 协议。前者为数据直接传送,而后者需将数据变换为ASCII码后传送,因此Modbus-RTU协议的通信效率较高,处理简单,使用得更多。Modbus为单主多从通信方式,采用的是主问从答方式,每次通信都是由主站首先发起,从站被动应答。因此,如变频器之类的被控设备,一般内置的是从站协议,而PLC之类的控制设备,则需具有主站协议、从站协议。2.常用Modbus 功能码及数据编址

SV660P作为Modbus从站时,支持Modbus协议功能码0x03, 0x06, 0x10;
Modbus通信主机在访问(读取或改写) 伺服从机的内部变量时,必须遵循如下的通信命令帧定义,以及变量地址索引方法,才能进行正常的通信操作
功能码 0x03(03):读寄存器
1.png

功能码 0x10(16):写多个寄存器
2.png

3.错误响应帧

3.png

4.png

5.png

4.接线&SV660P参数设置

6.png

7.png

8.png

9.png

5.通讯例子

5.1 写动作H31-00
5.1.1 伺服使能,H31-00的bit0设置为1
Send->
01 10 31 00 00 01 02 00 01 47 53
Recv<-
01 10 31 00 00 01 0F 35
5.1.2 伺服断使能,H31-00的bit0设置为0
Send->
01 10 31 00 00 01 02 00 00 86 93
5.1.3 正点动,H31-00的bit1设置为1
Send->
01 10 31 00 00 01 02 00 03 C6 92
5.1.4 反点动,H31-00的bit2设置为1
Send->
01 10 31 00 00 01 02 00 05 46 90
5.1.5 绝对定位,H31-00的bit3设置为1
Send->
01 10 31 00 00 01 02 00 01 47 53 (先写0)
Send->
01 10 31 00 00 01 02 00 09 46 95 (再写1)
5.1.6 原点回归使能,H31-00的bit4设置为1
Send->
01 10 31 00 00 01 02 00 01 47 53(先写0)
Send->
01 10 31 00 00 01 02 00 11 46 9F(再写1)
5.1.7 VDI急停,H31-00的bit5设置为1
Send->
01 10 31 00 00 01 02 00 21 46 8B (先写1,触发急停,面板报Er.900)
Send->
01 10 31 00 00 01 02 00 01 47 53 (再写0,解除急停)
5.1.8 报警复位,H31-00的bit6设置为1
Send->
01 10 31 00 00 01 02 00 41 46 A3 (先写1,报警复位)
Send->
01 10 31 00 00 01 02 00 01 47 53 (再写0)
5.2 写参数
注意:参数掉电保持H0C-13=1,且参数设置好后,断电重启,然后必须关闭H0C-13=0,保护EEPROM。
5.2.1 写目标位置H11-0C=10000(假设写入ABCD数据,格式为CDAB)
Send->
01 10 11 0C 00 02 04 27 10 00 00 38 DB
Recv->
01 10 11 0C 00 02 84 F7
5.2.2 写点动速度H06-04=32rpm
Send->
01 10 06 04 00 01 02 00 20 C0 0C
Recv->
01 10 06 04 00 01 40 80
5.2.3 功能码急停,断使能,面板不报Er.900,H0D-05=1
Send->
01 10 0D 05 00 01 02 00 01 BB 05 (先写1,触发急停)
Send->
01 10 0D 05 00 01 02 00 00 7A C5(再写1,解除急停)
Recv->
01 10 0D 05 00 01 13 64
5.2.4 驱动重启H0D-00=1
Send->
01 10 31 00 00 01 02 00 00 86 93(伺服断使能,重启后自动恢复为0)
Send->
01 10 0D 00 00 01 02 00 01 BB 50(驱动重启)
Recv->
01 10 0D 00 00 01 03 65 (正确返回)
Recv->
01 90 04 4D C3 (从站设备故障,请先断使能)
5.3 读参数
5.3.1 读实际位置H0B-07(假设读取格式为CDAB,实际数据为ABCD)
Send->
01 03 0B 07 00 02 77 EE
Recv->
01 03 04 09 B2 00 00 59 88(当前位置为0x09B2=2482)
5.3.2 读故障代码H0B-34
Send->
01 03 0B 22 00 01 26 24
Recv->
01 03 02 07 40 BB 84 (Er.740编码器故障)
Recv->
01 03 02 E9 39 37 C6(Er.939动力线断线)
10.png

5.3.3 读物理DO信号H0B-05
Send->
01 03 0B 05 00 01 96 2F
Recv->
01 03 02 00 1A 39 8F(上电默认,bit0-伺服准备好,bit2-零速信号)
Recv->
01 03 02 00 18 B8 4E(定位完成,bit1-定位完成,保持信号)
Recv->
01 03 02 00 08 B9 82(回原完成,bit4-原点回零完成,保持信号)
11.png

5.3.4 以当前位置为零点(位置=0)H05-30=6
Send->
01 10 05 1E 00 01 02 00 06 70 EC
Recv->
01 10 05 1E 00 01 61 03
6.CRC16计算方法

以C++为例,可参考以下代码:
</i>

  • #include <cstdio>
  • #include <iostream>
  • using namespace std;

  • uint16_t CRC16(uint8_t* arr_buff, int len)
  • {
  •         uint16_t crc = 0xFFFF;
  •         uint16_t i, j, Data;
  •         for (j = 0; j<len; j++)
  •         {
  •                 crc = crc ^*arr_buff++;
  •                 for (i = 0; i<8; i++)
  •                 {
  •                         if ((crc & 0x0001) >0)
  •                         {
  •                                 crc = crc >> 1;
  •                                 crc = crc ^ 0xa001;
  •                         }
  •                         else
  •                                 crc = crc >> 1;
  •                 }
  •         }
  •         return (crc);
  • }

  • void main()
  • {
  •         uint8_t dataIn[9] = { 0x01,0x10,0x31,0x00,0x00,0x01,0x02,0x00,0x01 };
  •         cout << &quot;dataIn[&quot; << sizeof(dataIn) << &quot;]&quot; << &quot;= { &quot;;
  •         for (int i = 0; i < sizeof(dataIn); i++)
  •         {
  •                 printf(&quot;%02x &quot;, dataIn);
  •         }
  •         cout << &quot;};&quot; << endl;
  •         uint16_t Result = CRC16(dataIn, sizeof(dataIn));
  •         cout << &quot;CRC16 Result : &quot; << hex << Result%0x100 << &quot; &quot; << hex << Result/0x100 << endl;
  •         system(&quotause&quot;);}
运行结果如下:
12.png

附录:
1.SV660P系列伺服设计维护使用手册
http://www.inovance.com/content/details83_18416.html
2.伺服后台软件(读写参数用)
http://www.inovance.com/content/details86_14445.html


相关教程:

</i>伺服应用笔记(一)——概述

多功能系列教程(一)——概述

SV510压合专机系列教程(一)——概述


串口调试工具commix.zip (44.29 KB, 下载次数: 0)
免责声明:内容为网友自行发布或者来自互联网资源或者参考文献,如果侵犯了您的权益,请联系站长 1304546267@qq.com,我们会及时删除侵权内容,感谢您的理解!

相关帖子

回复

使用道具 举报

扬居民 2020-2-28 13:15:04 | 显示全部楼层
不错不错
回复

使用道具 举报

123458466 2020-2-28 17:16:19 | 显示全部楼层
好文章!!!
回复

使用道具 举报

爱上探戈孪 2020-2-28 17:49:25 | 显示全部楼层
雕虫小技,抛转引玉,求各种批评指正与技术蹂躏
回复

使用道具 举报

棋丝集日授 2020-6-29 10:01:03 | 显示全部楼层
学习学习
回复

使用道具 举报

凉汐颜 2020-7-17 10:59:31 | 显示全部楼层
感谢,分享!
回复

使用道具 举报

毛豆老房东滓 2020-10-28 16:25:07 | 显示全部楼层
5.1.4 反点动,H31-00的bit2设置为1
Send->
01 10 31 00 00 01 02 00 05 46 90
反点动发送出去没有动作,另外还有其他的例子功能码或者组合功能码的方法?
回复

使用道具 举报

传说中的大宇 2020-11-13 17:47:45 | 显示全部楼层
好文章!!!
回复

使用道具 举报

有何不可有o 2021-2-9 16:07:46 | 显示全部楼层
不错的资料!推荐学习!
回复

使用道具 举报

正点动03 反点动05 绝对定位09 回原点11 这些值是怎么得来的?
回复

使用道具 举报

关键词:Modbus RTU,SV660P,从站,主站,功能码,数据编址

本文旨在总结上位机通过Modbus RTU控制SV660P时的注意事项。Modbus通信协议是一种广泛应用于工业控制设备的通信协议,底层采用RS485信号进行传输,具有传输距离远、抗干扰性好、成本低等特点。

Modbus协议支持两种传输数据格式,分别为HEX码数据和ASCII码,其中Modbus-RTU协议的通信效率较高,处理简单,因此被更广泛使用。Modbus通信采用单主多从的方式,每次通信都由主站发起,从站被动应答。SV660P作为Modbus从站,支持功能码0x03、0x06和0x10。

在访问SV660P的内部变量时,主站必须遵循通信命令帧定义以及变量地址索引方法,才能进行正常的通信操作。功能码0x03表示读寄存器,在读取或改写SV660P的内部变量时可以使用。

总结:本文重点介绍了Modbus RTU通信协议的特点,以及通过Modbus RTU控制SV660P时需要注意的事项。下面将进一步展开讨论。

1. Modbus RTU通信协议

Modbus RTU是一种经典的工业控制通信协议,可广泛应用于各种工业设备中。其底层采用RS485信号进行传输,可以实现较远距离的通信,最长可达1000米。同时,RS485接口具有较好的抗干扰能力,能够适应工业环境中的电磁干扰等情况。此外,RS485接口的成本相对较低,易于实现。

2. Modbus协议功能码及数据编址

SV660P作为Modbus从站支持的功能码有0x03(读寄存器)、0x06(写单个寄存器)和0x10(写多个寄存器)。主站在访问SV660P的内部变量时,需要使用相应的功能码,并按照规定的通信命令帧定义和变量地址索引方法进行操作。

3. SV660P的控制与调试

SV660P作为伺服控制器,具有丰富的功能和参数设置项,通过Modbus RTU协议可实现对其控制和调试。主站可以通过发送相应的命令帧,读取SV660P的状态、参数值,并根据需求进行修改。

在控制SV660P之前,主站首先需要建立与SV660P的通信连接,确保通信稳定。通常情况下,可以通过设置串口的波特率、数据位、停止位等参数来适配SV660P的通信配置。

4. Modbus RTU通信的应用场景

Modbus RTU通信协议被广泛应用于工业领域的控制设备中,如变频器、PLC等。通过Modbus RTU协议,这些设备可以与上位机或其他控制器进行通信,实现数据的交互和控制命令的传输。在工业自动化系统中,Modbus RTU通信协议具有全面的应用场景,为各种设备之间的通信提供了可靠的解决方案。

5. Modbus RTU与其他通信协议的比较

目前市场上存在多种工业控制通信协议,如Profinet、CANopen、EtherCAT等。与这些协议相比,Modbus RTU协议具有成本低、易于实现、兼容性好等优势。同时,由于Modbus RTU协议被广泛应用于工业设备中,相关设备的支持和维护也更加便捷。

总结:在工业控制领域,Modbus RTU通信协议是一种经典的控制协议,采用RS485信号进行传输,具有传输距离远、抗干扰性好、成本低等优势。SV660P作为Modbus从站,支持功能码0x03、0x06和0x10,主站可以通过发送相应的命令帧对其进行控制和调试。Modbus RTU通信协议在工业自动化系统中具有广泛的应用场景,为各种设备之间的通信提供了可靠的解决方案。与其他通信协议相比,Modbus RTU具有成本低、易于实现、兼容性好等优势。
                                                                                                                                                                                                                                                 以上内容来自  AI机器人,如需继续对话,则在此回答下“点击回复” 或者 在提问时  “@机器人”!禁止 "黄赌毒及政治敏感",违者封号,严重者 提交 网警公安部门。本站不对内容真实性负责,AI机器人有时候会乱说一通……
回复

使用道具 举报

data/attachment/temp/202212/30/133743h8cd9z14sjs84kaz.png_thumb.jpg 共31章节616课时

【全科班】汇川中型PLC从0到1就业班(Codesys系统化全科班课程-600节+)-汇川PLC教程

朱子文

咨询客服
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/VMdEZiqp3BMkbBIlMRRD.png 共9章节44课时

【09-Codesys教程】电子凸轮齿轮从入门到进阶系统化课程-色标跟踪-探针-追剪-飞剪-间歇式工艺-汇川中大型PLC伺服多轴同步运控

朱子文

¥ 699.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240217/v39r666Z663eBBGKErRm.png 共30章节630课时

【全科班】汇川技术H5U从0到1就业班(系统化全科班-600节+)

张汉清

咨询客服
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240207/HlL5SWHry9lPVdqC8i59.png 共5章节63课时

【01-Codesys教程】ST文本从0到1,从入门到进阶-汇川中大型PLC教程

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240227/AMo32PcbJeIMJBT3m8Pu.png 共4章节36课时

03 中大型ST文本结合仿真软件小项目 31节-气缸功能块封装-状态机编程思路-小设备框架

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/Fu5pu34pPcTpu0La443P.png 共6章节52课时

【10-Codesys】包装行业-三伺服枕包机实战项目(4虚轴3实轴耦合+凸轮动态修改+防切工艺+防空工艺+色标探针+挺杆功能+状态机编程+程序框架+指针FIFO)

朱子文

¥ 899.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/Su1ibr3I77yl78DLBR7D.png 共4章节29课时

【12-Codesys小课】中大型PLC-PID控制器算法从入门到进阶之液位控制系统

朱子文

¥ 699.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20230603/Cz3hqDmDD8qHfT3MDm4m.png 共3章节30课时

【05-Codesys教程】汇川中大型PLC单轴运动控制教程-汇川PLC教程

朱子文

¥ 399.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20230603/gXpEpJ8Qb78eD5lDqlnQ.png 共3章节25课时

【06-Codesys教程】汇川中大型PLC运动控制进阶篇(多轴PTP)-编程框架与编程模板实操

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/e39s63ppg54Q2s5H33H9.png 共3章节24课时

【08-codesys教程】汇川中大型codesys教程-多轴运控扩展篇经验分享小知识分享

朱子文

¥ 299.00
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

data/attachment/temp/202212/30/133743h8cd9z14sjs84kaz.png_thumb.jpg 共31章节616课时

【全科班】汇川中型PLC从0到1就业班(Codesys系统化全科班课程-600节+)-汇川PLC教程

朱子文

咨询客服
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/VMdEZiqp3BMkbBIlMRRD.png 共9章节44课时

【09-Codesys教程】电子凸轮齿轮从入门到进阶系统化课程-色标跟踪-探针-追剪-飞剪-间歇式工艺-汇川中大型PLC伺服多轴同步运控

朱子文

¥ 699.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240217/v39r666Z663eBBGKErRm.png 共30章节630课时

【全科班】汇川技术H5U从0到1就业班(系统化全科班-600节+)

张汉清

咨询客服
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240207/HlL5SWHry9lPVdqC8i59.png 共5章节63课时

【01-Codesys教程】ST文本从0到1,从入门到进阶-汇川中大型PLC教程

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240227/AMo32PcbJeIMJBT3m8Pu.png 共4章节36课时

03 中大型ST文本结合仿真软件小项目 31节-气缸功能块封装-状态机编程思路-小设备框架

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/Fu5pu34pPcTpu0La443P.png 共6章节52课时

【10-Codesys】包装行业-三伺服枕包机实战项目(4虚轴3实轴耦合+凸轮动态修改+防切工艺+防空工艺+色标探针+挺杆功能+状态机编程+程序框架+指针FIFO)

朱子文

¥ 899.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/Su1ibr3I77yl78DLBR7D.png 共4章节29课时

【12-Codesys小课】中大型PLC-PID控制器算法从入门到进阶之液位控制系统

朱子文

¥ 699.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20230603/Cz3hqDmDD8qHfT3MDm4m.png 共3章节30课时

【05-Codesys教程】汇川中大型PLC单轴运动控制教程-汇川PLC教程

朱子文

¥ 399.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20230603/gXpEpJ8Qb78eD5lDqlnQ.png 共3章节25课时

【06-Codesys教程】汇川中大型PLC运动控制进阶篇(多轴PTP)-编程框架与编程模板实操

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/e39s63ppg54Q2s5H33H9.png 共3章节24课时

【08-codesys教程】汇川中大型codesys教程-多轴运控扩展篇经验分享小知识分享

朱子文

¥ 299.00

到"π³ 实操派",学PLC就是快!汇川PLC及Codesys培训

项目实战 手把手教学 微信&电话 15850116008
超600节系统化课程,汇川优秀自动化讲师亲授!学一门Codesys,玩800家PLC仅剩少量名额
点击免费试听

到实操派,学PLC就是快!

扫码领取工控文库VIP

钻石VIP先到先得

服务电话 & 微信:9:00-22:00

15850116008

苏州实操派科技有限公司

公司地址:江苏省苏州市吴中区越溪街道天鹅荡路5号31B13

Copyright © 苏州实操派科技有限公司 2022 到实操派,学PLC就是快!工业自动化业务培训适用人群:成人 ( 苏ICP备2022021576号-3 )

公司地址:江苏省苏州市吴中区越溪街道天鹅荡路5号31B13

返回顶部