S7-200 SMART CPU与S7-1200 进行TCP通信-SMART做客户端 下载本文

内容发布更新时间 : 2024/5/21 4:57:58星期一 下面是文章的全部内容请认真阅读。

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 字节

硬件和软件需求及所完成的通信任务

硬件:?

③ PC (带以太网卡)

④ TP 以太网电缆?

软件:

① STEP7 V13 SP1 Upd 9

② STEP 7 Micro/WIN SMART ( 软件版本 V2.2 )?

所完成的通信任务:

① S7-200 SMART 发送 10 个字节数据:(S7-200 SMART 侧 ) VB0~VB9 --> ( S7-1200侧 ) DB4.DBB10~DB4.DBB19

② S7-200 SMART 接收 10 个字节数据: ( S7-200 SMART 侧 ) VB2000~VB2009<--?( S7-1200 侧 )?DB4.DBB0~DB4.DBB9

S7-200 SMART侧编程 ( 客户机侧组态编程 )

1.打开STEP 7 Micro/WIN SMART>项目树>指令树>库>Open User Communication?,调用TCP_CONNECT,如图1所示。

TCP_CONNECT EN //调用TCP_CONNECT //使能输入 //如果 Req = TRUE,CPU 启动连接操作。如果 Req?=?FALSE,则输出显示连接的当前状态。使用上升沿触发 //TRUE = 主动连接 ;FALSE = 被动连接 :SM0.0 Req :V6010.0 Active :SM0.0 ConnID :1 // CPU 使用连接 ID (ConnID) 为其它指令标识该连接。可能的 ConnID 范围为 0 到 65534。 IPaddr1~4 RemPort :2001 //RemPort 是远程设备上的端口号。远程端口号范围为 1 到 49151。 // LocPort 是本地设备上的端口号。本地端口号范围为 1 到 49151,但存在一些限制。 // 当连接操作完成且没有错误时,指令置位 Done 输出。 // 当连接操作正在进行时,指令置位 Busy 输出。 // 当连接操作完成但发生错误时,指令置位 Error 输出 // 如果指令置位 Error 输出,Status 输出会显示错误代码。如果指令置位 Busy 或 Done 输出,Status 为零(无错误) LocPort :2000 DONE :V6000.0 BUSY :V6000.1 ERROR :V6000.2 STATUS :VB6002 图1.

?指令位置及调用连接指令

2.调用TCP_SEND 和 TCP_RCV 指令,如图2 所示。 CALL TCP_SEND EN //调用TCP_SEND SM0.5 //使能输入 :