Foxtable(狐表)用户栏目专家坐堂 → [求助] 菜鸟求称重串口接收代码


  共有10647人关注过本帖树形打印复制链接

主题:[求助] 菜鸟求称重串口接收代码

帅哥哟,离线,有人找我吗?
lsf5138
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:242 积分:2235 威望:0 精华:0 注册:2011/8/16 22:33:00
[求助] 菜鸟求称重串口接收代码  发帖心情 Post By:2013/2/25 10:07:00 [显示全部帖子]


只要能在项目窗口的重量输入框自动取电子称的重量值就可以!
[此贴子已经被作者于2013-3-1 10:23:25编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lsf5138
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:242 积分:2235 威望:0 精华:0 注册:2011/8/16 22:33:00
  发帖心情 Post By:2013/3/1 8:35:00 [显示全部帖子]

我用 (青苹果称重管理软件标准版) 电子称仪表采用:上海彩信XK315A系列2反序  测试正常

台称技术参数:

串行通讯接口RS— 232 连续发送,波特率 2400

通讯数据格式(RS-232C 输出)

通信地址Adr = 00 , 连续发送格式, 先低后高, 发送格式为
=,X1,X2,X3,X4,X5,X6,=,发送的X1,X2,X3,X4,X5,X6 为显示数据,= 为分隔符。
例如显示重量:100.00kg, 则发送格式为= 00.001 =00.001=

在论坛找了这个代码用起来又没反映:(摘不懂求帮助)

DataReceived事件在串口接收到数据的时候触发。

With Ports("COM1")
    Dim cnt As Integer = .BytesToRead
    If cnt >= 17 Then '缓冲区是否有数据
        Dim Val(cnt - 1) As Byte
       .Read(val,0,cnt)
      Dim ss As String = BitConverter.ToString(val)
      ss = ss.Replace("-","")
      ss = ss.Trim("")
      Dim k As Integer
      Dim s(cnt - 1) As String
      For j As Integer = 0 To cnt - 1
          k = j * 2
          s(j) = ss.substring(k,2)
      Next
       For i As Integer = 0 To cnt -2
           Dim st As String = s(i) & s(i+1) 
           If st = "FFAA" Then  
              If  (12+i) <= cnt -1 Then          
                 If  s(12+i) = "00"  Then
                     forms("电子称重").controls("textbox1").value = HexToDec(s(i+8) & s(i+9) & s(i+10) & s(i+11))/100
                 End If   
              End If  
           End If  
       Next
     End If
End With

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:电子称重_201302282309.zip

[此贴子已经被作者于2013-3-1 10:22:52编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lsf5138
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:242 积分:2235 威望:0 精华:0 注册:2011/8/16 22:33:00
  发帖心情 Post By:2013/3/1 8:52:00 [显示全部帖子]

改用这个代码测试,窗口文本框可以接收到信号,但不是显示数据,可能还要换算?
Forms("电子称重").Controls("textbox1").value  = e.Port.ReadExisting()
[此贴子已经被作者于2013-3-1 10:26:52编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lsf5138
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:242 积分:2235 威望:0 精华:0 注册:2011/8/16 22:33:00
  发帖心情 Post By:2013/3/1 8:56:00 [显示全部帖子]

baoxyang兄看到此贴帮下忙好吗

 回到顶部
帅哥哟,离线,有人找我吗?
lsf5138
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:242 积分:2235 威望:0 精华:0 注册:2011/8/16 22:33:00
  发帖心情 Post By:2013/3/1 10:53:00 [显示全部帖子]

在论坛里找了句 baoxyang 的发言
 Post By:2012-10-24 10:22:00 [只看该作者

因为时间长了,有点不是太清楚哦.需要看接口说明,接口读取字节有效长度进行分析,电子称重时稳定时(也就是电子显示屏的重量),会发出一个状态符,以这个来读取有效称重。读取字节数进行分析提取数据。


我可能只是接收到电子称的状态符,但不知道要如何对读取的字节数进行分析再提取数据!

[此贴子已经被作者于2013-3-1 10:54:14编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lsf5138
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:242 积分:2235 威望:0 精华:0 注册:2011/8/16 22:33:00
  发帖心情 Post By:2013/3/2 12:58:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:634239596569218750.zip

我上传台称说明书,帮忙看下还要什么资料吗?我再去找下。。。。
Forms("电子称重").Controls("textbox1").value  = e.Port.ReadExisting() 
上面的代码只能收到电子称信号(一些看不懂的字符),可能还要进行分析换算,谁能帮忙完整下代码好吗?
[此贴子已经被作者于2013-3-2 13:19:32编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lsf5138
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:242 积分:2235 威望:0 精华:0 注册:2011/8/16 22:33:00
  发帖心情 Post By:2013/3/2 15:22:00 [显示全部帖子]

波特率 2400 通信地址Adr = 00 ,
 连续发送格式, 先低后高, 发送格式为 =,X1,X2,X3,X4,X5,X6,=,发送的X1,X2,X3,X4,X5,X6 为显示数据,= 为分隔符。
例如显示重量:100.00kg, 则发送格式为= 00.001 =00.001=

有知道对这些格式字符进行分析解码的吗?

 回到顶部
帅哥哟,离线,有人找我吗?
lsf5138
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:242 积分:2235 威望:0 精华:0 注册:2011/8/16 22:33:00
  发帖心情 Post By:2013/3/2 15:51:00 [显示全部帖子]

9楼有上传了台称的说明书参数,帮忙看下好吗,这个模块卡了好几天了

 回到顶部
帅哥哟,离线,有人找我吗?
lsf5138
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:242 积分:2235 威望:0 精华:0 注册:2011/8/16 22:33:00
  发帖心情 Post By:2013/3/2 16:39:00 [显示全部帖子]

这个网上刚找到的,不知有没用?,我的台称波特率是2400!

关于彩信仪表RS232接口内部通讯的说明

1、表上15芯插头的第7脚(信号TXD)和第8脚(接地GND)

分别对应计算机9芯插孔的第2脚(TXD接计算机RXD)和第5脚;

2、传送数据为“1200“波特率/

   传送格式为每个数11位:

        一位起始位

        八位起始位

        一位奇偶校验位(不用)

        一位停止位

3、传送数据ASCII码,发送方式为连续发送,分隔符为“=”,有小数点是每组发送

      例:仪表显示“0.123

          发送的数据为=33 32 31 2E 30 30 30=33…….

          表示 “=3 2 1 . 0 0 0=3…..”

          有小数点时发送8,无小数点时发送7,发送时低位数在前,高位数在后.


 回到顶部
帅哥哟,离线,有人找我吗?
lsf5138
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:242 积分:2235 威望:0 精华:0 注册:2011/8/16 22:33:00
  发帖心情 Post By:2013/3/2 18:13:00 [显示全部帖子]

baoxyang 总算出现了,非常感谢 baoxyang  大师的认真指点。下班后马上测试去。。。。。。。
也思望狐表的帮助里能加一些这方面的教程/案例 让类似我这种有工厂管理经验又不懂编码的狐表爱好者多些参考。。。。。。
图片点击可在新窗口打开查看

 回到顶部
总数 14 1 2 下一页