如何通过RS-485控制多台变频器

上传人:小** 文档编号:47036155 上传时间:2021-12-16 格式:DOC 页数:4 大小:127KB
收藏 版权申诉 举报 下载
如何通过RS-485控制多台变频器_第1页
第1页 / 共4页
如何通过RS-485控制多台变频器_第2页
第2页 / 共4页
如何通过RS-485控制多台变频器_第3页
第3页 / 共4页
资源描述:

《如何通过RS-485控制多台变频器》由会员分享,可在线阅读,更多相关《如何通过RS-485控制多台变频器(4页珍藏版)》请在装配图网上搜索。

1、如何通过RS -485控制多台变频器工业场合中,经常要用变频器去控制交流电机的转速、转向。在某些场合,需要用1台工控pc机灵活地控制多台变频器,以达到控制各交流电机的目的。针对这一需要,一些公司(如德国西门子、日本东芝、三菱等公司)推出了带有RS - 485通信接口的变频器,使用户能方便灵活地选择变频器的强大功能来设计各 自的工业控制系统。在Windows95下开发工控软件,可利用 Windows95的丰富资源,方便地生成各种菜单及美观大方的图形界面,软件产品质量高且开发周期短。Visual C + 5 . 0是Microsoft公司最新推出功能最强的 Windows 开发软件,由于只能在 W

2、in95下运行开发32位的应用程序,而在 Windows环境下,系统完全接管了各种硬件资源,不允许用户直接控制串行口的中断管理,因此如何在 Windows环境下开发微机的底层资源,已成为当今工业控制软件的一大热点及难点。本文利用VC5.0的ActiveX 控件Microsoft Communication 控件,方便地实现了 Win95 环境下与多个西门子MicroMaster变频器的串行通信接口,成功地实现了用单台工控PC机对多台交流异步电机的灵活控制。一、系统的总体设计图1为系统的总体设计方框图,这里只重点突出工控 PC机与变频器RS 485的接口部分。RS 485的驱动器可带32个接收器

3、,在波特率为 100Kb/s 时,通信距离可达到1200m ;通信距离为15m时, 波特率可达10Mb/s 。在工业现场,RS 485是应用较多的一种通信方式。图中工控PC机通过485通信接口卡与多个变频器相连接,最多可达到32台。每个变频器被赋予各自的地址码用以识别身份,这样上位机便能通过485通信线对挂在上面的所有变频器进行控制操作。龜规1甩机2 电川N图1系统的总体方框图二、变频器的串口通信协议对于西门子的MicroMaster 变频器,其通信方式为RS 485,波特率最高可达到19200b/s ; 1位起始位;8位数据位;1位偶校验;1位停止位。变频器接收控制的通信协议如下:SIK L

4、GEFKEIHD如STtt|删;.BCCSTK :起贻宇哥I为爼监LGE :按遴字节皴“对于, 0CM(12节).讪E :罢频誥药地址码I取值砲園为(Ei t : Q4fu) I草5位为1时为广播发遴“FKE :为一曲悅如禺来控糊吏频SS的运行养販设置 > 洛时谊I含幻LF :_揑丽便T 0丁麺罷苗垂埶值对于Nlierol aster ,揑制傥为0001H1 j i婁变频5S的屢数:控制恆为E1D时写参數到 娈频辭的血和EIPRCM-第1位来用j置加-寰頻器的卷數值详见说明书口IUD :为16位的字j耒用 > 畳宵gVKL :为16位的变频黑参數 > 与PKE起将运行参数写入

5、朝娈锁噩中匚STT :为16位的字用来控制变频盟的运疔动住,各位的亘住含文详见说明书.冏:为比位的字用来徑制袁频器罰输出频率满频的值为1旳昶4dU01f)对应LQO>:的 输出频率-撮犬值3ZTG7 j即如0祐的辅出频率。当取值対龙T63&553期i表示反向的 输出频率从炽-2O0Z麦化电机圧转.BCC :檯验字苻,为前面所有孚节的异或和°若吏频器H3魏址码为卫0以满频的引乂输出频庫 > 凰以上各彗数的值设叠如下:LCE一ADR卩KEINDVAL |LISWucc10210C10310000100001 10000 0G7F12oon1同跡-吏频器也同上位机凰送状

6、态数是更谨信协復如下:MT;】LGE MIR PO IHI UAL E进:Hl'fl' ECL与上位机向变频器发送的控制字相比,变频器回送的状态字只是以 ZSW代替了 STW ,HIW代替了 HSW ,其余的字的含义是一样的。ZSW是16位的状态字来指示变频器的当前运行状态,各位的具体含义见说明书;HIW也是16位的字代表变频器的输出频率,其定义与HSW是一样的。因此,对于变频器能通过面板按键设置的功能,通过以上的通信协议也一样能实现。并且通过RS - 485通信线最多能同时控制32台变频器,同时各变频器的运行状态也能实时地回送给上位机,这就大大方便了用户,增加了控制系统的灵活

7、性。三、Visual C+5.0下对变频器进行串行通信控制1、ActiveX 控件 Microsoft Comm Control 5.0在Windows环境下,操作系统完全接管了各种硬件资源,不允许用户直接控制串行口的中断管理。以往 程序员只能通过数目众多的 API函数来控制串口。VC5.0下提供了 1个ActiveX 控件MicrosoftCommunication Control 5. 0,简称MSComm 控件。用户可以在自己的应用程序中嵌入MSComm控件,利用它可以方便地进行计算机串口的通信管理。VC5 . 0中的ActiveX 控件MSComm 与VC4 . 0中的OLE通信控件相

