未系统学习过VB.NET这门语言,但工作需要解读一个源代码,这里的QueryValue、QueryString、SendCmd三个方法一直理解不了其中的意思,想实现什么,请各位大佬帮帮忙谢谢
#Region "RS232 read/write"
Protected Function QueryValue(ByVal sCmd As String) As Double
Dim s As String
Dim v As Double
s = Me.QueryString(sCmd)
If Double.TryParse(s, v) Then
Return v
Else
Return Double.NaN
End If
End Function
Protected Function QueryString(ByVal sCmd As String) As String ' 查询字符串
Dim s As String
mPort.DiscardInBuffer()
mPort.DiscardOutBuffer()
mPort.Write(sCmd + ControlChars.CrLf)
s = mPort.ReadLine()
If s.Contains("Error") Then
MessageBox.Show("Error sending " + sCmd)
End If
Return s.Trim()
End Function
Protected Sub SendCmd(ByVal sCmd As String)
Dim s As String
mPort.DiscardOutBuffer()
mPort.Write(sCmd + ControlChars.CrLf)
'System.Threading.Thread.Sleep(5)
s = mPort.ReadLine()
If s.Contains("Error") Then
MessageBox.Show("Error sending " + sCmd)
End If
End Sub
#End Region
这个你要结合你的设备的约定(协议)来理解。
这里通过串口和你的下位机通讯。mPort.Write这个是向串口发数据
mPort.ReadLine()这个是从串口读取返回的数据。
你的设备接受不同的命令(sCmd),具体什么功能你要和下位机的厂家/设计人员去沟通。
SendCmd是发送命令
QueryValue发送命令得到返回值(浮点类型)
QueryString发送命令得到返回值(字符串类型)