1. 概述
simatic s7- 1500 cpu集成了 profinet 接口,该接口除了具备连接 profinet总线通信功能,同时还可用于标准的 tcp 通信。通过组态tcp连接或使用开放式通信专用功能块与其它设备建立tcp连接以实现通信。本文介绍了s7-1500 cpu与s7-300 通信处理器cp 343-1进行tcp通信的配置过程(包括同一个项目中的指定对象和非指定对象)。
2. 自动化解决方案
2.1 网络拓扑结构
如图1所示,s7-1500 plc(192.168.0.1/24)与 s7-300 cpu通过cp 343-1(192.168.0.2/24)进行tcp通信。
图 1网络拓扑结构
2.2 硬件与软件需求
设备 数量 订货号 注释
pm190 w 120/230 vac 1 6ep1333-4ba00 负载电源模块
cpu 1511-1 1 6es7590-1af30-0aa0 v1.7
存储卡2gb 1 6es7954-8lp01-0aa0 作为装载存储器
cpu 315-2 dp 1 6es7315-2ag10-0ab0 v2.6
cp 343-1 1 6gk7343-1cx10-0xe0 v3.0
scalance x208 1 6gk5208-0ba10-2aa3 交换机
表 1硬件列表
设备 数量 订货号 注释
step 7 professional v13 sp1 update4 1 6es7822-1aa03-0ya5
windows 7 ultimate sp1
64-bit operating system 1
表 2软件环境
3. 组态配置
3.1 分配 ip地址
通过如下的步骤配置 pc的 ip地址
步骤 操作 备注
1.
. 选择 “开始 > 控制面板 > 网络和共享 > 本地连接>属性”打开 internet protocol version 4(tcp/ipv4),
设置pc的 ip 地址。
分配cpu模块的ip地址(指定对象)
步骤 操作 备注
1.
. 用网线将cpu 1511-1、cp343-1和pg分别连接到x208交换机上 将设备连接到同一个以太网物理网上
2. 在 engineer pc 上打开 tia v13。进入项目视图,展开项目树下的“在线访问”,选择实际使用的物理网卡,双击“更新可访问的设备”。
3. 按照打印在cp1511-1模块上的x1接口mac地址来确定需要分配ip地址的设备,本案例为00-1b-1b-13-92-e6,展开“可访问设备[00-1b-1b-13-92-e6]”,双击“在线和诊断”。
4. 在工作区选择“功能”下的“分配ip地址”,输入ip地址192.168.0.1和子网掩码255.255.255.0,点击“分配ip地址”,操作成功后可在巡视窗口信息页面看到 “参数已成功传送”消息。
5. 类似操作为cp343-1分配ip地址192.168.0.2和子网掩码255.255.255.0
3.2 创建 plc 项目
在 step7 v13中创建一个项目并插入cpu1511-1 和cpu 317站。指定对象操作步骤如表3
步骤 操作 备注
1.
. 在 engineer pc 上打开 tia v13。在 “项目” 菜单中选择 “新建(n)…” 选项。
2. 在弹出的创建新项目窗口里输入项目名为“1500_tcp”, 然后点击“创建”按钮。
3.
. 在项目树 1500_tcp下点击“添加新设备”。
4. 输入设备名称plc_1并
组态控制器,simatic s7-1500下的cpu1511-1 pn, 选择实际使用cpu的订货号以及版本号,本案例使用的是6es7511-1ak00-0ab0 v1.7,点击“确认”后进入设备视图。
5. 在工作区的设备视图下双击cpu1511-1 接口可打开位于巡视窗口下的属性页,选择“常规”下方的“以太网地址”,为以太网接口添加子网pn/ie_1,设置ip地址192.168.0.1和子网掩码255.255.255.0 。
6. 重复步骤3~5,插入315 plc和cp343-1,将以太网接口连接到步骤5建立的子网pn/ie_1.分配ip地址192.168.0.2和子网掩码255.255.255.0;
表3 指定对象硬件组态
非指定对象操作步骤如表4
步骤 操作 备注
1. 1500项目组态参考指定对象添加,步骤1~5
2. 重复1500plc添加项目步骤3~5,插入315 plc和cp343-1,在工作区的设备视图下双击cp343-1 接口可打开位于巡视窗口下的属性页,选择“常规”下方的“以太网地址”,为以太网接口新添加子网pn/ie_2,设置ip地址192.168.0.2和子网掩码255.255.255.0 。
表4 非指定对象硬件组态
3.3 tcp通信编程
指定对象tcp通讯编程
步骤 操作 备注
1. 在项目树下双击“设备和网络”,进入工作区图形窗口选择“网络视图”,点击连接图标,选择“tcp连接”,单击cpu1511 以太网接口,将拖拽出的虚线连接至cp343-1以太网接口双击建立“tcp_连接_1”;
2. 在项目树下plc_1程序块中添加新块,类型选择全局db,创建发送数据区db1,并定义10个字节的数组为发送区。(数据区大小根据实际应用定义)
3. 继续添加全局db,创建接收数据区db2,并定义10个字节的数组为接收区。(数据区大小根据实际应用定义)
4. 打开ob1,将指令trcv_c拖拽至ob1的程序段1,根据提示操作添加背景数据块“trcv_c_db”。
5. 在巡视窗口下选择“属性”,“组态”中的“连接参数”:
接口选择cpu实际使用的以太网接口;
组态模式选择“使用组态的连接”
连接类型选择“tcp”
连接数据在点击按钮弹出的选择连接对话框中选择“tcp_连接_1”,将自动加载本地id,以及通信伙伴的信息;
如果1500 cpu作为tcp连接服务器端,则在伙伴侧选择“主动建立连接”;如果1500 cpu作为客户端,则在本地侧选择“主动建立连接”,本例程设计为1500cpu作为tcp客户端;
本地端口设为2000,表示cpu 1511用端口号2000发送数据到服务器;
伙伴端口即服务器端cp343-1使用的端口此处设为2000,表示cp343-1将侦听来自端口2000的tcp数据;
6. 选择“属性”页下“组态”中“块参数”:
en_r设置为true,保持接收;
cont = 1,保持连接;
确认connect指针指向plc_1_receive_db
将步骤1中预定义的接收db数组作为起始地址;
7. 将指令tsend拖拽至ob1的程序段2中,根据提示操作添加背景数据块“tsend_db”,
填写trcv参数:
设置“tag_1”(%m0.0)作为req触发信号,上升沿有效;
id参数为trcv_c创建连接时系统自动生成的连接id号(见步骤5),此处为256;
len参数此处设置为接收10个字节。
data参数使用步骤2中预定义的发送db数组“发送数据区.sendbuff”。
8. 参照步骤2和3,在plc_2下添加发送数据区db2,并定义10个字节的数组为发送区。(数据区大小根据实际应用定义),添加接收数据区db3,并定义10个字节的数组为接收区。(数据区大小根据实际应用定义)
9. 双击项目树下“设备和网络”进入网络视图;
拉开列表区,选择“连接”页面;
双击本地站点为“plc_2”的连接;
查看巡视窗口下“属性”页面->“常规”->“本地id”
记录块参数,此处id为1,laddr为16#100
10 打开plc_2下程序块中的ob1,在右侧“指令”任务卡->通信->通信处理器->simatic net cp下,将“ag_send”指令拖拽至程序段1;
id及laddr参数值见步骤9,其余参数设置如下
act:start(m0.0)
send:p#db2.dbx0.0 byte 10
len: 10
done:send_done(m0.1)
error:send_error(m0.2)
status:send_status(mw2)
11 类似步骤10,将指令“ag_recv”拖拽至操作程序段2;
id及laddr参数值见步骤9,其余参数设置如下
recv:p#db3.dbx0.0 byte 10
ndr:recv_ndr(m0.3)
error:recv_error(m0.4)
status:recv_status(mw4)
len:recv_len(mw6)
表5 指定对象tcp通信编程
非指定对象tcp通讯编程
步骤 操作 备注
1. 参考指定建立连接步骤2~6,在配置第5步连接参数伙伴选择未指定对象,设置ip地址:192.168.0.2,伙伴端口号2000;
2. 参照指定建立连接步骤2和3,在plc_2下添加发送数据区db2,并定义10个字节的数组为发送区。(数据区大小根据实际应用定义),添加接收数据区db3,并定义10个字节的数组为接收区。(数据区大小根据实际应用定义)
3. 双击项目树下“设备和网络”进入网络视图;
点击连接图标,选择“tcp连接”,右击300plc下拉菜单选择添加新连接;
选择非指定对象,因为300作为服务器,所以不勾选主动建立连接
4. 打开plc_2下程序块中的ob1,在右侧“指令”任务卡->通信->通信处理器->simatic net cp下,将“ag_send”指令拖拽至程序段1;
id及laddr参数值见步骤9,其余参数设置如下
act:start(m0.0)
send:p#db2.dbx0.0 byte 10
len: 10
done:send_done(m0.1)
error:send_error(m0.2)
status:send_status(mw2)
5. 类似步骤10,将指令“ag_recv”拖拽至操作程序段2;
id及laddr参数值见步骤9,其余参数设置如下
recv:p#db3.dbx0.0 byte 10
ndr:recv_ndr(m0.3)
error:recv_error(m0.4)
status:recv_status(mw4)
len:recv_len(mw6)
表6 非指定对象tcp通信编程
3.4 下载组态到站点
如图2所示,在项目树中选中plc_1,点击工具栏中的下载图标,弹出下载对话框如图3所示。
图 2 下载站点配置
下载对话框设置
a. pg/pc接口的类型下拉框中选择pn/ie
b. pg/pc接口下拉框中选择连接cpu的实际以太网卡
c. 接口/子网的连接下拉框选择cpu连接的子网pn/ie_1
d. 点击“开始搜索”按钮,搜索网络连接的兼容设备
e. 在兼容设备列表中选择搜索出的设备cpu1511-1 pn
f. 点击“下载”按钮,按照提示完成站点下载
图 3下载对话框
参看以上步骤下载plc_2到cpu315中
4. tcp通信测试
在plc_1和plc_2各建立一个监视变量表并进入监视状态如图4所示,将plc_1发送器数据设为全16#01,plc_2发送器数据设为全16#02;
plc_1下m0.0从0→1→0,点击项目树下设备和网络在工作列表区下查看连接是否建立,如图5所示表示连接已建立,在巡视窗口诊断页面连接信息中能查到更多关于连接的详细信息。
图4 创建监视变量表
图5 检测连接状态
Linux USB驱动框架分析(三)
RedmiBook品牌商标在印度注册,年初RedmiBook系列有望进入印度市场
智能家居的哪些以后有可能成为常规的
无线通信的特点和研究分析以及举例说明
为什么华为在5G建设上输给了诺基亚?
S7-1500 CPU与S7-300通信处理器CP 343-1进行TCP通信的配置过程
购买手机主要注意事项
即将推出的全新Reno3 Pro搭载骁龙765G处理器
基于SDR平台的BBU+RRU新一代绿色基站
搜索的出现:互联网开放性的重要升级
关于奔驰汽车的信息娱乐系统的迭代
现代光学及光子技术的应用(1)
LCD产业分析:TCON与Controller的割裂,在割裂中求生存
投射电容式触控技术为最符合Windows 7 硬体规格之解决
图灵机器人:“试爱机器人”的未来不可限量
自动驾驶人机交互与接管
NAS网络存储器的网络管理
苹果或彻底改用USB Type-C接口 与市场保持一致
研调:首款5G手机最快2019年问世 五年内4G手机仍是市场主流
Android手机天气预报系统设计及实现