1 导言
跟着电力电子技能、微电子技能的开展,变频器已广泛运用于沟通电动机的速度操控上,尤其是近年来越来越多地运用rs232/rs485串行通讯和工业现场总线技能进行变频器的网络通讯和长途监控,以完结生产线设备之间的实时自动操控及生产流程的实时监控。为满意运用的需求,变频器大多都带有通讯接口。由于rs485网络具有设备简略、简略完结、传输距离远、保护便利等长处而被许多变频器厂家所选用,用户可经过上位机开发通讯程序,监控变频器的工作。本文以emerson(原 avansys)公司 td3000变频器为例,介绍根据rs485总线的核算机对多台变频器的实时监控体系的规划。
2 体系的硬件衔接
td3000是 emerson公司推出的高性能矢量操控变频器,能以很高的操控精度进行宽规模的调速工作,它带有内置的规范rs485通讯口,经过转换器可便利地与上位机进行串行通讯,完结上位机对变频器功用码的快速修正及工作状况的直观监控,并完结组网监控工作[2]。本体系组成如图1。
图1 体系配置图
核算机的rs-232口经过一个rs232/rs485转换器转换为rs-485构成通讯网络,以td3000变频器作为从机组成“单主多从”通讯操控网(单监控主机多变频器从机),通讯介质为屏蔽双绞线,屏蔽层一点接地。变频器串行通讯接口端子的接线如图2。
图2 通讯端口接线图
3 td3000变频器的串行通讯协议及相关参数设置
td3000的通讯协议中,其上位机与变频器的通讯,经过上位机与变频器之间交流指令和应对完结的。
(1) 物理接口
rs485总线接口:异步、半双工;
总线上每段最多32个站(最多31个从站),可用中继器扩展至127个站(包含中继器)。
(2) 数据格局
1位开始位、8位数据位、1位中止位、无校验;
1位开始位、8位数据位、1位中止位、奇校验;
1位开始位、8位数据位、1位中止位、偶校验;
默许:1位开始位、8位数据位、1位中止位、无校验。
(3) 波特率
9600bps、19200bps、38400bps、125kbps。
默许: 9600bps。
(4) 通讯地址
从机的本机地址设置规模2~126。
127号为播送地址,主机播送时,从机不允许应对。
(5) 通讯方法
上位机为主机,变频器为从机。选用主机“轮询”,从机“应对”方法。
(6) 协议类型
协议选用长短帧结构:
短帧—用于独立传送自动操控体系所需的操控字和状况字;
长帧—既包含操控字和状况字又含有涉及到操作操控、观测、保护以及确诊等的内容(所具有的内容受变频器本身功用的约束);
特别报文—用于获取从站的软件版别和机器类型[3]。
表1 数据帧结构
(7) td3000变频器的参数设置
运用通讯方法操控变频器时,应对变频器的通讯数据格局、波特率、通讯地址等进行设置,详细经过设置相应的功用码来完结。下面是对td3000变频器的参数设置:
f0.03=6 频率设定方法挑选“通讯给定”
f0.05=2 工作指令挑选“通讯操控”
f9.00=3 串行通讯时的波特率设定为9600bps
f9.01=0 串行通讯时的数据格局选用“n,8,1”,即1位开始位,8位数据位,1位中止位,无校验
f9.02=2 本机地址设置2号从机
4 数据帧结构描绘
(1) 数据帧结构为:帧头、用户数据、帧尾(见表1)。
帧头包含:开始字节(特别报文:68h;短帧:7eh;长帧:02h)
从机地址(规模2-126,127为播送地址,0、1号地址保存)。
帧尾包含:校验数据(异或校验,核算方法为本帧数据字节的接连异或成果)。
用户数据包含:参数数据和进程数据两部分(在短帧中没有参数数据)。其间参数数据包含:功用码操作指令/呼应、功用码号、功用码设定/实践值。进程数据包含:主机操控指令/从机状况呼应、主机工作主设定/从机工作实践值。当主机发送时为“指令”或“设定值”,如对变频器进行开机、关机、正回转、频率设置、参数读取等,当从机(变频器)发送时为对主机指令的“呼应”或作业状况及参数“实践值”的反应。数据遵从先发高字节,再发低字节的准则;假如功用码操作不正确,则用低字节回来操作过错代码,此刻高字节为0。
(2) 变频器的工作操控既能够用长帧完结,也能够用短帧完结。本文中仅以长帧为例进行阐明,其帧格局如下:
● 核算机到变频器:
●变频器到核算机:
5 通讯程序及监控界面的规划
现在监控体系上位机一般选用windows渠道,windows渠道下的串行通讯程序规划一般有2种途径:一是直接调用windowsapi函数,呼应速度快,但程序规划较杂乱;二是选用mscomm串行通讯控件,灵活性稍差,但控件的运用使得通讯程序规划大为简略。在一般操控要求并不太高的状况下,经过第二种途径进行程序开发既能满意操控要求,又能简化程序规划。
visual basic以其面向组件的新技能及对硬件操控能力强而著称,vb供给的mscomm控件是grescent sortware inc公司供给的activex控件,它经过串行端口传输和接纳数据,为运用程序供给串行通讯功用[1]。运用时首要要求注册它,把它放到表单上,然后设置其特点:
commport=1, 通讯端口号
inbuffersize=1024, 收缓冲巨细
inputlen=0,
outbuffersize=1024 发缓冲巨细
rthreshold=18, 串口接字符触发事情
rtsenable=false,
setting=9600,n,8,1 (波特率为9600,校验码为无校验,8位数据位,1位中止位)。
图3 人机界面
图3是监控体系的主操控界面,对td3000的开机、关机、正转、回转、点动正转、点动回转、自在泊车、紧迫泊车、毛病复位等操控,经过点击窗口上相应的工作操控按钮来完结;假如点击右边的“工作参数”按钮,即可进入变频器工作参数监控界面,实时监督变频器的工作频率、设定频率、工作转速、设定转速、输出电流、输出电压、闭环反应、闭环设定、变频器当时状况等。
下面以别离以“设定发送数据长帧格局子函数”、“核算校验和子函数”以及“以50hz工作2#变频器”程序段为例加以阐明。
表2 核算机向变频器发送数据帧
(1) 设定发送数据长帧格局子函数
public function sendlcode2(a as string)
长帧发送函数
dim outdatabyte() as byte
dim i as integer
sendlcode2 = “02” + a
redim outdatabyte(len(sendlcode2)/2)
从头界说发送数组长度
for i = 1 to len(sendlcode2)/2
outdatabyte(i) = cbyte(val(“&h” & mid(sendlcode2, i * 2 – 1, 2)))
把字符串变成字节数组
next
form1.mscomm1.output=outdatabyte 发送
end function
(2) 核算校验和子函数
public function fcs(sendstr as string)
校验和函数
dim str
dim i as integer
str = val(“&h” & mid(sendstr, 1, 2))
i = 3
do
str = str xor val(“&h” & mid(sendstr, i, 2))
i = i + 2
loop while i < len(sendstr)
fcs = hex$(str)
end function
(3)以50hz工作2#变频器。
td3000频率的定标为1:100,要使变频器以50hz工作,主设定应为1388h(5000),故核算机向变频器发送数据帧为(见表2):
其对应部分程序段为:
private sub command1_click() 开机指令
mscomm1.portopen=true 翻开端口接入总线
dim str1, sendstring,bcc 界说变量
str1=”0200000000047f1388″ 赋值以50hz工作2#变频器的数据变量
bcc=cstr(fcs(str1)) 调用异或校验函数生成校验码
sendstring=str1+bcc 生成完好待发送字符串
sendlcode2 (sendstring) 调用长帧格局函数把字
符串变成字节并发送
end sub
6 结束语
本体系经过根据rs485总线的核算机对变频器通讯,完结了上位机对多台变频器的操控及实时监控功用,运用vb编制的人机界面使操作简洁,取得了杰出的有用作用。针对通讯进程中应留意的事项总结如下:
(1) 在实践的工作进程中,长帧和短帧的发送,有时会呈现不能一起发送的状况,这是由于变频器对指令的处理时刻与咱们所设置的波特率不和谐,以致不能辨认数据帧,这时能够改动一下波特率,使之和谐。
(2) 两个通讯帧之间要保证有2个字节以上传输时刻的距离,保证精确辨认报文头。
(3) 在读取参数时,会呈现所回来的数据不能够稳定地固定在某一个规模内,回来过错数据。这是由于发送数据与接纳数据的距离设置不妥引起的,以致于变频器还没有正确处理完数据时,就现已读出过错数据。
(4) 运用mscomm控件时,不能以数字串的方式直接发送,而是要以字节方式发送;一起在接纳时,要用二进制的方式来取回数据,不然通讯就不能成功。
参考文献
[1] microsoft corporation.visual basic 5.0 active x控件参考手册[m]. 北京:科学出版社,1998.
[2] 安圣电气有限公司. td3000高性能矢量操控变频器用户手册[m]. 深圳:安圣电气有限公司,2001.
[3] 安圣电气有限公司. td3000变频器串行通讯协议[m]. 深圳:安圣电气有限公司,2001.