2.1配置s7-400站点
2.2配置s7-300站点
目录
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) 选择巡视窗口的属性标签中的“网络设置”
c) 设置传输率为1.5mbps,标识号为标准,高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) 选择巡视窗口的属性标签中的“常规”
c) 设置伙伴地址,此处为3
10.
a) 选择巡视窗口的属性标签中的“地址详细信息”
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) 选择巡视窗口的属性标签中的“网络设置”
c) 设置传输率为1.5mbps,标识号为标准,高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.
展开巡视窗口,选择“属性”选项卡
a) 点击程序段1中get功能块
b) 选择巡视窗口的“组态”标签页,点击“连接参数”
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.右键单击项目树下程序块,在弹出对话框中选择“下载到设备”->“软件(所有块)”