PLC编程知多少?有人用5种语言来编写一小段代码来比较
图片来源:宏德自动化
作者:Frank Lamb
“
梯形图逻辑通常是PLC使用最多的图形编程语言,但在某些特定的编程应用中其他语言可能更适合。
”
在美国,大多数参与可编程逻辑控制器 (PLC)编程和维护的人员都倾向于认为:梯形图逻辑是PLC唯一的编程语言。这种理念在很大程度上是由PLC的历史、以及美国的工业控制市场是被以梯形图逻辑为主要语言的品牌统治所造成的。
在计算机和便携式计算机广泛应用于PLC编程之前,经常使用手持式编程器将程序输入到 PLC中。在此之前,通常需要绘制用于不同指令的电气图。这就像在PLC出现之前,如何连接原始继电器逻辑一样。在手持设备上,有时会用符号表示不同指令,但是在图形设计的背后,是基于文本的语言。
1994年,国际电工委员会(IEC)制定了一个可用于定义和规范PLC编程系统的标准 IEC 61131-3。除了形式化定义诸如计时器和计数器之类的指令外, 该标准还定义了5种编程语言。
指令表(IL) 是基于文本的语言,梯形图逻辑经常被转换成相同的语言。有些厂商仅将其用作机器代码的过渡,最终会编译成在处理器中执行的语言。另外有一些厂商则使用指令列表作为主要语言,并添加了无法用梯形图逻辑表示的其它指令(例如语句列表)。
图 1 :指令列表通常用于复杂的数学任务和搜索
梯形图逻辑(LAD) ,是PLC使用得最多的图形编程语言。它是从继电器逻辑电路图演变而来。梯形图逻辑是在常用的继电器与接触器逻辑控制基础上简化了符号演变而来的,具有形象、直观、实用等特点。
图 2 :梯形图逻辑是最常用的PLC编程 , 与继电器电路图最为相似。
功能块图(FBD) 是另一种图形编程语言, 可用于包括PLC和分布式控制系统(DCS)在内的一些控制器。它使用不同类型的块(例如与、或、比较、数学计算、计时器和计数器), 来描述输入和输出变量之间的功能。输入从 设备或其它模块的输出馈入一个模块 ;输出将数据传送到下一个块或变量。
图 3 :功能框图非常适合安全电路 / 安全PLC
结构化文本(ST) 是一种类似于计算机语言(例如Pascal)的高级语言。ST语言中的表达式由运算符和操作数组成。操作数可以是常量、变量、函数调用或另一个表达式。表达式的计算通过执行具有不同优先级的运算符完成。有最高优先级的运算符先被执行, 然后依次执行下一个优先级的运算符,直到所有的运算符被处理完。有相同优先级的运算符按从左到右的顺序执行。
图 4 :结构化文本可以帮助完成复杂的数学任务和搜索。
顺序功能图(SFC) 语言是基于一种被称为Grafcet的古老逻辑语言,该语言基于二进制Petri网络。它可用于编制复杂的顺控程序,又称为状态转移图或功能表图,是描述控制系统的控制过程、功能和特性的一种图形,也是设计顺序控制程序的工具。它是一种被称为步的块语言,带有相关逻辑条件切换。语言中的步可以是活动或不活动的,并且逻辑可以并行运行。利用这种先进的编程方法, 初学者也很容易编出复杂的顺控程序,大大提高了工作效率,也为调试、试运行带来许多言传的方便。
图 5 :顺序功能图对于分段逻辑很有用。
几年前,我突发奇想 :如果用所有5种语言,来编写一小段代码进行比较,将会非常有趣。逻辑建立自动和手动模式,然后在3秒钟后激活“循环”位。它是通用的,但是基于我使用的PLC平台(图1至图5)。语法和代码显示方式会因软件品牌和平台而异。
指令和注释,通常使用带颜色的编码, 以便于阅读。通常,语言包会额外收费或包含在编程软件的“专业”版本中。
不同语言有不同的用途。梯形图仍然适用于直接的“位操作”逻辑。指令列表和结构化文本通常用于更复杂的数学任务和搜索。功能块图可以很好地用于安全电路/ 安全 PLC。顺序功能图对于分段逻辑很有用。
在下一次编写复杂程序时,请尝试考虑使用某些“其它”类型的 PLC语言,因为这可能会使工作变得更容易。
关键概念:
■ 在美国, 梯形图逻辑是最常用的 PLC编程语言。
■ 指令列表、功能块图、结构化文本和顺序功能图都是有用的编程语言,也可能比梯形图更合适,这都取决于具体的应用程序。
思考一下:
除了梯形图逻辑外, 您还使用过哪种其它编程语言,为什么会使用它?
- END -
本文来自于控制工程中文版(CONTROL ENGINEERING China)2020年01-02月刊《封面》栏目,原标题为:你使用什么语言编程 PLC ?
西门子PLC分布式IO配置一二点
《一、前序》
因本体机架或者受限柜体尺寸,目前大多数厂家的PLC都具备了远程IO或者说分布式IO的功能,目的是增加输入输出点位,节省成本。西门子从S7-200 smart到S7-1500都具备了扩展IO的功能。最先采用的是总线协议(profibus-DP)实现,随着工业4.0的需求,以及网络的发展,大多数PLC都实现了一网通的情况,通过以太网接口模式实现通讯联络。
《二、ET200SP经典分布式IO》
在很多水处理的项目中,处理器设计为S7-1200、s7-1500,我们可以采用分布式IO实现各站点的配置。
下面以一个实例加以说明:
组态网络图:
本案例采用了一个CPU,下挂2个ET200SP接口模块。
CPU采用S7-1500控制器,主站组态如下:
分布式IO配置如下:
对于ET200SP的组态,需要注意的是选择接口模块以及基座。接口模块常用的有以下几种:
基座适配器包含带配电和不带配电的,一般一个带配电的后面可以配置8个不带配电的。
白底底座为带配电的。
灰色(深色)不带配电的。
配置完成后,还需要加一个服务器模块 (6ES7 193-6PA00-0AA0)。
**************************以上为主要组态配置**************************
对于ET200SP接口模块必须配置IP地址,点击属性,需要“分配设备名称”
按照设定的IP进行设备名称分配
到此,ET200SP配置基本完成了。
《三、结论》
1、ET200SP配置时,需要核对机架的长度,软件可以配置34个模块。但要考虑CPU的存储卡和处理能力。
2、ET200SP的点位有限制,比如单模块的数字量输入只有16点的。
3、ET200SP的接线一定要注意,不然在编程时会出现地址对应不上。
相关问答
分布式io和plc有什么区别?
一般PLC上的IO是紧跟随在CPU单元上的,但是为了布线和维护方便,工业领域提出了分布式IO的概念。也就是IO单元可以通过设备层的网络通讯协议,将IO单元布置于远...
什么是plc并联连接?
在PLC(可编程逻辑控制器)系统中,"并联连接"(ParallelConnection)是一种指多个PLC之间通过网络或总线进行连接和通信的方式。并联连接通过将多个独立的PLC...
PLC技术在城市轨道交通中的应用的背景?
轨道交通行业中分两部分使用PLC,一部分是车站部分,另一部分是车辆部分。在车站部分,PLC主要应用于轨道交通的综合监控系统、环控系统、设备监控系统、电...
PLC型号怎么选?
[回答]系统可靠性的要求对于一般系统PLC的可靠性均能满足。对可靠性要求很高的系统,应考虑是否采用冗余控制系统或热备用系统。安装方式的选择根据PLC的...
西门子plc编程软件中网络1、网络2是什么意思?有什么用?-ZOL问答
SIEMENS的指令里面没有这个指令的,是编程者自己定义的一个中间继电器的变量。...使用网络1和2可以实现分布式控制,比如一个负责操作流程的核心部分(如主控),另一...
plc内部结构详解?
PLC的内部结构由CPU、存储器(EPROM、RAM)、输入/输出单元、外设I/O接口、通信接口及电源组成。对于整体式PLC,这些部件都在同一个机壳内。而对于模块式PLC,各...
智能家居涉及到分布式系统的什么知识?
总线结构与技术智能家居的总线技术主要是通过一条总线将所有的电器设备都连接起来,是一种全分布式智能控制网络技术,加载了控制信号的总线将每个受控器件连...
帮个忙大佬们推荐一下!往西门子PLCS7-200编程问题?S7-200的...
[回答]回收6ES7系列、西门子PLCS7-200系列PLC的基本硬件组成:SIMATICS7-200的应用领域从更换继电器和器一直扩展到在单机、网络以及分布式配置中更复杂的...
什么是plc,plc主要用于做什么?
PLC是可编程逻辑控制器(ProgrammableLogicController)的缩写,是一种用于自动化控制的电子设备。它通过可编程的存储器,用于存储和执行用户定义的程序,从而...
plc可根据什么分为五种类型?
PLC产品种类繁多,其规格和性能也各不相同。如果按应用类型来划分,可编程序控制器的应用主要有以下五种:1、数据处理现代的PLC都具有数学运算、数据...PLC产...