C
csgcsw
Unregistered / Unconfirmed
GUEST, unregistred user!
我需要做一个串口通讯的程序,由于以前没有做过这方面的程序,现在有几个问题向各位请教(我使用的是spcomm控件):
1.下面的附件是客户给我的通讯协议(其它的客户也不知道了),可是我有些不是很明白,哪位能帮我解释一下(或者帮我猜测一下):
(1) 其中数据格式说明中A是每一桢中数据的每一个字节的说明吗?
(2) 对spcomm控件来说,rs485和rs232在编程方面有什么差别吗?
(3) 如果还需要用户提供信息,还需要哪些数据?
(4) 求和低位、求和高位又是什么东东?
2.哪位能不能帮我写一下发送数据的代码?即Tcomm.writecommdata里面的内容怎么写?例如“上位机检测下位机的状态”,发送的代码怎么写?
附:KB30D/LCD与上位机的通信协议
(下述的下位机即指kb300D/LCD仪器,上位机指电脑)
数据格式
A 起始位 Bito Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 结束位
第一位起始位为“0”,后面8位数据位
Bit0 ~Bit7最后一位是结束位为“1”
B 通信速率 4800bit/s
C 通信方式 RS-485
一.上位机发给下位机每帧共12个字节
格式: 起始码 识别码 命令码 地址码 数据1 数据2 数据3 数据4
数据5 数据6 求和低位 求和高位
1.上位机检测下位机的状态:识别码0BBH,命令为0F0H
格式:55 BB 命令 机地址 04 01 08 08 08 08 求和低位 求和高位
2.上位机对下位机发操作命令:识别码0BBH
自动40,手动41,联络42,停止D0,复位D1,运行DD,识别码BB
格式:55 BB 命令 机地址 00 00 00 00 00 00 求和低位 求和高位
3.下载工艺:识别码0BBH,命令80H
格式:55 BB 命令 机地址 ****** 求和低位 求和高位
“******”含义为:工艺号 步号 目标温度 温度小数 升温率,保温时间
4.调出待运行工艺:识别码01H,命令0D2H
格式:55 01 命令 机地址 工艺号 步号 00 00 00 00 求和低位 求和高位
5.运行调出工艺:识别码01H,命令0DDH
格式:55 01 命令 机地址 工艺号 步号 00 00 00 00 求和低位 求和高位
6.上载工艺:识别码0BBH,命令0F1H
格式:55 BB 命令 机地址 工艺号 步号 00 00 00 00 求和低位 求和高位
二.上位机接收实时数据每帧共23个字节:
格式:00 集控命令 机地址 0F0H/0F1H Rd Rc Rb CPU 工艺号 步号 目标温度 温度小数 升温率 保温时间 实时温度 实时温度小数 主缸水位 料桶水位 压力 步运行时间 求和高位 求和低位 结束码(0CF)
集控命令:自动40H,手动41H,联络42H
Rd7~Rd0:运行 排冷 缸锁 放水2 平衡 溢流 主泵 料泵
Rc7~Rc0:* * 反转 正转 冷却 加热 * *
Rb7~Rb0:卸压 进水2 直加 进水1 呼叫 * * 放水1
CPU7~CPU0:* 保温 * * * * * *
F0H/F1H:0F0为上传实时数据,0F1为上传工艺。
结束码:0CFH
当CPU or Rd为0H时,程序运行结束,曲线自动存盘;
1.下面的附件是客户给我的通讯协议(其它的客户也不知道了),可是我有些不是很明白,哪位能帮我解释一下(或者帮我猜测一下):
(1) 其中数据格式说明中A是每一桢中数据的每一个字节的说明吗?
(2) 对spcomm控件来说,rs485和rs232在编程方面有什么差别吗?
(3) 如果还需要用户提供信息,还需要哪些数据?
(4) 求和低位、求和高位又是什么东东?
2.哪位能不能帮我写一下发送数据的代码?即Tcomm.writecommdata里面的内容怎么写?例如“上位机检测下位机的状态”,发送的代码怎么写?
附:KB30D/LCD与上位机的通信协议
(下述的下位机即指kb300D/LCD仪器,上位机指电脑)
数据格式
A 起始位 Bito Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 结束位
第一位起始位为“0”,后面8位数据位
Bit0 ~Bit7最后一位是结束位为“1”
B 通信速率 4800bit/s
C 通信方式 RS-485
一.上位机发给下位机每帧共12个字节
格式: 起始码 识别码 命令码 地址码 数据1 数据2 数据3 数据4
数据5 数据6 求和低位 求和高位
1.上位机检测下位机的状态:识别码0BBH,命令为0F0H
格式:55 BB 命令 机地址 04 01 08 08 08 08 求和低位 求和高位
2.上位机对下位机发操作命令:识别码0BBH
自动40,手动41,联络42,停止D0,复位D1,运行DD,识别码BB
格式:55 BB 命令 机地址 00 00 00 00 00 00 求和低位 求和高位
3.下载工艺:识别码0BBH,命令80H
格式:55 BB 命令 机地址 ****** 求和低位 求和高位
“******”含义为:工艺号 步号 目标温度 温度小数 升温率,保温时间
4.调出待运行工艺:识别码01H,命令0D2H
格式:55 01 命令 机地址 工艺号 步号 00 00 00 00 求和低位 求和高位
5.运行调出工艺:识别码01H,命令0DDH
格式:55 01 命令 机地址 工艺号 步号 00 00 00 00 求和低位 求和高位
6.上载工艺:识别码0BBH,命令0F1H
格式:55 BB 命令 机地址 工艺号 步号 00 00 00 00 求和低位 求和高位
二.上位机接收实时数据每帧共23个字节:
格式:00 集控命令 机地址 0F0H/0F1H Rd Rc Rb CPU 工艺号 步号 目标温度 温度小数 升温率 保温时间 实时温度 实时温度小数 主缸水位 料桶水位 压力 步运行时间 求和高位 求和低位 结束码(0CF)
集控命令:自动40H,手动41H,联络42H
Rd7~Rd0:运行 排冷 缸锁 放水2 平衡 溢流 主泵 料泵
Rc7~Rc0:* * 反转 正转 冷却 加热 * *
Rb7~Rb0:卸压 进水2 直加 进水1 呼叫 * * 放水1
CPU7~CPU0:* 保温 * * * * * *
F0H/F1H:0F0为上传实时数据,0F1为上传工艺。
结束码:0CFH
当CPU or Rd为0H时,程序运行结束,曲线自动存盘;