S7-200 SMART CPU 固件版本 V2.0 及以上版本的 CPU 可实现CPU、编程设备和HMI(触摸屏)之间的多种通信:
— CPU与编程设备之间的数据交换。
— CPU与HMI之间的数据交换。
— CPU与其他S7-200 SMART CPU之间的PUT/GET通信。
S7-200 SMART CPU 以太网连接资源如下:
— 1个连接用于与STEP7 Micro/Win SMART软件的通信。
— 8个连接用于CPU与HMI之间的通信。
— 8个连接用于CPU与其他S7-200 SMART CPU之间的PUT/GET主动连接
— 8个连接用于CPU与其他S7-200 SMART CPU之间的PUT/GET被动连接
LAD/FBD
|
STL
|
描述
|
PUT TABLE
|
PUT 指令启动以太网端口上的通信操作,将数据写入远程设备。PUT 指令可向远程设备写入***多 212 个字节的数据。
|
|
GET TABLE
|
GET 指令启动以太网端口上的通信操作,从远程设备获取数据。GET 指令可从远程设备读取***多 222 个字节的数据。
|
字节偏移量
|
Bit 7
|
Bit 6
|
Bit 5
|
Bit 4
|
Bit 3
|
Bit 2
|
Bit 1
|
Bit 0
|
0
|
D1
|
A2
|
E3
|
0
|
错误代码4
|
|||
1
|
远程 CPU的 IP地址
|
|||||||
2
|
||||||||
3
|
||||||||
4
|
||||||||
5
|
预留(必须设置为0)
|
|||||||
6
|
预留(必须设置为0)
|
|||||||
7
|
指向远程 CPU 通信数据区域的地址指针 |
|||||||
8
|
||||||||
9
|
||||||||
10
|
||||||||
11
|
通信数据长度5
|
|||||||
12
|
指向本地 CPU 通信数据区域的地址指针 |
|||||||
13
|
||||||||
14
|
||||||||
15
|
1 D :通信完成标志位,通信已经成功完成或者通信发生错误。
2 A :通信已经激活标志位。
3 E :通信发生错误,错误原因需要查询 错误代码4。
4 错误代码 :见表 3 PUT 和 GET 指令TABLE 参数的错误代码。
5 通信数据长度 :需要访问远程 CPU通信数据的字节个数,PUT 指令可向远程设备写入***多 212 个字节的数据,GET 指令可从远程设备读取***多 222 个字节的数据。
错误代码
|
描述
|
0
|
通信无错误
|
1
|
PUT/GET TABLE参数表中存在非法参数:
|
2
|
同一时刻处于激活状态的 PUT/GET 指令过多(仅允许 16 个)
|
3
|
无可以连接资源,当前所有的连接都在处理未完成的数据请求(S7-200 SAMRT CPU主动连接资源数为 8 个)。
|
4
|
从远程 CPU 返回的错误:
|
5
|
与远程 CPU 之间无可用连接:
|
6-9
|
预留
|
- 调用 PUT/GET 指令的CPU 占用主动连接资源数;相应的远程 CPU 占用被动连接资源。
- S7-200 SMART CPU 程序中可以包含远多于 8个PUT/GET 指令的调用,但是在同一时刻***多只能激活 8 个 PUT/GET 连接资源。
- 同一时刻对同一个远程 CPU 的多个 PUT/GET 指令的调用,只会占用本地 CPU的一个主动连接资源和远程 CPU的一个被动连接资源。本地 CPU 与远程 CPU之间只会建立一条连接通道,同一时刻触发的多个 PUT/GET 指令将会在这条连接通道上顺序执行。
- 同一时刻***多能对8个不同 IP 地址的远程 CPU 进行 PUT/GET 指令的调用,第9个 远程CPU的PUT/GET 指令调用将报错,无可用连接资源。已经成功建立的连接将被保持,直到远程 CPU断电或者物理断开。
- S7-200 SMART CPU 调用 PUT/GET 指令,执行主动连接的同时也可以被动地被其他远程 CPU 进行通信读写。
- S7-200 SMART***多可以与被8个不同 IP 地址的远程 CPU 进行 建立被动连接。已经成功建立的连接将被保持,直到远程 CPU断电或者物理断开。
注:READ_RTC 指令用于读取 CPU 实时时钟指令,并将其存储到从字节地址 T 开始的 8 字节时间缓冲区中,数据格式为 BCD 码。
- a.定义通信状态字节
- b.定义 CPU2 IP 地址
- c.定义 CPU2 的通信区域 ,从 VB0 地址开始
- d.定义通信数据长度
- e.定义 CPU1 的通信区域,从 VB100 地址开始
- a.定义通信状态字节
- b.定义 CPU2 IP 地址
- c.定义 CPU2 的通信区域 ,从 VB100 地址开始
- d.定义通信数据长度
- e.定义 CPU1 的通信区域,从 VB0 地址开始