首页 上一页 1 2 下一页 尾页

海为PLC与富士变频器通讯及仿真调试详细介绍 点击:1463 | 回复:24



海为

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:31帖 | 165回
  • 年度积分:0
  • 历史总积分:950
  • 注册:2006年11月11日
发表于:2008-05-08 16:53:46
楼主

海为PLC与富士变频器通讯及仿真调试详细介绍:

一、海为PLC通讯特点:
1、内置多种通讯协议:Haiwell PLC各种型号的主机都内置Modbus RTU/ASCII协议、自由通讯协议以及海为公司的HaiwellBus高速通讯协议;
2、通讯端口可扩展:Haiwell PLC各种型号的主机均自带2个通讯口(一个为RS-232,另一个为RS-485),用通讯扩展模块可扩展至5个通讯口,每个通讯端口均可用于用于编程和联网,通讯端口相互独立,均可作为主站也可作产从站;
3、极为便利的通讯指令系统:使您无论使用何种通讯协议都只需一条通讯指令便可完成复杂的通讯功能,编程简单而程序简洁,无须再为通讯端口冲突、发送接收控制、通讯中断处理等问题烦恼,可以在程序中混合使用各种协议轻松完成您所需的各种数据交换;

二、富士变频器通讯协议介绍
富士变频器采用富士专用的通讯协议,根据富士变频器说明书与通讯有关的主要参数如下:
H30:连接功能选择,需要设定为3
H31:RS485地址,需要设定为2
H34:通讯传送速度(波特率),设定为0,19200
H35:数据长度,设定为0,8位
H36:奇偶校验,设定为0,无
H37:停止位,设定为0,2位

富士专用的通讯协议有关命令格式如下图,详细通讯协议请参考富士变频器通讯协议手册。
其中:SOH=01,ENQ=05,P=20,ETX=03



三、海为PLC与富士变频器通讯程序
因为富士变频器采用富士专用的通讯协议,所以海为PLC采用COMM自由通讯协议与其通讯。
例子完成5项操作命令,变频器地址设为2,通讯格式19200,8,N,2
1、 正转运行:
根据富士变频器说明书,正转运行命令ASCII为: SOH 0 2 ENQ f 0 0 0 1 ETX 9 1,转换成ASCII(16进制)为01 30 32 05 66 30 30 30 31 03 39 31,共12字节,该命令返回8字节。
命令串放在初始寄存器值表“正转运行命令”中(V1000-V1011,见下图),采用COMM.LB指令只发送低字节方式发送数据。

2、 停止:
根据富士变频器说明书,停止运行命令ASCII为: SON 0 2 ENQ f 0 0 0 0 ETX 9 0,转换成ASCII(16进制)为01 30 32 05 66 30 30 30 30 03 39 30,共12字节,该命令返回8字节。
命令串放在初始寄存器值表“停止命令”中(V1015-V1026,见下图),采用COMM.LB指令只发送低字节方式发送数据。

3、 反转运行:
根据富士变频器说明书,反转运行命令ASCII为: SON 0 2 ENQ f 0 0 0 2 ETX 9 2,转换成ASCII(16进制)为01 30 32 05 66 30 30 30 32 03 39 32,共12字节,该命令返回8字节。
命令串放在初始寄存器值表“反转运行命令”中(V1030-V1041,见下图),采用COMM.LB指令只发送低字节方式发送数据。

4、 设定运行频率:
根据富士变频器说明书,设定运行频率命令ASCII为: SON 0 2 ENQ W S 0 5 SP 4位频率数据 ETX 2位校验和,转换成ASCII(16进制)为01 30 32 05 57 53 30 35 20 00 00 00 00 03 00 00,共16字节,该命令返回16字节。
4位频率数据和2位校验和因为会根据设定不同频率而变化,需要在程序中组祯运算。
命令串放在初始寄存器值表“频率设定命令”中(V1050-V1065,见下图),采用COMM.LB指令只发送低字节方式发送数据。

5、 读取当前运行频率:
根据富士变频器说明书,读取当前运行频率命令ASCII为: SON 0 2 ENQ R M 0 9 SP 0 0 0 0 ETX 5 2,转换成ASCII(16进制)为01 30 32 05 52 4D 30 39 20 30 30 30 30 03 35 32,共16字节,该命令返回16字节。
命令串放在初始寄存器值表“频率读取命令”中(V1070-V1085,见下图),采用COMM.LB指令只发送低字节方式发送数据。


程序图如下:


