module1.bas

来自「欧姆龙PLC通讯程序源码.非常实用的通讯程序.」· BAS 代码 · 共 85 行

BAS
85
字号
Attribute VB_Name = "Module1"
Public ERR0R_COM As Boolean
Public an_set(19) As Boolean
Public alarm(19) As Boolean
Public set_v(19) As String
Public value1(19) As Single
Public value3(3) As Single
Public value4(19) As Integer
Public value5(19) As Single
Public value6(1) As Single
Public value7(1) As Single
Public n(1) As String
Public DIGIT_IN(5, 15) As Boolean

Public Function ErrMessage(ByVal X As String)
  Select Case X
    Case "13"
      MsgBox "校验错误"
    Case "14"
      MsgBox "格式错误"
    Case "15"
      MsgBox "入口码错误"
    Case "18"
      MsgBox "帧长度错误"
    Case "A3"
      MsgBox "传送数据时因FCS错误引起终止"
    Case "A8"
      MsgBox "传送数据时因长度错误引起在终止"
  End Select
End Function

Public Function Revert(ByVal X As String) As Long  '16进制转换10进制
   K = 0
   For I = 1 To 4
       F$ = Mid$(X, I, 1)
       If F$ = "A" Then
        J = 10
       ElseIf F$ = "B" Then
        J = 11
       ElseIf F$ = "C" Then
        J = 12
       ElseIf F$ = "D" Then
        J = 13
       ElseIf F$ = "E" Then
        J = 14
       ElseIf F$ = "F" Then
        J = 15
       Else
        J = Val(F$)
      End If
       K = K * 16 + J
    Next
    Revert = K
    K = 0
End Function

Public Function four_bit(ByVal X As Single) As String   '位数处理
  b = Trim(Hex(X))
  A = Len(b)
  Select Case A
    Case 1
      four_bit = "000" + b
    Case 2
      four_bit = "00" + b
    Case 3
      four_bit = "0" + b
    Case 4
      four_bit = b
  End Select
End Function

Function XORR(ByVal STRI As String) As String   '校验码的异或处理
 Dim I, J, K As Integer
 J = Len(STRI)
 K = 0
 For I = 1 To J
  K = Asc(Mid$(STRI, I, 1)) Xor K
 Next I
 fcdd$ = Hex$(K)
 If Len(fcdd$) = 1 Then
  XORR = "0" + fcdd$
 End If
  XORR = fcdd$
End Function

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?