选择可编程逻辑控制器时需要考虑的关键因素
典型的控制系统可分为三个一般部分: 输入设备(传感器) 控制器 输出设备(致动器) 输入设备用于感知过程中发生的事情,控制器决定如何处理,输出设备操纵过程以达到期望的结果。可编程逻辑控制器是可以在这种系统中使用的控制器的一个例子;根据应用要求,也可以使用PID回路控制器。 可编程逻辑控制器(PLC)是一种通用控制器,用于许多不同类型的过程控制应用中。用户可以对PLC进行编程,以实现几乎任何所需的控制功能。与PID回路控制器相比,PID回路控制器是用于执行单一类型控制功能的专用控制器,用户可以指示PLC对来自输入仪器的信号做几乎任何事情。 PLC尺寸可分为小型PLC或中型PLC。小型PLC是一个继电器替换单元,为独立的部分过程提供可靠的控制,而中型PLC执行所有继电器替换功能,还执行计数、计时和复杂的数学应用等功能。许多中型PLC可以执行 PID, 前馈、和控制功能。目前,可编程逻辑控制器具有数据高速公路能力,可以很好地运行在 文件(documents的缩写) 分布式控制系统(Distributed Control System) 环境。 PLC的开发实际上是为了在型号转换过程中消除装配线继电器。PLC比继电器面板更容易更换;与相比,这极大地降低了控制系统的安装和运行成本 机电继电器系统. PLC功能包括开/关控制(电机启动/停止、计时/计数、排序等)、数据采集(状态、模拟、识别)、调节控制(反馈前馈)、程序控制(分批、改变等级)等等。 PLC通常用于需要高强度和高可靠性的离散应用中。PLC提供高速顺序和逻辑控制能力,非常适合实时应用。例如,它们用于混合、包装和称重应用。 相关: 从继电器控制系统到PLC系统的过渡 选择可编程逻辑控制器,关键考虑因素 为您的应用选择最有效的可编程逻辑控制器取决于许多因素;在本节中,我们将了解一些在选择PLC时可以为您提供指导的因素。 ADI公司 确定您的系统将拥有的模拟设备数量,以及所需的类型,如电流、电压、温度等。 由于应用中设备的数量和类型与系统所需的I/O数量有关,因此您可以选择支持I/O计数要求的合适PLC,并拥有支持已识别信号类型的必要模块。 分立器件 提前确定您的应用将拥有的分立器件数量和所需类型(交流、直流等。). 与模拟器件的数量一样,分立器件的数量与系统所需的I/O数量直接相关。这将有助于您选择合适的PLC,支持I/O计数要求,并具有支持信号类型的所需模块。 输入/输出位置 I/O是本地的,还是本地和远程的? 例如,对于远程I/O,您需要一个支持此类输入的PLC,将距离和必要的速度考虑在内,即选择一个支持特定I/O协议的PLC系统,该协议支持从远程位置进行数据传输,例如Modbus。 通信要求 确定您的系统是否将与其他网络、系统或现场设备通信。这一点很重要,因为某些通信端口可能不是PLC的一部分。提前了解通信要求将有助于您选择支持这些需求的适当PLC系统,或者在需要时添加适当的通信模块。 无论您要处理的是新系统还是现有系统 如果您将使用现有系统,您必须确保新系统与现有的当前系统兼容。 操柞件 PLC系统必须在您工厂的操作条件下运行。注意工作条件,如温度、振动、灰尘等。可能会影响控制器的操作。因此,找到符合应用规格的PLC解决方案至关重要。
在PLC和DCS系统之间选择,你会考虑哪些因素?
PLC和DCS服务于不同的工业过程控制过程,但是两者可以服务于相似的应用领域,使得控制器的选择变得复杂。让我们看看在选择过程中可以指导您的一些因素,并帮助您确定最适合您的工厂自动化需求的技术。 对先进过程控制的需求 许多过程控制应用可以用传统的控制技术来充分处理,例如使用PID或通过将其与其它控制功能如前馈、串级或比例控制相结合。PLC可以用来实现这些控制技术。 在工业过程控制应用中,我们需要更高水平的稳定性和减少过程可变性;先进的过程控制技术,如自适应调整、神经网络和模型预测控制是最好的解决方案。因此,如果一个过程需要使用一种或多种先进的过程控制方法,那么DCS是理想的选择。 控制循环的数量 找出流程有多少个控制循环。虽然高端PLC可以处理多个PID环路和其他控制功能,但PLC可以处理的环路数量会限制其在流程工业中作为DCS替代品的使用。 PID循环使用大量内存,并显著增加PLC程序的执行时间。这可能会增加到阻碍PLC逻辑有效执行的程度。相反,DCS设计用于解决这个问题,因为它将控制程序的执行分布在几个CPU上,同时允许信息在几个CPU之间共享。 如果给定的PLC不能处理所需数量的循环,同时为离散逻辑功能的执行提供足够的性能空间,那么DCS就是解决方案。 相关: 分布式控制系统(DCS) 程序控制 DCS功能包括详细的过程信息可视化和频繁的操作员交互,而PLC包括逻辑执行和过程排序等功能。PLC需要一个HMI/SCADA来可视化一些关于过程的信息。 因此,如果过程不需要操作员从控制室进行交互或监控,那么带有本地HMI的PLC或带有SCADA软件的面板安装工业PC就足够了。或者,如果操作需要一个功能齐全的控制室,那么DCS和PLC-SCADA组合都是不错的选择。 离散或连续控制 PLC最适合离散控制逻辑执行。功能强大的PLC可以在十分之一秒内毫无问题地执行数千个输入/输出(I/O)信号的程序。因此,PLC总是被选择用于紧急关闭系统。另一方面,当涉及到离散控制时,DCS不够快,因为它将其处理能力集中在连续控制回路上。 如果工业过程需要高速执行,那么PLC就是最好的选择。 相关: 什么是顺序控制? 工艺修改的频率 而PLC和DCS都允许编程、程序修改、重新编程等。将这种修改应用于PLC和SCADA组合可能是一项具有挑战性的任务。 此外,DCS系统为逻辑、HMI、警报和其他变量部署一个数据库,而PLC和SCADA变量通常由单独的数据库提供服务。这使得修改逻辑和向工厂添加设备单元非常耗时。这也增加了配置错误的风险。 因此,如果过程不需要频繁修改设备或逻辑,那么PLC是正确的选择;如果需要频繁修改,则应考虑跟单信用证。
运动控制和机器人是不一样的:这里有一个解释
许多人将自动化一词与机器人联系在一起,但事实并非总是如此。类似于如何有各种类型的面食,有不同种类的自动化系统;这包括运动控制和机器人系统。这些机器通过在没有人类帮助的情况下完成重复的任务使我们的生活变得更容易,并且经常出现在制造业中。虽然它们可能执行类似的任务,但操作它们是另一回事。下面是这两种系统的区别。 成分 运动控制包括机器运动所涉及的系统。通常它比其他自动化机器有更多的移动部件。运动控制包括输出的启动和控制。他们能做的事情很精确,提供速度、控制和定位。这些运动控制系统通常包括三个关键部件: 1.控制器:控制器负责轨迹或路径计算,并向驱动器发送命令,驱动器将依次启动电机。 2.放大器:这是一个用来增加电信号能量的电动工具。 3.电机:电机是机器的一部分,为带有运动部件的机器或设备提供动力。 相比之下,与运动控制系统不同,机器人内部的组件是固定的。例如,马达速度、致动器和机械链接是机器人的组成部分。根据美国机器人研究所的说法,“机器人是一种可重新编程的多功能机械手,旨在通过可变的编程运动来移动材料、零件、工具或专用设备,以执行各种任务。” 谈到自动化系统,你可以把机器人系统看作全套解决方案,而运动控制需要手动编程。 可用性 一个主要的运动控制和机器人系统的区别是它们的可用性。机器人通常被认为是一到达就可以使用的。工程师不需要担心对机器的每个单独部分进行编程。他们有一个附加的控制面板,可以改变,以适应使用软件的任务要求。虽然机器人比运动控制系统更容易操作,但机器人的一个小错误都会造成严重后果。这就是为什么所有机器人技术人员需要大量培训去野外工作。 另一方面,运动控制系统更难编程和操作。这是因为机器将要运动的每一个单独的部分都需要单独编程。由于每个部分都有不同的功能,程序员也需要广泛的知识。用户必须定期提高他们的可编程逻辑控制(PLC)技能,因为这些技能通常用于控制多种运动控制设置和机器上的逻辑控制。 费用 机器人解决方案往往比运动控制系统更昂贵,因为已经完成了前期工程,使其成为交钥匙工程。然而,虽然运动控制系统通常更实惠,但它也需要技术知识、时间和员工来操作。 成为机器人或运动控制系统技术人员 不考虑各种各样的自动化系统,自动化是制造业的一个增长趋势;因此,越来越需要自动化、机器人和运动控制系统技术人员来维护和操作这些机器。 为了进入自动化行业,发展相关的技术知识、经验和技能是很重要的。有多种职业选择可供选择,例如可编程逻辑控制器(PLC), 机器人技术人员和自动化技术员.
介绍用4个简单的步骤编写PLC程序
PLC是“可编程逻辑控制器”的缩写它本质上是一台数字计算机,通常用于工业机电过程的自动化。这包括对游乐园游乐设施、照明和装配线等系统的控制。 编写PLC程序 说到写PLC程序,有很多种方法。一个常见的是梯形逻辑,它涉及一组在PLC中使用的操作过程。这些行动在控制系统和更新过时的电路中起着重要的作用。记住它们的一个有用的方法是把它们想象成程序基础的蓝图。 一旦一个人对它们的工作原理有了一个明确的理解,这些“虚饰”总是可以被加上去的。随着自动化的兴起,这些梯子变得更加复杂,并且经常与其他工具和计算机结合使用,以找到完成任务的最佳方法。 虽然编写PLC程序是一个技术性很强的过程,但可以通过四个简单的步骤来理解: 第一步。机器循环运行,而循环又是一系列代码行和序列。您需要在编写任何代码之前定义序列,以便有更好的理解以及如何进行的计划。 第二步。您将希望使用编程阶梯来开始构建程序。如果你不确定下一步该做什么,你能做的最好的事情就是进行进一步的研究,以提高工作流程的效率。为了确保机器能够长期使用,您可能需要添加指令和功能块。 第三步。一台机器的控制和功能将根据它要执行的任务而变化,但每个循环都需要启动、暂停和停止的能力。以易于管理的大小处理序列,然后找出每个序列的触发器。 第四步。当它完成时,序列必须是可读的,并且具有清晰的操作顺序。它们也必须按顺序排列,顶部是程序逻辑的起点,逐渐向下,底部是程序逻辑的终点。 此外,确保你的代码不是分散的,因为从长远来看,这只会给每个人带来更多的问题。程序也应该总是将自己返回到初始状态,以便在必要时可以再次运行。 不用说,还有更多的东西需要知道它涉及到编写PLC程序。学习这门语言可能很复杂,但一旦你开始掌握它,它就是一门非常重要的语言。正确编写的代码和布局良好的流程是确保出现的每个问题都能得到解决的最佳方式。这是周期中任何阶段最重要的笔记之一。 模式 另一个要熟悉的术语是模式。主要有两种模式,自动和步进。自动模式在机器工作时更连续地运行,而步进模式指的是需要由一个指令触发的功能(想想顺序指令);这通常意味着按下按钮。 PLC行业趋势 由于对自动化的需求不断增长,许多不同的行业都非常需要PLC技能。这对任何人来说都不应该是一个惊喜,因为自动化正变得越来越普遍在日常生活中,从杂货店的自助结账台到制造和生产中使用的大型机器。由于这些趋势,教育工作者正在用更多的高等教育机构来应对这种产业转移提供PLC培训项目自动化的世界。
PLC系统的基本要素是什么?
过去十年来,制造业一直在快速变化。流程基本上是自动化的因此,产品的质量和生产系统的效率都达到了前所未有的水平。尽管有这些变化,可编程逻辑控制器仍然存在这些系统的关键部件,尽管是在20世纪60年代发明的。 PLC有各种尺寸和不同的功能,但都包括以下六个基本系统: 中央处理机 机架或安装 输入组件 输出组件 电源 编程器 下面是对每一个及其作用的概述。 处理器或中央处理器(CPU) 图像信用:https://www . lelong . com . my/Allen-bradley-1747-l524-SLC-500-PLC-CPU-unitio… 处理器或中央处理器通常被称为PLC的“大脑”,负责执行命令。业界已经努力使用标准化的编程语言列表,即: 结构化文本 梯形图 顺序功能图 指令列表 功能框图 尽管使用了上述语言列表,但重要的是要注意每个制造商都有不同的方法实施准则。 机架或安装 虽然这不是普遍的事实,但大多数大中型PLC系统都是这样组装的,即它们的单个组件(如CPU或处理器、I/O和电源)都在一个安装架或机架内。较小的PLC系统通常将所有元件放在一个紧凑的外壳中(通常称为鞋盒或砖块)。 输入组件 就功能而言,输入组件有两个。第一个是从现场设备和控制站(开关、传感器)接收外部信号。第二个是显示输入点状态。 输出组件 输出是PLC用来执行命令的设备部件,通常用于控制制造过程(电机、泵、致动器、灯等)。). 有两种类型的I/O:模拟I/O和专用I/O。两者之间的区别概述如下。 模拟I/O指的是负责一个范围(如电机的运行速度)的输入和输出。这种类型的输入基于变量范围(温度、压力等)的连续变化。)在这种情况下,输出将包括设置电机的速度。 顾名思义,专业I/O执行特定的任务,控制高速计数器之类的东西。数字I/O使用二进制变化(是/否或开/关)进行操作。 PLC技术人员计划使用PLCLogix仿真软件来教授学生有关I/O装配的知识。上图是软件界面的一个例子,包含两个离散输入模块,两个离散输出模块,两个用于BCD控制和显示的TTL模块,以及两个模拟模块。 电源 如果CPU是PLC的大脑,那么电源肯定是消化系统,通常为该单元提供24VDC或120VAC线电压。电源状态被连续监控,并且可以包括用于选择特定编程模式的开关。由于电源的集成锂电池,在断电的情况下,存储在内存中的内容不会改变。 编程单元、设备或PC/软件 现代PLC使用编程器或软件进行编程,该编程器或软件使用PC或笔记本电脑构建,然后加载到PLC中。PLC软件的一大优势是它们可以运行模拟来观察PLC系统在虚拟环境中的表现。RSLogix是当今最流行的仿真工具之一。 在乔治·布朗学院,我们的学生使用这些相同的虚拟环境进行学习。我们使用PLCLogix软件,它模拟RSLogix并提供测试和练习PLC程序的能力。学生可以在真实的PLC环境中应用从该课程中获得的知识。 PLC比以往任何时候都更加重要 事实上,很难想象没有PLC的世界。制造过程肯定不会是今天的样子,可能会更加依赖大量的人力资本来达到类似的生产水平。尽管典型PLC的基础技术已经有几十年的历史,但PLC仍然是制造业、机器人和自动化系统。
PLC的五个常见问题及解决方法
PLC是包含可编程存储器的数字电子设备,可编程存储器可以存储一系列指令。随着PLC功能的增加和成本的降低,它们已经成为自动化系统领域的主流,并且已经成为监控单个机器和复杂过程的基础。 像任何其他设备一样,尤其是那些在恶劣的工业环境中运行的设备,不可避免地会出现问题。故障排除是必要的当使用PLC时然而,它们非常适合于相当有效的诊断。无论你现在作为PLC技术员工作或者渴望成为,以下是你在这个领域工作时可能会遇到的五个最常见的问题。 输入/输出系统的模块故障 也许影响PLC的最常见问题是输入/输出(I/O)系统的模块故障。在这种情况下,故障排除过程的主要重点是确定内部情况(本质上,PLC认为正在发生的情况)和外部情况(实际发生的情况)之间的脱节。 这需要对关系进行检查 物理I/O模块和PLC程序中的I/O指令之间。一旦建立了这种关系,就可以隔离单个I/O模块,并且可以使用程序监控设备来检查所述模块的内部状态。 电噪声干扰 电磁干扰(EMI)或射频干扰(RFI)产生的外来信号干扰会极大地影响PLC的性能和寿命。如果大型电机或类似机器在PLC附近启动,或者附近遭到雷击,电磁干扰的可能性就会大大增加。 或者,在PLC附近使用的天线和手持发射器可能会产生射频干扰。理想情况下,干扰的可能性应该得到控制,因为EMI或RFI都可能导致代价高昂的损坏和长时间停机。可能导致干扰的手持设备应禁止靠近PLC,任何可能有问题的机器应被隔离。应努力改善屏蔽、接地和功率调节,所有这些都可以解决大多数EMI和RFI问题。 损坏的内存 外部因素,如上述频率干扰和电源中断,会破坏PLC的存储器。发生这种情况时,PLC内的代码可能变得不可读,或者当PLC从意外关机中启动时,它可能无法正常读取。处理这个问题最安全有效的方法就是确保所有数据都复制到一个远离干扰、高温和潮湿的冗余存储设备上。 电力问题 像任何其他机器一样,PLC设备需要稳定和不间断的电源才能正常有效地运行。如果由于地区停电、电网故障、连接松动或电缆损坏而断电,对PLC系统的冲击会很大,并可能导致数据丢失。避免断电导致的这些问题的最有效方法是安装备用电源,当主电源出现故障时,备用电源会启动。许多工厂还在PLC中使用电池,这将延长电力,直到它们可以正常关闭。当然,一旦电力恢复,PLC可以安全重启。 沟通问题 为了正常运行,PLC设备必须与周围的设备(如外围设备)保持通信,人机界面和其他智能设备。这种通信通过以太网电缆实现,需要安全、稳定和一致的连接。如果此连接失败,连接的设备将无法按照编程执行其功能,从而导致设施停机。 应进行定期维护检查,以保护系统免受通信故障的影响。工程师应确保物理通信网络已正确安装,连接的设备运行正常且非常适合系统,并且在必要时安装固件补丁以确保通信系统的安全性。
有哪些不同类型的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。此外,指定的长度字段值不包括被引用的文件位置本身,但包括紧跟在被引用的地址之后的步数或存储位置。
- 1
- 2
- 3
- ···
- 10
- Next Page »