发布于 2007-12-12 21:35:27
0楼
看了些帖子知道是用FC94就是ATH转换的,FC95就是HTA转化的.
可我用FC94转换过来的不对啊?
用串口接收结果正确,详细如下:
用CP340与一单片机通讯,单片机处理一称重传感器模拟信号(以前直接用模拟量信号不稳定,改用单片机)
PLC发@#08HSOK01&%给单片机,单片机就发会采集量
首先我把上述ASCII码用16进制数发给单片机,检验正常:
A I 0.0
= L 20.0
BLD 103
CALL "P_SEND" , "DB_P_SEND"
REQ :=L20.0
R :=
LADDR :=304
DB_NO :=42
DBB_NO:=0
LEN :=24
DONE :=
ERROR :=
STATUS:=
NOP 0
对方收到后转回:
AN M 18.4
= L 20.0
BLD 103
CALL "P_RCV" , "DB_P_RCV"
EN_R :=L20.0
R :=
LADDR :=304
DB_NO :=43
DBB_NO:=0
NDR :=
ERROR :=
LEN :=
STATUS:=
NOP 0
这个DB43内放的应该是返回的ACSII码@#13AD01XXXXX&%,再进行16进制转换
CALL "ATH"
IN :=DB43.DBX0.0
N :=W#16#F
RET_VAL:=MW64
OUT :=DB41.DBX0.0
NOP 0
DB41内应当是@#13AD01XXXXX&%的16进制数吧?但监控不是,而且还不正常,而是0013AD010000000
就是没转吗?
请各位指导,用串口发生器监控发送上述数字得到的是ASCII的@#13AD01XXXXX&%啊?
其大无外,其小无内!