品牌:SKIIP20NAB12IT10
发货:3天内
信息标签:SKIIP20NAB12IT10,库存,代理,库存产品代理
SKIIP20NAB12IT10
一、系统的总体设计
西门康模块代理
程先生 139 188 64473 qq:937926739
SKIIP20NAB12IT10
图1为系统的总体设计方框图,这里只重点突出工控PC机与变频器RS-485的接口部分。RS-485的驱动器可带32个接收器,在波特率为100Kb/s时,通信距离可达到1200m;通信距离为15m时,波特率可达10Mb/s。在工业现场,RS-485是应用较多的一种通信方式。SKIIP20NAB12IT10图中工控PC机通过485通信接口卡与多个变频器相连接,**多可达到32台。每个变频器被赋予各自的地址码用以识别身份,这样上位机便能通过485通信线对挂在上面的所有变频器进行控制操作。
SKIIP20NAB12IT10
二、变频器的串口通信协议
SKIIP20NAB12IT10
对于西门子的MicroMaster变频器,其通信方式为RS-485,SKIIP20NAB12IT10波特率**高可达到19200b/s;1位起始位;8位数据位;1位偶校验;1位停止位。变频器接收控制的通信协议如下:
SKIIP20NAB12IT10
与上位机向变频器发送的控制字相比,变频器回送的状态字只是以ZSW代替了STW,HIW代替了HSW,其余的字的含义是一样的。ZSW是16位的状态字来指示变频器的当前运行状态,各位的具体含义见说明书;HIW也是16位的字代表变频器的输出频率,SKIIP20NAB12IT10其定义与HSW是一样的。
因此,对于变频器能通过面板按键设置的功能,通过以上的通信协议也一样能实现。并且通过RS-485通信线**多能同时控制32台变频器,同时各变频器的运行状态也能实时地回送给上位机,这就大大方便了用户,增加了控制系统的灵活性。
SKIIP20NAB12IT10
三、Visual C++5.0下对变频器进行串行通信控制
1、ActiveX控件Microsoft Comm Control 5.0
SKIIP20NAB12IT10
在Windows环境下,操作系统完全接管了各种硬件资源,不允许用户直接控制串行口的中断管理。以往程序员只能通过数目众多的API函数来控制串口。
VC5.0下提供了1个ActiveX控件Microsoft Communication Control 5.0,简称MSComm控件。用户可以在自己的应用程序中嵌入MSComm控件,利用它可以方便地进行计算机串口的通信管理。VC5.0中的ActiveX控件MSComm与VC4.0中的OLE通信控件相比,增加了一些新的功能,其中**为有用的1个改进是将Input(从缓冲区读取接收数据)的数据类型从CString改成Variant,SKIIP20NAB12IT10同时新增1个属性InputMode,使程序能方便地选择从缓冲区读取数据的格式:字符串格式或2进制格式。
在VC5.0开发环境中,选择Microsoft Communication Control 5.0控件插入程序,则系统自动为所插入的控件定义1个CMSComm类,与其相关的文件保存在mscomm.h和mscomm.cpp文件中。确认以上菜单选择后,则MSComm控件已嵌入到项目文件中。
MSComm控件有许多属性,其中一些重要的属性如下:
CommPort:设置串口号,类型:short;SKIIP20NAB12IT10
Settings:设置串口通信参数,类型:CString;
PortOpen:设置或返回通信口的状态,类型:BOOL;
InputMode:设置从缓冲区读取数据的格式,类型:long;
Input:从接收缓冲区读取数据,类型:VARIANT;
Output:向发送缓冲区写入数据,类型:VARIANT;
InBufferSize:接收缓冲区的大小,类型:short;SKIIP20NAB12IT10
InBufferCount:接收缓冲区的字节数,类型:short;
OutBufferSize:发送缓冲区的大小,类型:short;
OutBufferCount:发送缓冲区中的字节数,类型:short;
InputLen:设置或返回Input每次读出的字节数,类型:short;
CommEvent:串口事件,类型:short。SKIIP20NAB12IT10
其中串口号(CommPort)设置为1、2等表示COMM1、COMM2。参数设置(Settings)的格式为“B,P,D,S”,B表示波特率,P表示奇偶校验(N-无校验,E-偶校验,O-奇校验),D表示字节有效位数,S表示停止位数。串口状态(PortOpen)为BOOL变量,TRUE表示打开串口,SKIIP20NAB12IT10 FALSE表示关闭串口。InputMode使程序能方便地选择从缓冲区读取数据的格式,设置为0时字符串格式,设置为1时表示2进制格式。InputLen设置或返回的是用Input从缓冲区读字符串时每次读出的字符个数SKIIP20NAB12IT10,这个性质对于读出数据块中定长数据串非常有用。
另外,MSComm控件提供了2种方法来处理串口通信,上面属性的InBufferCount和OutBufferCount用于串口的查询方式。对于较复杂的通信任务,可通过SetCommEvent()函数设置串口要响应的事件,当相应事件或串口错误事件发生时,系统会激活onComm()事件,在onComm()中添加用户的处理代码,则可实现类似DOS中断的串口处理程序。
SKIIP20NAB12IT10
2、变频器串口通信控制检测软件的编制
在项目文件嵌入MSComm控件的头文件mscomm.h及实现文件mscomm.cpp之后,为了用该控件控制1个串口进行通信操作,还必须在应用程序中插入该控件。为此,我们为程序的某个对话框插入MSComm控件,控件ID为IDC_MSCOMM1,并利用Class Wizard为其添加变量CCMSComm m_Coml,则程序中对串口的各种操作都可通过变量m_Coml来实现。
MicroMaster变频器回送的SKIIP20NAB12IT10状态信息1帧为14B。为此,程序编制上采用事件驱动的通信方式,串口每接收14个字符便激活1个onComm()事件,在onComm()消息处理函数中加入相应的处理代码,用来读取状态字ZSW和HIW各位的状态参数,并作出相应的处理,如显示、报警等。下面简要给出用事件驱动方式读出变频器回送状态字的程序源代码。设RS-485卡的口地址为工控PC机的串口4的地址,波特率为9600b/s。
串口初始化程序如下:
m_Coml.SetCommPort(4); //设置串口4
if(! m_Coml.GetPortOpen())
m_Coml.SetPortOpen(TRUE); //打SKIIP20NAB12IT10开串口
m_Coml.SetSettings(″9600,e,8,1″); //串口参数设置
m_Coml.SetInputMode(1); //设置Binary缓冲输入方式
m_Coml.SetRThreshold(14); //每接收1个字符时//激发onComm()事件
工控PC机控制变频器的参数通过类ColeVariant的构造函数来实现,ColeVariant可以接受各种类型的数据(如字符串、整数、浮点数等)并自动将其转换为符合VARIANT要求的数据。程序代码如下:
m_Coml.SetOutput(ColeVariant(″\x02″)); //发送起始//字符02H
m_Coml.SetOutput(ColeVariant(″\x0C″)); //发送数据//长度字符0CH
…… //发送其它的控制参数
对于变频器回送的状态信息则利用Windows的消息处理函数onComm()进行处理。利用ClassWizard为MSComm控件IDC_MSCOMM1添加消息处理函数OnOnCommMscomm1(),在OnOnCommMscomm1()中加入处理代码如下(**后2个语句为添加的程序代码,其余代码由ClassWizard自动生成):
void CGpsdataDlg::OnOnCommMscomm1()
{SKIIP20NAB12IT10
//TODO:Add your control notification handler //code here
m_Coml.SetInputLen(0); //读取串口缓冲区全//部数据
VARIANT Parameter=m_Coml.GetInput(); //数据赋给VARIANT变量
…… //具体程序处理代码SKIIP20NAB12IT10
}
?在消息处理函数OnOnCommMscomm1()中,将变频器回送的14个状态字每一次全部读到VARIANT变量Parameter中,然后程序再从VARIANT类型的数组变量Parameter中分别读取各状态字节,在屏幕上显示、判断并报警。
本文利用VC5.0下的ActiveX控件和MicroMaster变频器RS-485的串行通信功能,实现了在Windows95环境下用单台工控PC机控制多台变频器的任务,并能实时检测各变频器的运行状态。整个控制系统灵活方便,具有很大的实用性。SKIIP20NAB12IT10
1.负载类型和变频器的选择:变频器不是在任何情况下都能正常使用,因此用户有必要对负载、环境要求和变频器有更多了解,电动机所带动的负载不一样,对变频器的要求也不一样。
A:风机和水泵是**普通的负载:对变频器的要求**为简单,只要变频器容量等于电动机容量即可(空压机、深水泵、泥沙泵、**变化的音乐喷泉需加大容量SKIIP20NAB12IT10)。
B:起重机类负载:这类负载的特点是启动时冲击很大,因此要求变频器有一定余量。同时,在重物下放肘,会有能量回馈,因此要使用制动单元或采用共用母线方式。
C:不均行负载:有的负载有时轻,SKIIP20NAB12IT10有时重,此时应按照重负载的情况来选择变频器容量,例如轧钢机机械、粉碎机械、搅拌机等。
D:大惯性负载:如离心机、冲床、水泥厂的旋转窑,此类负载惯性很大,因此启动时可能会振荡,电动机减速时有能量回馈。应该用容量稍大的变频器来加快启动,避免振荡。配合制动单元消除回馈电能。