PLC目前有5种标准的编程语言,包括图形化编程语言和文本化编程语言。

图形化编程语言包括:梯形图(LD-Ladder Diagram)、功能块图(FBD - Function Block Diagram)、顺序功能图(SFC - Sequential Function Chart)。

文本化编程语言包括:指令表(IL-Instruction List)和结构化文本(ST-Strutured Text)。

IEC 1131-3的编程语言是IEC工作组对世界范围的PLC厂家的编程语言合理地吸收、借鉴的基础上形成的一套针对工业控制系统的国际编程语言标准,它不但适用于PLC系统,而且还适用于更广泛的工业控制领域,为PLC编程语言的全球规范化做出了重要的贡献。

继电器梯形图(LD)

继电器梯形图(LD-Ladder Diagram)语言是PLC首先采用的编程语言,也是PLC最普遍采用的编程语言。梯形图编程语言是从继电器控制系统原理图的基础上演变而来的,与继电器控制系统梯形图的基本思想是一致的,只是在使用符号和表达方式上有一定区别。

PLC的设计初衷是为工厂车间电气技术人员而使用的,为了符合继电器控制电路的思维习惯,作为首先在PLC中使用的编程语言,梯形图保留了继电器电路图的风格和习惯,成为广大电气技术人员最容易接受和使用的语言。

1. 软继电器

PLC梯形图中的某些编程元件沿用了继电器这一名称,如输入继电器、输出继电器、内部辅助继电器等,但是它们不是真实的物理继电器,而是一些存储单元(软继电器),每一软继电器与PLC存储器中映像寄存器的一个存储单元相对应。该存储单元如果为“1”状态,则表示梯形图中对应软继电器的线圈“通电”,其常开触点接通,常闭触点断开,称这种状态是该软继电器的“1”或“ON”状态。如果该存储单元为“0”状态,对应软继电器的线圈和触点的状态与上述的相反,称该软继电器为“0”或“OFF”状态。使用中也常将这些“软继电器”称为编程元件。

2. 能流

有一个假想的“概念电流”或“能流”(Power Flow)从左向右流动,这一方向与执行用户程序时的逻辑运算的顺序是一致的。能流只能从左向右流动。利用能流这一概念,可以帮助我们更好地理解和分析梯形图。

3.母线

梯形图两侧的垂直公共线称为母线(Bus bar),。在分析梯形图的逻辑关系时,为了借用继电器电路图的分析方法,可以想象左右两侧母线(左母线和右母线)之间有一个左正右负的直流电源电压,母线之间有“能流”从左向右流动。右母线可以不画出。

4.梯形图的逻辑解算

根据梯形图中各触点的状态和逻辑关系,求出与图中各线圈对应的编程元件的状态,称为梯形图的逻辑解算。梯形图中逻辑解算是按从左至右、从上到下的顺序进行的。解算的结果,马上可以被后面的逻辑解算所利用。逻辑解算是根据输入映像寄存器中的值,而不是根据解算瞬时外部输入触点的状态来进行的。

1、与电气操作原理图相对应,具有直观性和对应性;  

2、与原有继电器逻辑控制技术相一致,对电气技术人员来说,易于撑握和学习; 

3、与原有的继电器逻辑控制技术的不同点是,梯形图中的能流(Power Flow)不是实际意义的电流,内部的继电器也不是实际存在的继电器,因此,应用时,需与原有继电器逻辑控制技术的有关概念区别对待; 

4、与指令表程序设计语言有一一对应关系,便于相互的转换和程序的检查。

功能块图(FBD)

功能块图(FBD - Function Block Diagram)采用类似于数字逻辑门电路的图形符号,逻辑直观,使用方便,它有梯形图编程中的触电和线圈等价的指令,可以解决范围广泛的逻辑问题。

1、以功能模块为单位,从控制功能入手,使控制方案的分析和理解变得容易;

2、功能模块是用图形化的方法描述功能,它的直观性大大方便了设计人员的编程和组态,有较好的易操作性;

3、对控制规模较大、控制关系较复录的系统,由于控制功能的关系可以较清楚地表达出来,因此,编程和组态时间可以缩短,调试时间也能减少。

顺序功能图(SFC)

顺序功能图(SFC - Sequential Function Chart)亦称流程图或状态转移图,是一种图形化的功能性说明语言,专用于描述工业顺序控制程序,使用它可以对具有并发、选择等复杂结构的系统进行编程。

1、以功能为主线,条理清楚,便于对程序操作的理解和沟通;  

2、对大型的程序,可分工设计,采用较为灵活的程序结构,可节省程序设计时间和调试时间; 

3、常用于系统的规模校大,程序关系较复杂的场合;  

4、只有在活动步的命令和操作被执行,对活动步后的转换进行扫描,因此,整个程序的扫描时间较其他程序编制的程序扫描时间要大大缩短。

指令表(IL)

指令表(IL-Instruction List)编程语言类似于计算机中的助记符汇编语言,它是可编程控制器最基础的编程语言,所谓指令表编程,是用一个或几个容易记忆的字符来代表可编程控制器的某种操作功能。

