VB软件读取仪表数据问题
谁能用VB编写一下以下图片的程序。因为我现在自己编写的如果的只是一台仪表的话数据是正确的。但是读取多台仪表(比如5台)的时候,就会出现当中的一两台(在VB软件上)显示的数...
谁能用VB编写一下以下图片的程序。因为我现在自己编写的如果的只是一台仪表的话数据是正确的。但是读取多台仪表(比如5台)的时候,就会出现当中的一两台(在VB软件上)显示的数值数据是正确的,小数点显示的位置不对,比如:本应显示123.45,现在却显示成1.2345。我不知道是什么回事。我和程序大概是这样:
Public Function Data_process(SData As String, result)
'a1 = Mid(SData, 1, 14)
'a2 = Mid(SData, 15, 16)
'a3 = a2 & a1
shuzhi1 = Val("&H" & Mid(SData, 25, 4)) '电表显示数值
xiaoshu = Val("&H" & Mid(SData, 2, 1)) '小数点位数,取0-4,
Select Case (xiaoshu)
Case 0
weishu = 1
Case 1
weishu = 0.1
Case 2
weishu = 0.01
Case 3
weishu = 0.001
Case 4
weishu = 0.0001
End Select
danwei = Val("&H" & Mid(SData, 6, 1)) '数值单位
If danwei = 0 Then weishu1 = "p"
If danwei = 1 Then weishu1 = "n"
If danwei = 2 Then weishu1 = "u"
If danwei = 3 Then weishu1 = "m"
If danwei = 4 Then weishu1 = ""
If danwei = 5 Then weishu1 = "K"
If danwei = 6 Then weishu1 = "M"
If danwei = 7 Then weishu1 = "G"
jx = shuzhi1 * weishu
'result = Format(jx, "0.00")
result = jx
'& weishu1 '初始化显示数据
End Function
不知道问题出在哪里?是不是485转换器的问题?还是什么原因,请高手指点。 展开
Public Function Data_process(SData As String, result)
'a1 = Mid(SData, 1, 14)
'a2 = Mid(SData, 15, 16)
'a3 = a2 & a1
shuzhi1 = Val("&H" & Mid(SData, 25, 4)) '电表显示数值
xiaoshu = Val("&H" & Mid(SData, 2, 1)) '小数点位数,取0-4,
Select Case (xiaoshu)
Case 0
weishu = 1
Case 1
weishu = 0.1
Case 2
weishu = 0.01
Case 3
weishu = 0.001
Case 4
weishu = 0.0001
End Select
danwei = Val("&H" & Mid(SData, 6, 1)) '数值单位
If danwei = 0 Then weishu1 = "p"
If danwei = 1 Then weishu1 = "n"
If danwei = 2 Then weishu1 = "u"
If danwei = 3 Then weishu1 = "m"
If danwei = 4 Then weishu1 = ""
If danwei = 5 Then weishu1 = "K"
If danwei = 6 Then weishu1 = "M"
If danwei = 7 Then weishu1 = "G"
jx = shuzhi1 * weishu
'result = Format(jx, "0.00")
result = jx
'& weishu1 '初始化显示数据
End Function
不知道问题出在哪里?是不是485转换器的问题?还是什么原因,请高手指点。 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询