让大家久等了!主要最近事情太多,加上翻译、制作也不太容易,天气又热...
好啦,进入正题吧!
约定说明:
ENQ为请求标志,ASCII值5,VB中以chr(5)表示;
ACK为正确标志,ASCII值6,VB中以chr(6)表示;
STX为请求标志,ASCII值2,VB中以chr(2)表示;
EXT为请求标志,ASCII值3,VB中以chr(3)表示;
表格中红色字为需要求和效验的部分;
和效验为每一项的ASCII值的总和转换成十六进制后区低两位;
站号、PLC号、元件数量、和效验都是以十六进制表示;
等待延时为0-150毫秒,以十六进制0H-FH表示,如100ms为AH。
1、批量读出位元件--BR指令
格式:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
|
|
|
|
|
15 |
16 |
17 |
|
PC侧:
|
ENQ
|
站号
|
PLC号
|
BR
|
延时
|
首地址
|
数量
|
和效验
|
|
|
|
|
|
|
ACK
|
站号
|
PLC号
|
|
PLC侧:
|
|
|
|
|
|
|
|
|
STX
|
站号
|
PLC号
|
数据
|
EXT
|
和效验
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
10 |
11 |
12 |
13 |
14 |
|
|
|
|
例如:要读出站号为5的FX系列PLC的X40到X44共5点的状态值,延时100ms,假设X40与X43为OFF,其余为ON:
注释: |
请求
|
站号
|
PLC号
|
命令
|
延时
|
元件首地址
|
元件数量
|
和效验
|
|
代码: |
ENQ
|
0
|
5
|
F
|
F
|
B
|
R
|
A
|
X
|
0
|
0
|
4
|
0
|
0
|
5
|
5
|
7
|
|
ASCII码: |
05H
|
30H
|
35H
|
46H
|
46H
|
42H
|
52H
|
41H
|
58H
|
30H
|
30H
|
34H
|
30H
|
30H
|
35H
|
35H
|
37H
|
|
您只要将以上兰色部分的代码以字符串形式(VB中可以表示为chr(5)&"05FFBRAX00400547")发送到PLC,就会有正确的回应信息,如下:
注释: |
头
|
站号
|
PLC号
|
元件首地址
|
尾
|
和效验
|
|
代码: |
STX
|
0
|
5
|
F
|
F
|
0
|
1
|
1
|
0
|
1
|
EXT
|
0
|
5
|
|
ASCII码: |
02H
|
30H
|
35H
|
46H
|
46H
|
30H
|
31H
|
31H
|
30H
|
31H
|
03H
|
30H
|
35H
|
|
请自行分析以上代码。
2、批量读出字元件--WR指令
格式:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
|
|
|
|
|
15 |
16 |
17 |
|
PC侧:
|
ENQ
|
站号
|
PLC号
|
WR
|
延时
|
首地址
|
数量
|
和效验
|
|
|
|
|
|
|
ACK
|
站号
|
PLC号
|
|
PLC侧:
|
|
|
|
|
|
|
|
|
STX
|
站号
|
PLC号
|
数据
|
EXT
|
和效验
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
10 |
11 |
12 |
13 |
14 |
|
|
|
|
该命令使用方法与1(BR)命令相同,不再赘述。
3、批量写入位元件--BW指令
格式:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
|
|
|
PC侧:
|
ENQ
|
站号
|
PLC号
|
BW
|
延时
|
首地址
|
数量
|
写入值
|
和效验 |
|
|
|
|
PLC侧:
|
|
|
|
|
|
|
|
|
|
ACK
|
站号
|
PLC号
|
|
|
|
|
|
|
|
|
|
|
|
10 |
11 |
12 |
|
4、批量写入字元件--WW指令
格式:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
|
|
|
PC侧:
|
ENQ
|
站号
|
PLC号
|
WW
|
延时
|
首地址
|
数量
|
写入值
|
和效验 |
|
|
|
|
PLC侧:
|
|
|
|
|
|
|
|
|
|
ACK
|
站号
|
PLC号
|
|
|
|
|
|
|
|
|
|
|
|
10 |
11 |
12 |
|
请继续关注如何控制PLC的运行/停止。
|