3.3工控机与变频器通讯协议
台达vfd-b系列变频器使用modbus networks通讯协议。而modbus可使用ascⅱ或rtu两种资料编码。ascⅱ编码是将所要传送的资料先转换成相对的ascⅱ码后再传送,而rtu则是把资料直接传送,不再经过转换。下面以ascⅱ模式为例,说明工控机和变频器的主要通信协议如下。
通讯功能码有:
03h:读出寄存器内容
06h:写入一笔资料至寄存器
08h:回路侦测
10h:写入多笔资料至寄存器
由于台达变频器运行频率的单位是0.01hz,当需要的运行频率是20hz时,应写入数值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实现工控机与变频器通讯,通过工控机的串行端口来控制变频器,可以方便、直观地控制变频器的运行,监视变频器的运行状态,设置变频器的参数,实现变频器的联网及远程控制。
转载请注明出处。