S7-1500与S7-300PN CPU的TCP通信简析

工业控制

1201人已加入

描述

 

1.                    组态配置

1.1           分配 IP地址

通过如下的步骤配置 PC的 IP地址

步骤 操作 备注
1. 选择  “开始 > 控制面板 > 网络和共享 > 本地连接>属性”打开 Internet Protocol Version 4(TCP/IPv4),
设置PC的 IP 地址。
TCP通信

分配CPU模块的IP地址

步骤 操作 备注
1. 用网线将两个CPU和PG分别连接到X208交换机上    将设备连接到同一个以太网物理网上
2. 在 Engineer PC 上打开 TIA V13。进入项目视图,展开项目树下的“在线访问”,选择实际使用的物理网卡,双击“更新可访问的设备”。 TCP通信
3. 按照打印在CP1511-1模块上的X1接口MAC地址来确定需要分配IP地址的设备,本案例为00-1B-1B-13-92-E6,展开“可访问设备[00-1B-1B-13-92-E6]”,双击“在线和诊断”。 TCP通信
4.
.
在工作区选择“功能”下的“分配IP地址”,输入IP地址192.168.0.1和子网掩码255.255.255.0,点击“分配IP地址”,操作成功后可在巡视窗口信息页面看到  “参数已成功传送”消息。 TCP通信
5 类似操作为CPU317分配IP地址192.168.0.2和子网掩码255.255.255.0  

1.2           创建 PLC 项目

在 STEP7 V13中创建一个项目并插入CPU1511-1 和CPU 317站。操作步骤如表3

步骤 操作 备注
1. 在 Engineer PC 上打开 TIA V13。在  “项目” 菜单中选择 “新建(N)…” 选项。 TCP通信
2. 在弹出的创建新项目窗口里输入项目名为“1500_TCP”, 然后点击“创建”按钮。 TCP通信
3.
.
在项目树  1500_TCP下点击“添加新设备”。 TCP通信
4. 输入设备名称PLC_1并
组态控制器,SIMATIC S7-1500下的CPU1511-1 PN, 选择实际使用CPU的订货号以及版本号,本案例使用的是6ES7 511-1AK00-0AB0 V1.7,点击“确认”后进入设备视图。
TCP通信
5. 在工作区的设备视图下双击CPU1511-1 接口可打开位于巡视窗口下的属性页,选择“常规”下方的“以太网地址”,为以太网接口添加子网PN/IE_1,设置IP地址192.168.0.1和子网掩码255.255.255.0 。 TCP通信
6 重复步骤3~5,插入317 PLC,分配IP地址及子网掩码 TCP通信

表3 硬件组态

1.3            TCP通信编程

