plc编程和st语言 高效学习PLC编程,使用ST语言编写控制程序无压力

小编 74 0

高效学习PLC编程,使用ST语言编写控制程序无压力

大家都知道PLC编程有很多语言可选择,在学习 CoDeSys 的过程中常会问一个问题,哪种编程语言最好?

其实,没有哪种编程语言是绝对的好或不好,不同的工程应用具有不同的最佳编程方式,每种编程语言都具有其不同的特点,可根据实际工程应用的需求选用合适的编程语言。

涉及到算法部分建议选择 ST 语言,编写的程序往往简洁而高效。

简单介绍

结构化文本(ST-Struct Text)是一种高级的文本语言,在西门子中称为SCL(Structured Control Language)语言,不要与STL混淆,可以用来描述功能,功能块和程序的行为,还可以在顺序功能流程图中描述步、动作和转变的行为。

结构化文本编程语言是一种高级语言,是 CoDeSys 中最常用的一种语言,对于熟悉计算机高级语言开发的人员来说,结构化文本语言更是易学易用,它可以实现选择、迭代、跳转语句等功能。在复杂控制系统中,结构化文本可以大大减少其代码量,使复杂系统问题变得简单。

当你的14寸电脑界面装不下一行梯形图,当你做一个算术运算洋洋洒洒几十步,那个时候发现用ST还是挺香的,只是看逻辑没有梯形图直观,编译速度相对较慢。大意了,有得必有失嘛,如果你不介意那就一起了解一下吧。

程序执行顺序

使用结构化文本的程序执行顺序根据“行号”依次从上至下开始顺序执行,每个周期开始,先执行行号较小的程序行。这是PLC的特性,从上至下循环扫描,周期性执行,在PLC配置中可以分配每段程序的扫描周期。同一段程序中被赋值两次,第一次的赋值将被覆盖。

这是PLC的特性,从上至下循环扫描,周期性执行,在PLC配置中可以分配每段程序的扫描周期。同一段程序中被赋值两次,第一次的赋值将被覆盖。

表达式执行顺序

表达式中包括操作符和操作数,操作数按照操作符指定的规则进行运算,得到结果并返回。操作数可以为变量、常量、寄存器地址、函数等。

在做算术运算时,根据表格中的表达式优先级运算,小括号的优先级最高,可以将你想要先执行的表达式写在小括号内。

指令语句

结构化文本语句表主要有 5 种类型,即赋值语句、函数和功能块控制语句、选择语句、迭代(循环)语句、跳转语句。

转发是最大的鼓励!谢谢您的支持!

小贴士

PLC专属资料: 含有从入门到高级所有PLC学习资料(三菱/西门子/欧姆龙) ,电气经典18本大全书,历年电气考试真题、电气必备实训仿真软件、电气自动化行业各类型技术手册!

有人说:SCL将成为PLC的主流编程语言?

现在很多大品牌的中高级 PLC 都支持国际电工委员会 IEC61131 标准中规范的五种编程语言的混合编程,即梯形图(LD)、结构化文本(ST)、流程图(SFC)、指令表(IL)和功能块(FB)。在这五种编程语言中,

此外,由于西门子 S7 系列 PLC 在国内工控领域中使用很广,它的编程软件 Step7 默认情况下只支持梯形图和指令表编程,但通过安装“S7-SCL”软件包和“S7-Graph”软件包可实现结构化文本和流程图编程。

结构化文本是一种类似于计算机高级语言的编程方式,它的语法规范接近计算机中的PASCAL 语言。

所以有人就问:SCL将成为PLC的主流编程语言么?

于是很多电气人发表了自己的看法,一起来看看吧!

bnnyygy 说:

我献丑来一个,半成品,给设备改造的,用的欧姆龙CP1L,ST语言功能块,部分节选。

wenpian 说:

还是梯形图适合逻辑。

ljj977 说:

程序写的不错。tia protal中可以采用SCL与LAD混编的模式。这样的灵活性就更大了。

作为一个有C基础的人来说,用SCL他可能更擅长,入门更快。作为习惯了LAD编程的人员来说,写一般的逻辑关系程序,确实要清晰些。

计算机的普通编程人员将会有一部分人能胜任1200的编程工作,而且他们的转行不会有多大的门坎。可以说,PLC的编程人员来源会更广泛。

fujifa 说:

