当前位置:全球化工设备网 > 技术 > 应用实例 > 正文

变频器的串行通信控制技术在离心机中的应用研究

作者: 2013年07月22日 来源: 浏览量:
字号:T | T
【摘要】介绍了西门子MM440变频器的RS485通信协议,利用VC++6.0中的ActiveX控件MSComm实现了windows下计算机与变频器的串行通信控制。设计了一套全自动闭环控制系统,可方便有
【摘要】介绍了西门子 MM440 变频器的 RS485 通信协议,利用 VC++6.0 中的 ActiveX 控件MSComm 实现了 windows下计算机与变频器的串行通信控制。设计了一套全自动闭环控制系统,可方便有效的通过变频器调节离心机的运转,发挥离心机的功效,达到清除有害固相,回收加重材料的目的。
  关键词:计算机控制系统;     USS 协议;  VC++;MM440 变频器;离心机  
  中图分类号:TH16     文献标识码:A
  在油田部门,使用变频器去控制交流电动机的转速、转向,变得越来越广泛[1 ̄2]。为了实现集中控制,常需要用一台工控机或微机去控制多台变频器。针对这一需要各变频器生产厂家推出了带有RS-485 通信接口的变频器,其中西门子公司生产的新一代多功能的 Micro-Master440 变频器(简称 MM440 变频器),因其采用高性能的矢量控制技术,提供低速、高转矩输出和良好的动态特性,同时又具备超强的过载能力,而得到了广泛应用。
  因此,重点阐述了要实现一台计算机对多台 MM440 变频器[3]实现矢量控制,应如何设置 MM440 变频器,以及如何利用VC++的 MSComm控件实现对 MM440 变频器集中控制,从而达到有效控制离心机的转速,满足油田的实际工况。
  1 系统组成
  为了满足油田部门的实际工况,采取将计算机、变频器、RS-232/485 转换器,有效的结合的方法,来达到高效控制离心机的主辅电机,从而改变离心机的转速。如图1所示,计算机通过从RS-232串口取电、并能自动识别和控制数据传输方向的 RS-232/485转换器,与多个 MM440 变频器相连(最多达到 32 台)。为了达到区分各个变频器的目的,每个变频器采用不同的地址码。因此,可以清楚的发现,这套控制系统可以实现计算机对16台离心机的同时控制,方便有效的进行远程计算机控制,发挥离心机最佳功用,满足油田需要,更好的达到固相控制系统的完善。
                
    2 MM440 变频器的串行接口协议(USS)
     西门子 MM440 变频器可采用两种串行接口:RS-232 或 RS-485。采用 RS- 232 接口时,需另选配件。当采用 RS- 485 接口,波特率为 9600bps 时,通信距离可达 1200m,最高波特率可为115200bps,但此时通信距离大约只有 15m。
    2.1 USS 报文的结构
    主站(计算机)和从站(MM440 变频器)的报文格式如下:
                 
    各字母代表的含义:
    STX:STX区表示一条信息的开始,固定为 02H。
    LGE:LGE 区是一个字节,指明这一条信息中后跟的字节数目。采用哪种报文长度由 MM440 变频器的参数 P2012 和 P2013来定义 PKW和 PZD的长度。一般采用固定长度 4 个字(8 个字节)的 PKW区和 2 个字(4 个字节)的 PZD 区,再加上一个字节的 ADR 区和一个字节的 BCC 区,这样 LGE=1+8+4+1=14,即LGE 值为 0EH。
     ADR:ADR 区是一个字节,是每个变频器的地址,值范围为0 ̄31(bits:0 ̄4), 位为 1 时为广播发送。 bit5PKW:PKW区是 8 个字节,用于写或读变频器参数的值。PZD:PZD区是 4 个字节,用于控制或监测变频器的运行。
     BCC: BCC区是长度为一个字节的校验和,用于检查该信息是否有效。它是 BCC前面所有字节“异或”运算的结果。
    2.2 PKW 区
               
    PKE:为一个 16 位的字,用来控制变频器运行参数的设置。
    bit 位:15- 12 11 10- 0
                
    对于 Micromaster,控制位为 0001 时,读变频器的参数;控制位为 0010 时,写参数到变频器的 RAM或 EEPROM。Bit1 未用,置为 0。变频器的具体参数值可参照说明书。
    IND:为一个16位的字,用于参数号的扩展和参数号的下标。
     2.3 PZD 区
     主站到从站的PZD的格式如下:
               
    从站到主站的 PZD的格式如下:
               
     STW:为一个 16 位的控制字,用来控制变频器的运行的动作。
     HSW:为一个 16 位的字,用来表示变频器的输出频率。
     ZSW:为一个 16 位的字,是变频器的状态字,用来指示变频器当前的运行状态。
     HIW:为一个 16 位的字,表示变频器的输出频率,其定义与HSW一样。
     变频器接收控制的通信协议如下:
             
    同时,变频器发送状态数据,通信协议如下:
             
     其中,主站到从站和从站到主站的报文格式主要区别在于PZD部分,因此接收还是发送信息见 PZD。
    3 VC++6.0 下对变频器进行串行通信控制
     在 Windows 环境下,操作系统完全接管了各种硬件资源,不允许用户直接控制串行口的中断管理。以往程序员只能通过数目众多的 API 函数来控制串口。VC++6.0 下提供了 MSComm控件。用户可以在自己的应用程序嵌入 MSComm 控件,利用它可以方便地进行计算机串口的通信管理。
    3.1 MSComm 控件的实现过程
     实现步骤如下:在当前的 Workspace 插入 MSComm控件。Project 菜单→Add to Project→Components and Controls→Registered ActiveX Controls→选择 Components:Microsoft Com-munications Control,version 6.0 插入当前的 Workspace 中。结果添加了类 CMSComm(及相应文件:mscomm.h 和 mscomm.cpp)
     在软件上,采用 Visual C++来编制程序。程序中使用串行口控件(Microsoft Communication Control6.0),通过一个简单的对话框程序,便实现了对变频器的远程控制。程序流程图,如图 2所示。
                  
    3.2 初始化实现过程
     在对话框初始化函数 OnlnitDialog()中对串行口的一些参
数进行初始化的代码。
     通过编制程序,实现了对变频器的启动、运行、停止及运行时间的控制。因此,对变频器的直接控制,间接的实现了对离心机的运转的操作,这样我们可以通过对离心机中的钻井液与离心机性能的变化,达到对离心机转速的合理操作,解决我们的实际需要。
    4 结论
     利用 VC++6.0 下的 ActiveX 控件和 MMV 变频器 RS485 的串行通信功能,实现了在 Windows 环境下用计算机控制变频器的任务,并能实时检测各变频器的运行状态。整个控制系统灵活方便,具有很大的实用性。在油田部门中,可以方便的根据离心机中钻井液性能的变化,通过此套闭环控制系统,有效的发挥离心机的功效,清除有害固相,回收加重材料,具有广阔的应用前景。
全球化工设备网(http://www.chemsb.com )友情提醒,转载请务必注明来源:全球化工设备网!违者必究.

标签:

分享到:
免责声明:1、本文系本网编辑转载或者作者自行发布,本网发布文章的目的在于传递更多信息给访问者,并不代表本网赞同其观点,同时本网亦不对文章内容的真实性负责。
2、如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间作出适当处理!有关作品版权事宜请联系:+86-571-88970062