你现在位置:首页>技术论文>软件知识>正文
实现VB与台达变频器通信
日期:2008-6-12 19:05:40 来源:本站整理  
点击: 作者:
点击【】放大字体.
W1WW_P4LCJS_COM-PLC-技.术_网

Visual Basic的以其实用和开发周期短等特点受到广大程序员的欢迎,许多用过像VC++这些软件的程序员也开始加入VB的行列,因为它太实用了,特别在小软件的开发上。VB在工业监控方面的应用也非常广泛。今天我给大家分享一下我在做台达变频器和PC通信的经验:
WWW_PL※CJS_COM-PLC-技.术_网

WWW.PLCJS.COM——可编程控制器技术门户

串口初始化:
WWW_P※LCJS_COM-PLC-)技.术_网

WWW_PL※CJS_COM-PLC-技.术_网

On Error GoTo errStr
WW.W_PLCJS_COM-PLC-技.术_网

    MSComm1.CommPort = 1
W1WW_P4LCJS_COM-PLC-技.术_网

    MSComm1.Settings = "9600,o,8,1"
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

    MSComm1.InputMode = comInputModeBinary
WWW_PLC※JS_COM-PmLC-技.术_网

    MSComm1.Handshaking = comNone
WWW_PLC※JS_COM-PmLC-技.术_网

    MSComm1.OutBufferSize = 1024
plcjs.技.术_网

    MSComm1.InBufferSize = 512
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

    MSComm1.InputLen = 0
WWW_PLC※JS_COM-PmLC-技.术_网

    MSComm1.SThreshold = 1
WWW_P※LCJS_CO※M-PLC-技-.术_网

    MSComm1.RThreshold = 1
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

    MSComm1.PortOpen = True
WW.W_PLC※JS_C,OM-PL,C-技.术_网

   Exit Sub
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

errStr:
WW.W_PLC※JS_C,OM-PL,C-技.术_网

   If Err.Number = 8002 Then
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

       MsgBox "串口不存在!", vbOKOnly Or vbInformation
plcjs.技.术_网

   ElseIf Err.Number = 8005 Then
WWW_P※LCJS_COM-PLC-)技.术_网

       MsgBox "串口已被占用!", vbOKOnly Or vbInformation
WWW_PLC※JS_COM-PmLC-技.术_网

   End If
WW.W_PLC※JS_C,OM-PL,C-技.术_网

WWW.PLCJS.COM——可编程控制器技术门户

请根据串口初始化的代码来设置变频器的设置。(参考VFD-M说明书)
WWW_PLCJS@_COM%-PLC-技.术_网

W1WW_P4LCJS_COM-PLC-技.术_网

读变频器的当前频率:
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

WWW_PLC※JS_COM-PmLC-技.术_网

发送到串口的数据:01 03 21 02 00 02 6F F7
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

其中01为设备地址;03为写命令;21 02为当前频率寄存器地址;00 02资料数(word);6F F7为检验码
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

plcjs.技.术_网

在编写代码之前,可以先用串调试软件(EasyPort)调试一下,这可以确保接线没和变频器设置方面没有问题。
——可——编——程——控-制-器-技——术——门——户

WWcW_PLCJS_COM-PLC-技.术_网

EasyPort使用:设定好串口波特率9600、数据位8位、校验位O、停止位1;选中Modbus协议,复选附加检验码;在发送框内直接写入01 03 21 02 00 02,点击发送即可。
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

在接收到的文报中,读者可以前4位和后两位都去掉,留下的数据把十六进制转换成十进制,把计算出来的结果和变频器数码管的显示是不是相符,如果不是,请检查一下变频器的设置后,再做实验。
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WW.W_PLCJS_COM-PLC-技.术_网

如果在串口调试软件中得到了理想的效果后,就可着手写代码了。
——可——编——程——控-制-器-技——术——门——户

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

发送数据:Mscomm.Output=要送的数据
P.L.C.技.术.网——可编程控制器技术门户

WWW_PL※CJS_COM-PLC-技.术_网

接收数据:Mscomm_OnComm() 来接收
WWW_PLCJS_COM-PLC-技.术_网

——可——编——程——控-制-器-技——术——门——户

具体的代码大家自己实现啦
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

以下为检验代码CRC16部分:
WWcW_PLCJS_COM-PLC-技.术_网

WWW_P※LCJS_COM-PLC-)技.术_网

    Function CRC16(data() As Byte) As String
WWW_P※LCJS_COM-PLC-)技.术_网

      Dim CRC16Lo As Byte, CRC16Hi As Byte      CRC寄存器
WWW_P※LCJS_COM-PLC-)技.术_网

      Dim CL As Byte, CH As Byte                多项式码&HA001
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

      Dim SaveHi As Byte, SaveLo As Byte
WWW_PL※CJS_COM-PLC-技.术_网

      Dim i As Integer
WW.W_PLCJS_COM-PLC-技.术_网

      Dim Flag As Integer
WWW_PL※CJS_COM-PLC-技.术_网

      CRC16Lo = &HFF
P.L.C.技.术.网——可编程控制器技术门户

      CRC16Hi = &HFF
WW.W_PLCJS_COM-PLC-技.术_网

      CL = &H1
WWW.PLCJS.COM——可编程控制器技术门户

      CH = &HA0
WWW_PLCJS@_COM%-PLC-技.术_网

      For i = 0 To UBound(data)
WWW_P※LCJS_COM-PLC-)技.术_网

        CRC16Lo = CRC16Lo Xor data(i) 每一个数据与CRC寄存器进行异或
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

        For Flag = 0 To 7
W1WW_P4LCJS_COM-PLC-技.术_网

          SaveHi = CRC16Hi
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

          SaveLo = CRC16Lo
WW.W_PLCJS_COM-PLC-技.术_网

          CRC16Hi = CRC16Hi \ 2            高位右移一位
plcjs.技.术_网

          CRC16Lo = CRC16Lo \ 2            低位右移一位
WWW_P※LCJS_CO※M-PLC-技-.术_网

          If ((SaveHi And &H1) = &H1) Then 如果高位字节最后一位为1
WWcW_PLCJS_COM-PLC-技.术_网

            CRC16Lo = CRC16Lo Or &H80      则低位字节右移后前面补1
W1WW_P4LCJS_COM-PLC-技.术_网

          End If                           否则自动补0

本新闻共2页,当前在第11 2  
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行