在JAVA出现之前,C语言的菜鸟们也是认为C语言将一统江湖,在PYTHON出来之前,JAVA的菜鸟们也是这么认为的。菜鸟们总是习惯使用必将,一定等词汇来描述他们认为的事物,为什么老鸟们不这样认为呢?因为老鸟们知道:

1:SCL,也就是ST语言,编译为机器码的执行效率比其他语言效率低。

2:梯形图编程语言也在进步,去看看诸如富士、AB这类在梯形图中使用高级语言编程等增强型梯形图语言的厂家就知道了。

hgxmm123 说:

老外喜欢用SCL语言编程,它功能丰富。国人喜欢用梯形图编程,易于推广。

有些PLC语言不能实现的功能,用SCL就能实现。

twtynijj 说:

最多只能说是备选的语言方法 ,主流怕是很难,可读性并不是很好,推广也难。老外是因为人家母语就是字母组成,对他们来说可读性还是非常强。

现在PLC还是以LAD SFC ST CFC 这一类为代表,也符合IEC标准的。如果哪一家PLC只有一种你说的SCL,怕是干不了几年在中国就只能关门了,这是由市场决定的。

cvlsam 说:

西门子之所以称为SCL而不是ST,是因为其编程语言指令表叫做STL,为了避免混淆,所以叫做SCL,其实就是其他厂家的ST语言。

“还是以 LAD SFC ST CFC 这一类为代表”,看到这句就说明您不太熟悉西门子了啊。

twtynijj 说:

嗯,西门子是不熟悉,刚出社会那会接触过。换工作环境后就没怎么接触。而且也只会用梯形图呀。

pqsh 说:

我觉得,5-10年这些语言都将消失。

人工智能,会听懂人的语言和思想。只要你说清楚,机器就会执行。当然,这样汉语会失去优势,因为汉语逻辑不严谨。

fsjnzhouyan 说:

现在有些智能家居就能接收中文语音控制家电。

vao 说:

梯形图,这种应该是主流趋势,不是你自己擅长什么就一定会主流,工人容易看懂的才好。

gaoyingchun 说:

工控人要失业了

ljj977 说:

在数据的处理方面,SCL还是要比LAD更具有它的它快捷性,计算的功能也是十分强大的。比如一个一维数组,你在使用时,感觉用LAD不难,但一个二维数组、一个多维数组你再使用LAD编程,难度就要大多了。

作为博图软件三大编程语言,SCL就是其中的标配,在原来300/400编程语言中,还没有列入标配行列之中。这也说明了西门子对它的重视,也给大家一个信号。因此了解它、学习它还是有必要的。

SCL是三大语言之一,说它是主流的编程语言不为过吧。

cvlsam 说:

用过AB的梯形图的话,觉得其他语言都可以不要了。

其实三大语言并不包括ST语言。

以前是梯形图,指令表和功能块,现在部分厂商取消了指令表,被SFC替代了。

当然,多学习一点没有错,不过不是以西门子SCL语言为基础,西门子的SCL语言离标准还有点距离,要用也应该从菲尼克斯的学起,人家才是完全符合IEC标准的。

wgefwgef 说:

越是菜鸟,越是水平差,越抵制ST。

逍遥的久鸣 说:

不管白毛黑猫抓到老鼠才是好猫,越简单明了越好,这么多年过去了,梯形图还是那么坚挺!

如果后期维护,现场水平不高,是不是就要失业了?

hnhyczj 说:

高级语言应当是发展的方向。

乌龟船长 说:

老外喜欢用SCL语言编程,它功能丰富。国人喜欢用梯形图编程,易于推广。

fuhuafeng72 说:

SCL确实好,但一些工控不适合。

ljj977 说:

LAD是PLC编程使用最广泛的语言,用户量最多,当然它是老大。但SCL也一定会壮大起来的,因为它有自己优势。这里并不是说LAD不好,但有时候,有些人用SCL去编程反而更方便,特别是熟悉高级语言(如C语言等)的人。这两种语言的使用肯定是因人而异的,喜好不同、知识背景不同,他们的选择就不同。

用LAD语言写的程序,复杂一点的话,一般的电工是看不懂的。说句实在话,LAD语言,当初就是为电工准备的编程语言。那时候只有逻辑控制。电工如果满足了一般的逻辑控制,数据处理程序的编写就成了一句空话,别人用LAD写出来的程序也不见得看得懂。