四、仿真调试程序
如果没有富士变频器和海为PLC该如何仿真调试程序呢?仿真调试完全可以验证该程序是否正确运行。
对于正转/停止/反转命令,因为其命令是固定的,只要是完全按照富士变频器通讯手册的说明正确定义了“正转运行命令”“停止命令”“反转运行命令”这3个初始寄存器值表,就可以与富士变频器正确通讯。
对于设定运行频率命令的仿真,在仿真状态下强制V1100的值=4000(40.00Hz),强制M3为ON,然后在“地址状态表”中监控命令串(V1050-V1065)中值的内容,根据富士变频器通讯手册,如果设定频率为40.00Hz,正确的命令串(16进制)为01 30 32 05 57 53 30 35 20 30 46 41 30 03 38 30,如下图:

对于读取当前运行频率的仿真,因为其命令是固定的,只要是完全按照富士变频器通讯手册的说明正确定义了“频率读取命令”初始寄存器值表,就可以与富士变频器正确通讯。因此仿真的目的在于验证从返回的数据中获得当前运行频率值是否正确。
在仿真状态下通过强制V80-V87共8个寄存器的值以模拟变频器返回的数据,假如当前运行频率值=3000(30.00Hz),正确的返回数据应该是数据串(16进制)为01 30 32 06 52 4D 30 39 20 30 42 42 38 03 37 46,因此强制V80-V87如下值
V80=3001H、V81=0632H、V82=4D52H、V83=3930H
V84=3020H、V85=4242H、V86=0338H、V87=4637H
结果得到当前运行频率V60=3000,显示结果正确,如下图:





zhutaime

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 12回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2006年1月19日
发表于:2008-05-31 16:45:43
1楼

太好了,有机会我也多学点

akeng

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 35回
  • 年度积分:0
  • 历史总积分:126
  • 注册:2006年7月30日
发表于:2008-08-29 14:39:29
2楼

其中16位寄存器,和32位寄存器,怎么换来的,这个我有些没有看明白,我的QQ是157356874,感谢解答

chinaplc

  • 精华:2帖
  • 求助:0帖
  • 帖子:15帖 | 322回
  • 年度积分:0
  • 历史总积分:1101
  • 注册:2000年12月01日
发表于:2008-08-29 15:09:50
3楼
返回的频率值是ASCII码占4个字节,最高位在前,通过XCH、XCH交换高低字节,通过BXCH交换高低寄存器,最后用HEX指令将ASCII码转换为16进制值(16寄存器),可以到海为网站www.haiwell.com的“下载中心”下载程序例子和编程软件等,然后仿真运行

20071120

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 11回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2007年11月20日
发表于:2008-11-24 22:50:18
4楼

1;本程序中的字节左移BSHL很难理解,那位高人能否给我详解一下;

2;本例中频率命令的选择、频率查询、正、反转、停止等6个表格在变频器(G11/P11)手册中怎么查不到地方。

chinaplc

  • 精华:2帖
  • 求助:0帖
  • 帖子:15帖 | 322回
  • 年度积分:0
  • 历史总积分:1101
  • 注册:2000年12月01日
发表于:2008-11-25 11:54:58
5楼

1、因为变频器返回的数据中存放输出频率的4个字节(第10/11/12/13字节)分别在V44 V45 V46 中(即错位一个字节),本程序中的字节右移BSHR指令的作用是将它往右移动一个字节这样存放输出频率的4个字节就是在(第9/10/11/12字节)放在V54 V55(2个寄存中),才可以进行后续处理。

2、本例中频率命令的选择、频率查询、正、反转、停止等6表格要看富士变频器的通讯协议文件

LIUXD6909

  • 精华:2帖
  • 求助:11帖
  • 帖子:145帖 | 5530回
  • 年度积分:1300
  • 历史总积分:29990
  • 注册:2008年4月27日
发表于:2010-11-24 10:44:39
6楼
富士变频器通讯手册哪里能找到?

海为

  • 精华:1帖
  • 求助:0帖
  • 帖子:31帖 | 165回
  • 年度积分:0
  • 历史总积分:950
  • 注册:2006年11月11日
发表于:2010-11-24 11:35:59
7楼
回复内容:
对:LIUXD6909 关于富士变频器通讯手册哪里能找到? 内容的回复:

可以与海为技术支持联系发给你

LIUXD6909

  • 精华:2帖
  • 求助:11帖
  • 帖子:145帖 | 5530回
  • 年度积分:1300
  • 历史总积分:29990
  • 注册:2008年4月27日
发表于:2010-11-24 11:48:01
8楼
求校验和?                              

海为

  • 精华:1帖
  • 求助:0帖
  • 帖子:31帖 | 165回
  • 年度积分:0
  • 历史总积分:950
  • 注册:2006年11月11日
