首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >PLC Control with ST,V3版本学习笔记16—ST语言编程向导和模拟测试!

PLC Control with ST,V3版本学习笔记16—ST语言编程向导和模拟测试!

作者头像
Hello工控
发布2025-12-23 14:17:26
发布2025-12-23 14:17:26
380
举报
文章被收录于专栏:Hello工控Hello工控

我们在开展项目的时候,并非要等到所有设备就位通电后,才开始设计和调试程序。否则,项目可能根本无法正常交期!

本章是原书的最后一章。它提供编写ST程序时的指导建议,并包含程序调试与测试的方法。

编程练习指南

本节为读者解决编程练习提供步骤指导。

  1. 开始阶段
    • 反复阅读任务描述,确保仅实现需求内容,避免过度开发。额外的代码可能增加错误风险,影响客户对代码质量的评价。
    • 若需求描述不清晰,需参考功能说明文档(如控制描述文档)并与客户确认细节。
  2. I/O列表
    • 制定详细的I/O列表,明确传感器和仪表的测量方式及工作原理。列表应在编程前完成95%以上,后续修改可能影响整体测试。
    • 变量/TAG命名需具有描述性,确保与项目文档一致。
  3. 人机界面(HMI)
    • 提前绘制HMI界面草图,征求客户或同事反馈。界面修改耗时,需在配置前确认设计。
    • 列出PLC与HMI交互的变量/TAG,作为接口文档供多人协作参考。
  4. 流程图
    • 为复杂程序部分绘制流程图,便于理解程序逻辑和后续维护。
  5. 设计阶段
    • 在纸上规划程序模块、函数和功能块,可通过流程图辅助设计。
    • 初学者可采用自底向上法(见下文)逐步构建程序。
  6. 编程与实现
    • 若卡壳超过15分钟,寻求同事或网络帮助。一旦超过15分钟,可能问题还是没有解决,或者浪费了60分钟甚至更多!
    • 定期保存代码,防止开发工具崩溃导致丢失。
    • 频繁测试小段代码(每3-6行),避免大规模调试。
    • 使用两个项目文件:一个为最终版本,另一个用于沙盒测试。
    • 利用HMI实时验证功能模块,记录测试结果(如截图)。
    • 自下向上法:从明确的小功能(如灯闪烁代码)开始,逐步组合成完整程序。

编程与故障排除技巧

本节提供ST程序调试的实用建议。

调试难点

PLC实时运行依赖传感器和定时器变量,单步调试可能不适用。建议:

禁用部分模块(通过//注释调用)缩小排查范围。

技巧列表

  1. 双项目文件:一个用于发布,另一个用于实验性开发。
  2. 频繁测试:每编写几行代码立即验证。
  3. 定时器调试:临时缩短定时值加速测试,完成后恢复原值。
  4. 数组测试:调试时缩小数组尺寸(如5个元素),发布前调整回实际大小。
  5. 执行验证:插入计数器变量(如i := i + 1)确认代码块是否运行。
  1. HMI测试页:创建密码保护的调试页面,显示内部变量或错误日志。
  2. 测试模式标志:通过布尔变量模拟物理开关(如IF TestModeBit THEN S2_STOP := TRUE;)。
  1. 逻辑清晰化:避免复杂逻辑表达式,改用IF语句分层判断。 不建议:

建议:

  1. 复杂代码追踪:使用临时变量标记执行路径(如TestVar := 3标识特定分支)。
  1. 日志文件:用字符串变量记录执行状态,便于长期监控。
  2. 变量值异常
    • 检查变量是否在其他位置被修改。
    • 确认IF语句中使用=而非:=

尝试用这种方式,能准确地知道哪个条件满足且执行了!

图片
图片

模块测试与设备模拟

测试函数和模块时,常因实际设备未就位而困难。本节介绍模拟方法:

  1. 储罐容积计算测试
    • 创建测试数组ArTankTest,输入不同液位(包括超范围值)验证函数准确性。
  2. 传送带箱子尺寸模拟
    • 定义箱子尺寸数组BoxArray,通过随机数生成器模拟不同尺寸箱子的到达顺序。
  3. 泵站液位模拟
    • 利用正弦波信号生成液位波动(0-4000范围),触发不同浮球开关(如LS1 := Level >= 1500)。
  4. 机器人控制器模拟
    • 编写功能块RobotSim,用定时器模拟机器人程序运行时间(如7秒),通过数字信号(DI1/DO1)控制启停。

功能块:

主程序:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hello工控 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 编程练习指南
  • 本节提供ST程序调试的实用建议。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档