8、比,增加了一些新的功能,其中最为有用的1个改进是将lnput(从缓冲区读取接收数据)的数据类型从CString改成Variant,同时新增1个属性InputMode ,使程序能方便地选择从缓冲 区读取数据的格式:字符串格式或2进制格式。在VC5 . 0开发环境中,选择 MicrosoftCommunication Control 5. 0控件插入程序,则系统自动为所插入的控件定义1个CMSComm 类,与其相关的文件保存在 mscomm . h和mscomm . cpp文件中。确认以上菜单选择后,则 MSComm 控件已嵌入到项目文件中。MSComm 控件有许多属性,其中一些重要的属性如下:C

9、ommPort :设置串口号,类型:short ;Settings :设置串口通信参数,类型:CString ;PortOpen :设置或返回通信口的状态,类型:BOOL ; InputMode :设置从缓冲区读取数据的格式,类型:long ;Input :从接收缓冲区读取数据,类型: VARIANT ;Output :向发送缓冲区写入数据,类型:VARIANT ; InBufferSize :接收缓冲区的大小, 类型:short ; InBufferCount : 接收缓冲区的字节数,类型:short ;OutBufferSize:发送缓冲区的大小,类型:short ;OutBufferCo

10、unt :发送缓冲区中的字节数,类型: short ; InputLen :设置或返回 Input 每次读出 的字节数,类型: short ; CommEvent :串口事件,类型: short 。 其中串口号 (CommPort) 设置为 1 、2 等表示 COMM1 、COMM2 。参数设置 (Settings) 的格式为 “B, P, D ,S”,B 表示波特率, P 表示奇偶校验 (N- 无校验, E- 偶校验, O- 奇校验 ) , D 表示字节有效位数, S 表示停止位数。串口状态 (PortOpen) 为 BOOL 变量, TRUE 表示打开串口, FALSE 表示关闭串口。 I

11、nputMode 使程序能方便地 选择从缓冲区读取数据的格式,设置为 0 时字符串格式,设置为 1 时表示 2 进制格式。 InputLen 设置或 返回的是用 Input 从缓冲区读字符串时每次读出的字符个数,这个性质对于读出数据块中定长数据串非常 有用。另外, MSComm 控件提供了 2 种方法来处理串口通信,上面属性的 InBufferCount 和OutBufferCount 用于串口的查询方式。对于较复杂的通信任务,可通过 SetCommEvent() 函数设置串 口要响应的事件,当相应事件或串口错误事件发生时,系统会激活 OnComm() 事件,在 OnComm() 中 添加用户

12、的处理代码,则可实现类似 DOS 中断的串口处理程序。2、变频器串口通信控制检测软件的编制在项目文件嵌入 MSComm 控件的头文件 mscomm h 及实现文件 mscomm cpp 之后,为了用该控 件控制 1 个串口进行通信操作,还必须在应用程序中插入该控件。为此,我们为程序的某个对话框插入MSComm 控件,控件ID 为IDC MSCOMM1,并利用 Class Wizard 为其添加变量 CCMSComm mComl ,则程序中对串口的各种操作都可通过变量m Coml来实现。MicroMaster 变频器回送的状态信息 1 帧为 14B 。为此,程序编制上采用事件驱动的通信方式,串口

13、每接收 14 个字符便激活 1 个 OnComm() 事件,在 OnComm() 消息处理函数中加入相应的处理代码,用来读取状态字 ZSW 和 HIW 各位的状态参数,并作出相应的处理,如显示、报警等。下面简要给出用事件驱动方式读出变频器回送状 态字的程序源代码。 设RS - 485卡的口地址为工控 PC机的串口 4的地址,波特率为9600b/s 。串口初始化程序如下:m Coml . SetCommPort(4) ;/ 设置串口 4if(! m Coml . GetPortOpen()m Coml . SetPortOpen(TRUE) ;/ 打开串口 m Coml . SetSetting

14、s( " 9600e, 8, 1 )/ 串口参数设置m Coml . SetlnputMode(1) ;/设置Binary 缓冲输入方式m Coml . SetRThreshold(14) ;/每接收1个字符时/激发OnComm() 事件 工控 PC 机控制变频器的参数通过类 ColeVariant 的构造函数来实现, ColeVariant 可以接受各种类型的数据 (如字符串、整数、浮点数等 )并自动将其转换为符合 VARIANT 要求的数据。程序代码如下:m Coml . SetOutput(ColeVariant( "x02" ) ;/ 发送起始 / 字符

15、02HmComl . SetOutput(ColeVariant( "x0C' ) ; / 发送数据 / 长度字符 0CH/发送其它的控制参数对于变频器回送的状态信息则利用 Windows 的消息处理函数 OnComm() 进行/code here处理。利用ClassWizard 为MSComm 控件IDC MSCOMM1添加消息处理函数 OnOnCommMscomm1() ,在 OnOnCommMscomm1() 中加入处理代码如下 (最后 2 个语句为添加的 程序代码, 其余代码由 ClassWizard 自动生成 ) : void CGpsdataDlg : OnOnC

16、ommMscomm1()/TODO : Add your control notification handlerComl . SetInputLen(0)/ 读取串口缓冲区全 / 部数据VARIANT ParameterComl . GetInput()/ 数据赋给 VARIANT 变量/ 具体程序处理代码 在消息处理函数 OnOnCommMscomm1() 中,将变频器回送的14 个状态字每一次全部读到 VARIANT 变量Parameter 中,然后程序再从 VARIANT 类型的数组变量Parameter 中分别读取各状态字节,在屏幕上显示、判断并报警。本文利用 VC5 . 0 下的 ActiveX控件和 MicroMaster 变频器 RS -485 的串行通信功能,实现了在 Windows95 环境下用单台工控 PC 机控制多台变频器的任务,并能实时检测各变频 器的运行状态。整个控制系统灵活方便,具有很大的实用性。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!