变频调速远程控制系统的设计.docx
- 文档编号:4689145
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:30
- 大小:315.08KB
变频调速远程控制系统的设计.docx
《变频调速远程控制系统的设计.docx》由会员分享,可在线阅读,更多相关《变频调速远程控制系统的设计.docx(30页珍藏版)》请在冰豆网上搜索。
变频调速远程控制系统的设计
1前言
1.1引言
众所周知,交流电机的变频调速新技术是基于现代的微电子技术基础之上发展起来的。
传统交流电机调速方式有变极调速、调压调速、串级调速、励磁调速等几种,但是这些方式都不具备变频调速方式的优越性能。
因为变频调速方式的调速性能可以与传统的直流电机调速性能相比较。
基于此,交流变频调速技术深深的受到机械、纺织、冶金、钢铁等诸多行业的喜爱。
现实实践表明,交流电机采用变频调速可以节约很多电能,目前世界上工业发达国家已经广泛的采用变频调速技术,在我们国家变频调速技术也是重点推广的节约电能新技术。
1.2课题研究的背景与意义
近些年,变频调速技术有了迅猛的发展,属于该技术核心设备的变频器已经不再是一个简简单单的整流逆变装置。
它是一个集I/O逻辑编程、驱动控制和通讯组网于一体的过程控制单元。
因此对于本科生来说,掌握变频调速技术的基本原理与通用变频器的实践应用对于学习具有重要的意义。
据于此,开发了本文的变频调速远程控制系统。
1.3国内外变频调速技术发展现状
1.3.1国内现状
在大功率、交流、无换向器的电机等变频调速技术方面,我国只有少数的几个科研单位才有能力制造,从整体上看我国电气传动的技术水平较国际先进水平差距十几年,在数字化及系统可靠性方面国内与国外相比也有较大差距。
然而这方面产品在诸如大容量风机、抽水蓄能电站机组起动及运行、压缩机和矿井卷场、轧机传动方面需求很大。
在中小功率的变频调速技术方面,国内所有的产品几乎都是普通的v/f控制,仅仅有少量的样机是采用矢量控制的控制方式,质量及品种还远不能满足市场的需要,每年都需要大量的进口。
总结国内交流变频调速技术产业的状况描述如下:
(1)有关变频器产品所用到的半导体功率器件的制造业几乎还是处于空白状态。
(2)变频器的整机技术比较落后,国内虽有很多单位投入了一定的人力、物力,但由于力量的分散,因此并没有形成一定的技术和生产规模。
(3)产品的产销量少,可靠性及工艺水平低。
(4)相关配套产业及行业相对落后[1]。
1.3.2国外现状
在大功率无换向器的电机变频调速技术方面,意大利的ABB公司能够提供单机容量为6万千瓦的设备来用于抽水蓄能电站。
另外,在大功率交-交变频(循环变流器)调速技术方面,法国的阿尔斯通公司已经能提供单机容量达3万千瓦的电气传动设备应用在船舶的推进动力系统。
在中功率的变频调速技术方面,德国西门子公司SimovertPGTOPWM变频调速设备单机容量为100~900KVA和Simovert电流型晶闸管变频调速设备单机容量为10-2600KVA,它的控制系统已经实现全数字化,用于电风机、力机车、水泵传动。
日本富士BJT变频器在小功率交流变频调速技术方面,最大单机容量可达700KVA,此外IGBT变频器已形成系列产品,它的控制系统也已实现全数字化。
总结国外交流变频调速技术的高速发展有如下特点:
(1)相关功率器件的发展。
近年来高电压、大电流的IGBT、SCR、GTO等器件的生产以及并联、串联技术的发展应用,使大功率变频器产品的生产及应用成为现实。
(2)市场的大量需求。
随着工业自动化程度的不断提高和能源全球性短缺,变频器越来越广泛地应用在机械、冶金、纺织、造纸、化工、食品等各个行业以及水泵、风机等的节能场合,取得显著的经济效益。
(3)基础工业和各种制造业的高速发展,变频器相关配套件社会化、专业化生产。
(4)控制理论和微电子技术的发展。
磁通控制、矢量控制、转矩控制、模糊控制等新的控制理论为高性能的变频器提供了理论基础:
16位、32位高速微处理器以及信号处理器和专用集成电路技术的快速发展,为实现变频器高精度、多功能提供了硬件手段[1]。
1.4本文研究的主要内容及要解决的问题
通过设计研究,要求设备符合下面的要求:
(1)掌握变频调速的特点及ACS600变频器的使用;
(2)分析变频器三种控制方式的优缺点;
(3)设计计算机控制系统的硬件电路原理图;
(4)采用VB编制软件实现变频器的远程控制;
(5)系统软硬件调试。
2总体方案设计
2.1变频调速基本原理
交流电动机的转速与电源频率、转差率和磁极对数都有关系,如下式(2.1)所示。
式(2.1)
式中,n—电机转速
P—极对数
S—转差率
f—电流频率
由上式可知电机的转速与电流的频率成正比,这样我们通过变频器即可任意改变电源输出频率从而达到调节电机转速的目的来实现无级调速。
2.2上位机与变频器之间的接口转换
通常,一般的计算机配有的接口只有RS-232接口,但是变频器的的接口是RS-485。
为了实现变频器与计算机之间的信息交换,我们使用RS-232/RS-485转换器连接。
带有RS-232接口的计算机与多台变频器的硬件连接如下图2.2,实验环境下连接线采用无屏蔽双绞线。
RS-232电缆
10BASE-T电缆
图2.2RS-232接口转为RS-485接口方式
2.3变频器的通讯协议
ABB公司生产的ACS600系列变频器支持Modbus通信协议,它与上位机之间的通信使用的是主从技术,就是指只能由上位机也就是平常我们所说的PC机发出信息。
当下位机也就是用户执行某个命令后,上位机将自动调用命令处理程序形成Modbus协议帧的格式,通过串行通讯接口将数据发送出去。
当数据发送出去后上位机开始等待下位机返回一个相应的回复信息,如果在协议规定的时间内没有信息返回,那么就向上位机也就是用户报告错误。
相应的当下位机接受上位机的数据后,首先判断接收的数据的协议帧格式是否与下位机自身的地址一致,如果地址一致就接受,否则就将所收到的数据丢弃。
当下位机将数据帧中所有的数据接收完毕后再对帧中的数据进行相应的校验,如若校验通过后下位机则调用相应的处理程序返回正确的数据。
当校验没有通过时,下位机将返回异常帧。
2.4基于VB可视化界面设计
软件ViuaslBasic6.0(简称VB6.0)是微软公司基于Windows的面向对象的系统开发工具。
Mscomm控件是VB6.0中用于串口之间发送和接收数据的ActiveX控件。
有了Mscomm控件可以方便地访问串口。
下表2.4中列出了Mscomm控件用于VB6.0编程时用到的几个属性。
表2.4Mscomm控件属性
属性
描述
Commport
设置并返回通信端口号
Settings
设置并返回波特率、奇偶校验、数据位、停止位
Portopen
打开或关闭串口
Input
从接收缓存区读取并删除字符
Output
向输出缓冲区写1个字符串
利用VB6.0可以设计出简单实用的变频器远程控制界面,利用Mscomm控件实现对变频器的远程控制与通信。
3ACS600变频器的控制系统
3.1总述
ABB公司推出的ACS600系列变频器是ABB公司采用直接转矩控制(DTC)的技术,并且结合世界上诸多先进的生产制造工艺而生产的高性能的变频器。
ACS600系列变频器具有较宽的功率范围和良好的速度控制、转矩控制特性,而且还具有灵活的编程能力以及完整的保护功能。
因此ACS600系列变频器能够满足诸多工业的现场应用。
ACS600系列变频器主要通过以下三种方式实现对交流电机的控制:
本地控制、可编程I/O接口端子控制和远程控制,如下图3.1描绘所示:
盘总线
图3.1变频器控制方式
如上示意图所示,ACS600系列变频器可以通过三种方式对其控制。
三种控制方式的之间的选择可以由控制盘键盘上的按键完成。
3.2ACS600变频器的端子接线图
ACS600变频器外部端子接线图如下图3.2所示。
图3.2变频器端子接线图
3.3本地控制
当ACS600处于本地控制状态时,对变频器控的制命令是由控制盘给出的。
像启动、正转、反转、停止、点动、复位、急停等。
当ACS600变频器采用不同的控制方式时,它的控制信号的来源是不同的,而本地控制就是通过操作控制盘上的按键来输入对变频器的控制指令。
若控制盘上显示屏上的第一行显示L,则表示是变频器此时处于本地控制状态。
若控制盘上显示屏上的第一行显示的是R,则表示此时变频器处于外部控制状态。
如若控制盘上的显示屏上的第一行显示的是空白格,则表示此时变频器为外部I/O控制或通过通讯模块控制。
如若想要调节变频器的输出频率,首先要做的是向变频器提供可变频率的信号即频率给定信号也可以称做频率指定信号。
ACS600处于本地控制状态时,给定变频器频率的大小通过键盘上的▲键和▼键来进行设定。
大家都知道键盘给定属于数字量给定,所以精度较高[2]。
本地控制电路图如下图3.3所示。
图3.3本地控制电路
3.4外部I/O接口端子控制
数字和模拟I/O端子控制也就是外部I/O接口端子控制,指的是通过ACS600的外接端子输入操作指令来控制变频器。
它既可以通过PLC可编程控制器进行编程控制,又可以通过操作面板实现对变频器的直接控制。
当变频器处于外部I/O接口端子控制状态时,频率的给定是通过调节安装在操作面板上的电位器来设定。
因为电位器给定属于模拟量给定所以精度稍低。
如下图3.4所示。
图3.4外部I/O接口端子接线图
3.5远程控制
ABB公司推出的ACS600变频器可以通过通讯模块与外部控制系统连接从而实现远程控制。
当ACS600处于外部控制时,命令首先通过NIOC板上的控制终端块给出(数字与模拟输入),此外控制命令也可以通过控制盘或现场总线适配器给出。
因为ACS600变频器带有的接口是RS485而不带有网络接口,因此要想实现对变频器的远程控制需要通过变频器的串行接口来完成。
其网络结构示意图如下图3.5所示。
图3.5远程控制原理图
计算机(也就是PC机)与变频器之间遵循标准的Modbus传输协议,其传输模式选择RTU模式。
通过串行通讯实现对变频器的远程控制不仅给操作带来了一定的方便性而且还具有安全性。
因为ViuaslBasic6.0软件可以提供功能较强的通讯控件,所以使串行通讯程序设计方便而且高效。
基于此,本实验系统在上位机(也就是PC机)采用VB编程来实现对ACS600的远程控制。
软件ViuaslBasic6.0的通讯控件的文件名是MSComm.VBX其对象名称是MSComm。
利用MSComm控件可以灵活地编写串行通讯程序。
4ACS600变频器硬件电路及软件设计
4.1两台PC机之间的串口调试
在两台PC机通讯距离较近的情况下可以实现直接连接。
最简单的情况就是用一根两端接口是RS232接口的串口线实现连接,便可实现全双工异步串行通讯。
本节首先通过一根RS232接口的串口线实现两台PC机的连接,然后先使用串口调试助手实现串口之间的通讯,接着便详细描述了利用MSComm控件来设计串口通信程序的方法及相关程序的设计。
4.1.1串口调试助手的应用
首先从网上下载一个串口调试助手软件,然后将软件分别安装在两台计算机的指定的目录。
当软件安装完成后,直接双击“串口调试助手”即可运行软件。
在软件运行前先用一根RS232串口线将两台计算机连接起来。
串口调试助手软件的界面如下图4.1.1所示。
图4.1.1串口调试助手显示界面
因为Modbus协议传输信息时发送的是十六进制数据,所以在此使用十六进制进行调试。
在窗口左侧找到“16进制显示”文字,然后点击选中其前面的复选框(至于波特率、数据位等参数的设置,选择其默认值即可)。
然后点击“打开串口”按钮将设置的串口打开。
如下图4.1.2所示。
图4.1.2串口设置后界面显示
将串口调试助手界面设置好后便可实现两台计算机之间的通讯。
接收到的信息即以16进制显示,同时发送的信息也按照16进制格式解析发送。
4.1.2应用MSComm控件实现通讯
当开始一个新程序的设计时,ViuaslBasic6.0的工具箱中会出现很多默认的控件让设计者来根据需求任意选用。
但是相对来说功能较为特殊的控件就不会出现在工具箱中,下面即将用来设计完成串口通讯功能的MSComm控件就不在工具箱中。
首先,将鼠标箭头移动到工具箱上,然后单击鼠标右键按钮,在弹出的快捷菜单中选择“部件”(鼠标左键单击“部件”)。
然后在弹出的“部件”对话框中选择“控件”选项卡,再在“控件”选项卡属性中选择“MicrosoftCommControl6.0”复选框(鼠标左键单击MicrosoftCommControl6.0前面的小方框),然后单击“确定”按钮。
这时大家就会看到在工具箱中出现了一个形似“座机电话”的图标,它就是我们刚刚添加的MSComm控件。
添加MSComm控件到工具箱后,我们就可以选择MSComm控件的图标然后将其添加到程序窗体上利用该控件编程。
这样两台PC机就可以通过ViuaslBasic6.0实现与串口通信。
然后再向窗体添加一个时钟控件、两个文本控件、两个标签控件和一个命令按钮。
Timer控件可以实现信息连续的接收。
Text1和Text2两个文本控件用于输入要发送的字符和显示要接收的字符。
Label1和Label2两个标签控件用于发送和接收字符区的标签。
Command1命令按钮用于执行发送字符命令。
向窗体添加完控件后然后分别对每个控件的属性进行相应的设置。
设计完后的窗体如下图4.1.2所示。
图4.1.2程序设计窗体界面
下面是利用查询方式编写的PC与PC串口通信的参考程序,代码如下所示:
'串口初始化
PrivateSubForm_Load()
MSComm1.CommPort=1'设置通信端口号为COM1
MSComm1.Settings="9600,n,8,1"'设置串口1参数
MSComm1.InputMode=0'接收文本型数据
MSComm1.PortOpen=True'打开通信端口1
EndSub
PrivateSubLabel1_Click()
EndSub
PrivateSubLabel2_Click()
EndSub
'把字符通过串口发送出去
PrivateSubCmdsend_Click()
IfTextsend.Text=""Then
pp=MsgBox("发送的数据不能为空!
",16)
ExitSub
EndIf
MSComm1.Output=Trim(Textsend.Text)
Fori=1To200000
Nexti
EndSub
PrivateSubTextReceive_Change()
EndSub
PrivateSubTextsend_Change()
EndSub
'通过时钟控制来自动接收字符
PrivateSubTimer1_Timer()
Dimbuf$
buf=Trim(MSComm1.Input)'将缓冲区内的数据读入buf变量中
IfLen(buf)<>0Then'判断缓冲区内是否存在数据
TextReceive.Text=TextReceive.Text+Chr(13)+Chr(10)+buf//回车换行
EndIf
EndSub
'关闭通信端口,停止程序运行
PrivateSubCmdquit_Click()
MSComm1.PortOpen=False
UnloadMe
EndSub
PrivateSubTimer1_Timer()
EndSub
当编辑完程序代码后需要对程序进行调试,单击工具栏快捷启动按钮运行程序。
若程序运行时没有出现提示错误,这说明程序没有出现语法错误;若程序运行时弹出错误提示框,这说明程序代码中存在不合法的字符或出现语法错误。
此时单击提示框中的“调试”按钮,这时在代码窗体中会有一个箭头指着一行代码(箭头及代码此时是黄色),该行代码就是存在错误程序代码。
通过更改错误,将程序调试到运行时没有错误为止。
程序调试完毕后,在两台计算机同时运行本程序。
首先在第一台计算机程序窗体中发送字符区内输入将要发送的字符,然后单击“发送字符”按钮。
从上面可知发送区的字符串是通过COM1端口发送出去的。
若连接通讯的第二台计算机收到信息,则会在第二台计算机程序窗体中的接收字符区显示接收到得字符。
至此ViuaslBasic6.0串口通讯程序调试完毕。
4.2Modbus通讯协议简介
Modbus通讯协议是一种串行的主从通讯协议。
在同一通讯网络中只有一台设备可以(叫做主机)建立协议,而其他的设备(叫做从机)只能通过提供数据响应主机的查询或者是根据主机的查询做出相应的动作。
主机一般包括主处理器或者是可编程控制器等,而从机一般包括可编程控制器等。
主机既能对某个从机单独访问,又能对所有的从机发布广播信息。
对于主机单独访问从机时,每一个从机的地址是提前设定好的。
在某一时刻,主机指定其中的一个从机的地址与其通信,当从机接收到命令后会执行相关的动作并且返回一个响应信息。
而对于主机发出的广播信息,从机不需要做出响应。
Modbus通讯协议定义了主机查询的格式,包括:
从机的编址方式、要求动作的功能代码以及传输数据和错误校验等。
从机的响应采用的也是Modbus协议结构。
如若从机在接收主机的信息时发生错误,或者是不能完成主机所要求完成的动作,这时从机将组织一个故障信息作为响应[3]。
总之Modbus协议把通信参与者规定为主机和从机,主机和从机之间的关系如下图4.2所示。
主机的查询信息
从机的响应信息
图4.2Modbus通讯协议主从机关系
4.2.1Modbus协议的数据传输模式
在标准的Modbus协议通讯网络中,Modbus通讯有两种串行传输模式。
控制器可以配置为ASCII或者是RTU中的任意一种通讯模式。
需要我们注意的是在同一个Modbus协议通讯网络中,所有设备的传输模式和通讯参数的设定值必须相同。
本文采用计算机(PC机)作为上位机与ACS600变频器进行通讯。
由于ACS600变频器只支持RTU模式,所以本文采用计算机(PC机)作为上位机与ACS600变频器进行通讯,因为ACS600变频器只支持RTU模式,所以本文只讨论在RTU模式下的通讯。
在该模式下通讯的最大好处是提高了字符的密度,如此一来在相同波特率情况下的数据流量比ASCII模式更大。
4.2.2Modbus协议的RTU串行传输模式
当设备在网络上Modbus协议网络上被设定为采用RTU通讯模式进行通讯时,通讯信息中的每一个8位字节中含有两个四位的十六进制字符。
需要我们注意的是每个信息必须在一个连续的数据流中进行传输。
RTU串行传输模式中每个字节的格式是:
编码系统:
8位二进制,十六进制0-9,A-F。
字节的位:
1个开始位;
8个数据位,首先发送最低位;
1位用于奇偶校验;无校验时没有这一位;
1个停止位(有校验时);2个停止位(无校验时)。
错误校验区:
循环冗余校验(CRC校验)。
在RTU串行传输模式中,新的信息总是以至少3.5个字符的静默时间开始(在网络上是以波特率来计算信息传输速率的,显然若按照字符来计算时间会变的很容易。
如下图中的T1-T2-T3-T4。
)。
紧接着将传送第一个域:
设备的地址。
每个域的允许传输字符都是0-9,A-F的十六进制数。
网络设备始终监视着通讯总线的活动,包括静默时间。
当接收到第一个信息域(即地址信息),每个网络中的设备都对此进行译码,以确定所要寻址的设备。
随着最后一个字符的传输结束,又产生类似3.5个字符的时间间隔,用来标志本次信息传输结束,即将开始一个新的信息。
整帧的信息必须以一个连续的数据流进行传输。
如果信息结束前存在超过1.5个字符以上的间隔时间,接收设备将清除这些不完整的信息,并错误的认为随后一个字节是新一帧信息的地址部分。
同样的,如果一帧新信息的开始与前一信息的间隔小于3.5个字符时间,接收设备将认为它是前一信息的继续。
由于信息的错乱,最终的CRC域将不正确,导致产生一个故障[3]。
下图4.2.2是一帧信息的标准结构。
开始
地址域
功能域
数据域
CRC校验
结束
T1-T2-T3-T4
8位
8位
n*8位
16位
T1-T2-T3-T4
图4.2.2信息的帧结构
地址域:
地址域位于在信息帧的起始部分,由8位二进制码组成。
单个从机的地址范围为1-247。
而每个终端设备的地址是唯一的,这样就方便了主机对从机的寻址且不会出现错误。
当主机寻址从机时,主机就将从机的地址信息放在帧信息的地址域内,这样就会准确找到所要寻址的从机。
当从机向主机返回响应信息时,为了使主机知道响应信息来自哪台主机,从机同样会把自己的地址放在地址域。
功能域:
功能域的代码是为了告诉被寻址到的终端从机执行何种动作。
也就是说当主机将一帧信息传送到从机时,功能域的编码会告诉从机该去干什么了。
同理,从机对主机的响应采用的也是功能编码的方式,用来表示从机的响应正常或是异常。
数据域:
主机发给从机信息帧的数据域中包含了从机完成信息帧中功能域的动作时所必须的附加信息。
如:
信息域的功能域代码告诉从机读取一个寄存器,数据域则需要指明的是需要从机从哪个寄存器开始读取,以及所要读取的数据个数。
错误校验域:
信息帧中的错误校验域允许主机和从机检查在传输信息过程中产生的错误。
因为由于一些干扰的存在,信息从主机传输到另一个设备时在线路上可能会产生一些错误。
然而错误校验就能够保证主机或者是从机不去响应那些在传输过程中因为产生错误而发生改变了的数据。
这样一来就提高了整个系统的效率且提高了安全性。
在本设计系统中,错误校验使用16位循环冗余的方法(CRC校验)。
下面将进行详细的介绍。
4.2.3CRC校验
当采用RTU模式传输信息时,在信息帧中包括一个由于冗余校验而生成的错误校验域。
CRC域位于信息帧的最后部分且低字节在前高字节在后,当发送信息帧时,CRC的高字节是最后被传输的。
错误校验域包含了一个16位的二进制值占用了两个字节,CRC值首先由将要发送信息的设备计算出来,并且将值附加到传送信息的数据帧中。
当接收设备完成数据信息接收后将会重新计算CRC值,计算完毕后接收设备将计算的CRC值与接收到的CRC域中的值进行比较,如果这两个数值不相等则表明在数据信息传输的过程中发生了错误。
计算CRC值时,首先要把一个16位的寄存器全部预置为1。
接下来再连续的把数据帧中每个字节中的8位与该寄存器的当前值进行运算。
这里需要注意的是只有每个字节的8个数据位参与生成CRC,其它都不影响CRC值。
在生成CRC值时,每个字节的8位与寄存器中的内容进行异或运算,继而将结果向低位移位,高位则用“0”补充,最低位(LSB)移出并被检测。
如果最低位是1,那么该寄存器就与一个预设的固定值(0A001H)进行一次异或运算;如果最低位为0则不作任何处理。
上面叙述的数据处理重复的进行,直到运行完了8次移位操作。
当最后一位(第8位)移位操作完成以后,下面得一个8位字节与寄存器的当前值进行异或运算,同样进行上述的另一个8次移位异或操作。
当完成所有字节的计算移位后,此时寄存器的内容便是CRC值。
生成一个CRC的流程:
1首先将一个16位寄存器的值置为0FFFFH(十六进制),所位都置为1称之为CRC寄存器。
2将数据帧信息中的第一个字节的8位与CRC寄存器中的低位字节进行异或运算,将计算结果存回CRC寄存器。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 变频 调速 远程 控制系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)