VFD-B 系列变频器的分布式串行通信系统

2017-06-04 83 0

1. 系统的总体设计

图7-11 为系统总体设计方框图,采用 ADAM-4520 转换模块,一端可直接插在计算机串口上,另一端提供半双工 RS-485 接口而不需握手信号;其内置特殊 I/O 电路自动控制信号传输方向。这种 RS-485 控制对用户完全透明,为 RS-232 编写的软件可不加修改地用在这里。该模块需外加 10~30 V 直流电源,可隔离 3000 V 高电压,传输速率达 115.2 kb/s。

图7-11 系统的总体设计方框图

2. 台达变频器通信协议

VFD-B 系列变频器具有内建 RS-485 串联通信界面,串联通信埠(SG+、SG-)位于控制回路端子。端子定义:SG+ 为信号正端,SG- 为信号负端。使用 RS-485 串联通信界面时,每台 VFD-B 必须预先在 Pr.-78(参数 78)指定通信位址,计算机据个别位址实施控制;另外,计算机可将控制命令码中“A”设定为 02H,同时对所有连线的变频器进行控制。

表7-5 协议字节格式

协议格式:比特率(传输速率 b/s)设定范围 1200、2400、4800(Pr.-77),每字节以 11 个位表示、采用奇校验。通信格式包括控制指令、参数设定指令、参数读取指令以及交流电动机驱动器状态读取指令。

图7-11 中工控 PC 机经 ADAM4520(RS-232 转 RS-485)与多个变频器相连,最多可达 32 台(可通过中断器扩展到 254 台)。每个变频器被赋予各自地址码识别身份,上位机便可经 485 通信线对挂在上面所有变频器进行控制操作。

对台达 VFD-B 系列变频器,通信协议遵守 MODBUS ASCII(American Standard Code for Information Interchange)模式,通信方式为 RS-485,波特率最高可达 38400 b/s,通信资料格式可自设定,本系统设定为 (7, N, 2 for ASCII)。变频器发送、接收控制的通信协议如表7-6 所示。

表7-6 变频器发送、接收控制的通信协议

若功能码为 03H(读出寄存器内容),例如询问信息字串格式为“:01 03 2102 0002 D7”+CRLF,则回应讯息字串格式为“:01 03 04 1770 0000 71”+CRLF,表示对变频器位址 01H、读出 2 个连续寄存器资料,起始寄存器位址 2102H、结果为 1770H(60.00 Hz)。

若功能码为 06H(写入一个 word 至寄存器),例如对变频器位址 01H、写入 6000(1770H)至内部设定参数 0100H(询问与回应讯息字串格式相同)为“:01 06 0100 1770 71”+CRLF。

因此,对变频器能通过面板按键设置的功能,通过上述通信协议也一样能实现。经 ADAM4520 的 RS-485 通信线可同时控制多台变频器,同时各变频器运行状态与内部设定参数也能实时回送上位机或经上位机修改,大大方便用户、增加控制系统灵活性。

3. Visual C++6.0 下对变频器进行串行通信控制

(1)串口初始化。在 Win98 环境下提供完备的 API 应用程序接口函数,程序员通过这些函数与通信硬件接口。通信函数是中断驱动的:发送数据时先放入缓存区、串口准备好后即发送;传来的数据迅速申请中断,使 Windows 接收并存入缓冲区供读取。用户编写串口通信程序实现如图7-12 所示流程。

图7-12 串行通信编程步骤

初始化程序代码:hCom=CreateFile(“COM2”, GENERIC_READ|GENERIC_WRITE,0,NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);if(hCom==INVALID_HANDLE_VALUE) MessageBox(hWnd,“打开 COM2 失败”,“Mylpc”,MB_OK);SetupComm(hCom,1024,1024)/*设置输入输出队列大小*/;GetCommState(hCom,&dcb)/*获得端口参数当前配置*/;dcb.BaudRate=9600/*设置波特率*/;dcb.ByteSize=7/*设置数据位*/;dcb.Parity=0/*无校验*/;dcb.StopBits=2/*停止位数*/;SetCommState(hCom,&dcb)/*设置端口*/;PurgeComm(hCom,PURGE_TXCLEAR)/*清发送缓冲区*/;PurgeComm(hCom,PURGE_RXCLEAR)/*清接收缓冲区*/。

(2)串行通信程序。读变频器各参数数值并作相应处理,用以显示监视变频器状态(如频率指令 F、输出频率、输出电流、DC-BUS 电压等),还可读变频器内部设定参数 00-00~11-04 等。其读参数子程序含自定义计算信息检查码函数 lrc_chk()。写变频器参数与读类似,只是功能码 03H 改成 06H。

在主程序中调用读写函数,即能经上位机改写或读取变频器命令参数与内部参数。本节利用 VC++6.0 的 C 模式编程与 API 函数实现与变频器全部串行通信,完成在 Windows98 环境下用工控 PC 机控制多台变频器的任务(分布式变频调速系统),整个控制系统灵活方便、具很大实用性。

相关文章

变频器柜内的布线
变频器产生噪声的类型
变频器所处电磁环境中的主要干扰源
抑制变频器对微机控制板的干扰
避免变频调速系统的噪声共振
低压变频器电磁兼容等级的典型值

发布评论