S7-400 基于PROFIBUS总线的S7 单边通信
上海地友自动化设备有限公司
2018/5/12 12:18:57>> 进入商铺S7-400 基于PROFIBUS总线的S7 单边通信(STEP7 v1x)
1. 概述
S7协议是SIEMENS S7系列产品之间通讯使用的标准协议 ,其优点是通信双方无论是在同一MPI总线上、同一PROFIBUS总线上或同一工业以太网中,都可通过S7协议建立通信连接,使用相同的编程方式进行数据交换而与使用何种总线或网络无关。S7通信分为按组态方式可分为单边通信和双边通信,单边通信通常应用于以下情况:
· 通信伙伴无法组态S7连接
· 通信伙伴无法停机
· 不希望在通讯伙伴侧增加通信组态或程序
本文介绍S7-400基于PROFIBUS总线的S7单边通信的组态步骤,用于实现两个独立项目之间的S7通信。
实验环境,见表1。
序号 | 名称 | 订货号 |
1 | CR3导轨 | 6ES7 401-1DA01-0AA0 |
2 | PS407 | 6ES7 407-0DA02-0AA0 |
3 | CPU414-3 | 6ES7 414-3XM05-0AB0 |
4 | STEP7 V11 SP2 update5 |
|
5 | Windows 7 SP1 |
|
表1
2. 组态
2.1配置S7-400站点
S7-400站点配置参见表2。
序号 | 说明 | 图示 |
---|---|---|
1. | 创建新项目“S7-400 one-way”后,单击“项目视图” |
|
2. | 双击项目树下的“添加新设备”功能,弹出添加新设备对话框 |
|
3. | 在添加新设备对话框中的步骤: a) 选择设备类型“PLC” b) 选择使用的CPU型号 c) 选择使用的CPU的版本号 d) 勾选“打开设备视图” 点击“确定”按钮后将显示设备视图 | |
4. | 增加电源模块 |
|
5. | 在设备视图中设置DP接口参数: a) 点击工作区S7-400 CPU的DP接口 b) 添加新子网 c) 设置S7-400的站地址为2 d) 将工作区切换到网络视图
| |
6. | 设置PROFIBUS总线参数: a) 点击工作区内的PROFIBUS_1总线 b) 选择xun视窗口的属性标签中的“网络设置” c) 设置传输率为1.5Mbps,标识号为标准,zui高PROFIBUS地址为126 |
|
7. | 创建S7连接: a) 点击工具栏“连接”图标,下拉框中选择S7连接 b) 鼠标右键点击CPU,在弹出菜单中选择“添加新连接”,然后出现“创建新连接”对话框 |
|
8. | 在创建新连接对话框中做以下设置: a) 确认连接类型为S7连接 b) 设定使用的本地接口,此处接口为PLC_1,DP接口_1(R0S2) c) 设定连接ID,此处为1 d) 勾选“主动建立连接”复选框 点击“添加”按钮添加新连接,点击“关闭”按钮关闭创建新连接对话框 |
|
9. | 展开网络视图列表区域,设置S7连接参数 a) 点击列表区域的“S7_连接_1” b) 选择xun视窗口的属性标签中的“常规” c) 设置伙伴地址,此处为3 |
|
10. | a) 选择xun视窗口的属性标签中的“地址详细信息” b) 选择伙伴PLC的机架号和插槽号,示例中通信伙伴为S7-300,所以机架号为0,插槽号为2,TSAP为03.02 注:对于Profibus-S7通信: · 通信伙伴为S7-300,TSAP为03.02 · 通信伙伴为S7-1200/1500,TSAP为03.01 · 通信伙伴为S7-200,TSAP 为03.00 |
|
11. | a) 点击工作区PLC_1站点 b) 点击编译图标,编译组态 c) 点击下载图标,下载组态到CPU中 |
|
表 1
2.2配置S7-300站点
S7-300站点配置参见表3。
序号 | 说明 | 图示 |
---|---|---|
1. | 创建新项目“s7-300”后,单击“项目视图” | |
2. | 双击项目树下的“添加新设备”功能,弹出添加新设备对话框 |
|
3. | 在添加新设备对话框中的步骤: a) 选择设备类型“PLC”; b) 选择使用的CPU型号 c) 选择使用的CPU的版本号 d) 勾选“打开设备视图” 点击“确定”按钮后将显示设备视图 | |
4. | 在设备视图中设置DP接口参数: a) 点击工作区S7-300 CPU的DP接口 b) 添加新子网 c) 设置S7-300站地址为3 d) 将工作区切换到网络视图
| |
5. | 设置PROFIBUS总线参数: a) 点击工作区PROFIBUS_1总线 b) 选择xun视窗口的属性标签中的“网络设置” c) 设置传输率为1.5Mbps,标识号为标准,zui高PROFIBUS地址为126 | |
6. | a) 点击工作区PLC_1站点 b) 点击编译图标,编译组态 c) 点击下载图标,下载组态到CPU中 |
|
表 3
3 通信连接
如图3-1示意图,使用RS485总线连接器通过PROFIBUS标准电缆分别连接CPU414-3DP 的X2接口和CPU315-2DP的X2 接口。
图3-1 CPU之间DP通信连接示意图
4 通信编程
由于配置的是S7单边通信,只需在配置S7网络连接的一方进行编程,所以本例中只需要在CPU414-3DP中编程调用系统功能块SFB14/SFB15,如表4。
序号 | 说明 | 图示 |
---|---|---|
1. | 展开项目树,双击程序块下Main[OB1],在工作区中打开OB1
|
|
2. | a) 打开指令任务卡 b) 展开通信指令 c) 选择GET指令并拖拽至程序段1,按提示添加背景数据块
|
|
3. | 展开xun视窗口,选择“属性”选项卡 a) 点击程序段1中GET功能块 b) 选择xun视窗口的“组态”标签页,点击“连接参数” c) 点击“连接名称”后的“…”按钮在“连接概览”对话框中选择需要绑定的连接 |
|
4. | 在连接概览对话框中选择需绑定到功能块的连接,此处为“S7_连接_1”,点击“确定”按钮完成连接选择
|
|
5. | 为GET功能块设置参数 · REQ:控制参数 request,在上升沿时激活数据交换功能,此处为M0.0,系统自动为其分配符号名称“Tag_1” · ADDR_1:指向通信伙伴 CPU 上待读取区域的指针,为P#M10.0 BYTE10 · RD_1:指向本地 CPU 上用于写入已读数据的区域的指针,此为P#M100.0 BYTE 10 注:此处功能块的调用结果是:REQ上升沿每执行一次,读取通信伙伴MB10 ~MB19当前的数据值,并保存至本地的MB100~MB109区域中 |
|
6. | 重复步骤2~4,组态PUT功能块,设置参数: · REQ:控制参数 request,在上升沿时激活数据交换功能,此处为M0.1,系统自动为其分配符号名称“Tag_2” · ADDR_1:指向伙伴 CPU 上用于写入数据的区域的指针,此为P#M20.0 BYTE10 · SD_1:指向本地 CPU 上包含要发送数据的区域的指针,此为P#M200.0 BYTE 10 注:此处功能块的调用结果是:REQ上升沿每执行一次,本地MB200~MB209的当前数据值写入到通信伙伴MB20~MB29地址区域中 |
|
7. | 右键单击项目树下程序块,在弹出对话框中选择“编译”->“软件” |
|
8. | 右键单击项目树下程序块,在弹出对话框中选择“下载到设备”->“软件(所有块)” |
|