关于问题plc 中 scl 与梯形图编程哪个比较好?为什么?一共有 2 位热心网友为你解答:
【1】、来自网友【剑指工控】的最佳回答:
plc 中 scl 与梯形图编程哪个比较好?为什么?
PLC 编程语言很多,常用的是 LAD,SCL,FBD,CFC,STL,这个是按照西门子的进行划分。每种编程语言都有它的特点和优势,没有好坏之分。熟练哪个使用哪个就可以了。
先说说 LAD 梯形图
它是我们非常常用的,从以前的继电器控制转变而来,非常适合初学者,也很方便人们理解控制回路。所以初学还是推荐梯形图,有人说写梯形图感觉很 LOW,那么当你学了罗克韦尔的 PLC 后,你就不这样认为了。因为你见到的程序基本都是 LAD 编程的,基本能实现你需要的所以功能。
对于一些逻辑控制类的使用梯形图编程非常直观,方便,而如果用 SCL 会如何呢?一堆子 IF…ELSE…会非常难看。那么大家可以体验以下这个。满屏的 IF…ELSE…,还有 CASE…,让人即为不舒服,很简单的逻辑非要使用 SCL 方式去实现。
不过对于从高级语言转过来的 IT 人员,可能使用 SCL 编程更得心应手,那么就另当别论了。不过对于没有高级语言基础的人员,强烈推荐将 LAD 作为入门学习语言。
再来说说 SCL 编程语言
SCL 语言主要用来处理较为复杂的数学运算,因 SCL 是文本编程,类似高级语言,如 C 语言等,它可以通过源文件的方式来生成程序块,数据块。可以使用 SCL 编写标准的功能块,在程序种直接调用此功能块,实现一些功能,减少工作量。比如对于模拟量信号的处理,使用 SCL 可以编写标准的库程序,对模拟量信号进行转换为工程值,实现小信号切除,高低限设置,高高报,高报,低报,低低报,变化率过快报警等,电压或者电流信号选择性处理,报警屏蔽。使用时直接调用就可以了。类似我们使用的 FB/FC 块。
比如我们要对一个干扰信号进行滤波处理,那么使用 SCL 就非常方便。
然后就可以在程序中直接调用就可以了。
所以总结一下,如果你刚入门且不会高级语言,那么选择 LAD,等熟练后可以针对不同的需求使用 SCL 来实现一些复杂的功能。
如果你非常熟悉高级语言,如 C 语言,JAVA 语言等,那么选择 SCL,比较容易接受。
【2】、来自网友【控制研究控】的最佳回答:
SCL 编程和梯形图编程哪个比较好?—这应该是很多 PLC 程序员经常会问的问题,其实我个人的回答是,SCL 和梯形图编程各具有点,在编程中应该混合使用,才是明智之举!
展开来说一下:
SCL 其实是在西门子 PLC 中提出的概念,就是结构化控制语言的意思(Structured control language),和很多其他品牌 PLC 中说的 ST(Structured Text)语言可以理解为是一样的,因为他们都遵从编程语言的一个国际标准,即 IEC 61131-3 标准,都可以视为是文本高级语言!
梯形图(LAD)就是大家最熟知的 PLC 编程语言,从电气继电器控制的二次原理图演化而来的,非常直观,就不多解释了!
—这里的解释,可以看到 SCL 语言算是一种高级语言,而梯形图是以电路图为基础的一种图表表示语言,这是其直观特点上的不一样!
其实,当你接触到的 PLC 品类比较多的时候,你自然会看到一些资料上对 SCL 或者 FBD 或者 STL 等一些特性和功能的表述!
我个人比较赞成的是逻辑运算更适合梯形图去编程,SCL 或者 ST 这样的文本语言更适合数学运算!
—我这样说并不是无凭无据随口一说,而是挺多的资料上都这样说,就比如西门子 STEP7 软件中的 SCL 帮助中,就有这样的话语:
这可以认为是西门子的官方解释,可以看到 SCL 特别适合复杂的算法和数学计算!
其实经常切换编程语言的小伙伴,应该有注意到有些时候,梯形图切换到语句表时,就会产生很多的中间值,就是因为语句表编程时成前边的某个接点处的结果需要多次引用系统自己添加的!同样的 SCL 编程时,梯形图能很直观表示完的一行语句,用 SCL 可能理解起来就不那么直观了,比如下图:
这个图片上边是一段梯形图程序,下边是这段梯形图,我用 ST 文本写的,两个放在一起肯定是梯形图还是要直观一些!
虽然像 AB,西门子博途中现在梯形图指令中也有能直接输入数学计算表达式的指令,我之前的一些问答说过这些,这里我就不再上图了,但是 SCL 这样的文本语言,做计算还是更方便的,因为更像数学表达式,更加直观!
因此还是回到你的问题,梯形图和 SCL 编程是应该混合使用的,梯形图适合于逻辑编程,SCL 适合于比较复杂的数学运算!—这就是我的回答,希望能对你有点帮助,谢谢!