24. LAD和STL编程形式的区别

24. LAD和STL编程形式的区别

PLC的LAD(梯形图)和STL(语句表)是两种最常用的编程形式,它们在表现形式、特点和适用性上存在显著区别,但可以相互关联。具体区别和联系如下:


一、核心区别

|----------|--------------------------------------------|-----------------------------------------------|
| 特性 | LAD(梯形图) | STL(语句表) |
| 表现形式 | 图形化 ,由触点、线圈、功能框等图形符号构成,类似于电气控制原理图。 | 文本化 ,由助记符指令 (如LD、A、O、=)按顺序编写,类似于汇编语言。 |
| 直观性 | 非常直观易懂 。逻辑关系一目了然,符合电气工程师的思维习惯,易于设计和维护。 | 不直观,抽象 。需要熟悉指令集,逻辑流隐藏在指令顺序中,可读性较差。 |
| 编程特点 | 以独立的网络块 为单位。每个网络块从左母线开始,包含一个完整的逻辑"梯级"。 | 可以严格按网络块为单位编写 ,也可以连续编写 (无视网络块结构)。 |
| 程序长度 | 图形占空间大,程序显得较长 (在软件中占用更多显示空间)。 | 代码简洁、紧凑 ,用更少的文本表达相同的逻辑。 |


二、关键联系与转换规则

  1. 可相互转换的条件
  • 只有当STL程序也严格按照LAD的每个独立网络块为单位进行编写 时,LAD和STL程序才能通过编程软件实现相互无缝转换,并且两者基本上是一一对应的。
  1. 无法转换的情况
  • 如果STL程序是连续编写 的(即没有遵循LAD的网络块结构),那么即使逻辑功能相同,编程软件也无法将其自动转换回清晰正确的LAD形式。这是编程时必须注意的重要事项。

三、应用场景与选择建议

  • LAD(首选推荐) :适用于绝大多数应用场景,特别是:
    • 逻辑控制、顺序控制。
    • 团队协作、程序调试和维护(因其直观性)。
    • 初学者和电气背景的工程师。
  • STL(特定场景) :通常由经验丰富的程序员在特定需求下使用,例如:
    • 需要更精细的控制和优化(如操作累加器、直接寻址)。
    • 实现复杂的算法或LAD难以表达的逻辑。
  • 追求极致的程序执行速度和代码精简。

四、从LAD到STL的手工转换方法(核心技能)

核心方法:对每个独立的LAD网络块,将其分成若干小块,按照'从左到右、从上到下'的原则对每个小块进行STL编程,然后将这些程序块连接起来,就完成了该网络块的STL程序。

(图片摘自《现代电气控制及PLC应用技术》(王永华))
这个过程能极大地帮助编程者深入理解PLC程序执行的底层原理和扫描顺序

总结

简而言之,LAD是面向逻辑和可视化的"工程图" ,而STL是面向处理器和执行的"指令集" 。它们服务于同一目标,但呈现方式不同。遵循"按网络块编程"的约定,是保持两种形式可互转、程序可读可维护的关键。 掌握两者,尤其是理解其间的转换,是深入学习PLC编程技术的重要一环。

相关推荐
专业CNC数据采集3 天前
广数 CNC 跨平台采集:状态、坐标、刀补、宏变量等读取,支持980tdi、986gs、988ta、980tb3i、980mdi、980tc3、980tdc等等
plc·cnc·数控通讯
深蓝海拓5 天前
基于QtPy (PySide6) 的PLC-HMI工程项目(十二)最后的工作
网络·笔记·python·学习·pyqt·plc
深蓝海拓9 天前
基于QtPy (PySide6) 的PLC-HMI工程项目(十一)框架的进一步完善:UI的自动周期更新以及下行数据的生成和处理
网络·笔记·python·学习·ui·plc
深蓝海拓12 天前
基于QtPy (PySide6) 的PLC-HMI工程项目(十)框架初成的阶段总结
网络·笔记·python·学习·ui·plc
深蓝海拓14 天前
基于QtPy (PySide6) 的PLC-HMI工程项目(八)在上位机中解析上行报文
网络·笔记·python·学习·plc
不知秋88015 天前
PEAK PCAN 设备常见报错与故障排查大全
单片机·嵌入式硬件·can·plc·codesys·peak
深蓝海拓16 天前
基于QtPy (PySide6) 的PLC-HMI工程项目(七)上位机通信部分的初步建设:socket客户端
网络·笔记·python·学习·plc
深蓝海拓24 天前
S7-1500PLC学习笔记:MOVE_BLK、MOVE_BLK_VARIANT、BLKMOV的区别
笔记·学习·plc
深蓝海拓24 天前
S7-1500学习笔记:用户自定义数据类型(UDT)
笔记·学习·plc
深蓝海拓25 天前
S7-1500学习笔记:Array数据类型
笔记·学习·plc