设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
S7-1500 和S7-400 S7双边通信(TIA博途和STEP7) ...
返回列表
发新帖
[西门子]
S7-1500 和S7-400 S7双边通信(TIA博途和STEP7)
[复制链接]
36227
|
0
|
2024-5-10 14:48:08
|
显示全部楼层
|
阅读模式
本章节介绍了S7-1500与S7-400通过BSEND/BRCV方式进行双边通信的组态编程步骤,用于实现S7-1500与S7-400不在同一项目中且S7-400用经典STEP7的场景。
S7-1500与S7-400 S7双边通信(不在同一个项目,S7-1500侧用TIA Portal,S7-400侧用经典STEP7)
S7通信分为单边通信和双边通信,双边通信可以用BSEND/BRCV或USEND/URCV指令,BSEND/BRCV可以传送更多的数据。
S7-1500既支持单边通信,也支持双边通信。
本文介绍S7-1500与S7-400通过BSEND/BRCV方式进行双边通信的组态编程步骤,用于实现S7-1500与S7-400不在同一项目中且S7-400用经典STEP7的场景。
实验使用的主要硬件和软件如表1所示:
表1 实验环境
1.组态
S7-1500站点在 TIA Portal 中组态,S7-400 站点在经典STEP7 中组态。
1.1 使用TIA Portal生成S7-1500站点
使用TIA Portal创建一个新项目,组态S7-1500站点,并设置IP地址如图1所示。
图 1 生成S7-1500站点
1.2 S7-1500侧组态S7连接
在"设备组态"中 ,选择"网络视图"栏进行网络配置,点中左上角的"连接"图标,连接框中选择"S7连接",然后选中S7-1500 CPU,右键选择"添加新的连接",在创建新连接对话框内,选择连接对象"未指定",选择本地接口"PLC_1,PROFINET接口_1[X1]",点击"添加"按钮,这时在"信息"栏能看到S7连接已添加的信息,点击"关闭"按钮,完成建立新连接,如图 2 所示。
图 2 S7-1500侧创建S7连接
在"网络视图"中间栏的"连接"条目中,可以看到已经建立的"S7_连接_1",如图 3 所示。
图 3 S7-1500侧S7 连接
点中上面的连接,在"S7_连接_1"的连接属性中查看和设置各参数。
在常规中,伙伴的站点和接口选择"未指定",伙伴的IP地址设置为S7-400的IP地址(192.168.0.41),如图4所示。
图 4 S7-1500侧的常规参数
在本地ID中:设置通讯连接的ID 号,本地ID在本地PLC中必须是唯一的,在后续的通信编程中需要指向这个ID,这里ID=W#16#100,如图5所示。
图 5 S7-1500侧的本地ID
在地址详细信息中:设置通讯双方的 TSAP 号,伙伴的机架/插槽设置为S7-400CPU所在的机架号和插槽号,在这里是0和2。伙伴的连接资源设置为S7-400站点的本地连接资源,在这里是 10,如图6所示。
图 6 S7-1500侧的地址详细信息
在特殊连接属性中:可以选择是否为主动建立连接。通信的双方只能有一方是主动建立连接,另一方是被动建立连接,这里S7-1500是主动建立连接,如图7所示。
图 7 S7-1500侧的特殊连接属性
1.3 使用经典STEP7 组态S7-400站点
使用经典STEP7创建一个新项目,组态S7-400站点,并设置IP地址如图8所示。
图 8 S7-400侧生成站点
1.4 S7-400侧组态S7连接
在硬件组态界面上方点击"组态网络"图标,进入网络组态的窗口界面,选中S7-400CPU,右键点击下方表格,选择"插入新连接",在弹出的对话框中,连接伙伴选择"未指定",类型选择"S7连接",点击"确定"。如图9所示。
图 9 S7-400侧创建S7连接
在弹出的S7连接属性对话框中,伙伴的IP地址设置为S7-1500的IP地址(192.168.0.151)。取消勾选"建立主动连接"。设置"Local ID",这里设置为1。
然后点击"Address Detail"按钮,弹出的地址详细信息对话框,设置通讯双方的 TSAP 号,伙伴的机架/插槽设置为S7-1500CPU所在的机架号和插槽号,在这里是0和1。伙伴的连接资源设置为S7-1500站点的本地连接资源,在这里是 10,如图10所示。
图 10 S7-400侧S7连接参数
2 通信编程
2.1 S7-1500侧通信编程
在 S7-1500 侧,分别创建用于发送和接收的数据块,定义成 10 个字节的数组,如图 11 所示。
图 11 传输数据区
在S7-1500侧,在OB1中,从"指令" >"通信" >"S7 通信">"其它"下,调用 BSEND、BRCV 通信指令,如图 12 所示。
图 12 S7-1500侧发送接收指令调用
BSEND指令的各个参数说明如表2所示:
表2 BSEND指令参数
BRCV指令的各个参数说明如表3所示:
表3 BRCV指令参数
2.2 S7-400侧通信编程
在 S7-400 侧,首先创建用于发送和接收的数据块,定义成 10 个字节的数组,如图 13 所示。
图 13 S7-400侧生成数据块
然后在OB1中,从"Libraries" >"Standard Library" >"System Function Blocks"下,调用 SFB12 BSEND、SFB13 BRCV 通信指令,如图 14 所示。
图 14 S7-400侧发送接收指令调用
指令的各个参数参考上述表2、表3中的说明。
3 监控结果
两个 CPU 之间数据交换,监控结果如图 15 所示。
西门子WINCC
博途WinCC专业版C/S架构入门指南
咔!咔!咔!自动/停止/手动 - WinCC中的三档转换
按图索数-WinCC中的“地图+数据”
WinCC与S7-1500 R/H系统通信
通过Web Service与WinCC交互数据
可缩放矢量图形(SVG)在WinCC中的应用
WinCC V7.5典型架构及选型指南
自动语音播报WinCC报警消息
西门子TIA博途
1.S7-PLCSIM Advanced使用入门
2.使用PLCSIM Advanced仿真博途PID
3.使用PLCSIM Advanced仿真博途Modbus_TCP
4.使用PLCSIM Advanced仿真博途S7-1500 OPC UA
西门子TIA博途SCL学习
1.西门子PLC用TIA博途SCL语言写的一个产生随机实数的指令块(学习1)
2.TIA博途SCL编程学习2_sin(x)
3.TIA博途SCL编程学习3_两个数的计算器
4.TIA博途SCL编程学习4_选择法排序
5.TIA博途SCL编程学习5_一串数字的加法
6.TIA博途SCL编程学习6_数组逆序
7.西门子TIA博途S7-1200/1500学习7间接寻址指令PEEK的使用
8.TIA博途SCL编程学习8_计算N天后的日期
9.TIA博途SCL编程学习9_百鸡百钱
10.TIA博途SCL编程学习10_字符串日期转换成DATE数据类型
11.TIA博途SCL编程学习11_多条件与运算
12.TIA博途SCL编程学习12_数组求和两种算法比较
13.TIA博途SCL编程学习13_电机正反转加点动
14.TIA博途SCL编程学习14_填表格
15.TIA博途SCL编程学习15_素数判断
16.TIA博途SCL编程学习16_歌德巴赫猜想验证
17.TIA博途SCL编程学习17_选择法排序
18.TIA博途SCL编程学习19_分数段人数统计
19.TIA博途SCL编程学习19_分数段人数统计
20.TIA博途SCL编程学习20_换钱
21.TIA博途SCL编程学习21_4个数字中的3个数字的排列组合
22.TIA博途SCL编程学习22_奖金计算
23.TIA博途SCL编程学习23_求最大公约数和最小公倍数
24.TIA博途SCL编程学习24_一串数字的加法
25.TIA博途SCL编程学习25_找出1-1000之间的完数
26.TIA博途SCL编程学习26_小球反弹高度
27.TIA博途SCL编程学习27_猴子吃桃
28.TIA博途SCL编程学习28_一个分数序列加法
29.TIA博途SCL编程学习29_五位数分解
30.TIA博途SCL编程学习30_捡鸡蛋
31.TIA博途SCL编程学习31_HelloWorld
32.TIA博途SCL编程学习32_幂
33.TIA博途SCL编程学习33_水仙花数
34.TIA博途SCL编程学习34_完数
35.TIA博途SCL编程学习35_另类比大小
36.TIA博途SCL编程学习36_自然数反转
37.TIA博途SCL编程学习37_数字加密
38.TIA博途SCL编程学习38_三种方法求最大公约数
39.TIA博途SCL编程学习39_友好数
40.TIA博途SCL编程学习40_平方回文数
41.TIA博途SCL编程学习40_斐波那契数列
42.TIA博途SCL编程学习41_大数乘法
43.TIA博途SCL编程学习42_三位数的组合
44.TIA博途SCL编程学习43_新娘和新郎
45.TIA博途SCL编程学习44_韩信点兵
46.TIA博途SCL编程学习45_过桥问题
47.TIA博途SCL编程学习46_分鱼问题
48.TIA博途SCL编程学习47_跳跃游戏
49.TIA博途SCL编程学习47_狼追兔子
50.TIA博途SCL编程学习50_扑克牌顺子判断
51.TIA博途SCL编程学习51_邮票组合
52.博途SCL编程实例泵顺启逆停的状态机
53.TIA博途SCL编程学习52_邮票组合抓捕交通肇事犯
54.TIA博途SCL编程学习53_求车速
55.TIA博途SCL编程学习54_公式法计算圆周率(Π的近似值)
WinCC中的画面模板应用实例及其组态实现方法
罗克韦尔AB软件学习视频下载
WinCC 输入/输出域没有所需要的预定义输出格式该怎么办?
在WinCC中如何使用VBS读取变量归档数据到EXCEL
西门子S7-1500作为智能设备共享功能
PLC工程师必须善于使用循环中断OB
西门子PLC固件更新五大法——一键获取S7-1500最新固件
作者:
刘宁宁 - 西门子TIA博途产品经理
特别致谢
赵正等西门子SIMATIC系统支持部技术专家
TIA Portal V19已于2023年11月底发布,关于软硬件更新大家可参考往期内容:
重磅!TIA Portal V19 已正式发布!
博途V19 运动控制更新一览
一般来说,每当博途进行大版本的升级后,PLC硬件也都会有大版本的固件更新,V19更新后S7-1500的固件版本升级至了V3.1。总体来说,固件升级有以下原因:
适应更新更强的硬件
在原有平台增强功能
修复原有BUG
目前的固件版本型号格式为Vx.y.z (如V1.0.1),在博途中的组态只需关注前两个数字,第三个数字是用来修复错误的小版本,不影响正常功能的使用,第三个数字如果变化也建议更新。
下面介绍5种固件更新的方法:
一. 通过存储卡更新
存储卡的大小要超过固件文件大小,才可使用存储卡进行固件更新。如:V2.9.2之后,所有S7-1500系列CPU如果通过存储卡更新,都至少需要256 MB存储卡;1500显示屏的固件文件较小,使用至少12 MB的存储卡即可。
更新步骤如下:
1. 将固件包下载到本地并解压2. 将格式化存储卡3. 存储卡插入电脑,复制“S7_JOB.S7S”和 “FWUPDATE.S7S”文件夹至存储卡。在复制 "S7_JOB.S7S“ 时会提示替换文件,选择替换("S7_JOB.S7S“ 决定了卡的模式,是程序卡还是固件更新卡)
4. 将CPU断电,插入存储卡后再重新上电,固件会自动进行更新,维护指示灯快速闪烁即表示当固件更新完成
下图为1500更新中显示屏的界面:
5. 出现“更新成功”与“移除存储卡”的字样后,即可通过红框中转换存储卡功能,将固件更新卡变为程序卡
对于CPU显示屏来说,存储卡中如果是对应的显示屏固件更新文件,则执行上述操作后,CPU显示屏会自动更新。
二. 通过Web服务器访问更新
在使用Web服务器访问之前,需要先启用CPU的Web服务器访问功能。具体步骤如下:1. 在设备视图中,启用CPU的Web服务器功能
2. 勾选“执行固件更新”访问权限
3. 打开浏览器,输入CPU的IP地址
4. 选择固件文件并运行更新
对CPU显示屏的固件更新,也是类似的操作:
三. 通过TIA Portal组态中更新
借助TIA Portal软件,对已组态的CPU进行固件更新的步骤如下:1. 先将CPU转至在线,在线和诊断中点击“功能”-“固件更新”,在PLC下选择固件文件,运行更新
显示下选择对应文件并运行,即是对CPU显示屏更新固件:
四. 通过TIA Portal在线访问中更新
借助TIA Portal软件,也可在“在线访问”中进行固件更新,步骤如下:1. 连接PLC后,在博途项目树中展开“在线访问”,搜索到需要更新的设备,进入“在线和诊断”
2. 选择固件文件,运行更新
显示下选择对应文件并运行,即是对CPU显示屏更新固件:
五. 通过Automation Tool更新
SIMATIC Automation Tool 非常适合在不安装博途的情况下进行调试和维护,是西门子专门实现调试、维护和服务的小工具。详情可参见往期文章:SIMATIC 模块调试与维护工具
1. 选择网卡,扫描网络中的设备
2. 设置始终信任TLS证书;点击固件更新,选择该硬件对应更新固件的文件
CPU display下选择对应文件并运行,即是对CPU显示屏更新固件:
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
aric_cui
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』