2. 采集仪表当前数据
提醒:要和仪表通讯,在参数(Comports、Settings)设置上必须相互吻合。
先要打开对象
MSComm1.PortOpen = True
MSComm2.PortOpen = True
Private Sub MSComm1_OnComm ()
If MSComm1.CommEvent = comEvReceive Then // 收到Rthreshold # of
TxtReceive.Text = MSComm1.Input //将采集到的信息赋予到文本框
found1 = InStr(TxtReceive.Text, "+") //以下数行是对所采集到的数据进行处理加工,最终得到我们想要的格式的数据。
… ……
If found1 > 0 Then
For i = 1 To leng Step 1
Strin1 = Mid(TxtReceive.Text, found1 + 1, 3)
Strin2 = Mid(TxtReceive.Text, found1 + 4, 3)
Format(Val(strin2), "000")
Next i
display1.Caption = Format(Val(strin1), "###0") + "." + Format(Val(strin2), "00")
End If
End If
//本项目中,也就是需要两个计量仪表的的当前数据)
3. 开关状态的采集 //检测四个引脚的工作状态(就是判断现场的开关状态和按钮状态)
在具体的应用过程中,要添加一个TIMER控件用于循环的检测这几个输入引脚的电位的高低。
Private Sub Timer1_Timer()
If MSComm1.CDHolding Then msgbox "CD is switch in! " //检测CD脚的电位
… … … … //消息处理过程
If MSComm1.CTSHolding Then msgbox "CTS is switch in! "//检测CTS脚的电位
… … … … //消息处理过程
If MSComm1.DSRHolding Then msgbox "DSR is switch in! "//检测CTS脚的电位
… … … … //消息处理过程
If MSComm1.CommEvent=comEvRing Then msgbox "RI is switch in!"//检测CTS脚的电位
… … … … //消息处理过程
End Sub
4. 两个开关量的输出 //就是控制两个引脚的电位,5. 驱动的微型继电器工作
如果操作员在具体的配料过程中,出现错误(超出了配方所要求物料品种的误差范围),软件会将DTR或者是RTS引脚上的电位抬高,驱动微型继电器来控制现场的报警装置。用报警来提示操作人员,本次配料不符合要求,需要添加或是减少份量。这样可以实时的纠正不必要了操作失误。
MSComm1.RTSEnable = True //抬高电位 使微型继电器动作接通报警器
MSComm1.DTREnable = True
总结:在本应用工程已在现场运行快一年时间,实践证明采用这种用串口来作开关量的检测和输出方式作有限开关量输入输出是可行的,也是可靠。因此在类似这种小型应用项目中,采用这种串口来作开关量的检测和输出做法,即满足了用户要求,又为用户提供了更多的选择,同时控制了工程的成本。