1、采用助记符来表示操作功能,具有容易记忆,便于撑握的特点;

2、在编程器的键盘上采用助记符表示,具有便于操作的特点,可在无计算机的场合进行编程设计; 

3、与梯形图有一一对应关系,其特点与梯形图语言基本类同。

结构化文本(ST)

结构化文本(ST-Strutured Text)是一种高级的文本语言,可以用来描述功能,功能块和程序的行为,还可以在顺序功能流程图中描述步、动作和转变的行为。结构化文本语言表面上与 PASCAL语言很相似,但它是一个专门为工业控制应用开发的编程语言,具有很强的编程能力用于对变量赋值、回调功能和功能块、创建表达式、编写条件语句和迭代程序等。

1、采用高级语言进行编程,可以完成较复杂的控制运算;  

2、需要有一定的计算机高级程序设计语言的知识和编程技巧,对编程人员的技能要求较高,普通电气人员无法完成。

3、直观性和易操作性等性能较差; 

4、常被用于采用功能模块等其他语言较难实现的一些控制功能的实施。

提示注意:不是所有的PLC都支持所有的编程语言(如功能块图、顺序功能图就有很多低档PLC不支持),而大型的PLC控制系统一般都支持这5种标准编程语言或类似的编程语言。还有一些标准以外的编程语言,它们虽然没有被选择进标准语言中,但是它们是为了适合某些特殊场合的应用而开发的,在某些情况下,它们也许是较好的编程语言。比如D7-SYS的连续功能图CFC就是专为大型连续工艺控制而开发,只要调用程序中的CFC功能块就可以轻易实现象PID控制器、计数器、定位器、斜坡函数发生器等一系列特殊功能,而且不需要专门的编程知识,只需要懂得图形化处理和标准程序块的使用,进行简单的设置即可。

再聊聊PLC的学习方法

1、学习PLC编程需要坚强的毅力和足够的耐心

人各有所长。有些人把编程看作一项冗长而枯燥的工作;有些人把编程看作一项趣味的智力游戏。如果你是前者,强烈建议你远离这份工作。毕竟编程工作是对人的毅力和耐心的挑战,编程需要经历无数次的试错,调试-修改-调试-修改…经过无数次失败后,当看到PLC按照自己的控制要求有条不紊的运行时,你将得到极大的成就感,这就如同打通了一个游戏的关口,那种感觉是一样的。

2、学习PLC编程需要敢于实践的信心

很多初学者往往是出于一种畏惧,担心损坏设备,而不敢进行实际操作。其实这些畏惧是没有任何道理的,只要你仔细的阅读手册,遵循标准的规范去接线实操的,都不会出什么问题。不必担心自己写的程序会有什么问题,会影响PLC的正常工作,程序有没有问题,只有让PLC运行了才能发现。所以,要有敢于实践的信心,大胆的实践是PLC编程的必由之路。

3、编程需要有缜密的逻辑思维

编程本身就是一种逻辑思维过程。最初的PLC是用来替代继电器逻辑电路的,所以继承了继电器电路以触点作为触发条件的描述方式。在PLC中,以虚拟触点代替了继电器触点,而继电器电路所表达的逻辑关系还是被完整的保留下来。所以,要理顺对象之间的逻辑关系,要有缜密的逻辑思维。

4、养成良好的编程习惯

每个人编程都会有不同的习惯和特点,不能强求一致。但是一些好的习惯还是应该为大多数人所遵循。一是理顺逻辑关系、时序关系,编制程序框图;二是合理分配主程序、子程序和中断程序;三是合理分配寄存器,编制寄存器符号表。 PLC的很多操作都是直接针对寄存器的,如果在程序中出现不合理的寄存器地址重叠,可能会造成程序错误。编制寄存器符号表不仅可以避免上述问题,而且可以使程序具备更好的可读性。PLC提供了丰富的指令、模块,初学者编程时应尽量先使用简单的指令达到目的,这对你理解那些较为复杂的指令会有帮助,具备了一定经验后,应该考虑掌握复杂指令的应用,以及程序的优化。

5、有一定的程序设计基础知识

有一定的程序设计基础知识,以及弄通有关PLC程序设计理论是重要的。没有这方面的理论准备或指导,仅靠在实践中摸索,简单的问题还好办,复杂的就不好办了,不仅无从下手,而且花了很多时间与精力,也难编出质量也较高的程序,常常是事倍功半。任何理论也都只是经验的总结,归根到底也都是来自实践。

