• {{item.name}}
自动化系统 {{item.name}}
{{item2.name}}
更多

使用 S7-PLCSIM 实现两个 S7-1200 G2 之间的 TCP 通信

star star star star star
0 分
  • 使用操作
  • 综合介绍
  • 基础理论
  • 产品推广
  • S7-1200 G2
发布时间:2026年01月13日
  • 0
  • 72
本章节讲解使用 S7-PLCSIM 实现两个 S7-1200 G2 之间的 TCP 通信

本示例中使用了 2 个 S7-1200 G2 CPU,CPU 之间采用 TCP 通信。

CPU 1 为 CPU 1212C,其IP 地址为 192.168.0.212;

CPU 2 为 CPU 1214C,其 IP 地址为 192.168.0.214。

通信任务

CPU 1 作为 TCP 通信客户端,调用“TCON”、“TSEND”指令将 CPU 1实时时钟传送到 CPU 2。

CPU 2 作为 TCP 通信服务器,调用“TCON”、“TRCV”指令接收 CPU 1发送过来的数据。

同一项目中两个 CPU 之间 TCP 通信与不同项目中两个 CPU 之间通信相比组态步骤更为简单,故本文只介绍不同项目中两个 CPU 之间 TCP 通信。

CPU 1 编程组态

1. 设备组态

使用 TIA 博途软件创建新项目,并将 CPU 1212C 作为新设备添加到项目中。在设备视图的巡视窗口中,将 CPU 属性作如下修改:

  • “PROFINET 接口”属性中为 CPU“添加新子网”,并设置 IP 地址(192.168.0.212)和子网掩码(255.255.255.0)。
  • “系统和时钟存储器”属性中激活“启用时钟存储器字节”,并设置“时钟存储器字节的地址 ( MB0 )”。
  • “时间”属性中“本地时间”设置为“(UTC + 08:00)北京,重庆,中国香港特别行政区,乌鲁木齐”。

2. 编程

(1)在程序块添加一个数据块 “MyTcp”,并在数据块中定义一个数据类型为 DTL 变量 “localTime” ,该变量用于存储本地 CPU 的实时时钟,建议数据块“MyTcp”为标准访问的数据块。在主程序 OB 1 中调用 “RD_LOC_T” 指令,读取 CPU 本地时间并存储在 “MyTcp”.localTime 变量中。

(2)主程序 OB 1 中调用 “TCON” 指令,建立 TCP 连接。点击 “TCON” 指令右上角“开始组态”按钮,在巡视窗口中选择“TCON”指令的“属性 ﹥ 组态 ﹥ 连接参数”,并配置 TCP 连接属性,如图 1-1 所示。图形用户界面, 应用程序

AI 生成的内容可能不正确。

图1-1 组态 TCP 连接

①如果通信伙伴并非在同一项目,则选择“未指定”;

②“连接数据”选择“新建”时,系统将自动创建一个连接数据块“TcpConnection”;

③“连接类型”选择为“TCP”;

④设置伙伴方 IP 地址;

⑤选择本地“主动建立连接”,此时CPU 1 是客户端;

⑥本地 CPU 为客户端时,则需要设置服务器侧端口。

本例中,“连接参数”的组态窗口中通信“伙伴”处选择“未指定”,如果通信双方是同一项目中同一子网下的两个设备,则通信“伙伴”处可以选择指定的通信伙伴。

注意:

TCP 通信时,如果本地 CPU 为客户端则需要指定服务器侧通信端口,本地端口无需指定,此时通信时会自动为客户端分配一个随机端口;

如果本地 CPU 为服务器则需要指定本地通信端口,无需指定伙伴端口和 IP 地址,如果不指定伙伴端口和 IP 地址,则不限定连接客户端的 IP 地址和端口号。

(3)主程序 OB 1 中调用 “TSEND” 指令,将 CPU 本地时钟发送出去,如图 1-2 所示。

图形用户界面, 应用程序

AI 生成的内容可能不正确。

图1-2 调用 TSEND 指令

①如果“LEN”=0,则将发送参数 DATA 指定的所有数据

3. 打开 PLC SIM 并下载组态和程序

CPU 1 的组态配置与编程已经完成,打开 PLC SIM 并下载组态和程序,如图1-3所示。

image.png

图1-3 PLC_1 SIM 界面

CPU 2 编程组态

1. 设备组态

使用 TIA 博途软件创建新项目,并将 CPU 1214C 作为新设备添加到项目中。在设备视图的巡视窗口中,将 CPU 属性作如下修改:

  • “PROFINET 接口”属性中为 CPU“添加新子网”,并设置 IP 地址(192.168.0.214)和子网掩码(255.255.255.0)。
  • “时间”属性中“本地时间”设置为“(UTC + 08:00)北京,重庆,中国香港特别行政区,乌鲁木齐”。

2. 程序编程

(1)在程序块添加一个数据块“MyTcp”,并在数据块中定义一个数据类型为 DTL 变量 “RemoteTime”,该变量用于接收 CPU 1 发送过来的实时时钟。

(2)主程序 OB 1 中调用 “TCON” 指令,建立 TCP 连接。点击 TCON 指令右上角“开始组态”按钮,在巡视窗口中选择“TCON”指令的“属性 ﹥ 组态 ﹥ 连接参数”,并配置 TCP 连接属性,如图 1-4 所示。图形用户界面, 应用程序

AI 生成的内容可能不正确。

图1-4 组态 TCP 连接

①如果通信伙伴并非在同一项目,则选择“未指定”;

②“连接数据”选择“新建”时,系统将自动创建一个连接数据块“TcpConnection”;

③“连接类型”选择为“TCP”;

④设置伙伴方 IP 地址;

⑤选择伙伴 “主动建立连接”,本地 CPU 为服务器;

⑥本地 CPU 为服务器时,则需要指定本地端口。

(3)主程序 OB 1 中调用 “TRCV” 指令用于接收 CPU 1 发送过来的实时时钟,如图 1-5 所示。图片包含 日程表

AI 生成的内容可能不正确。

图1-5 调用 TRCV 指令

3. 下载组态和程序

打开当前博途的 PLC SIM 并下载组态和程序,同一电脑上的两个 TIA 博途项目会打开同一个仿真软件,并生成新的 PLC SIM 如图1-6所示。

image.png

图1-6 PLC_2 SIM 界面

4. 通信状态测试

将两个 CPU 站点组态配置和程序分别下载到 CPU 1 和 CPU 2 后,即可开始对通信状态进行测试。先后上升沿信号触发服务器和客户端的“TCON”指令的输入参数 REQ,用于建立 TCP 连接。

连接建立后,就可以通过 “TSEND” 发送数据,调用 “TRCV” 接收数据,就可以将 CPU 1 实时时钟数据传送到 CPU 2,如图1-7所示。

image.png

图1-7 时钟传送

  • 评论
更多
  • 分享

    扫码分享

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。