S7-200 SMART CPU 以太网端口含有8 个PUT/GET主动连接资源和 8个PUT/GET被动连接资源。例如:CPU1调用PUT/GET指令与 CPU2 ~ CPU9 建立8主动连接的可以与CPU10 ~ CPU17 建立8被动连接(CPU10 ~CPU17 调用 PUT/GET指令),这样的话CPU1 可以与16台CPU(CPU2 ~CPU17)建立连接。
关于主动连接资源和被动连接资源的详细解释如下:
1.主动连接资源和被动连接资源
调用 PUT/GET指令的CPU占用主动连接资源数;相应的远程CPU 占用被动连接资源。
2.8 个PUT/GET 主动连接资源
S7-200 SMART CPU 程序中可以包含远多于8个PUT/GET指令的调用,在同一时刻Zui多只能激活8 个PUT/GET连接资源。
同一时刻对同一个远程CPU 的多个PUT/GET指令的调用,只会占用本地CPU的一个主动连接资源和远程CPU的一个被动连接资源。本地CPU与远程CPU之间只会建立一条连接通道,同一时刻触发的多个PUT/GET 指令将会在这条连接通道上顺序执行。
同一时刻Zui多能对8个不同IP 地址的远程CPU 进行PUT/GET 指令的调用,第9个远程CPU的PUT/GET指令调用将报错,无可用连接资源。已经成功建立的连接将被保持,直到远程CPU断电或者物理断开。
3.8 个PUT/GET 被动连接资源
S7-200 SMART CPU 调用PUT/GET指令,执行主动连接的也可以被动地被其他远程CPU进行通信读写。
S7-200 SMARTZui多可以与被8个不同IP 地址的远程CPU 进行建立被动连接。已经成功建立的连接将被保持,直到远程CPU断电或者物理断开。
三、指令编程举例
在下面的例子中,CPU1为主动端,其 IP地址为192.168.0.110,调用PUT/GET 指令;CPU2为被动端,其IP地址为192.168.0.101,不需调用PUT/GET 指令,网络配置见图1 。通信任务是把CPU1 的实时时钟信息写入CPU2中,把CPU2中的实时时钟信息读写到CPU1 中。
图1 CPU通信网络配置图
CPU1 主动端编程
CPU1 主程序中包含读取CPU实时时钟、初始化PUT/ GET 指令的TABLE 参数表、调用PUT 指令和GET 指令等。
网络1:定义PUT指令TABLE 参数表,用于将CPU1 的VB2000 ~ VB2003 传输到远程CPU2 的VB0 ~VB3。
图2 定义PUT 指令TABLE 参数表
a.定义通信状态字节
b.定义 CPU2 IP 地址
c.定义 CPU2 的通信区域 ,从 VB2000 地址开始
d.定义通信数据长度
e.定义 CPU1 的通信区域,从 VB0 地址开始
网络2:定义GET指令TABLE参数表,用于将远程CPU2的VB2000~ VB2003 读取到CPU1的VB0 ~ VB3。
图3定义GET指令TABLE参数表
a.定义通信状态字节
b.定义 CPU2 IP 地址
c.定义 CPU2 的通信区域 ,从 VB0地址开始
d.定义通信数据长度
e.定义 CPU1 的通信区域,从 VB2000 地址开始
网络3:调用PUT指令和GET指令。
图4调用PUT指令和GET指令
四、程序调试
CPU1 为主动端,其 IP地址为192.168.0.110,调用PUT/GET 指令;CPU2为被动端,其IP地址为192.168.0.101,不需调用PUT/GET指令。程序下载到CPU中进行测试,监控状态表,数据发送与接收成功。
图5数据发送与接收