PLC编程的5种专用语言 ,学习PLC编程得先了解一下!相关推荐

  1. 自动化学计算机语言先学什么,要入门PLC编程 先搞清这5种专用语言

    原标题:要入门PLC编程 先搞清这5种专用语言 PLC,(Programmable Logic Controller),乃是一种电子装置,早期称为顺序控制器"Sequence Control ...

  2. c语言程序设计基础1千克,c语言学习知识编程经典编辑题汇总整编.doc

    c语言学习知识编程经典编辑题汇总整编.doc - C语言编程基础习题汇总1.设计一个由键盘输入三个整数,求这三个数的平均数的程序.2.编写一个程序,用于水果店售货员结账.已知苹果每斤2.50元,鸭梨每 ...

  3. 零基础可以学习PLC自动化吗?从哪里入手学习PLC自动化,自动化编程用到什么编程软件呢?凭良学校-西门子S7-200/SMART 200 PLC编程自动化应用培训

    1) 一期不会可免费继续学习,不重复收费. 2)报名即免费赠送我校自主研发的配套视频教程和一本配套书籍教材. 3)送学电工. 培训形式: 1)现场培训. 2) 理论与实操结合.教学设备都摆在课室中,学 ...

  4. C语言学习之编程实现:输入长方形的两个边长a, b和一个整数k。k=1时,输出长方形的周长 l; k=2时 ,输出长方形的面积s;当k=3时 , 输出长方形的周长1和面积s

    C语言学习 编程实现:输入长方形的两个边长a, b和一个整数k.k=1时,输出长方形的周长 l; k=2时 ,输出长方形的面积s;当k=3时 , 输出长方形的周长1和面积s #include < ...

  5. C语言学习:编程、源文件、源代码是什么?一文带你搞定它!

    编程:人通过某种方式命令计算机做一些动作,来得到人想要的结果,就叫编程. 比如开关灯,把灯看做计算机,按下按钮,灯就开了,松开按钮灯就关了,这样也就达到了人向计算机下达指令的需求. 在早期,计算机全是 ...

  6. 菜鸟学编程,用x86二手本学习嵌入式编程(硬件编程)

    最近一直忙着上课,一直忙着写论文,一直忙着准备考试,但是脑子没有停止思考. 下学是结合个人的学习经历,给希望学习软件的菜鸟一点点帮助. 1:菜鸟也想学编程 大部分同学从大学开始接触软件编程,但其实有一 ...

  7. 【Java并发编程】一、为什么需要学习并发编程?

    原因: 1.硬件的驱动与互联网发展之间的鸿沟越来越大. 2.多核的服务器在不断的发展. 3.大型互联网厂商的系统并发量轻松过百万,传统的中间件和数据库已经不能为我们遮风挡雨了,反而成了瓶颈所在. 如何 ...

  8. 浙大 java语言程序设计编程答案,浙大《Java语言程序设计》编程答案4

    浙大<Java语言程序设计>编程答案4 实验5 分支结构程序的设计程序填空,不要改变与输入输出有关的语句.一.显示两级成绩 输入一个正整数repeat (0b) min=b;if(minc ...

  9. 儿童计算机编程主要是学什么,儿童编程是什么教什么?学习少儿编程有3大好处...

    少儿编程在中国起步较晚,但政策很好,技术发展也作为一个重要议题提上议事日程,为节目制作行业的发展提供了良好的土壤和坚实的基础,尤其是儿童节目的编排.在2018年,人工智能再次被写入工作报告.同时,我国 ...

  10. c语言二级编程题库,二级C语言题库-编程题.doc

    二级C语言题库-编程题 第 PAGE \* Arabic \* MERGEFORMAT 27 页第 PAGE \* Arabic \* MERGEFORMAT 27 页 1.请编写函数fun,其功能是 ...

最新文章

  1. 深入思考编译原理之 理解执行过程和编译过程
  2. mysql的索引优化_MySQL索引优化与分析(重要)
  3. 计算机在有机合成中的应用,计算机在有机合成中的应用
  4. 我的Java后端书架 (2016年暖冬4.0版)
  5. python思维导图完整版下载高清_快速学习 Python 的全套 14 张思维导图(附高清版下载)...
  6. sql server中的 SET NOCOUNT ON 的含义
  7. 来的多可选_您的框架有多可扩展性?
  8. C++ 链表 leetcode习题总结
  9. HTML页面的参数化实现(仿ASP)
  10. a:link,a:visited,a:hover,a:active
  11. 计算机专业毕设论文题目大全(二)
  12. verilog语法错误
  13. mysql实现周月表_按天周月统计数据
  14. 该去大公司做螺丝钉,还是去小公司发光发热?
  15. springboot初次使用template可能遇到的问题
  16. 【Cartopy】1.库的安装和使用
  17. 芯片市场混乱,教你几招辨别真假
  18. php 序列化转义冒号,Json数据中有冒号以及其它特殊字符序列化总结
  19. 520表白神器-教你用微信每天给TA说晚安
  20. 论文翻译解读:Logmap:Logic-based and scalable ontology matching

热门文章

  1. 大型网站技术架构演进与性能优化
  2. 路由交换技术(一)---- 网络基础概述
  3. 使用暴风激活激活系统,浏览器被劫持问题解决
  4. 数据库技术与应用课程设计-学生信息管理系统
  5. 人狠话不多,细说大牛直播SDK之RTMP播放器和RTSP播放器...
  6. SQL Server 2019 安装教程(详细免费,自定义安装)
  7. 讲座笔记 | 批判性思维和论文写作
  8. 搭建软件仓库回源代理拾遗
  9. DGIOT国内首家轻量级物联网开源平台——真实电表接入实战教程
  10. 视频教程-Qt语言从入门到精通-C/C++