n
1概述n
S7协议是SIEMENS S7系列产品之间通讯使用的标准协议,其优点是通信双方无论是在同一MPI总线上、同一PROFIBUS总线上或同一工业以太网中,都可通过S7协议建立通信连接,使用相同的编程方式进行数据交换而与使用何种总线或网络无关。S7通信分为按组态方式可分为单边通信和双边通信,单边通信通常应用于以下情况:n
· 通信伙伴无法组态S7连接n
· 通信伙伴无法停机n
· 不希望在通讯伙伴侧增加通信组态或程序n
本文介绍S7-400基于PROFIBUS总线的S7单边通信的组态步骤,用于实现两个独立项目之间的S7通信。n
实验环境,见表1。n
序号 | 名称 | 订货号 |
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 |
表1n
2 组态
2.1配置S7-400站点
S7-400站点配置参见表2。n
序号 | 说明 | 图示 |
1. | 创建新项目“S7-400 one-way”后,单击“项目视图”n | |
2. | 双击项目树下的“添加新设备”功能,弹出添加新设备对话框 | |
3. | 在添加新设备对话框中的步骤:n a) 选择设备类型“PLC”n b) 选择使用的CPU型号n c) 选择使用的CPU的版本号n d) 勾选“打开设备视图”n 点击“确定”按钮后将显示设备视图 | |
4. | 增加电源模块 | |
5. | 在设备视图中设置DP接口参数:n a) 点击工作区S7-400 CPU的DP接口n b) 添加新子网n c) 设置S7-400的站地址为2n d) 将工作区切换到网络视图n | |
6. | 设置PROFIBUS总线参数:n a) 点击工作区内的PROFIBUS_1总线n b) 选择巡视窗口的属性标签中的“网络设置”n c) 设置传输率为1.5Mbps,标识号为标准,最高PROFIBUS地址为126 | |
7. | 创建S7连接:n a) 点击工具栏“连接”图标,下拉框中选择S7连接n b) 鼠标右键点击CPU,在弹出菜单中选择“添加新连接”,然后出现“创建新连接”对话框 | |
8. | 在创建新连接对话框中做以下设置:n a) 确认连接类型为S7连接n b) 设定使用的本地接口,此处接口为PLC_1,DP接口_1(R0S2)n c) 设定连接ID,此处为1n d) 勾选“主动建立连接”复选框n 点击“添加”按钮添加新连接,点击“关闭”按钮关闭创建新连接对话框 | |
9. | 展开网络视图列表区域,设置S7连接参数n a) 点击列表区域的“S7_连接_1”n b) 选择巡视窗口的属性标签中的“常规”n c) 设置伙伴地址,此处为3 | |
10. | a) 选择巡视窗口的属性标签中的“地址详细信息”n b) 选择伙伴PLC的机架号和插槽号,示例中通信伙伴为S7-300,所以机架号为0,插槽号为2,TSAP为03.02n 注:对于Profibus-S7通信:n · 通信伙伴为S7-300,TSAP为03.02n · 通信伙伴为S7-1200/1500,TSAP为03.01n · 通信伙伴为S7-200,TSAP 为03.00 | |
11. | a) 点击工作区PLC_1站点n b) 点击编译图标,编译组态n c) 点击下载图标,下载组态到CPU中 |
表1n
2.2配置S7-300站点
S7-300站点配置参见表3。n
序号 | 说明 | 图示 |
1. | 创建新项目“s7-300”后,单击“项目视图” | |
2. | 双击项目树下的“添加新设备”功能,弹出添加新设备对话框 | |
3. | 在添加新设备对话框中的步骤:n a) 选择设备类型“PLC”;n b) 选择使用的CPU型号n c) 选择使用的CPU的版本号n d) 勾选“打开设备视图”n 点击“确定”按钮后将显示设备视图 | |
4. | 在设备视图中设置DP接口参数:n a) 点击工作区S7-300 CPU的DP接口n b) 添加新子网n c) 设置S7-300站地址为3n d) 将工作区切换到网络视图n | |
5. | 设置PROFIBUS总线参数:n a) 点击工作区PROFIBUS_1总线n b) 选择巡视窗口的属性标签中的“网络设置”n c) 设置传输率为1.5Mbps,标识号为标准,最高PROFIBUS地址为126n
| |
6. | a) 点击工作区PLC_1站点n b) 点击编译图标,编译组态n c) 点击下载图标,下载组态到CPU中 |
表3n
3 通信连接
如图3-1示意图,使用RS485总线连接器通过PROFIBUS标准电缆分别连接CPU414-3DP 的X2接口和CPU315-2DP的X2 接口。n
图3-1 CPU之间DP通信连接示意图n
4 通信编程
由于配置的是S7单边通信,只需在配置S7网络连接的一方进行编程,所以本例中只需要在CPU414-3DP中编程调用系统功能块SFB14/SFB15,如表4。n
序号 | 说明 | 图示 |
1. | 展开项目树,双击程序块下Main[OB1],在工作区中打开OB1n | |
2. | a) 打开指令任务卡n b) 展开通信指令n c) 选择GET指令并拖拽至程序段1,按提示添加背景数据块n | |
3. | 展开巡视窗口,选择“属性”选项卡n a) 点击程序段1中GET功能块n b) 选择巡视窗口的“组态”标签页,点击“连接参数”n c) 点击“连接名称”后的“…”按钮在“连接概览”对话框中选择需要绑定的连接 | |
4. | 在连接概览对话框中选择需绑定到功能块的连接,此处为“S7_连接_1”,点击“确定”按钮完成连接选择n | |
5. | 为GET功能块设置参数n · REQ:控制参数 request,在上升沿时激活数据交换功能,此处为M0.0,系统自动为其分配符号名称“Tag_1”n · ADDR_1:指向通信伙伴 CPU 上待读取区域的指针,为P#M10.0 BYTE10n · RD_1:指向本地 CPU 上用于写入已读数据的区域的指针,此为P#M100.0 BYTE 10n 注:此处功能块的调用结果是:REQ上升沿每执行一次,读取通信伙伴MB10 ~MB19当前的数据值,并保存至本地的MB100~MB109区域中 | |
6. | 重复步骤2~4,组态PUT功能块,设置参数:n · REQ:控制参数 request,在上升沿时激活数据交换功能,此处为M0.1,系统自动为其分配符号名称“Tag_2”n · ADDR_1:指向伙伴 CPU 上用于写入数据的区域的指针,此为P#M20.0 BYTE10n · SD_1:指向本地 CPU 上包含要发送数据的区域的指针,此为P#M200.0 BYTE 10n 注:此处功能块的调用结果是:REQ上升沿每执行一次,本地MB200~MB209的当前数据值写入到通信伙伴MB20~MB29地址区域中 | |
7. | 右键单击项目树下程序块,在弹出对话框中选择“编译”->“软件” | |
8. | 右键单击项目树下程序块,在弹出对话框中选择“下载到设备”->“软件(所有块)” |
更多例子例程,参S7-400PROFIBUS-S7.zip (2820 KB) ( 2820 KB ) n
更多关于S7通讯指令GET/PUT参数含义,参《STEP 7 Professional V12.0》手册9.8.2.5 通信章节。n
附录-推荐网址
自动化系统
西门子(中国)有限公司工业业务领域支持中心n
自动化系统下载中心:http://www.ad.siemens.com.cn/download/SearchResult.aspx?pid=1
自动化系统全球技术资源:http://support.automation.siemens.com/CN/view/zh/10805045/130000
基于产品的支持与服务主页:http://www.ad.siemens.com.cn/productportal/Default.aspx
通信/网络
西门子(中国)有限公司工业业务领域支持中心n
通信/网络下载中心:http://www.ad.siemens.com.cn/download/SearchResult.aspx?pid=408
通信/网络全球技术资源:http://support.automation.siemens.com/CN/view/zh/10805868/130000
传感器技术全球技术资源:http://support.automation.siemens.com/CN/view/zh/10807063/130000
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc329166.html