师傅:学PLC从哪里入手?老电工:看懂这27个逻辑指令就会编程了
提起PLC,相信大部分的电力作业人员都非常熟悉,甚至有的电工老师傅每天都在使用和编程PLC,一点不夸张的说:PLC在工业自动化,机械自动化和智能化的控制当中应用非常的广泛,自然的,PLC编程也越来越受到广大电工技术人员的喜欢,很多的电工师傅都在学习PLC的编程和控制,最近很多的电工师傅留言问:怎么样快速入门学PLC?PLC编程都需要学习哪些知识?有什么重点需要学习的吗?相信很多的电工老师傅都知道,PLC的学习离不开逻辑编程指令,要想对PLC进行逻辑编程,必须要掌握PLC常用的逻辑编程指令,对于编程指令的学习,很多的电工师傅都说:书本上太过复杂,一看就困,这也是PLC初学者普遍存在的现象,今天我们就换一种学习方式,来重点看一看PLC常用的27条逻辑指令,不夸张的说,掌握这27条逻辑指令是PLC入门编程的第一步,也是最重要的一步:
S7 300PLC之旅——STEP7的三种基本编程语言:LAD、FBD、STL
在上一篇文章《复盘“运料小车程序”,聊一聊PLC编程》中,驼子假定了一个运料小车的控制程序,简单的聊了一下一下PLC控制项目的编程步骤。有小伙伴认为程序体理解起来稍微有点难度,为了使有需要的小伙伴能有一个更为清晰的认识,驼子将在本文介绍以下STEP7 的三种基本编程语言:LAD、FBD以及STL。
一、梯形图LAD
梯形图语言是从常用的继电器与接触器逻辑控制基础上简化了符号演变而来的,具有形象、直观、实用等特点,电气技术人员容易接受,是目前运用上最多的一种PLC的编程语言。
在PLC程序图中,左、右母线类似于继电器与接触器控制电源线,输出线圈类似于负载,输入触点类似于按钮。梯形图由若干阶级构成,自上而下排列,每个阶级起于左母线,经过触点与线圈,止于右母线。图1为一段典型的梯形图语言编写的程序。
图1 梯形图语言
上图中,“常开点”I0.3、I1.2、I1.1及“常闭点”I0.2串联后,与“常开点”M0.0并联,然后为“线圈”Q4.2供电。在“继电器与接触器“型电路中,用梯形图编程会显得一目了然,犹如看电气连接图一般。
二、功能块图FBD
FBD用方框图的形式来表示控制逻辑,类似于数字逻辑门电路的编程语言。驼子在大学时,对数字电路情有独钟,因而后来对FBD语言有了天然的好感,工作中倾向于用FBD进行编程。FBD语言对于有数字电路基础的人来说很容易掌握,该编程语言用类似与门、或门的方框来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量;信号也是由左向右流向的,各个功能方框之间可以串联,也可以插入中间信号。在每个最后输出的前面组合逻辑操作方框数是有限的,同一组逻辑运算的输出结果的数目也要根据操作系统的不同而不同;经过扩展,不但可以表示各种简单的逻辑操作,并且也可以表示复杂的运算、操作功能。图1的梯形图控制逻辑用FBD编程的话,如图2所示。
图2 FBD语言
图2中,方框”&“为“与”运算,“>="为或运算,其真值表如下:
图3 真值表
FBD语言的编程过程类似于数字电路中用集成模块搭建电路,每个模块都有其自己的功能,根据控制需要,选用合适的模块,用“线”连起来即可。
三、语句表STL
STL是一种与汇编语言类似的助记符编程语言,用一个或几个容易记忆的字符来代表PLC的某种操作功能,每个语句由地址(步序号)、操作码(指令)和操作数(数据)三部分组成。语句表可以实现某些不易用梯形图或功能块图来实现的功能。玩过单片机的小伙伴再学习STL,可能会有些优势。图4为用STL编写的同一控制逻辑的程序。
图4 STL语言
其中,“A”为与运算,“AN”为与非运算,“O”为或运算,“=”为赋值运算。
用STL编程,需要对PLC的微观逻辑结构有相当的了解,比如:需要了解各种存储模式,熟悉各种寻址方式,同时还要能熟练使用各种编程助记符。可以说,能够熟练运用STL编程的小伙伴,siemens的PLC一定玩的相当的溜。驼子我的STL编程仍处在初学者阶段,犹记得去年用STL编写过一段光电测距仪的接口程序,不知死了多少脑细胞,实在是不堪回首。
四、三种语言,该如何抉择?
1、三种语言互相转换
在STEP7中,可以通过菜单选择,在三种语言中相互切换显示。如图5所示。
图5 LAD、FBD、STL切换显示
当然,通常LAD和FBD直接可以互相切换,LAD、FBD也可以转换为STL语言,但STL却不一定可以转换为LAD或FBD语言。
2、三种语言的优劣比较
LAD是最常用的PLC编程语言,其形象、直观,稍懂电气的人就能很快上手,而且目前市面上几乎所有的PLC都支持LAD编程,一通百通。其在“继电器或接触器型”逻辑功能中应用比较好,但随着STEP7中集成的程序功能单元越来越多,LAD语言写出的程序多少有点“不伦不类”。如图6所示,程序单元“CMP>=D”在FBD程序中,以“块”的形式显示,与其他单元一样;但在LAD语言中,仍以“块”的形式显示,与其它“触点单元”放在一起显得有点格格不入,虽然不影响逻辑,但看起来不工整。
图6 FBD、LAD程序对比
FBD语言写出的程序,个人认为逻辑性较强,在编程过程中,可以根据被控对象的控制逻辑,“轻易”的捋清程序逻辑,编程就会轻松许多。同时,STEP7提供了大量的、功能各异的“程序逻辑单元”,仅需要简单的拖动,就能实现编程。
STL接近于汇编语言,起点较高,不容易掌握。但在一些需要对硬件操作的时候,比如:驼子曾经编写过的激光测距仪的接口程序,就不得不用到STL语言了。
相关问答
plc基本逻辑电路有哪些?
逻辑电路是一种离散信号的传递和处理,以二进制为原理、实现数字信号逻辑运算和操作的电路。分组合逻辑电路和时序逻辑电路。前者由最基本的“与门”电路、“...
plc逻辑控制是什么意思?
plc逻辑控制是是指plc的程序编程时的逻辑,比如顺序控制,循环控制。PLC代表可编程逻辑控制器,它是一种专门为在工业环境下应用而设计的数字运算操作电子系统。...
plc一个点控开关如何实现开和关?
PLC(可编程逻辑控制器)中的一个点控开关可以通过编程实现开和关的功能。在PLC程序中,可以使用一个输出位来控制该开关的状态。当该输出位被置为高电平时,开关...
PLC如何连空气开关?
可编程逻辑控制器(PLC)通常与空气开关(也称为断路器或继电器)结合使用,以控制电路的通断,保障电路的安全运行。连接PLC和空气开关的基本步骤如下:了解空...
2AD模块哪款PLC可以用?
2AD模块是一种模拟输入模块,通常用于PLC(可编程逻辑控制器)的输入信号采集。不同品牌和型号的PLC可能会使用不同的接口和通信协议,因此并非所有PLC都能够兼容...
cpld和plc区别?
CPLD和PLC是两种不同的电子元件。它们在结构和功能上有所区别。1.CPLD(ComplexProgrammableLogicDevice)是一种可编程逻辑器件,通常由可编程逻辑阵列(P...
plc柜可以控制多个阀门开关吗?
是的,PLC柜可以控制多个阀门开关。PLC(可编程逻辑控制器)是一种专门用于控制工业自动化系统的设备,可以通过编程实现对多个阀门的精确控制。通过PLC柜,可以...
plc的x是输入吗?
在PLC(可编程逻辑控制器)中,X通常被用作输入。它是从外部设备或传感器等物理量中获取的数字信号。X输入可以是开关,按钮,传感器信号或其他数字信号,用于控...
plc位逻辑中的符号都是什么意思?
PLC位逻辑中的符号都是根据电路中元件的功能而设计的。比如,"X"代表输入;"Y"代表输出;"M"代表内部存储器;"T"...
西门子200plc如何逻辑程序式启动?
要进行逻辑程序是启动是要先开启西门子app然后点击启动装置即可要进行逻辑程序是启动是要先开启西门子app然后点击启动装置即可