步骤 操作 备注
1. 在项目树下PLC_1程序块中添加新块,类型选择全局DB,创建发送数据区DB1,并定义10个字节的数组为发送区。(数据区大小根据实际应用定义) TCP通信
2. 继续添加全局DB,创建接收数据区DB2,并定义10个字节的数组为接收区。(数据区大小根据实际应用定义) TCP通信
3. 打开OB1,将指令TRCV_C拖拽至OB1的程序段1,根据提示操作添加背景数据块“TRCV_C_DB”。 TCP通信
4 在巡视窗口下选择“属性”,“组态”下的“连接参数”:
伙伴选择“PLC_2”;
接口选择CPU实际使用的以太网接口;
组态模式选择“使用程序块”
TCP通信
5 本地和伙伴的连接数据下拉框均选择“<新建>”,将分别创建各自的连接数据块“PLC_1_Receive_DB”和“PLC_2_Send_DB”,并自动创建各自的连接ID,此处均为1
当创建完连接数据块后,连接类型即可选择,本例中使用的连接类型为“TCP”。
l   如果1500 CPU作为TCP连接服务器端,则在伙伴侧选择“主动建立连接”;如果1500 CPU作为客户端,则在本地侧选择“主动建立连接”,本例程设计为1500CPU作为TCP服务器端;
TCP通信
6 l   1500 本地端口设为2000,用于侦听来自客户端317CPU的TCP连接请求;
伙伴端口是317CPU客户端向服务器端发起建立连接请求时使用的端口号,此处不填表示客户端可使用任意端口;
TCP通信
7 选择“属性”页下“组态”中“块参数”:
EN_R设置为TRUE,保持接收;
CONT = 1,保持连接;
确认CONNECT指针指向"PLC_1_Receive_DB"
将步骤1中预定义的接收DB数组作为起始地址;
TCP通信
8 将指令TSEND拖拽至OB1的程序段2中,根据提示操作添加背景数据块“TSEND_DB”,
填写TRCV参数:
设置“Tag_1”(%M0.0)作为REQ触发信号,上升沿有效;
ID参数为TSEND_C创建连接时系统自动生成的连接ID号(见步骤5),此处为1;
LEN参数此处设置为接收10个字节。
DATA参数使用步骤2中预定义的发送DB数组“"发送数据区".SendBuff”。
TCP通信
9 参照步骤1和2,在PLC_2下添加发送数据区DB2,并定义10个字节的数组为发送区。(数据区大小根据实际应用定义),添加接收数据区DB3,并定义10个字节的数组为接收区。(数据区大小根据实际应用定义) TCP通信
10 打开OB1,将指令TCON拖拽至OB1的程序段1,根据提示操作添加背景数据块“TCON_DB”。 TCP通信
11 在巡视窗口下选择“属性”,“组态”下的“连接参数”:
伙伴选择“PLC_1”;
接口选择CPU实际使用的以太网接口;
连接类型选择TCP;
连接数据选择步骤5生成的连接DB,本地为“PLC_2_Send_DB”,伙伴为“PLC_1_Receive_DB”;
TCP通信
12 设置“Tag_1”(%M0.0)作为REQ触发信号,上升沿有效; TCP通信
13 继续将TSEND和TRCV指令分别拖拽至程序段2和程序段3,根据提示添加相应的背景数据块
TSEND参数:
REQ:Tag_2(M0.1)上升沿有效
ID:参看步骤11的本地ID,此处为1;
LEN:10字节
DATA:"发送数据区".SendBuff;
TRCV参数:
EN_R:设置为TRUE,由M0.2简单逻辑实现;
ID:参看步骤11的本地ID,此处为1;
LEN:10字节;
DATA:"接收数据区".RecvBuff
TCP通信

表5 T_BLOCK编程

1.4            下载组态到站点

如图2所示,在项目树中选中PLC_1,点击工具栏中的下载图标,弹出下载对话框如图3所示。

TCP通信

图 2 下载站点配置

下载对话框设置

a.PG/PC接口的类型下拉框中选择PN/IE

b.PG/PC接口下拉框中选择连接CPU的实际以太网卡

c.接口/子网的连接下拉框选择CPU连接的子网PN/IE_1

d.点击“开始搜索”按钮,搜索网络连接的兼容设备

e.在兼容设备列表中选择搜索出的设备CPU1511-1PN

f.点击“下载”按钮,按照提示完成站点下载

TCP通信

图 3下载对话框

参看以上步骤下载PLC_2到CPU317中

4.     TCP通信测试

在PLC_1和PLC_2中各建立一个监视变量表并进入监视状态如图4所示,将PLC_1发送区数据设为全16#01,PLC_2发送区数据设为全16#02;

PLC_2下M0.0从0→1→0,点击项目树下设备和网络在工作列表区下查看连接是否建立,如图5所示TCP通信表示连接已建立,在巡视窗口诊断页面连接信息中能查到更多关于连接的详细信息。

TCP通信

图4 创建监视变量表

TCP通信

图5 检测连接状态

PLC_2下M0.1从0→1→0,PLC_2发送10字节到PLC_1,如图6所示PLC_1能正确接收PLC_2发送的数据;类似PLC_2下M0.0从0→1→0,PLC_1发送10字节到PLC_2,PLC_2也能正确接收PLC_1发送的数据。

TCP通信

图6 数据收发测试





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分