发表于:2003/8/2 22:26:00
#0楼
因初次编写串口通信软件,想编写北京金立石8路巡检仪信号检测程序(协议见下,对不起,叫您浪费时间了!)可我用DELPHI编写,怎么也不成功。请教行家帮助,赐以小小的源程序。谢谢!
XL3系列巡检仪表与计算机的通讯接口
通信协议:
为了在一个通信接口上连接多台仪表,需要给每台XL3仪表分配一个互不相同的地址,仪表的地址由参数Addr决定。XL3仪表有效地址为0 - 63,所以一条通信线路上最多可连接64台XL3仪表。
通信协议规定,上位机向仪表发送的地址为两个字节,其数据范围(16进制数)是80H-BFH,两个字节必须相同,数值为(仪表地址+80H)。
例如,对10号仪表,仪表参数Add=10(16进制数为0AH,0AH+80H=8AH),则该仪表的地址表示为:8AH 8AH。仪表接收正确后,回送数据信包。数据信包格式如下。
LB HB DP …… LB HB DP SLB SHB SJB JYB
低 高 小 低 高 小 下限 上限 输入 异或
字 字 数 字 字 数 报警 报警 超出 校验和
节 节 点 节 节 点 状态 状态 量程 字节
位 位 字节 字节 报警
第一点 最末点 字节
[注]数据信包只有八点、十六点和三十二点三种格式,这三种以外规格的仪表,其通信格式向上靠拢。比如,十二点巡检仪表,其通信格式使用十六点仪表的格式,没有的测点,其数据全部补零。
[注]在八点格式的信包中,报警状态字为字节;在十六点格式的信包中,报警状态字为字,低字节在前;在三十二点格式的信包中,报警状态字无意义,相应位置的八个字节为0/1/2/3/4/5/6/7。
XL3系列巡检仪表与计算机的通讯接口
通信协议:
为了在一个通信接口上连接多台仪表,需要给每台XL3仪表分配一个互不相同的地址,仪表的地址由参数Addr决定。XL3仪表有效地址为0 - 63,所以一条通信线路上最多可连接64台XL3仪表。
通信协议规定,上位机向仪表发送的地址为两个字节,其数据范围(16进制数)是80H-BFH,两个字节必须相同,数值为(仪表地址+80H)。
例如,对10号仪表,仪表参数Add=10(16进制数为0AH,0AH+80H=8AH),则该仪表的地址表示为:8AH 8AH。仪表接收正确后,回送数据信包。数据信包格式如下。
LB HB DP …… LB HB DP SLB SHB SJB JYB
低 高 小 低 高 小 下限 上限 输入 异或
字 字 数 字 字 数 报警 报警 超出 校验和
节 节 点 节 节 点 状态 状态 量程 字节
位 位 字节 字节 报警
第一点 最末点 字节
[注]数据信包只有八点、十六点和三十二点三种格式,这三种以外规格的仪表,其通信格式向上靠拢。比如,十二点巡检仪表,其通信格式使用十六点仪表的格式,没有的测点,其数据全部补零。
[注]在八点格式的信包中,报警状态字为字节;在十六点格式的信包中,报警状态字为字,低字节在前;在三十二点格式的信包中,报警状态字无意义,相应位置的八个字节为0/1/2/3/4/5/6/7。