plc编程语言有梯形图语言、指令表语言、功能模块图语言等。
1、梯形图语言是PLC程序设计中最常用的编程语言。CPU将物理输入读入内存表,通常称为“输入表”。该表经评估后在程序中使用。不同平台,使用不同类型的寄存器;在每个扫描周期,按照从左向右,从上到下的顺序处理逻辑。
2、指令表编程语言是与汇编语言类似的一种助记符编程语言。设备干涉处理模块。主要处理设备中各种气缸或者电缸之间的干涉处理,防止它们之间出现相互碰撞的可能。比如气缸A与气缸B之间存在一个公共区域,两个同时进入公共区域则会发生碰撞,这时候两者之间就要做防干涉处理。
3、功能模块图语言是与数字逻辑电路类似的一种PLC编程语言。PLC上的I/O模块指示灯是否也点亮。在许多设备中,输入和输出信号通过端子与可编程控制器相连。有时端子的指示灯有信号,但不能保证PLC上相应的地址不会因为连接线开路而连接。
主要有以下5种编程语言:
1、梯形图语言(LD)
梯形图语言是PLC程序设计中最常用的编程语言。它是与继电器线路类似的一种编程语言。由于电气设计人员对继电器控制较为熟悉,因此,梯形图编程语言得到了广泛的欢迎和应用。
梯形图编程语言的特点是:与电气操作原理图相对应,具有直观性和对应性;与原有继电器控制相一致,电气设计人员易于掌握。
梯形图编程语言与原有的继电器控制的不同点是,梯形图中的能流不是实际意义的电流,内部的继电器也不是实际存在的继电器,应用时,需要与原有继电器控制的概念区别对待。
2、指令表语言(IL)
指令表编程语言是与汇编语言类似的一种助记符编程语言,和汇编语言一样由操作码和操作数组成。在无计算机的情况下,适合采用PLC手持编程器对用户程序进行编制。同时,指令表编程语言与梯形图编程语言图一一对应,在PLC编程软件下可以相互转换。
指令表表编程语言的特点是:采用助记符来表示操作功能,具有容易记忆,便于掌握;在手持编程器的键盘上采用助记符表示,便于操作,可在无计算机的场合进行编程设计;与梯形图有一一对应关系。其特点与梯形图语言基本一致。
3、功能模块图语言(FBD)
功能模块图语言是与数字逻辑电路类似的一种PLC编程语言。采用功能模块图的形式来表示模块所具有的功能,不同的功能模块有不同的功能。
功能模块图编程语言的特点:功能模块图程序设计语言的特点是:以功能模块为单位,分析理解控制方案简单容易;功能模块是用图形的形式表达功能,直观性强,对于具有数字逻辑电路基础的设计人员很容易掌握的编程;对规模大、控制逻辑关系复杂的控制系统,由于功能模块图能够清楚表达功能关系,使编程调试时间大大减少。
4、 顺序功能流程图语言(SFC)
顺序功能流程图语言是为了满足顺序逻辑控制而设计的编程语言。编程时将顺序流程动作的过程分成步和转换条件,根据转移条件对控制系统的功能流程顺序进行分配,一步一步的按照顺序动作。每一步代表一个控制功能任务,用方框表示。在方框内含有用于完成相应控制功能任务的梯形图逻辑。这种编程语言使程序结构清晰,易于阅读及维护,大大减轻编程的工作量,缩短编程和调试时间。用于系统的规模校大,程序关系较复杂的场合。
顺序功能流程图编程语言的特点:以功能为主线,按照功能流程的顺序分配,条理清楚,便于对用户程序理解;避免梯形图或其他语言不能顺序动作的缺陷,同时也避免了用梯形图语言对顺序动作编程时,由于机械互锁造成用户程序结构复杂、难以理解的缺陷;用户程序扫描时间也大大缩短。
5、结构化文本语言(ST)
结构化文本语言是用结构化的描述文本来描述程序的一种编程语言。它是类似于高级语言的一种编程语言。在大中型的PLC系统中,常采用结构化文本来描述控制系统中各个变量的关系。主要用于其他编程语言较难实现的用户程序编制。
结构化文本编程语言采用计算机的描述方式来描述系统中各种变量之间的各种运算关系,完成所需的功能或操作。大多数PLC制造商采用的结构化文本编程语言与BASIC语言、PASCAL语言或C
语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。结构化文本编程语言的特点:采用高级语言进行编程,可以完成较复杂的控制运算;需要有一定的计算机高级语言的知识和编程技巧,对工程设计人员要求较高。直观性和操作性较差。
不同型号的PLC编程软件对以上五种编程语言的支持种类是不同的,早期的PLC仅仅支持梯形图编程语言和指令表编程语言。目前的PLC对梯形图(LD)、指令表(STL)、功能模块图(FBD)编程语言都以支持。
梯形图编程语言
梯形图沿袭了继电器控制电路的形式,它是在电器控制系统中常用的继电器、接触器逻辑控制基础上简化了符号演变来的,形象、直观、实用。
(一)梯形图按从左到右、从上到下的顺序排列。每一逻辑行起始于左母线,然后是触点的串、并联接,最后是线圈与右母线相联。
(二)梯形图中每个梯级流过的不是物理电流,而是“概念电流”,从左流向右,其两端没有电源。这个“概念电流”只是形象地描述用户程序执行中应满足线圈接通的条件。
(三)输入继电器用于接收外部输入信号,而不能由PLC内部其它继电器的触点来驱动。因此,梯形图中只出现输入继电器的触点,而不出现其线圈。输出继电器输出程序执行结果给外部输出设备,当梯形图中的输出继电器线圈得电时,就有信号输出,但不是直接驱动输出设备,而要通过输出接口的继电器、晶体管或晶闸管才能实现。输出继电器的触点可供内部编程使用。
2.语句表编程语言
指令语句表示一种与计算机汇编语言相类似的助记符编程方式,但比汇编语言易懂易学。一条指令语句是由步序、指令语和作用器件编号三部分组成。
3.控制系统流程图编程图
控制系统流程图是一种较新的编程方法。它是用像控制系统流程图一样的功能图表达一个控制过程,目前国际电工协会(IEC)正在实施发展这种新式的编程标准。
理论似乎很简单,但是实践起来是很难的,我之前是在东训学习的,那里提供实操设备,老师也很负责,学起来不费力。
学习PLC编程首先需要从理论基础开始。
1、学习PLC的基本原理,
硬件:搞清楚输入和输出端的基本结构,熟悉端口的基本电气要求。
软件:对于PLC系统,必须搞清楚什么是I/O刷新,这是编程的基础,知道PLC的工作循环。
推荐学习《可编程控制器原理及应用》
2、学习基本指令
可以先从梯形图语言开始,先练习基本的逻辑指令;
学些各种逻辑指令块。
推荐学习《PLC自学手册》
3、实践
可毕腊以在模拟器上模拟练习:(一般PLC编程器都有模拟的功能)
编写PLC程序,编译运行,手动输入一些信号,观看输出端口的信号变化是否满足程序的要求。