以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]怎样链接电子称称重?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=175119)

--  作者:zto001
--  发布时间:2022/2/21 11:34:00
--  [求助]怎样链接电子称称重?
电子称通讯协议
图片点击可在新窗口打开查看此主题相关图片如下:接口.jpg
图片点击可在新窗口打开查看

要怎样写代码?

--  作者:有点蓝
--  发布时间:2022/2/21 11:55:00
--  
看串口的用法:http://www.foxtable.com/webhelp/topics/1966.htm

求助其它用户看看:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=144072&replyID=&skin=1

--  作者:zto001
--  发布时间:2022/2/21 12:20:00
--  

项目的AfterOpenProject事件中加入代码:

Ports.Add("COM2")
Ports(
"COM2").Open()


监视串口

将DataReceived事件代码设置为:

Select Case e.Port.PortName

    Case "COM1"
        Forms(
"窗口1").Controls("Label1").Text = e.Port.ReadExisting()
    Case
 
"COM2"
        Forms(
"窗口1").Controls("Label2").Text = e.Port.ReadExisting()
End
 Select




是不是这样?


--  作者:有点蓝
--  发布时间:2022/2/21 13:34:00
--  
差不多吧
--  作者:zto001
--  发布时间:2022/2/24 20:45:00
--  
dim s as string =e.Port.ReadExisting()

=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000=48.0000


这样怎么弄?
图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20220224203615.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2022/2/24 21:15:00
--  
按别人给的规格设置:http://www.foxtable.com/webhelp/topics/1976.htm

按字节的方式接收参考:http://www.foxtable.com/webhelp/topics/1979.htm

--  作者:zto001
--  发布时间:2022/3/15 22:12:00
--  
获得的缓存是这样的 我要怎样才能获取第一个值?
=23.3000=40.8000=28.9000=02.1100=63.0100=02.0100=60.0100=02.0100=03.0100=60.0100=22.9000

读取输入缓冲区中的所有字符。

示例

Dim s As String
s = Ports(
"COM2"
).ReadExisting()

这个代码能获取到所有的字符,没问题,但是我没办法用Split解析出来,老是出错。帮助里面提供的ReadLine、ReadTo、Read、ReadByte都不行


Ports.Add("COM6")

Ports("COM6").Open()

Output.Show( "第一" & Ports("COM6").ReadExisting())  \'多个重量 =20.6000=47.5000=47.5000=27.5000=85.5000=86.1000=24.0000=80.4000=60.5000=89.6000=27.6000  \'也有可能是这样的结果 0=06.6000=65.6000=22.0000=22.0000=22.0000=22.0000=22.0000=22.0000 所以不太好用解析

Output.Show( "第二" & Ports("COM6").ReadLine())  \'操作超时

Output.Show( "第三" & Ports("COM6").ReadTo("=")) \'这一步没有任何值

Dim cnt As Integer = Ports("COM6").BytesToRead 

If cnt > 0 Then \'缓冲区是否有数据

    Dim Val(cnt - 1) As Byte

    Ports("COM6").Read(val,0,cnt)

    Output.Show( "第四" & Ports("COM6").Read(val,0,cnt)) \'这一步只有一个 1

End If


Output.Show( "第五" & Ports("COM6").ReadByte()) \'返回值是 48


我要如何才能获取到标红的值并且倒转?=20.6000=47.5000=47.5...应为6.02

0=06.6000=65.6000=22.0000...应为6.60


--  作者:有点蓝
--  发布时间:2022/3/15 22:43:00
--  
"第一"的ReadExisting()已经把数据读完了,后面再读还有啥呀。

直接就按照字节的方式读取,看获取到什么。

--  作者:zto001
--  发布时间:2022/3/16 22:25:00
--  
一个一个来还是一样的,该超时还是超时,返回不是想要的数据还是不是想要的数据
--  作者:zto001
--  发布时间:2022/3/16 22:26:00
--  
Output.Show( "第一" & Ports("COM6").ReadExisting())  \'多个重量 =20.6000=47.5000=47.5000=27.5000=85.5000=86.1000=24.0000=80.4000=60.5000=89.6000=27.6000
这个东西返回的值他为什么不能像正常的字符串进行解析?