现在时代不同了,PLC不只是去处理逻辑控制,还多了好多些功能。老早之前,S7-200就明显看到它的结构化编程的思想。300/400,到现在的1200/1500,它们都在朝着更先进的方向发展,LAD的语言更是如此。现在的LAD就是面向开发人员、工程师、技术人员的。再说电工也分好几类吧,一般的电工在工厂里是接触不到编程这一块的。LAD现在也是也是十分强大。

SCL未来将成为主流的语言,并不意味着LAD不是主流语言。大家还是不要误解了我的观点。

SCL能作为标配的编程语言出现在博途中,说明了什么,不正是说明它的存在价值吗。

年轻的朋友们,如果感兴趣,学习一下SCL语言的程序编写,我觉得还是蛮好的。

liuxd6909 说:

但凡是主流都是被大多数人所认同 的,所接受的。

fuhuafeng72 说:

企业有三六九等,很多小作坊,你给他传统的继电器系统原理图都搞不明白,不要说英文类C的程序了。世界就是个矛盾体。

LAD确实是一种不错的编程方式,之于类C,形如安卓之于IOS。

zhanghaiw 说:

做逻辑SCL确实不怎么样,搞搞算法还可以。建议LAD+SCL的组合,感觉非常棒。

965528555 说:

做逻辑也是非常好的,算法更是好用。而且方便转换其他PLC

以上观点都非常棒!至于结论如何,小编自身觉得每个语言都有自己的可取之处,对于大型的主流化编程语言,是作为一个资深的电气人应该了解的内容,时刻把握行业潮流动态,才不会让自己处于被动状态。看了以上内容,你觉得呢?留言哦!

往期优秀文章回顾:

新手学西门子PLC,要从哪开始?「附PLC与电动机控制精品讲解」

相关问答

plc用st语言编程直观吗?

pⅠc用st语言编程简单的程序较直观,复杂的程序就没有梯形图直观了。pⅠc用st语言编程简单的程序较直观,复杂的程序就没有梯形图直观了。

汇川plc支持st语言吗?

汇川plc支持st语言。ST语言是IEC61131-3中规定的5中标准语言之一,目前常用见品牌的PLC都支持这种语言(施耐德,AB可以直接选择创建该类型的程序段或者功能块,...

st语言和梯形图的区别?

ST语言和梯形图都是常见的PLC编程语言,它们的区别如下:语法形式不同:ST(StructuredText)语言采用类似高级编程语言的文本形式,类似于C或Pascal语言;而梯...

三菱支持ST语言的PLC有哪些?

首先在早期的的编程中,并不支持ST语言,之后的GXIECDeveloper中虽然支持,但是鉴于GXIECDeveloper只面向欧洲市场,这里也不做讨论。这里主要讨论的是GXDe...

plc五种编程语言?

plc编程语言如下1、梯形图语言(LD)梯形图语言是PLC程序设计中最常用的编程语言。它是与继电器线路类似的一种编程语言。由于电气设计人员对继电器控制较为熟...

plc编程与传统编程有什么不同?

1.plc主要是用于非标自动化设备,而数控是针对标准机台(如车床、铣床,磨床等)。2.plc编程是开放的平台,可以根据自己的想法随意编写程序。加装功能模块后基...

学plc一定要学st语言吗?

不一定要学st语言,可以学其他的,传统的PLC编程语言只有两种,指令表(IL)及梯形图(LD),有的称梯形逻辑图(LLD)。而今为便于各类型的工程技术人员都能使用...不...

怎么系统的学习plc的st语言?

我的建议是去淘宝买一些视频,因为一般的自学网视频比较杂乱,淘宝买也就几块钱的样子我的建议是去淘宝买一些视频,因为一般的自学网视频比较杂乱,淘宝买也就几...

三菱能用ST语言的PLC有哪些?-ZOL问答

三菱大多数PLC都支持ST语言编程。不过通常在中小型PLC系统中较少使用ST语言进行编程。ST即结构化文本语言,是一种采用结构化描述文本来描述程序的编...

plc和编程哪个难?

相对来说,PLC更好学。PLC也是用控制的,您的意思应该是PLC编程语言和C语言哪个更难吧。目前PLC编程主要是梯形图,也有支持高级语言的比如SCL、ST需要。PLC的...