纺机中的微机远程多电机同步传动控制系统.doc

上传人:99****p 文档编号:2013906 上传时间:2019-03-28 格式:DOC 页数:9 大小:31.50KB
下载 相关 举报
纺机中的微机远程多电机同步传动控制系统.doc_第1页
第1页 / 共9页
纺机中的微机远程多电机同步传动控制系统.doc_第2页
第2页 / 共9页
纺机中的微机远程多电机同步传动控制系统.doc_第3页
第3页 / 共9页
纺机中的微机远程多电机同步传动控制系统.doc_第4页
第4页 / 共9页
纺机中的微机远程多电机同步传动控制系统.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、纺机中的微机远程多电机同步传动控制系统在纺织、印染、造纸等工业生产中,多电机同步传动应用的十分广泛。其中,印染联合机的工艺及控制原理图如图 1 所示,采用西门子MICROMASTER Vector, 即 MMV 变频器,电机 1(M1)至电机 4(M4)为三相交流电机。图 1 印染联合机的工艺及控制原理图b 变频调速以其显著的节能效益、优异的调速与起制动性能、高功率因数、安全性能及其它许多优点而被认为是非常有发展前途的调速方式。交流电机和变频器配合,能获得与直流电机相似甚至更好的控制性能。并且交流电机成本低,结构简单,容量和电压范围广。采用 RS485 标准总线,通过 USS 通讯协议组成网络

2、,远程控制变频器,进而控制电机,可以监控生产线,远离对人体有害的工作现场,保存历史数据,出错参数自动回传,缩短诊断时间和维修时间,节省大量人力物力。工控机通过 RS-232/RS-485 接口转换器接入 RS485 网络,可远程控制 31 台变频器,当数据传输率100kbit/s 时,通信距离可达到 1200m。接口转换器采用Model 2485BR 隔离型接口转换器,它能完成 RS-232/RS-485 隔离型接口转换,支持不同通讯速率及格式,最多可连接 32 个 485 终端设备。2 软件的总体设计VC 有 ClassWizard、SourceBrowser、Visual SourceSa

3、fe 等一系列工具,它所带的 MSDN 更是让软件人员感到十分方便。而且 VC 应用程序对系统有极好的兼容性和稳定性。用 VC 从底部开发,虽然开发周期稍长,但能根据用户的需要进行编程,编出的软件的功能和风格适合用户的习惯。综合考虑开发周期和用户要求等因素,软件采用 VC 语言编写。软件的总体设计框图见图 2。图 2 软件总体设计框图3 软件开发过程3.1 建立窗体显示项目选择项目类型 MFC AppWizard(exe),令主要的视图类从基类 CFormView 派生。3.2 添加 MScomm 控件Microsoft Communications Control(以下简称 MSComm)是

4、Microsoft 公司提供的简化 Windows 下串行通信编程的 ActiveX 控件,通过串行端口传输和接收数据,为应用程序提供串行通讯功能。MSComm 控件在串口编程时非常方便,程序员不必去花时间去了解较为复杂的 API函数,而且在 VC、VB、Delphi 等语言中均可使用。它提供了两种处理通信问题的方法;一是事件驱动(Event-driven)方法,一是查询法。本软件采用事件驱动方式。(1) MSComm 控件的常用属性MSComm 控件有很多属性,几个重要的属性有;CommPort 设置并返回通讯端口号; Settings 以字符串的形式设置并返回波特率、奇偶校验、数据位、停止

5、位; PortOpen 设置并返回通讯端口的状态,也可以打开和关闭端口; Input 从接收缓冲区返回和删除字符; Output 向传输缓冲区写一个字符串。(2) 添加 MSComm 控件选择 Project 菜单下 Add To Project 子菜单中的 Components and Controls 选项,在弹出的对话框中双击 Registered ActiveX Controls项,则所有注册过的 ActiveX 控件出现在列表框中。选择 Microsoft Communications Control,单击 Insert 按钮将它插入到我们的 Project中来,接受缺省的选项。另外

