下面是上海耀华汽车称的说明文件,我现在想用VB将称重数据取出来。但一直没有取出。请高人指点。不胜感激。QQ:280063701
第一章 技术参数
1. 型号       XK3190-A9 称重显示器
2. 模拟部分
转换原理  双积分式A/D
输入信号范围  0 ~ 18mV
最大净输入信号  18mV
转换速度  10~15 次/秒
A/D 转换分辨码  50 万码
非线性  < 0.01%F.S
满量程温度系数  8PPM/℃
标定  全部采用键盘操作完成
供桥电源  DC,8V,可连接6 个350Ω的传感器或12 个700Ω的传感器
传感器的连接方式  采用6 线式,长线自动补偿
3. 显示  7位LED,字高0.56 英寸,7 个状态指示符,3 个电量指示符
显示周期  100ms
分度值  1/2/5/10/20/50/100 可选
4. 时钟  可显示年/月/日、时/分/秒,自动闰年、闰月。
精度 + 5s/24h,不受断电影响。
5. 键盘
数字键 0~9
功能键  15 个(其中10 个与数字键复合使用)
键材料  轻触式薄膜开关
6. 大屏幕显示器接口  串行输出方式
传输方式  电流环 / RS232 信号
传输的数据格式 11 位
波特率  600
传输距离 ≤30 米
7. 串行通讯接口
传输方式  RS232C
波特率  波特率可选600/1200/2400/4800/9600
传输的数据格式  10 位:1 位起始位、8位数据位(ASCⅡ编码)、1位停止位
传输距离  ≤30 米
8. 打印接口  标准并行输出接口
可配TpuP16 微型打印机、TM800、KX-P1121、LQ1600K 宽行打印机
9. 数据贮存  可贮存255 个车号和皮重、100 个货号、205 组称重记录
10. 使用电源
交流电源  AC 180 -- 240V 49Hz -- 51Hz
直流电源  采用CP7-12 蓄电池供电(12V,外接)
蓄电池使用时间  约20 小时(充足电后使用)
蓄电池充电时间  约30 小时
交流保险丝  500mA
直流保险丝  1.5A
11. 使用环境
使用温度  0℃ -- 40℃
储运温度  -25℃ -- 55℃
相对湿度  ≤85%RH
预热时间  15 分钟
12. 外形  310×195×186 (mm)
自重  约2.5 公斤二、传感器与仪表的连接
1、传感器的连接采用9 芯插头座。 图2-3 标注了各引脚的意义。
2、如果使用四芯屏蔽电缆必须将+E 与+S、-E 与-S 短接。
3、▲!传感器与仪表的联接必须可靠,传感器的屏蔽线必须可靠接地。联接线不允许在
仪表通电的状态下进行插拔,防止静电损坏仪表或传感器。
4、▲ !传感器和仪表都是静电敏感设备, 在使用中必须切实采取防静电措施,严禁在秤台上进行电焊操作或其他强电操作,在雷雨季节,必须落实可靠的避雷措施,防止因雷击造成传感器和仪表的损坏,确保操作人员的人身安全和称重设备及相关设备的安全运行。
 
三. 打印机与仪表的连接
打印机接口采用标准的并行输出, 接插件采用25 芯RS232 插头座, 其各引脚的定义
 
2. 打印须知:
▲!打印功能必须在设置后,方可投入正常使用。
▲!仪表打印端口输出引线与打印机联接必须准确无误,须使用专用的打印联接线。倘若联接错误,将损坏仪表输出端口或打印机输入端口,甚至损坏仪表和打印机。
▲!在使用打印机时,必须先将联接线准确联接,再接通仪表电源,最后开启打印机电源;结束使用时,必须先关闭打印机电源,再切断仪表电源,最后取下联接线。倘若顺序颠倒,可能损坏仪表和打印机。敬请注意!再注意!!
▲ !由于打印机品种繁多,性能不完全相同,与仪表兼容性不一,敬请选用推荐型号的打印机。X K 3 1 9 0 – A 9
▲!打印机的信号地严禁与电源地联接!否则将损坏仪表和打印机。
四. 大屏幕与仪表的连接使用
▲ !仪表大屏幕输出引线与大屏幕显示器联接必须准确无误,倘若联接错误,将损坏仪表输出端口或损坏大屏幕显示器输入端口,甚至可能严重损坏仪表和大屏幕显示器,要求使用配套的专用联接线。
1. 大屏幕显示接口采用15 芯RS232 插头座( 与串行通讯口共用一只插座 ) , 其引脚意义见下图
 
图串行通讯和大屏幕显示输出接口信号(机壳背视图)
2 . 大屏幕信号为电流环或RS232 信号,以二进制码串行输出,波特率为600 。每一帧数据有11 个位,1 个起始位(0)、8 个数据位(低位在前 )、1 个标志位、1 个停止位(1)。
3. 每隔100ms 发送一组数据,每组数据包含3 帧数据, 其意义见图(2-6)。
 
X K 3 1 9 0 – A 9
 
