单片机通讯协议
(485波特率9600,起始位1,数据位7,校验位1,结束位无)
格式:$ADD,ORDER, XXX,XXXX,*hh
1 数据头: “$”起始的ASCII码。
2 地址:用‘,’结束,定长3字节(S7-200地址888,12个采集器地址001~012)。
3 命令值:用‘,’结束,不定长。
4 数据:用‘,’结束,不定长。
.
.(数据可以N个)
.
N+4 数据尾:“*”。
N+5 校验和:自“$”后开始到“*”以前的每个字与下一个字作异或(XOR)操作后的值再与下一字节异或的结果。
协议不定长。
通讯测试:(PLC测试采集器的通讯状况)
命令值:LINK
$001,LINK, *hh (对采集器1的连接测试)
采集器应答:(采集器PLC的非参数回复的应答)
命令值:YES
$001,YES,*hh(采集器001对S7-200非参数回复的应答)
参数询问:(PLC对采集器的参数询问)
命令值:DATA
$001,DATA,*hh(PLC对采集器001的参数询问)
参数上传:(采集器001上传参数,输出状态常闭C/常开O)
命令值:DATA
$001,DATA,1024,300,10000,C,10,3,2020,O,20,6,600,C,500,150,66,C,0,0,0,O,*hh
(采集器001的参数上传
路一PT100原始数据1024,温度300,频率10000HZ,继电器常闭
路二PT100原始数据10,温度3,频率2020HZ,继电器常开
路三PT100原始数据20,温度6,频率600HZ,继电器常闭
路四PT100原始数据500,温度150,频率66HZ,继电器常闭
路五PT100原始数据0,温度0,频率0HZ,继电器常开)
动作命令:
$001,DO,A,300,C,10000,O,8000,O,0,C,26,O,*hh
(对采集器1的远程输出控制方式,流量显示,和输出控制
路一流量300,继电器常闭
路二流量10000,继电器常开
路三流量8000,继电器常开
路四流量0,继电器常闭
路五流量26,继电器常开)
采集器应答:(采集器PLC的非参数回复的应答)
命令值:YES
$001,YES,*hh(采集器001对S7-200非参数回复的应答)
现在能和1-9号站通讯,当采集10#站数据时就通讯不上了,通讯程序如下
主程序
LD SM0.1
CALL 流量显示程序:SBR1
子程序0
LD SM0.1
MOVB 16#09, SMB30
MOVB 16#F4, SMB87
MOVB 16#40, SMB88
MOVB 16#2A, SMB89
MOVW +0, SMW90
MOVB 100, SMB94
MOVW +20, SMW92
ATCH INT_0:INT0, 23
ATCH INT_2:INT2, 9
XMT 发送字节数:VB30, 0
MOVB 16#11, VB36
ENI
中断0
LDB= SMB86, 16#20
OB= SMB86, 16#04
OB= SMB86, 16#40
MOVB 10, SMB34
ATCH INT_1:INT1, 10
CRETI
NOT
RCV VB1000, 0
中断2
LD SM0.0
RCV VB1000, 0
中断1
TITLE=
Network 1
LD SM0.0
MOVB VB3, VB32
ORB 16#30, VB32
MOVB 16#30, VB34
ORB VB2, VB34
MOVB 17, VB30
MOVB 16#24, VB31
MOVB 16#2C, VB33
MOVB 16#2C, VB35
MOVB 16#2C, VB37
MOVB 16#2C, VB39
MOVB 16#2C, VB44
MOVB 16#2C, VB46
MOVB 16#2A, VB47
MOVD VD204, VD40
Network 2
LDB= 1, VB2
AB= 1, VB3
MOVB 16#30, VB45
ORB VB3100, VB45
Network 3
LDB= 2, VB2
AB= 1, VB3
MOVB 16#30, VB45
ORB VB3101, VB45
Network 4
LDB= 3, VB2
AB= 1, VB3
MOVB 16#30, VB45
ORB VB3102, VB45
Network 5
LDB= 4, VB2
AB= 1, VB3
MOVB 16#30, VB45
ORB VB3103, VB45
Network 6
LDB= 5, VB2
AB= 1, VB3
MOVB 16#30, VB45
ORB VB3104, VB45
Network 7
LDB= 1, VB2
AB= 2, VB3
MOVB 16#30, VB45
ORB VB3105, VB45
Network 8
LDB= 2, VB2
AB= 2, VB3
MOVB 16#30, VB45
ORB VB3106, VB45
Network 9
LDB= 3, VB2
AB= 2, VB3
MOVB 16#30, VB45
ORB VB3107, VB45
Network 10
LDB= 4, VB2
AB= 2, VB3
MOVB 16#30, VB45
ORB VB3108, VB45
Network 11
LDB= 5, VB2
AB= 2, VB3
MOVB 16#30, VB45
ORB VB3109, VB45
Network 12
LDB= 1, VB2
AB= 3, VB3
MOVB 16#30, VB45
ORB VB3110, VB45
Network 13
LDB= 2, VB2
AB= 3, VB3
MOVB 16#30, VB45
ORB VB3111, VB45
Network 14
LDB= 3, VB2
AB= 3, VB3
MOVB 16#30, VB45
ORB VB3112, VB45
Network 15
LDB= 4, VB2
AB= 3, VB3
MOVB 16#30, VB45
ORB VB3113, VB45
Network 16
LDB= 5, VB2
AB= 3, VB3
MOVB 16#30, VB45
ORB VB3114, VB45
Network 17
LDB= 1, VB2
AB= 4, VB3
MOVB 16#30, VB45
ORB VB3115, VB45
Network 18
LDB= 2, VB2
AB= 4, VB3
MOVB 16#30, VB45
ORB VB3116, VB45
Network 19
LDB= 3, VB2
AB= 4, VB3
MOVB 16#30, VB45
ORB VB3117, VB45
Network 20
LDB= 4, VB2
AB= 4, VB3
MOVB 16#30, VB45
ORB VB3118, VB45
Network 21
LDB= 5, VB2
AB= 4, VB3
MOVB 16#30, VB45
ORB VB3119, VB45
Network 22
LDB= 1, VB2
AB= 5, VB3
MOVB 16#30, VB45
ORB VB3120, VB45
Network 23
LDB= 2, VB2
AB= 5, VB3
MOVB 16#30, VB45
ORB VB3121, VB45
Network 24
LDB= 3, VB2
AB= 5, VB3
MOVB 16#30, VB45
ORB VB3122, VB45
Network 25
LDB= 4, VB2
AB= 5, VB3
MOVB 16#30, VB45
ORB VB3123, VB45
Network 26
LDB= 5, VB2
AB= 5, VB3
MOVB 16#30, VB45
ORB VB3124, VB45
Network 27
LDB= 1, VB2
AB= 6, VB3
MOVB 16#30, VB45
ORB VB3125, VB45
Network 28
LDB= 2, VB2
AB= 6, VB3
MOVB 16#30, VB45
ORB VB3126, VB45
Network 29
LDB= 3, VB2
AB= 6, VB3
MOVB 16#30, VB45
ORB VB3127, VB45
Network 30
LDB= 4, VB2
AB= 6, VB3
MOVB 16#30, VB45
ORB VB3128, VB45
Network 31
LDB= 5, VB2
AB= 6, VB3
MOVB 16#30, VB45
ORB VB3129, VB45
Network 32
LDB= 1, VB2
AB= 7, VB3
MOVB 16#30, VB45
ORB VB3130, VB45
Network 33
LDB= 2, VB2
AB= 7, VB3
MOVB 16#30, VB45
ORB VB3131, VB45
Network 34
LDB= 3, VB2
AB= 7, VB3
MOVB 16#30, VB45
ORB VB3132, VB45
Network 35
LDB= 4, VB2
AB= 7, VB3
MOVB 16#30, VB45
ORB VB3133, VB45
Network 36
LDB= 5, VB2
AB= 7, VB3
MOVB 16#30, VB45
ORB VB3134, VB45
Network 37
LDB= 1, VB2
AB= 8, VB3
MOVB 16#30, VB45
ORB VB3135, VB45
Network 38
LDB= 2, VB2
AB= 8, VB3
MOVB 16#30, VB45
ORB VB3136, VB45
Network 39
LDB= 3, VB2
AB= 8, VB3
MOVB 16#30, VB45
ORB VB3137, VB45
Network 40
LDB= 4, VB2
AB= 8, VB3
MOVB 16#30, VB45
ORB VB3138, VB45
Network 41
LDB= 5, VB2
AB= 8, VB3
MOVB 16#30, VB45
ORB VB3139, VB45
Network 42
LDB= 1, VB2
AB= 9, VB3
MOVB 16#30, VB45
ORB VB3140, VB45
Network 43
LDB= 2, VB2
AB= 9, VB3
MOVB 16#30, VB45
ORB VB3141, VB45
Network 44
LDB= 3, VB2
AB= 9, VB3
MOVB 16#30, VB45
ORB VB3142, VB45
Network 45
LDB= 4, VB2
AB= 9, VB3
MOVB 16#30, VB45
ORB VB3143, VB45
Network 46
LDB= 5, VB2
AB= 9, VB3
MOVB 16#30, VB45
ORB VB3144, VB45
Network 47
LDB= 1, VB2
AB= 10, VB3
MOVB 16#30, VB45
ORB VB3145, VB45
Network 48
LDB= 2, VB2
AB= 10, VB3
MOVB 16#30, VB45
ORB VB3146, VB45
Network 49
LDB= 3, VB2
AB= 10, VB3
MOVB 16#30, VB45
ORB VB3147, VB45
Network 50
LDB= 4, VB2
AB= 10, VB3
MOVB 16#30, VB45
ORB VB3148, VB45
Network 51
LDB= 5, VB2
AB= 10, VB3
MOVB 16#30, VB45
ORB VB3149, VB45
Network 52
LDB= 1, VB2
AB= 11, VB3
MOVB 16#30, VB45
ORB VB3150, VB45
Network 53
LDB= 2, VB2
AB= 11, VB3
MOVB 16#30, VB45
ORB VB3151, VB45
Network 54
LDB= 3, VB2
AB= 11, VB3
MOVB 16#30, VB45
ORB VB3152, VB45
Network 55
LDB= 4, VB2
AB= 11, VB3
MOVB 16#30, VB45
ORB VB3153, VB45
Network 56
LDB= 5, VB2
AB= 11, VB3
MOVB 16#30, VB45
ORB VB3154, VB45
Network 57
LD SM0.0
DTCH 10
XMT VB30, 0
现在的问题是,当采集10#站数据时,数据采集不上来,采集1-9#站正常