您的位置 首页 芯闻

根据VB和RS-485总线技能的变频器长途监控体系规划

1引言随着电力电子技术、微电子技术的发展,变频器已广泛应用于交流电动机的速度控制上,尤其是近年来越来越多地利用rs232/rs485…

  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.

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/xinwen/237221.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部