1、 丹佛斯变频器 Modbus 通讯 济南创恒科技发展有限公司 满建江 FC系列变频器通过内置的 RS485 接口,以 Modbus RTU 格式进行通讯。参数设置如表 参数号 设置数值 内容 8-30 【 2】 Modbus RTU 选择协议 8-31 1-247 设置变频器地址,不能重复 8-32 2400-115200 设置波特率,各站速度一致 8-33 【 0】奇数 奇偶校验,各站设置一致 FC 系列变频器需要设置的参 数: 8-01,控制地点,选择【 2】控制字,或者【 0】数字和控制字; 8-02,控制来源,选择【 1】 RS 485; 8-03,控制字超时时间; 8-04,控制字超
2、时功能,选择当控制字丢失,变频器采取的动作; 8-30,【 2】选择为 Modbus RTU通讯协议; 8-31,变频器的通讯地址, 1-126 范围内地址有效; 8-32,设置通讯速度,各站速度要求一致; 8-33,奇偶校验方式,各站要求设置一致; 8-50,惯性停车的实现方式,当 8-01选择为【 0】时,请注意该参数。 丹佛斯变频器所要通讯的 MODBUS地址为参数号码乘以 10 减去 1,西门子 PLC不需要减 1. 例如:变频器的频率地址为 3-10 那么对应的 MODBUS地址即是:( 31010 ) 1 3099(十进制) 西门子 200PLC 地址不需要减 1 为 43100
3、在 PLC 的 modbus 指令块写入要通讯变频器地址,参数的地址,和参数的值后,即可更改此参数。 电报结构(十六进制) 地址字段包含 8位数据,有效的地址范围为 0-247(十进制), 0为广播模式; 1-247对相应地址的从站进行寻址。 功能字段包含 8位数据,有效地代码范围为 1-FF,功能字段用于在主站和从站之间发送消息。当从主站向从站发送时,功能字段为主站的控制字;当从从站向主站传送时,功能字段为从站的状态字。 由主到从的控制代码 代码(十六进制) 功能 1 读取线圈 3 读取保持寄存 器 5 写入单个线圈 6 写入单寄存器 F 写入多个线圈 10 写入多个寄存器 B 获取通讯事件
4、计数器 11 报告从站 ID 数据字段,是由几组字节两个十六进制数字( 00 至 FF)构成,根据不同的功能代码,数据字段包含的位长、作用不一,针对常用的功能代码,举例如下: 1、功能代码 =1,读取线圈状态 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7 Byte8 站址 01 位起始地址 位个数 CRC16 2、功能代码 =5,写入单个线圈数值 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7 Byte8 站址 05 位起始地址 位的值 CRC16 3、功能代码 =F,写入多个线圈数值 Byte1 Byte2 Byte3
5、 Byte4 Byte5 Byte6 Byte7 Byte7+n B8+n B9+n 站址 0F 位起始地址 位的个数 字节 数 位的值 CRC16 线圈及位的意义。地址 0-31为主站写入用控制位, 32-63为从站返回的状态位,如下表所示: 位 值为 0 值为 1 位 值为 0 值为 1 00 参考值 外部选择低 位 32 控制未就绪 控制就绪 01 参考值 外部选择高 位 33 变频器未就 绪 变频器就绪 02 直流制动 无直流制动 34 惯性停止 安全功能关闭 03 惯性停车 无惯性停车 35 无报警 报警 04 快速停止 无快速停止 36 未使用 05 锁定输出 无锁定频率 37 0
6、6 加减速停 止 启动 38 07 无功能 复位 39 无警告 警告 08 无功能 点动 40 不在参考值 下 在参考值下 09 加减速 1 加减速 2 41 手动模式 自动模式 10 数据无效 数据有效 42 超出频率范 围 在频率范围运行 下 11 关继电器 1 开继电器 1 43 已停止 运行中 12 关继电器 2 开继电器 2 44 未使用 13 参数设置 选择低位 45 无电压警告 电压警告 14 参数设置 选择高位 46 不在电流极 限内 电流极限 15 无反向 反向 47 无热警告 热警告 16-31 参考值 0-FFFF ( -200%-200%) 48-63 开环模式:变频器
7、输出频率 闭环模式:变频器反馈信号 65 参数写入控制(由主到从) 0, 将变化的参数写入变频器的 RAM 1, 将变化的参数写入变频器的 RAM 和 EEPROM 例如,使电机启动并运转在 50%*最大参考值的报文如下 站址 功能 位起始地址 位的个数 字节数 写入数值 CRC16 01 0F 00 00 00 20 04 7C 04 00 20 9D 01 其中位的个数为 20H=32 个位,也就是从 00地址起始到 31为止的位; 字节数,是指写入数值为 4个字节; 写入数值 047C 对应 00-16位,在传送时低位在前,因此为 7C 04; 2000 对应 16-31位, 50%*最
8、大参 考值,在传送时低位在前,因此为 00 20; 对于停止,应发 043C代码 4、功能代码 =3,读取保持寄存器状态,保存寄存器保持 2字节(即 16位) Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7 Byte8 站址 03 字起始地址 字节个数 CRC16 5、功能代码 =6,写入单个寄存器 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7 Byte8 站址 06 字起始地址 字的值 CRC16 6、功能代码 =10,写入多个寄存器数值 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte
9、7 Byte7+n B8+n B9+n 站址 10 字起始地址 字的个数 字节 数 字的值 CRC16 寄存器列表: 例如,当要读取 3-41,加速时间时,需要写的报文: 站址 功能码 字起始地址 字个数 CRC16 01 03 0D 51 00 02 97 76 计算参数 3-41 的地址 3-41 341*10 -1=3409 D51 (十六进制); 保持寄存器状态都为双字节,因此在字个数位置应该为 2 ;正常情况下,变频器返回的报文为, 站址 功能码 字节数 返回信息 CRC16 01 03 04 00 00 01 2C FA 7E 012C 为读出的加速度时间,转换成十进制并考虑到控制
10、单位,得到加速时间为 3秒。 寄存器 50000、 50010和线圈 00-31 的作用相同,使电机启动并运转在 50%*最大参考值的报文,使用寄存器写入的报文为 : 站址 功能码 字起始地址 写入信息 CRC16 01 06 C3 59 20 00 7C 5D 地址转换 ( 50010-1) C3 59 (十六进制); 写入信息 20 00 对应 50%*最大参考值; 站址 功能码 字起始地址 写入信息 CRC16 01 06 C3 4F 04 7C 87 78 地址转换 ( 50000-1) C3 4F (十六进制);写入信息 04 7C 变频器运转的控制字; 注:同传送线圈数据不同,这里
11、写入的信息不需要 高、低字节互换,这是由 modbus RTU协议规定的。 50000和 50010 因为不是连续的地址,不能使用写入多寄存器的功能码,只能使用单寄存器写入的功能码。 FC302 MODBUS RTU 各参数地址如下 即:参数号 10-1 例如 001号参数的 modbus 地址 9 310.1号参数先写 8号参数 1 然后写 3099即可。 西门子 PLC 不需要 减 1 50000是控制字地址 关于丹佛斯 FC51 通讯的部分介绍 前言 丹佛斯 FC51系列变频器通讯:硬 件集成 485 通讯口(两线制);软件上集成两种通讯协议 FC协议(丹佛斯自行研制)和 MODBUS
12、RTU协议(国际标准通讯协议),本文主要对于 FC51 变频器 MODBUS RTU通讯协议上面做相关介绍。 丹佛斯 FC51通讯设定 参数 8 30 设为 2 通讯协议为 MODBUS 协议 8 31 设为 1 通讯子机地址 8 32 设为 2 通讯波特率为 9600 8 33 设为 0 通讯数据格式 8, E, 1 此通讯主要 介绍写频率 读电压 读电流 读输出频率 丹佛斯 FC51通讯设定 参数 8 30 设为 2 通讯协议为 MODBUS 协议 8 31 设为 1 通讯子机地址 8 32 设为 2 通讯波特率为 9600 8 33 设为 0 通讯数据格式 8, E, 1 3 02 频率
13、参考值( MIN) * 3 03 频率参考值( MAX) * 注 *:变频器频率通过通讯设定的是百分比( P),实际设定的频率就是 (MAX-MIN)P10000 ( P的设定有两个小数位) 此通讯主要介绍写频率 读输出电压 读输出电流 读输出频率 1,变频器 MODBUS 地址的定义 丹佛斯变频器所要通讯的 MODBUS 地址为参数号码乘以 10 减去 1 例如:变频器的频率地址为 3 10 那么对应的 MODBUS 地址即是:( 31010 ) 1 3099(十进制) 16 进制为0C1B 2,读写变频器的操作 ( 1)写频率 命令代码: 01 06 0C 1B * * CRC 则变频器返
14、回代码为: 01 06 0C 1B * * CRC 其中: 01 代表变频器地址 一个字节 06 代表 MODBUS 写功能码 一个字节 0C 1B 代表变频器内部 MODBUS 地址 两个字节 * * 代表所要写的频率的百分比 两个字节 CRC 代表冗余校验码 两个字节 其中低位在前 高位在后 ( 2)读电机参数 参数为: 16 12 电机运行电压 对应 MODUBS地址为( 161210 ) 1 3EF7 16 13 电机运行频率 对应 MODUBS 地址为( 161310 ) 1 3F01 16 14 电机运行电流 对应 MODUBS 地址为( 161410 ) 1 3F0B 命令代码:
15、 01 03 3E F7 00 01 CRC 则变频器返回: 01 03 3E F7 00 02 * * CRC 其中: 01 代表变频器地址 一个字节 03 代表 MODBUS 读功能码 一个字节 3E F7 代表变频器内部 MODBUS 地址 两个字节 00 01 代表读一个字 两个字节 CRC 代表冗余校验码 两个字节 其中低位在前 高位在后 00 02 代表返回 2个字节 两个字节 * * 代表返 回的电压值 两个字节 3,启动 /停止变频器 写 047C 到地址 50000( HC350)启动变频器 写 043C 到地址 50000( HC350)停止变频器 3-10 的八段速每段速
16、的设定,需要在 K8 里面写相应的地址号 0-7八段速设定里面当 K8厘米的值等于 0时为 0段速,当 K8里的值等于 1时为第一段速,依此类推,当 K8的值等于 7时为第 7段速 S7-200-DANFOSS FC51 MODBUS RTU通讯说明: MODBUS RTU通讯需要主站发送一定格式一定内容的十六 进制代码,从站对此做出回应,从而建立两者之间的通讯,本例通过简单的一个 PLC 主站带一个变频器从站( 485 地址为 1),来说明 DANFOSS 变频器的 MODBUS RTU 通讯的过程,不同的通讯情况编程者可以灵活发挥。 一: 01 0f 00 00 00 20 04 7c 0
17、4 33 13 C9 E4 -启动变频器 (正转),频率 15 赫兹,控制字和频率给定都要高低 8位互换二:01 0f 00 00 00 20 04 7c 84 33 13 C8 0C -启动变频器(反转) , 频率 15 赫兹,控制字和频率给定都要高低 8位互换 给定值 =(H1333/H4000)*50HZ=15HZ 三: 01 01 00 20 00 20 3c 18-读频率指令 返回码: 09 01 01 04 07 0F D9 19 50 FC 状态字: 0F07,频率值: 19D9 CRC:( 01 01 04 07 0F D9 19) =50 FC 读到的频率值( 16位)也是高低 8位互换后才是真实值。 四:通过通讯给定频率值的转化计算办法: H4000-16384-100%-50HZ 五:变频器的频率给定值是参数 3-15,3-16,3-17的和,如果这三个都选择总线,则实际给定是 3倍。 2012-7-17