您的位置:程序门 -> vb -> 控件



mscomm很急的问题?老板要开除我啦,急急急........


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


mscomm很急的问题?老板要开除我啦,急急急........
发表于:2007-08-03 16:07:23 楼主
连续发送方式1(f1.3=0):
技术参数: 波特率:   b=1200/s,2400/s,4800/s,9600/s可选。
起始位:   1位。 数据位:   7位。 停止位:   2位。 奇偶校验方式:   偶校验。
数据格式:

1   2         3     4       5       6       7       8       9       10             11       12   13   14   15   16               17   18
                                显   示   的   重   量   值                           皮     重     值
s   状     状     状     m                                         l             m                                   l               c     检
t   态     态     态                                              
x   字     字     字     s                                         s             s                                   s                     查
    节     节     节                                                                                                     r
    a       b       c       d                                         d             d                                   d                     和

注:stx=02h(文本起始码); cr=0dh(回车码);
显示的重量值和皮重值均为6位有效数字。
检查和是对包括stx和cr在内的全部字符的低7位求和,将和数的低7位对2的补码作为检查和的低7位,检查和的第8位是其低7位的偶校验位。
状态字节a定义:
d2、d1、d0———   小数点位置
          d2                 d1                 d0 小数点位置
            0                   1                     0 x(无小数)
            0                   1                     1 .x(1位小数)
            1                   0                     0   .xx(2位小数)
            1                   0                     1   .xxx(3位小数)
            1                   1                     0 .xxxx(4位小数)
d3   =   1; d4   =   0; d5   =   1; d6   =   0; d7为偶校验位。
状态字节b定义:
d0   =   0;                 d1   =   0   为正重量; d1   =   1   为负重量。
d2   =   0   正常; d2   =   1   超载。               d3   =   0   称量稳定; d3   =   1   称量未稳。
d4   =   1;                 d5   =   1;                         d6   =   0   称重;           d6   =   1   加电自检。
d7为偶校验位。
状态字节c忽略。
(b)连续发送方式2(f1.3=1):
技术参数: 波特率:   b=1200/s,2400/s,4800/s,9600/s可选。
起始位:   1位。 数据位:   8位。 停止位:   2位。
数据格式:0ffh(起始位),mark,w1,w2,w3
其中:mark为状态位,d0~d2   ——   小数点位置(0~4)
d3——   nc ; d4=0——秤量未稳,d4=1——   称量已稳;
d5=0——重量为正,d5=1——   重量为负;
d6——   nc; d7——   nc
w3,w2,w1为从高到低的重量值bcd码
发表于:2007-08-03 16:11:141楼 得分:0
我也碰到个读秤的活,不会~~友情支持一下~~
发表于:2007-08-04 11:26:222楼 得分:0
连续发送方式1(f1.3=0)
接收数据为ascii字符,接收字节长18,mscomm控件主要属性设置:
        mscomm1.settings   =   "9600,e,7,2 "
        mscomm1.rthreshold   =   18
        mscomm1.inputmode   =   cominputmodetext
检查和复核由接收代码处理接收和判别

连续发送方式2(f1.3=1):
接收数据为byte类型,接收字节长4,mscomm控件主要属性设置:
        mscomm1.settings   =   "9600,n,8,2 "
        mscomm1.rthreshold   =   4
        mscomm1.inputmode   =   cominputmodebinary
mark,w1,w2,w3
在接收代码中按二进制方式接收,然后处理为16进制的字符形式
将前2字长16进制处理成二进制字符形式,按位读取0或1值取出状态值
将后6字长的16进制由w1,w2,w3处理成w3,w2,w1,然后按ascii字符直接处理为bcd码数值。
关于bcd码请参阅:
http://iask.sina.com.cn/b/8576002.html
的答复。
发表于:2007-08-04 16:04:573楼 得分:0
...........都没有明白你在哪里卡住了

这个问题貌似是一个体力活,技术所占成份不像有多大啊


快速检索

最新资讯
热门点击