微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于LabVIEW的PC机与变频器的串口通信

基于LabVIEW的PC机与变频器的串口通信

时间:04-10 来源: 点击:

最后,利用VISA Close.VI关闭串口;串口不再使用时需要关闭,使其处于空闲状态,便于下一次打开串口。整个串口通信完毕后用Exit LabVIEW.VI退出此程序。程序的主要代码框图如图2所示。

  程序的一个很大的优点在于,将变频器速度控制与变频器的启停控制整合到一起,使得程序操作简单,更加优化合理。程序中采用了调用子VI的方法,大大简化了流程图的复杂程度,提高可读性,方便查看代码和调试程序。

  由于变频器接受的数据格式为ASCII码字符串,所以在命令写入串口之前必须先进行数据格式的转换,这里子VI的作用就是将各种参数值转换成ASCII码字符串,然后写入串口。以变频器的启动为例,根据东元变频器的启动数据格式,以十六进制形式发送01100000 0001 0200 0167 90,利用反馈节点将此字符串拆分成字符串数组,再转换为数值数组,然后利用字ByteArray To String.VI模块,将字节数组转换成ASCII码字符串。变频器接受ASCII码后经过算法还原,然后去执行相应的操作。就可以启动变频器,程序代码框图如图3所示。

  程序中局部变量的使用也大大简化了程序开发的复杂程度,和Visual C++等基于文本的编程语言不同,LabVIEW中的各个对象之间是靠连线来传递数据的,但是在需要两个程序之间交换数据时,靠连线的方式是不行的;即便是在同一个程序中的对象之间交换数据,有时也会遇到麻烦。在这种情况下,就需要使用局部变量。
串口通信操作前面板如图4所示,直接在面板上设置参数,简洁明了,易于操作。在试验过程中可以随意连续的更改转数,实现无级调速。

4 结果验证

  这里主要是检查电机的运行状态是否与设定状态吻合,变频器根据PC机发送的指令控制电机,然后又将电机的当前工作状态读取上来。读取变频器的状态指令,可利用VISA Read.VI模块,程序具体实现方法与上述写入指令相同。

  针对不同情况进行错误处理:首先在前面板中发送指令给变频器,然后去读取此时变频器运行指令,将读取上来的数据进行指令校验和的验证,做条件判断:

  (1)如果校验正确就说明数据指令执行成功;
  (2)如果很长时间都没有将变频器上的转数读上来,或者变频器根本就没有动作,出现超时错误,说明变频器通讯故障。
  (3)读取的值与设定转数值不同,那么指令发送错误,将重新发送指令。可以在前面板显示出变频器的电压状态表,方便直观地查看电机工作状态。

5 结语

  通过环一块摩擦磨损试验机的试验运用证明,所开发的变频器控制软件设计合理,使用方便,响应速度快,尽管电机存在惯性作用,也能在较短的时间内达到要求的速度,能够保证当摩擦学试验参数变化时,电机仍保持很好的刚性,很好地解决了试验过程中电机速度控制问题。

  本文的创新点在于根据摩擦学试验机的具体试验要求,利用LabVIEW技术实现计算机与变频器的通信,利用串行端口来控制变频器的运行,操作简单,响应速度快,能够连续、动态地改变电机转速,为环一块摩擦磨损试验机的试验系统提供了强大的技术支持。该设计方法已应用在笔者实验室的实际工作中,获得很好的试验效果。同时,该通信方式简单、稳定、可靠,具有很好的实时性和可移植性,可供其他串口通信系统参考。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top