您的位置 首页 知识

根据RS-485变频器与PC机串行通讯的完成

1引言目前,在我国现场控制总线中,RS-485使用最为普遍。RS-485总线的共模输出电压在-7V至+12V之间,具有抑制共模干扰的能力,数据传输…

1导言

  现在,在我国现场操控总线中,RS-485运用最为遍及。RS-485总线的共模输出电压在-7V至+12V之间,具有按捺共模搅扰的才能,数据传输速率最大为10Mbit/s,当波特率为1200bps时最大的传输间隔理论上可达15千米。RS-485网络所具有的设备简略、简单完结、传输间隔远、保护便利等长处而被许多变频器厂家所选用。文章剖析了工业环境中串行通讯挑选RS-485的原因,论说了根据RS-485三垦变频器与PC机串行通讯的硬件特性,通讯协议及软件完结,试验标明该通讯软件安稳牢靠,能直观的观看变频器的实践运转状况,并能比较便利的进行多组参数的设定和改写。经过此软件,极大的便利了工程师和客户对变频器的操控和把握。

2RS-232与RS-485的比较

  常用的串行通讯有两种,一种为RS-232串行通讯,一种为RS-485串行通讯。因为串行通讯运用办法简洁易用,工业操控范畴大多都运用串行通讯作为其数据交换的手法。可是工业设备的运用环境常常比较恶劣,或许会存在噪声或许电源谐波的搅扰,RS-232在如此环境下抗搅扰的才能远不及RS-485,除此之外,RS-232只能是1对1操控,而RS-485则能够完结一对多操控;RS-232一般是9针公头,而RS-485则是两根线就能够操控。因而工业环境下的串行通讯大多都采纳RS-485串行通讯办法。

3三垦变频器与PC的串行通讯

  3.1软硬件环境

  硬件装备:PC(装备规范RS-232)一台、RS-232/RS-485转换卡一个、ISI通讯卡一块、Inverter三台(三垦变频器ES-0.4KW、SPF-11KW、IPF-90KW)。

  软件包含:WindowsXP操作系统、MicrosoftVisualBasic6.0中文版、三垦变频器通讯协议辅导手册等。

  3.2通讯协议

  三垦各个系列变频器所供给的通讯协议格局如下:

  1、指令格局:指令格局如图1所示,各字段意义如表1。

  2、指令的具体解说

  图1显现了指令的格局,共25条指令,由操作码(OP)决议,分别由A-Q及R、S、x、y、z、a、b、c组成。以指令C和N阐明指令的具体构成,如表2。

  表1指令各字段意义

  3、变频器所进行的通讯过错处理

  变频器假如从上位机接纳到的指令中查看出过错,将进行以下处理:

  ①在奇偶过错、校验和过错或指令代码未界说时:

  回传的过错指令为指令代码“?”。一起,DT项回传一个字节的通讯过错代码。

  ②在DT项的数据过长或缺乏,不能解说数据内容时:

  假如接纳指令的各个指令所界说的数据过长或缺乏、或许接纳指令无法解说时,其过错处理同①。

  ③超时处理:

  接纳开端代码后,假如不能在150ms以内接纳悉数指令将进行超时处理,强制完结接纳状况。这时变频器将回来通讯过错代码“d”。

  ④通讯过错代码分别为:“p”代表奇偶过错;“s”代表查验和过错;“u”代表未界说操作代码;“d”代表数据过长、数据缺乏或许数据无法解说。

  ⑤其它过错

  有关接纳核算机指令的过错,在上述情况以外,将进行超时处理,对核算机而言为“无应对”。

  4、变频器和核算机的指令发送接纳办法

  串行通讯的根本程序是一台核算机将指令发送给一台变频器,之后变频器回传应对给核算机。所以,变频器在接纳到了核算机发送出的指令后有必要回传应对。假如核算机在没有得到应对时,仍接连发送多条指令则无法确保正常的作业。

  因为变频器反常或许通讯线路反常,核算机或许无法接纳到变频器的应对。为了防止因为等候变频器的应对而形成的通讯程序确定,核算机将依照所设定的2秒或更长以上的时刻来履行接纳超时处理。

  表2指令具体内容举例

  3.3串行通讯的程序完结

  因为篇幅所限,这儿仅介绍通讯部分的完结代码,首要包含:通讯端口的界说,通讯速率的设定,通讯发送、通讯承受、通讯过错处理以及退出等。

  首要代码如下:

  …

  MSComm1.CommPort=1‘挑选1号通讯端口

  MSComm1.Settings=”4800,o,8,1″‘设定为4800bps,奇数、数据8位、中止1位

  MSComm1.RThreshold=1‘CommmEvert产生当接纳到一个字符时

  MSComm1.InputLen=0‘输入缓冲数据清零?

  MSComm1.PortOpen=True‘通讯端口翻开?

  Timer1.Interval=1000‘接纳超时时刻(ms)1秒

  Tx=“*01C”?‘设定向变频器传送的数据

  TxLen=Len(Tx)‘得到传送数据长度(校验和与中止位在外)

  Sum=0

  Fori=1ToTxLen

  Sum=Sum+Asc(Mid(Tx,i,1))

  Nexti

  Sum=((0-Sum)And127)Or64

  Tx=Tx+Chr(Sum)+vbCrLf‘在传送代码上增加校验和与中止位(CR+LF)

  Timer1.Enabled=True‘发动接纳超时检出计数器

  MSComm1.Output=Tx‘向变频器传送数据

  EndSub

  PrivateSubMSComm1_OnComm()‘[经过Comm事情接纳数据]

  DimRxAsString,RxLenAsInteger,SumAsInteger

  DimMsgAsString

  IfMSComm1.CommEvent<>comEvReceiveThenExitSub‘承认接纳的数据是Comm事情

  Do

  Rx=Rx+MSComm1.Input‘接纳变频器的数据

  DoEvents

  LoopUntilRight(Rx,2)=(Chr(13)&Chr(10))‘找到中止位

  Timer1.Enabled=False‘撤销超时定时器

  RxLen=Len(Rx)-2‘接纳数据字长(中止位在外)

  Sum=0‘接纳到的校验和的核算

  Fori=1ToRxLen-1

  Sum=Sum+Asc(Mid(Rx,i,1))

  Nexti

  Sum=((0-Sum)And127)Or64

  IfMid(Rx,RxLen,1)=Chr(Sum)Then‘校验和的查看

  Msg=Left(Rx,RxLen)‘接纳数据(包含校验和,不包含中止位)

  Else

  Msg=“CheckSumNG”?‘校验和过错显现

  EndIf

  MsgBox“ReceivedData=”&Msg‘显现接纳数据

  MSComm1.PortOpen=False‘[封闭通讯端口]

  EndSub

  ‘在变频器的输出频率为20Hz时,运转该程序,在信息框中将显现“*01C02000@”

4定论

  文章首要对RS-232与RS-485进行了比较,然后介绍了根据RS-485三垦变频器与上位机串行通讯的完结,试验标明:使用VB编制的人机界面操作简洁,取得了杰出的有用作用。使用RS-485协议进行串行通讯,能够确保快速、安稳远间隔地传输数据。在现在以及今后的工业操控和其他方面必将得到越来越多的使用。

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部