发表于:2010-11-24 11:55:54
9楼
回复内容:
对:LIUXD6909 关于求校验和?                               内容的回复:

如何求校验和要看富士变频器通讯手册  按照手册说明计算就是

#天涯

  • 精华:0帖
  • 求助:3帖
  • 帖子:100帖 | 2953回
  • 年度积分:0
  • 历史总积分:8816
  • 注册:2005年3月02日
发表于:2010-11-24 13:11:31
10楼
写的不错!              

LIUXD6909

  • 精华:2帖
  • 求助:11帖
  • 帖子:145帖 | 5530回
  • 年度积分:1300
  • 历史总积分:29990
  • 注册:2008年4月27日
发表于:2010-11-26 10:37:56
11楼
引用chinaplc 的回复内容:返回的频率值是ASCII码占4个字节,最高位在前,通过XCH、XCH交换高低字节,通过BXCH交换高低寄存器,最后用HEX指令将ASCII码转换为16进制值(16寄存器),可以到海为网站www.haiwell.com的“下载中心”下载程序例子和编程软件等,然后仿真运行

可是为什么要进行交换呢?

海为

  • 精华:1帖
  • 求助:0帖
  • 帖子:31帖 | 165回
  • 年度积分:0
  • 历史总积分:950
  • 注册:2006年11月11日
发表于:2010-11-26 10:54:16
12楼
计算机存储数据都是低位在前所以要交换

LIUXD6909

  • 精华:2帖
  • 求助:11帖
  • 帖子:145帖 | 5530回
  • 年度积分:1300
  • 历史总积分:29990
  • 注册:2008年4月27日
发表于:2010-11-26 11:51:09
13楼
引用海为 的回复内容:计算机存储数据都是低位在前所以要交换



哦,好了,多谢!

LIUXD6909

  • 精华:2帖
  • 求助:11帖
  • 帖子:145帖 | 5530回
  • 年度积分:1300
  • 历史总积分:29990
  • 注册:2008年4月27日
发表于:2010-11-26 21:44:45
14楼

请问为什么是78呢?

LIUXD6909

  • 精华:2帖
  • 求助:11帖
  • 帖子:145帖 | 5530回
  • 年度积分:1300
  • 历史总积分:29990
  • 注册:2008年4月27日
发表于:2010-11-26 21:46:07
15楼
右移一个字节是没错,可为什么移位输入是78呢?

海为

  • 精华:1帖
  • 求助:0帖
  • 帖子:31帖 | 165回
  • 年度积分:0
  • 历史总积分:950
  • 注册:2006年11月11日
发表于:2010-11-27 08:09:33
16楼
回复内容:
对:LIUXD6909 关于右移一个字节是没错,可为什么移位输入是78呢? 内容的回复:

移入0也行,这个字节没有关系

LIUXD6909

  • 精华:2帖
  • 求助:11帖
  • 帖子:145帖 | 5530回
  • 年度积分:1300
  • 历史总积分:29990
  • 注册:2008年4月27日
发表于:2010-11-27 15:16:16
17楼

请问,如果设定E01=12(M1/M2功能);设定多段速E02=0(工作台点转功能);E03=1(工作台移动功能)该怎么编进程序?

LIUXD6909

  • 精华:2帖
  • 求助:11帖
  • 帖子:145帖 | 5530回
  • 年度积分:1300
  • 历史总积分:29990
  • 注册:2008年4月27日
发表于:2010-11-27 15:57:48
18楼
即使用实导线连接,也不过是使变频器的扩展端子像FWD、REV一样使X1、X2……等对应的功能号E01、E02等置ON而已吧,用法应和正反转类似?

LIUXD6909

  • 精华:2帖
  • 求助:11帖
  • 帖子:145帖 | 5530回
  • 年度积分:1300
  • 历史总积分:29990
  • 注册:2008年4月27日
发表于:2010-11-27 15:59:01
19楼
但富士通讯协议里好象并没有提到变频器的扩展端子用哪一种形式的帧传送,更没有实际例子可参照。

LIUXD6909

  • 精华:2帖
  • 求助:11帖
  • 帖子:145帖 | 5530回
  • 年度积分:1300
  • 历史总积分:29990
  • 注册:2008年4月27日
发表于:2010-11-27 16:02:08
20楼
上边提到一系列问题,想解决的关键问题就是一个,变频器输入端控制信号有FWD,REV,及用到的扩展端子X1、X2、X3……,都不想用实导线连接,直接用电缆通讯,不知是否可行?

热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页