在纺织。印染。造纸等工业生产中,多电机同步传动应用的十分广泛。其中,印染联合机的工艺及控制原理图如图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]下一页