发表于:2007-12-04 15:18:00
楼主
最近新接触到一家仪表公司的仪表,通讯格式与以前接触到的差别较大,现
要用K120S读取其显示值,不知如何下手,望高手指点一二。
附说明资料如下:
六、串行输出接口说明
6.1 讯号形式
波 特 率 :2400、4800、9600、19200、38400、57600
起 始 位 :1位(0) 数 据 位 :7位
校 验 位 :1(偶校验) 停 止 位 :1位(1)
编码标准 :ASCⅡ码
6.2 传送形式
传送输出分为连续式和指令式2种,可由按键进行设定。
● 连续式输出:此种方式下,资料会自动不断地输出而不需输入指令。
● 指令式输出:此种方式下,仪表只有在收到读数指令后,资料才会输出。
输入读数指令格式为:
1 2 3 4
字符R 仪表编号 结束位<CR> =0DH
举例说明:如要读入仪表编号为01的读数指令为:(ASCⅡ码)
R 0 1 结束位<CR>
对应十六进制数为:
52 30 31 0D
6. 3 力值数据资料输出格式
6. 3. 1 当仪表设定为输出实时值或峰值时,输出力值数据的资料格式为:
1 2 3 4 5 6 7 8 9 10 11 12
说明:1 开始位<STX>(=02H)
2、3 为显示仪编号 00~99
4 为状态位,指输出资料的状态
其中M=峰值,J=实时值,H=超载,A=信号接反,E=仪表出错,N=其它非力值数据(在状态位=H、A、E、N时,第5位为结束位<CR> =0DH)
5 为力值数据的符号( 或 )
6~11 五位力值数据和一位小数点(第6位为最高位)
12 结束位<CR> =0DH
举例说明:
当仪表设定为输出实时值时,假设编号为01,实时力值数据为+268.5,则输出资料为(ASCⅡ码):
起始位 0 1 J + 0 2 6 8 . 5 结束位
对应十六进制数为:
02 30 31 4A 2B 30 32 36 38 2E 35 0D