您当前的位置:五五电子网电子知识变频技术变频器基础变频器外部控制的研究与使用 正文
变频器外部控制的研究与使用

变频器外部控制的研究与使用

点击数:7562 次   录入时间:03-04 11:42:34   整理:http://www.55dianzi.com   变频器基础

  单片机与变频器通讯过程中,单片机始终处于主动地位。单片机与变频器通讯时发送的指令数据格式分两类:一是读数据指令,一是写数据指令。笔者以写数据指令为例,用FranklinC51语言编写了写指令的函数WriteSpwm(),将一条控制指令按功能分为几部分,作为函数的输入参数。该函数返回变频器接收信息代码。

  函数格式:ucharWriteSpwmucharheaduintcommanduintCodeDatauchard)输入参数:指令代码,指令数据,数据长度。

  返回值:OKNO.如果通讯有错误,则错误代码存放在全局变量数组元素Rec<2>中。

  uchar为自定义的无符号字符型数据,uint为自定义的无符号整型数据。指针head指向要发送的指令头(字符串)首地址,即ASCII"053030"30是阿拉伯数字0ASCII码,00是通讯时所用变频器的站号,可根据实际情况灵活设置。

  Command为要发送的指令代码,CodeData为指令代码对应的数据。

  在通讯控制过程中,考虑到变频器运行频率需随时改变,因此CodeData设定为无符号整型数据,可直接将运行频率作为函数入口参数,使该模块具有较好的通用性。

  该模块源程序如下:……

  ∥"command"isthecommandcodeintwobytles.eg"FE""FD".

  ∥"CodeData"istheparameterwiththecommandcode.

  ∥"d"isthelengthofddatathatisthenumberofbytlesucharWriteSpwmucharheaduintcommanduintCodeDatauchard{ uchark1k1=0psum=0校验和初始值为0 WSendCharhead);发送指令头WSendNumcommand2);发送指令代码WSendNumCodeDatad);发送指令代码对应数据WSendNumpsum2);发送校验和do{ whileRI==0);RI=0接收应答数据,收完一个字节数据后,RI置零rec=SBUF接收的数据送到数组中保存k1++指向下一个数组元素}while((rec<0>=0x06)(k1<4));应答数据表明通讯有误,则继续接收错误代码,通讯正确,停止接收,跳出循环ifrec<0>==0x06如果通讯正确,函数返回值为OKOK值等于1 {ReturnValue=OK} else∥通讯不正确,函数返回值为NONO值等于0 {ReturnValue=NO} returnReturnValue);} 4结语

上一页  [1] [2] [3] [4]  下一页


本文关键字:变频器  变频器基础变频技术 - 变频器基础