📄 ramsey.bas
字号:
Attribute VB_Name = "RAMSEY"
'***************************************************************************
' Module Name: RAMSEY.BAS
' Purpose: the declaration of functions, data structures, status codes,
' constants, and messages
' Version: 1.00
' Date: 08/10/2000
' Copyright (c) 2000 RAMSEY Technology. Ltd.
' All rights reserved.
'****************************************************************************
'****************************************************************************
' Constant Definition
'****************************************************************************
'----- Translate0(Str As String) 翻译中文2000系列仪表,返回值 Ctext(1-4)
'----- Translate(Str As String) 翻译英文2000系列仪表,返回值 Ctext(1-4)
'----- DealFloat(HBit1 As Byte, LBit1 As Byte, HBit2 As Byte, LBit2 As Byte) As Double '处理2000仪表浮点数函数
'Hbit1,Lbit1表示第一个字的高低位(十进制)
'Hbit2,Lbit2表示第二个字的高低位
'----- FloatDeal(DData As Single) As String '处理2000仪表浮点数函数,实数-->浮点数
'----- DtoB(Number As Byte) as String ' 十进制 -> 二进制
'----- BtoD(SignStr As String) as Single '二进制 -> 十进制
'----- AlarmList(Alarm1 As Integer, Alarm2 As Integer, Alarm3 As Integer, Alarm4 As Integer) As String
'处理2000仪表报警数函数(16位)
Public Ctext(4) As String '翻译仪表
Public Function DealFloat(HBit1 As Byte, LBit1 As Byte, HBit2 As Byte, LBit2 As Byte) As Double '处理2000仪表浮点数函数
'Hbit1,Lbit1表示第一个字的高低位
'Hbit2,Lbit2表示第二个字的高低位
Dim ValueStr As String '表示四个字节转换为二进制后的字符串
Dim Bias As Integer '浮点数的偏移梁
ValueStr = DtoB(HBit1) + DtoB(LBit1) + DtoB(HBit2) + DtoB(LBit2)
Bias = BtoD(Mid(ValueStr, 2, 8))
DealFloat = 2 ^ (Bias - 127)
For Ii = 1 To 23 '计算浮点数的值
DealFloat = DealFloat + CSng(Mid(ValueStr, Ii + 9, 1)) * (2 ^ (Bias - 127 - Ii))
Next Ii
If Mid(ValueStr, 1, 1) = "1" Then '判断浮点数的符号
DealFloat = -DealFloat
End If
End Function
Public Function DtoB(Number As Byte) ' Dec -> Bin
For Ii = 7 To 0 Step -1
DtoB = DtoB + CStr((Number And 2 ^ Ii) / 2 ^ Ii)
Next Ii
End Function
Public Function BtoD(SignStr As String) 'Bin -> Dec
For Ii = 1 To 8
BtoD = BtoD + CSng(Mid(SignStr, Ii, 1)) * (2 ^ (8 - Ii))
Next Ii
End Function
Public Function Translate(str As String) '英文2000系列仪表翻译函数
Select Case Mid(str, 11, 20)
Case "- MENU 1 -"
Ctext(1) = "- 主 菜 单 1 -"
Ctext(2) = "按菜单键得到更多 "
Ctext(3) = "零点 间隔 物料"
Ctext(4) = "校准 校准 校准"
Case "- MENU 2 -"
Ctext(1) = "- 主 菜 单 2 -"
Ctext(2) = "按菜单键得到更多"
Ctext(3) = " 秤 校准"
Ctext(4) = "显示 数据 数据"
Case "- MENU 3 -"
Ctext(1) = "- 主 菜 单 3 -"
Ctext(2) = "按菜单键得到更多"
Ctext(3) = " "
Ctext(4) = " 诊断 测试"
Case "- MENU 4 -"
Ctext(1) = "- 主 菜 单 4 -"
Ctext(2) = "按菜单键得到更多"
Ctext(3) = "I/O 报警 "
Ctext(4) = "定义 定义 "
Case "- MENU 5 -"
Ctext(1) = "- 主 菜 单 5 -"
Ctext(2) = "按菜单键得到更多"
Ctext(3) = " "
Ctext(4) = "通信板 "
Case "- MENU 6 -"
Ctext(1) = "- 主 菜 单 6 -"
Ctext(2) = "按菜单键得到更多"
Ctext(3) = " "
Ctext(4) = " 线性化 "
Case "- COMIENZO -"
Ctext(1) = "- 卷 动 开 始 -"
Ctext(2) = "按卷动键显示 "
Ctext(3) = "选择 "
Ctext(4) = " "
Case "- DISPLAY 1 -"
Ctext(1) = "- 显 示 卷 动 1 -"
Ctext(2) = "测量单位 "
Select Case Mid(str, 53, 5)
Case "Metri"
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">公制<"
Else
Ctext(3) = " " + " 公制"
End If
Case "Ingle"
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">英语<"
Else
Ctext(3) = " " + " 英语"
End If
Case "Mezcl"
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">混合<"
Else
Ctext(3) = " " + " 混合"
End If
End Select
Ctext(4) = "选择 输入 "
Case "- DISPLAY 2 -"
Ctext(1) = "- 显 示 卷 动 2 -"
Ctext(2) = "累计单位 "
Select Case Mid(str, 53, 5)
Case "tonne"
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">公吨<"
Else
Ctext(3) = " " + " 公吨"
End If
Case "kg "
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">公斤<"
Else
Ctext(3) = " " + " 公斤"
End If
End Select
Ctext(4) = "选择 输入 "
Case "- DISPLAY 3 -"
Ctext(1) = "- 显 示 卷 动 3 -"
Ctext(2) = "长度单位 "
Ctext(3) = " " + ">米<"
Ctext(4) = "选择 输入 "
Case "- DISPLAY 4 -"
Ctext(1) = "- 显 示 卷 动 4 -"
Ctext(2) = "流量单位 "
Select Case Mid(str, 53, 4)
Case "t/h "
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">吨/时<"
Else
Ctext(3) = " " + " 吨/时 "
End If
Case "t/h<"
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">吨/时<"
Else
Ctext(3) = " " + " 吨/时 "
End If
Case "kg/m"
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">公/分<"
Else
Ctext(3) = " " + " 公/分 "
End If
Case "t/mn"
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">吨/分<"
Else
Ctext(3) = " " + " 吨/分 "
End If
Case "porc"
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">百分比 %<"
Else
Ctext(3) = " " + " 百分比 % "
End If
Case "kg/h"
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">公/时<"
Else
Ctext(3) = " " + " 公/时 "
End If
End Select
Ctext(4) = "选择 输入 "
Case "- DISPLAY 5 -"
Ctext(1) = "- 显 示 卷 动 5 -"
Ctext(2) = "称重传感器单位 "
Select Case Mid(str, 53, 2)
Case "kg"
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">公斤<"
Else
Ctext(3) = " " + " 公斤"
End If
Case "Po"
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + "> 磅 <"
Else
Ctext(3) = " " + " 磅 "
End If
End Select
Ctext(4) = "选择 输入 "
Case "- DISPLAY 6 -"
Ctext(1) = "- 显 示 卷 动 6 -"
Ctext(2) = "语言 "
Select Case Mid(str, 53, 3)
Case "USA"
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">英语<"
Else
Ctext(3) = " " + " 英语"
End If
Case "ESP"
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">汉语<"
Else
Ctext(3) = " " + " 汉语"
End If
End Select
Ctext(4) = "选择 输入 "
Case "- DISPLAY 7 -"
Ctext(1) = "- 显 示 卷 动 7 -"
Ctext(2) = "时间 "
Select Case Mid(str, 53, 4)
Case "am/p"
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">上/下午<"
Else
Ctext(3) = " " + " 上/下午"
End If
Case "24 h"
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">24小时<"
Else
Ctext(3) = " " + " 24小时"
End If
End Select
Ctext(4) = "选择 输入 "
Case "- DISPLAY 8 -"
Ctext(1) = "- 显 示 卷 动 8 -"
Ctext(2) = "日期 "
Select Case Mid(str, 53, 2)
Case "AA"
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">年-月-日<"
Else
Ctext(3) = " " + " 年-月-日"
End If
Case "DD"
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">日-月-年<"
Else
Ctext(3) = " " + " 日-月-年"
End If
Case "MM"
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">月-日-年<"
Else
Ctext(3) = " " + " 月-日-年"
End If
End Select
Ctext(4) = "选择 输入 "
Case "- DISPLAY 9 -"
Ctext(1) = "- 显 示 卷 动 9 -"
Ctext(2) = "第三行显示 "
Select Case Mid(str, 53, 2)
Case "Fe"
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">日期/时间<"
Else
Ctext(3) = " " + " 日期/时间"
End If
Case "No"
If Mid(str, 52, 1) = ">" Then
Ctext(3) = " " + ">无显示<"
Else
Ctext(3) = " " + " 无显示"
End If
Case "Ve"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -