纺机中的微机远程多电机同步传动控制系统【1240字】
时间:2023-01-31 22:48 来源:毕业论文 作者:www.youerw.com 点击:次
在纺织。印染。造纸等工业生产中,多电机同步传动应用的十分广泛。其中,印染联合机的工艺及控制原理图如图1所示,采用西门子MICROMASTERVector,即MMV变频器,电机1(M1)至电机4(M4)为三相交流电机。 图1印染联合机的工艺及控制原理图 b变频调速以其显著论文网的节能效益。优异的调速与起制动性能。高功率因数。安全性能及其它许多优点而被认为是非常有发展前途的调速方式。交流电机和变频器配合,能获得与直流电机相似甚至更好的控制性能。并且交流电机成本低,结构简单,容量和电压范围广。采用RS485标准总线,通过USS通讯协议组成网络,远程控制变频器,进而控制电机,可以监控生产线,远离对人体有害的工作现场,保存历史数据,出错参数自动回传,缩短诊断时间和维修时间,节省大量人力物力。工控机通过RS-232/RS-485接口转换器接入RS485网络,可远程控制31台变频器,当数据传输率<100kbit/s时,通信距离可达到1200m。接口转换器采用Model2485BR隔离型接口转换器,它能完成RS-232/RS-485隔离型接口转换,支持不同通讯速率及格式,最多可连接32个485终端设备。 2软件的总体设计 VC有ClassWizard。SourceBrowser。VisualSourceSafe等一系列工具,它所带的MSDN更是让软件人员感到十分方便。而且VC应用程序对系统有极好的兼容性和稳定性。用VC从底部开发,虽然开发周期稍长,但能根据用户的需要进行编程,编出的软件的功能和风格适合用户的习惯。综合考虑开发周期和用户要求等因素,软件采用VC语言编写。软件的总体设计框图见图2。 图2软件总体设计框图 3软件开发过程 3。1建立窗体显示项目 选择项目类型MFCAppWizard(exe),令主要的视图类从基类CFormView派生。 3。2添加MScomm控件 MicrosoftCommunicationsControl(以下简称MSComm)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,通过串行端口传输和接收数据,为应用程序提供串行通讯功能。MSComm控件在串口编程时非常方便,程序员不必去花时间去了解较为复杂的API函数,而且在VC。VB。Delphi等语言中均可使用。它提供了两种处理通信问题的方法;一是事件驱动(Event-driven)方法,一是查询法。本软件采用事件驱动方式。 (1)MSComm控件的常用属性 MSComm控件有很多属性,几个重要的属性有; ●CommPort设置并返回通讯端口号; ●Settings以字符串的形式设置并返回波特率。奇偶校验。数据位。停止位; ●PortOpen设置并返回通讯端口的状态,也可以打开和关闭端口; ●Input从接收缓冲区返回和删除字符; ●Output向传输缓冲区写一个字符串。 (2)添加MSComm控件 选择Project菜单下AddToProject子菜单中的ComponentsandControls选项,在弹出的对话框中双击RegisteredActiveXControls项,则所有注册过的ActiveX控件出现在列表框中。选择MicrosoftCommunicationsControl,单击Insert按钮将它插入到我们的Project中来,接受缺省的选项。另外,添加2个控件,1个ListBox控件,用于改变通讯端口号,1个EditBox控件,用于改变波特率。奇偶校验。数据位。停止位。 (3)设置MSComm串口参数 可以在需要的时候打开串口,例如在程序中做一个开始按钮,在该按钮的处理函数中打开串口。现在我们在主对话框的CSCommTestDlg::OnInitDialog()打开串口,加入如下代码; //TODO:Addextrainitializationhere if(m_ctrlComm。GetPortOpen()) m_ctrlComm。SetPortOpen(FALSE); m_ctrlComm。SetCommPort(1);//选择com1 if(!m_ctrlComm。GetPortOpen()) m_ctrlComm。SetPortOpen(TRUE);//打开串口 else AfxMessageBox(“cannotopenserialport“); m_ctrlComm。SetSettings(“9600,e,8,1“); //波特率9600,偶校验,8个数据位,1个停止位 m_ctrlComm。SetInputModel(1); //1;表示以二进制方式检取数据 m_ctrlComm。SetRThreshold(1); 串口初始化程序如下; m_Coml。SetCommPort(1);//设置串口1 if(!m_Coml。GetPortOpen()) m_Coml。SetPortOpen(TRUE);//打开串口 m_Coml。SetSettings(″9600,e,8,1″); //串口参数设置 m_Coml。SetInputMode(1); //设置Binary缓冲输入方式 m_Coml。SetRThreshold(14); //每接收14个字符,激活一次OnComm()事件 3。3添加控制电机运行所需的各种控件 添加垂直滚动条ListBox,对应于USS协议的地址ADR,表述为变频器号:1-31直接列出,广播式的32用全部“代替。添加垂直滚动条ListBox,对应于USS协议的STW,表述为电机动作方式:启动,停止等。添加垂直滚动条ListBox,对应于USS协议的PKE,表述为要回显的运行参数。添加开始发送按钮。紧急起动按钮。紧急停车按钮等等。 [1][2]下一页 (责任编辑:qin) |