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

[复制链接]
查看83 | 回复0 | 6 天前 | 显示全部楼层 |阅读模式

概述:

在前面文章中介绍过西门子 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 转至离线



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则