有哪些不同类型的PLC编程语言
可编程逻辑控制器(PLC)是工厂或制造系统中常用的通用控制设备。它们为各种应用提供了有用且高效的控制解决方案,并且可以接受来自各种设备的输入,例如运动检测器、操纵杆和按钮等。反过来,PLC能够产生控制灯光、马达和音效等的输出。这个输入输出系统的编程资源可以包括定时器、计数器和其他变量。 虽然PLC在商业应用中非常有效,但它们的学习曲线很陡。使用传统的继电器梯形逻辑(RLL)编程语言,在学习它们的功能以及程序维护方面存在一些固有的困难。还应注意,来自不同制造商的PLC可以以各种方式编程。 如果你是一个有抱负的PLC技术人员,或考虑参加在线PLC培训课程,您应该了解三种主要的PLC编程语言。 功能框图 功能框图(FBD)是所有PLC程序员的基本语言。它本质上相对简单,程序功能在一个PLC程序中以图形方式结合在一起。顾名思义,FBD允许PLC技术人员将用代码行编写的功能放入盒子或模块中。 然后,您可以连接这些框来创建更大的PLC程序。几乎处处编写PLC程序,至少部分与FBD,因为它提供了技术人员的能力,连接各种功能在一起。功能块是这种编程语言的组成部分,因为它们描述了输入和输出功能之间的关系。 在FBD语中,有几个标准语块。其中最重要的包括: 位逻辑功能块 双稳态功能块 边缘检测 定时器功能块 反功能块 FBD中提供了无限数量的功能块,通常,几乎每个可在PLC编程中执行的操作都有一个功能块,包括: 算术功能块; 位移功能块; 字符串功能块; 转换功能块; 通信功能块 此外,许多PLC技术人员而发烧友往往会自己搭建功能块。 梯形图 也称为梯形逻辑,梯形图(LD)是一种可视化的PLC编程语言,可以很快学会。有继电器电路经验的人可能会发现LD程序相对容易掌握,因为两者看起来非常相似。PLCOpen组织已经为LD建立了标准,使其成为唯一的标准化PLC编程语言之一。本质上,每个函数都被编码成一个梯级,一旦许多梯级在程序中连接在一起,它们就形成了一个看起来像梯子的东西。 LD是为具有阅读和理解电路原理图背景的技术人员和电工设计的。LD编程不使用文本,而是使用称为符号的图形元素,这些图形元素看起来像电子符号。然而,一个重要的区别是,电路是水平绘制的,而LD程序是垂直创建的。 当您垂直构建LD程序时,PLC将一次执行一个梯级(或符号),因为梯形中的每个符号都是一条指令。当你创建一个新的梯形逻辑时,你会注意到两条垂直线,你的梯形逻辑将位于这两条线之间。您将继续绘制原始线之间的垂直连接,创建信息梯级。然后,您可以在这些横档中包含任何上述符号,形成PLC的指令。每次执行程序一个梯级,PLC通常会扫描其所有输入,然后继续执行程序以设置输出。一些常见的符号或说明包括: 检查是否关闭:看起来像两条相互平行的短竖线,符号上方标有名称“I0.0”。这是一个条件指令,通常用于检查某事是否为真,例如,它可以检查某个位是否打开。当PLC检查其输入状态时,它将在其存储器中分配一个布尔值(1或0)。如果输入为低,该位将被设置为0,或者,如果输入为高,该位将被设置为1。 输出线圈:看起来像一组括号,用于打开和关闭一点。 输出锁存器:允许您指示PLC执行连续输出,即使数字输入是瞬时按钮(即需要不断按下才能工作的设备)。例如,当处理通风系统的风扇时,这是特别方便的,在这种情况下,操作者不方便连续按住风扇的按钮。 检查是否打开:是另一个内存地址为“I0.1”的符号。这个函数看起来像Examine If Closed符号,但有一条对角线穿过两条垂直线,其工作方式与Examine If Closed完全相反。 LD程序中还涉及许多其他符号,其中包括: 结构化文本 结构化文本(ST)编程语言是基于文本的,通常被认为是最容易理解的语言之一,对于初学者和那些构建程序的人来说也是如此。虽然基于图形的程序,如前面提到的FBD或LD,可能看起来更容易理解,但使用基于文本的语言(如ST)将占用更少的空间,并使用户更容易理解程序的逻辑。ST的另一个好处是可以和不同的编程语言结合。例如,您可以创建包含用ST编写的功能的功能块,因为ST是一种标准化的编程语言,所以您可以用它对不同的PLC品牌进行编程。 类似于梯形逻辑,用ST编写的程序一次执行一行。ST的基本语法围绕着“Program”和“End_Program ”,它们将PLC程序夹在中间,如下所示: 值得注意的是,“End_Program”命令不会最终结束您的程序,而是指示PLC扫描周期重新开始,使您的程序重复运行。 您的PLC编程软件可能会自动实现“Program”/“End _ Program”构造,提示您编写填充该构造所需的代码。虽然有许多管理ST的语法细节,但是有一些您应该始终注意的一般规则: 所有语句都用分号分隔;…
PLC编程基础–第4部分
在我们正在进行的PLC技术人员实践系列的这一部分中,我们将扩展我们对已经熟悉的真实世界现场设备的虚拟对应的知识PLC技术人员今天在工业界工作。我们要检查的最后一个物理设备是计数器。我们将简要了解在对现代PLC进行编程以执行工业控制应用时,该器件的虚拟版本是如何实现的。我们还将说明技术人员如何熟悉与AB SLC 500系列控制器一起使用的各种附加指令。 CTU和CTD计数器指令之间有什么区别? 在编程PLC时,我们会遇到两种基本类型的计数器,一种是上行计数器或CTU指令,另一种是下行计数器或CTD指令。您可能已经凭直觉知道,CTU计数器指令从用户定义的值(存储在指令的ACC或accumulated字段中)开始,并且每当指令所在的梯级上发生“假到真的转换”时,递增计数或增加值。每当该指令所在的梯级呈现“假到真”的转变时,CTD指令用于递减用户定义的(同样是存储在指令的ACC字段中的值)值。在这两种情况下,专用传感器、物理棒或近程探测器等现场设备都会导致输入架位置改变状态。与这些计数器指令相关的信息存储在C5(计数器)数据文件位置。除了单独的计数器类型(递增或递减计数器),还可以组合这些指令来创建计数器双向计数器或“计数器对”。 如何创建一个上行/下行计数器对? 除了前面提到的预设值和累计值字段,这两种计数器类型还可以共享状态位和计数器参考。C5文件的内存位置结构为用户定义的值和状态位提供了存储,这一点我们在数据文件类型和结构. 在上图中,CTU指令和CTD指令的“计数器”字段引用同一个内存存储位置C5:1(也显示在图中)。该文件中的每个存储器位置存储CU(递增计数使能)、CD(递减计数使能)、DN(完成)、OV(上溢)、UN(下溢)状态位以及共享C5参考的计数器的预置值和累计值。在本例中,预设值设置为100。请注意,值是共享的,并显示为两个计数器的预设值。当前累计值为10,它也在每个指令中共享和显示。当I:1/1触点闭合时,CTU计数器被触发。这将增加存储在C5:1存储位置的累计值,修改后的值将显示在两条指令中。当I:1/2触点闭合时,累计值将减少,并返回到值10。每个现有的计数器都能够修改这个累加值。它们还共享bit状态。这样,运行计数可以通过现场事件(梯级上的触点所引用的I:1输入模块的状态转换)来递增或递减。 下面的视频展示了用于保持运行计数值的递增/递减计数器对的行为,该计数器可根据需要递增或递减。该视频概述了使用运行计数来跟踪电梯轿厢位置的电梯提升程序。 多条指令共享一个数据文件存储地址是一件常见的事情吗? 还有其他指令能够使用共享存储器位置引用。采用这种引用共享技术的另一种常见指令是SQO序列器输出指令。这些定序器指令中的几个可能共享相同的R6控制数据文件存储器位置,同时引用不同的源文件位置。这种情况下的目标是共享POS(位置)值。这将使每个引用的源文件中的文件指针彼此同步移动。技术人员将使用该工具创建虚拟序列表,并将部分表数据发送到不同的输出或指令字段位置。序列表可以存储交通灯应用中的灯的输出模式。 单独的序列表可以存储光序列中每一步的定时信息。随着指针一起移动,每个输出光模式(被发送到控制光的输出位置)被步进,每个步骤的相应持续时间可以被发送到定时器指令的预设字段。 你如何研究SLC 500系列控制器的各种指令的行为? 基本扩展指令集在供应商处有详细说明用户指令集参考手册。该指南列出了可用的指令,并描述了与每个指令相关的操作和数据。由于说明太多,无法以这种格式详细阐述,因此熟悉这一资源非常重要。 在我们的下一期文章中,我们将列出一些与我们在本博客系列中讨论的指令相关的最常见的编程错误,以及如何避免它们。
标准做法和初学者在PLC编程时遇到的错误-第1部分
在我们正在进行的PLC技术人员实践系列的下两期中,我们将研究一些常见的编程概念,以及在使用我们在基本控制应用中介绍的指令时出现的一些最常见的编程错误。到目前为止,我们已经了解了线圈、触点、时序控制器、定时器和计数器,以及用于存储指令信息、状态位和程序变量的文件结构。这些元素的组合为我们提供了开始编写简单控制应用程序所需的基本概念。这一部分将关注五个基本的常见实践。 有哪些常用的方法? 当编程PLC时,尽管每个控制环境/应用可能是特定的和专门的,但是有一些概念通常被广泛的应用所采用/使用。在我们讨论的第1部分中,我们将了解以下常见实践: 使用基本组合逻辑来控制输出 使用字段闭包 对“启动/停止”站使用“密封” 使用虚拟的“控制继电器” 使用“互锁”实现互斥 1.使用基本组合逻辑来控制输出 正如我们在关于线圈和触点的讨论中所看到的,输出设备可以由线圈指令控制,该指令引用设备所连接的输出机架位置(物理地址)。要打开现场设备,只需给参考特定输出机架位置地址的线圈通电。在大多数情况下,需要根据特定于给定控制应用的一组定义的条件或标准来开启或关闭输出。这些条件可以使用与输入架位置或指令状态位相关联的触点来定义。查看下面包含三个梯级的梯形逻辑程序。这个简单的程序演示了以梯形逻辑形式实现的一些基本逻辑函数的用法。 基本逻辑功能(与、或、非) 梯级1:逻辑与功能 该横档控制连接到输出架位置O:2/1的输出1线圈。连接到该输出的设备将根据该输出线圈的状态打开或关闭。梯级1中触点的配置和类型创建了and逻辑功能。这意味着条件1、条件2和条件3在输入位置(I:1/1、I:1/2、I:1/3)都必须为高,以便在该梯级上保持连续性。当梯级1上存在连续性时,输出1线圈将通电 梯级2:逻辑或函数 这个梯级包含所谓的“分支”。它控制连接到输出架位置O:2/2的输出2线圈。为了在该梯级上保持连续性,条件4或条件5或条件6在所引用的输入机架位置处必须为高。(I:1/4,I:1/5,I:1/6)如果这些输入架位置中的任何一个为高,输出2线圈将被通电,连接到O:2/2输出架位置的设备将被打开。 梯级3:逻辑非函数 该横档由一个常闭触点组成,与控制输出架位置O:2/3的输出3线圈一致。在这种情况下,当现场没有出现条件7时,输出3将被通电。这意味着,只要输入架位置I:1/7处没有高电平,连接到输出的设备就会打开。 2.使用字段闭包 术语“场闭合”指的是使用输入装置,例如常闭(NC)的瞬时接触开关,其常开(NO)触点与开关所连接的输入位置相关联。该程序将包含一个常开触点,该触点在程序脱机时保持打开。然而,一旦程序被置于运行模式,由闭合的瞬时接触开关产生的高状态在输入架位置被识别,并且常开触点立即闭合。 如上所述,现场设备在输入端提供高电平,该高电平状态关闭程序中的NO触点。输入设备不必是开关,它可以是当处于静止状态时在输入架上提供高电平的任何设备。 3.对“启动/停止”站使用“密封” 标准做法是在包含启动/停止站的应用中使用“密封”梯级和控制继电器。大多数控制应用将为停止按钮使用NC瞬时接触开关。停止按钮将在程序中控制NO触点。他们通常会采用上述的场闭合技术。在大多数应用中,启动按钮是一个无瞬时触点开关,用于控制程序中的无触点。由于这种类型开关的瞬时性质,我们需要一种方法在释放启动按钮开关时保持梯级的连续性。为完成此任务,使用了一个虚拟控制继电器,其无触点与启动按钮并联,如下图所示: 让我们花点时间来检查一下上面显示的程序梯级的构造和操作。除了连接到输入架插槽1的两种按钮开关(启动和停止)的触点,我们还有一个输出线圈。该输出线圈是一个“虚拟”输出,因为它的参考并不对应于物理输出架位置。该虚拟控制继电器引用一个存储位置,该位置将用于存储O8输出文件中的线圈状态。参考该虚拟控制继电器线圈的NO触点与瞬时触点启动按钮平行放置。该触点将响应存储在输出文件位置(O8输出文件,字0)的虚拟继电器线圈的状态。当该线圈通电时,(通过按下启动按钮),与启动按钮平行的触点闭合。这意味着,即使在释放启动按钮后,其关联的NO触点再次打开,该梯级上的连续性仍将持续。中断连续性的唯一方法是按下NC停止按钮。这将使虚拟控制继电器断电,并断开与之相关的触点。当停止按钮被释放时,即使其相关触点将闭合,围绕开始触点的路径不再可用,并且连续性被中断,直到再次按下开始按钮。 4.使用虚拟控制继电器 密封横档只是在应用中采用虚拟控制继电器线圈的用途之一。该项目也用作编程中的一般安全特性。 下图显示了在一个简单的电机控制应用中,梯级中相同的启动/停止密封。在该程序中,可以使用外部启动和停止瞬时接触开关启动或停止电机。除了使用虚拟控制继电器在启动开关触点周围提供连续性(一旦释放启动按钮,该触点将重新打开)之外,该控制继电器线圈还用于在包含电机输出线圈的横档和包含“运行”指示器输出线圈的横档上建立或断开连续性。 在上述应用中,除了创建上一节中讨论的密封之外,控制继电器还用于接通或断开电机控制梯级以及控制空闲指示器的梯级上的连续性。在按下启动按钮之前,控制继电器线圈断电,梯级3上存在连续性。该横档包含一个常闭触点,只要控制继电器线圈断电,该触点就会保持闭合。当按下启动按钮时,控制继电器通电,除了横档密封中的触点之外,横档2上的NO触点闭合,电机输出(O:2/0)和电机on灯输出(O:2/1)都通电。同时,与横档3上的控制继电器相关的NC触点断开,电机关闭光输出(O:2/2)断电。 标准做法是在梯级上使用与控制继电器相关联的触点,梯级具有参考实际物理输出位置的输出(OTE)指令。这确保了即使包含引用物理现场设备的输出指令的梯级上的其他条件为真,也可以通过对控制继电器线圈断电来关闭输出设备。事实上,所有的输出设备都可以使用单个控制继电器线圈和多个NO触点来关闭。 5.使用“互锁”实现互斥 两个输出之间的互斥是通过确保在任何给定时间两个输出中只有一个可以被激励来实现的。他们永远不可能在一起。 当不应一起通电的输出同时打开时,在设备可能损坏或条件可能变得危险的情况下,这通常是可取的。在现场,这是通过物理设备安全设备来完成的。在一个PLC程序我们使用互锁配置。这种编程特性确保了相关输出的理想限制。它基本上要求将与第一输出相关联的NC触点与第二输出对齐,反之,将与第二输出相关联的NC触点与第一输出对齐。这样,连续性不可能同时存在于梯形逻辑程序的两个梯级上。
PLC编程错误和疏忽-第2部分
在“PLC技术人员实践”系列的上一期中,我们研究了为工业应用编程PLC时常用的一些方法。在这一部分中,我们将研究一些最常见的编程错误和疏忽,这些错误和疏忽是在使用我们目前正在进行的系列中已经介绍过的指令时发生的。以下是一些基本的编程疏忽和需要注意的问题。 使用线圈和触点时遇到的三个常见编程疏忽? 1. 使用线圈和触点时最常见的错误之一是,程序中一个梯级上的程序逻辑指示输出处于给定状态,而程序中不同梯级上的条件指示同一输出在单个扫描周期内处于相反状态。必须小心确保在单个扫描周期内不会出现输出指令设置为两种不同状态(开/关)的情况。使用状态标志作为中间步骤是这种情况的一种可能的解决方案。 2. 另一种需要避免的情况与现场设备有关。例如,如果在一个应用中使用两个马达,程序逻辑必须确保马达不会工作在不同的目的,或者在泵运行以填充油箱的同时打开阀门以排空油箱。在这种情况下,输出之间必须保持互斥。这个问题通常通过使用编程联锁来解决,确保一个输出必须关闭,另一个输出才能打开。 3.使用子程序时必须小心,确保输出状态不会被不再被扫描的子程序所固定。在这种情况下,在选择性调用的子例程中打开或关闭输出。如果程序执行离开子例程,并且该子例程没有被再次扫描(条件的改变导致子例程不再被使用),则通过子例程外部的梯级来改变输出状态的任何尝试都将导致类似于上面第1点中提到的程序冲突。在这种情况下,将变量传入和传出子例程,而不是直接寻址物理输出,有助于确保这种情况不会发生 PLC编程中使用定时器的常见困难? 在给定程序的扫描周期代表应用程序中定时器上设置的定时持续时间的重要部分或一部分的情况下,使用定时器时会出现常见错误。在这种情况下,定时器的精确跟踪受到不利影响。由于完成单个扫描周期所花费的时间量,计时器将不会更新得足够快以赶上或接近“预设”时间。当一个特定的程序很大并且没有被划分/优化时,或者当期望的持续时间很短时,这个问题经常出现。当这些情况对您的应用程序造成不利影响时,您应该将计时器梯级的副本放在程序的不同位置,以确保计时器累积值在每个扫描周期更新不止一次。 经常监督使用计数器 使用计数器时最常被忽略的一个问题与计数器可以达到的最大值和最小值有关。使用计数器时,必须做好溢出和/或下溢的准备。在某些情况下,负的计数器累计值会在给定的PLC应用中导致不期望的事件。当处理“累积”值的范围时,经常会出现这种情况。如果计数器回绕,其累计值通常会超出应用程序中指定的操作范围。确保充分利用上溢位和下溢位来确保何时出现这种回绕情况,并使用它们来解决这个问题。 使用序列器的两个被误解的方面 1.在PLC应用中使用序列器时,屏蔽工作原理的细节经常会被误解。选择合适的屏蔽值对于确保数据表输出或数据采集的完成至关重要。通常,初学者认为使用掩码可以确保只有数据字的某些部分可以被修改。虽然这在某种意义上是正确的,但整个字都会被覆盖或过滤,而不仅仅是掩码值高位中包含的部分。当目标字被重写时,掩码字中的低位将为低。对于初学者来说,这往往有点违背直觉。更准确地说,只有与掩码字中的高位相对应的位可以取源字值,掩码字中的所有低位将导致目的地取目的地中的低值。如果要保留原始数据,必须使用高位值来确保掩码不会过滤或改变输出值。 2. 当引用数据的来源位置或存储位置时,需要注意的是引用的内存位置实际上是数组指针的占位符。它实际上不是正在构造或读取的数据表的一部分。需要注意的是,当序列器回绕时,数据表中的第一个位置实际上是下一个连续的文件地址。例如,如果文件字段的地址是B3:1,那么在本例中,表中获取或发送数据的第一个地址将是B3:2。此外,指定的长度字段值不包括被引用的文件位置本身,但包括紧跟在被引用的地址之后的步数或存储位置。
PLC与PAC:了解各自的差异和价值
在某些方面,“如果它没有坏,就不要修理它”这句话是一句可以应用于制造业的格言,特别是当它涉及到可编程逻辑控制器(或PLC)的使用时。自20世纪60年代以来,PLC已被用于自动化制造过程-虽然今天的PLC使60年前的功能相形见绌,但许多人认为,就过程管理而言,没有比可编程逻辑控制器更好的解决方案。 尽管许多人认为PAC或可编程自动化控制器只是一种具有新的现代名称的PLC(该术语最初由ARC Advisory Group于2001年创造),但也有人认为PAC比久经考验的真正PLC提供更大的价值,反之亦然。最终,决定谁对谁错归结为识别什么是最终用户期望应用的正确系统。 PLC和PAC有什么区别? PAC可以被描述为PC和PLC的“混合体”,因为它通常在一个封装中提供两者的优点。PLC和PAC的一个主要区别是编程接口。大多数PLC是以线圈和触点的图形表示进行编程的,称为梯形逻辑。PACs可以使用梯形逻辑进行编程,但也能够使用计算机编程语言(如C或C++)进行编程。 在简单或高速机器控制应用中,可编程逻辑控制器通常被认为是优秀的。普通的PLC设备在有限的内存下运行,并通过开/关控制关注离散输入/输出。 就PACs而言,在复杂的自动化系统架构中,PACs通常比PLC更适合,这些架构通常包含若干基于PC的高级应用程序,包括但不限于资产管理、更高级的过程控制和人机界面功能。从编程的角度来看,PACs的特点是更加灵活,并且通常包含更多的功能。 PACs还使得扩展系统比传统的PLC单元容易得多,简化了用户必须添加和移除传感器的过程——通常不需要用户断开任何接线。 显然,在可编程逻辑控制器和可编程自动化控制器的应用之间存在一些明确和切实的区别,这些区别远远超出了使用一个闪亮的新名字。话虽如此,重要的是回到上面表达的观点:最好的系统是适合工作的系统。 考虑到这一点,PLC可以说最适合于简单的任务,如控制基本的工业机器。需要明确的是,这并不是以任何方式贬低PLC的功能,而是建议用户不要购买不必要的功能。世界上大多数自动化制造都是通过使用PLC完成的,因为它们不需要PAC提供的所有功能和应用程序来完成制造过程。 现在,如果所需的应用需要控制大量的输入和输出点,或者如果应用的规模非常大,需要大量的环路控制,那么PAC可能就是最佳选择。 概括地说,PACs和PLC有几个共同点,包括电源、CPU、I/O机架和I/O模块。两台机器都有内存和地址来反映模块上的各个I/O点。然而,差异非常显著: 许多PLC都有固定的内存映射和寻址。虽然一些PLC,如Rockwell的Logix 5000和Siemens S7使用标签,但许多PLC不使用。所有PAC都使用标记名,并有内存映射限制。 PACs通常比PLC具有更大的I/O容量和内存容量。 PACs提供通信和数据处理选项,如USB数据记录端口、web服务器和数据日志文件。 PACs旨在与SQL和其他数据库更紧密地集成。它们为所有模拟处理要求提供16位模拟分辨率。 无论是PLC还是PAC,这两种系统的好处在于,一旦用户确定了系统类型,就有大量的型号可供选择,确保能够找到合适的型号。这是因为PLC和PAC旨在说明应用的规模,通常基于输入和输出计数。 随着时间的推移,PLC和PACs之间的许多关键区别变得越来越不明显,因为PLC技术不断发展,可以说为今天的PLC程序员队伍提供了一个充满挑战和有趣的机会。说PLC技术将很快让位于微处理器的能力有点牵强,考虑到世界各地的许多制造商仍然在他们的过程中使用手动方法,这使得当需要升级他们的操作时,他们不太可能跳过PLC集成,直接转向更实质性的,尽管更昂贵的基于PC的替代方案。 人们甚至可以说,随着手工制造方法变得越来越过时,该行业将会看到PLC使用的复苏。当然,这将带来额外的需求PLC技术人员服务维护这些有价值的系统。 通过进入乔治·布朗学院PLC技术员证书在这个项目中,学生将学习到使用大量可编程逻辑控制系统所必需的基本技能,这些系统已经在全球数以千计的工业环境中使用。
艾伦·布拉德利vs西门子:这些PLC工具有什么区别?
虽然很难相信工业自动化已经存在了近70年,但更难的是技术正在不断寻找新的创新方法来提高生产能力和流程效率。在被称为第三次工业革命的一长串工业技术中,可编程逻辑控制器(PLC)可以说是最具影响力的技术之一。事实上,这个看似不起眼的工业盒子可能会超越50年代和60年代开发的其他变革性技术——大型机计算、个人电脑、半导体和其他技术——这充分说明了PLC对20世纪和21世纪制造业的意义(并将继续意义)。 像任何事情一样,不是所有的上市公司都是平等的;今天市场上的每一个PLC都有自己的特性和优点。Rockwell的Allen-Bradley和Siemens就是两个这样的PLC,它们是世界上使用最广泛的PLC——虽然每个设备都是不可否认的行业主食,但它们之间有许多关键差异。让我们来看看它们是如何叠加的。 性能和可用性 当谈到可能彻底改变工厂运作的技术时,性能将会占据最大的关注份额。不幸的是,纯粹基于性能在艾伦-布拉德利和西门子之间做出决定并不容易;在速度、可靠性和输出方面,它们都相当旗鼓相当。相反,易于操作和集成往往是需要考虑的主要差异化点。 易用性和用户友好的界面有很多优点。Allen-Bradley PLC以拥有这两种品质而闻名,这使得这种可编程逻辑控制器对任何制造商来说都是一种有吸引力的投资。易用性意味着,即使相对来说没有丰富编程经验的PLC技术人员也可以使用Allen-Bradley PLC,但易用性并不止于此。调试Allen-Bradley PLC可以说比使用西门子PLC花费更少的时间和精力。 此外,Allen-Bradley PLC可与第三方设备有效通信,并可将标签从Excel导入和导出到人机界面(HMI)或SCADA数据库。 尽管如此,易用性并不总是最重要的标准,这取决于技术人员的经验水平和预期的应用。西门子允许他们的PLC被大量编程和定制,以适应特定的业务需求。当然,这意味着需要更扎实的计算机编程背景,以便技术人员有效地使用和维护西门子PLC,但是这种定制化所带来的机会是不可低估的。 五金器具 如果在读完最后一节后,你对艾伦-布拉德利的感觉比西门子更强烈,或者反之亦然,你可能想再多保留一会儿判断。虽然普遍认为Allen-Bradley PLC是两者中更用户友好的解决方案,但与Siemens相比,它们在易于安装方面稍有不足。 安装Allen-Bradley PLC时,您还需要连接Allen-Bradley电源、机架和用于安全通信端口的附加卡。另一方面,西门子PLC可以插入大多数标准的24V DC电源,并带有内置的安全通信端口。最后,西门子PLC带有符合欧洲标准的内置协议(ASI、Profinet、Profibus ),而Allen-Bradley PLC带有美国协议(以太网IP、控制网、设备网等)。). 支持 支持可用性是购买PLC时要考虑的一个重要因素。西门子为各种不同的产品提供全天候的售后技术支持、现场服务和备件,包括属于其过程和工厂自动化类别的任何产品。罗克韦尔还为他们的产品提供365天全天候技术支持,但不如西门子提供的全面,免费支持的水平取决于安装的硬件数量。在这两种情况下,您认为合适的支持水平可能是做出购买决定的重要因素。 哪个是赢家? 诚然,根据一个或另一个功能选择一个PLC是很容易的,但更重要的是看整个包装——易用性和集成、售后支持等。做出购买决定时。最终,正确的PLC是为给定应用检查最多盒子的PLC。
GBC更新其PLC技术员证书课程
为了保持GBC收集学生和行业反馈的长期传统,我们很高兴地宣布,我们已经更新了我们的PLC技术员证书计划课程包括新的功能和内容,直接响应行业需求和我们学生最普遍的要求。这程序内容更新包括“程序流控制相关”项目的附加信息,如“中断”及其用法,以及与闭环控制系统相关的内容,特别是PID指令及其用法。 PLCLogix 500模拟工具也已更新,包括另一个3Dworld模拟阀和与现在包含在程序内容中的附加信息相关的新说明。PLCLogix 500仿真工具的使用在强化和消化课程内容中讨论的概念方面发挥了不可或缺的作用。有了工作中断、中断区控制和PID指令,学生可以探索和实验这些新概念。 此外,增加了与3D环境中的条件相关的模拟数据的监控和图形,以帮助学生理解。 模块10“程序流程控制”增加了什么?中断。 模块10的内容已经扩展,增加了一个讨论中断的新部分。例子, 举例说明每种类型中断的用法。在PLC应用中,中断用于处理意外或不良情况或事件。它们可用于保护设备、触发警报、暂停操作,以及暂停常规程序的执行,以定期执行特定的任务。有四种常见的中断类型,它们按照下面列出的顺序进行处理: 1.故障例程中断 这些事件/问题被归类为由硬件相关问题(如设备故障)和软件相关问题(包括编程错误)引起的小故障和大故障。 2.离散输入中断 常用于需要高速计数器的应用中。当离散I/O卡的输入与编程的比较值匹配时,该功能允许处理器执行子程序。 3.可选定时中断- 可以周期性地暂停主程序文件的扫描,以便执行指定的子程序文件。一旦子程序被执行,程序从中断的地方继续。 4.输入输出中断 专用输入输出模块经常使用它来中断正常的处理器操作周期,以便扫描指定的子程序文件。并非所有专用I/O模块都能够产生这些I/O中断。这些卡片通常与高速计数或运动有关。 模块14“过程控制”增加了什么?PID指令。 模块14中增加了一个新部分,说明PID指令的用法以及关键参数。PID控制通常用于制造过程中控制位置、温度、压力、流速等。PID指令使用一种算法来校正测量的过程变量(PV)和期望的设定点(SP)之间的误差,通过计算然后输出可以快速调整过程以将误差保持在最小的校正动作。PID指令通过向控制物理属性和/或设备的致动器发送输出信号来控制过程。它允许用户通过设置某些参数来实现PID环路的数学功能,并且不需要调谐PID环路通常需要的大量算法和方程知识。作为控制系统技术人员、工程师或PLC程序员,理解这些过程非常重要。 使用齐格勒-尼科尔斯方法和PID指令调整PID环路的步骤也将在新章节中讨论: 1.将环路设置为手动模式(字0,位1)。 2.关闭积分和微分操作,并将比例增益设置为较小的值。 3.更改运行速度的值。应该注意到SP和PV之间的偏移或误差。 4.将控制器置于自动模式(字0,位1) 5.将PV增加10%,直到出现持续振荡。 也就是说,振荡的幅度必须既不增加也不减少。 可能有必要改变设定值以引起振荡。 6.记录这个增益值作为最终增益,Ku 7.将所得周期记录为最终周期Tu。这个时期是时候了 (以秒为单位)来完成一个周期的振荡。(无阻尼自然频率的倒数) 8.使用上面找到的Ku(极限增益)和Tu(极限周期)值以及下表中显示的系数,计算PID控制器的调谐参数Kc(控制器增益)、Ti(积分时间)和Td(微分时间): 关于这种调整方法的新信息现在可以与添加到分批混合器、单个压缩机和PLCLogix 500模拟软件中的新阀门控制3D世界的PID指令和模拟I/O功能一起使用。该仿真工具已经更新,为中断和闭环PID控制应用提供了新的指令和环境。 PLCLogix 500仿真软件增加了什么?阀门3DWorld。 以下是最新更新中添加到指令集中的指令列表: STE可扩展定时使能指令 标准可扩展定时禁用指令 STS可选定时启动指令 IIE输入输出中断使能指令 IID输入输出中断禁用指令 RPI -复位挂起中断 PID -闭环PID控制块指令 S2文件设置选项卡允许用户设置和定义STI(可选定时中断)和DII(离散输入中断)操作的使用。这些新的指令和功能支持前面讨论的内容添加。使用创建示例和测试应用程序行为的能力PLCLogix 500虚拟仿真环境在学生理解和材料记忆中起着关键作用。中断功能的增加以及具有工作PID指令构成了对整体模拟功能和可用性的显著增强。 添加了一个新的3D环境,该环境侧重于阀门控制系统的操作,以及两个以前可用的应用程序的替代版本,即单压缩机和分批混合器3D世界。在这些替代版本以及新的阀门定位环境中,阀门定位、温度和储罐液位控制的模拟控制现在是可能的。 仿真工具的另一个新增功能是趋势功能(从控制器树访问),允许用户定义变量、地址或指令元素参数,以便在仿真过程中实时监控。向用户提供在指定存储位置出现的瞬时数值以及它的历史最小值和最大值。指定的内存位置数据也会随时间以图形方式绘制出来,以供查看和分析。利用这一新功能,可以轻松地引用和监控目标文件地址组或指令参数组。 在上文中,我们正在监控上图1中的设定值和离散输入,以及下图2中的阀门输出控制信号。每个图形部分能够监控和绘制7个变量,并在模拟运行时实时查看。…
如何使用梯形逻辑减少扫描时间的5个技巧-第1部分
在接下来的两篇博客中,我们将讨论扫描时间及其对日常PLC应用的影响,并研究如何减少扫描时间。扫描时间是许多高速PLC应用中需要考虑的重要指标。执行单个扫描周期所需的时间会对高速应用中存在或需要的输入激励和/或输出控制信号产生重大影响。专业I/O模块经常在这些情况下使用,并提供显著的优势。也就是说,重要的是要注意,扫描周期时间对于一般应用也很重要。虽然它们可能没有高速应用程序的极端限制和依赖性,但一般应用程序,如简单的多路复用程序段,可能具有与扫描时间直接相关的实际限制。扫描时间对定时器操作的影响可能是显著的。人们普遍认为,在学习如何用梯形逻辑对PLC编程时,了解扫描时间的影响以及如何减少扫描时间的一些基本知识是很重要的。 在接下来的两篇博客中,我们将分别研究以下5个技巧的一个简单例子: 1.将最有可能为假的指令/条件放在梯级的开头,以减少扫描期间看到的指令数量。 2.在创建梯形逻辑程序时,尽可能避免重复唯一的标记/指令组合。架构的改变通常可以减少程序中使用的指令总数,从而减少内存使用和扫描时间。 3.程序流控制是显著减少扫描时间的关键。使用JMP和LBL指令来减少正在运行的程序的活动段。 4.划分任务(制定模块化流程)并对其进行组织会对扫描时间产生重大影响。传递变量可以允许程序段(子例程)在多个实例中使用。 5.避免浮点运算,尽可能使用整数。如果您需要比整数更好的精度,可以考虑将所有的浮点数乘以10、100或1000来得到整数。 每个扫描周期时间减少提示的基本示例: 让我们回顾一下前两个技巧的简单例子。 1.最有可能为假的指令应该在一个梯级的开始。 在可能的情况下,从左到右排列指令,并根据它们出错的可能性来确定它们的位置,这是一个应该采用的良好做法。考虑下面的简单电机密封横档: “停止按钮”按钮现场设备是一个常闭瞬时接触开关。当应用程序运行时,与之相关的常开触点会因现场按钮的状态而闭合。因此,密封的分支部分应出现在横档上“停止按钮”触点的左侧。在程序执行期间,停止按钮触点大部分时间都是闭合的。它不应是梯级上扫描的第一条指令。这种微小的影响累积起来会对扫描周期时间产生重大影响。 2.避免唯一标签/指令组合的重复。 考虑使用瞬时接触按钮提供单一启动/停止站的程序段。 上面的程序段已经过优化,不会多次使用任何唯一的标签/指令组合。如果应用程序要求使用第二个站,可以复制该结构并修改标签,以创建如下所示的程序段: 尽管这是实现我们目标的简单方法,我们还是引入了4个标签/指令组合的副本。在上面的版本中,XIO、XIC、OTL和OTU指令以“Pilot_Light”别名标记出现了两次。对于可能需要的每一个额外的站,这种冗余的影响将会增加。备用拓扑可能是解决这一冗余问题的方法。 下面显示的程序段将与我们之前检查的具有2个停止/开始站的版本功能相同。 这个版本的程序段比前一个版本少用了4条指令。它不包含重复的标签/指令组合,并且当可能需要额外的站时,这种新的拓扑易于扩展。目前还不清楚是否有另一种方法来组织这个示例所需的逻辑,但是应该花时间进行尝试,因为当成功时总是值得努力的,并且可以对扫描周期时间以及内存使用产生重大影响。 在我们的第2部分中,我们将研究剩余的三个技巧,用梯形逻辑编程来最小化PLC扫描周期时间,并提供每种情况的例子。我们要看的最后三个技巧通常被认为对扫描周期时间有最大的影响,所以请务必在我们的下一期文章中回来查看。
如何使用梯形逻辑减少扫描时间的5个技巧-第2部分
在关于如何使用梯形逻辑减少扫描的第2部分中,我们将研究关于如何使用梯形逻辑编程最小化PLC扫描周期时间的五个通用技巧中的其余三个。我们将提供每种情况的例子,就像我们在第一部分这个博客。这最后三个技巧通常被认为对扫描周期时间有最大的影响。 回顾一下,在第1部分中,我们确定了以下5个减少扫描时间的技巧,并开始研究每个技巧的例子: 1.将最有可能错误的说明/条件放在梯级的开头。 2.在创建梯形逻辑程序时,尽可能避免重复唯一的标记/指令组合。 在第2部分中,我们将回顾最后三个技巧的一个简单示例: 3.程序流控制是显著减少扫描时间的关键。使用JMP和LBL指令来减少正在运行的程序的活动段。 4.划分任务(制定模块化流程)并对其进行组织会对扫描时间产生重大影响。传递变量可以允许程序段(子例程)在多个实例中使用。 5.避免浮点运算,尽可能使用整数。如果您需要比整数更好的精度,可以考虑将所有的浮点数乘以10、100或1000来得到整数。 剩余扫描周期时间减少提示示例: 3.使用JMP和LBL指令来减少每个扫描周期中执行的程序代码量。 程序流程是一个可以显著减少扫描时间的领域。 在下面的示例中,当梯级1上的“Enable_Jump”触点闭合时,电机2和电机3梯级被跳过。此时,遇到JMP指令,程序执行跳转到梯级4上的“标签_ 1”LBL指令位置,跳过梯级2和3。这个概念可以用来跳过在生产周期中任何给定时间都不会用到的程序的大部分。这有可能极大地减少被扫描的横档的数量,并且随后可以显著地减少应用扫描周期时间。 跳过梯级的能力并不是利用JMP和LBL指令减少扫描周期时间的唯一方式。假设您正在监视一系列输入的特定状态变化,并且这些状态变化的性质将决定随后会发生什么样的一系列动作。在这种情况下,创建一个程序循环来仅执行监控输入所需的梯级,将确保扫描周期时间不会妨碍对任何输入状态变化提供快速响应。 这通常是通过创建一个由JMP和LBL指令在程序中的位置定义的“区域”来实现的。从上到下扫描该区域,然后程序执行再次循环回到已定义区域的起点。这将一直持续到退出条件允许程序在循环之外继续执行。很明显,这些技术会对扫描周期产生重大影响,并且使用JMP和LBL指令的程序流管理可以是一个强大的工具,提供对扫描周期时间的一定程度的控制。 4.使用子程序划分任务,允许程序段在多个实例中使用。 根据扫描较少梯级将减少总扫描周期时间的概念,JSR、SBR和RET程序流指令的使用及其对扫描周期时间的影响始终值得考虑。为在一个过程中不同时间重复的函数创建可重用的原子程序段,允许这些程序段仅在需要时被调用,并且将显著减少被扫描的梯级的数量,因为这避免了不必要的重复。作为一个简单的例子,考虑一个例程,该例程需要在几次计算中取两个值的平均值。创建一个可以在多种情况下调用的子例程可以避免重复任何求平均值所需的指令。值被传递到例程中,结果被传递出来,如下所示: JMP和LBL的指令允许你专注于一个片段或跳过片段。JSR和RET子例程指令允许程序段被多次使用,而不是创建它们的多个实例。程序流指令是管理扫描周期时间的重要工具。 5.避免浮点运算,尽可能使用整数。 这种常规做法缩短了扫描周期时间,因为与INT数据类型变量相比,使用REAL数据类型的指令占用更多的内存,使用更多的资源来运行,并且需要更多的周期。例如,假设我们有一个范围为0至10伏的模拟输入信号,传感器提供2位小数的精度。例如,8.34 V就是进入模拟输入通道的输入类型。将该值乘以100将删除该值的小数部分,并创建一个可用于INT数据类型的整数。可以说,一般来说,通过在流程的输出点的输入处缩放值来进行数学运算时,使用INT或DINT数据类型是有益的。模拟输出控制信号应使用INT或DINT数据类型产生,并在输出范围内转换为实数值,然后尽可能发送出去. 该程序段采用0.00到10.00之间的模拟输入值,并将其转换为范围从0到100的整数值。此时,可以使用DINT数据类型变量对这个缩放值进行操作。在发送到输出模块位置之前,该值将被缩小到0到10的范围。 扫描周期时间是一个应用参数,它对一个过程具有不同的意义。在扫描时间至关重要的情况下,知道如何减少对应用程序的影响会非常有帮助。遵循这5个关于减少扫描周期时间的提示,它们将帮助您在该参数对正常操作至关重要的情况下管理该参数。
梯形逻辑的基础
梯形逻辑是最流行的5种PLC编程语言之一。但是是什么让它如此受欢迎,掌握这门语言需要什么?梯形逻辑是一种编程语言,也是最早用于PLC或可编程逻辑控制器的语言之一。 如果你对PLC感兴趣,那么你必须知道梯形逻辑的基础知识,以及它对这些机器的重要性。学习梯形逻辑基本上就像学习一门新的语言,但幸运的是,如果你已经有一些PLC的工作知识,你会很快掌握。在这篇文章中,我们将讨论梯形逻辑的历史,为什么它流行,梯形编程和梯形逻辑的基础知识。 梯形逻辑的历史 为了理解梯形逻辑的历史,让我们从过程控制的定义开始。过程控制通常被理解为在生产过程中使用工业控制系统来实现一致性和安全性的一门学科,而这是人类无法单独手动实现的。 梯形逻辑最初是一种记录制造和过程控制中使用的继电器架的设计和构造的方法。中继机架是用于网络和通信设备的存储系统,在21世纪之前普遍使用。它们以某种方式编号,通常像电子表格单元格一样从上到下从左到右。 每个设备都用一个符号表示,并带有相应的设备。图中还会显示外部设备,如泵和加热器。然而,继电器很贵,而且由于机械零件磨损和用电烧坏零件,它们经常很快失灵。与PLC的出现保持相似的系统在适当的位置是必要的,因此梯形逻辑发展成为第一个PLC编程语言。 阶梯逻辑为什么流行? 梯形逻辑是最流行的方法PLC编程因为它是一种基于图形的编程语言,模仿继电器逻辑。已经熟悉继电器逻辑的工程师、电工和学生发现,与其他基于文本的编程语言相比,从电路转换到梯形逻辑更容易。 梯形逻辑被设计成具有与电气梯形图相同的外观,但是物理触点和线圈被替换成了记忆块。在PLC中编程梯形逻辑时,梯形图的图形、拖放特性有助于快速创建代码。梯形逻辑还有助于对代码进行故障诊断,因为从视觉上看,可以通过逻辑符号看到从LHS起始轨道到RHS结束轨道的逻辑流程。 关键组件 与计算机一样,PLC使用二进制信号进行操作,使用1或0 -这种类型的数据称为布尔型。在PLC中实施梯形逻辑程序时,有七个基本组件需要了解: 导轨:沿着页面最末端的垂直线。如果它们在继电器逻辑电路中,它们将代表电源的活动和零伏连接,其中功率流从左手侧流向右手侧。 横档:将轨道连接到逻辑表达式的水平线。如果它们在继电器逻辑电路中,它们将代表将电源连接到开关和继电器组件的电线。每个梯级都按升序顺序编号。 输入:输入是外部控制动作,如按下按钮或触发限位开关。 产出:输出是被打开和关闭的外部设备,例如电动机 逻辑表达式:与输入和输出结合使用,形成所需的控制操作。 地址符号/标签名称:地址符号描述了PLC的输入、输出和逻辑表达式存储器寻址结构。标签名称是分配给地址的描述。 评论:注释显示在每个梯级的开头,用于描述梯级或梯级组正在执行的逻辑表达式和控制操作。 为了执行梯形逻辑,PLC中央处理器(CPU)将读取连接到输入和输出模块的物理单元,更新它们在CPU内存中的状态。然后,CPU沿着阶梯向下工作,从左到右执行每个梯级。一旦CPU到达最后一个梯级,它将更新实际输出,然后循环返回并重新开始。 你可以掌握梯形逻辑 因为梯形逻辑是用于PLC的最流行的编程语言,如果你有兴趣使用它们,学习它是必不可少的。梯形编程是一种可视化语言,因为它模仿电气继电器电路,所以大多数人都觉得学习梯形逻辑基础很容易。
- « Previous Page
- 1
- ···
- 414
- 415
- 416
- 417
- 418
- ···
- 425
- Next Page »


