你现在位置:首页>技术论文>数据通讯>正文
VB编写的Modbus RTU协议通讯源程序
日期:2006-7-18 23:27:50 来源:本站整理  
点击: 作者:未知
点击【】放大字体.

   modbus rtu协议可以算是一种事实上的工业标准协议,为许多仪表、PLC等所支持。以前有几个用户问如何使用VB编程来与我们的KND-K3系列PLC通讯,于是整了一个demo程序。这次把这个demo共享,希望能给大家一点帮助。

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

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

1)    模块文件:modCRC,其中包含了CRC校验的函数。
P.L.C.技.术.网——可编程控制器技术门户

WWW_PL※CJS_COM-PLC-技.术_网

data     待校验的数组名称
WWW.PLCJS.COM——可编程控制器技术门户

no       数组中元素个数
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

btLoCRC  算出的CRC高字节
WW.W_PLC※JS_C,OM-PL,C-技.术_网

btHiCRC  算出的CRC低字节
W1WW_P4LCJS_COM-PLC-技.术_网

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

Public Function CalCRC16Fast(data() As Byte, no As Integer, btLoCRC As Byte, btHiCRC As Byte) As String
——可——编——程——控-制-器-技——术——门——户

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

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

      Dim SaveHi As Byte, SaveLo As Byte
WWW.PLCJS.COM——可编程控制器技术门户

      Dim i As Integer
WWW_P※LCJS_COM-PLC-)技.术_网

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

plcjs.技.术_网

      btHiCRC = &HFF
WWW_PLCJS_COM-PLC-技.术_网

      btLoCRC = &HFF
plcjs.技.术_网

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

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

WWW_PL※CJS_COM-PLC-技.术_网

      For i = 0 To (no - 1)
WWW.PLCJS.COM——可编程控制器技术门户

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

        btHiCRC = btHiCRC Xor data(i) 每一个数据与CRC寄存器进行异或
P.L.C.技.术.网——可编程控制器技术门户

        
WWW_PLC※JS_COM-PmLC-技.术_网

        For Flag = 0 To 7
WW.W_PLC※JS_C,OM-PL,C-技.术_网

          
WWW_PLCJS_COM-PLC-技.术_网

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

          SaveLo = btHiCRC
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

          btLoCRC = btLoCRC \ 2            高位右移一位
WWW_PLCJS_COM-PLC-技.术_网

          btHiCRC = btHiCRC \ 2            低位右移一位
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

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

          If ((SaveHi And &H1) = &H1) Then 如果高位字节最后一位为1
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

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

          End If                           否则自动补0
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

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

          If ((SaveLo And &H1) = &H1) Then 如果LSB为1,则与多项式码进行异或

本新闻共8页,当前在第11 2  3  4  5  6  7  8  
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

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



|










|


P
L
C









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