




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
纺机中的微机远程多电机同步传动控制系统来源:呼死你 /在纺织、印染、造纸等工业生产中,多电机同步传动应用的十分广泛。其中,印染联合机的工艺及控制原理图如图1所示,采用西门子micromaster vector, 即mmv变频器,电机1(m1)至电机4(m4)为三相交流电机。 b变频调速以其显著的节能效益、优异的调速与起制动性能、高功率因数、安全性能及其它许多优点而被认为是非常有发展前途的调速方式。交流电机和变频器配合,能获得与直流电机相似甚至更好的控制性能。并且交流电机成本低,结构简单,容量和电压范围广。采用rs485标准总线,通过uss通讯协议组成网络,远程控制变频器,进而控制电机,可以监控生产线,远离对人体有害的工作现场,保存历史数据,出错参数自动回传,缩短诊断时间和维修时间,节省大量人力物力。工控机通过rs-232/rs-485接口转换器接入rs485网络,可远程控制31台变频器,当数据传输率100kbit/s时,通信距离可达到1200m。接口转换器采用model 2485br隔离型接口转换器,它能完成rs-232/rs-485隔离型接口转换,支持不同通讯速率及格式,最多可连接32个485终端设备。 2 软件的总体设计 vc有classwizard、sourcebrowser、visual sourcesafe等一系列工具,它所带的msdn更是让软件人员感到十分方便。而且vc应用程序对系统有极好的兼容性和稳定性。用vc从底部开发,虽然开发周期稍长,但能根据用户的需要进行编程,编出的软件的功能和风格适合用户的习惯。综合考虑开发周期和用户要求等因素,软件采用vc语言编写。软件的总体设计框图见图2。图2 软件总体设计框图 3 软件开发过程3.1 建立窗体显示项目选择项目类型mfc appwizard(exe),令主要的视图类从基类cformview派生。3.2 添加mscomm控件 microsoft communications control(以下简称mscomm)是microsoft公司提供的简化windows下串行通信编程的activex控件,通过串行端口传输和接收数据,为应用程序提供串行通讯功能。mscomm控件在串口编程时非常方便,程序员不必去花时间去了解较为复杂的api函数,而且在vc、vb、delphi等语言中均可使用。它提供了两种处理通信问题的方法;一是事件驱动(event-driven)方法,一是查询法。本软件采用事件驱动方式。(1) mscomm 控件的常用属性mscomm 控件有很多属性,几个重要的属性有;commport 设置并返回通讯端口号; settings 以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位; portopen 设置并返回通讯端口的状态,也可以打开和关闭端口; input 从接收缓冲区返回和删除字符; output 向传输缓冲区写一个字符串。(2) 添加mscomm 控件选择project菜单下add to project子菜单中的 components and controls选项,在弹出的对话框中双击registered activex controls项,则所有注册过的activex控件出现在列表框中。选择microsoft communications control,单击insert按钮将它插入到我们的project中来,接受缺省的选项。另外,添加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(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(! 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,表述为电机动作方式:启动,停止等。添加垂直滚动条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和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 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时,写参数到变频器的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时是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(4000h)对应100的输出频率,最大值为32767,即200的输出频率。当取值为3276865535时,表示反向的输出频率从0200变化,电机反转。 bcc;校验字符,为前面所有字节的异或和。上传规定与下传规定基本相同,只是上传的一般为实际值。3.5 数据的处理 这里以发送数据中输出频率的处理为例,假设软件界面输出频率编辑框(对应变量m_strfredata)填写50,程序将“50”以字符形式取出,通过编写的函数string2dec将字符“50”转换为十六进制字节数“32”即50d,由于uss发送协议中变频器的输出频率hsw为16位的字,所以 要将字节扩展成对应的字。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)num2=( num1*4*16)/50;/字节扩展成对应的字,得到字节50d对应的字4000h的高字节num2=0x40num3=num2;/实型变整型hexdata11=num3;hexdata12=( num1*0x4000- num3*256*50)/50
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自动控制器项目投资立项申请
- 璀璨未来·医院搬迁庆典活动全纪实
- 部编版五年级下册第五单元《人物描写一组》教案
- 建筑施工特种作业-桩机操作工真题库-2
- 弱智化学题目及答案
- 2023-2024学年云南省曲靖市会泽县高二下学期期末考试数学试卷(解析版)
- 2023-2024学年四川省德阳市高二下学期期末数学试题(解析版)
- 高校学生伤害事故及其法律责任浅析
- 新疆蓝洁环保科技有限公司废油再生循环及废旧包装桶回收、无害化处理综合利用项目环境影响报告书
- 传统药物安全合作协议
- 严重创伤患者紧急救治血液保障模式与输血策略中国专家共识(2024版)解读
- 母婴销售员合同协议书
- 安全工作规程课件
- 躁动患者约束带的使用及护理
- T/CCS 008-2023煤矿5G通信网络设备接入通用技术要求
- 国家开放大学国开电大《统计与数据分析基础》形考任务1-4 参考答案
- 2025年数字道闸项目市场调查研究报告
- 幼儿园中班科学《荷花》课件
- 陕西民间艺术审美与文化知到智慧树期末考试答案题库2025年西北工业大学
- GB/T 6148-2025精密电阻合金电阻温度系数测试方法
- 风电居间合同协议书
评论
0/150
提交评论