当前位置:首页 > 技术分析 > 正文内容

[西门子PLC] 西门子 S7-1500 数组型多重实例的监控与调试

ruisui881个月前 (05-15)技术分析28

概述:

在前面文章中介绍过西门子 TIA Portal 调用环境的功能和使用方法,对于不同的和特定的背景实例的监控,可以通过更改调用环境来实现,适用于单个实例和在接口变量中单个定义的多重实例。但如果在接口变量中使用数组型多重实例,通过更改调用环境的方法就不能实现对数组中的单个元素的多重实例进行监控了,此时可以使用断点调试的方法进行监控和调试。

第1步:

添加 PLC 设备。

选择西门子 CPU 1512SP-1 PN。

设置 IP 地址:192.168.18.2。

子网掩码:255.255.255.0

图 1 添加 PLC 设备

第2步:

添加全局数据块。

1. 添加电机启停控制全局数据块。

命名为:GdbMotorsData。

图 2 电机启停控制全局数据块

在以上全局数据块中添加变量,布尔型数组变量 starts 用作电机启动,布尔型数组变量 stops 用作电机停止,布尔型 motors 用作电机运行输出。

2. 添加断点监控全局数据块。

命名为:GdbPublicData。


图 3 断点监控全局数据块

在以上全局数据块中添加变量,整型变量 loopStep 用作断点调试监控循环变量值的全局数据块。

第3步:

编写程序。

1. 添加单个电机启停控制函数块。

命名为:Motor。

图 4 单个电机启停函数块

定义接口变量,布尔型输入 start 用作电机启动,布尔型输入 stop 用作电机停止,布尔型输出 motorQ 用作电机运行输出。编写 LAD 程序,控制单个电机的启停。

2. 添加多个电机启停控制函数块。

命名为:Motors。


图 5 多个电机启停函数块

定义接口变量,对应图 4 中的功能,电机的启动、停止和运行输出均定义为含有 3 个元素的数组型布尔变量,可控制 3 台电机。在静态变量中添加了电机控制的含有 3 个元素的数组型多重实例,还添加了一个用来监视断点调试步骤的变量,数据类型可以任意,与赋值相匹配即可。编写 SCL 程序,通过多重实例循环调用在图 4 中编写的单个电机启停控制函数块,控制多个电机的启停。在以上程序代码的第 22 行和第 28 行添加断点代码,第 22 行用来监视循环运行步骤,即对应的当前正在运行和监视的电机编号,第 28 行可以是任意语句,仅用作程序运行到此停留的断点。

3. 在主程序 OB1 中调用多个电机启停控制函数块。


图 6 在主程序中调用

使用第 2 步中创建的全局数据块配置实参。

第4步:

在线电机启停控制全局数据块,并初始化变量状态。

通过修改变量值让第 1 台电机启动和停止的变量值复位,运行输出的变量值置位;第 2 台电机启动和停止的变量值复位,运行输出的变量值复位;第 3 台电机启动变量值置位,停止变量值复位,运行输出变量值置位。

图 7 在线并初始化变量状态

这样就获得了 3 台电机的 3 种工作状态,为后续断点调试做好准备,方便监视多重实例的调用和运行状态。

第5步:

在线 PLC 并启用监视。在代码行的第 22 行和第 28 行分别添加两个断点,如图 8 所示。

图 8 添加断点

如设置了调用环境,则断点图标上会有黄色的感叹号,此时不能对断点进行操作,应通过点击“更改”按钮将调用环境改为“无”。如图 9 所示。

图 9 修改调用环境

在右侧断点选项卡中点击“启用断点”按钮,启用断点。

图 10 启用断点确认

在弹出窗口中点击“是”按钮,此时 CPU 将转入“HOLD”模式状态,CPU 的 RUN/STOP 指示灯变成黄色。

图 11 进入断点调试状态

此时程序运行并停留到第 22 行,即第一个断点处,等待断点运行指令。

第6步:

在断点调试选项卡中点击“运行”按钮,监视多重实例数组的第 0 个元素,即第一个电机的运行状态。

图 12 监视第一个电机状态

继续在断点调试选项卡中点击“运行”按钮,监视多重实例数组的第 1 个元素,即第二个电机的运行状态。

图 13 监视第二个电机状态

继续在断点调试选项卡中点击“运行”按钮,监视多重实例数组的第 2 个元素,即第三个电机的运行状态。

图 14 监视第三个电机状态

第7步:

调试完成后,点击菜单栏中的“转至离线”按钮。在弹出的窗口中点击“是”按钮,系统将继续转为运行状态。

图 15 转至离线


西门子 S7-1500 数组型多重实例的监控与调试

http://bbs.plcjs.com/forum.php?mod=viewthread&tid=502166&fromuid=42656

(出处: PLC论坛-全力打造可编程控制器专业技术论坛)



#非标自动化#

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/4095.html

分享给朋友:

“[西门子PLC] 西门子 S7-1500 数组型多重实例的监控与调试” 的相关文章

「 VUE3 + TS + Vite 」父子组件间如何通信?

组件之间传值,大家都很熟悉,涉及到 VUE3 +TS 好多同学就无从下手了,所以分享这篇文章,希望看完后提起 VUE3+TS 能够不慌不忙。平时使用的函数如:ref、reactive、watch、computed 等需要先引入才能使用,但是本篇文章介绍的 defineProps、withDefaul...

继Yuzu后,任天堂要求移除多个Switch模拟器项目

IT之家 7 月 11 日消息,任天堂美国分公司 (Nintendo of America) 已要求移除多个用于模拟 Nintendo Switch 游戏的开源模拟器项目,其中包括 Suyu、Nzu、Uzuy、Torzu、Sudachi 和 Yuzu-vanced 等。这些模拟器均被指控包含绕过任天...

雅马哈TMAX 560 TECH MAX 外媒深度测评

应雅马哈(Yamaha)的邀请,在葡萄牙埃斯托里尔对全新的Yamaha TMAX 560 Tech Max踏板车进行了测试,在这里TMAX 560 Tech Max售价为11649英镑。雅马哈TMAX长期以来一直站在踏板车的顶端,就声誉和知名度而言,它是当之无愧的大踏板界NO.1。2020 TMAX...

Vue Router 4 路由操作 - 路由导航

路由导航分为 声明式导航 和 编程式导航。通过 <router-link to="..."> 标签跳转的方式为声明式导航。通过 路由实例对象(router.push(...))跳转的为编程式导航。导航到不同的位置想要导航到不同的URL,使用 router.push 方法。...

精品微信小程序在线考试系统+后台管理系统|前后...

《微信小程序在线考试系统+后台管理系统|前后分离VUE》该项目含有源码、论文等资料、配套开发软件、软件安装教程、项目发布教程等本系统包含微信小程序前台和Java做的后台管理系统,该后台采用前后台前后分离的形式使用Java+VUE微信小程序——前台涉及技术:WXML 和 WXSS、JavaScript...

企业微信自建应用和消息发送配置对接系统指南

本文介绍企业微信应用创建、消息提醒、自动回复、自定义菜单和服务端接口对接过程。企业微信登录:https://work.weixin.qq.com/企业微信接口对接,应用授权和发送消息代码:https://www.easywechat.com/docs/5.x/wework/oauth一、创建自建应用...