中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

PLC论坛

抖音 西门子减速电机 德嘉 台达 英威腾 泓格论坛 西门子 我和LOGO!有个约会 FLIR红外热像论坛 【有奖活动】英威腾 “Ni美国国家仪器 “PLC发展趋势大讨论”活动圆满结束 cc-link图文征集活动 西门子SMART LINE V3
工控论坛首页 PLC论坛 → 浏览主题: PLC编程你知道多少?5种编程语言编写一小段代码进行比较
发表新帖 回复该主题
回帖:8个,阅读:496 [上一页] [1] [下一页]
* 帖子主题:

PLC编程你知道多少?5种编程语言编写一小段代码进行比较

分享到
745
dflckl
文章数:61
年度积分:231
历史总积分:745
注册时间:2010/3/1
发站内信
发表于:2020/3/27 10:29:08
#0楼
“梯形图逻辑通常是PLC使用最多的图形编程语言,但在某些特定的编程应用中其他语言可能更适合。”

在美国,大多数参与可编程逻辑控制器(PLC)编程和维护的人员都倾向于认为:梯形图逻辑是PLC唯一的编程语言。这种理念在很大程度上是由PLC的历史、以及美国的工业控制市场是被以梯形图逻辑为主要语言的品牌统治所造成的。

在计算机和便携式计算机广泛应用于PLC编程之前,经常使用手持式编程器将程序输入到 PLC中。在此之前,通常需要绘制用于不同指令的电气图。这就像在PLC出现之前,如何连接原始继电器逻辑一样。在手持设备上,有时会用符号表示不同指令,但是在图形设计的背后,是基于文本的语言。

1994年,国际电工委员会(IEC)制定了一个可用于定义和规范PLC编程系统的标准 IEC 61131-3。除了形式化定义诸如计时器和计数器之类的指令外,该标准还定义了5种编程语言。

指令表(IL)是基于文本的语言,梯形图逻辑经常被转换成相同的语言。有些厂商仅将其用作机器代码的过渡,最终会编译成在处理器中执行的语言。另外有一些厂商则使用指令列表作为主要语言,并添加了无法用梯形图逻辑表示的其它指令(例如语句列表)。

附件 image.jpg
图1:指令列表通常用于复杂的数学任务和搜索

梯形图逻辑(LAD),是PLC使用得最多的图形编程语言。它是从继电器逻辑电路图演变而来。梯形图逻辑是在常用的继电器与接触器逻辑控制基础上简化了符号演变而来的,具有形象、直观、实用等特点。

附件 image.jpg
图2:梯形图逻辑是最常用的PLC编程,与继电器电路图最为相似。

功能块图(FBD)是另一种图形编程语言,可用于包括PLC和分布式控制系统(DCS)在内的一些控制器。它使用不同类型的块(例如与、或、比较、数学计算、计时器和计数器),来描述输入和输出变量之间的功能。输入从设备或其它模块的输出馈入一个模块;输出将数据传送到下一个块或变量。

附件 image.jpg
图3:功能框图非常适合安全电路/安全PLC

结构化文本(ST)是一种类似于计算机语言(例如Pascal)的高级语言。ST语言中的表达式由运算符和操作数组成。操作数可以是常量、变量、函数调用或另一个表达式。表达式的计算通过执行具有不同优先级的运算符完成。有最高优先级的运算符先被执行,然后依次执行下一个优先级的运算符,直到所有的运算符被处理完。有相同优先级的运算符按从左到右的顺序执行。

附件 image.jpg
图4:结构化文本可以帮助完成复杂的数学任务和搜索。

顺序功能图(SFC)语言是基于一种被称为Grafcet的古老逻辑语言,该语言基于二进制Petri网络。它可用于编制复杂的顺控程序,又称为状态转移图或功能表图,是描述控制系统的控制过程、功能和特性的一种图形,也是设计顺序控制程序的工具。它是一种被称为步的块语言,带有相关逻辑条件切换。语言中的步可以是活动或不活动的,并且逻辑可以并行运行。利用这种先进的编程方法,初学者也很容易编出复杂的顺控程序,大大提高了工作效率,也为调试、试运行带来许多言传的方便。

附件 image.jpg
图5:顺序功能图对于分段逻辑很有用。

几年前,我突发奇想 :如果用所有5种语言,来编写一小段代码进行比较,将会非常有趣。逻辑建立自动和手动模式,然后在3秒钟后激活“循环”位。它是通用的,但是基于我使用的PLC平台(图1至图5)。语法和代码显示方式会因软件品牌和平台而异。

指令和注释,通常使用带颜色的编码,以便于阅读。通常,语言包会额外收费或包含在编程软件的“专业”版本中。

不同语言有不同的用途。梯形图仍然适用于直接的“位操作”逻辑。指令列表和结构化文本通常用于更复杂的数学任务和搜索。功能块图可以很好地用于安全电路/安全PLC。顺序功能图对于分段逻辑很有用。

在下一次编写复杂程序时,请尝试考虑使用某些“其它”类型的PLC语言,因为这可能会使工作变得更容易。

745
dflckl
文章数:61
年度积分:231
历史总积分:745
注册时间:2010/3/1
发站内信
发表于:2020/3/27 10:31:09
#1楼
前两天在论坛的微信公众号看到有人留言:

抛开软件工程谈plc编程语言都是耍流氓…………
st、fbd、ld混用的路过…………

混合编程好好玩?
341
微鑫科技
文章数:144
年度积分:341
历史总积分:341
注册时间:2019/11/26
发站内信
发表于:2020/3/29 0:01:47
#2楼
不会梯形图,只会用C的路过。
23130
cfg168
文章数:14773
年度积分:946
历史总积分:23130
注册时间:2012/11/28
发站内信
2018论坛解答高手
2015论坛贡献奖
发表于:2020/3/29 0:15:25
#3楼
主流是梯形图,以后不懂,但现在还是主流。
13158
fsjnzhouyan
文章数:4301
年度积分:881
历史总积分:13158
注册时间:2008/7/22
发站内信
发表于:2020/3/29 0:50:33
#4楼
目前本人只会两三种,主要用的是梯形图。
摸着石头过河,走自己的路吧!
1875
479225838
文章数:162
年度积分:70
历史总积分:1875
注册时间:2010/2/25
发站内信
发表于:2020/3/29 6:21:12
#5楼
fbd和ld直观程度几乎一样。st在大量赋值、循环、条件选择有优势。IL和sfc应该是比较少用的
此帖发自手机工控论坛
1875
479225838
文章数:162
年度积分:70
历史总积分:1875
注册时间:2010/2/25
发站内信
发表于:2020/3/29 6:22:32
#6楼
所以、混合编程不是好玩,而是好用、方便。
此帖发自手机工控论坛
12091
pan_xiansheng
文章数:1893
年度积分:660
历史总积分:12091
注册时间:2011/11/18
发站内信
2018论坛解答高手
2015论坛贡献奖
发表于:2020/3/29 10:02:43
#7楼
汉字有简体与繁体之分,对于我们大陆人来说,要求是识繁写简。
PLC编程语言那么多,我们也不可能全部都掌握,同样,我们也可来个“识繁写简”。
745
dflckl
文章数:61
年度积分:231
历史总积分:745
注册时间:2010/3/1
发站内信
发表于:2020/3/30 15:37:05
#8楼
确实,现在梯形图仍然是使用最多的,也是主流,但趋势渐渐地都往stl,scl去了
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 中华工控网 Copyright©2020 Gkong.com, All Rights Reserved

124.8