6、,添加 2 个控件,1 个 List Box 控件,用于改变通讯端口号,1 个 Edit Box 控件,用于改变波特率、奇偶校验、数据位、停止位。(3) 设置 MSComm 串口参数可以在需要的时候打开串口,例如在程序中做一个开始按钮,在该按钮的处理函数中打开串口。现在我们在主对话框的CSCommTestDlg:OnInitDialog()打开串口,加入如下代码;/ TODO: Add extra initialization hereif(m_ctrlComm.GetPortOpen()m_ctrlComm.SetPortOpen(FALSE);m_ctrlComm.SetCommPort(

7、1); /选择 com1if( !m_ctrlComm.GetPortOpen()m_ctrlComm.SetPortOpen(TRUE);/打开串口elseAfxMessageBox(“cannot open serial port“);m_ctrlComm.SetSettings(“9600,e,8,1“);/波特率 9600,偶校验,8 个数据位,1 个停止位 m_ctrlComm.SetInputModel(1);/1;表示以二进制方式检取数据m_ctrlComm.SetRThreshold(1); 串口初始化程序如下;mComl.SetCommPort(1); /设置串口 1if(!

8、 mComl.GetPortOpen()mComl.SetPortOpen(TRUE); /打开串口mComl.SetSettings(9600,e,8,1);/串口参数设置mComl.SetInputMode(1); /设置 Binary 缓冲输入方式mComl.SetRThreshold(14); /每接收 14 个字符,激活一次 OnComm()事件3.3 添加控制电机运行所需的各种控件添加垂直滚动条 List Box,对应于 USS 协议的地址 ADR,表述为变频器号:1-31 直接列出,广播式的 32 用“全部”代替。添加垂直滚动条List Box,对应于 USS 协议的 STW,表

9、述为电机动作方式:启动,停止等。添加垂直滚动条 List Box,对应于 USS 协议的 PKE, 表述为要回显的运行参数。添加开始发送按钮、紧急起动按钮、紧急停车按钮等等。3.4 USS 协议USS 协议是 profibus 的一个子集。USS 通信协议有各种长度,视所要满足的功能多少而定,且因所用设备类型而有所不同。协议规定如表 1 所示;表 1 USS 协议的规定(1) 下传的规定; STX(start of text);起始字符,为 02H。 LGE(telegram length);发送报文的字节数,可以变化。总报文的实际长度比 LGE 多两个字节,这是因为开始的 2 个字节(STX

10、 和 LGE)不被计入 LGE 中。只有 net 字符、ADR 字节和 BCC 字符计入 LGE 中。具体为;总报文最长 256 字节,总报文= STX+LGE+LGE=2+LGE,1d LGE d 254,LGE=ADR+n+BCC=1+n+1,nd254(设 net 字符数 n)。 ADR(address byte);变频器的地址码,取值范围为 031(Bit;04位),第 5 位为 1 时为广播发送。 net character(或称 net data)段分为 2 个区;PKW 区和 PZD 区, 如表2 所示。表 2 PKW 区和 PZD 区的规定a)PKW (parameter ID

11、 value);参数标识值,定义了处理 2 个通讯设备之间参数传递的机制。例参数的读和写,参数的定义等。包含PKE、IND、PKW elements3 个内容。MM3 的 PKW 长度为 3 个字,MM4 的PKW 长度为 4 个字, 如表 3 所示。表 3 MM4 的 PKW 定义 PKE;为一 16 位的字,用来控制变频器的运行参数设置,各 Bit 的含义如表 4 所示;表 4 PKE 各 Bit 的含义控制位(15-12) 0(11) 变频器的参数值(10-0)对于 MMV 变频器,控制位为 0000 时,无动作;控制位为 0001 时,读变频器的参数;控制位为 0010 时,写参数到变

12、频器的 RAM,控制位为 1110 时,写参数到变频器的 EEPROM。IND;为 16 位的字。用于读写参数说明,读写一维数组值,读写报文的信息内容。PKW element(PKWE):信息,与任务或响应有关。假如在 net data 区只传送 PZD data 时,可以长度为 0。PKE 与 PKWE 的使用举例。下传变频器参数 PKE=(0001,0000,0101,1100)=105Ch(即要求上传 P092(串口连接波特率),PKWE =0000。若上传变频器参数为 PKE=105Ch,PKWE=0006,又由于 MMV 变频器规定 P092 为 3 时是1200bit,为 4 时是

13、 2400bit,为 5 时是 4800bit,为 6 时是 9600bit,为7 时是 19200bit,则说明此时串口连接波特率为 9600bit。b) PZD (process data);过程数据,如表 5 所示。包含了自动操作所需的信号;从主机到从站的控制字和定位点,从从站到主机的状态字和实际值。最长 16 个字,最短 0 字。表 5 PZD 的定义PZD1 为控制字,PZD2 为主要定位点,PZD3. PZD16 为定位点或辅助控制字;PZD1;为控制字,16 位的字,用来控制变频器的运行动作;PZD2;为主要定位点,16 位的字,用来控制变频器的输出频率,满频的值为 16384(

14、4000H)对应 100的输出频率,最大值为 32767,即 200的输出频率。当取值为 3276865535 时,表示反向的输出频率从 0200变化,电机反转。 BCC;校验字符,为前面所有字节的异或和。上传规定与下传规定基本相同,只是上传的一般为实际值。3.5 数据的处理这里以发送数据中输出频率的处理为例,假设软件界面输出频率编辑框(对应变量 m_strFreData)填写 50,程序将“50”以字符形式取出,通过编写的函数 String2Dec 将字符“50”转换为十六进制字节数“32”即 50D,由于 USS 发送协议中变频器的输出频率 HSW 为 16 位的字,所以 要将字节扩展成对

15、应的字。50D 通过扩展后对应的字为 4000H。25D 通过扩展后对应的字为 2000H。以此类推运算。设输出频率 50D,示范程序如下:CByteArray hexdata;/ hexdata 为十六进制数组,m_strFreData 为输出频率的十进制变量int len=String2Dec(m_strFreData,hexdata);/ 输出频率 m_strFreData=50D 转换为十六进制的 hexdata0= 0X32LONG NUM1,NUM2;/实型精确一些INT NUM3;hexdata.SetSize(14);NUM1=hexdata0;/得到 0X32(=50D)NU

16、M2=( NUM1*4*16)/50;/字节扩展成对应的字,得到字节 50D 对应的字4000H 的高字节 NUM2=0X40NUM3=NUM2;/实型变整型hexdata11=NUM3;hexdata12=( NUM1*0X4000- NUM3*256*50)/50+1;/得到字节 50D 对应的字 4000H 的低字节 NUM3=0X00,4 软件调试结果软件主界面如图 3 所示。图 3 软件主界面运行中,遇到异常情况时,可进行紧急停车。电机在需要单独启动时,可以个别设置。需要同步启动时,可以以广播式启动全部电机。变频器参数可全部或部分上传,远程监控电机的运行情况。5 结束语本软件通过 U

17、SS 通讯协议,用 VC6.0 的通讯控件 MSCOMM,实现了单台工控机远程串口控制多台变频器,并且对数据转换和数据输出算法进行了改进,有些地方进行了补偿,控制更准确,运行状况比较满意。参考文献1 张承慧,万 军,李洪斌. 利用 PCC 开发变频器串行通信协议J.电气传动,2003,(1).2 孙志刚,朱德森. USS 协议和 Modbus 协议的实现.机械与电子J. 2001,(5).3 美Michael J.Young 著,邱仲潘等译.Visual C+ 6 从入门到精通M. 北京:电子工业出版社,1999.4 SIEMENS.USS protocol (Universal Serial Interface Protocol), 1994(9)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。