NI工控机与台达变频器通讯的实现
扫描二维码
随时随地手机看文章
1 引言
风力发电机组中的齿轮箱是一个重要的机械部件,而其中轴承性能的好坏对齿轮箱的性能起着至关重要的作用。根据用户要求,齿轮箱轴承出厂前要在模拟实际工况的试验机上进行测试。即齿轮箱轴承需在不同转速、载荷下进行性能试验和寿命试验。齿轮箱轴承转速的改变是由变频器驱动变频电机实现的。变频器运行频率的设定有三种方法:一是通过面板手工调节,这种方式已经不能满足频率频繁变化时使用需要。二是通过变频器的外部接口,外接模拟信号来控制设定频率。这种方式虽然简单,但存在设定频率不准确的问题,当外接模拟信号波动时,变频器的设定频率也随之变化。三是通过变频器的通讯口,利用参数设定指令来进行频率参数设定。这种方法能准确地控制变频器的频率。下面以台达vfd-b系列变频器为例,介绍一种基于labview软件利用串口实现工控机与变频器间通讯,进行频率参数设定、监视输出电流的方法。
2 通讯系统总体设计
本系统所采用的通讯方式是利用美国ni公司的工控机与台达vfd-b系列变频器的rs-485串口通讯。工控机的控制器为 ni pxi-8106,自带1个rs-232通讯串口。由于系统还需要与仪表和plc通讯,而且变频器、仪表和plc三者之间的通讯协议不同,工控机另配有1块串行通讯模块ni pxi-8431(含有两个rs-485串口)。使用工控机rs-232串口和台达变频器的rs-485串口通讯,中间需加rs-232/rs-485转换器,如图1所示。如果使用串行通讯模块ni pxi-8431的rs-485串口,须用db-9连接器连接工控机的rs-485串口与变频器的rs-485串口,如图2所示
图1 系统通讯示意图
图2 系统通讯示意图
3 系统硬件接口
台达vfd-b系列变频器的通讯口引脚定义、db-9连接器引脚定义、rs-232/rs-485转换器的接线端子排列见表1。
表1 接线端子排列
台达vfd-b 系列变频器通讯口使用的是水晶头,只需压两根线,为了减少干扰,通讯线最好使用双绞屏蔽线。使用工控机的rs-485通讯口时,须把db-9的4脚与8脚短接,然后连接变频器的4:sg+,把db-9的5脚与9脚短接,然后连接变频器的3:sg-,见图3。使用工控机的rs-232通讯口时,接线方法是把rs-232/rs-485转换器的d+/a连变频器的4:sg+,d-/b连变频器的3: sg-,见图4。
图3 db-9与变频器rs485连线图
图4 rs232/rs485转换器与变频器rs485连线图
3.1 通讯格式说明
在本系统中,工控机与变频器通讯,工控机一侧不仅要设置相应的通讯参数,如通讯地址,波特率,数据位,停止位,变频器一侧也有一些参数需要设置。两者之间的通讯参数设置应一致。
3.2 台达变频器的参数设置
台达变频器的参数设置如表2所示。
表2 变频器通讯参数设置
参数设置完以后,变频器需要重新上电,新的参数才会被应用。
3.3 工控机与变频器通讯协议
台达vfd-b系列变频器使用modbus networks 通讯协议。而 modbus可使用ascⅱ或 rtu 两种资料编码。ascⅱ编码是将所要传送的资料先转换成相对的ascⅱ码后再传送,而rtu则是把资料直接传送,不再经过转换。下面以ascⅱ模式为例,说明工控机和变频器的主要通信协议如下。
通讯功能码有:
03h:读出寄存器内容
06h:写入一笔资料至寄存器
08h:回路侦测
10h:写入多笔资料至寄存器
由于台达变频器运行频率的单位是0.01hz,当需要的运行频率是20 hz时,应写入数值2000,转换为十六进制是7d0h。频率命令写到内部设定参数2001h寄存器。
例如:对通讯地址01h,写入2000(7d0h)至变频器内部设定参数2001h寄存器,格式见表3。
在测试现场需要时刻观察变频器的输出电流,判断试验机有无异常状况。监视变频器内部参数2104h寄存器可观察变频器的输出电流。
例如:对通讯地址01h,读出2104h寄存器的资料内容,格式见表4。
ascⅱ模式的检查码由通讯地址开始到数据内容结束加起来的值,然后取2的补码。
以表3询问讯息为例检查码为:
01h+06h+20h+01h+07h+d0h=ffh,然后取2的补码=01h。
4 通讯系统软件设计
labview语言是美国ni公司为适应计算机和软件技术的发展、加快仪器的开发和完善其功能而推出的。它使用图形化编程语言编程,执行程序的顺序是由数据流决定的,而不是传统文本语言的按命令行顺序连续执行。labview语言具有界面友好、易学易懂、开发周期短等优点,广泛应用于仪器控制、数据采集、数据分析和数据显示等领域。
在labview中进行串口通讯主要利用visa函数。 包括visa configure serial port 、visa write 、 visa read 、 visa close等 vi。 利用串口发送数据,读取数据的程序如下:
第一步:初始化端口,设定端口号、波特率、数据位、停止位、奇偶校验等。
第二步:利用visa write.vi 发送数据。
第三步:如需从串口读取数据,可利用visa read.vi 读取数据。
第四步:如串口不再使用,可利用visa close .vi关闭串口。
在labview 2009基本串行写入和读取程序框图如图5。
图5labview 2009基本串行写入和读取程序框图
5 结束语
本文的创新点在于利用labview实现工控机与变频器通讯,通过工控机的串行端口来控制变频器,可以方便、直观地控制变频器的运行,监视变频器的运行状态,设置变频器的参数,实现变频器的联网及远程控制。