第一帧数据:标志位为0                  图第三帧波形图
X : D0、D1、D2 -- 为小数点位置( 0~4 )
Y : D3 — 为重量符号( 1-负、0-正 )
D4 — 备用
G 18~G16:为重量数据
第二帧数据:标志位为0
G15~G8: 为重量数据
第三帧数据:标志位为1
G7~G0 : 为重量数据
G0~G18: 由低到高构成重量(净重)的19 位二进制码
五. 串行通讯接口与仪表的联接和使用
▲!通讯接口输出引线与计算机联接必须准确无误,倘若联接错误,将损坏仪表输出端口或计算机通讯输入端口,甚至严重损坏仪表和计算机及相应的外部设备。
▲!进行计算机通讯须具备必要的计算机技术和程序编制能力,须由专业技术人员参与或指导。非专业人员请不要随意联接。
XK3190-A9 仪表具有RS232 串行通讯接口,可与计算机进行通讯。
1. 通讯接口采用15 芯插头座(与大屏幕共用),其引脚定义见图2--5 中6、7、8 脚。
2. 通讯接口采用RS232C,所有数据均为ASCII 码,每组数据有10 位组成,第1 位为起始位,第10位为停止位,中间8 位为数据位。通讯方式分为:
(1). 连续方式:
所传送的数据为仪表显示的当前称量(毛重或净重)。每帧数据由12 组数据组成 。格式如下:
第X 字节 内 容 及 注 解
1 02(XON) 开始
2 +或- 符号位
3 称量数据 高位
: 称量数据 :
: 称量数据 :
8 称量数据 低位
9 小数点位数 从右到左(0~4)
10 异或校验 高四位
11 异或校验 低四位
12 03(X0FF) 结束
异或=2⊕3⊕……8⊕9
X K 3 1 9 0 – A 9
(2). 指令方式:
仪表按上位机所发送的指令,输出相应的数据,上位机每发一次指令,仪表就相应
地输出一帧数据。上位机发送指令:
第X 字节 内 容 及 注 解
1 02(XON) 开始
2 A~Z 地址编号
3 A~E 命令A:握手
命令B:读毛重
命令C:读皮重
命令D:读净重
4 异或校验 高四位
5 异或校验 低四位
6 03(X0FF) 结束异或=2⊕3
仪表输出内容:
第X 字节 内 容 及 注 解
1 02(XON) 开始
2 A~Z 地址编号
3 A~E 命令A:握手
命令B:送毛重
命令C:送皮重
命令D:送净重
4 按命令内容输出相应数据
: 按命令内容输出相应数据
n-1 按命令内容输出相应数据
n 按命令内容输出相应数据
n+1 异或校验 高四位
n+2 异或校验 低四位
n+3 03(X0FF) 结束
异或=2⊕3⊕……( n-1 ) ⊕n
仪表输出时4~n 的内容如下:
命令A 无数据 每帧由6 组数据组成
命令B 为毛重,格式: 每帧由14 组数据组成 a: 符号(+或-)
b: 毛重值 ( 6 位)
: (自高到低)
g
h: 小数点从右到左( 0~4)
 X K 3 1 9 0 – A 9
命令C 为皮重,格式: 每帧由14 组数据组成 a: 符号(+或-)
b: 皮重值 ( 6 位)
: (自高到低) 
g
h: 小数点从右到左( 0~4)
命令D 为净重,格式: 每帧由14 组数据组成 a: 符号(+或-)
b: 净重值 ( 6 位 )
: (自高到低) 
g
h: 小数点从右到左( 0~4) 注1:异或校验高、低4 位的确定:异或和高、低4 位如果小于、等于9,则加上30h,成为
ASCII 码数字发送,例如:异或校验高4 位为6,加30h 后,为36h 即ASCII 码的6 发送;异或和高、低4 位如果大于9,则加上37h,成为ASCII 码字母发送,例如:异或校验高4 位为B,加37h 后,为42h 即ASCII 码的B 发送。

