图9. 分配库存储区
注意:为保证指令库可以正常工作,分配库存储区的时候,一定不能与程序中使用
的其他 V 区地址重叠!!
通信结果
以S7-200 SMART做服务器为例。将 S7-200 SMART 项目编译,下载并触发建立连接;在TCP&UDP Debug中点击连接。
通信结果如下:
图10. 测试结果
(三)S7-200 SMART 与 S7-1200 之间 TCP 通信— S7-200 SMART 作为服务器
TCP 协议通信
TCP 通信为面向连接的通信,需要双方都调用指令以建立连接及交换数据。S7-200 SMART 与 S7-1200 通过 TCP 通信,在 S7-1200 调用 T-block 指令 ( TCON,
TDISCON, TSEND, TRCV ) ,在 S7-200 SMART 调用 Open User Communication 库指令( TCP_CONNECT,DISCONNECT,TCP_SEND,TCP_RECV) 。双方的发送和接收指令必须成对出现。
客户端:主动建立连接,可以理解为主站;服务器:被动建立连接,可以理解为从站。 注意:
S7-200 SMART 在 CPU 硬件固件及编程软件版本均升级到 V2.2 之后才开始支持开放式通信。编程软件版本低于V2.2,无 Open User Communication 库指令;硬件固件低于 V2.2,硬件不支持开放式通信协议。
S7-200 SMART TCP 连接资源:8个主动连接资源,8个被动连接资源 S7-200 SMART TCP 通信数据量:1024 字节 硬件和软件需求及所完成的通信任务 硬件:
① S7-1200 CPU (IP 地址 192.168.0.100 ;子网掩码 255.255.255.0) ② S7-200 SMART CPU (固件版本V2.2) ( IP 地址 192.168.0.20 ;子网掩码 255.255.255.0) ③ PC (带以太网卡) ④ TP 以太网电缆 软件:
① STEP7 V13 SP1 Upd 9
② STEP 7 Micro/WIN SMART (软件版本 V2.2 ) 所完成的通信任务:
① S7-1200 发送 10 个字节数据:( S7-1200侧) DB4.DBB0~DB4.DBB9 -->( S7- 200 SMART 侧) VB2000~VB2009
② S7-1200 接收 10 个字节数据:( S7-1200 侧) DB4.DBB10~DB4.DBB19 <-- ( S7-200 SMART 侧) VB0~VB9
S7-1200 侧硬件组态和编程 ( 客户机侧组态编程 )
1. 使用 TIA V13 SP1 Upd 9 软件 Portal 视图中,创建新项目 2. 添加硬件并命名PLC
进入 “项目视图”,在“项目树” 下双击 “添加新设备”,在对话框中选择所使用的 S7-1200 CPU 添加到机架上,命名为 PLC_1 如图1所示
图1. 添加新设备
3. 启用时钟位
为了编程方便,使用 CPU 属性中定义的时钟位,定义方法如下:
在 “项目树” > “PLC_1” > “设备组态” 中,选中 CPU ,然后在下面的属性窗口中,“属性” > “系统和时钟存储器” 下,将时钟位定义在 MB0,如图2所示。
时钟位我们使用 M0.5 ,它是频率为 1 Hz 的脉冲,可以使用它去自动激活发送任务。
图2.启用时钟位
4. 为 PROFINET 通信口分配以太网地址
在 “设备视图”中点击 CPU 上代表 PROFINET 通信口的绿色小方块,在下方会出现 PROFINET 接口的属性,在 “以太网地址” 下分配 S7-1200 CPU 的 IP 地址为 192.168.0.100 ,子网掩码为255.255.255.0,如图3 所示