摘要:西门子工业1847俱乐部推出全新栏目【专家视角】!由多位西门子全球高级核心专家供稿,从行业大拿的视角看待工业里的各种应用问题。每周二更新!欢迎锁定“西门子工业1847俱乐部”公众号!
崔坚
西门子全球高级核心专家
西门子自动化产品、系统技术权威和领军人物
深耕自动化产品领域,纵横三代,无出其右
最近,不少工程师在后台问我:
“STL语言是不是快被淘汰了?新手还要不要学?”
作为深耕西门子自动化技术的“老兵”,今天我就从技术底层和行业趋势出发,彻底说清这个问题。
STL的“黄金时代”:为何它曾是S7-300/400的编程王者?
在S7-300/400时代,绝对地址寻址是PLC编程的核心逻辑,而STL(语句表语言)正是为此而生。它的优势堪称“降维打击”:
一指令极简
所有LAD(梯形图)程序均可转为STL,反之却不行,因为STL能自动剔除冗余指令;
二变址寻址独占
只有STL支持通过地址寄存器动态访问数据,这对复杂逻辑开发至关重要;
三兼容性强
即便没有源文件的SCL(结构化文本)程序,打开后仍以STL形式呈现。
正因如此,STL一度是自动化工程师的“必修课”。但技术浪潮从不停歇,随着S7-1500的横空出世,STL的统治地位开始动摇。
S7-1500的“技术革命”:
STL为何沦为“虚拟遗产”?
自从西门子推出S7-1500系列PLC,符号名寻址彻底取代绝对地址,变址功能也被VARIANT类型和参考变量替代。从底层架构看,S7-1500已不再原生支持STL。但现实很骨感——全球仍有大量S7-300/400设备在运行,移植需求迫在眉睫。
为此,西门子做了一项妥协:在S7-1500中虚拟STL运行环境。通过模拟地址寄存器、DB寄存器和状态字,确保旧程序兼容。但这种“虚拟化”代价高昂:
一效率折损
STL指令需经多层转换,拖慢CPU处理速度;
二功能受限
仅支持32位数据操作,而SCL/LAD早已拥抱64位时代;
三编程方便但不友好
符号寻址下,STL的复杂语法让新手望而生畏。
技术上讲,STL虽然已被淘汰,但是习惯这样编程方式的工程师仍然可以使用,同时也可以混合使用S7-1500新的编程方式。
专家忠告:
新手为什么必须远离STL?
尽管STL尚未消失,但我强烈反对新手学习它,原因有三:
一学习曲线陡峭
STL依赖底层硬件知识,新手极易陷入“地址地狱”;
二技术红利消失
64位数据处理、结构化编程等需求,STL无法满足;
三效率拖后腿
STL使用绝对地址寻址方式,CPU内部增加了各种数据类型的转换,导致CPU扫描时间大大增长。
即使是STL老手,面对SCL的模块化封装、LAD的可视化调试,也会果断“弃旧投新”。
给工程师的终极建议
1
新手请直奔SCL/LAD,掌握结构化编程才是未来;
2
老手可逐步迁移旧项目,利用TIA博途的自动转换工具减少阵痛。
每月为您推荐超多工控资讯
来源:西门子工业支持中心