解决方案 »

  1.   

    1. 大屏幕显示接口采用15 芯RS232 插头座( 与串行通讯口共用一只插座 ) , 其引脚意义见下图 图串行通讯和大屏幕显示输出接口信号(机壳背视图) 
    2 . 大屏幕信号为电流环或RS232 信号,以二进制码串行输出,波特率为600 。每一帧数据有11 个位,1 个起始位(0)、8 个数据位(低位在前 )、1 个标志位、1 个停止位(1)。 
    3. 每隔100ms 发送一组数据,每组数据包含3 帧数据, 其意义见图(2-6)。 X K 3 1 9 0 – A 9 第一帧数据:标志位为0                  图第三帧波形图 
    X : D0、D1、D2 -- 为小数点位置( 0~4 ) 
    Y : D3 — 为重量符号( 1-负、0-正 ) 
    D4 — 备用 
    G 18~G16:为重量数据 
    第二帧数据:标志位为0 
    G15~G8: 为重量数据 
    第三帧数据:标志位为1 
    G7~G0 : 为重量数据 
    G0~G18: 由低到高构成重量(净重)的19 位二进制码 LZ:以上叙述有含糊处
    1)1 个标志位?
    2)却相关图
    3)3 帧数据,每帧数据字节长度?
      

  2.   

    LZ:
    XK3190-A9 仪表具有RS232 串行通讯接口,可与计算机进行通讯。 
    1. 通讯接口采用15 芯插头座(与大屏幕共用),其引脚定义见图2--5 中6、7、8 脚。 
    2. 通讯接口采用RS232C,所有数据均为ASCII 码,每组数据有10 位组成,第1 位为起始位,第10位为停止位,中间8 位为数据位。通讯方式分为: 
    (1). 连续方式: 
    所传送的数据为仪表显示的当前称量(毛重或净重)。每帧数据由12 组数据组成 。格式如下: 
    第X 字节 内 容 及 注 解 
    1 02(XON) 开始 
    2 +或- 符号位 
    3 称量数据 高位 
    : 称量数据 : 
    : 称量数据 : 
    8 称量数据 低位 
    9 小数点位数 从右到左(0~4) 
    10 异或校验 高四位 
    11 异或校验 低四位 
    12 03(X0FF) 结束 
    异或=2⊕3⊕……8⊕9 

    按上述你给出的叙述,可运用MSCOMM控件通过RS232口与采用15 芯插头座(与大屏幕共用)通讯接口按确定的连接方式连接。应该可连续获取为仪表显示的当前称量(毛重或净重)。
    重要的是:
    ▲!通讯接口输出引线与计算机联接必须准确无误,倘若联接错误,将损坏仪表输出端口或计算机通讯输入端口,甚至严重损坏仪表和计算机及相应的外部设备。 
    ▲!进行计算机通讯须具备必要的计算机技术和程序编制能力,须由专业技术人员参与或指导。非专业人员请不要随意联接。
      

  3.   

    http://www.qqgb.com/Program/VB/VBJQ/Program_200194.html
    以上连接是专门讨论用VB解决“急求!一台XK3190-A9地称仪表,怎么样将数据读进TEXT控件中?”
      

  4.   

    接上回复,貌似上述连接的代码我在本论坛贴出过。
    找到了连接:
    http://topic.csdn.net/u/20080617/22/0a51e5e3-9ddb-4662-b3c6-88edb78f7792.html
    以上供LZ参考。
      

  5.   

    这是其他某公司(http://www.gandg.com.cn/xgrj.htm)的称的方法,Private Sub Command6_Click()
    If MSComm1.PortOpen = False Then
                MSComm1.PortOpen = True
            End If
    MSComm1.Output = Chr$(27) + "p"
     Do
            DoEvents       Loop Until MSComm1.InBufferCount >= 13
    a = MSComm1.Input
    Label1.Caption = Mid(a, 1, 9)
    Label2.Caption = Mid(a, 10, 3)End Sub你试试,看看瞎猫能不能撞到耗子
      

  6.   

    把在http://topic.csdn.net/u/20080617/22/0a51e5e3-9ddb-4662-b3c6-88edb78f7792.html
    的代码整合如下:Option Explicit
        Dim strData As String
    Private Sub Form_Load()
        MSComm1.Settings = "1200,N,8,1"
        MSComm1.RThreshold = 1
        MSComm1.InputMode = comInputModeText
        MSComm1.PortOpen = True
    End SubPrivate Sub Form_Load()
        MSComm1.Settings = "1200,N,8,1"
        MSComm1.RThreshold = 1
        MSComm1.InputMode = comInputModeText
        MSComm1.PortOpen = True
    End SubPrivate Sub mscomm1_OnComm()
        Dim strRe As String
        Select Case Me.MSComm1.CommEvent
            Case comEvReceive
                strRe = Me.MSComm1.Input
                strData = strData & strRe
                Dim xsws As Integer
                Dim fh As String
                '未考虑第10及11字节异或校验
                If Mid(strData, 1, 1) = Chr(2) And Mid(strData, 12, 1) = Chr(3) Then '数据判断
                    '请加异或校验代码
                    fh = Mid(strData, 2, 1)
                    xsws = Val(Mid(strData, 9, 1)) '取小数位数
                    Text1 = Val(Mid(strData, 3, 6)) / (10 ^ xsws) '输出到文本框
                    Open "c:\sj.txt" For Append As #1
                        Print #1, Date$, Time$, fh & Text1
                    Close
                    strData = ""
                End If
        End Select
    End Sub
      

  7.   

    接称的地和数据发送2个脚到com口的地和接收,并设置连续发送
    程序里直接用comm,只不过要稍微处理一下接收的数据
      

  8.   

    看过你在http://topic.csdn.net/u/20080619/14/ecbff06d-743e-496a-8aa5-86234f3b147e.html贴出的代码,感觉存在问题。
    建议你仔细检查你的通信连接线接法是否正确。
    我在前面贴的代码是基于连续方式方式获取数据的。
      

  9.   

    上海耀华产XK3190-D2 ,通讯协议是不是指“连续发送”和 "指令发送"?
    在“连续发送”方式下,磅秤上没有重量时,有数据吗,谁知道说一下,谢了!