ABB变频器的MODBUS通讯代码(供参考) 点击:955 | 回复:1



gmx_1234

    
  • 精华:61帖
  • 求助:0帖
  • 帖子:663帖 | 15回
  • 年度积分:0
  • 历史总积分:13653
  • 注册:2006年5月31日
发表于:2010-10-01 16:36:46
楼主
1.ACS510变频器参数设置:

9802=1 MODBUS

5302=1 站号 5303=9.6kbit/s 波特率 5304=1 校验方式为8N2 5305为0

1001=10 由MODBUS控制变频器启停

1102=0 由MODBUS控制变频器给定速度(0-20000对应0-50Hz)

1103=8 …

2.控制变频器起停. a.初始化,即向Modbus寄存器40001中写入1142(16进制数为476)并延时100毫秒;

b.停止电机,即向Modbus寄存器40001中写入1143(16进制数为477);

c.启动电机,即向AModbus寄存器40001中写入1151(16进制数为47F)

例:通讯初始化:发出【02 06 00 00 04 76 CRC校验码】,延时100毫秒;2 b9 L5 h E)

启动电机:发出【02 06 00 00 04 7F CRC校验码】

停止电机:发出【02 06 00 00 04 77 CRC校验码】

3.用Modbus修改给定频率的方法0 ~:

主机向通讯给定1(Modbus寄存器40002)中写入设定的频率数值(范围=0~+20000(换算到0~1105给定1最大),或-20000~0(换算到1105给定1最大~0));

例如:若1105=50.00Hz;发出【01 06 00 01 27 10 CRC校验码】表示修改频率为25.00Hz。

4.用Modbus修改加速时间的方法

向Modbus寄存器42202中写入设定的加速时间数值由参数的分辨率和范围决定;

例:发出【01 06 08 99 02 58 CRC校验码】表示修改加速时间为60.0S。

附:

功能01:读线圈状态:

发送:01 01 00 20 00 03(站号 功能 开始 个数)

响应:01 01 01 06(站号 功能 字节数 字节1 字节2 …)

功能02:读离散功能输入状态:

发送:01 02 00 20 00 03(站号 功能 开始 个数)

响应:01 02 01 05(站号 功能 字节数 字节1 字节2 …)

功能03:读多个保持寄存器:

发送:01 03 00 65 00 03(站号 功能 开始 个数)

响应:01 03 06 02 EE 00 FA 00 00(站号 功能 字节数 字节1 字节2 …)

功能04:读多个输入寄存器:

发送:01 04 00 00 00 02(站号 功能 开始 个数)

响应:01 04 04 00 01 01 F1(站号 功能 字节数 字节1 字节2 …)

功能06:写单个保持寄存器:

发送:01 06 08 99 02 58(站号 功能 寄存器号 数值)

响应:01 06 08 99 02 58(站号 功能 寄存器号 数值)

功能10:写多个保持寄存器:

发送:01 10 08 99 00 02 02 01 f4(站号 功能 开始 个数 字节数 字节1 字节2 …)

响应:01 10 08 99 00 02(站号 功能 开始 个数)

以上调试程序对ABB 其它交流变频器都同样适用, 如ACS600, ACS800,ACS143,ACS400,ACS510,ACS550同样适用.,不过对于ACS600,ACS800变频器需要增加MODBUS扩展模块.




lqz19881216

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:6
  • 注册:2010年12月16日
发表于:2011-05-04 11:08:52
1楼
不错的东东

热门招聘
相关主题

官方公众号

智造工程师