Jump to content

caixiaofeng

Staff group
  • Content Count

    56
  • Joined

  • Last visited

Everything posted by caixiaofeng

  1. caixiaofeng

    PLC 如何从现场发送器读取数据

    仪表和控制依赖于将物理或过程变量转换为更有用的格式以供操作员显示。 管道中的压力转换为膜片的机械挠度,通过应变片(膜片和应变片构成传感器)将其转换为电能,然后通过 I/O 模块转换为数字整数值,然后 浮点工程单位值由 PLC 或HMI进行显示。 该信息还用于帮助生成输出命令,这些命令被转换为电信号,然后转换为机械动作。 诀窍是了解各种转换器的 I/O 关系。 PLC 如何从现场发送器读取数据 例如,当流体流过流孔时,流孔将导致可预测的压降。 压力变送器可以通过比较上游压力与下游压力来测量该压降。 尽管该压差与流量不是线性的,但它与流量具有可重复的关系。 这种关系最好近似为平方根函数。 取差压信号的平方根,有效地将其与流量线性化。 建立线性关系后,从一次测量即可推导出从变送器到计算机显示器的整个转换序列。 下图描述了两种典型的温度测量电路,如下所示: 顶部配置使用变送器的外部电源为信号环路供电。 这种配置称为四线环路。 底部配置使用内部电源(AI 卡电源)为环路供电。 这种配置称为两线环路。 以下有关单位转换的讨论适用于两种电路类型。 重点关注顶部电路。 热电偶是传感元件。 热电偶是利用双金属接触原理产生小毫伏信号的装置。 请注意,图表中显示的温度-电压曲线在整个温度区间内相对线性。 在该温度区间之外,信号的线性度可能会降低(热电偶的特性),但这在这里并不重要。 仪器标定必须始终从过程测量开始。 设计人员查阅了我们假想系统的热与材料平衡 (HMB) 表,发现测量点的预期温度约为 105°C。 上游加热器能够将系统加热到大约 130°C,然后系统会因超温联锁而关闭。 设计工程师知道正确校准的跨度会将正常工作点置于曲线的中间附近。 上端温度需要高于 130°C。 经过深思熟虑,工程师决定校准范围为 15 至 150°C,并选择 K 型热电偶,它在该温度区间内提供 0.597 至 6.138 mV 的输出。 然后,必须对温度变送器进行工作台校准,以提供与热电偶预期的 0.597 至 6.138 mV 输入信号成比例的 4 -20 mA 输出信号。 变送器是一个电流源(与电压源相反),根据需要改变其功率输出,以保持稳定的毫安输出,该输出与其输入的毫伏(即测量的温度读数)成正比。 (注意:电压源,例如电池,无论负载如何都试图保持恒定电压,而电流源无论负载如何都试图保持恒定电流)。 然后,温度变送器将该信号转换为经过缩放的 4–-20 mA 信号,在本例中,跨度为 15 至 –150°C。 PLC有一个模拟输入模块,用于检测温度变送器的输出。 事实上,所有模拟输入模块都是电压表,即使它们被列为毫安输入。 有时电阻器位于端子排的外部,有时位于 PLC I/O 模块的内部(如图所示)。 无论哪种情况,4-20 mA 信号都将转换为电压。 通常,该电压为 1-–5 VDC,因为使用的电阻为 250 欧姆。 然后必须将该模拟值转换为二进制值。 在我们的示例中,PLC 规范将这个特定的 PLC I/O 模块列为具有 12 位分辨率。 要根据过程变量找到模块的分辨率,请执行二进制转换:212 = 4095。 因此,对于 1-5 VDC 的输入范围,PLC I/O 模块向 PLC 程序提供一个范围从 0 到 4095 的整数值。 PLC 程序可以获取该数据以根据需要使用。 PLC 程序可能执行的操作之一是将该数据值移至网络接口缓冲区(PLC 内存中的一系列连续位置),以便向上游传输至 HMI。 然后,原始计数整数值可用于通过网络传输数据。 HMI 接收传输的数据流,然后将其存储在输入数据缓冲区中。 HMI 计算机有一个标签文件数据库,其中包含有关如何操作每个数据项以呈现给操作员的指令。 标签文件中的许多标签链接到输入数据缓冲区中的数据项。 一个这样的标签链接到该特定位置。 通过使用标签文件数据库或使用该信息的图形屏幕软件中嵌入的公式,提取 0 到 4095 的原始值并将其转换为工程单位。 我们示例案例中的公式如下图所示。 生成的值 (85.88) 将以 ℃ 为单位显示给操作员,如下图所示:
  2. caixiaofeng

    PLC 阀门控制梯形图逻辑编程

    目标:了解 PLC 阀门控制梯形图逻辑的基本概念。 目标用户:学生、技术人员、新生、见习工程师。 注意:上图中未显示屏障或继电器。 让我们列出所需的 PLC 数字输入和数字输出信号: PLC 数字输入: 阀门开度反馈 阀门关闭反馈 PLC数字输出: 阀门通电命令 PLC阀门控制梯形图逻辑编程 任何气动阀都需要仪表气源才能运行。 空气过滤调节器用于去除仪表气源中存在的任何液体或颗粒物,并设置阀门所需的气源。 空气过滤器调节器的输出通过电磁阀连接到阀门执行器。 该电磁阀用于控制(即打开/关闭)阀门执行器的仪表气源。 考虑电磁阀 (SOV) 为常闭 (NC) 类型。 在正常位置,SOV处于关闭位置或断电状态,因此由于SOV常闭,仪表气源将被阻断。 如果 SOV 通电,即 PLC 发送信号,则 SOV 通电并变为常开 (NO),因此允许仪表空气供应通过其。 有些人经常混淆电磁阀和阀门执行器。 这两者是不同的,SOV 控制(开/关)仪表气源,阀门执行器控制阀门的位置,完全打开或完全关闭。 开/关阀配备接近开关或限位开关,以感测阀门完全打开或完全关闭的位置。 因此它们连接到 PLC 数字输入。 因此PLC可以了解现场阀门的全开或全关状态,并通过图形显示给操作员。 考虑我们的开/关阀是常开型,即阀门处于打开位置。 因此默认情况下,开路反馈将发送到 PLC,或者我们可以说开路反馈限位开关或接近开关将通电,而闭合反馈开关处于断电状态。 假设 PLC 向开/关阀发送数字输出命令(通过屏障或继电器)。 假设我们在开/关阀上安装了 24V 直流供电的电磁阀。 通常,在 PLC 数字量输出模块之后放置一个屏障或一个继电器。 考虑我们有一个安全栅,首先安全栅接收 PLC 数字输出模块命令(PLC 命令是安全栅输入),然后安全栅为其输出通电(安全栅输出),安全栅将 24V 直流电源发送到相应的开关阀。 屏障或继电器的目的是用于隔离 PLC 和现场信号或出于安全目的或放大功率/电压信号。 现在开关阀接收 PLC 命令,即它从屏障接收到电磁阀的 24V 直流电源。 所以现在电磁阀将通电并变为常开(NC)状态。 现在,当电磁阀变为常开状态时,电磁阀将仪表气源传递到阀门执行器。 阀门执行器接收仪表气源并相应地移动阀杆,阀门位置由全开状态变为全关状态。 当开/关阀开始阀杆运动时,开路反馈将立即消失(接近开关不会检测到安装在阀杆上的任何物体)。 阀杆开始运动后,到达关闭位置之前,PLC 无法获得打开和关闭反馈,我们将此称为过渡状态。 当开关阀完全关闭后,关闭反馈开关(接近或限位)将通电,关闭反馈信号将发送到PLC并显示给操作员。 注意:有时开/关阀门可能卡在两者之间,因此操作员不会收到图形上的任何反馈,因为打开和关闭反馈开关只会检测阀门的完全打开或完全关闭状态。 不可能检测阀门的任何中间状态。 现在假设 PLC 撤回对开/关阀的输出命令,即屏障输入将关闭,因此屏障将断电或屏障输出将关闭,电磁阀的 24V 直流电源将断开/移除。 当电磁阀断电时,SOV 的状态从常开变为常闭。 电磁阀变为常闭状态,即阀门执行器的仪表气源将停止或断开。 因此开关阀也进入其原始状态,即打开状态。 PLC可以根据某些逻辑或实时输入信号发出输出指令信号。 例如:如果滚筒的液位达到高位警报,则必须关闭滚筒进料开/关阀。 开关阀详细信息: 在我们的示例中,我们考虑了气动开/关阀。 首先我们看到阀门中的组件列表及其用途。 A. 空气过滤调节器: 空气过滤器用于去除压缩空气源中的液态水和颗粒物。 这些是“机械过滤器”,不能去除油蒸气或蒸气形式的化学污染物。 单击此处查看原理和动画。 b. 电磁阀: 电磁阀是一种机电控制阀。 该阀门具有一个螺线管,它是一个电线圈,其中心有一个可移动的铁磁芯。 该核心称为柱塞。 在静止位置,柱塞关闭一个小孔。 通过线圈的电流会产生磁场。 磁场对柱塞施加力。 结果,柱塞被拉向线圈中心,从而使孔口打开。 这是用于打开和关闭电磁阀的基本原理。 电磁阀动画 电磁阀的类型及原理 C. 打开反馈和关闭反馈: 接近开关是一种检测某个物体的接近度(接近度)的开关。 根据定义,这些开关是非接触式传感器,使用电容、电感、磁、电或光学手段来感测阀门位置的接近程度(打开或关闭)。 d. 阀门执行器: 阀门执行器是一种利用电源产生打开或关闭阀门的力的装置。 该动力源可以是手动的(手动、齿轮、链轮、杠杆等),也可以是电动、液压或气动。 e. 仪表气源: 阀门的压缩和干燥空气供应。
  3. caixiaofeng

    PLC 梯形图逻辑示例

    在这里,我们将使用 Allen-Bradley MicroLogix 1000 PLC 而不是继电器线圈来模拟完全相同的高压报警电路: PLC 逻辑示例 梯形图逻辑程序 假设向压力开关施加 36 PSI 的流体压力。 这小于开关的跳闸设置 50 PSI,使开关处于“正常”(闭合)状态。 这将向 PLC 的输入 I:0/2 供电。 PLC 梯形逻辑程序中标有 I:0/2 的触点的作用类似于由输入端子 I:0/2 通电的线圈驱动的继电器触点。 因此,闭合的压力开关触点为输入端子 I:0/2 通电,从而“闭合”梯形逻辑程序中绘制的常开触点符号 I:0/2。 这个“虚拟”触点将虚拟电源发送到标记为 B3:0/0 的虚拟线圈,该线圈只不过是 PLC 微处理器内存中的一位数据。 “激励”这个虚拟线圈具有“驱动”程序中绘制的带有相同标签的任何触点的效果。 这意味着常闭触点 B3:0/0 现在将被“致动”,从而处于打开状态,不会向输出线圈 O:0/1 发送虚拟功率。 当虚拟线圈 O:0/1“未通电”时,PLC 上的实际输出 O:0/1 将电气打开,并且报警灯将未通电(关闭)。 如果我们假设向压力开关施加 61 PSI 的流体压力,则常闭压力开关触点将被驱动(强制)进入打开状态。 这将具有使 PLC 输入 I:0/2 断电的效果,从而“打开”具有相同标签的 PLC 程序中的常开虚拟触点。 该“打开”虚拟触点中断到虚拟线圈 B3:0/0 的虚拟电力,导致常闭虚拟触点 B3:0/0“闭合”,从而将虚拟电力发送到虚拟线圈 O:0/1。 当这个虚拟输出线圈“通电”时,PLC 的实际输出通道就会激活,向报警灯发送有功功率以将其打开,发出高压报警状态信号。 我们可以通过消除虚拟控制继电器 B3:0/0 并简单地让输入 I:0/2 通过“常闭”虚拟触点激活输出 O:0/1 来进一步简化该 PLC 程序: 效果是一样的:只要输入 I:0/2 断电(高压打开压力开关),PLC 输出 O:0/1 就会动作,高压状态下报警灯亮。 。 在低压条件下,通电输入 I:0/2 强制虚拟常闭触点 I:0/2 打开,从而使 PLC 输出 O:0/1 断电并关闭报警灯。 可编程逻辑控制器不仅通过用微处理器取代大量机电继电器大大简化了工业逻辑控制的接线,而且还增加了先进的功能,如计数器、定时器、定序器、数学函数、通信,当然还有以下能力: 通过编程轻松修改控制逻辑,而无需重新接线继电器。 梯形逻辑编程的优点在于,它将技术人员对传统继电器控制电路的理解转化为虚拟形式,其中触点和线圈相互作用以执行实际的控制功能。 然而,需要掌握的一个关键概念是基于这些开关触点的“正常”表示将现实条件与开关状态关联起来,无论开关是真实的(继电器)还是虚拟的(PLC)。 一旦掌握了这个重要的概念,硬连线继电器控制电路和 PLC 程序就变得可以理解。 如果不掌握这个重要概念,就无法理解继电器控制电路或 PLC 程序。
  4. caixiaofeng

    Инструкции таймера ПЛК

    Таймер — это инструкция ПЛК, измеряющая время, прошедшее после события. Инструкции таймера бывают двух основных типов: таймеры задержки включения и таймеры задержки выключения. Команды таймера «задержка включения» и «задержка выключения» имеют одиночные входы, запускающие таймерную функцию. Таймер задержки включения активирует выход только тогда, когда вход был активен в течение минимального периода времени. Инструкции таймера ПЛК Возьмем, к примеру, эту программу ПЛК, предназначенную для подачи звукового сигнала сирены перед запуском конвейерной ленты. Чтобы запустить двигатель конвейерной ленты, оператор должен нажать и удерживать кнопку «Пуск» в течение 10 секунд, в течение этого времени звучит сирена, предупреждающая людей о необходимости покинуть конвейерную ленту, которая вот-вот запустится. Только после этой 10-секундной задержки двигатель фактически запускается (и фиксируется во включенном состоянии): Подобно счетчику «вверх», значение истекшего времени (ET) таймера задержки включения увеличивается один раз в секунду до тех пор, пока не будет достигнуто заданное время (PT), после чего активируется его выход (Q). В этой программе заданное значение времени составляет 10 секунд, что означает, что выход Q не активируется, пока переключатель «Пуск» не будет нажат в течение 10 секунд. Выход тревожной сирены, который не активируется таймером, включается сразу же при нажатии кнопки «Старт». Важная деталь, касающаяся работы этого конкретного таймера, заключается в том, что он не сохраняет данные. Это означает, что инструкция таймера не должна сохранять значение прошедшего времени, когда вход деактивирован. Вместо этого значение прошедшего времени должно сбрасываться обратно в ноль каждый раз, когда вход деактивируется. Это гарантирует автоматический сброс таймера, когда оператор отпускает кнопку «Старт». Напротив, таймер задержки включения с сохранением сохраняет значение истекшего времени, даже когда вход деактивирован. Это делает его полезным для хранения «общего» времени для какого-либо события. Большинство ПЛК предоставляют сохраняемые и несохраняемые версии инструкций таймера задержки включения, так что программист может выбрать подходящую форму таймера задержки включения для любого конкретного приложения. Однако стандарт программирования IEC 61131-3 решает проблему таймеров с сохранением и таймеров без сохранения немного по-другому. В соответствии со стандартом IEC 61131-3 команда таймера может быть указана с дополнительным входом разрешения (EN), который заставляет команду таймера вести себя без сохранения при активации и с сохранением при деактивации. Общая концепция входа разрешения (EN) заключается в том, что команда ведет себя «нормально», пока вход разрешения активен (в этом случае действие по времени без сохранения считается «нормальным» в соответствии со стандартом IEC 61131-3). , но инструкция «приостанавливает» все выполнение всякий раз, когда вход разрешения деактивируется. Такое «замораживание» работы приводит к сохранению значения текущего времени (CT), даже если входной сигнал деактивируется. Например, если бы мы хотели добавить в нашу систему управления конвейером таймер с сохранением данных для регистрации общего времени работы двигателя конвейера, мы могли бы сделать это, используя «включенную» инструкцию таймера IEC 61131-3, например: Когда бит контактора двигателя (контактор OUT) активен, таймер включается и ему разрешено отсчитывать время. Однако, когда этот бит деактивируется (становится «ложным»), инструкция таймера в целом отключается, что приводит к ее «зависанию» и сохранению текущего значения времени (CT) (Примечание 1). Это позволяет запускать и останавливать двигатель, при этом таймер ведет подсчет общего времени работы двигателя. Примечание 1: Сигнал «выход разрешения» (ENO) в команде таймера служит для указания статуса команды: он активируется, когда активируется вход разрешения (EN), и деактивируется, когда либо вход разрешения деактивируется, либо команда генерирует сигнал разрешения. состояние ошибки (как определено внутренним программированием производителя ПЛК). Выходной сигнал ENO не служит никакой полезной цели в этой конкретной программе, но он доступен, если есть необходимость, чтобы другие звенья программы были «осведомлены» о состоянии таймера времени выполнения. Если бы мы хотели дать оператору возможность вручную сбросить значение общего времени работы до нуля, мы могли бы подключить дополнительный переключатель к карте дискретного входа ПЛК и добавить в программу контакты «сброса» следующим образом: Всякий раз, когда нажимается переключатель «Сброс», таймер включается (EN), но вход синхронизации (IN) отключается, что заставляет таймер (без сохранения) сбросить свое текущее значение времени (CT) на ноль. Другим основным типом инструкций таймера ПЛК является таймер задержки выключения. Эта инструкция таймера отличается от команды с задержкой включения тем, что функция отсчета времени начинается сразу после деактивации инструкции, а не при ее активации. Таймер задержки выключения применяется для управления двигателем охлаждающего вентилятора большого промышленного двигателя. В этой системе ПЛК запускает электрический вентилятор охлаждения, как только обнаруживается, что двигатель вращается, и поддерживает работу этого вентилятора в течение двух минут после выключения двигателя для рассеивания остаточного тепла: Когда вход (IN) этой инструкции таймера активируется, выход (Q) немедленно активируется (без задержки вообще), чтобы включить контактор двигателя охлаждающего вентилятора. Это обеспечивает охлаждение двигателя, как только он начинает вращаться (что определяется переключателем скорости, подключенным к дискретному входу ПЛК). Когда двигатель перестает вращаться, переключатель скоростей возвращается в нормально разомкнутое положение, деактивируя входной сигнал таймера, который запускает отсчет времени. Выход Q остается активным, пока таймер отсчитывает от 0 до 120 секунд. Как только оно достигает 120 секунд, выход деактивируется (отключается двигатель охлаждающего вентилятора), а значение прошедшего времени остается на уровне 120 секунд до тех пор, пока вход снова не активируется, после чего он сбрасывается обратно на ноль. На следующих временных диаграммах сравниваются таймеры задержки включения и таймеры задержки выключения: Хотя инструкции ПЛК с задержкой включения, предлагаемые как в сохраняемой, так и в несохраняемой форме, являются обычным явлением в наборах команд почти каждого производителя и модели ПЛК, найти инструкции таймера выключения с сохраняемой задержкой практически невозможно. Обычно таймеры задержки выключения не сохраняют свою работоспособность (Примечание 2). Примечание 2: Входные сигналы разрешения (EN), указанные в стандарте программирования IEC 61131-3, делают возможным использование таймеров задержки отключения с сохранением (путем деактивации входа разрешения, сохраняя при этом вход «IN» в неактивном состоянии), но учитываются при этом. Имейте в виду, что большинство реализаций таймеров ПЛК не имеют отдельных входов EN и IN. Это означает, что (для большинства инструкций таймера ПЛК) единственным входом, доступным для активации таймера, является вход «IN», и в этом случае невозможно создать сохраняемый таймер с задержкой выключения (поскольку значение истекшего времени такого таймера будет немедленно восстановлено). -устанавливается на ноль каждый раз при повторной активации входа).
  5. Стандарт IEC 61131-3 определяет несколько специальных лестничных инструкций для выполнения арифметических вычислений. Некоторые из них показаны здесь: Математические инструкции ПЛК Как и в случае с инструкциями сравнения данных, каждая из этих математических инструкций должна быть активирована подачей сигнала на вход разрешения (EN). Входные и выходные значения связаны с каждой математической инструкцией по имени тега. Здесь показан пример использования таких инструкций, преобразующий измерение температуры в градусах Фаренгейта в градусы Цельсия. В этом конкретном случае программа вводит измеренное значение температуры 138 градусов по Фаренгейту и вычисляет эквивалентную температуру 58,89 градусов по Цельсию: а также специальную переменную (X), используемую для хранения промежуточных вычислений между «коробками» вычитания и деления. Хотя это не указано в стандарте IEC 61131-3, многие программируемые логические контроллеры поддерживают математические инструкции лестничных диаграмм, позволяющие прямой ввод произвольных уравнений. Например, программирование Rockwell (Allen-Bradley) Logix5000 имеет функцию «Вычисление» (CPT), которая позволяет вычислить любое типизированное выражение с помощью одной инструкции, а не использовать несколько специальных математических инструкций, таких как «Сложение», «Вычитание». ," и т. д. Математические инструкции общего назначения значительно сокращают длину лестничной программы по сравнению с использованием специальных математических инструкций для любых приложений, требующих нетривиальных вычислений. Например, та же программа преобразования температур по Фаренгейту в Цельсия, реализованная в программировании Logix5000, требует только одной математической инструкции и не требует объявления промежуточных переменных:
  6. Как мы видели на примере счетчиков и таймеров, некоторые инструкции ПЛК генерируют цифровые значения, отличные от простых логических сигналов (вкл/выкл). Счетчики имеют регистры текущего значения (CV), а таймеры — регистры прошедшего времени (ET), оба из которых обычно представляют собой целочисленные значения. Многие другие инструкции ПЛК предназначены для получения и обработки небулевых значений, подобных этим, для выполнения полезных функций управления. Стандарт IEC 61131-3 определяет множество инструкций сравнения данных для сравнения двух нелогических значений и генерации логических выходных данных. Инструкции по сравнению данных ПЛК Основные операции сравнения «меньше» (<), «больше» (>), «меньше или равно» (≤), «больше или равно» (≥), «равно» (=) , а «не равно» (6=) можно найти в стандарте IEC как серию «коробочных» инструкций: Выход Q для каждого «блока» команд активируется, когда оцениваемая функция сравнения имеет значение «истина» и вход разрешения (EN) активен. Если вход разрешения остается активным, но функция сравнения ложна, выход Q деактивируется. Если вход разрешения деактивируется, выход Q сохраняет свое последнее состояние. Практическое применение функции сравнения — это так называемое попеременное управление двигателем, при котором отслеживается время работы двух резервных электродвигателей, при этом ПЛК определяет, какой двигатель включить следующим, исходя из того, какой двигатель работал меньше всего: В этой программе два сохраняемых таймера задержки включения отслеживают общее время работы каждого электродвигателя, сохраняя значения времени работы в двух регистрах в памяти ПЛК: Время работы двигателя A и время работы двигателя B. Эти два целочисленных значения вводятся в поле инструкции «больше чем» для сравнения. Если двигатель A проработал дольше, чем двигатель B, двигатель B сможет запуститься при следующем нажатии кнопки «пуск». Если двигатель A проработал меньше времени или столько же времени, что и двигатель B (сценарий, показанный индикаторами состояния, выделенными синим цветом), двигатель A сможет запуститься. Два последовательно соединенных виртуальных контакта OUT Motor A и OUT Motor B гарантируют, что сравнение времени работы двигателя не будет производиться до тех пор, пока оба двигателя не будут остановлены. Если бы сравнение производилось постоянно, могла бы возникнуть ситуация, когда оба двигателя запустятся, если кто-то случайно нажмет кнопку «Пуск», когда один из двигателей уже работает.
  7. caixiaofeng

    Инструкции счетчика ПЛК

    Счетчик — это инструкция ПЛК, которая либо увеличивает (считает вверх), либо уменьшает (считает вниз) значение целого числа при появлении запроса на переход бита от 0 к 1 («ложь» на «истина»). Инструкции счетчика бывают трех основных типов: счетчики вверх, счетчики вниз и счетчики вверх/вниз. Команды счетчиков «вверх» и «вниз» имеют одиночные входы для запуска счетчиков, тогда как счетчики «вверх/вниз» имеют два триггерных входа: один для увеличения счетчика, а другой для уменьшения счетчика. Инструкции счетчика ПЛК Чтобы проиллюстрировать использование команды счетчика, мы проанализируем систему на базе ПЛК, предназначенную для подсчета объектов, проходящих по конвейерной ленте: В этой системе непрерывный (непрерывный) световой луч заставляет датчик освещенности замыкать выходной контакт, подавая питание на дискретный канал IN4. Когда объект на конвейерной ленте прерывает световой луч от источника к датчику, контакт датчика размыкается, прерывая подачу питания на вход IN4. Кнопочный переключатель, подключенный для активации дискретного входа IN5, при нажатии будет служить ручным «обнулением» значения счета. Индикаторная лампа, подключенная к одному из каналов дискретного вывода, будет служить индикатором превышения значения счетчика объектов некоторого заданного предела. Теперь мы проанализируем простую программу лестничной диаграммы, предназначенную для увеличения команды счетчика каждый раз, когда световой луч прерывается: Эта конкретная команда счетчика (CTU) является инкрементным счетчиком, что означает, что она ведет счет «вверх» при каждом переходе из выключенного состояния во включенное на свой вход «CU». Нормально закрытый виртуальный контакт (объект датчика IN) обычно удерживается в «разомкнутом» состоянии, когда световой луч непрерывен, поскольку датчик удерживает этот дискретный входной канал под напряжением, пока луч непрерывен. Когда луч прерывается проходящим по конвейерной ленте объектом, входной канал обесточивается, в результате чего объект датчика виртуального контакта IN «замыкается» и отправляет виртуальную мощность на вход «CU» инструкции счетчика. Это увеличивает счетчик так же, как передний край объекта разрывает луч. Второй вход блока инструкций счетчика («R») является входом сброса, на который поступает виртуальная энергия от контакта IN, переключателя сброса при каждом нажатии кнопки сброса. Если этот вход активирован, счетчик немедленно сбрасывает свое текущее значение (CV) на ноль. Индикация состояния отображается в этой программе лестничной диаграммы, при этом заданное значение счетчика (PV) 25 и текущее значение счетчика (CV) 0 показаны синим цветом. Заданное значение — это то, что запрограммировано в инструкции счетчика перед вводом системы в эксплуатацию, и оно служит порогом для активации выхода счетчика (Q), который в этом случае включает индикаторную лампу счета (катушка OUT отсчетов достигла). Согласно стандарту программирования IEC 61131-3, этот выход счетчика должен активироваться всякий раз, когда текущее значение равно или превышает заданное значение (Q активен, если CV ≥ PV). Это состояние той же программы после прохождения тридцати объектов мимо датчика на конвейере. Как видите, текущее значение счетчика увеличилось до 30, превысив заданное значение и активировав дискретный выход: В конце концов, мы не заботились о поддержании точного общего количества объектов после 25, а просто хотели, чтобы программа указывала, когда мимо прошло 25 объектов. мы также могли бы использовать команду обратного счетчика, предварительно установленную на значение 25, которая включает выходную катушку, когда счетчик достигает нуля: Здесь вход «нагрузка» приводит к тому, что текущее значение счетчика становится равным заданному значению (25) при активации. С каждым полученным импульсом датчика инструкция счетчика уменьшается. Когда он достигает нуля, активируется выход Q. Потенциальная проблема в любой версии этой системы подсчета объектов заключается в том, что ПЛК не может различать движение вперед и назад на конвейерной ленте. Если, например, конвейерная лента когда-либо поменяет направление, датчик продолжит считать объекты, которые уже прошли мимо (в прямом направлении), когда эти объекты отступят на ленту. Это будет проблемой, поскольку система будет «думать», что по ленте прошло больше объектов (что указывает на большую производительность), чем на самом деле. Одним из решений этой проблемы является использование реверсивного счетчика, способного как увеличивать (подсчитывать в сторону увеличения), так и уменьшать (отсчитывать в обратном направлении), и оснастить этот счетчик двумя датчиками светового луча, способными определять направление движения. Если два световых луча ориентированы параллельно друг другу, ближе ширины самого узкого объекта, проходящего по конвейерной ленте, у нас будет достаточно информации, чтобы определить направление движения объекта: Это называется синхронизацией квадратурного сигнала, поскольку два импульсных сигнала находятся на расстоянии примерно 90 градусов (одна четверть периода) друг от друга по фазе. Мы можем использовать эти два сдвинутых по фазе сигнала для увеличения или уменьшения команды реверсивного счетчика, в зависимости от того, какой импульс опережает, а какой отстает. Здесь показана программа ПЛК Ladder Diagram, предназначенная для интерпретации квадратурных импульсных сигналов, в которой используются контакты с отрицательным переходом, а также стандартные контакты: Счетчик будет увеличиваться (отсчитывать вверх), когда датчик B обесточивается, только если датчик A уже находится в обесточенном состоянии (т. е. световой луч A прерывается раньше B). Счетчик будет уменьшаться (обратный отсчет) при обесточивании датчика A только в том случае, если датчик B уже находится в обесточенном состоянии (т. е. световой луч B прерывается раньше A). Обратите внимание, что реверсивный счетчик имеет как вход «сброс» (R), так и вход «загрузка» («LD») для форсирования текущего значения. Активация входа сброса приводит к обнулению текущего значения счетчика (CV), как мы видели в случае с инструкцией счетчика «вверх». Затем активация входа нагрузки переводит текущее значение счетчика в заданное значение (PV), как мы видели в случае с инструкцией счетчика «вниз». В случае реверсивного счетчика имеется два выхода Q: QU (выход вверх), чтобы указать, когда текущее значение равно или больше заданного значения, и QD (выход вниз), чтобы указать, когда текущее значение значение равно или меньше нуля. Обратите внимание, как текущее значение (CV) каждого отображаемого счетчика связано с собственным именем тега, в данном случае подсчитываются части. Целое число текущего значения счетчика (CV) является переменной в памяти ПЛК, точно так же, как логические значения, такие как входной датчик A и сброс переключателя IN, и может быть точно так же связано с именем тега или символическим адресом. Это позволяет другим инструкциям в программе ПЛК считывать (а иногда и записывать!) значения из этой ячейки памяти и в нее.
  8. Возможно, самая важная, но неуловимая концепция, которую нужно усвоить при обучении программированию ПЛК, — это взаимосвязь между электрическим состоянием точек ввода-вывода ПЛК и состоянием переменных и других «элементов» в его программировании. Это особенно актуально для программирования лестничных диаграмм (LD), где сама программа напоминает электрическую схему. Установление мысленной связи между «реальным» миром переключателей, контакторов и других электрических устройств, подключенных к ПЛК, и «воображаемым» миром программы ПЛК, состоящей из виртуальных контактов и «обмоток» реле, является наиболее фундаментальным. Первое фундаментальное правило, которое следует иметь в виду при изучении программы ПЛК с релейной диаграммой, заключается в том, что каждый виртуальный контакт, показанный в программе, срабатывает всякий раз, когда он считывает состояние «1» в соответствующем бите, и находится в состоянии покоя всякий раз, когда он считывает «0». состояние в соответствующем бите (в памяти ПЛК). Если контакт относится к нормально открытому (НО) типу, он размыкается, когда его бит равен 0, и закрывается, когда его бит равен 1. Если контакт относится к нормально закрытому типу (НЗ), он закрывается, когда его бит равен 0. и открывается, когда его бит равен 1. Состояние 0 бит приводит к тому, что контакт находится в «нормальном» (покойном) состоянии, тогда как состояние 1 бит активирует контакт, переводя его в ненормальное (сработанное) состояние. Еще одно правило, которое следует помнить при изучении программы ПЛК с релейной диаграммой, заключается в том, что программное обеспечение для программирования предлагает цветовое выделение (Примечание 1) для отображения виртуального состояния каждого элемента программы: цветной контакт закрыт, а неокрашенный контакт открыт. Хотя наличие или отсутствие символа косой черты указывает на нормальное состояние контакта, его цветовая подсветка, отображаемая программным обеспечением ПЛК, показывает «проводящее» состояние элементов в реальном времени. Примечание 1: Следует отметить, что в некоторых ситуациях программное обеспечение для программирования не сможет правильно раскрасить контакты, особенно если их состояние меняется слишком быстро, чтобы канал связи программного обеспечения мог успевать за ним, и/или если бит(ы) меняют состояние несколько раз. раз за одно сканирование программы. Однако для простых программ и ситуаций это правило справедливо и является большим подспорьем для начинающих программистов, когда они изучают взаимосвязь между условиями реального мира и условиями в «виртуальном» мире ПЛК. Заблуждения о лестничной логике ПЛК В следующей таблице показано, как два типа контактов в программе лестничной диаграммы ПЛК реагируют на состояния битов, используя красный цвет для обозначения виртуальной проводимости каждого контакта: Точно так же, как контакты реле давления срабатывают в условиях высокого давления, контакты реле уровня срабатывают в условиях высокого уровня, а контакты температурного реле срабатывают в условиях высокой температуры, так и виртуальный контакт ПЛК срабатывает в условиях высокого давления. битовое состояние (1). В контексте любого переключателя активированное состояние является противоположностью его нормального состояния (покоя). На следующей упрощенной иллюстрации (электрическая проводка, показанная на этой схеме, неполная, для простоты «Общая» клемма показана неподключенной) показан небольшой ПЛК, два дискретных входных канала которого находятся под электрическим напряжением, в результате чего эти два бита имеют «1». » статусы. Выделенные цветом контакты на дисплее программного редактора программирования показывают набор контактов, адресованных этим входным битам в различных состояниях (цветной = замкнутый; неокрашенный = разомкнутый). Как видите, каждый контакт, адресованный «установленному» биту (1), находится в активированном состоянии, тогда как каждый контакт, адресованный «сброшенному» биту (0), находится в нормальном состоянии: Помните, что цветной контакт — это закрытый контакт. Контакты, выделенные цветом, являются либо нормально замкнутыми контактами с состоянием бита «0», либо нормально разомкнутыми контактами с состоянием бита «1». Именно комбинация состояния бита и типа контакта (НО или НЗ) определяет, будет ли виртуальный контакт разомкнутым (нецветным) или закрытым (цветным) в любой момент времени. Соответственно, это комбинация цветного выделения и типа виртуального контакта, которая указывает реальное состояние подачи питания на конкретный вход ПЛК в любой момент времени. Основная проблема студентов/инженеров при понимании программ релейных диаграмм ПЛК заключается в том, что они чрезмерно упрощают и пытаются напрямую связать реальные переключатели, подключенные к ПЛК, с соответствующими контактными инструкциями внутри программы ПЛК. Студенты/инженеры ошибочно полагают, что реальный переключатель, подключаемый к ПЛК, и соответствующий контакт виртуального переключателя внутри программы ПЛК — это одно и то же, хотя это совсем не так. Скорее, реальный переключатель подает питание на вход ПЛК, который, в свою очередь, контролирует состояние виртуальных контактов, запрограммированных в ПЛК. В частности, я вижу, что студенты/инженеры регулярно впадают в следующие заблуждения: Ошибочно полагать, что тип инструкции контакта (НО или НЗ) должен совпадать с типом связанного с ним реального переключателя. Ошибочно думать, что цветовая подсветка команды контакта эквивалентна электрическому состоянию соответствующего реального входа ПЛК. Ошибочно полагать, что замыкание реального переключателя должно приводить к команде замыкания контакта в работающей программе ПЛК. Чтобы внести ясность, вот основные правила, которые следует учитывать при интерпретации контактных инструкций в программах ПЛК релейных диаграмм: Каждый входной бит в памяти ПЛК будет равен «1», когда на его входной канал подается питание, и будет равен «0», когда его входной канал обесточен. Каждый виртуальный контакт, показанный в программе, срабатывает всякий раз, когда он считывает состояние «1» в соответствующем бите, и находится в состоянии покоя, когда он считывает состояние «0» в соответствующем бите. Цветной контакт закрыт (передает виртуальное питание в программе ПЛК), а неокрашенный контакт открыт (блокирует виртуальное питание в программе ПЛК). При попытке понять программы лестничных диаграмм ПЛК важность этих правил невозможно переоценить. На самом деле между реальным переключателем и статусом контактной инструкции существует причинно-следственная цепочка, а не прямая эквивалентность. Реальный переключатель контролирует, достигает ли электрическая мощность входного канала ПЛК, что, в свою очередь, определяет, будет ли бит входного регистра равным «1» или «0», что, в свою очередь, определяет, будет ли активирована команда контакта или нет. отдых. Таким образом, виртуальные контакты внутри программы ПЛК контролируются соответствующими реальными переключателями, а не просто идентичны своим реальным аналогам, как склонны предполагать новички. Следуя этим правилам, мы видим, что инструкции нормально разомкнутых (НО) контактов будут имитировать то, что делают их реальные переключатели, тогда как инструкции нормально замкнутых (НЗ) контактов будут действовать противоположно своим реальным аналогам. Цветовое выделение инструкций катушки в программе ПЛК лестничной схемы подчиняется аналогичным правилам. Катушка будет включена (цветная), когда все команды контактов перед ней замкнуты (цветные). Цветная катушка записывает «1» в соответствующий бит памяти, а инструкция неокрашенной катушки записывает «0» в соответствующий бит памяти. Если эти биты связаны с реальными дискретными выходными каналами ПЛК, их состояния будут управлять реальной подачей питания на устройства, электрически подключенные к этим каналам. Чтобы дополнительно прояснить эти фундаментальные концепции, мы рассмотрим работу простой системы ПЛК, предназначенной для подачи питания на сигнальную лампу в случае, если в технологическом сосуде возникает высокое давление жидкости. Задача ПЛК состоит в том, чтобы включить сигнальную лампу, если давление в технологическом резервуаре когда-либо превысит 270 фунтов на квадратный дюйм, и поддерживать эту сигнальную лампу включенной, даже если давление упадет ниже точки срабатывания 270 фунтов на квадратный дюйм. Таким образом, операторы будут получать оповещения как о прошлых, так и о текущих событиях, связанных с избыточным давлением в технологическом резервуаре. «Линейное» питание 120 В переменного тока (L1 и L2) обеспечивает электроэнергию для работы ПЛК, а также потенциал сигнала для входных переключателей и питание контрольной лампы. К входу этого ПЛК подключаются два переключателя: один нормально разомкнутый кнопочный переключатель, действующий как сброс аварийного сигнала (нажатие этого переключателя «разблокирует» сигнальную лампу), и один нормально разомкнутый переключатель давления, действующий как чувствительный элемент высокого давления в технологическом резервуаре: Кнопка сброса подключается к дискретному входу X1 ПЛК, а переключатель давления подключается к дискретному входу X4. Контрольная лампа подключается к дискретному выходу Y5. Красные светодиодные индикаторы рядом с каждой клеммой ввода-вывода визуально указывают электрическое состояние точек ввода-вывода, а выделение красным цветом показывает состояние виртуального питания (Примечание 2) «контактов» и «обмоток» в программе ПЛК. отображается на экране персонального компьютера, подключенного к ПЛК через кабель программирования. Если никто не нажимает кнопку сброса, этот переключатель будет в своем нормальном состоянии, которое для «нормально разомкнутого» переключателя разомкнуто. Аналогично с реле давления: при технологическом давлении ниже точки срабатывания 270 фунтов на квадратный дюйм реле давления также будет находиться в нормальном состоянии, которое для «нормально разомкнутого» переключателя разомкнуто. Поскольку ни один из переключателей в данный момент не проводит электричество, ни дискретный вход X1, ни X4 не будут под напряжением. Это означает, что «виртуальные» контакты внутри программы ПЛК также будут находиться в своих нормальных состояниях. Таким образом, любой виртуальный контакт, изображенный как нормально разомкнутый, будет разомкнут (не передавая виртуальную энергию), а любой виртуальный контакт, изображенный как нормально закрытый (диагональная косая черта через символ контакта), будет закрыт. Вот почему два нормально открытых виртуальных контакта X4 и Y5 не имеют подсветки, а нормально закрытый виртуальный контакт X1 имеет цветную подсветку, обозначающую способность передавать виртуальную мощность. Примечание 2. Для контакта программы ПЛК затенение представляет виртуальную «проводимость». Для программной катушки ПЛК затенение представляет собой установленный (1) бит. Если в технологическом сосуде оказывается высокое давление (> 270 фунтов на квадратный дюйм), сработает реле давления, закрывая его нормально разомкнутый контакт. Это подаст напряжение на вход X4 ПЛК, что «замкнет» виртуальный контакт X4 в лестничной программе. При этом виртуальная мощность передается на виртуальную «катушку» Y5, которая, в свою очередь, замыкается через виртуальный контакт Y5 (примечание 3), а также подает питание на реальный дискретный выход Y5 для включения контрольной лампы: Примечание 3: Стоит отметить правомерность ссылки виртуальных контактов на выходные биты (например, контакт Y5), а не только на входные биты. «Виртуальный контакт» внутри программы ПЛК — это не что иное, как команда процессору ПЛК прочитать состояние бита в памяти. Не имеет значения, связан ли этот бит с физическим входным каналом, физическим выходным каналом или каким-то абстрактным битом в памяти ПЛК. Однако было бы неправильно связывать виртуальную катушку с входным битом, поскольку инструкции катушки записывают значения битов в память, а входные биты должны управляться исключительно состояниями включения их физических входных каналов. Если теперь технологическое давление упадет ниже 270 фунтов на квадратный дюйм, реле давления вернется в свое нормальное состояние (разомкнуто), тем самым обесточивая дискретный вход X4 на ПЛК. Однако из-за фиксирующего контакта Y5 в программе ПЛК выход Y5 остается включенным, чтобы сигнальная лампа оставалась включенной: Таким образом, контакт Y5 выполняет функцию уплотнения, сохраняя бит Y5 установленным (1) даже после устранения состояния высокого давления. Это в точности та же концепция, что и «запечатываемый» вспомогательный контакт в проводной цепи пускателя двигателя, где электромеханический контактор сохраняет напряжение после отпускания кнопки «Пуск». Единственный способ для человека-оператора переустановить контрольную лампу — это нажать кнопку. Это приведет к подаче питания на вход X1 ПЛК, тем самым размыкая виртуальный контакт X1 (нормально закрытый) в программе, тем самым прерывая виртуальное питание виртуальной катушки Y5, тем самым выключая сигнальную лампу и разблокируя виртуальное питание в программа:
  9. Хотя кажется, что каждая модель ПЛК имеет свой собственный стандарт программирования, существует международный стандарт программирования контроллеров, которому большинство производителей ПЛК, по крайней мере, пытаются соответствовать. Это стандарт IEC 61131-3, который станет стандартом Следует утешаться тем, что, несмотря на различия в деталях программирования ПЛК от одного производителя к другому и от одной модели к другой, основные принципы во многом одинаковы. Между различными языками программирования общего назначения (например, C/C++, BASIC, FORTRAN, Pascal, Java, Ada и т. д.) существуют гораздо большие различия, чем между языками программирования, поддерживаемыми разными ПЛК, и этот факт не мешает программистам быть «многоязычным». Я лично написал и/или проанализировал программы для более чем полдюжины различных производителей ПЛК (Allen-Bradley, Siemens, Square D, Koyo, Fanuc, Moore Products APACS и QUADLOG и Modicon), с несколькими моделями ПЛК в большинстве этих брендов, и я могу вам сказать, что различия в соглашениях по программированию в основном незначительны. Научившись программировать одну модель ПЛК, довольно легко адаптироваться к программированию других марок и моделей ПЛК. Языки программирования ПЛК Стандарт IEC 61131-3 определяет пять различных форм языка программирования для промышленных контроллеров: Лестничная диаграмма (LD) Структурированный текст (СТ) Список инструкций (IL) Функциональная блок-схема (FBD) Последовательная функциональная схема (SFC) Не все программируемые логические контроллеры поддерживают все пять языковых типов, но почти все они поддерживают лестничные диаграммы (LD), которым и будет посвящена данная книга. Языки программирования для многих промышленных устройств ограничены дизайном. Одной из причин этого является простота: любой язык программирования, достаточно простой по структуре для понимания человеком, не имеющим формальных знаний в области компьютерного программирования, будет ограничен в своих возможностях. Другой причиной ограничений программирования является безопасность: чем более гибким и неограниченным является язык программирования, тем больше вероятность непреднамеренного создания сложных ошибок «время выполнения» при программировании. Стандарт безопасности ISA номер 84 классифицирует промышленные языки программирования как языки фиксированного программирования (FPL), языки ограниченной вариативности (LVL) или языки полной вариативности (FVL). Программирование лестничных диаграмм и функциональных блок-схем считается языками «ограниченной вариативности», тогда как список инструкций (и традиционные языки компьютерного программирования, такие как C/C++, FORTRAN, BASIC и т. д.) считаются языками «полной вариативности» со всеми сопутствующий потенциал для сложных ошибок.
  10. Эта статья о программировании двуручного управления, используемого в печатной отрасли. Целью этой программы является обеспечение безопасности для предотвращения несчастных случаев со смертельным исходом. Ниже показано, как выглядит пресс-машина и почему мы заботимся о безопасности. Как видите, для управления прессом используются кнопки. Центральная пластина прижимается к поверхности заготовки, когда мы нажимаем кнопки. Для управления прессом необходимо одновременно нажать две кнопки, как показано на анимации ниже. Когда оператор одной рукой нажимает кнопку, а второй рукой прижимает пластину к поверхности, он может пораниться. Мощная сила толкания пластины может легко сжать руки, если оператор попытается маневрировать в спешке. Ниже я объяснил программу, используемую для предотвращения подобных инцидентов с помощью портала Siemens TIA. На рисунке ниже показан пресс-машина, имеющая два входа и один выход. Входы подключены к модулю цифровых входов (DI) ПЛК, а один выход подключен к модулю цифровых выходов (DO). Ниже приведен список входов и выходов, используемых для программы. Входы: Кнопка (PB_1): I0.0 Кнопка (PB_2): I0.2 Выходы: Выход пресс-машины: Q0.0 Логика двуручного управления Логическое описание Сеть 1: Здесь две кнопки PB_1 и PB_2 соединены последовательно. Когда обе кнопки нажаты одновременно, сигнал пройдет через размыкающий контакт таймера Т0 и активирует выход. Сеть 2: Теперь, если нажата любая отдельная кнопка PB_1 или PB_2, то включается таймер задержки включения таймера T0 (S_ODT), в нашем случае через 5 секунд. Здесь также используется нормально замкнутый контакт выхода пресса после нажатия кнопки, потому что, если выход включен, он не позволит таймеру включиться. Таким образом, на выходе машины будет подаваться питание только тогда, когда обе кнопки будут нажаты вместе.
  11. Чаще всего в нашем городе мы сталкиваемся с трехсторонней пробкой. Эта программа ПЛК позволяет контролировать сильные пробки с помощью программируемого логического управления. Управление светофором с помощью ПЛК Решение проблемы Существует множество способов написать программу для управления светофором, например: метод вывода секвенсора, но при этом обычном вводе используются выходные данные и таймеры. Таймеры используются для задержки времени включения и выключения выхода. Катушка сброса используется в конце для непрерывного запуска программы. Блоки компараторов используются для уменьшения количества используемых таймеров. Программа выполнена в программном обеспечении AB RSLogix 500. Список входов и выходов для системы управления дорожным движением Программа ПЛК для системы управления трехсторонним движением В столбце ниже приведены шаги или последовательность выходов для включения. Логическое описание ПЛК для трехсторонней системы управления движением РУНГ000 : Это фиксирующая ступень для управления системой посредством главного запуска и остановки PB. RUNG001 и RUNG0002: Запускаем таймер для включения первого выхода West Green, поэтому восток и запад должны быть красными. Компараторы в параллельной цепочке используются для выключения восточного красного цвета через 15 секунд. Бит синхронизации таймера T4:2 в параллельном контакте используется для повторного включения восточного красного цвета на 5-м и 6-м шагах. (Пояснения см. в столбце таблицы выше) РУГ 0003 : Включение North Red до 3-го шага с использованием бита синхронизации таймера T4:0 и T4:1 и блоков компаратора. Ранг 0004: Включите Восток-желтый на 5 секунд, используя блоки компаратора. (Шаг 2-й) Звонок 0005-0006-0007-0008-0009-0010: Те же самые процедуры были выполнены для включения дальнейших выходов. (Последовательность операций см. в столбце таблицы) ЗУЧОК 0011: Катушка сброса включается с использованием бита готовности T4:2, чтобы перезапустить цикл с начала. Программа работает непрерывно до тех пор, пока не будет нажата кнопка STOP PB. Заключение: Вышеописанное трехстороннее управление светофором с использованием ПЛК приведено только в качестве примера. Оно может отличаться от реального времени. Мы можем использовать этот пример программы, чтобы понять работу таймеров и функции блока компаратора в ПЛК AB.
  12. При разработке логики ПЛК вам необходимо позаботиться об именах, которые вы присваиваете тегам. Он должен быть легко понятен и интерпретирован любым программистом. Оно не должно быть ни слишком длинным, ни слишком коротким. Соглашение об именах важно, поскольку неправильное присвоение тегов может вызвать у программистов проблемы при устранении неполадок. Кроме того, присвоение длинных имен приведет к использованию памяти ПЛК. Таким образом, каждый программист должен следовать правилам именования перед написанием программы ПЛК. В этом посте мы рассмотрим концепцию соглашений об именах тегов ПЛК. Соглашения об именах тегов ПЛК Прежде всего, давайте поймем, какую важную роль в программировании ПЛК играет соглашение об именовании тегов. У вас есть двигатель с командой запуска и обратной связью по запуску в качестве ввода-вывода ПЛК. Двигатель расположен в воздуходувной камере и используется в качестве воздушного компрессора. Имя тега двигателя в P&ID — M-101. Теперь для программиста ПЛК важно определить местоположение тега. Итак, существует два типа мышления, которые обычно определяют программиста ПЛК. Первый попытается дать как можно больше информации в имени тега; поэтому он может назвать команду запуска двигателя M101_Compressor_Run_Command. Второй попытается дать имя Q_M101_Comp. Второй вариант мышления выглядит очень ясным, поскольку он дает короткие имена и сохраняет их длину как можно меньше. Именно по этой причине присвоение имени тегу ПЛК важно, поскольку оно освобождает программиста от чтения таких длинных тегов в ситуациях, когда требуется срочное устранение неполадок. (Следует отметить, что в именах тегов ПЛК не допускается никаких специальных символов, кроме подчеркивания (_)). Имя тега ПЛК должно содержать информацию, которая может помочь программисту понять его значение. Обычно это подразумевает следующую информацию: тип данных (например, логический, целочисленный), поток данных (например, ввод, вывод), область действия (например, локальная, глобальная), тип прибора или устройства (например, двигатель, клапан, датчик), параметр процесса (например, давление, расход, температура) и расположение устройства. Стили имен тегов В соответствии со стандартами IEC существуют различные стили, которым необходимо следовать для правильного наименования. Давайте посмотрим на некоторые из наиболее часто используемых: Верблюжий стиль, Паскаль Стиль, Змеиный стиль, Префикс со стилем типа данных Верблюжий стиль В этом стиле между ними нет подчеркивания. Полное имя дается всему слову, но каждое слово в нем начинается с заглавной буквы. Например, возьмем рассмотренный выше пример. M101_Compressor_Run_Command будет записан как m101CompressorRunCommand. Каждое слово можно определить по заглавной букве. Первая буква будет обязательной строчной. Этот стиль хорошо смотрится, если слово маленькое. Это предотвращает использование подчеркивания и снижает потребление памяти. Паскаль Стиль Это похоже на верблюжий стиль; с той лишь разницей, что первая буква будет обязательно заглавной. Например, наш тег будет записан как M101CompressorRunCommand. Змеиный стиль Пример, который мы обсуждали ранее, — это стиль змеи. Здесь каждое слово будет отделено подчеркиванием. Префикс со стилем типа данных Здесь тег будет иметь префикс типа данных имени тега. В нашем случае тип тега был логическим. Согласно стандартам IEC, логическому тегу обычно присваивается префикс «x». Итак, наш стиль будет записан как xM101CompressorRunCommand. Это помогает программисту определить, какой тип данных используется для этого конкретного тега. Советы по присвоению имен тегам при программировании ПЛК Первое и главное правило: длина тега должна быть небольшой, но не настолько, чтобы ее никто не мог понять. Как обсуждалось, длина должна содержать соответствующую информацию правильной длины. Следует строго избегать длинных названий. Следуйте общим стилям именования тегов, которые обсуждались. Они соответствуют стандартам IEC и делают логику аккуратной и понятной. Чтобы уменьшить количество ошибок при создании тегов, используйте файлы Excel. Excel значительно снижает рабочую нагрузку, поскольку дублирование и копирование становится очень простым. В файлах Excel практически не возникают ошибки. Не всегда необходимо использовать для слова полное имя. Например, клапан можно записать как vlv, а температуру — как temp. Не делайте тег полностью заглавными. Это выглядит громоздко и неуместно для чтения.
  13. Один мудрый программист ПЛК однажды сказал мне, что первое, что любой начинающий программист должен узнать о ПЛК, который он собирается запрограммировать, — это то, как организована цифровая память этого ПЛК. Это мудрый совет для любого программиста, особенно в системах, где память ограничена и/или где ввод-вывод имеет фиксированную связь с определенными местами в памяти системы. Практически каждая система управления на базе микропроцессора поставляется с опубликованной картой памяти, показывающей организацию ее ограниченной памяти: сколько доступно для определенных функций, какие адреса связаны с какими точками ввода-вывода, на какие разные места в памяти должны ссылаться программист. Каналы дискретного ввода и вывода ПЛК соответствуют отдельным битам в массиве памяти ПЛК. Аналогично, каналы аналогового ввода и вывода в ПЛК соответствуют многобитовым словам (непрерывным блокам битов) в памяти ПЛК. Связь между точками ввода-вывода и ячейками памяти ни в коем случае не стандартизирована между разными производителями ПЛК или даже между разными моделями ПЛК, разработанными одним и тем же производителем. Это затрудняет написание общего руководства по адресации ПЛК, поэтому мой главный совет — обратиться к инженерным справочникам по системе ПЛК, которую вы собираетесь программировать. Наиболее распространенной маркой ПЛК является Allen-Bradley (Rockwell), в которой используется уникальная форма адресации ввода-вывода (примечание 1), что обычно сбивает студентов с толку. По этим двум причинам (популярность и путаница) большую часть этого раздела я сосредоточусь на правилах обращения Аллена-Брэдли. Примечание 1. В большинстве современных ПЛК Allen-Bradley практически отказались от адресации ввода-вывода с фиксированным местоположением, вместо этого выбрав адресацию ввода-вывода на основе имени тега. Однако в промышленности все еще существует достаточно устаревших систем ПЛК Allen-Bradley, чтобы гарантировать соблюдение этих соглашений об адресации. Карта памяти ПЛК В следующей таблице показана частичная карта памяти для ПЛК Allen-Bradley SLC 500. Карта памяти также называется таблицей данных. Эта карта показывает адресацию областей памяти, зарезервированных для программ, введенных пользователем. В процессоре SLC 500 существуют и другие области памяти, но эти области недоступны техническим специалистам, пишущим программы ПЛК. Обратите внимание, что использование Алленом-Брэдли слова «файл» отличается от языка персональных компьютеров. В контроллере SLC 500 «файл» — это блок оперативной памяти, используемый для хранения данных определенного типа. Напротив, «файл» на персональном компьютере представляет собой непрерывный набор битов данных, имеющих коллективное значение (например, файл текстового редактора или файл электронной таблицы), обычно хранящийся на жестком диске компьютера. В каждом из «файлов» ПЛК Allen-Bradley имеется несколько «элементов», каждый элемент состоит из набора битов (8, 16, 24 или 32), представляющих данные. Элементы адресуются по номеру, следующему через двоеточие после обозначения файла, а отдельные биты внутри каждого элемента адресуются по номеру, следующему за косой чертой. Например, первый бит (бит 0) второго элемента в файле 3 (двоичный) будет адресоваться как B3:2/0. В ПЛК Allen-Bradley, таких как модели SLC 500 и PLC-5, файлы 0, 1 и 2 зарезервированы исключительно для дискретных выходов, дискретных входов и битов состояния соответственно. Таким образом, буквенные обозначения O, I и S (типы файлов) избыточны по сравнению с числами 0, 1 и 2 (номера файлов). Другие типы файлов, такие как B (двоичные), T (таймеры), C (счетчики) и другие, имеют свои собственные номера файлов по умолчанию (3, 4 и 5 соответственно), но также могут использоваться в некоторых пользовательских файлах. определенные номера файлов (10 и выше). Например, файл 7 в контроллере Allen-Bradley зарезервирован для данных «целочисленного» типа (N), но целочисленные данные также могут храниться в любом файле с номером 10 или выше по усмотрению пользователя. Таким образом, номера файлов и буквы типов файлов для типов данных, отличных от выходного (O), входного (I) и статуса (S), всегда отображаются вместе. Обычно вы не увидите целочисленное слово, адресованное, например, как N:30 (целочисленное слово 30 в памяти ПЛК), а скорее как N7:30 (целочисленное слово 30 в файле 7 памяти ПЛК), чтобы отличить его от другого целочисленного слова. 30, которые могут существовать в других файлах памяти ПЛК. Эта файловая нотация адресации требует дальнейшего пояснения. Когда адрес появляется в программе ПЛК, для отделения (или «ограничения») различных полей друг от друга используются специальные символы. Общая схема ПЛК Allen-Bradley SLC 500 показана здесь: Не для всех типов файлов требуется различать отдельные слова и биты. Например, целочисленные файлы (N) состоят из одного 16-битного слова для каждого элемента. Например, N7:5 будет 16-битным целым словом номер пять, хранящимся в седьмом файле. Однако тип дискретного входного файла (I) должен рассматриваться как отдельные биты, поскольку каждая отдельная точка ввода-вывода относится к одному биту. Таким образом, I:3/7 будет битом номер семь, находящимся во входном элементе три. Символ косой черты необходим при адресации дискретных битов ввода-вывода, поскольку мы не хотим ссылаться на все шестнадцать битов в слове, когда имеем в виду только одну точку входа или выхода ПЛК. Целые числа, напротив, представляют собой наборы по 16 бит каждый в карте памяти SLC 500, поэтому обычно к ним обращаются как к целым словам, а не побитно. Некоторые типы файлов, такие как таймеры, более сложны. Каждый «элемент» таймера состоит из двух разных 16-битных слов (одно для накопленного значения таймера, другое для целевого значения таймера) в дополнение не менее чем к трем битам, объявляющим состояние таймера (бит «Включен», бит «Время» и бит «Готово»). Таким образом, мы должны использовать как десятичную точку, так и косую черту при обращении к данным внутри таймера. Предположим, мы объявили в нашей программе ПЛК таймер с адресом T4:2, который будет таймером номер два, содержащимся в четвертом файле таймеров. Если бы мы хотели обратиться к текущему значению этого таймера, мы бы сделали это как T4:2.ACC (слово «Аккумулятор» таймера номер два в четвертом файле). Бит «Готово» того же таймера будет иметь адрес T4:2/DN (бит «Готово» второго таймера в четвертом файле). Отличительной чертой схемы адресации SLC 500, общей для многих устаревших систем ПЛК, является то, что метки адреса для входных и выходных битов явно ссылаются на физическое расположение каналов ввода-вывода. Например, если 8-канальная плата дискретного ввода вставлена в слот 4 ПЛК Allen Bradley SLC 500, и вы хотите указать второй бит (бит 1 из диапазона от 0 до 7), вы должны адресовать его с помощью следующая этикетка: I:4/1. Для обращения к седьмому биту (бит номер 6) на карте дискретного вывода, подключенной к слоту 3, потребуется метка O:3/6. В любом случае числовая структура этой метки точно указывает, где реальный входной сигнал подключается к ПЛК. Пример отображения памяти ПЛК Чтобы проиллюстрировать взаимосвязь между физическим вводом-выводом и битами в памяти ПЛК, рассмотрим этот пример ПЛК Allen-Bradley SLC 500, показывающий, что один из его дискретных входных каналов находится под напряжением (переключатель используется в качестве «пускового» переключателя для электрического мотор): Если карта ввода или вывода имеет более 16 бит – как в случае с 32-битной платой дискретного вывода, показанной в слоте 3 примера стойки SLC 500 – схема адресации далее подразделяет каждый элемент на слова и биты (каждое «слово» »имеет длину 16 бит). Таким образом, адрес бита номер 27 32-битного модуля ввода, подключенного к слоту 3, будет I:3.1/11 (поскольку бит 27 эквивалентен биту 11 слова 1 – слово 0 адресует биты с 0 по 15 и слово 1 адресует биты с 16 по 31): На фотографии крупным планом 32-битной платы ввода постоянного тока для системы ПЛК Allen-Bradley SLC 500 показана такая многословная адресация: Первые шестнадцать входных точек на этой плате (левая группа светодиодов с номерами от 0 до 15) имеют адреса от I:X.0/0 до I:X.0/15, где «X» относится к номеру слота, в котором находится карта. подключен в. Следующие шестнадцать входных точек (правая группа светодиодов с номерами от 16 до 31) имеют адреса от I:X.1/0 до I:X.1/15. Устаревшие системы ПЛК обычно обозначают каждый из каналов ввода-вывода такими метками, как «I:1/3» (или эквивалентными), указывающими фактическое расположение клеммы входного канала на блоке ПЛК. Стандарт программирования IEC 61131-3 называет эту канальную адресацию точек данных ввода-вывода прямой адресацией. Синонимом прямой адресации является абсолютная адресация. Адресация битов ввода-вывода непосредственно по меткам их карт, слотов и/или клемм может показаться простой и элегантной, но становится очень обременительной для больших систем ПЛК и сложных программ. Каждый раз, когда техник или программист просматривает программу, он должен «перевести» каждую из этих меток ввода-вывода на какое-либо реальное устройство (например, «Вход I:1/3 на самом деле является кнопкой запуска двигателя смесителя средней емкости). »), чтобы понять функцию этого бита. Более поздней попыткой повысить ясность программирования ПЛК стала концепция адресации переменных в памяти ПЛК с помощью произвольных имен, а не фиксированных кодов. Стандарт программирования IEC 61131-3 называет это символической адресацией в отличие от «прямой» (на основе канала) адресации, что позволяет программистам произвольно называть каналы ввода-вывода способами, которые имеют смысл для системы в целом. Если использовать наш простой пример переключателя «Пуск» двигателя, то теперь программист может назначить вход I:1/3 (пример прямого адреса) как «Выключатель запуска двигателя» (пример символического адреса) внутри программы, что значительно повышает читаемость программы ПЛК. Первоначальные реализации этой концепции поддерживали прямые адреса для точек ввода-вывода, при этом символические имена появлялись как дополнения к абсолютным адресам. Современная тенденция в адресации ПЛК заключается в том, чтобы вообще избегать использования прямых адресов, таких как I:1/3, чтобы они не появлялись нигде в программном коде. Серия программируемых логических контроллеров Allen-Bradley «Logix» является наиболее ярким примером этой новой конвенции на момент написания этой статьи. Каждой точке ввода-вывода, независимо от типа или физического местоположения, присваивается имя тега, имеющее смысл в реальном мире, и эти имена тегов (или символы, как их альтернативно называют) привязаны к абсолютным местоположениям каналов ввода-вывода. по файлу базы данных. Важным требованием к именам тегов является отсутствие пробелов между словами (например, вместо «Выключатель запуска двигателя» в имени тега должны использоваться дефисы или знаки подчеркивания в качестве пробелов: «Выключатель запуска двигателя»), поскольку обычно предполагаются пробелы. языками программирования в качестве разделителей (разделителей между разными переменными). Введя нотацию адресации Аллена-Брэдли для ПЛК модели SLC 500, я теперь откажусь от нее в пользу современного соглашения о символической адресации в остальных статьях, чтобы избежать привязки примеров программирования к конкретной марке или модели. Каждая точка данных в моих программах ПЛК будет иметь собственное имя тега, а не метку прямого (на основе канала) адреса.
  14. На технологическом предприятии управление включением/выключением осуществляется через ПЛК или РСУ. На рисунке ниже представлен обзор одной дискретной/цифровой (вкл./выкл.) схемы, показывающий весь процесс от источника питания через датчик до ПЛК. Методы подключения цифровых сигналов ПЛК На рисунке выше реле уровня установлено на резервуаре. Переключатель контролируется модулем цифрового ввода ПЛК. Питание цепи осуществляется через автоматический выключатель (CB2) на панели питания прибора. Основное питание подается на распределительную панель, где питание разделяется на несколько цепей с предохранителями. Предохранитель 03FU является главным размыкающим предохранителем, а остальные предохранители являются распределительными. Предохранитель 06FU питает нашу цепь. Горячий (электрически находящийся) провод 06A подается в распределительную коробку (FJB) как один провод в многожильном кабеле. Этот кабель, иногда называемый хоумраном или основным кабелем, разводится в полевой распределительной коробке (FJB), где, в этом примере, два неэкранированных кабеля витой пары подводятся к конечному устройству LSH-47. В результате остается один запасной проводник. Горячий провод 06A попадает на клемму + контакта формы A и перемыкается на клемму H для подачи питания на электронику реле уровня. Номер провода на контакте реле изменится на 06B. Этот провод передает сигнал обратно на FJB, откуда сигнал передается обратно в оконечный шкаф через многожильный кабель. Там сигнал и нейтраль соединяются и передаются в модуль ПЛК. Обратите внимание, что обратный нейтральный провод, обозначенный 02N (поскольку это обратный провод для CB2), подведен к ПЛК и реле уровня. ПРИМЕЧАНИЕ. При подключении к системе ПЛК всегда рекомендуется использовать витую пару. Кабели витой пары обладают превосходной помехозащищенностью, что особенно полезно при подключении к нагрузкам с высоким импедансом, например, в модулях ввода-вывода ПЛК/РСУ. Нагрузка с высоким импедансом может быть особенно чувствительна к шуму, поскольку сопутствующий ток очень мал, а объем фактической работы минимален. Вот и все, в двух словах. Ниже приводится комментарий по вопросам подключения, связанным с проводкой сигналов ПЛК/РСУ. а. Поглощение и поиск Термины сток и источник используются для описания того, как конкретный компонент схемы связан с потоком мощности. Эти термины на самом деле пришли из времен транзисторной логики. В этом обсуждении транзистор можно рассматривать как простой переключатель (рисунок ниже). DC (+) — положительная клемма постоянного тока, DCC — общая клемма постоянного тока. Транзистору этого типа требуется небольшое сопротивление на коллекторе (верхняя сторона) для ограничения тока. В примере случая 1: резистор на месте, нагрузка включена последовательно с эмиттером транзистора. Когда транзистор проводит ток, ток течет через резистор, транзистор, а затем через нагрузку. Эта схема не использовалась очень часто, поскольку ток распределяется по внутренней схеме, в результате чего остается меньше мощности для управления нагрузкой и повышения температуры в модуле ввода-вывода. Случай 2 Это обеспечивает более типичную схему источника, в которой выход ПЛК при отключении переключает ток полной нагрузки для управления нагрузкой. Когда выход включается, транзистор проводит ток, вызывая шунтирование большей части тока через него, вызывая голодание нагрузки и тем самым обесточивая ее. Недостатком этой конфигурации является то, что небольшой ток утечки будет продолжать присутствовать в нагрузке, поскольку определенная величина тока будет продолжать направляться через нагрузку, хотя обычно этого недостаточно, чтобы заставить нагрузку оставаться под напряжением. Однако при поиске неисправностей на обесточенной нагрузке будет обнаружено небольшое напряжение. В примере случая 3: Нагрузка — коллекторный резистор. Когда транзистор проводит ток, на нагрузку подается напряжение. С точки зрения электроники платы это лучшая конфигурация, поскольку большая часть тепла рассеивается нагрузкой. Недостатком этой конфигурации является то, что «переключение нейтрали» противоречит здравому смыслу и может быть небезопасным, поскольку полное напряжение присутствует как на положительной, так и на отрицательной клемме нагрузки, когда она обесточена. По этим причинам вариант 2 превратился в наиболее распространенную конфигурацию вывода. Эту концепцию стока/источника можно распространить на любую схему. б. Защита цепи (предохранители) Большинство модулей ввода/вывода имеют внутренние предохранители. Однако для пользователя это не так уж много значит. Хотя внутренний предохранитель ограничивает повреждение самого модуля, в большинстве случаев модуль все равно необходимо отправить на завод для ремонта. Таким образом, конечный результат для пользователя один и тот же — сломанный модуль. В результате рекомендуется добавлять к каждой точке ввода-вывода внешние предохранители с номиналом чуть ниже номинала предохранителя на печатной плате модуля. Хотя это ограничивает размер нагрузки, которая может управляться непосредственно модулем, внутренний предохранитель и модуль защищены. Внимание: Если дискретные выходы с внутренними предохранителями встроены в цепи блокировки или если они находятся в цепях, которые зависят от нормально замкнутых контактов для инициирования мер безопасности, то следует использовать другой тип модуля без предохранителей. Или можно использовать промежуточные реле. Точка ввода-вывода может работать нормально (например, замыкать ее контакты и сообщать программе, что она их закрыла), но при этом не передавать питание из-за перегоревшего внутреннего предохранителя. в. Цепи цифрового входа (DI) Модули цифрового ввода (DI) постоянно сканируют свои входные точки на наличие или отсутствие напряжения. Если напряжение присутствует, в ячейку памяти записывается 1. Если напряжение отсутствует, там пишется 0. Требуемый тип и величина напряжения — два фактора, которые отличают один модуль DI от другого. Большинство точек цифрового входа имеют высокий импеданс, что сводит к минимуму величину потребляемого тока и поэтому оказывает относительно незначительное влияние на систему распределения электроэнергии. Каждую точку цифрового входа можно рассматривать как лампочку, которая либо включена, либо выключена. Модули DI могут быть электрически изолированы между точками или сгруппированы посредством внутренней шины ввода-вывода. Большинство модулей сегодня сгруппированы, поскольку группировка обеспечивает более высокую плотность. Как мы видели, плотность точек до 32 точек на модуль является обычным явлением в сгруппированной конфигурации. На рисунке ниже показаны два разных модуля DI. Первый модуль обеспечивает внутреннюю шину цепи постоянного тока (+). Затем точка ввода-вывода передает питание на полевое устройство. Этот тип модуля называется модулем поиска. Эта конфигурация необычна. Переключение общей стороны в поле обычно не производится. Если модуль подключает внутреннюю шину к общей стороне цепи постоянного тока, то модуль считается принимающим модулем. Точка ввода-вывода завершает путь к общему разъему постоянного тока. Эта конфигурация используется в подавляющем большинстве случаев, поскольку она позволяет индивидуально защитить каждую точку ввода-вывода рядом с источником питания перед подачей питания на полевое устройство. В любом случае ток течет в одном и том же направлении через переключатель, монтируемый на месте эксплуатации. д. Цепи цифрового выхода (DO) Контакты реле считаются устройствами вывода, поскольку они заставляют другие устройства реагировать при изменении своего состояния. Цифровые выходы ПЛК можно рассматривать как контакты реле. Во многих случаях это именно то, что они есть. В других случаях переключающий элемент может быть каким-либо полупроводниковым устройством. Даже в этом случае аналогия с реле работает до тех пор, пока проектировщик не забывает учитывать ток утечки. Модули DO включают и выключают напряжение, чтобы заставить внешнее устройство изменить состояние. Эти модули бывают «изолированными» или «неизолированными». Если модуль неизолирован, то он либо потребляет, либо потребляет. 1. Изолированные цепи дискретного выхода. Изолированная схема DO — это схема, в которой источник питания может быть изолирован между точками ввода-вывода. Источник не подключен к внутренней шине. Стоимость — два терминала на точку, поэтому это дорого. Существует три источника влажной энергии: точки 1, 2, 4, 5 и 6 изолированы от точки 3 и точек 7 и 8. В этом примере переменный ток подается в точку 3, а сигналы постоянного тока подаются в остальные точки. Это демонстрирует возможности. На практике рекомендуется разделять сигналы переменного и постоянного тока, если это вообще возможно. 2. Неизолированные цифровые цепи. Как и в случае с модулем DI PLC, плотность точек является важной особенностью модулей DO. Как видно из изолированного модуля на рисунке, за изоляцию приходится платить. Модуль с 16 клеммами имеет плотность точек всего восемь, поскольку на каждую точку требуется две клеммы. За счет внутренней шины можно значительно улучшить плотность точек. Однако в результате получается неизолированный модуль, налагающий ограничения на разработчика. Источниками питания необходимо управлять. В большинстве случаев это не является проблемой, поскольку возможно расширение мощности ввода-вывода ПЛК на полевое устройство. Однако если полевое устройство должно подавать собственный сигнал, то в цепь необходимо добавить промежуточное реле для обеспечения изоляции. На рисунке выше показаны два разных модуля цифрового вывода. Первый обеспечивает внутреннюю шину стороны постоянного тока (+) схемы. Затем точка ввода-вывода обеспечивает путь к питанию, превращая ее в модуль источника. Если модуль подключается к общей стороне цепи постоянного тока, как показано на рисунке выше, пример 1, то модуль считается принимающим модулем. Точка ввода-вывода завершает путь к общему. Этот тип модуля сегодня используется редко из-за переключения на общей стороне. Пример 2 гораздо более распространен, поскольку в нем коммутационное действие опережает нагрузку с точки зрения протекания тока.
  15. В отличие от дискретно-цифровой схемы (вкл./выкл.), аналоговые сигналы изменяются в диапазоне напряжения или тока. Если взять тот же сосуд, описанный ранее в примере с цифровой проводкой, как изменится проводка, если мы заменим переключатель датчиком уровня? Методы подключения аналоговых сигналов ПЛК На рисунке ниже показана та же панель автоматического выключателя, но теперь она питается от источника постоянного тока. Источник питания может находиться в отдельном шкафу или в распределительной панели. В любом случае мощность постоянного тока распределяется на распределительном щите. Один предохранитель может питать несколько цепей, или каждая цепь может быть защищена предохранителями. На положительную клемму передатчика подается +24 В постоянного тока. Токовый сигнал 4–20 мА поступает с клеммы (-) передатчика на ПЛК. Кабель представляет собой витую пару и экранирован. Сигнальный кабель пронумерован по номеру передатчика, а провода внутри пронумерованы для предоставления информации об источнике питания. Экран подключается к распределительной панели, где все экраны собираются и подключаются к заземляющему наконечнику, изолированному от шкафа. Примечание. Необходимо следить за тем, чтобы экран был заземлен только в одной точке. Экраны, заземленные более чем в одной точке, могут создавать в сигнале большие шумовые всплески. Это состояние называется контуром заземления, и его может быть очень сложно изолировать, поскольку проблема носит периодический характер. «Тихое» заземление следует использовать для заземления всех экранов в одной точке. «Тихое» заземление — это заземление, которое либо подключено к специальной триаде заземления, либо подключено к центральному отводу изолирующего трансформатора. Шумным заземлением будет то, которое физически расположено далеко от трансформатора, а также то, которое обслуживает двигатели, фонари или другие шумные объекты. Это базовая двухпроводная схема аналогового входа. Ниже приводится некоторая конкретная информация о различных аналоговых возможностях: а. Защита цепи (предохранители) Аналоговые цепи всегда имеют низкое напряжение, обычно 24 В постоянного тока. В результате для безопасности персонала не требуется соединение отдельных аналоговых цепей. Кроме того, большинство аналоговых модулей ввода-вывода имеют встроенные схемы ограничения тока. Таким образом, для защиты модулей обычно не требуется плавкий предохранитель. Если эти два условия верны (и разработчик должен подтвердить это у производителя), то при желании можно избежать поточечного плавления. Если проектировщик желает сэкономить деньги, не объединяя каждую точку, следует рассмотреть возможность группировки цепей в зоны контроля повреждений. Например, если есть пара насосов, основной и резервный, приборы для них должны быть в отдельных группах предохранителей, чтобы один перегоревший предохранитель не вывел их обоих из строя. Дополнительные сведения см. в разделе Разделение ввода-вывода в указателе. б. Шумоустойчивость Аналоговые схемы чувствительны к электронному шуму. Если, например, аналоговый кабель пролегает рядом с высоковольтным кабелем двигателя, то кабель аналогового сигнала будет действовать как антенна, улавливая магнитно-связанный шум, создаваемый двигателем. Существуют и другие источники шума, такие как радиочастотное (РЧ) излучение рации. Шум в кабеле аналогового сигнала может вызвать ошибки в считывании значения сигнала, что, в свою очередь, может вызвать множество проблем в системе управления. Некоторые способы снижения шума включают в себя: • Кабели «витая пара»: Электронный шум можно значительно снизить за счет использования кабеля витой пары. Большинство приборов используют два провода для передачи сигналов. Ток течет к устройству по одному проводу и обратно от устройства по другому. Если эти провода скручены, то наведенный шум будет почти одинаковым в каждом проводе. Величина индуцированного тока одинакова в каждом проводнике, но он течет в противоположных направлениях, тем самым подавляя большую часть шума. • Экранирование: Еще одним усовершенствованием подавления помех является экранирование, т. е. использование заземленной оплетки или экрана из фольги вокруг проводников. Как упоминалось ранее, экран никогда не следует заземлять более чем в одном месте, чтобы избежать контуров заземления. Большинство производителей приборов рекомендуют заземлять экран полевого прибора. Однако лучше всего это сделать на распределительной панели. Проще проверять и управлять основаниями, если они находятся в одном месте. Кроме того, в этот момент можно обеспечить хорошее заземление. • Кабелепровод: Последним усовершенствованием в области подавления шума является заземленный металлический кабелепровод. Это требуется редко, за исключением кабелей передачи данных и особо ответственных цепей. в. Температурный детектор сопротивления (RTD) RTD состоит из специального куска провода, электрическое сопротивление которого изменяется предсказуемым образом, когда провод подвергается воздействию различных температур. Сегодня предпочтительным материалом является платина сопротивлением 100 Ом, хотя иногда используются и другие типы, например медь сопротивлением 10 Ом. Для платинового термометра сопротивления номинал составляет 100 Ом при 0°C. Изменения сопротивления в зависимости от температуры очень малы, вызывая изменения напряжения в диапазоне милливольт. ТПС подключаются к мостовой схеме Уитстона, которая настроена на РДТ. Но эта настройка происходит на стенде. А как насчет полевой среды? Мы уже обсуждали трудности с затуханием линии, присущие милливольтовым сигналам (глава 4). Эта проблема решается в схеме RTD за счет использования одного или двух сенсорных входов. Эти входы помогают свести на нет влияние потерь в меди из-за длинных линий и изменений температуры вдоль них и представляют собой дополнительные провода, которые должны быть включены в кабель RTD, отсюда и термины «трехпроводные» и «четырехпроводные RTD». д. Термопара Как мы уже говорили, термопара использует электродвижущую силу (ЭДС), возникающую в результате изменений температуры, воздействующих на два разнородных металла, ламинированных вместе. Эта ЭДС проявляется как сигнал милливольт (постоянный ток). Когда соединяются определенные комбинации этих разнородных металлов, получается предсказуемая кривая зависимости температуры от напряжения при изменении температуры на соединении. Сигнал измеряется на открытом конце двух проводов, а для преобразования напряжения в инженерные единицы используется шкала милливольт на градус. Таким образом, термопара представляет собой двухпроводное устройство. Он чувствителен к излучаемому и наведенному шуму, поэтому его обычно размещают в экранированном кабеле, если его протянуть на очень большое расстояние. Сигнал термопары также подвержен ухудшению из-за потерь в линии, поэтому желательно минимизировать длину кабеля. Кроме того, важно использовать правильный удлинитель. Термопара обычно поставляется с коротким кабелем, к которому необходимо подсоединить удлинительный провод. Если для передачи сигнала на ПЛК используется провод из другого материала, например медь, создается ложный «холодный спай», вызывающий обратную ЭДС, которая частично нейтрализует сигнал. Поэтому следует использовать соответствующий удлинительный провод или установить между медной проводкой и проводкой термопары устройство, называемое компенсатором холодного спая или эталоном точки замерзания. Модули ввода/вывода термопар уже имеют встроенную компенсацию холодного спая, поэтому необходимо использовать соответствующий удлинительный провод для термопары. Конкретные типы термопар имеют разные температурные характеристики. Термопара типа J образуется путем соединения железной проволоки с константановой проволокой. Эта конфигурация обеспечивает относительно линейную кривую в диапазоне от 0 до 750°C.8 Термопара типа K имеет никель-хромовую проволоку, соединенную с никель-алюминиевой проволокой, иногда называемой хромель/алюмель. Термопара типа K охватывает полезный диапазон температур от -200 до 1250°C. Другие комбинации дают разные кривые отклика. е. 0–10 милливольт (мВ) аналоговый Аналоговые сигналы сначала генерировались путем модуляции напряжения. Раньше передатчик генерировал слабый сигнал, который нужно было уловить, а затем отфильтровать и усилить, чтобы его можно было использовать для перемещения ручки на самописце или иглы на манометре. Ахиллесова пята милливольтового сигнала — его восприимчивость к электрическим шумам. Проблема соотношения сигнал/шум возрастает в зависимости от длины кабеля. Поэтому передатчик должен был находиться в непосредственной близости от индикатора или самописца. Сегодня милливольтовые сигналы, как правило, подаются на преобразователи, которые преобразуют слабый сигнал в ток или в другие среды (например, значения цифровых данных), менее чувствительные к шуму и потерям в децибелах (дБ), прежде чем покинуть пределы чувствительного элемента. Однако некоторые регистраторы и системы сбора данных по-прежнему работают на милливольтовом сигнале. ф. 4–20 миллиампер (мА) аналоговый Стремление преодолеть недостатки линейного затухания милливольтового сигнала привело к разработке токовой петли 4–20 мА. Благодаря значительному увеличению производительности этот метод передачи аналоговых сигналов быстро стал отраслевым стандартом. Большинство полевых приборов, представленных на рынке, имеют чувствительный элемент (датчик) и передающий элемент. Передатчик настроен на датчик, который может выдавать любой тип сигнала: от частотно-модулированного аналога до милливольт постоянного тока. Какой бы ни была форма сигнала, передатчик интерпретирует его и преобразует в выходной ток от 4 до 20 мА, который в этом диапазоне пропорционален по величине входному току. Процесс настройки выхода на вход называется масштабированием. Таким образом, передатчик становится так называемым источником переменного тока. Точно так же, как аккумулятор, как источник напряжения, пытается поддерживать постоянное напряжение независимо от величины приложенной к нему нагрузки, источник тока пытается поддерживать постоянный ток (для данного входного сигнала) независимо от нагрузки. Поскольку ток является общим во всех точках последовательной цепи, проблема длины кабеля, отмеченная как проблема с милливольтовым сигналом, сводится на нет. Конечно, способность устройства пропускать постоянный ток через цепь можно преодолеть, если приложить достаточную нагрузку. Поэтому проектировщик должен знать, сколько энергии способен произвести источник тока. Как правило, современные приборы способны поддерживать ток 20 мА при сопротивлении цепи 1000 Ом. Поскольку типовой прибор имеет входное сопротивление не более 250 Ом, можно питать несколько приборов от одного источника тока без необходимости использования изолятора. Например, один передатчик должен иметь возможность передавать свой сигнал на ПЛК, самописец и сумматор при стоимости 750 Ом плюс сопротивление линии. Это все равно должно находиться в зоне комфорта типичного передатчика. Примечание. На рынке все еще существуют приборы с номиналом 600 Ом, поэтому проектировщику следует всегда проверять его, когда рассматривается сложная схема. Чтобы определить энергию, доступную для схемы, разработчик должен иметь возможность идентифицировать поставщика этой энергии. Эта задача иногда не так проста, как может показаться, и ответ на вопрос сильно повлияет на схему подключения схемы. Существует два основных типа аналоговых схем, описанных с точки зрения передатчика. Двухпроводные передатчики считаются пассивными устройствами, поглощающими ток, а четырехпроводные передатчики — активными устройствами, генерирующими ток. На рисунке ниже изображены три датчика температуры, каждый из которых подключен к разным точкам ввода-вывода одного и того же модуля ПЛК. Один передатчик имеет прямое питание (т. е. четырехпроводное), а остальные - косвенное (т. е. двухпроводное). Каждый передатчик подключен к устройству управления — в данном случае к входу ПЛК. С точки зрения ПЛК, все токовые входы 4–20 мА на самом деле являются входами напряжения. Резисторы, предоставленные пользователем внешние, как показано здесь, или внутренние, используются для преобразования тока в напряжение. Сами компьютерные точки фактически представляют собой вольтметры с высоким сопротивлением, что обеспечивает им превосходную изоляцию от полевых устройств и минимизирует дополнительную нагрузку на входную цепь. Точки ввода-вывода на ПЛК показаны с внутренним питанием, доступным для каждой точки, поэтому модуль может быть источником напряжения для контура. Ниже приводится подробный комментарий к различиям между двухпроводными и четырехпроводными устройствами: 1. Четырехпроводная схема Как показано ниже, четырехпроводный передатчик — это тот, который обеспечивает энергию для питания контура и генерации модулированного по току сигнала. Например, большинство датчиков уровня являются четырехпроводными устройствами. Четырехпроводные устройства помимо сигнальных соединений всегда имеют силовые соединения. Однако не все такие передатчики с питанием являются четырехпроводными. Если выход питаемого передатчика отмечен как пассивный, то с точки зрения сигнальной цепи устройство можно рассматривать как двухпроводное устройство. Большинство записывающих устройств имеют внешнее питание, но являются пассивными в схеме. В этих случаях внешнее питание предназначено только для внутренней электроники устройства. Сигнальная цепь изолирована от этого источника питания. Обратите внимание, что рекордер, показанный на нижней схеме, представляет собой пассивное устройство с питанием. 2. Двухпроводная схема. Говорят, что двухпроводное устройство имеет питание по контуру. Это означает, что устройство функционирует, поглощая энергию, необходимую для генерации сигнала из токовой петли. Это также называется «токовым опусканием». Эта номенклатура может немного сбивать с толку, поскольку передатчик, потребляющий ток, по-прежнему остается источником сигнала для схемы. Питание для токового контура подается в другом месте. Передатчик, классифицированный как двухпроводной, обычно должен быть первым устройством в цепи по протеканию тока. Другими словами, положительная клемма передатчика должна быть напрямую подключена к положительной клемме источника напряжения. Источником напряжения обычно является источник питания 24 В постоянного тока. (а) Двухпроводные схемы с автономным источником питания На рисунке выше точка ввода-вывода ПЛК 2 изображает двухпроводную цепь с внешним источником питания постоянного тока. Обратите внимание, что провода должны быть свернуты (в соответствии с полярностью) в ПЛК, чтобы обеспечить правильную полярность в точке ввода-вывода. Это связано с тем, что поток тока теперь обратный по сравнению с предыдущим примером, поскольку передатчик должен стать первой нагрузкой в контуре, а не быть источником энергии для контура. (б) Двухпроводные схемы с внутренним источником питания ПЛК Большинство современных систем ПЛК способны сами генерировать контурный ток, просто подключив положительный вывод передатчика к другому выводу ПЛК. Отрицательный вывод передатчика затем подсоединяется к положительному выводу точки ввода-вывода, а отрицательный вывод точки ввода-вывода подключается к общему проводу постоянного тока системы ПЛК. Это показано на примере точки ввода-вывода 3. В этом примере в цикл добавлен рекордер.
  16. caixiaofeng

    LED 控制 PLC 编程实例

    利用梯形逻辑图学习 LED 控制的 PLC 编程实例,并了解程序说明。 此 PLC 示例适用于有兴趣学习和练习 PLC 练习的工程专业学生。 实时工业 PLC 程序将提供更多的安全功能。 PLC 编程 LED 控制 为以下应用设计 PLC 梯形逻辑。 我们使用三个拨动开关来控制三个 LED 如果拨动开关 1 和拨动开关 2 均打开,则 LED 1 和 LED 2 将亮起。 如果拨动开关 2 和拨动开关 3 为 ON,则 LED 2 将熄灭,LED 3 将点亮。 数字输入 下面列出了所需的输入。 拨动开关1:I0.0 拨动开关2:I0.1 拨动开关2:I0.1 在接下来的讨论中,我们将这些切换开关称为简单的“开关”,但请记住这些是拨动型开关。 数字输入 下面列出了所需的输出。 LED 1:Q0.0 LED 2:Q0.1 LED 3:Q0.2 LED 控制梯形图 PLC程序说明 对于此应用,我们使用 EcoStruxure Machine Expert Basic v1.2 软件进行编程。 在上面的程序中,我们对开关 1 (I0.0)、开关 2(I0.1) 和开关 3 (I0.2) 使用常开触点。 我们还对开关 3 (I0.2) 使用了常闭触点。 Rung0 中的开关 1 和开关 2 对于 LED 1 和 LED 2 串联连接,从而实现 AND 逻辑门。 对于开关 1 和开关 2,开关 3 作为常闭触点连接到 LED 3。 对于 LED 3,Rung1 中的开关 2 和开关 3 串联连接,从而实现 AND 逻辑门。 要使 LED 1 亮起,开关 1 和开关 2 应亮起。 当开关1和开关2打开且开关3关闭时,LED 2将亮起。 当开关2和开关3打开时,LED 3将亮起。 打开开关 3 将关闭 LED 2。 当开关1和开关2打开时 在 Rung0 中,打开时信号通过开关 1 和开关 2。 结果,LED 1 和 LED 3 将点亮。 开关 3 用作开关 3 的常闭触点,当处于错误状态时,它将允许信号打开 LED 2。 当开关2和开关3打开时 通过梯级 1 中的开关 2 和开关 3 的信号将点亮 LED 3。 在 Rung0 中,开关3 被视为常闭触点,当处于真状态时,将不允许信号通过。 结果,LED 2 将关闭。 开关 3 连接到 LED 1,因此它将保持打开状态。
  17. PLC 温度控制:容器中有三个加热器,用于控制容器的温度。 PLC 温控编程 我们使用三个恒温器来测量每个加热器的温度。 还有另一个恒温器,用于在发生故障或紧急情况时安全关闭或避免温度过高。 所有这些加热器都有不同的设定点或不同的温度范围,可以相应地打开加热器(下表显示了温度范围)。 温度控制系统由四个恒温器组成。 该系统运行三个加热装置。 恒温器(TS1/TS2/TS3/TS4 设置为 55°C、60°C、65°C 和 70°C。 温度低于55°C时,三个加热器(H1、H2、H3)应处于ON状态 在 55°C – 60°C 之间,两个加热器(H2、H3)应处于开启状态。 在 60°C – 65°C 之间,一台加热器 (H3) 将处于开启状态。 高于 70°C 所有加热器均处于关闭状态,有一个安全关闭装置(继电器 CR1),以防任何加热器误操作。 主开关用于打开和关闭系统。 PLC 解决方案 有四个恒温器; 假设未达到设定点时它们处于 NC 状态。 设置一个控制继电器 (CR1) 作为安全关闭功能。 主开关:启动开关为常开型,停止开关为常闭型。 下表显示了温度范围,其中恒温器(TS1、TS2、TS3、TS4)状态将根据温度值指示。 还有加热器(H1、H2、H3)状态,其中这些加热器将根据温度值打开或关闭。 PLC 梯形图逻辑 梯形图逻辑运算 第一梯级: 它有启动按钮(默认常开触点)和停止按钮(默认常闭触点)。 继电器 CR1 用于根据恒温器状态控制加热器。 恒温器 TS4 连接在停止和继电器之间,如果 TS4 激活(意味着 TS4 触点从 NC 变为 NO),则所有加热器将关闭。 继电器 CR1 的常开触点用于跨接“启动”按钮,以锁定或保持“启动”命令。 第二梯级: 继电器 CR1 的常开触点用于控制加热器(H1、H2、H3)和恒温器(TS1、TS2、TS3)的状态。 发出 START 命令后,该常开触点变为常闭触点。 如果温度低于 55 摄氏度,TS1、TS2 和 TS3 将处于关闭状态,因此所有加热器将打开。 如果温度在 55 至 60 摄氏度之间,则 TS1 将打开,因此加热器 H1 将关闭。 那么,如果温度在 60 到 65 摄氏度之间,则 TS2 也会打开,因此加热器 H2 将关闭 如果温度在 65 至 70 摄氏度之间,则 TS3 也会打开,因此加热器 H3 将关闭 有一个安全关闭装置,用于避免恒温器发生任何故障或避免温度过高。 如果温度达到 70 摄氏度以上,则 TS4 将激活继电器并使继电器断电,从而关闭所有加热器。 注意:此处加热器 H1、H2、H3 是我们通电的继电器或接触器。 因此,这些继电器的常开触点连接到电加热器馈电电路 (MCC)。这些电馈电电路将根据这些信号进行控制,相应地加热器将打开或关闭。
  18. 我们需要控制串联的储罐的液位。 使用 PLC 梯形图编程实施系列储罐液位控制程序。 系列储罐液位控制 两个罐体串联连接。 我们需要控制两个串联的坦克。 为此应用实施 PLC 程序。 问题图 问题方案 在化工企业中,有许多用于加工的材料,也储存在储罐中用于不同的加工。 这里我们考虑两个储罐,1. 储罐和 2. 给料罐。 储罐的容量比给料罐大。 储罐用于物料储存,加料罐用于其他工序的物料供应。 两个液位开关用于液位检测,一个进料阀用于控制进料。 考虑一个手动出口阀,它可以根据操作员的要求进行操作。 对于这个应用程序,我们可以使用 PLC,我们将为这个应用程序编写 PLC 程序。 输入和输出列表 数字输入 循环启动:- I0.0 循环停止:- I0.1 低位储罐 (LL1) :- I0.3 低位给料罐 (LL2) :- I0.4 高位储罐 (LH1) :- I0.5 高位给料罐 (LH2) :- I0.6 数字输出 入口阀:- Q0.0 M内存 循环ON位:- M0.0 入口阀关闭条件:- M0.1 系列罐液位控制 PLC 梯形图 计划说明 对于此应用,我们使用 S7-300 PLC 和 TIA Portal 软件进行编程。 我们也可以使用其他 PLC 来实现这个逻辑。 网络1: 网络1用于锁存电路。 每当按下 START 按钮 (I0.0) 时,Cycle ON (M0.0) 位就会打开。 按 STOP PB (I0.1) 可停止循环。 网络2: 如果检测到储罐低液位(I0.3)或给料罐低液位(I0.4),进水阀(Q0.0)将打开。(不应出现入口阀关闭的情况)。 网络3: 检测到两个储罐的高液位 (I0.5 和 I0.6),入口阀关闭条件将被激活,并将关闭入口阀 (Q0.0)。 这里的出口阀为手动阀,可由操作人员根据需要进行操作。 注意:- 以上应用可能与实际应用有所不同。 该示例仅用于解释目的。 我们也可以在其他 PLC 中实现这个逻辑。 结果
  19. 这是关于 PLC 梯形逻辑的完整教程,用于控制变频驱动器 (VFD),以通过现场本地面板或 SCADA 图形进行速度选择来控制电机速度。 执行步骤: 准备控制和电源图纸 变频器调试及参数编程 准备 PLC 程序 准备 SCADA 设计 如何用 PLC 控制变频器? 控制和电源图 变频器调试及参数编程 为了使 VFD 正常工作,需要进行调试。 快速调试时,应在 VFD 中输入电机铭牌详细信息、输入电压、电机类型、频率等必要参数。 快速调试成功后,现在就可以进行高级调试了。 需要进行此调试以提供所有数字和模拟输入和输出的详细信息,例如 有关启动命令和速度选择命令的数字输入的信息 有关数字输出的信息,如驱动器运行状态和驱动器故障等。 有关模拟输入(例如速度输入 1 和速度输入 2)的信息 有关模拟输出的信息,如电机电流和频率 PLC 程序 网络1: 在这个网络1中,我们正在检查 VFD 是否准备好启动。 当所有条件均正常且安全和电源反馈处于活动状态时,将发出此信号。 网络2: 在网络 2 中,当按下启动按钮时,如果存在 Ready_to_Start 且无错误,则 VFD Drive_DO 位将被设置。 网络3: 这是停止逻辑,当按下停止按钮时,它将重置 Drive_DO 位。 网络4: 在该网络 4 中,一旦 Drive_DO 位设置,此逻辑就需要安全,并且如果任何情况下 VFD 由于任何故障而无法运行,则在预定义的等待时间之后,这里我们将其视为 Run_FB_Time,它将重置 Drive_DO 位并 产生错误。 在现场解决错误后,您可以从 SCADA 确认此错误。 网络5: 在该网络 5 中,如果 VFD 消耗更多电流并给出过载错误,则它将重置 Drive_DO 位并生成错误。 在现场解决错误后,您可以从 SCADA 确认此错误。 网络6: 这是速度选择数字输出,如果您选择速度输入作为本地,则不会激活速度选择位,导致 Speed_DO 不存在;如果您选择速度输入作为远程,则它将激活速度选择位,导致 Speed_DO 存在。 监控与数据采集设计 正常状态 这是电机的正常状态。 没有错误,Ready 位也处于正常状态。 速度选择也处于本地模式。 运行状态 此状态表明就绪位为高且电机正在运行且没有任何错误。 错误状态 有一个错误位很高,电机也显示错误状况。 笔记 : 在某些行业中,黄色也用于指示错误情况。 红色用于指示电机停止状态。
  20. caixiaofeng

    人工鱼塘水位监测系统 PLC 程序

    人工鱼塘水位监测系统的 PLC 程序用梯形逻辑概念为初学者解释。 水位监测系统 问题描述 实现人工鱼塘水位监测系统的 PLC 程序。 当水位低于正常水位时对人工鱼池进行喂水或排水,当水位高于或低于正常水位时启动警报。 问题图 问题方案 这个问题可以通过使用简单的自动化来解决。 在这里,我们考虑了一个人工鱼池、四个液位传感器和三个用于系统监控的泵。 在这里我们将编写控制整个系统的程序。 系统将保持正常水位,并且不允许水位上升或下降以维持正常水位。 如果水位从正常水平下降,则系统将向鱼塘供水,如果水位从正常水平上升,则系统将从鱼塘排水。 输入/输出列表 输入列表 液位传感器,L0:I0.0(当水位高于报警水位时,L0=1)。 液位传感器,L1:I0.1(当水位高于正常水位时L1=1) 水位传感器,L2:I0.2(当水位高于正常水位时,L2=1) 液位传感器,L3:I0.3(当水位高于报警水位时,L3=1) 输出列表 进料泵:- Q0.0 排水泵 1 :- Q0.1 排水泵 2 :- Q0.2 报警灯:- Q0.3 用于人工鱼塘水位监测的PLC梯形逻辑 逻辑解释 本题我们将考虑使用S7-300 PLC和TIA Portal软件进行编程。 网络1: 在此网络中,我们编写了排水泵 1 (Q0.1) 的逻辑。 当水位高于最高报警水位(L3=I0.3)时,排水泵1(Q0.1)将打开。 网络2: 如果水位低于报警水位,则应启动给水泵(Q0.0)。 所以这里我们采用了L1(I0.1)的常闭触点,当水位低于正常水位时,喂水泵(Q0.0)将打开并向鱼池中注水。 网络3: 如果水位高于正常水位,则排水泵 2 (Q0.2) 将打开。 此时水位高于正常水位,而非报警水位,因此只有排水泵2(Q0.1)工作。 网络4: 这里我们在“或”门中使用了两个条件,因此任一电平低于正常电平 (L1 = I0.1) 或高于正常电平 (L1 = I0.1),则闪烁电路将被激活,警报灯 (Q0.3) 将亮起。 在。 网络5: 定时器2用于闪光电路。 网络6: 这里我们在“或”门中使用了两个条件,因此无论液位低于正常液位(L1=01)还是高于正常液位,警报灯(Q0.3)都会以 5 秒的间隔自动闪烁。 液位高于报警液位(L0=1、L1=1、L2=1、L3=1)或低于报警液位(L0=0、L1=0、L2=0、L3=0)则报警灯自动闪烁 5秒间隔。 水位高于报警水位(L0=0、L1=0、L2=0、L3=0),则排水泵 1 和 2 将启动,如果水位高于正常水平,则仅排水泵 2 将启动。 注意:- 以上示例仅用于说明目的,并未考虑所有参数或联锁。 对于这个简单的逻辑,没有必要使用 S7-300 PLC,我们已经使用该 PLC 来进行讨论。 结果
  21. 台达 PLC(DVP 14SS2) 与台达变频器 (VFD-L系列) 的 Modbus 通讯。 电机将使用 Modbus 通信直接从 HMI (DOP-107CV) 运行。 台达 PLC 与 VFD Modbus 通讯 感应电机及其速度控制将直接从 HMI 运行。 速度控制是指 HMI 中应该有两个按钮,以 1 赫兹为单位增加和减少电机的速度(假设)。 VFD-L 系列台达交流变频器将根据从 PLC 接收到的命令来运行电机。 首先需要在驱动器中设置与 PLC 相匹配的通讯及其他参数,如波特率、奇偶校验、通讯模式等; 除了从站 ID(站地址)外,它必须与 PLC 站地址不同。 默认情况下,PLC 站地址等于一 (1)。 这意味着驱动器的站地址必须是其定义范围内除一 (1) 之外的任何地址。 通讯模式需要设置的详细参数如下: 2-00 = 4 2-01 = 4 通讯参数 我们必须按照上表设置通信参数。 (摘自手册)。 9-00 = 2(可以设置为除 1 之外的任何值) 9-01 = 1 9-04 = 7(RTU 模式,停止位等于 1,奇偶校验为偶数) DVP 14SS2 有两个通讯端口,分别为 RS232 和 RS485。 此时需要根据变频器设置的参数进行通讯口2的设置,如下所示。 打开 WPL 软件。 (台达 PLC 软件) 单击编程页面上的通信程序图标。 选择 COM2 并按下一步。 根据变频器通讯参数设置参数,然后单击“下一步”。 在这里,它们根据 VFD-L 潜水中设置的参数进行馈送。 PLC 的站地址为1(见左下角) 检查突出显示的内容并按下一步。 人们可以勾选下面的方框并写下条件。 这里,我们跳过这个窗口,而是直接在梯形图模式下编写逻辑。 单击“完成”。 现在,根据上述设定条件生成以下梯形图逻辑。 每次收到发送的请求时,都会执行梯级 2 中的梯形图。 每次从驱动器读取或写入任何数据后,都会执行梯级 3 中的梯形图。 现在,在进一步编写启动和停止电机及其速度控制的逻辑之前,我们需要找出执行该逻辑的驱动器的 Modbus 地址。 对于 VFD-L 系列,2000H 是用于启动和停止变频器的 Modbus 地址,2001H 是用于频率更改的 Modbus 地址。 这里,H 表示十六进制。 在本主题中,我们将使用十进制格式表示特定地址。 所以必须将十六进制格式改为十进制格式。 通过 8421 代码,我们将转换如下: 2000(十六进制)= 8192(十二月) 2001(十六进制)= 8193(十二月) 因此,将使用 8192K 和 8193K,而不是 200H 和 2001H。 确保 8192 和 8193 仅是 Modbus 地址。 如果 8192K 的值等于 10,则电机将启动。 如果 8192K 的值等于 1,则电机将停止。 如果 8193K 的值等于 5000,则电机将以 50 Hz 运行,这意味着如果电机的速度需要增加 1 Hz,则必须在现有值上添加 100,反之亦然。 PLC 程序说明 现在,我们来详细了解 PLC 程序。 每次向梯级 5 中的 VFD 发出任何命令时,都会设置发送请求位 M1122。 MODRW K2 K6 K8192 D70 K1 MODRW 代表 Mod 读写 K2 代表变频器的站地址。 K6/K3 代表功能码是写还是读。 这里 k6 代表写入。 K8192 代表写入数据的 Modbus 地址 D70 中的数据写入 k8192 K1 是数据长度 当梯级 6 和 7 中给出启动和停止命令时,10(十进制)和 1(十进制)被移至 D70。同时,数据传输发生,即将 D70 中的数据写入 VFD 的 8192k 地址。 梯级 8 用于启动和停止电机。 当接收到速度增加脉冲 (M4) 时,将 100(十进制)添加到梯级 10 中的 D100 值,以将速度增加 1 Hz。 当接收到速度减小脉冲 (M5) 时,从梯级 9 中的 D100 值中减去 100(十进制),将速度减小 1 Hz。 同时进行数据传输,即将 D100 中的数据写入梯级 11 中 VFD 的 8193k 地址,以启动和停止电机。 人机界面 现在,进入 HMI 配置。 选择 HMI 型号后,设置如下配置,PLC 到 HMI 的配置是在 RS232 上。 (需根据 HMI 型号进行配置) 取四个瞬时按钮,分配地址,设计 HMI 屏幕如下: 开始 = M0 停止 = M1 增加速度 = M4 降低速度 = M5 测试流程 本文不涉及 HMI 设计。
  22. caixiaofeng

    PLC 编程基础知识

    1960 年代末,一家名为 Bedford Associates 的美国公司发布了一款名为 MODICON 的计算设备。作为缩写词,它的意思是“模块化数字控制器”,后来成为一个致力于设计、制造和销售这些专用控制计算机的公司部门的名称。 其他工程公司开发了该 设备自己的版本,最终以非专有术语称为 PLC 或可编程逻辑控制器。 可编程逻辑控制器 PLC 的目的是直接取代机电继电器作为逻辑元件,用存储有程序的固态数字计算机代替,能够模拟许多继电器的互连来执行某些逻辑任务。 PLC 有许多“输入”端子,通过它们解释“高”和“低”逻辑状态以及来自开关和传感器的模拟值。 它还具有许多输出端子,通过这些端子输出“高”和“低”信号,为灯、电磁阀、接触器、小型电机和其他设备输出“高”和“低”信号,从而实现开/关控制以及模拟输出,用于控制控制阀、电机速度控制等 为了使 PLC 易于编程,其编程语言被设计为类似于梯形逻辑图。因此,习惯于阅读梯形图逻辑原理图的工程师会很轻松地对 PLC 进行编程来执行相同的控制功能。 PLC 编程 下图显示了一个简单的 PLC,就像从前视图中看到的那样。 两个螺丝端子提供与电源的连接,为 PLC 的内部电路(标记为 L1 和 L2)供电。 左侧的六个螺丝端子提供与输入设备的连接,每个端子代表一个不同的输入“通道”,并带有自己的“X”标签。 左下方的螺丝端子是“公共”连接,通常连接到 120 VAC 电源的 L2(中性线)。 PLC 外壳内部连接在每个输入端子和公共端子之间的是一个光隔离器设备(发光二极管),它向计算机电路提供电气隔离的“高”逻辑信号(光电晶体管解释 LED 的光) )当相应输入端子和公共端子之间施加 120 VAC 电源时。 PLC 前面板上的 LED 指示灯提供“通电”输入的视觉指示: 输出信号由 PLC 的计算机电路产生,该电路激活开关器件(晶体管、TRIAC,甚至机电继电器),将“源”端子连接到任何标有“Y-”的输出端子。 相应地,“源”端子通常连接到 120 VAC 电源的 L1 侧。 与每个输入一样,PLC 前面板上的 LED 指示灯提供“通电”输出的视觉指示: 通过这种方式,PLC 能够与现实世界的设备(例如开关和螺线管)连接。 控制系统的实际逻辑是通过计算机程序在PLC内部建立的。 该程序规定了在哪种输入条件下哪个输出通电。 虽然程序本身看起来是一个梯形逻辑图,带有开关和继电器符号,但 PLC 内部没有实际操作的开关触点或继电器线圈来创建输入和输出之间的逻辑关系。 如果您愿意的话,这些是假想的触点和线圈。通过连接到 PLC 编程端口的个人计算机输入和查看程序。 考虑以下电路和 PLC 程序: 当按钮开关未启动(未按下)时,不会向 PLC 的 X1 输入发送电源。 该程序显示常开 X1 触点与 Y1 线圈串联,不会向 Y1 线圈发送“电源”。因此,PLC 的 Y1 输出保持断电状态,与其连接的指示灯保持熄灭状态。 然而,如果按下按钮开关,电源将被发送到 PLC 的 X1 输入。 程序中出现的任何和所有 X1 触点都将呈现启动(非正常)状态,就好像它们是通过名为“X1”的继电器线圈通电而启动的继电器触点一样。 在这种情况下,对 X1 输入通电将导致常开 X1 触点“闭合”,从而向 Y1 线圈发送“电力”。 当程序的Y1线圈“通电”时,真正的Y1输出将通电,点亮与其连接的灯: 必须要明白的是,计算机(装载 PLC 软件的工程系统)显示屏上出现的 X1 触点、Y1 线圈、连接线、“电源”等都是虚拟的。 它们并不作为真正的电气元件存在。它们以计算机程序中的命令形式存在——只是一个软件——恰好类似于真正的继电器原理图。 同样重要的是要理解,用于显示和编辑 PLC 程序的计算机对于 PLC 的持续运行来说并不是必需的。 一旦程序从计算机加载到 PLC,计算机就可以从 PLC 拔出,并且 PLC 将继续遵循编程的命令。 我在这些插图中包含计算机显示屏只是为了帮助您理解现实生活条件(开关闭合和灯状态)与程序状态(通过虚拟触点和虚拟线圈的“电源”)之间的关系。 当我们想要改变控制系统的行为时,PLC 的真正威力和多功能性就会显现出来。由于 PLC 是可编程设备,因此我们可以通过更改给它的命令来改变其行为,而无需重新配置与其连接的电气组件。 例如,假设我们想让这个开关和灯电路以相反的方式运行:按下按钮使灯关闭,松开按钮使其打开。 “硬件”解决方案需要用常闭按钮开关代替当前的常开开关。 “软件”解决方案要简单得多:只需更改程序,使触点 X1 为常闭而不是常开。 在下图中,我们显示了按钮未启动(未按下)状态下的更改后的系统: 在下图中,开关显示为已启动(按下): 在软件中而不是在硬件中实现逻辑控制的优点之一是输入信号可以根据需要在程序中重复使用任意多次。 例如,采用以下电路和程序,设计用于在三个按钮开关中的至少两个同时启动时为灯通电: 为了使用机电继电器构建等效电路,必须使用三个继电器,每个继电器具有两个常开触点,以便为每个输入开关提供两个触点。 然而,使用 PLC,我们可以为每个“X”输入编程任意数量的触点,而无需添加额外的硬件,因为每个输入和每个输出只不过是 PLC 数字存储器中的单个位(0 或 1) ,并且可以根据需要多次调用。 此外,由于 PLC 中的每个输出也只不过是其内存中的一个位,因此我们可以在 PLC 程序中分配由输出 (Y) 状态“驱动”的触点。 以下一个系统为例,电机启停控制电路: 连接到输入 X1 的按钮开关用作“启动”开关,而连接到输入 X2 的开关用作“停止”。 程序中的另一个触点名为Y1,直接使用输出线圈状态作为密封触点,以便在释放“启动”按钮开关后电机接触器将继续通电。 您可以看到常闭触点X2出现在彩色块中,表明它处于闭合(“导电”)状态。 如果我们按下“开始”按钮,输入 X1 将通电,从而“闭合”程序中的 X1 触点,向 Y1“线圈”发送“电源”,为 Y1 输出通电,并将 120 伏交流电源施加到真实电机接触器线圈。 并联 Y1 触点也将“闭合”,从而将“电路”锁定在通电状态: 现在,如果我们松开“启动”按钮,常开 X1“触点”将返回到“断开”状态,但电机将继续运行,因为 Y1密封“触点”继续提供“连续性”给线圈 Y1“供电”,从而保持 Y1 输出通电: 要停止电机,我们必须立即按下“停止”按钮,这将为 X2 输入通电并“打开”常闭“触点”,从而断开 Y1“线圈”的连续性: 当松开“停止”按钮时,输入 X2 将断电,使“触点”X2 返回正常的“闭合”状态。 然而,在按下“启动”按钮之前,电机不会再次启动,因为 Y1 的“密封”已丢失: 这里需要强调的一点是,故障安全设计在 PLC 控制系统中与在机电继电器控制系统中同样重要。 人们应该始终考虑故障(开路)接线对受控设备的影响。 在这个电机控制电路示例中,我们遇到一个问题:如果 X2(“停止”开关)的输入接线未能打开,则将无法停止电机! 该问题的解决方案是反转 PLC 程序内的 X2“触点”与实际“停止”按钮开关之间的逻辑: 当常闭“停止”按钮开关未动作(未按下)时,PLC 的 X2 输入将得电,从而“闭合”程序内的 X2“触点”。 这允许电机在输入 X1 通电时启动,并允许电机在不再按下“启动”按钮时继续运行。 当启动“停止”按钮时,输入 X2 将断电,从而“打开”PLC 程序内的 X2“触点”并关闭电机。 因此,我们看到这个新设计和以前的设计在操作上没有区别。 然而,如果输入 X2 上的输入接线未能打开,X2 输入将以与按下“停止”按钮时相同的方式断电。 X2 输入接线故障的结果是电机将立即关闭。 这是一种比之前所示的设计更安全的设计,在之前的设计中,“停止”开关接线故障会导致无法关闭电机。 除了输入 (X) 和输出 (Y) 程序元素之外,PLC 还提供与外界没有内在联系的“内部”线圈和触点。 它们的用途与标准继电器电路中使用的“控制继电器”(CR1、CR2 等)非常相似:在必要时提供逻辑信号反转。 为了演示如何使用这些“内部”继电器之一,请考虑以下示例电路和程序,旨在模拟三输入与非门的功能。 由于 PLC 程序元素通常由单个字母设计,因此我将内部控制继电器称为“C1”,而不是继电器控制电路中惯用的“CR1”: 在此电路中,只要任何按钮保持未启动(未按下)状态,灯就会保持点亮状态。 要使灯关闭,我们必须启动(按下)所有三个开关,如下所示:
  23. caixiaofeng

    PLC 系统文档

    PLC 文档是过程控制步骤的非常重要的工程记录,并且与所有技术描述一样,准确的详细工程记录至关重要。 如果没有准确的图纸,升级和诊断所需的更改和修改将极其困难或不可能。 PLC 系统文档 从 PLC 到监控设备的每根电线必须在两端有清晰的标记和编号,并记录在接线图上。 PLC 必须具有完整的最新梯形图(或其他认可的语言),并且每个梯级必须标有其功能的完整描述。 PLC 系统中的基本文件是: 1、系统概述及控制操作的完整描述; 2、系统各单元框图; 3、每个输入和输出、目的地和数量的完整列表; 4、I/O模块接线图、各I/O点地址标识、机架位置; 5、带有梯级描述、编号和功能的梯形图。 还需要具有在个人计算机上离线模拟梯形图程序的能力,或者在 PLC 中以后台模式进行模拟,以便在不中断 PLC 正常运行的情况下进行更改、升级和故障模拟,并且可以在合并之前评估更改和升级的效果。
  24. caixiaofeng

    停车场进出控制 PLC 程序

    这是一个用于地下室或地下停车场的出入控制的 PLC 程序。 PLC 停车场 问题描述 由于区域拥挤,我们在商场、酒店、综合体等场所面临着许多车辆在地下室或地下停车的问题。这是由于城市中商场、商店和综合体的车辆数量迅速增长与有限的停车位之间的矛盾而发生的。 造成“停车难、乱停车”的现象。当前停车问题严重影响人们的生活质量和道路运行。 问题图 问题方案 通过简单的自动化,我们可以减少商场、酒店、综合体等地下室或地下的停车问题。地下室的出入口是单车道通道,需要红绿灯来控制汽车。这里我们考虑两个灯指示 汽车控制。 红灯禁止车辆进出,绿灯允许车辆进出。当汽车从底层入口进入通道时,红灯(底层和地下室)都会亮起。禁止其他车辆进出 在此过程中,直到汽车通过单一通道。当通道畅通时,两个绿灯(底层和地下室)都会亮起,并允许其他车辆从底层或地下室进入。 最初我们将保持绿灯亮,红灯灭 输入和输出列表 输入列表 主开关:I0.0 底层入口/出口传感器 S1:I0.1 地下室入口/出口传感器 S2:I0.2 输出列表 绿灯(入口/出口底层):Q0.0 绿灯(地下室入口/出口):Q0.1 红灯(底层入口/出口):Q0.2 红灯(地下室入口/出口):Q0.3 M记忆线圈列表 M10.0 : 当汽车经过传感器 S1 时亮起 M10.3 : 当汽车经过传感器 S2 时亮起 M0.0:系统ON上升沿 M0.1 & M11.0:传感器 S1 的上升沿 M0.3 & M11.1:传感器 S2 的上升沿 M11.2:传感器S2的下降沿 M11.3:传感器S1的下降沿 停车场进出控制 PLC 梯形图 计划说明 在本应用中,我们使用西门子S7-300 PLC和TIA Portal软件进行编程。 网络1: 根据上述第一个网络中的说明,当系统开启 (I0.0) 时,最初两个绿灯(底层 (Q0.0) 和地下室 (Q0.1))都会亮起。 执行 SET 指令后,将设置输出 Q0.0 和 Q0.1。 网络2: 根据上面在第二个网络中的解释,当系统打开(I0.0)时,最初两个红灯(底层(Q0.2)和地下室(Q0.3))将关闭。)执行RESET指令并将重置 均输出 Q0.2 和 Q0.3。 网络3: 当轿厢从底层进入空通道时,传感器S1(I0.1)将被触发,并且通过该触发,记忆线圈M10.0将被置位。 网络4: 当汽车从地下室进入空通道时,传感器S2(I0.2)将被触发,并且通过该触发,记忆线圈M10.3将被置位。 网络5: 两个红灯将由传感器 S1 或传感器 S2 的正触发设置。因为当汽车进入空通道时,两个红灯(Q0.2 和 Q0.3)将禁止汽车从两侧进出。 网络6: 这里我们对传感器 S1 (I0.1) 和 S2 (I0.2) 进行负触发。 因此,当它们触发红灯(Q0.2和Q0.3)时,红灯(Q0.2和Q0.3)将关闭。当汽车完全通过空通道时,红灯(Q0.2和Q0.3)应该关闭。 网络7: 在该网络中,当红灯熄灭时,绿灯(Q0.0&Q0.1)将亮起。绿灯(Q0.0&Q0.1)允许其他车辆进入或退出。 网络8: 如果红灯(Q0.2 & Q0.3)亮起,此时绿灯(Q0.0 & Q0.1)应该关闭。因此,在该网络中,当红灯(Q0.2 & Q0.3)亮起时 此时将执行复位指令,绿灯(Q0.0 & Q0.1)将熄灭 网络9: 如果系统ON(I0.0)开关关闭,则所有存储器都应为0。这里我们采用MOVE指令在所有存储器(MB0、QB0和MB10)中移动零。 本示例仅用于概念解释,本示例并未考虑所有参数(例如门开/关系统、警报等) 结果 注:以上PLC逻辑提供了PLC在停车场出入口控制中应用的基本思路。 逻辑是有限的,不完整的应用。
  25. caixiaofeng

    什么是人机界面 (HMI)?

    可编程逻辑控制器用于输入各种信号类型(离散信号、模拟信号),对这些信号执行控制算法,然后输出信号以响应控制过程。PLC 本身通常缺乏向操作员显示这些信号值和算法变量的能力。 拥有个人计算机和编辑PLC程序所需软件的技术人员或工程师可以连接到PLC并“在线”查看程序状态以监控信号值和变量状态,但这对于操作人员来说不是一个实用的方法定期监控 PLC 的运行情况。 为了让操作员监视和调整PLC 内存内的参数,我们需要一种不同类型的接口,允许读取和写入某些变量,而不会暴露太多信息或允许任何不合格的人更改程序,从而损害 PLC 的完整性。本身。 此问题的一种解决方案是专用计算机显示器,该显示器经过编程以提供对 PLC 存储器中某些变量的选择性访问,通常称为人机界面或 HMI。 HMI 可以采用运行特殊图形软件来与 PLC 连接的通用(“个人”)计算机的形式,也可以采用设计为安装在金属板面板正面的专用计算机的形式,除了操作员-PLC 界面外不执行任何任务。 第一张照片显示了运行 HMI 软件的普通个人计算机 (PC) 的示例: 这里显示的显示屏恰好用于监控一个示例,即用于纯化从环境空气中提取的氧气的真空变压吸附 (VSA) 过程。在某个地方,PLC(或 PLC 集合)正在监视和控制该 VSA 过程,HMI 软件充当 PLC 内存的“窗口”,以易于操作人员解释的形式显示相关变量。运行该 HMI 软件的个人计算机通过以太网等数字网络电缆连接到 PLC。 注意:操作员界面面板的旧术语是“人机界面”或“MMI”。 下一张照片显示了专门设计和构建用于工业操作环境的专用 HMI 面板的示例: 这些 HMI 面板实际上只不过是“强化”个人计算机,坚固耐用且结构紧凑,以方便在工业环境中使用。 大多数工业 HMI 面板都配备了触摸屏,操作员可以将指尖按在显示的对象上以更改屏幕、查看过程各部分的详细信息等。 技术人员和/或工程师对 HMI 显示器进行编程,以通过数字网络向一个或多个 PLC 读取和写入数据。 HMI 显示屏上排列的图形对象通常模仿现实世界的指示器和开关,以便为操作人员提供熟悉的界面。 例如,HMI 面板表面上的“按钮”对象将被配置为将一位数据写入 PLC,其方式类似于现实世界中的开关将一位数据写入 PLC 的输入寄存器。 现代 HMI 面板和软件几乎完全基于标签,屏幕上的每个图形对象都与至少一个数据标签名称相关联,而数据标签名称又通过标签与 PLC 中的数据点(位或字)相关联名称驻留在 HMI 中的数据库文件。 HMI 屏幕上的图形对象要么接受(读取)来自 PLC 的数据以向操作员提供有用信息,要么从操作员输入向 PLC 发送(写入)数据,或者两者兼而有之。 对 HMI 单元进行编程的任务包括构建标签名称数据库,然后绘制屏幕以按照操作员运行该过程所需的详细程度来说明该过程。 此处显示了现代 HMI 标签名称数据库表的示例屏幕截图: 使用相同的软件访问和编辑标签名称数据库,以在 HMI 中创建图形图像。 根据此示例,您可以看到与 PLC 内存中的数据点关联的多个标签名称(例如,启动按钮、电机运行定时器、错误消息、电机速度)(在本例中,PLC 地址以Modbus寄存器格式显示)。 在许多情况下,标签名称编辑器能够以与 PLC 编程编辑器软件中显示的方式相同的方式显示相应的 PLC 存储点(例如 I:5/10、SM0.4、C11 等)。 在此标签名称数据库显示中需要注意的一个重要细节是每个标签的读/写属性。 特别注意显示的四个标签是只读的:这意味着 HMI 仅有权从 PLC 内存中读取这四个标签的值,而不能写入(更改)这些值。 在这四个标签的情况下,原因是这些标签引用 PLC 输入数据点。例如,START PUSHBUTTON 标签指的是 PLC 中由真实按钮开关供电的离散输入。 因此,该数据点从离散输入端子的通电中获取其状态。如果向 HMI 授予对此数据点的写入权限,则可能会发生冲突。 假设 PLC 上的输入端子已通电(将 START PUSHBUTTON 位设置为“1”状态),并且 HMI 同时尝试将“0”状态写入同一标签。 这两个数据源之一会获胜,而另一个会失败,可能会导致 PLC 程序出现意外行为。 因此,PLC 中与实际输入相链接的数据点应始终被限制为 HMI 数据库中的“只读”权限,因此 HMI 不可能产生冲突。 然而,数据库中的其他一些点也存在数据冲突的可能性。 一个很好的例子是电机运行位,它是 PLC 程序中告诉实际电机运行的位。 据推测,该位从 PLC 梯形图程序中的线圈获取数据。然而,由于它也出现在具有读/写权限的HMI 数据库中,因此HMI 可能会覆盖(即冲突)PLC 内存中的同一位。 假设有人在链接到此标签的 HMI 中编写了一个切换“按钮”屏幕对象:按下 HMI 屏幕上的此虚拟“按钮”将尝试设置该位 (1),再次按下它将尝试重置该位 (0 )。 然而,如果 PLC 程序中的线圈正在写入同一位,则存在明显的可能性,即 HMI 的“按钮”对象和 PLC 的线圈将发生冲突,即试图告诉该位为“0”,而另一个试图告诉该位为“1”。 这种情况与梯形图程序中的多个线圈寻址到同一位时遇到的问题非常相似。 这里要遵循的一般规则是绝不允许多个元素写入任何数据点。根据我教授 PLC 和 HMI 编程的经验,这是学生第一次学习 HMI 编程时最常见的错误之一:他们会尝试将 HMI 和 PLC 写入相同的内存位置,但会产生奇怪的结果。 在对大型复杂系统进行编程时,您将学到的教训之一是,在开始在 HMI 中布局图形之前定义所有必要的标签名称非常有益。 PLC 编程也是如此:如果您在之前花时间定义所有必要的 I/O 点(以及标签名称,如果 PLC 编程软件支持编程环境中的标签名称),那么整个项目会更快且更少混乱。您开始创建任何代码,指定这些输入和输出如何相互关联。 保持标签名称的一致约定也很重要。例如,您可能希望将每个硬连线 I/O 点的标签名称开头为 INPUT 或 OUTPUT(例如 INPUT PRESSURE SWITCH HIGH、OUTPUT SHAKER MOTOR RUN 等)。 维持严格命名约定的原因一开始并不明显,因为标签名称的全部目的是让程序员可以自由地为系统中的数据点分配任意名称。 但是,您会发现大多数标签名称编辑器按字母顺序列出标签,这意味着以这种方式组织的命名约定将在列表中连续(相邻)显示所有输入标签,在列表中连续显示所有输出标签,并且很快。 利用按字母顺序排列的标签名称列表的另一种方法是,每个标签名称以描述其与主要设备关联的单词开头。 以这个过程为例,该过程具有在 PLC 控制系统中定义并在 HMI 中显示的多个数据点: 如果我们按字母顺序列出所有这些标签,那么它们之间的关联就会立即显而易见: 交换器污水泵 交换器出水温度 交换器预热泵 交换器预热温度 交换器预热阀 反应器床温 反应器进料流量 反应器进料温度 反应釜夹套阀 从该标签名称列表中可以看出,所有与热交换器直接关联的标签都位于一个连续组中,所有与反应器直接关联的标签都位于下一个连续组中。 通过这种方式,明智的标签命名有助于以分层方式对它们进行分组,使程序员可以轻松地在将来的任何时间在标签名称数据库中找到它们。 您会注意到,此处显示的所有标签名称在单词之间都缺少空格字符(例如,标签名称应使用连字符或下划线作为间隔字符,而不是“Reactor bed temp”:“Reactor bed temp”),因为通常假定空格由计算机编程语言来进行分隔符(不同变量名之间的分隔符)。 与可编程逻辑控制器本身一样,HMI 的功能一直在稳步增强,而价格却在下降。 现代 HMI 支持图形趋势、数据归档、高级报警,甚至网络服务器功能,允许其他计算机通过广域网轻松访问某些数据。 HMI 能够长时间记录数据,从而使 PLC 不必执行这项非常占用内存的任务。 这样,PLC仅将当前数据“提供”给HMI,而HMI能够使用其更大的内存储备来记录当前和过去的数据。 如果HMI基于个人计算机平台(例如Rockwell RSView、Wonderware、FIX/Intellution软件),它甚至可以配备硬盘驱动器以存储大量历史数据。 一些现代的 HMI 面板甚至在设备内部内置了 PLC,在同一设备中提供控制和监控。 此类面板为离散甚至模拟 I/O 提供端子排连接点,允许所有控制和接口功能位于单个面板安装单元中。
×
×
  • Create New...