Jump to content

leigehong

Subscription group
  • Content Count

    168
  • Joined

Everything posted by leigehong

  1. В предыдущей статье мы обсуждали, что такое организационный блок, и говорили об одном очень важном организационном блоке, которым является основной OB1. В этой статье мы продолжим обсуждение различных OB, и на этот раз мы поговорим об организационных блоках прерывания по времени суток или OB10. Содержание: Что такое прерывание по времени суток OB10? Как создать и использовать OB10? Простой пример программы. Важные правила для прерываний по времени суток. Выводы. Что такое прерывание по времени суток (OB10)? Как следует из названия, прерывание по времени суток — это организационный блок, который прерывает выполнение основного цикла вашей программы ПЛК в определенное время суток. Это время прерывания (дата и время) может быть указано как происходящее один раз в указанное время или периодически через указанные интервалы времени, например, каждую минуту, час, день, неделю и некоторые другие параметры. В одной программе может быть несколько прерываний по времени суток, они не обязательно должны иметь одинаковую логику или код, каждое из них может иметь свою собственную функциональность, а также каждое из них может быть настроено отдельно для возникновения в указанное время. Как создать и использовать OB10? Чтобы создать прерывание по времени суток, выполните те же шаги, которые вы бы сделали, если бы вам нужно было добавить любой новый блок в вашу логику. Смотрите рисунок 1. Рисунок 1 — Добавление прерывания по времени суток Нажмите опцию Добавить новый блок в дереве проекта слева, выберите организационный блок, а затем выберите прерывание по времени суток, как показано на предыдущем рисунке. Теперь вы можете открыть OB10 и добавить любую логику ПЛК, которую вы хотите выполнить при вызове этого блока, под вызовом мы подразумеваем, что произошло событие прерывания или время, и поэтому операционная система прервет основной цикл и выполнит OB10. Мы напишем очень простой код в OB10, чтобы лучше понять, как работает этот блок OB10. В этой логике мы использовали инструкцию add для добавления значения 1 в область памяти, которую мы назвали TimeOfDayInterruptCounter, а затем поместили результат суммирования обратно в ту же область. Таким образом, у нас может быть счетчик для выполнения OB10. Каждый раз, когда OB10 будет вызываться и выполняться, значение TimeOfDayInterruptCounter будет увеличиваться на 1. Смотрите рисунок 2. Рисунок 2 — Добавьте свою логику в OB10 Теперь, когда мы создали OB10 и написали некоторую логику внутри, нам нужно настроить установленное время OB10 и то, сколько раз мы хотим, чтобы он прерывал наш основной цикл. Чтобы настроить время и интервал OB10, нам нужно перейти на страницу свойств OB10. См. рисунок 3. Фото 3 – Свойства OB10 В свойствах OB10 вы найдете множество настроек и атрибутов, которые можно настроить. Теперь нам нужна страница прерывания по времени суток, чтобы мы могли настроить, когда и сколько раз будет вызываться OB10. См. рисунок 4. Фото 4 – Настройка прерывания по времени суток Как видно из последнего рисунка, вы можете установить выполнение OB10, дату начала и время суток, в которое должен выполняться OB10. Для симуляции мы сделали интервал выполнения равным каждой минуте, чтобы каждую минуту OB10 вызывался и выполнялся. Это означает, что начиная с даты 23.03.2023 и времени 09:25 утра значение TimeOfDayInterruptCounter будет увеличиваться на 1 каждую минуту. У вас есть возможность установить время в соответствии с системным временем ПЛК или местным временем, как вы видите на последней картинке. В предыдущей статье мы говорили о системном и местном времени ПЛК, о том, что означает каждое время, и о том, как их настроить и использовать. Как мы уже говорили ранее, местное время — это время, которое вы видите сейчас на своем ПК. Таким образом, это фактическое время региона, в котором будет использоваться ПЛК. Вам необходимо настроить местное время для ПЛК в зависимости от того, где он будет использоваться. См. картинку 5. Рисунок 5 — Установка местного времени для ПЛК Простой пример программы ПЛК Мы добавили прерывание по времени суток OB10 в нашу программу ПЛК и настроили его так, чтобы оно выполнялось каждую минуту. Мы также настроили локальное время ПЛК. Мы создали простую логику инструкции ADD для накопления значения TimeOfDayInterruptCounter на 1 каждый раз, когда выполняется OB10. Мы добавим еще одну инструкцию, но в основном OB1 эта инструкция — RD_LOC_T или чтение локального времени, поэтому мы можем видеть, как изменяется локальное время, и сравнивать его с выполнением OB10. Смотрите рисунок 6. Фото 6 — Простой пример программы Скомпилируйте программу ПЛК и запустите новую симуляцию. Обратите внимание, что мы установим время возникновения прерывания дня, чтобы OB10 можно было вызвать и выполнить, пока мы симуляцию логики ПЛК. Смотрите следующую симуляцию. Как вы видите из анимации, значение TimeOfDayInterruptCounter в начале равно нулю, а затем оно будет увеличиваться на 1 каждую минуту, начиная с 09:25 утра, указывая, что OB10 выполняется каждую минуту. Важные правила для прерываний по времени суток Если вы устанавливаете прерывание по времени таким образом, что соответствующий OB должен быть обработан один раз, время начала не должно быть в прошлом (относительно часов реального времени ЦП). Если вы устанавливаете прерывание по времени таким образом, что соответствующий OB должен быть обработан периодически, но время начала находится в прошлом, то OB прерывания по времени обрабатывается в следующий раз, когда он должен быть выполнен в соответствии с текущим временем. Дата периодических прерываний по времени должна соответствовать реальной дате. Например, ежемесячное повторение OB прерывания по времени с датой начала 1/31 невозможно. В этом случае OB запускается только в месяцы, в которых 31 день. Временное прерывание, активированное во время запуска, не выполняется до тех пор, пока запуск не будет завершен. Запуск удаляет все временные прерывания, которые были установлены и активированы инструкцией в пользовательской программе. Заключение OB10 — это организационный блок, который можно настроить для прерывания цикла вашей программы в определенный день и время. Это прерывание может происходить либо один раз, либо периодически через определенное количество времени. Нет конкретной причины, по которой вам может понадобиться OB10, поскольку это зависит от вашего процесса и вашей логики. И да, вы можете достичь той же функциональности, используя свой личный код, но это доступная и простая в использовании встроенная функция. И вы знаете, как ею пользоваться.
  2. В предыдущих статьях мы обсуждали, что такое организационный блок, и говорили о главном циклическом прерывании OB1 и прерывании по времени суток OB10. В этой статье мы продолжим обсуждение различных OB, и на этот раз мы поговорим об организационном блоке прерывания с задержкой или OB20. Содержание: Что такое OB20? Как вызвать OB20? Параметры инструкции SRT_DINT. Пример программы. Заключение. Что такое прерывание с задержкой (OB20)? OB20 — это организационный блок, который вызывается и выполняется операционной системой, но мы должны сообщить операционной системе, когда вызывать этот OB20. Операционная система получает информацию из пользовательской программы ПЛК для вызова этого OB20, она будет ждать настроенного времени задержки, а затем вызовет и выполнит любую логику внутри OB20. Мы создаем блок OB20 из Add a new block в дереве проекта. См. рисунок 1. Рисунок 1 – Создание нового блока OB20 Теперь, когда я создал прерывание с задержкой, когда оно будет выполнено? И как настроить задержку выполнения блока? Опять же, OB20 является организационным блоком, что означает, что вы не вызываете блок для выполнения, но сообщаете операционной системе, когда она может вызвать его и выполнить любую функциональность, написанную внутри. Как сообщить операционной системе вызвать OB20? Чтобы сообщить операционной системе, что мы хотим вызвать OB20, мы используем SRT_DINT или прерывание задержки запуска, см. рисунок 2. Рисунок 2 – Инструкция задержки запуска Параметры инструкции SRT_DINT Как видно из последнего рисунка, вы можете использовать инструкцию SRT_DINT для вызова OB20. но вам нужно настроить некоторые параметры, чтобы инструкция работала. EN: инструкция не будет выполнена, пока на входе EN не будет представлен отрицательный фронт сигнала. Это означает, что вам нужно назначить условие из набора условий для включения сигнала, и инструкция будет работать только тогда, когда это условие истинно, а затем снова ложно. OB_NR: вы назначаете номер прерывания задержки, которое вам нужно вызвать, в нашем случае 20, поскольку мы создали OB20, но мы можем создать более одного прерывания задержки, и тогда нам придется вызывать каждое из них с помощью отдельной инструкции SRT_DINT. DTIME: это время задержки, которое вы хотите выждать перед выполнением OB20, мы установим это время на 5 секунд для симуляции. SIGN: Идентификатор, который появляется, когда прерывание с задержкой по времени OB вызывается в информации о событии запуска OB. Пример программы ПЛК Чтобы лучше понять OB20, мы создадим простую логику, чтобы увидеть, как OB20 может быть вызван и выполнен. Мы построим этот пример ПЛК на предыдущей логике, которую мы сделали для OB1 и OB10 в предыдущих статьях. Внутри OB20 мы создадим логику, которая подсчитывает, сколько циклов OB1 было вызвано и выполнено в течение 5 секунд задержки, которую мы настроили для OB20. См. рисунок 3. Рисунок 3 – Логика внутри OB20 На последнем рисунке вы видите, что мы использовали инструкцию MOVE для передачи информации о количестве циклов в начале вызова OB20 и после его выполнения. См. рисунок 4 для остальной части логики. Рисунок 4 – Рассчитайте, сколько циклов выполняется за 5 секунд После этого мы вычтем два значения количества циклов, чтобы получить, сколько циклов было выполнено за пятисекундную задержку. Теперь, когда мы создали нужную нам логику, как мы можем вызвать OB20? Как объяснялось ранее, мы должны использовать инструкцию SRT_DINT. Мы будем использовать эту инструкцию внутри OB10, который мы настроили ранее для выполнения каждую минуту. Это означает, что OB20 также будет вызываться и выполняться каждую минуту, но с задержкой в 5 секунд. В предыдущей статье мы построили логику, которая определяет, сколько раз вызывается и выполняется OB1, мы также построили другую логику, которая будет вызывать OB10 каждую минуту. В этом примере мы будем использовать вызов OB10 для вызова OB20. Смотрите рисунок 5. Рисунок 5 – Вызов OB20 через OB10 Ранее мы говорили, что SRT_DINT нужен отрицательный фронт сигнала на EN для начала вызова. Вот почему мы использовали сигнал TimeOfDayInterruptEnabled, который, как мы знаем, будет истинным при выполнении OB10, а затем вернется к ложному, давая нам нужный нам фронт сигнала. Теперь, когда вся логика ПЛК завершена, давайте скомпилируем и запустим новую симуляцию. Смотрите следующую симуляцию нашего проекта. Видите ли, в анимации сначала значения счетчиков циклов равны нулю, но когда вызывается OB10 и TimeOfDayInterruptEnabled имеет значение true, логика будет ждать 5 секунд, а затем значения счетчиков будут обновлены счетчиками циклов. Вывод OB20 — это организационный блок, вызываемый и выполняемый операционной системой. Мы можем указать операционной системе вызвать OB20 с помощью инструкции SRT_DINT.
  3. В предыдущих статьях мы обсуждали различные типы организационных блоков, например, основной OB1, который является основным циклическим блоком программы, в этой статье мы рассмотрим другой циклический организационный блок. OB30 или циклическое прерывание OB. Содержание: Что такое циклическое прерывание OB30? Что такое основной цикл OB1? Зачем мне нужен OB30? Как настроить циклические прерывания? Что делать, если у меня есть более одного циклического прерывания? Заключение. Что такое циклическое прерывание OB30? Циклическое прерывание OB30 — это организационный блок, который вызывается и выполняется через заданные и точные интервалы времени, в отличие от основного циклического OB1, который постоянно вызывается и выполняется, циклическое прерывание будет вызываться через интервалы времени, которые вы должны настроить при создании циклического прерывания OB. Например, если я создал OB30 с временным интервалом _также называемым временем цикла_ в 20 мс, это означает, что операционная система будет прерывать основной цикл OB1 и вызывать OB30 каждые 20 мс. Вы должны убедиться, что время выполнения циклического прерывания OB должно быть меньше его временного интервала. В противном случае все равно может случиться, что следующий вызов OB30 поступит, пока этот вызов OB30 все еще выполняется. В этом случае операционная система генерирует ошибку времени, которая может привести к переходу ПЛК в режим STOP. Что такое основной цикл OB1? Основной циклический OB1 — это организационный блок, который отвечает за циклическое выполнение вашей логики ПЛК. Всякий раз, когда вы создаете новый проект и добавляете ПЛК, основной OB1 будет автоматически создан программным обеспечением. Основой вашего кода ПЛК является циклическое поведение, то есть вам нужно, чтобы ваш код выполнялся непрерывно. Когда обработка вашей логики завершена, операционная система начинает ее обработку снова. Это делается с помощью основного OB1, вы помещаете и вызываете всю свою логику и код внутри этого OB1, и операционная система будет следить за тем, чтобы он непрерывно выполнялся. Время цикла основного OB1 относится к времени выполнения циклической программы, включая время выполнения всех вложенных частей программы, таких как FC, FB и OB с более высоким приоритетом. Если вы создали несколько OB цикла программы, каждый OB цикла программы вносит свой вклад во время цикла. Операционная система отслеживает, остается ли время цикла меньше настроенного максимального времени цикла. Если оно превышает максимальное время цикла, ПЛК либо перейдет в режим STOP, либо вызовет OB80 в зависимости от вашей программы. Зачем мне нужен OB30? Кто-то может возразить, что я могу поместить любую функциональность внутрь OB30 в основном OB1 и попытаться обойтись без этого в зависимости от очень высокой производительности большинства современных ПЛК. Иногда это может быть нормально, но не всегда. В зависимости от производительности вашего ПЛК, время основного цикла может быть где-то между 1 и 150 мс; оно может быть разным, но это стандартная конфигурация, это время цикла зависит от многих факторов, таких как размер вашей программы ПЛК и прерывания внутри вашей логики и других факторов, которые, скорее всего, сделают время выполнения вашего цикла нестабильным. Теперь, если вам нужно выполнять определенную функциональность точно каждые 10 мс, а не 9 мс и не 11 мс. Теперь вы не можете зависеть от основного OB1, так как результат может быть не таким, как хотелось бы. В этом случае вы используете циклическое прерывание OB30, вы настраиваете его на нужные вам 10 мс, и операционная система будет вызывать и выполнять эту функцию точно каждые 10 мс. Вот почему это называется прерыванием; потому что оно прерывает выполнение основного OB1 для вызова и выполнения вашего OB30. Примеры функциональности, для которой требуется OB30 Обработка ПИД-регулятора. Мониторинг цепей безопасности. Мониторинг связи между машинами. Во всех предыдущих примерах необходимо постоянно контролировать и проверять параметры в определенные моменты времени, поскольку они относятся к реальным физическим величинам или безопасности машины. Выполнение таких функций не должно задерживаться, поскольку они влияют на безопасность и непрерывность вашего процесса. Как настроить циклические прерывания? При создании циклического прерывания необходимо настроить некоторые параметры. См. рисунок 1 для добавления нового OB30. Рисунок 1 – Добавление нового циклического прерывания OB30 При создании циклического прерывания можно найти множество параметров, которые можно задать в свойствах блока, см. рисунок 2. Рисунок 2 – Свойства OB30 Самые важные параметры, которые необходимо учитывать, следующие: Время цикла Используйте параметр «Время цикла», чтобы задать период времени между двумя вызовами циклического прерывания OB. Он является целым числом, кратным 1 мкс. Смещение фазы Здесь вы устанавливаете период времени, на который смещаются начальные времена по сравнению с кратным времени цикла. Смотрите рисунок 3 для настройки времени цикла и смещения фазы. Рисунок 3 – Установка времени цикла и смещения OB30 Приоритет циклического прерывания OB Это еще один важный параметр, который необходимо учитывать при настройке циклического прерывания, поскольку у вас может быть более одного циклического блока, если в случае, если два разных OB должны быть вызваны одновременно, операционная система вызовет и выполнит блок с более высоким номером приоритета. Вы должны знать, что основной программный цикл ПЛК OB1 имеет номер приоритета 1, что является самым низким уровнем приоритета, который может иметь блок. Вот почему OB1 может быть прерван любым другим вызовом блока. См. рисунок 4. Рисунок 4 — Установка приоритета OB30 Что делать, если у меня более одного циклического прерывания? Нередко в вашей логике будет более одного циклического прерывания. Если в вашей логике ПЛК есть два ПИД-регулятора, то вам может потребоваться два циклических прерывания для обработки каждого ПИД. В этом случае вам нужно убедиться, что вызов и выполнение различных циклических прерываний не будут перекрываться. Например, если у вас есть OB30 с интервалом цикла 5 мс и OB31 с интервалом цикла 10 мс, это означает, что второй вызов OB30 также будет временем вызова OB31. Это может привести к логическим ошибкам, даже если вы установите приоритет одного из них выше, чем другого, это испортит ваше время цикла для блока с более низким приоритетом. См. рисунок 5. Рисунок 5 – Перекрытие вызова различных циклических прерываний В этом случае может быть целесообразным смещение фазы, когда вы используете несколько OB циклических прерываний. Если их времена цикла имеют общие кратные, вы можете использовать смещение фазы, чтобы предотвратить одновременное время запуска. См. рисунок 6. Рисунок 6 – Смещение между различными вызовами OB Таким образом, чтобы избежать этого перекрытия, мы установим время смещения OB31 равным 1 мс. Это означает, что подсчет для временного интервала OB31 будет смещен на 1 мс относительно времени начала OB30. См. рисунок 7. Рисунок 7 – Настройка смещения OB31 Заключение Циклические прерывания очень полезны для задач, критичных по времени, которые не должны сталкиваться с какими-либо задержками. В вашей логике может быть более одного циклического прерывания. Используйте настройку смещения циклических прерываний, чтобы избежать одновременного времени начала. Используйте настройку приоритета, чтобы контролировать порядок выполнения различных циклических прерываний.
  4. В предыдущих статьях мы начали обсуждать различные организационные блоки ПЛК TIA Portal, мы говорили о том, что такое OB, и мы обсудили некоторые OB, такие как OB1- Main cyclic, OB10 и OB20, прерывания с задержкой по времени и времени соответственно. В этой статье мы поговорим о OB100 или организационном блоке запуска в Сименс Tia Portal. Содержание: Что такое OB100? Зачем нужен OB100? Важные замечания во время запуска. Простой пример программы. Что такое организационный блок запуска (OB100)? OB100 или OB запуска — это организационный блок, который вызывается и выполняется операционной системой один раз при запуске ПЛК, то есть один раз при каждом переходе из режима STOP в режим RUN. Основной цикл OB1 не будет вызываться и выполняться, пока не будут выполнены все функции запуска внутри OB100. В вашей логике ПЛК может быть более одного OB запуска, если это произойдет, то операционная система вызовет и выполнит их все один за другим, начиная с меньшего номера OB к большему номеру. То есть, если у вас есть OB100 и OB123, то OB100 будет вызван и выполнен первым, а затем OB123. После выполнения OB100 операционная система прочитает входные модули в PII и запустит основную программу цикла OB1. Зачем нужен OB100? Вы используете OB100 для множества задач, которые вы можете захотеть или должны выполнить перед запуском циклической логики, по следующим причинам: Инициализация переменных. Сброс системных модулей. Повторная калибровка датчиков/исполнительных механизмов. Проверка наличия аварийных сигналов и условий безопасности перед запуском процесса. Даже если вы не создали OB запуска для своей логики, у операционной системы все еще есть много задач, которые ей необходимо выполнить перед запуском вашей основной логики, вот некоторые из этих задач: Очистка не сохраняемой памяти Очистка PIQ Вызов и выполнение OB запуска, если таковые имеются. Обновление PII Включение выходов после перехода в режим RUN. Вы заметили, что последняя задача процедуры запуска — включение выходов? Вот почему первым шагом выполнения основной циклической программы OB1 является запись PIQ в выходной модуль. Важные замечания во время запуска Обратите внимание на следующие моменты относительно режима «STARTUP»: Выходы на модулях отключены. Инициализируется образ процесса. Образ процесса не обновляется. Чтобы прочитать текущее состояние с входов во время «STARTUP», вы можете получить доступ к входам через прямой доступ ввода-вывода. Чтобы инициализировать выходы во время STARTUP, значения можно записать через образ процесса или через прямой доступ ввода-вывода. Значения выводятся на выходах во время перехода в режим «RUN». Инициализируются несохраняемые битовые памяти, таймеры и счетчики. Инициализируются несохраняемые теги в блоках данных. Во время запуска мониторинг времени цикла еще не запущен. Простой пример программы В этом примере мы добавим стартовый OB100 в нашу логику ПЛК и посмотрим, сколько раз выполняется OB100. См. рисунок 1 для добавления нового OB100. Рисунок 1 — Добавление OB100 Как видно из последнего рисунка, вы добавляете стартовые организационные блоки так же, как мы добавляем функцию функционального блока. Внутри только что созданного OB100 мы добавим простую инструкцию ADD, чтобы накапливать, сколько раз вызывается и выполняется OB100. См. рисунок 2. Рисунок 2 – Накопление времени выполнения OB100 Теперь скомпилируйте и запустите свою программу и посмотрите, что произойдет. Посмотрите следующую анимацию для моделирования программы ПЛК. Анимация 1 Как вы можете видеть из приведенной выше анимации, OB100CycleCounter равен 1 и не меняется, когда режим ПЛК переходит из режима STOP в режим RUN. Ну, он меняется, но вы не видите этого изменения. Каждый раз, когда ПЛК переходит в режим STOP, а затем снова в режим RUN. Счетчик будет сброшен на ноль, а затем снова на 1 после выполнения OB100. Вы также можете увидеть, как изменяется основной счетчик циклов OB1, и ПЛК останавливается, а затем снова запускается, OB1CycleCounter снова начнет накапливать данные. Чтобы увидеть изменение в счетчике запуска, нам нужно сохранить значение памяти тега. Смотрите рисунок 3. Рисунок 3 – Сохранение памяти тега OB100CycleCounter После того, как мы сохранили тег OB100CycleCounter, теперь снова запустите симуляцию ПЛК и посмотрите, что произойдет. Смотрите анимацию симуляции 2. Анимация 2 Теперь вы видите из вышеприведенной анимации, что счетчик запуска увеличивается каждый раз, когда я останавливаю ПЛК, а затем снова запускаю его. Поскольку память тега теперь сохраняется, значение не будет сброшено до нуля, и именно поэтому вы видите, что значение OB100CycleCounter накапливается. Теперь мне нужно добавить дополнительную функциональность в мою логику запуска ПЛК, которая заключается в том, чтобы знать, когда был последний запуск ПЛК. Мы достигнем этого с помощью простой логики, где я считываю локальное время ПЛК при запуске и перемещаю дату и время в определенную область памяти. Смотрите рисунок 4. Рисунок 4 – Чтение локального времени при запуске После добавления логики скомпилируйте и снова запустите симуляцию. Смотрите анимацию симуляции ПЛК 3. Анимация 3 Из анимации выше видно, что каждый раз при запуске ПЛК дата и время запуска будут записаны в назначенную нами область памяти. Так что теперь у меня есть информация о том, сколько раз запускался мой ПЛК и когда был последний запуск. Заключение OB запуска очень важны, если вы хотите оценить некоторые функции перед запуском вашего циклического процесса. Вы можете использовать OB запуска для инициализации параметров, калибровки датчиков и даже проверки условий безопасности перед запуском вашего процесса.
  5. В этой статье мы продолжаем обсуждение различных типов организационных блоков в ПЛК Siemens. На этот раз мы рассмотрим OB121 или прерывание ошибок программирования в портале Tia. Содержание: Что такое прерывание ошибок программирования OB121? Примеры ошибок программирования. Что произойдет, если будет обнаружена ошибка программирования? Моделирование ошибки программирования в TIA Portal. Как OB121 может быть полезен против ошибок программирования? Выводы. Что такое прерывание ошибок программирования (OB121)? OB121 — это организационный блок, который будет вызван операционной системой ПЛК, если во время выполнения вашей логики возникнет ошибка программирования. Обратите внимание, что мы не говорим об ошибке программирования, которая будет обнаружена компилятором при попытке загрузить вашу логику в ПЛК. См. рисунок 1. Рисунок 1 – Некоторые ошибки программирования будут обнаружены компилятором Как вы видите на последнем рисунке, в моей логике ПЛК есть ошибка программирования; некоторые операнды отсутствуют на входе и выходе сети 1. Но эта ошибка была обнаружена компилятором еще до загрузки логики в ПЛК. Ошибка на рисунке 1 не является типом ошибки программирования, которая может вызвать необходимость вызова OB121. Ошибки в вашей программе ПЛК, которые не могут быть обнаружены компилятором, но все равно могут вызвать проблемы в вашей логике во время работы ПЛК, — это ошибки программирования, которые мы имеем в виду. Эти ошибки вызовут вызов OB121 операционной системой. Примеры ошибок программирования Вот несколько примеров ошибок в вашей логике ПЛК, которые могут вызвать ошибки программирования: Превышена максимальная глубина вложенности вызовов блоков. Вы использовали указатель NULL для обращения к операнду. Неизвестная инструкция. Адресованная строка имеет неверную информацию о длине. Ошибка длины области при чтении. Ошибка длины области при записи. Ошибка в номере таймера. Доступ к базе данных, которая не загружена; номер базы данных находится в разрешенной области. База данных не существует. Эти и многие другие ошибки могут вызвать ошибки программирования в вашем ПЛК. Вы можете проверить раздел справки на портале TIA, чтобы узнать, какие еще причины могут вызвать ошибки программирования ПЛК. Что произойдет, если обнаружена ошибка программирования? Когда ваш ПЛК обнаруживает ошибку программирования, может произойти одно из трех событий. Ваш ПЛК покажет ошибку и перейдет в режим STOP. Ваш ПЛК покажет ошибку, но продолжит выполнять вашу логику. Ваш ПЛК покажет ошибку, а затем попытается устранить эту ошибку. Эти три события будут в основном зависеть от программирования вашего ПЛК. Это означает, что ваш код будет определять, как будет вести себя операционная система при обнаружении ошибки программирования. Моделирование ошибки программирования в TIA Portal Чтобы лучше понять, как будет вести себя ПЛК, мы создадим простую программу, в которой вызовем ошибку программирования, а затем посмотрим, что произойдет. Смотрите рисунок 2. Рисунок 2 — Простая логика программы Созданная нами логика очень проста: при включении InitiateProgError значение 126 будет перемещено в область DB52.DBW16. Обратите внимание, что мы не создали DB52. поэтому это будет наша ошибка программирования. Обратите внимание, что эта ошибка не будет обнаружена во время компиляции или загрузки в ПЛК. Смотрите рисунки 3 и 4. Рисунок 3 — Ошибка, не обнаруженная компилятором Посмотрите, как блок был успешно скомпилирован, включая ошибку программирования. Рисунок 4 – Блок загружен в ПЛК И снова, блок был загружен в ПЛК с ошибкой программирования. Теперь давайте смоделируем нашу программу ПЛК и посмотрим, что произойдет. См. анимацию 1 для моделирования кода ПЛК. Анимация 1 Как вы видите из анимации выше, светодиод ПЛК ERROR будет мигать красным в течение нескольких секунд, а затем ПЛК перейдет в режим STOP. Перейдите к онлайн-диагностике ПЛК, чтобы увидеть, что произошло. См. рисунок 5. Рисунок 5 – Онлайн и диагностика ПЛК То, что вы видели в анимации, это то же самое, что вы видите на предыдущем рисунке. Их можно разделить на 3 шага: ПЛК обнаруживает ошибку программирования, которая заключается в том, что OB52 не загружен. Операционная система инициирует вызов OB121, но в нашей логике OB121 не создан. Когда ПЛК обнаруживает, что в нашей логике не создан OB121, операционная система инициирует запрос STOP. И ПЛК переходит в режим STOP. Как OB121 может быть полезен против ошибок программирования? Давайте добавим OB121 в наш код ПЛК и посмотрим, как все изменится. См. рисунок 6. Рисунок 6 – Добавление OB121 После создания и добавления OB121 в нашу логику ПЛК давайте посмотрим, что произойдет в симуляции. Помните, что мы не написали никакой логики ПЛК внутри OB121. См. анимацию 2. Анимация 2 Как видно из анимации 2, при возникновении InitiateProgError светодиод ПЛК ERROR будет мигать красным, но ПЛК продолжит работу. Это означает, что ПЛК не перейдет в режим STOP. Давайте проверим онлайн-диагностику, чтобы увидеть, что на самом деле произошло. Смотрите рисунок 7. Рисунок 7 — Ошибка не привела к остановке ПЛК На рисунке видно, что ПЛК обнаруживает ошибку, но не переходит в режим STOP. Он пропустит эту ошибку, продолжит цикл и начнет все сначала с самого начала. Когда он снова достигнет ошибки, он снова обнаружит ошибку, выдав сигнал тревоги в диагностике. Пропустите ошибку и продолжите. Это означает, что ПЛК будет выдавать тот же сигнал тревоги в каждом цикле сканирования. И именно поэтому на рисунке вы видите, что событие продолжает срабатывать, а сигнал тревоги повторяется в каждом цикле сканирования. Таким образом, просто наличие пустого OB121 даст вам преимущество в поддержании работы ПЛК и расширения y, поддерживая работу вашего процесса. Но мы можем сделать больше, мы можем попытаться поймать эту ошибку и устранить ее. Также мы можем попытаться показать тип обнаруженной ошибки программирования. Определение типа ошибки OB121 имеет внутренний идентификатор идентификатора ошибки, который мы можем использовать для отображения типа ошибки, возможно, как сигнал тревоги на HMI. Внутри OB121 мы создадим простую инструкцию MOVE, в которой мы поместим вход Fault_ID OB121 в определенную область памяти внутри нашей глобальной базы данных. См. рисунок 8. Рисунок 8 — Определение типа ошибки Как вы видите на предыдущем рисунке, при возникновении ошибки программирования Fault_ID будет помещен в Data.ProgErrorID. См. рисунок 9. Рисунок 9 — Ошибка программирования Fault_ID Вы можете увидеть, что идентификатор ошибки — 3A. Если вы посмотрите справку TIA Portal, вы можете узнать значение этой ошибки. 3A: Доступ к незагруженной базе данных; номер DB находится в разрешенной области. Перехват ошибки Это просто означает попытку решить ошибку программирования ПЛК после того, как вы определили причину. Это будет зависеть в основном от того, что это за ошибка и как вы хотите ее обработать. Мы просто смоделируем решение ошибки, чтобы посмотреть, как будет себя вести ПЛК. Фактическое решение для созданной нами ошибки будет заключаться в том, чтобы просто создать DB52 или использовать уже созданный блок данных. Но ради симуляции мы просто добавим простой контакт, который будет размыкаться при возникновении ошибки программирования, чтобы перехватить эту ошибку. Смотрите рисунки 10 и 11. Рисунок 10 – Перехват ошибки Всякий раз, когда вызывается OB121, будет устанавливаться CatchError. Рисунок 11 – Устранение ошибки Всякий раз, когда вызывается OB121, будет установлен CatchError, и он будет использоваться для перехвата ошибки программирования в Network 1. См. анимацию 3 для моделирования ПЛК. Анимация 3 Из вышеприведенной анимации вы можете видеть, что при запуске InitiateProgError ПЛК на мгновение переходит в состояние ошибки, затем ошибка сбрасывается, и ПЛК все время находится в режиме RUN. Заключение Простое наличие пустого OB121 в вашей логике гарантирует, что ваш ПЛК не перейдет в режим STOP, если в вашем коде была ошибка программирования. Позже вы можете использовать OB121, чтобы также определить ошибку и устранить ее.
  6. В этой статье речь идет о системе управления движением на Т-образном перекрестке с помощью логики ПЛК, использующей компаратор для работы светофоров. Система управления движением на Т-образном перекрестке Функция системы управления движением на Т-образном перекрестке состоит из трех групп сегментов. С помощью логики работы компаратора мы управляем системой светофоров. Первый сегмент: В первом сегменте движение по полосе 1 разрешено, а полосы 2 и 3 остановлены. Здесь, в этом сегменте, горит зеленый свет (Зеленый 1) полосы 1, и горят красные огни (Красный 2) полосы 2 и (Красный 3) полосы 3. Этот период продолжается пятнадцать секунд. Второй сегмент: Во втором сегменте движение по полосе 2 разрешено, а полосы 1 и 3 остановлены. Здесь, в этом сегменте, горит зеленый свет (зеленый 2) полосы 2, а также красные огни (красный 1) полосы 1 и (красный 3) полосы 3. Этот период продолжается пятнадцать секунд. Третий сегмент: В третьем сегменте движение по полосе 3 разрешено, а полосы 1 и 2 остановлены. Здесь, в этом сегменте, горит зеленый свет (зеленый 3) полосы 3, а также красные огни (красный 1) полосы 1 и (красный 2) полосы 2. Этот период продолжается пятнадцать секунд. После выполнения всех трех сегментов последовательность операций снова запускается и повторяется непрерывно. Описание входов и выходов В этом проекте ПЛК мы использовали 2 входа, 6 выходов, 2 памяти и 1 таймер задержки включения. С.Нет Символ Описание 1 Я 0.0 НАЧИНАТЬ 2 Я 0.1 ОСТАНАВЛИВАТЬСЯ 3 М 0.0 ПАМЯТЬ 4 М 0,1 ПАМЯТЬ 1 5 В 0.0 ЗЕЛЕНЫЙ 1 6 В 0,1 КРАСНЫЙ 1 7 В 0,2 ЗЕЛЕНЫЙ 2 8 В 0,3 КРАСНЫЙ 2 9 В 0,4 ЗЕЛЕНЫЙ 3 10 В 0,5 КРАСНЫЙ 3 11 DB1 ТАЙМЕР ЗАДЕРЖКИ ВКЛЮЧЕНИЯ Программирование ПЛК и его пояснение 1. При нажатии кнопки ПУСК (I 0.0) активируется ПАМЯТЬ (M 0.0). Эта M 0.0 является основной памятью, используемой для выполнения всех процессов в программе. Поскольку она защелкнута, она будет находиться только во включенном состоянии. Если нажать кнопку СТОП (I 0.1), весь процесс будет остановлен в любой момент. 2. После подачи питания на MEMORY он включит TIMER DB1, который управляет синхронизацией дорожной развязки. В этом таймере мы устанавливаем заданное время 45 секунд. Как только таймер достигает заданного времени, он активирует MEMORY 1 (M 0.1), и этот M 0.1 также сбрасывает таймер согласно логике и непрерывно запускает цикл. 3. Далее компаратор играет важную роль в управлении дорожной развязкой. Во-первых, выход GREEN 1 (Q 0.0) включается согласно логике. Здесь мы использовали компаратор «Меньше или равно». В этой логике Q0.0 будет находиться в состоянии ВКЛ от 0 секунд до 15 секунд. После этого он перейдет в состояние ВЫКЛ 4. Далее для выхода RED 1 (Q0.1) мы использовали функцию «Больше или равно». Q0.1 будет находиться в состоянии ВКЛ от 15 до 45 секунд. Он будет находиться в состоянии ВЫКЛ, когда Q0.0 находится в состоянии ВКЛ. 5. Затем для выхода GREEN 2 (Q0.2) мы использовали как «Меньше или равно», так и «Больше или равно» для этого выхода. Обе функции компаратора были подключены последовательной логической связью к выходу. В этом Q0.2 будет находиться в состоянии ВКЛ от 16 до 30 секунд в соответствии с условием. 6. Далее для выхода RED 2 (Q0.3) мы также использовали как «Меньше или равно», так и «Больше или равно» для выполнения операции. Компараторы были подключены параллельно к выходу. Этот выход будет находиться в состоянии ВКЛ от 0 до 15 секунд и от 30 до 45 секунд. В промежутке между 15 секундами он будет находиться в состоянии ВЫКЛ только потому, что в это время Q0.2 находится в состоянии ВКЛ. 7. Затем для последнего выхода GREEN 3 (Q0.4) мы использовали функцию «Больше или равно». Согласно условной логике, он будет находиться в состоянии ВКЛ от 30 до 45 секунд. До этого времени он будет находиться в состоянии ВЫКЛ. 8. Наконец, выход RED 3 (Q0.5). Здесь мы использовали функцию «Меньше или равно» для выполнения логики ПЛК. Он будет находиться в состоянии ВКЛ от 0 до 30 секунд, после чего он будет находиться в состоянии ВЫКЛ. Заключение Итак, таким образом, заданное управление движением на Т-образном перекрестке выполняется функцией компаратора с логикой ПЛК. Мы можем управлять логикой движения с помощью логики ПЛК многими способами, и это также один из способов.
  7. Когда вы работаете с ПЛК, вам нужно знать, какие типы напряжений обычно доступны в нем; чтобы вы могли соответствующим образом выполнить подключение. Не только источник питания, но мы также должны быть связаны с требуемым входным и выходным напряжением. У каждого производителя ПЛК есть свой собственный набор диапазонов напряжения и тока в зависимости от модуля и ЦП, которые они предоставляют. В этой статье мы изучим рабочие напряжения ПЛК, которые обычно доступны везде. Источник питания ПЛК В стандарте ПЛК работает при четырех типах напряжений — 24 В постоянного тока, 24 В переменного тока, 110 В переменного тока и 240 В переменного тока. В некоторых ПЛК только ЦП требует источника питания, а модули ввода-вывода получают питание от объединительной платы ЦП, тогда как в некоторых ПЛК все модули, включая ЦП, входы и выходы, требуют источника питания. В любом случае вам понадобится ИБП или трансформатор на панели ПЛК для преобразования необработанного напряжения питания. В напряжении питания переменного тока некоторые ПЛК предлагают диапазон напряжений от 110 до 240 В переменного тока. Каждая точка питания в ПЛК имеет точку заземления для обеспечения безопасности ПЛК в случае любого скачка напряжения или короткого замыкания. Когда используется питание переменного тока, оно в основном оснащено защитным предохранителем внутри. Питание постоянного тока также имеет предохранитель внутри, но для питания переменного тока его обязательно использовать из-за высокого напряжения. Когда номинальное напряжение указано в ЦП, это означает, что напряжение, которое вы предоставляете, было должным образом стабилизировано и в значительной степени контролируется. Но нецелесообразно, чтобы напряжение оставалось постоянным на уровне 24 В или 240 В. Таким образом, для ПЛК предусмотрен диапазон номинального напряжения, например, 20–28 В постоянного тока или 220–245 В переменного тока. Этот диапазон предопределен в каждом ПЛК, чтобы вы получили область питания для эффективной работы с ними без каких-либо проблем. Питание для модулей ввода-вывода Теперь давайте перейдем к нашей следующей теме о питании, необходимом для модулей ввода-вывода. Как обсуждалось ранее, доступны два типа питания: один, в котором модуль питается от самой объединительной платы ЦП, и один, в котором модулю требуется внешний источник питания. При использовании объединительной платы каждый ЦП имеет номинал в мА, который он будет предоставлять в качестве нагрузки для подключенных модулей. Например, если ЦП имеет номинал 24 В постоянного тока - 450 мА, то он также будет указывать, что объединительная плата ЦП может обеспечивать такое количество тока для модулей ввода-вывода, и вы можете подключить только это количество модулей к стойке ЦП. Кроме того, каждый модуль будет указывать, какой ток он будет потреблять при подключении к шине объединительной платы. Это может помочь вам выбрать соответствующие модули и ЦП для конкретного приложения. Переходя ко второму типу питания, есть некоторые модули, которым требуется внешний источник питания. Итак, в этом случае вам нужно выбрать ИБП или трансформатор с более высоким током и соответствующей нагрузкой. Это, в свою очередь, может правильно питать как ЦП, так и модули, а также питать другие компоненты панели, которым требуется такое же питание. Источник питания для полевых приборов Полевая проводка для ПЛК также в основном требует постоянного напряжения для приборов и переменного напряжения для мощных устройств. Таким образом, вышеупомянутые четыре напряжения, упомянутые ранее, работают одинаково для общей проводки питания модуля ввода-вывода. Кроме того, помните, что внутри ПЛК, помимо стандартного источника питания, в основном находится резервная батарея. Это гарантирует, что программа в памяти ПЛК останется нетронутой в случае любого отключения питания. Выбор источника питания для ПЛК При выборе источника питания необходимо учитывать следующие параметры в целом: номинальное напряжение, номинальный ток, номинальную мощность, пульсацию и шум, регулируемый диапазон напряжения, допуск напряжения, регулировку линии и регулировку нагрузки. После того, как вы выбрали правильный источник питания, вы можете подключить ЦП и модули для правильного питания. Таким образом, мы понимаем концепцию рабочих напряжений ПЛК.
  8. Программируемые логические контроллеры (ПЛК) и программируемые контроллеры автоматизации (ПАК) — это два типа промышленных контроллеров, используемых для автоматизации процессов и машин в производстве, обработке и других промышленных приложениях. Оба типа контроллеров имеют схожие функции, но между ними также есть существенные различия. В этой статье мы рассмотрим различия, сходства и примеры ПЛК и ПАК. Содержание: Что такое ПЛК? Что такое ПАК? Сходства между ПЛК и ПАК. Различия между ПЛК и ПАК. Примеры моделей ПЛК от разных поставщиков. Примеры моделей ПАК от разных поставщиков. Когда лучше всего подходит ПЛК? А когда ПАК? Заключение Что такое ПЛК? ПЛК означает программируемый логический контроллер, который представляет собой специализированный промышленный компьютер, используемый для систем управления автоматикой. ПЛК предназначены для работы в суровых условиях и используются для управления оборудованием на производственных предприятиях, сборочных линиях и других промышленных предприятиях. ПЛК можно программировать с использованием 5 различных языков, таких как релейная логика, схемы функциональных блоков, структурный текст, список инструкций и последовательные диаграммы. Эти 5 языков одобрены и применяются в соответствии со стандартами IEC 61131-3. Что такое ПАК? ПАК означает программируемый контроллер автоматизации, который похож на ПЛК, но имеет более продвинутую функциональность. ПАК сочетает в себе возможности традиционного ПЛК с возможностью выполнять гораздо более сложные задачи и взаимодействовать с другими устройствами и системами, что делает их более гибкими и мощными, чем ПЛК. ПАК обычно используется для более сложных приложений автоматизации и управления в таких отраслях, как автомобилестроение, аэрокосмическая промышленность и производство электроэнергии. ПАК можно программировать с использованием тех же 5 языков, что и ПЛК, но также их можно программировать с использованием C и C++, что дает им возможность обрабатывать кодирование более сложных алгоритмов. Сходства между ПЛК и ПАК Сходства между ПЛК и ПАК настолько много, что иногда трудно сказать, отличаются ли они вообще. Хотя между ними все же есть некоторая разница. Сходства, которые они разделяют, могут быть еще больше. Вот некоторые общие моменты между ПЛК и ПАК: Основная функциональность И ПЛК, и ПАК разработаны для обеспечения надежного и точного управления промышленными системами автоматизации. Они используются для контроля входных сигналов от датчиков и других устройств, обработки информации, а затем вывода сигналов управления на исполнительные механизмы и другое оборудование. Программирование И ПЛК, и ПАК используют языки программирования для создания логики управления, которая определяет поведение системы автоматизации. Они используют 5 языков программирования, определенных в стандартах IEC 61131-3, но ПАК предлагают больше вариантов языков программирования, включая C и C++. Долговечность И ПЛК, и ПАК созданы для работы в суровых промышленных условиях, таких как экстремальные температуры, влажность и вибрация. Они разработаны для обеспечения прочности и надежности, длительного срока службы и меньших требований к обслуживанию. Модульная конструкция Как ПЛК, так и ПАК имеют модульную конструкцию, что обеспечивает простоту расширения и настройки. Модули можно добавлять или удалять для удовлетворения конкретных требований. Отраслевые стандарты Как ПЛК, так и ПАК созданы в соответствии с отраслевыми стандартами для систем автоматизации и управления, такими как IEC 61131. Эти стандарты обеспечивают совместимость между устройствами и системами разных производителей. Различия между ПЛК и ПАК Различие между ПАК и ПЛК может быть несколько размытым. Хотя определения того, что представляет собой ПАК, нет, есть некоторые общие характеристики, которые отличают ПАК от ПЛК: Функциональность Хотя и ПЛК, и ПАК используются для приложений автоматизации и управления, ПАК имеют более продвинутые функции, такие как управление движением, управление процессами и сбор данных. ПАК также обычно имеют большую вычислительную мощность и память, чем ПЛК. Возможности подключения ПАК имеют более продвинутые возможности подключения, чем ПЛК, включая Ethernet, USB и беспроводную связь. Это упрощает их интеграцию в более крупные системы автоматизации и взаимодействие с другими устройствами и системами. Стоимость Благодаря более продвинутой функциональности и гибкости ПАК, как правило, дороже, чем ПЛК. Более продвинутые функции ПАК часто имеют более продвинутые программные функции, чем ПЛК, такие как интегрированное управление движением, регистрация данных и расширенные диагностические инструменты. Эти функции облегчают инженерам и техникам мониторинг и устранение неисправностей системы управления. Примеры моделей ПЛК от разных поставщиков Сименс S7-1500 ПЛК: Это высокопроизводительный ПЛК от Сименс, одного из ведущих поставщиков автоматизации. Он разработан для требовательных приложений и предлагает расширенные функции, такие как управление движением, безопасность и защита. См. рисунок 1. Рисунок 1 – Сименс S7-1500 ПЛК Allen-Bradley ComПАКtLogix 5370 ПЛК: Это универсальный ПЛК от Rockwell Automation, который предлагает широкий спектр вариантов ввода-вывода и протоколов связи. Он подходит для различных приложений, включая управление машинами и автоматизацию процессов. См. рисунок 2. Рисунок 2 – ПЛК Allen-Bradley ComПАКtLogix 5370 ПЛК Mitsubishi Electric серии Q: Это надежный ПЛК от Mitsubishi Electric, который предлагает высокоскоростную обработку, гибкие варианты ввода-вывода и расширенные возможности программирования. Он подходит для различных приложений, включая автомобилестроение, пищевую промышленность и фармацевтику. См. рисунок 3. Рисунок 3 – ПЛК Mitsubishi Electric серии Q ПЛК Omron серии NJ: Это высокоскоростной, высокопроизводительный ПЛК от Omron, который предлагает расширенные возможности управления движением и сетевые возможности. Он подходит для различных приложений, включая упаковку, печать и производство полупроводников. См. рисунок 4. Фото 4 – ПЛК Omron NJ Series ПЛК Beckhoff TwinCAT: Это программный ПЛК от Beckhoff, работающий на платформе на базе ПК. Он предлагает расширенные функции, такие как управление движением, ЧПУ и робототехника, и подходит для различных приложений, включая управление машинами и автоматизацию процессов. См. рисунок 5. Фото 5 – ПЛК Beckhoff TwinCAT CX9240 на базе ПК Примеры моделей ПАК от разных поставщиков ПАК Emerson DeltaV DCS: Это ПАК распределенной системы управления (РСУ) от Emerson. Он разработан для сложных приложений непрерывного управления и предлагает расширенные функции, такие как моделирование процессов, управление партиями и расширенное управление. См. рисунок 6. Рисунок 6 – Emerson DeltaV DCS ПАК Schneider Electric Modicon M340 ПАК: Это высокопроизводительный ПАК от Schneider Electric, который предлагает расширенные функции, такие как управление движением, безопасность и кибербезопасность. Он подходит для различных приложений, включая энергетику, очистку воды и горнодобывающую промышленность. См. рисунок 7. Рисунок 7 – Modicon M340 ПАК Некоторые другие примеры ПАК: ABB AC 800M ПАК Yokogawa ProSafe-RS ПАК Phoenix Contact ПЛКnext Technology ПАК Bosch Rexroth IndraMotion MLC ПАК Когда лучше всего подходит ПЛК? А когда ПАК? ПЛК и ПАК используются в различных типах приложений автоматизации в зависимости от конкретных требований этого приложения. Вот несколько общих рекомендаций о том, где лучше всего подходит ПЛК, а где лучше всего подходит ПАК: ПЛК лучше всего подходят для: Приложений с дискретным управлением: ПЛК лучше всего подходят для приложений, включающих дискретное управление, например, управление работой конвейера, сортировочного оборудования или упаковочных машин. Простые системы управления: ПЛК идеально подходят для приложений, имеющих относительно простую систему управления, которую можно запрограммировать с помощью релейной логики или других подобных языков программирования. Приложения, чувствительные к стоимости: ПЛК, как правило, менее дороги, чем ПАК, что делает их хорошим выбором для приложений, где стоимость является существенным фактором. Системы малого и среднего размера: ПЛК подходят для систем управления малого и среднего размера, где количество входов и выходов относительно невелико. Конвейерная система на производственном предприятии является хорошим примером системы автоматизации, где лучше всего подходит ПЛК. В этом приложении ПЛК отвечает за управление скоростью и направлением конвейера, а также за мониторинг состояния датчиков и другого оборудования вдоль конвейерной линии. ПЛК также можно запрограммировать для выполнения определенных производственных задач, таких как сортировка, подсчет или упаковка. Обычно конвейерная система имеет фиксированную структуру и четко определенный набор операций, которые необходимо выполнять последовательно. ПЛК хорошо подходят для этого типа приложений, поскольку они предназначены для выполнения дискретных задач управления и очень надежны в своей работе. ПЛК можно легко запрограммировать и настроить для работы с различными типами датчиков, исполнительных механизмов и протоколов связи. ПЛК лучше всего подходят для: Приложений управления технологическими процессами: ПЛК лучше всего подходят для приложений, включающих управление технологическими процессами, например, управление работой химического завода, водоочистной станции или электростанции. Сложные системы управления: ПЛК идеально подходят для приложений, в которых используется сложная система управления, требующая расширенных алгоритмов и функций оптимизации. Крупномасштабные системы: ПЛК подходят для крупномасштабных систем управления, где количество входов и выходов велико, а система распределена по большой площади. Высокопроизводительные приложения: ПАК, способный обрабатывать высокопроизводительные приложения, требующие быстрой обработки данных, управления в реальном времени и высокой надежности. Система управления электростанцией является хорошим примером системы автоматизации, где ПАК является наилучшим вариантом. В этом приложении ПАК отвечает за управление и мониторинг большого количества сложных процессов и оборудования, таких как турбины, генераторы, котлы и насосы. ПАК также отвечает за сбор и анализ данных с различных датчиков и других источников и принятие решений на основе этих данных для оптимизации производительности станции. Система управления электростанцией является очень сложной и динамичной средой, в которой одновременно работает множество различных процессов и оборудования. ПАК хорошо подходят для этого типа приложений, поскольку они предлагают расширенные функции, такие как распределенное управление, резервирование и отказоустойчивость, которые необходимы для обеспечения надежности и безопасности станции. ПАК может обрабатывать большие объемы данных и может быть запрограммирован для выполнения сложных алгоритмов и задач оптимизации. Заключение ПЛК и ПАК используются в приложениях промышленной автоматизации. Они имеют разные возможности и лучше всего подходят для разных типов приложений. При выборе между ПЛК и ПАК важно учитывать конкретные требования приложения. ПЛК обычно используется в дискретных приложениях управления, которые имеют относительно простую систему управления. ПАК используется в приложениях управления процессами, которые имеют сложную систему управления и требуют расширенных алгоритмов и функций оптимизации.
  9. Управление процессом в любой машине или системе всегда было мечтой инженеров. Благодаря появлению технологий было разработано множество контроллеров для гибкого и надежного управления процессом. Существует два основных типа контроллеров, которые широко используются во многих процессах, от малых до больших. Это микроконтроллеры и ПЛК. Они могут выполнять любую операцию, начиная от небольших вычислений до сложных алгоритмов, логической производительности и обработки данных. Это упрощает задачу за счет автоматизации процесса. В этой статье мы рассмотрим разницу между микроконтроллером и ПЛК. Что такое микроконтроллер? Давайте сначала разберемся с основами. У вас есть одна кнопка и одна лампа. Вас просят включить лампу через 5 секунд после нажатия кнопки. Что из этого нам требуется для выполнения этой задачи? Вам понадобится один вход (кнопка), один выход (лампа), один контроллер для выполнения этой задачи (тип процессора), один источник питания для питания схем и одна память для хранения этой логики и состояния входов и выходов. При объединении в одном корпусе это создает микроконтроллер. Короче говоря, микроконтроллер — это тип небольшого компьютера, который принимает физические входы, обрабатывает логику в соответствии с ними и включает или выключает физические выходы. Это небольшое устройство типа чипа, которое встраивает в себя все эти схемы, как небольшой корпус, и выполняет всю работу по обработке и управлению. Микроконтроллер будет обрабатывать небольшое количество входов и выходов. Например, рассмотрим небольшую схему дисплея, такую как светодиод или ЖК-дисплей, установленную на портативном устройстве. Если вы нажмете на нем кнопку, он отобразит соответствующее число на дисплее. А когда вы нажмете другую кнопку, он отобразит какое-то другое число, записанное в соответствии с логикой внутри процессора. Это означает, что сначала он был запрограммирован на отображение числа, а затем при нажатии второй кнопки будет показано вычисленное число. Все эти вычисления, хранение обработки переменных и обработка ввода-вывода выполняются внутри этого чипа микроконтроллера. Что такое ПЛК? Давайте перейдем к более высокому уровню обработки. У вас есть 50 датчиков, либо 4-20 мА, либо термопар. У вас есть 20 различных типов выходов, либо приводы постоянного тока 0-10 В, либо релейные выходы. Вам была назначена одна и та же задача принимать входы и управлять выходами в соответствии с прописанной в нем логикой. Потребуются все те же компоненты ввода-вывода, блок питания, процессор и память. Но вы можете видеть, что все эти платы/контакты ввода-вывода с памятью и процессором не могут быть встроены в небольшой одиночный чип. Вот тут-то и появляется ПЛК. ПЛК по сути является расширением микроконтроллера. Это устройство типа шкафа-коробки, которое имеет платы ввода-вывода, память и процессор; все они соединены друг с другом на разных чипах. Все эти чипы составляют один шкаф ПЛК. Вводы-выводы могут быть разных типов, от простых цифровых сигналов до сложных аналоговых сигналов. У них есть специальные платы связи, которые могут взаимодействовать с реальными протоколами, такими как Ethernet, Modbus, CAN Open, Profibus, Profinet и т. д. Микроконтроллеры тоже имеют платы связи, но они имеют небольшие интерфейсы и ограниченные возможности подключения. Модули ввода-вывода либо встроены в основной ПЛК, либо подключены к удаленным модулям через связь. Это легко позволяет расширять ввод-вывод. Различные высококачественные промышленные датчики и исполнительные механизмы могут быть легко соединены с ПЛК. Разница между микроконтроллером и ПЛК Теперь, когда мы поняли их значение, давайте рассмотрим их различия: Только в определении мы узнали, что ПЛК может обрабатывать большое количество процессов и циклов. Вот почему его лучше всего использовать для промышленных приложений. Микроконтроллеры не могут обслуживать большое количество входов/выходов со сложными требованиями к проводке и коммуникациям. Лучше всего подходит для небольших приложений. Обработка сигналов в ПЛК гораздо более гибкая по сравнению с микроконтроллером. Это означает, что аналого-цифровое преобразование, высокоскоростные входы счетчика и выходы легче настраивать в ПЛК, чем в микроконтроллере. Микроконтроллеры дешевле ПЛК из-за ограниченного количества предоставляемых ими функций. Главное преимущество ПЛК — его прочность и стабильность. Благодаря очень высокой температуре и устойчивости к воздействию окружающей среды он является наилучшим подходящим продуктом для критических, опасных и суровых условий. ПЛК может быть гораздо более подвержен электромагнитным помехам и другим типам помех, чем микроконтроллер. Программирование в ПЛК намного проще, чем в микроконтроллере. Микроконтроллеры используют сложное программное обеспечение, такое как C и C++, для программирования, что намного проще в ПЛК, поскольку в нем есть языки, которые легко соотносятся с пониманием электрических чертежей. Для проектирования микроконтроллеров необходимы знания встраиваемых систем, СБИС и программного обеспечения, тогда как программистам ПЛК для проектирования требуются знания промышленной автоматизации, контрольно-измерительных приборов и сетей.
  10. Последовательная логика очень полезна в программировании ПЛК. Она помогает легко сортировать вещи. Во многих приложениях, использующих ПЛК, написана та или иная последовательная логика. Две наиболее широко используемые последовательности — LIFO и FIFO. Вы наверняка слышали эти названия в электронике, когда они используются для укладки и упорядочивания. Эти типы последовательной логики также доступны в ПЛК. В этой статье мы изучим концепции последовательностей LIFO и FIFO в программировании ПЛК. Последовательность FIFO в ПЛК FIFO означает «первым пришел — первым вышел». Значение этой последовательности легко понять из ее названия. То, что пришло первым, выйдет первым. Вы вводите один элемент; и когда вы запрашиваете элемент, вам будет предоставлен первый введенный элемент. Эта же логика работает в программировании ПЛК для последовательности FIFO. В программировании логическому блоку присваивается имя FIFO. Он может хранить до 16 слов или более, в зависимости от ПЛК. Он содержит три типа входов — сброс, хранение и извлечение. По переднему фронту входа сброса последовательность сбрасывается и становится пустой. По переднему фронту входа хранения слово, присутствующее на входе, сохраняется в блоке. Блок запомнит последовательность полученных слов. По переднему фронту входа извлечения слово, введенное первым, будет выдано в слове назначения, настроенном программистом ПЛК. Он имеет два выхода — пустой и полный. Если пустой бит истинен, то это означает, что хранилище пусто, а если полный вход истинен, то это означает, что хранилище заполнено. Последовательность LIFO в ПЛК LIFO означает последний вошел — первый вышел. Значение этой последовательности можно легко понять из ее названия. То, что приходит последним, выйдет первым. Вы вводите один элемент; и когда вы запрашиваете элемент, вам будет выдан последний введенный элемент. Эта же логика работает в программировании ПЛК для последовательности LIFO. В программировании логический блок называется LIFO. Он может хранить до 16 слов или больше, в зависимости от ПЛК. Он содержит три типа входов — сброс, хранение и извлечение. По переднему фронту входа сброса последовательность сбрасывается и становится пустой. По переднему фронту входа хранения слово, присутствующее на входе, сохраняется в блоке. Блок запомнит последовательность полученных слов. По переднему фронту входа извлечения слово, которое поступило последним, будет передано в целевое слово, настроенное программистом. Он имеет два выхода — пустой и полный. Если пустой бит истинен, то это означает, что хранилище пусто, а если полный вход истинен, то это означает, что хранилище заполнено. Эти последовательности довольно просты в использовании. Программист должен следить за тем, чтобы никакие входы не подавались одновременно в блоки хранения. В этом случае блок не будет выполнять никаких действий. Только один вход должен быть предоставлен за один раз. Также следует отметить, что разные ПЛК функционируют по-разному при теплом или холодном перезапуске. Обычно, например, при холодном перезапуске ПЛК регистр будет сброшен, а в случае теплого перезапуска регистр останется нетронутым. Это зависит от производителя.
  11. В ПЛК есть много инструкций, которые помогают выполнять логику упрощенным способом. Инструкции бывают разных категорий, таких как арифметические, сравнительные, логические, контроллерные и т. д. Например, простая инструкция сложения для сложения двух переменных относится к арифметической категории. Таким образом, аналогично, в логике ПЛК доступно много типов инструкций. Одной из таких инструкций, которая широко используется в программировании ПЛК, является инструкция сдвига. Она относится к категории числовой обработки. В этой статье мы изучим концепцию инструкции сдвига битового регистра в программировании ПЛК. Сдвиг битового регистра в ПЛК Как следует из названия, инструкция сдвига — это команда для сдвига битов слова на некоторую предопределенную позицию. Например, у вас есть слово из 16 бит. Вы хотите переместить бит номер 3 из его текущей четвертой позиции в седьмую позицию. Таким образом, всякий раз, когда дается импульс команды сдвига, бит будет сдвигаться в каждом триггере из четвертой позиции в седьмую позицию. В этой непрерывности бит в пятой позиции переместится в восьмую позицию; а бит в третьей позиции переместится в шестую позицию. Итак, здесь вы сдвигаете биты в группе на определенное вами количество позиций. Инструкция сдвига Инструкции сдвига бывают двух типов — сдвиг и поворот. Давайте рассмотрим инструкцию поворота. Рассмотрим синтаксис — %MW10:= SHL (%MW12, 4). %MW10 — это целевое слово памяти, а %MW12 — это исходное слово памяти. Обратитесь к изображению ниже. В %MW10, когда дается первый триггер для сдвига влево, бит 0 сдвигается в бит 1 и так далее. Этот результат сохраняется в %MW12. Когда такие триггеры даются четыре раза, в конечном итоге бит 0 окончательно сместится в бит 4 и так далее. Конечный результат в любом случае сохраняется в %MW12, и вы получаете окончательный ответ битов, сдвинутых на четыре позиции от исходного слова. Но следует помнить, что при каждом сдвиге предыдущий бит заполняется значением 0. Это вы можете ясно видеть на изображении. После первого сдвига первый бит в %MW12 равен 0. Таким образом, после четырех сдвигов конечный результат будет – 0000 1101 1100 0000. Таким образом, этот сдвиг может быть как правым, так и левым. В ПЛК есть еще один тип сдвига; более ранний добавляет нули из предыдущей позиции, но этот второй тип сохраняет значение первого бита (MSB для правого и LSB для левого) как есть. Это называется арифметическим сдвигом. Таким образом, если значение первого бита (MSB для правого и LSB для левого) изначально перед сдвигом было 1, то последний бит останется только 1, а нули будут добавлены из второго предыдущего бита до тех пор, пока не будет дана команда сдвига. Следует отметить, что последний сдвинутый бит всегда сохраняется в бите переноса. Инструкция поворота Второй тип — инструкция поворота. Рассмотрим синтаксис: %MW10:= ROL (%MW12, 4). %MW10 — это целевое слово памяти, а %MW12 — это исходное слово памяти. Мы будем использовать то же самое изображение выше для справки. Инструкция поворота, как следует из названия, просто сдвигает биты на указанное вами количество позиций. По сравнению с инструкцией сдвига, где ноль добавлялся после каждого предыдущего бита; здесь биты просто сдвигаются в той же последовательности, что и в левом направлении. Итак, предположим, что у вас есть исходное слово – 1100 1010 1100 0101; затем после срабатывания триггера из 4 позиций конечный результат будет – 1010 1100 0101 1100. Та же логика работает и в правом направлении. Последний сдвинутый бит также сохраняется в бите переноса. Еще один тип относится к категории вращения. Здесь вместо сдвига только 16 битов бит переноса переворачивается. Это означает, что последний бит смещается к биту переноса, а затем бит переноса будет смещен к первому биту и т. д. В более раннем типе последний бит сохранялся только в бите переноса.
  12. ПЛК S7-1200 — это компактное, модульное и экономичное решение, которое предлагает широкий спектр функций и гибкости для небольших и средних приложений автоматизации. Эти функции включают в себя параметры связи, память, производительность ЦП и конфигурацию ввода-вывода. Если у вас есть процесс, которым вам нужно управлять, вам следует выбрать ПЛК и настроить его так, чтобы он наилучшим образом соответствовал требованиям вашего процесса. В этой статье мы обсудим конфигурацию оборудования ПЛК S7-1200 и приведем пример его настройки на портале Сименс Tia. Содержание: Какова конфигурация оборудования ПЛК? Важность конфигурации оборудования. Простой пример проекта. Как настроить наш ПЛК с помощью данного примера? Конфигурация оборудования ЦП. Конфигурация оборудования ввода-вывода. Конфигурация ЧМИ. Заключение. Какова конфигурация оборудования ПЛК? Аппаратная конфигурация относится к определенным компонентам ПЛК, таким как ЦП, память, модули ввода/вывода (I/O), порты связи, источник питания и любые дополнительные модули или аксессуары, которые могут потребоваться и быть добавлены в систему. Аппаратная конфигурация ПЛК также включает включение или отключение некоторых функций ЦП в зависимости от устройства, его возможностей и требований вашего процесса. Шаги аппаратной конфигурации для ПЛК обычно включают следующее: Выберите подходящую модель ПЛК на основе требований приложения. Определите требования к вводу/выводу для системы, которые включают тип и количество датчиков, исполнительных механизмов и других устройств, которые будут подключены к ПЛК. Выберите протокол связи и топологию сети, которые будут использоваться для подключения ПЛК к другим устройствам и системам. Определите требования к источнику питания для ПЛК и его периферийных устройств. Смонтируйте ПЛК в подходящем месте и подключите все необходимые кабели и провода. Настройте программное обеспечение ПЛК для связи с аппаратными компонентами и настройте соответствующие логические и управляющие функции. Конкретные шаги по настройке оборудования могут различаться в зависимости от модели ПЛК и требований приложения, но это основные шаги, которые обычно задействованы в процессе. В этой статье мы поговорим о настройке оборудования, которая выполняется на платформе TIA Portal. Это означает, что мы предполагаем, что вы знаете свое приложение и что вы уже выбрали свою модель ПЛК и источник питания для его питания. Вы можете вернуться к предыдущим статьям, где мы обсуждали, как выбрать ПЛК и источник питания, которые лучше всего подходят для вашего приложения. Важность настройки оборудования в ПЛК Правильная настройка оборудования обеспечивает надежность и устойчивость системы. Если компоненты оборудования настроены неправильно, они могут работать не так, как задумано, что приведет к сбоям или ошибкам системы Настройка оборудования влияет на производительность системы. При выборе правильных компонентов оборудования и их соответствующей настройке система может работать с максимальной эффективностью и скоростью и может обрабатывать большой объем входов и выходов. Настройка оборудования влияет на масштабируемость и гибкость системы. Выбор аппаратных компонентов и их конфигурации должен учитывать будущее расширение или модификацию системы, чтобы гарантировать, что система сможет легко вносить изменения или обновления. Аппаратная конфигурация влияет на стоимость системы. Выбрав соответствующие аппаратные компоненты и конфигурацию, можно избежать ненужных затрат и минимизировать общую стоимость системы. Аппаратная конфигурация S7-1200 Мы предположим простой проект ПЛК и посмотрим, как мы можем настроить ПЛК в нашем проекте, прежде чем мы начнем писать наш код. Система контроля температуры для реактора с использованием ПЛК Проект включает в себя контроль температуры реактора с использованием ПЛК. Система должна измерять температуру реактора и регулировать температуру, управляя потоком охлаждающей жидкости. В проекте используются четыре термопары для измерения температуры, два соленоидных клапана для управления потоком охлаждающей жидкости и двигатель для привода рабочего колеса реактора. Конфигурация ввода/вывода Входы: Термопары 1–4: это 4 аналоговых входа, которые измеряют температуру в разных местах внутри реактора. Кнопка аварийной остановки: это цифровой вход, который используется для остановки системы в случае возникновения чрезвычайной ситуации. Потенциометр заданного значения температуры: это аналоговый вход, который позволяет оператору устанавливать желаемое заданное значение температуры. Выходы: Электромагнитный клапан 1 и 2: это 2 цифровых выхода, которые управляют потоком охлаждающей жидкости через трубы реактора. Управление двигателем: это цифровой выход, который управляет скоростью и направлением двигателя, который приводит в движение рабочее колесо. Управление нагревателем: это цифровой выход, который управляет системой нагрева реактора. Работа системы: Система ждет, пока оператор установит заданное значение температуры с помощью потенциометра. ПЛК считывает заданное значение температуры и сравнивает его с текущей температурой реактора, которая измеряется четырьмя термопарами. Если температура реактора ниже заданного значения, ПЛК активирует выход управления нагревателем для увеличения температуры. Если температура реактора выше заданного значения, ПЛК активирует один из выходов электромагнитного клапана для увеличения потока охлаждающей жидкости и уменьшения температуры. ПЛК непрерывно контролирует температуру и регулирует нагреватель и системы охлаждения для поддержания желаемого заданного значения. ПЛК также управляет двигателем, который приводит в движение рабочее колесо для перемешивания содержимого реактора. Если нажата кнопка аварийной остановки, ПЛК деактивирует все выходы и останавливает систему. Проект ПЛК может быть дополнительно расширен и изменен для включения дополнительных функций, таких как сигналы тревоги, регистрация данных или удаленный мониторинг, в зависимости от конкретных требований проекта. Однако мы не будем беспокоиться о кодировании логики ПЛК этой системы, а воспользуемся этим примером, чтобы объяснить, как настроить оборудование ПЛК в соответствии с нашим проектом. Сюда входит: Выбор ЦП ПЛК. Выбор модулей ввода-вывода. Назначение входных и выходных тегов аппаратным модулям. Назначение IP-адреса ПЛК для связи. Назначение пароля защиты. Настройка локального времени ПЛК. Настройка ЧМИ и установка соединения с ПЛК. Как настроить ПЛК с помощью данного примера? Ниже мы обсудим создание базового проекта ПЛК с необходимым оборудованием. Конфигурация оборудования ЦП: Выбор ЦП: При запуске нового проекта в TIA Portal необходимо настроить новое устройство и добавить его в проект. См. рисунок 1. Рисунок 1. Настройте устройство для вашего проекта Как вы можете видеть на предыдущем рисунке, портал TIA уже показывает вам, что первым шагом должна быть настройка нового устройства. В предыдущей статье мы обсуждали, как выбрать ПЛК, который подходит для вашего процесса, поэтому мы не будем упоминать это здесь снова, для нашего проекта, поскольку это простой проект, мы выберем ЦП 1214C AC/DC/RLY. См. рисунок 2. Рисунок 2. Добавьте новый контроллер в проект Свойства ЦП: В зависимости от ЦП, который вы выбрали для своего проекта, будут доступны различные функции и свойства ЦП. Вы можете включить или отключить эти функции в зависимости от ваших потребностей. Некоторые из функций потребуют дополнительной настройки. См. рисунок 3. Рисунок 3 – Свойства ЦП Как вы можете видеть на предыдущем рисунке, есть много свойств, которые вы можете задать для вашего ЦП в проекте. Мы упомянем некоторые из этих свойств, которые вам нужно будет настроить в каждом проекте, некоторые другие свойства используются только в особых случаях. Связь: Это очень важная конфигурация для любого проекта ПЛК; ваш проект, скорее всего, будет иметь различные модули и устройства, которые должны общаться друг с другом. Настройка связи между вашим ПЛК и этими устройствами важна для вашего проекта. Выбрав ЦП, вы уже определили, как будет осуществляться связь. Некоторые ЦП работают только с Profinet, некоторые работают только с Profibus, а некоторые могут использовать оба. Выбранный ПЛК для этого примера работает только с Profinet. Из интерфейса Profinet вы установите IP-адрес для вашего ПЛК, этот IP должен быть уникальным в проекте; вы не можете использовать один и тот же IP для двух разных модулей. См. рисунок 4. Рисунок 4 – Интерфейс Profinet Время цикла: Это еще одно важное свойство для вашего ПЛК, как вы знаете; время цикла вашей программы будет зависеть от того, сколько кода вы написали и сколько времени потребуется ПЛК для выполнения этого кода. В свойствах времени цикла вы можете установить время мониторинга цикла, если ПЛК требуется больше этого установленного времени для выполнения программы, то ПЛК выдаст ошибку. См. рисунок 5. Из этого свойства вы также можете определить минимальное время цикла для вашего ЦП, вы можете сделать это, если вы активировали «Включить минимальное время цикла для циклических OB». Затем вы можете указать минимальное время цикла, которое вы хотите, и ПЛК отрегулирует свою производительность в соответствии с этим временем. Конечно, это время ограничено производительностью ЦП, поэтому вы не можете уменьшить это время ниже определенного предела. Рисунок 5 – Свойство времени цикла Биты системной и тактовой памяти: Биты системной памяти и биты тактовой памяти являются встроенными битами внутри ЦП, которые операционная система использует для указания определенных событий в ПЛК. Например, есть бит памяти, который изменится на TRUE только при первом сканировании, или бит памяти, который будет TRUE, если изменится состояние диагностики, также есть некоторые выделенные биты тактовой памяти, такие как бит, представляющий тактовую частоту 10 Гц, или бит, представляющий тактовую частоту 2 Гц. Эти биты могут быть очень полезны в некоторых приложениях и могут сэкономить много программного кода для получения той же функциональности. Смотрите рисунок 6. рисунок 6 – Включение битов системной и тактовой памяти Вы можете включить использование одного или обоих байтов памяти; вы также можете определить адрес этих байтов, как вы можете видеть на рисунке. Время суток: Еще одним очень важным свойством вашего ПЛК является установка времени внутри вашего ПЛК. Практически в любом проекте, который вы делаете, вам нужно знать реальное время, чтобы иметь возможность назначать определенные действия с разными датами. В предыдущей статье мы говорили о локальном и системном времени внутри ПЛК и о том, как их использовать. Это свойство ЦП позволяет вам устанавливать локальное время в нужном вам часовом поясе. Смотрите рисунок 7. Рисунок 7 – Свойство локального времени Защита и безопасность: С помощью этого свойства вы можете определить уровень доступа и защиту паролем для вашего ПЛК. См. рисунок 8. Рисунок 8 – Свойство защиты и безопасности Упомянутые ранее свойства являются наиболее часто настраиваемыми свойствами практически для любого проекта ПЛК, который вы бы сделали. Есть некоторые другие свойства, которые вряд ли будут использоваться с простыми программами, такими как веб-серверы и OPC UA. Следующий шаг в конфигурации оборудования вашего проекта – это настройка IO. Конфигурация оборудования IO: Еще один важный шаг вашего проекта – это настройка IO, что означает решение о том, сколько модулей IO вам нужно и какие модули IO вам нужны. Принимая решение о ваших IO, вы должны учитывать некоторые ключевые моменты, такие как наличие некоторых запасных точек IO и выбор модулей IO, которые подходят для входных датчиков и выходных исполнительных механизмов внутри вашего проекта. См. рисунок 9. Рисунок 9 – Добавление модуля аналогового ввода Как мы уже упоминали в нашем примере проекта, у нас есть 4 термопары, используемые в качестве аналоговых входов для моего ПЛК, поэтому мне нужно добавить модуль аналогового ввода как минимум с 4 входными каналами, поскольку выбранный ПЛК имеет только 2 аналоговых входных канала. Другое дело, что термопара — это особый тип аналогового ввода, для которого требуется выделенный входной модуль. Вот почему мы выбрали модуль AI 8xTC, который имеет 8 входных каналов, выделенных для использования с термопарами; мы выбираем 8-канальный модуль и 4, чтобы иметь запасные каналы для будущего использования в случае, если нам понадобится расширить наш проект. Если вы перейдете к свойствам модуля AI 8xTC, вы увидите, что вы можете настроить каждый входной канал индивидуально, вы можете выбрать тип термопары, шкалу измерения и другие свойства. См. рисунок 10. Рисунок 10 – Настройка модуля ввода Далее вам нужно будет определить теги ввода-вывода и назначить каждый вход или выход, который у вас есть, правильной точке ввода-вывода в вашем ПЛК или в модулях ввода-вывода. См. рисунок 11. Рисунок 11 – Назначение тегов ввода Затем вы продолжаете назначать остальные теги входов и выходов, см. рисунки 12 и 13. Рисунок 12 – Назначение тегов ввода для ПЛК Рисунок 13 – Назначение тегов вывода вашему проекту Конфигурация ЧМИ Вашему проекту ПЛК, вероятно, понадобится ЧМИ, после выбора ЧМИ вы можете создать различные конфигурации. В этой статье мы покажем только, как настроить связь между ЧМИ и ПЛК. Как вы видите на предыдущем рисунке, вы выбираете ЧМИ, добавляя новое устройство, а затем выбираете ЧМИ. Смотрите рисунок 14. Рисунок 14 — Выбор ЧМИ Существуют разные способы настройки связи между ЧМИ и ПЛК, но самый простой способ — через страницу просмотра сети. Смотрите рисунок 15. Рисунок 15 — Настройка соединения ЧМИ Внутри страницы просмотра сети вы можете настроить соединение между ЧМИ и ПЛК, просто щелкнув на маленьком зеленом квадрате, представляющем Profinet, из ЧМИ и перетащив его на ПЛК. Затем TIA Portal нарисует зеленую линию между двумя модулями и автоматически предоставит ЧМИ IP-адрес для настройки связи между ними. Заключение Конфигурация оборудования — очень важный этап любого проекта ПЛК. Правильная конфигурация оборудования вашего ПЛК обеспечит выполнение необходимых функций проекта. Конфигурации оборудования включают выбор модулей ввода-вывода, включение или отключение определенных свойств ЦП и настройку различных устройств, таких как ЧМИ, с вашим ПЛК.
  13. Сименс – известная многонациональная компания, работающая в различных отраслях, включая энергетику, здравоохранение, транспорт и промышленную автоматизацию. Сименс была основана в 1847 году и с тех пор превратилась в глобальную корпорацию с операциями во многих странах. Сименс известна своими инновационными продуктами и услугами, и она была признана одной из самых устойчивых компаний в мире. В этой статье мы дадим обзор ПЛК Сименс, который составляет очень небольшую часть различных продуктов Сименс в секторе промышленной автоматизации. Содержание: Сименс в промышленной автоматизации. Сименс Различные семейства ПЛК. Обзор ПЛК Сименс S7. Simatic S7-1200. Simatic S7-1500. Simatic S7-300. Simatic S7-400. Simatic S7-ET 200 CPU Почему существует так много разных моделей? Как решить, какой тип ПЛК S7 лучше всего подходит для моего приложения? Заключение. Сименс в промышленной автоматизации Сименс является лидером в области промышленной автоматизации и известна своими высококачественными продуктами и решениями. Компания предлагает широкий спектр продуктов промышленной автоматизации, включая программируемые логические контроллеры (ПЛК), человеко-машинные интерфейсы (HMI), частотно-регулируемые приводы (VFD) и промышленные коммуникационные сети. Сименс также предоставляет программные решения для промышленной автоматизации, такие как Totally Integrated Automation TIA Portal, представляющий собой инженерную структуру, которая объединяет все программные инструменты автоматизации на одной платформе. Кроме того, Сименс разработала собственную платформу промышленного Интернета вещей (IIoT) под названием MindSphere, которая позволяет собирать и анализировать данные с подключенных устройств в промышленных средах. Сименс Различные семейства ПЛК Компания Сименс разработала два основных семейства ПЛК: Семейство ПЛК Simatic S5 Семейство ПЛК Simatic S7 Серия Simatic S5 была предыдущим поколением ПЛК Сименс, и она все еще используется в некоторых старых промышленных системах. Но больше не производится. Серия Simatic S7 — это текущая серия ПЛК Сименс. Она предлагает широкий спектр ЦП с различными уровнями производительности и функциональности для удовлетворения различных потребностей в автоматизации. Серия S7 известна своей надежностью, прочностью и гибкостью и широко используется в таких отраслях, как автомобилестроение, производство продуктов питания и напитков, а также фармацевтика. Обзор ПЛК Сименс S7 Поколение ПЛК Сименс S7 предлагает широкий спектр ЦП с различными уровнями производительности и функциональности для удовлетворения потребностей различных процессов промышленной автоматизации. Эти ЦП будут принадлежать к одному из следующих подсемейств: Simatic S7-1200 Simatic S7-1200 — это компактный ПЛК, разработанный для малых и средних приложений. Он предлагает гибкое и экономичное решение для автоматизации благодаря своей компактной конструкции, интегрированным возможностям связи и программирования. Simatic S7-1500 Simatic S7-1500 — это высокопроизводительный ПЛК, разработанный для средних и крупных приложений. Он предлагает расширенные функции, такие как управление движением, безопасность и защита, что делает его подходящим для сложных задач автоматизации. Simatic S7-300 Simatic S7-300 — это модульный ПЛК, который можно легко адаптировать к широкому спектру приложений. Он предлагает высокую вычислительную мощность, обширные возможности связи и широкий спектр модулей ввода-вывода, что делает его популярным выбором для многих отраслей промышленности. Simatic S7-400 Simatic S7-400 — это высокопроизводительный ПЛК, разработанный для требовательных приложений, которым требуется высокая вычислительная мощность и обширные возможности связи. Он предлагает большое количество модулей ввода-вывода, возможности резервирования и расширенную диагностику, что делает его подходящим для сложных задач автоматизации. Simatic S7-ET 200SP Simatic S7-ET 200SP — это компактная система удаленного ввода-вывода, которая может быть легко интегрирована с другими ПЛК Simatic S7. Он предлагает высокую степень гибкости, масштабируемости и модульности, что делает его подходящим для различных приложений автоматизации. Когда вы создаете новый проект в TIA Portal и пытаетесь добавить новое устройство, вы можете найти все доступные и поддерживаемые ЦП из разных семейств S7. См. рисунок 1. Рисунок 1 – Различные ПЛК доступны в поколении Simatic S7 ПЛК S7-1200 Simatic S7-1200 — это универсальный и экономичный ПЛК, который предлагает ряд моделей для удовлетворения различных потребностей автоматизации, что делает его популярным выбором для малых и средних приложений. Вот обзор различных моделей серии S7-1200: ЦП Simatic S7-1200: Это стандартные ЦП серии S7-1200, и они поставляются в различных версиях, включая ЦП 1211C, ЦП 1212C, ЦП 1214C, ЦП 1215C и ЦП 1217C. Они предлагают более расширенную функциональность, чем базовые контроллеры, включая встроенные интерфейсы связи и дополнительные опции ввода-вывода. Они также выпускаются в разных версиях, включая DC/DC/DC, DC/DC/RLY, AC/DC/RLY и AC/DC/TC. Они имеют ограниченную функциональность, но идеально подходят для простых задач управления. Simatic S7-1200 Safety Integrated: Это сертифицированная по безопасности версия S7-1200, которая включает функции безопасности, такие как входы безопасности, выходы безопасности и безопасную связь, для повышения безопасности системы автоматизации. Simatic S7-1200 SIPLUS: Это защищенная версия S7-1200, которая предназначена для работы в суровых условиях с экстремальными температурами, влажностью и вибрацией. См. рисунок 2 для различных моделей S7-1200. Рисунок 2 – Различные модели ЦП S7-1200 ПЛК S7-1500 Simatic S7-1500 — это мощный ПЛК, который предлагает ряд моделей для удовлетворения различных потребностей автоматизации, что делает его популярным выбором для требовательных приложений. Вот обзор различных моделей серии S7-1500: Simatic S7-1500 Стандартные ЦП: Это стандартные ЦП серии S7-1500, и они поставляются в разных версиях, включая CPU 1511-1 PN, CPU 1513-1 PN, CPU 1515-2 PN и CPU 1518-4 PN. Они предлагают высокоскоростную обработку и расширенные возможности связи, такие как Profinet, Profibus и Industrial Ethernet. Simatic S7-1500 Safety Integrated: Это сертифицированная по безопасности версия S7-1500, которая включает функции, связанные с безопасностью, такие как входы безопасности, выходы безопасности и безопасную связь, для повышения безопасности системы автоматизации. Контроллеры Simatic S7-1500 Advanced: Это расширенные версии S7-1500, которые предлагают дополнительные функции, такие как управление движением, высокоскоростной подсчет и расширенные возможности связи. Simatic S7-1500 T-CPU: Это расширенная версия процессоров S7-1500, которые имеют расширенные функции управления движением, такие как кинематические функции и функции зубчатой передачи и кулачкового механизма. Simatic S7-1500 TM NPU: Это нейронный процессор (NPU), который разработан для приложений машинного обучения и искусственного интеллекта (ИИ), таких как предиктивное обслуживание, контроль качества и оптимизация процессов. См. рисунок 3 для различных моделей S7-1500. Рисунок 3 – Различные модели S7-1500 ПЛК S7-300 ЦП Simatic S7-300: Это стандартные ЦП в серии S7-300, и они поставляются в разных версиях, включая ЦП 312C, ЦП 313C, ЦП 314C, ЦП 315-2DP, ЦП 317-2DP и ЦП 319-3PN/DP. Они предлагают высокую вычислительную мощность, расширенные возможности связи и широкий спектр возможностей ввода-вывода. ЦП Simatic S7-300 Fail-Safe: Это сертифицированные по безопасности версии ЦП S7-300, которые включают функции, связанные с безопасностью, такие как входы безопасности, выходы безопасности и безопасную связь, для повышения безопасности системы автоматизации. Компактные процессоры Simatic S7-300: Это компактные версии процессоров S7-300, которые предлагают уменьшенный размер и энергопотребление, что делает их идеальными для приложений с ограниченным пространством и источником питания. Процессоры Simatic S7-300 Technology: Это специализированные процессоры, которые разработаны для определенных приложений автоматизации, таких как управление движением, регулирование температуры и управление процессами. Распределенные контроллеры Simatic S7-300: Это модульные контроллеры, которые предлагают распределенные возможности ввода-вывода и связи, что делает их идеальными для приложений, требующих распределенной автоматизации. См. рисунок 4 для различных моделей S7-300. Рисунок 4 – Различные модели S7-300 ПЛК S7-400 ЦП Simatic S7-400: Это стандартные ЦП в серии S7-400, и они поставляются в разных версиях, включая ЦП 412-1, ЦП 414-1, ЦП 414-2, ЦП 416-2 и ЦП 417-4. Они предлагают высокую вычислительную мощность, расширенные возможности связи и широкий спектр возможностей ввода-вывода. ЦП Simatic S7-400H: Это высокодоступные ЦП, которые предлагают возможности резервирования для повышения доступности и надежности системы автоматизации. ЦП Simatic S7-400F/FH: Это сертифицированные по безопасности ЦП, которые включают функции, связанные с безопасностью, такие как входы безопасности, выходы безопасности и безопасную связь, для повышения безопасности системы автоматизации. Распределенные контроллеры Simatic S7-400: Это модульные контроллеры, которые предлагают распределенные возможности ввода-вывода и связи, что делает их идеальными для приложений, требующих распределенной автоматизации. См. рисунок 5 для различных моделей S7-400. Рисунок 5 – Различные модели S7-400 ПЛК Simatic S7-ET 200 Процессоры Simatic S7-ET 200: Это стандартные процессоры в серии S7-ET 200, и они поставляются в различных версиях, включая CPU 1511C-1 PN, CPU 1513-1 PN и CPU 1515-2 PN. Они предлагают высокую вычислительную мощность, расширенные возможности связи и широкий спектр возможностей ввода-вывода. Процессоры Simatic S7-ET 200F: Это сертифицированные по безопасности процессоры, которые включают функции, связанные с безопасностью, такие как входы безопасности, выходы безопасности и безопасная связь, для повышения безопасности системы автоматизации. Процессоры Simatic S7-ET 200SP: Это компактные процессоры, которые предлагают уменьшенный размер и энергопотребление, что делает их идеальными для приложений с ограниченным пространством и источником питания. См. рисунок 6 для различных моделей S7-ET200. Рисунок 6 – Различные модели S7-ET200 Почему существует так много различных моделей? Существует множество различных моделей ПЛК Сименс S7, которые предоставляют клиентам широкий спектр опций и функций на выбор, позволяя им выбрать ПЛК, который наилучшим образом соответствует их конкретным потребностям в автоматизации. Различные модели предлагают различные функции, вычислительную мощность, память, параметры связи и возможности ввода-вывода. Некоторые модели предназначены для определенных приложений, таких как управление движением, регулирование температуры и управление процессами, другие предназначены для систем автоматизации общего назначения. Кроме того, по мере развития технологий и возникновения новых требований к автоматизации Сименс продолжает разрабатывать и выпускать новые модели и версии ПЛК S7 с улучшенными функциями и возможностями, предоставляя клиентам новейшие технологии автоматизации, чтобы помочь им повысить производительность, сократить расходы и улучшить производительность их систем. Как решить, какой тип ПЛК S7 лучше всего подходит для моего приложения? Выбор правильного типа ПЛК S7 для вашего приложения требует тщательного рассмотрения нескольких факторов. Вот несколько общих шагов, которые помогут вам решить, какой тип ПЛК S7 лучше всего подходит для вашего приложения: Определите размер и сложность вашей системы автоматизации: Если у вас большая и сложная система автоматизации, вам может понадобиться высокопроизводительный ПЛК, такой как S7-400 или S7-1500, который может обрабатывать большое количество точек ввода-вывода и расширенные возможности связи. Если ваша система меньше и менее сложна, может быть достаточно меньшего ПЛК, такого как S7-1200 или S7-300. Определите требуемые типы и количество вводов-выводов: Каждый ПЛК S7 имеет разный диапазон опций ввода-вывода и емкость. Вам необходимо определить тип и количество точек ввода-вывода, которые вам нужны для вашего приложения, и выбрать ПЛК, который может их поддерживать. Учитывайте требуемую скорость обработки и производительность: Различные ПЛК S7 имеют разные скорости обработки и возможности производительности. Вам необходимо определить требуемую скорость обработки и выбрать ПЛК, который может удовлетворить ваши требования к производительности. Оцените требуемые параметры связи: Различные ПЛК S7 предлагают различные параметры связи, такие как Ethernet, Profibus, Profinet и AS-i. Вам необходимо определить требуемые протоколы связи для вашего приложения и выбрать ПЛК, который может их поддерживать. Учитывайте требуемые функции безопасности: Если для вашего приложения требуются функции безопасности, такие как входы безопасности, выходы безопасности и безопасная связь, вам может понадобиться сертифицированный по безопасности ПЛК, такой как S7-1500F или S7-400F. Заключение Сименс предлагает широкий спектр продуктов промышленной автоматизации, включая различные модели ПЛК с различными функциональными возможностями и производительностью, включая ЦП S7-1200, S7-1500, S7-300 и S7-400. Множество различных моделей ПЛК Сименс S7 предоставляют клиентам широкий выбор опций и функций на выбор. При выборе модели ПЛК, которая наилучшим образом соответствует вашему процессу, необходимо учесть ряд моментов, среди которых — количество вводов-выводов, требования безопасности и параметры связи.
  14. Это программа ПЛК для работы пневматического клапана в последовательном режиме. Последовательное программирование ПЛК для пневматических клапанов Напишите релейную логику для последовательного программирования ПЛК для пневматических клапанов, чтобы управлять цилиндрами в последовательном режиме. Решение: В этой системе есть два цилиндра и две кнопки, которые подключены к ПЛК. Кнопки подключены к входам ПЛК, а цилиндры подключены к выходам ПЛК. Для работы системы существуют следующие условия: – При нажатии START PB цилиндр A должен запуститься, а цилиндр B должен запуститься через 5 секунд после цилиндра A. При нажатии STOP PB оба цилиндра A и B должны быть остановлены. Теперь, чтобы выполнить следующие условия, мы должны использовать таймер, который задерживает работу цилиндра B. Список входов/выходов Входы: X1 - START PB X2 - STOP PB Выходы: Y0 - Цилиндр A Y1 - Цилиндр B Релейная диаграмма последовательной работы цилиндров Пояснение программы: В звене 1 мы использовали STRAT PB (X1) для запуска цилиндра A (Y0). Здесь мы использовали NC контакт STOP PB (X2) для остановки цилиндра A (Y0). Параллельно с контактом X1 мы использовали NO контакт Y0 для защелкивания выхода. В звене 2 мы использовали таймер T0 для подсчета задержки для цилиндра B (Y1). В звене 3 мы использовали нормально разомкнутый контакт T0, поэтому после истечения времени задержки цилиндр B (Y1) включится.
  15. В этой статье мы узнаем, как читать паспорт ПЛК и важные замечания о спецификациях ПЛК, которые полезны для инженеров по автоматизации. Также мы поговорим о том, какая различная информация предоставляется в паспорте ПЛК, и как она может быть полезна мне как программисту или инженеру по установке. Содержание: Какую информацию предоставляет паспорт? Примеры информации в паспорте ПЛК Номинальный ток и напряжение Память ПЛК Различные блоки и области данных, адресованные Характеристики входов и выходов Интерфейсы и протоколы связи Условия окружающей среды Важные замечания по чтению паспорта. Какую информацию предоставляет паспорт? Паспорт ПЛК предоставит вам много информации; эта информация будет охватывать почти все функции, которые может предоставить ПЛК. Но часть этой информации будет не так важна для вас, как другая, это зависит от того, какова ваша область применения ПЛК. Если вы инженер по установке, то вы сосредоточитесь на технических характеристиках ПЛК, таких как напряжение питания, тип входов и выходов и номинальная мощность этих точек ввода-вывода. Вы также уделите больше внимания размеру ПЛК и условиям окружающей среды во время работы ПЛК, чтобы определить размер электрической панели, которую вы будете использовать для ПЛК, а также методы охлаждения, используемые для ПЛК. Как читать техническое описание ПЛК? С другой стороны, если вы просто программист ПЛК, то предыдущая информация может быть не столь критична для вас, вместо этого вы сосредоточитесь на данных, связанных, например, с памятью ПЛК, количеством доступных входов-выходов и возможностью добавления новых модулей. Вы также обратите внимание на некоторую другую информацию, такую как языки программирования, поддерживаемые этим ПЛК, поскольку не все ПЛК поддерживают все языки программирования. Связь и сетевое взаимодействие также являются другими важными моментами, которые вас как программиста будут интересовать. Техническое описание ПЛК всегда начинается с общего обзорного описания ПЛК. См. рисунки 1 и 2 для простых примеров S7-1200 и S7-1500. Рисунок 1 – 1-я страница листа данных ПЛК S7-1500. Рисунок 2 – 1-я страница листа данных ПЛК S7-1200. Как вы видите, общее описание ПЛК дано в начале листа данных. Это общее описание даст вам базовое представление о ПЛК и о том, подходит ли он для вашего приложения или нет. Примеры информации в листе данных ПЛК В этой статье мы будем использовать лист данных ПЛК S7-1200, чтобы показать некоторую различную информацию, которую он содержит. Номинальные значения тока и напряжения В определенном разделе паспорта должна быть некоторая информация о номинальных значениях напряжения и тока ПЛК, некоторым ПЛК потребуется источник постоянного тока, а другим — переменного тока, также входы и выходы ПЛК могут иметь разные номинальные значения, что как раз и происходит в нашем ПЛК, где напряжение питания ПЛК составляет 220 В переменного тока, но номинальные значения для входов/выходов — постоянный ток. См. рисунок 3. Рисунок 3 — Номинальные значения напряжения и тока. Память ПЛК В паспорте будут указаны различные возможности памяти ПЛК, это покажет, какой объем рабочей памяти у вас есть и можете ли вы ее расширить или нет, см. рисунок 4. Рисунок 4 — Описание памяти ПЛК. Различные блоки и адресация областей данных В этом разделе вы узнаете о различных блоках, которые вы можете использовать с вашим ПЛК, таких как таймеры, счетчики, FC и т. д. И максимальное количество блоков, которые вы можете использовать. Вам также будет предоставлена память областей данных и их сохраняемость. См. рисунок 5. Рисунок 5 — Доступны блоки ЦП. Характеристики входов и выходов Это еще одни важные данные, которые следует предоставить, с помощью этой информации вы узнаете количество входов/выходов, предоставленных вашим ПЛК, и как подключить и использовать каждый вход/выход. См. рисунки 6 и 7. Рисунок 6 — Цифровые входы ПЛК. Как вы можете видеть, у нас есть 8 точек DI в нашем ПЛК, 6 из которых могут использоваться для входов HSC (высокоскоростной подсчет), таких как энкодеры. Также сообщается, что входное напряжение составляет 24 В постоянного тока, что означает, что вы не можете напрямую подключать датчики переменного тока входов к ПЛК. Рисунок 7 — Цифровые выходы доступны в нашем ПЛК. Если ПЛК имеет аналоговые входы/выходы, то это также будет указано в техническом описании. См. рисунок 8 Рисунок 8 — Описание аналоговых входов/выходов. Интерфейсы и протоколы связи Интерфейсы связи, доступные в вашем ПЛК, а также поддерживаемые им протоколы связи также будут указаны в техническом описании. См. рисунок 9. Рисунок 9 — Интерфейс связи ПЛК. Как вы видите, у нашего ПЛК есть только один интерфейс связи, который представляет собой интерфейс PROFINET, представленный в виде порта RJ-45. Однако сам ПЛК может поддерживать множество протоколов связи, таких как PROFIBUS и AS-Interface. См. рисунок 10. Рисунок 10 – Поддерживаемые протоколы связи. Условия окружающей среды Это еще одна очень важная информация, которую вам следует знать о вашем ПЛК, поскольку она поможет вам определиться с типом корпуса и охлаждения, которые лучше всего подойдут для вашего ПЛК. См. рисунок 11. Рисунок 11 – Условия окружающей среды ПЛК. Важные замечания по чтению паспорта ПЛК Не все паспорта ПЛК содержат одинаковую информацию, поскольку разные ПЛК будут иметь разные функции и возможности, а значит, и разную информацию для отображения. Не вся информация внутри паспорта будет важна для вас, это будет зависеть от того, являетесь ли вы программистом ПЛК или инженером по установке, как мы уже упоминали ранее. Ничего страшного, если вы не понимаете часть информации в паспорте, как мы уже говорили, паспорт предоставит информацию почти обо всех функциях, поддерживаемых вашим ПЛК, вы можете не знать о некоторых из этих функций и, возможно, вам даже никогда не понадобится их использовать. Например, OPC UA или функции веб-сервера. Поэтому если вы найдете какие-то данные, которые вам непонятны, это не обязательно будет означать, что ваш ПЛК не подходит для вашего проекта. Заключение Чтение спецификации ПЛК важно для того, чтобы решить, подходит ли ПЛК для вашего приложения или нет. Также важно решить, с какими типами входов-выходов и номиналами напряжения питания вы можете работать. Попробуйте прочитать спецификацию различных моделей ПЛК и посмотрите, сможете ли вы понять основную информацию, представленную в спецификации.
  16. Существует множество способов, с помощью которых ПЛК могут общаться и взаимодействовать друг с другом, в этой статье мы поговорим об одном из этих методов, а именно о том, как установить Siemens Communication между ПЛК с использованием функции i-device для передачи данных от ПЛК к ПЛК. Что такое функция I-Device? Функцию I-Device можно использовать для очень простого обмена данными между двумя ПЛК. I-Device — это просто ПЛК, который используется как устройство ввода-вывода. Это означает, что ПЛК будет действовать как модуль ввода-вывода, предоставляя входы и получая выходы с другим ПЛК. Функция I-device позволяет PROFINET взаимодействовать не только с подчиненными устройствами, такими как контроллеры ввода-вывода, но и с другими контроллерами более высокого уровня или центральными контроллерами в качестве устройства ввода-вывода. Siemens Communications between ПЛКs Большинство ПЛК семейства S7 поддерживают функцию I-Device, но некоторые контроллеры не поддерживают ее в зависимости от версии прошивки, например: S7-300 (с версии прошивки V3.2) S7-1200 (с версии прошивки V4) Вы можете просто узнать, есть ли у вашего контроллера функция I-device или нет, зайдя в свойства интерфейса PROFINET вашего ПЛК и проверив опцию «рабочий режим». См. рисунки 1a и 1b. рисунок 1a. ПЛК не поддерживает I-device На рисунке мы не видим опцию «рабочий режим», поэтому мы знаем, что ПЛК не поддерживает функцию I-device. Рисунок 1b. ПЛК поддерживает функцию I-device Как видно из рисунка, этот ПЛК поддерживает функцию I-device. ПЛК с конфигурацией «Интеллектуальное устройство ввода-вывода» называется I-Device. I-Device похоже на стандартное устройство ввода-вывода и должно обрабатываться как таковое. Это означает, что I-Device также подключено к контроллеру ввода-вывода более высокого уровня. Таким образом, I-Device будет действовать как модуль ввода-вывода, но это также все еще ПЛК, поэтому он все еще действует как контроллер, если вы этого хотите. Концепция обмена данными Руководящий принцип метода I-Device заключается в использовании известного образа процесса в ЦП. С точки зрения контроллера ввода-вывода более высокого уровня, связь с I-Device похожа на связь с распределенным вводом-выводом с обычными процессами чтения и записи на входах и выходах. С точки зрения I-Device, передача данных на контроллер ввода-вывода более высокого уровня также аналогична передаче данных на локальный или назначенный распределенный ввод-вывод через входы и выходы. Варианты конфигурации I-устройства Существует две возможности конфигурации: Настройка I-устройства в проекте. Настройка I-устройства, используемого в другом проекте При настройке I-устройства для другого проекта STEP 7 позволяет сделать это путем экспорта настроенного I-устройства в файл GSD. Файл GSD можно импортировать в другой проект или другую инженерную систему, как и другие файлы GSD. Это позволяет не только осуществлять связь внутри проекта, но и связь между проектами и обмениваться данными между различными производителями проверенным и испытанным способом. Мы покажем это в другой статье. В этой статье мы покажем конфигурацию I-устройства в одном проекте ПЛК Siemens. Конфигурация I-устройства в одном проекте ПЛК Мы предположим, что в нашем проекте есть два ПЛК, CPU 1516-3 PN/DP, который будет действовать как контроллер в этой конфигурации, и CPU 1214C, который будет действовать как I-устройство. Начните с добавления двух ПЛК в ваш проект TIA Portal и настройте соединение Profinet между ними. Смотрите рисунок 2. рисунок 2. Настройте соединение между двумя ПЛК. Теперь нам нужно настроить ПЛК CPU 1214C как I-устройство. Это можно сделать, перейдя в свойства интерфейса Profinet и в опции режима работы нажав на опцию устройства ввода-вывода. Смотрите рисунок 3. рисунок 3. Выберите устройство ввода-вывода. После этого вам нужно назначить I-устройство контроллеру более высокого уровня, которым в нашем проекте является ПЛК CPU 1516-3 PN/DP. Для этого просто выберите этот ПЛК из раскрывающегося списка Назначенный контроллер ввода-вывода. Смотрите рисунок 4. рисунок 4. Назначьте I-устройство контроллеру. После этого I-устройство теперь подключено и назначено контроллеру ПЛК. Смотрите рисунок 5. рисунок 5. I-устройство назначено контроллеру ПЛК. Следующий шаг — обмен данными между I-устройством и контроллером с помощью так называемых областей передачи. Создание области передачи Области передачи — это области ввода-вывода, которые используются для обмена данными между I-устройством и контроллером ввода-вывода более высокого уровня. Перейдите в раздел «Связь I-устройства». Щелкните первое поле столбца «Области передачи». TIA Portal создаст предопределенное имя, которое вы можете изменить. Как вы можете видеть на рисунке 6. рисунок 6. Создание области передачи Выберите тип связи: в настоящее время можно выбрать только CD. См. рисунок 7. Рисунок 7. Выберите вариант связи CD. После выбора опции CD будет создана область передачи, а также автоматически созданы адреса контроллера ввода-вывода и I-устройства. См. рисунок 8. Рисунок 8. Область передачи создана. Адреса предварительно назначаются автоматически, при необходимости вы можете настроить адреса в соответствии со своей средой и указать длину области передачи для последовательной передачи. Чтобы создать другую область передачи, как и прежде, просто нажмите «добавить новую», см. рисунок 9. рисунок 9. Добавить новую область передачи. Как мы уже говорили, обмен данными основан на простой концепции образа обработки, что означает, что вы всегда отправляете выход и получаете вход. Также обратите внимание, что стрелка, которую вы видите на предыдущем рисунке, указывает поток информации между I-устройством и контроллером. Итак, если я отправлю данные с контроллера на I-устройство, то стрелка будет направлена от контроллера к I-устройству, и адрес контроллера будет выводом, а адрес I-устройства будет вводом и наоборот, как вы можете видеть на предыдущем рисунке. Также помните, что всегда лучше переименовывать области передачи на правильные указывающие имена. Смотрите рисунок 10. Рисунок 10. Переименуйте области передачи. Загрузка проекта ПЛК Чтобы загрузить данные проекта ПЛК, выберите оба контроллера один за другим в навигации проекта и загрузите проект в соответствующий модуль. Обратите внимание, что, поскольку у нас нет реальных аппаратных устройств, мы не можем смоделировать эту функцию.
  17. Проект модернизации ПЛК включает обновление или замену старой системы ПЛК (программируемый логический контроллер) на более новую и более продвинутую версию. Это делается для повышения производительности, добавления новых функций или поддержания совместимости с современными технологиями, при этом минимизируя необходимость полной замены существующего оборудования. Проект модернизации ПЛК Когда вы работаете в любой системе, будь то промышленная автоматизация или что-то еще, не всегда необходимо вводить в эксплуатацию полностью новый завод. Бывают случаи, когда старый завод не работает должным образом в соответствии с желаемыми результатами. Это означает не всю систему, а только некоторые ее части. Это может быть система ПЛК, электрическая система или механическая система. Вместо того, чтобы менять всю систему, лучше заменить только эту часть на новую. Остальные системы будут поддерживаться в том виде, в котором они есть. Это называется модернизацией. Это очень важный аспект для инженеров, которому нужно научиться. В этой статье мы рассмотрим шаги, связанные с модернизацией системы ПЛК. Зачем нужна модернизация ПЛК? Когда у вас есть система ПЛК, вы обязательно окажетесь в состоянии, когда она иногда будет выходить из строя. Это естественное соображение для любой системы (не только ПЛК), и это не означает, что система ПЛК выходит из строя каждый раз. Это наихудший сценарий, рассматриваемый в картине. Теперь, за исключением ПЛК, остальные системы электрооборудования и механики работают нормально. Распространенными причинами необходимости замены системы ПЛК являются: повторяющиеся ошибки в логике, устаревший ПЛК, который вышел из строя и больше не доступен на рынке, повторяющиеся сбои прошивки или оборудования в ПЛК и отсутствие доступного обслуживания. В этих случаях вместо замены всей системы лучшим вариантом будет заменить только систему ПЛК. Это называется работой по модернизации ПЛК. По сути, вы либо обновляете ПЛК на новый, либо полностью заменяете его на новый бренд. Это снижает затраты, не влияет на исходную рабочую установку, экономит время и повышает надежность. В принципе, логика работы завода останется прежней; вы просто заменяете его новым оборудованием и запускаете завод. Процедура проекта модернизации ПЛК Самым первым шагом является изучение чертежа панели управления ПЛК. У каждого ПЛК своя собственная версия проводки, а также концепция «приемник-источник». Поэтому сначала необходимо понять исходную проводку. Это поможет вам подготовить новый список ввода-вывода в соответствии с вашим текущим ПЛК. Потому что, если вы слепо будете следовать тому же списку IP-адресов, вы в основном столкнетесь с проблемами проводки на месте при установке нового ПЛК По возможности получите старую программу. Если это невозможно, то разработайте новую логику в офисе перед выездом на место. Кроме того, протестируйте логику с заказчиком или, в лучшем случае, с конечным клиентом. Конечный клиент поможет больше всего, потому что он работал со старой системой ПЛК и может помочь в быстром решении вопросов. Заказчик может помочь в глубокой проверке процесса. Если программа будет протестирована перед выездом на место, это значительно сократит ваше время на месте. Попробуйте сопоставить экраны и разработать графику, как она есть, со старыми работающими. Это поможет операторам управлять заводом более легко, как они привыкли. Как только ваша логика и графика будут готовы, спланируйте место с электромонтером. Электромонтер сначала заменит старый ПЛК на новый, а затем перепроверит все точки с помощью мультиметра. Это необходимо для того, чтобы убедиться, что все точки были подключены или нет в соответствии с новой проводкой. Важно отметить, что модернизация требует надлежащего отключения, поэтому убедитесь в этом перед планированием посещения объекта. После проверки проводки без питания включите систему и загрузите последние программы в ПЛК и графику. Теперь, прежде всего, вам нужно проверить входы/выходы. Это очень важный шаг, потому что вы заменяете старую проводку на новую. Все входы/выходы на месте должны реагировать так же, как и раньше. Без этого вы не сможете запустить завод в автоматическом или ручном режиме. Теперь проверьте написанную логику и посмотрите, выполняется ли она в соответствии с предыдущей системой или нет. Все защитные блокировки, разрешающие условия, последовательности и другая логика должны работать так же, как и старая система. Это должно быть одобрено как заказчиком, так и конечным клиентом для проверки и упоминания в отчете, если все работает правильно. Составьте все окончательные отчеты, сохраните окончательную резервную копию и сделайте фотографии и видео работающей системы. Это гарантирует завершение отчета по проекту модернизации ПЛК, который вы выполнили. Краткое изложение проекта ПЛК Оцените существующую систему ПЛК, определите потребности в модернизации и определите цели проекта, объем и ограничения. Разработайте подробный план новой системы, обеспечив интеграцию с существующим оборудованием и сетью, и разработайте стратегию миграции. Сделайте резервную копию всех программ, данных и документации из текущей системы и подготовьте план восстановления. Приобретите новый ПЛК и любое дополнительное оборудование, обеспечив совместимость и доступность. Подготовьте место установки с необходимыми мерами безопасности и запланируйте время простоя, если это необходимо. Выведите из эксплуатации старую систему ПЛК и установите новый ПЛК и связанное с ним оборудование. Перенесите или перепишите логику программы на новый ПЛК, протестировав все функции и связь. Проведите комплексное тестирование новой системы, проверьте производительность и внесите необходимые корректировки. Обучите персонал работе с новой системой и ее обслуживанию, а также обновите или создайте системную документацию. Официально переключитесь на новую систему ПЛК, внимательно следите за проблемами и оказывайте необходимую поддержку. Проведите обзор после внедрения, чтобы оценить успех, задокументировать извлеченные уроки и спланировать будущее обслуживание или модернизацию.
  18. В последних статьях мы обсуждали, как установить соединение между двумя ПЛК с помощью блоков TCON и TDISCON и как перемещать данные между ними с помощью блоков TSEND и TRCV. Передача данных между системами ПЛК В этой статье мы изучим новую инструкцию, которую можно использовать для связи и передачи данных между системами ПЛК с помощью блоков TSEND_C и TRCV_C. TSEND_C Инструкция TSEND_C — это инструкция TIA Portal, которая используется для настройки и установления соединения между двумя ПЛК. После настройки и установки соединения оно будет автоматически поддерживаться и контролироваться ПЛК. Инструкция TSEND_C выполняется асинхронно и имеет следующие функции: Настройка и установление коммуникационного соединения, аналогичного блоку TCON. Отправка данных через существующее коммуникационное соединение, аналогичное блоку TSEND. Завершение или сброс коммуникационного соединения, аналогично TDISCON. Следовательно, название «компактный» дается TSEND_C, поскольку он действует как более 3 блоков одновременно. TRCV_C Инструкция TRCV_C также является инструкцией TIA Portal, которая используется для настройки и установления соединения между двумя ПЛК. После настройки и установки соединения оно будет автоматически поддерживаться и контролироваться ПЛК. Инструкция «TRCV_C» выполняется асинхронно и последовательно реализует следующие функции: Настройка и установление коммуникационного соединения, аналогично TCON. Прием данных через существующее коммуникационное соединение, аналогично TRCV. Завершение или сброс коммуникационного соединения, аналогично TDISCON. Следовательно, название «компактный» дается TRCV_C, поскольку он действует как более 3 блоков одновременно. Использование TSEND_C и TRCV_C в нашем проекте ПЛК В последней статье, когда нам нужно было установить и перейти к отправке данных из ПЛК_1 в ПЛК_2, нам пришлось использовать три разных блока в каждом ПЛК. Смотрите рисунок 1. рисунок 1. Логика внутри ПЛК_1 Как вы можете видеть, мы использовали блоки TCON и TDISCON для установки и сброса соединения, а также использовали TSEND для отправки данных из ПЛК_1. То же самое было сделано для ПЛК_2. Смотрите рисунок 2. рисунок 2. Логика ПЛК_2 Снова мы использовали блоки TCON и TDISCON для установки и сброса соединения, а также использовали TRCV для получения данных из ПЛК_1. Теперь мы хотим заменить все эти блоки и попытаться использовать TSEND_C и TRCV_C вместо этого, чтобы достичь той же функциональности. Сначала в ПЛК_1, где нам нужно отправлять данные, мы будем использовать блок TSEND_C, просто перетащив блок внутрь основного OB1. Смотрите рисунок 3. рисунок 3. Добавьте блок TSEND_C. Поскольку TSEND_C по сути является функциональным блоком, вам будет предложено создать экземпляр данных. Смотрите рисунок 4. рисунок 4. Создайте экземпляр для TSEND_C TSEND_C похож на блок TSEND в том смысле, что вам нужно сделать некоторые настройки и добавить некоторые сигналы. См. рисунок 5. рисунок 5. Блок TSEND_C Теперь нам нужен сигнал для REQ и Data для отправки, а также для настройки соединения. Для сигнала REQ мы создали тег SendData. Кроме того, мы можем просто перетащить блок данных, который мы создали в прошлой статье, который нам нужно отправить в ПЛК_2, мы можем просто перетащить его на вход DATA блока. См. рисунок 6. рисунок 6. Конфигурация блока TSEND_C. Чтобы настроить параметр соединения для блока, мы можем нажать на небольшой значок конфигурации в верхней части блока, чтобы открыть представление конфигурации. Представление конфигурации будет выглядеть очень похоже на представление блока TCON. См. рисунок 7. рисунок 7. Параметр соединения TSEND_C Мы уже показали, как настроить параметр соединения в предыдущих статьях, поэтому мы можем просто сделать то же самое, что и с блоком TCON, см. рисунок 8. рисунок 8. Настройка параметра соединения С этой конфигурацией соединения мы завершили все настройки TSEND_C. Обратите внимание, насколько это быстрее по сравнению с настройкой блоков TCON, TDISCON и TSEND. Теперь нам нужно добавить TRCV_C в ПЛК_2, чтобы он мог получать данные, отправленные из ПЛК_1. В главном OB1 ПЛК_1 просто перетащите TRCV_C в свою логику. см. рисунок 9. Не забудьте создать экземпляр данных для блока TRCV_C. рисунок 9. Добавьте TRCV_C После добавления TRCV_C в вашу логику нам нужно его настроить. Как мы это делали с TSEND_C, нам нужно добавить сигнал для включения приема данных, а также нам нужно добавить блок данных, внутри которого мы будем сохранять данные. Смотрите рисунок 10. рисунок 10.TRCV_C Мы определили тег RecieveData как сигнал EN_R. Смотрите рисунок 11. рисунок 11. Определите тег EN_R Не забудьте снять флажок «оптимизированный доступ к блоку» блока данных, иначе блок не будет работать, как мы показали в прошлых статьях. Далее нам нужно настроить параметры соединения блока TRCV_C, как мы это делали с TSEND_C, просто помните, что неуказанный партнерский ПЛК теперь является ПЛК_1, см. рисунок 12. фото 12. Параметры соединения TRCV_C Моделирование проекта ПЛК Теперь, когда мы настроили блоки TSEND_C и TRCV_ C, мы хотим смоделировать наш проект и посмотреть, как они будут работать, но сначала мы создадим простую логику для автоматического обновления данных ПЛК_1, которые будут отправлены в ПЛК_2. См. рисунок 13. фото 13. Простая логика для автоматического обновления данных. Теперь давайте скомпилируем и запустим моделирование для нашего проекта. Первое, что вы заметите, это то, что ПЛК_1 и ПЛК_2 попытаются установить соединение сразу, потому что мы настроили TSEND_C и TRCV_C, они автоматически попытаются установить соединение. Вот почему будет соединение между двумя ПЛК. Смотрите рисунок 14. Рисунок 14. Соединение устанавливается напрямую. Как вы видите, соединение между ПЛК устанавливается напрямую, потому что параметр CONT в TSEND_C и TRCV_C установлен на TRUE, что означает, что блок автоматически попытается установить соединение с партнерским ПЛК. Мы можем поместить сюда любой управляющий сигнал для управления установлением соединения. Другое, что вы можете увидеть, это то, что REQ TSEND_C и EN_R TRCV_C установлены на FALSE, и именно поэтому не будет никаких данных, перемещаемых между ПЛК. См. рисунок 15. рисунок 15. Нет передачи данных между ПЛК. Если сигнал REQ TSEND_C установлен на значение true, ПЛК_1 попытается отправить данные, но будет ждать, пока другой ПЛК разрешит прием данных, см. рисунок 16. рисунок 16. REQ имеет значение true. Как вы можете видеть, SendData имеет значение TRUE, но данные не были отправлены, поскольку RecieveData все еще имеет значение false. ПЛК_2 будет получать данные от ПЛК_1 только тогда, когда ReceiveData имеет значение true. См. рисунок 17. рисунок 17. Данные отправляются в ПЛК_2 Как вы можете видеть, когда RecieveData имеет значение true. Данные будут отправлены из ПЛК_1 в ПЛК_2, однако вы можете видеть, что данные внутри двух ПЛК отличаются, поскольку данные ПЛК_1 автоматически изменяются в соответствии с простой логикой, которую мы создали ранее. Это означает, что сигнал EN_R позволяет передавать данные один раз, когда мне нужно снова передать данные, этот сигнал должен стать ложным, а затем снова истинным. Ознакомьтесь с прикрепленным проектом TIA Portal и посмотрите на передачу данных между ПЛК.
  19. В этой статье вы изучите пример ПЛК для управления светодиодами через переключатели и поймете объяснение релейной логики. Этот пример ПЛК предназначен для студентов-инженеров, чтобы изучить и попрактиковаться в релейной логике. Реализация той же программы ПЛК для промышленного использования будет отличаться. Пример ПЛК Разработайте релейную логику ПЛК для следующего приложения. Мы используем три переключателя для управления тремя светодиодами. Если любой 1 переключатель включен, то светодиод I будет включен. Если любые 2 переключателя включены, то светодиод II будет включен. Если все 3 переключателя включены, то светодиод III будет включен. В предыдущей статье мы обсуждали тот же пример ПЛК с использованием тумблерных переключателей, изучите логику. Входы Ниже перечислены необходимые цифровые входы. Переключатель 1: I0.0 Переключатель 2: I0.1 Переключатель 3: I0.2 Выходы Ниже перечислены необходимые цифровые выходы. Двигатель 1: Q0.0 Двигатель 2: Q0.1 Двигатель 3: Q0.2 Релейная схема для управления светодиодами через переключатели Объяснение релейной логики Для этого приложения мы использовали программное обеспечение EcoStruxure Machine Expert Basic v1.2 для программирования ПЛК. В приведенной выше программе мы использовали нормально разомкнутые контакты, а также нормально замкнутые контакты для переключателя 1 (I0.0), переключателя 2 (I0.1) и переключателя 3 (I0.2) В Rung0, когда любой 1 переключатель (нормально замкнутый контакт) включен, а другие 2 переключателя (нормально замкнутые контакты) выключены, то светодиод 1 включится. Чтобы включить светодиод 2 Rung1, любые 2 переключателя, которые являются нормально разомкнутыми контактами, должны быть включены, а другой оставшийся 1 переключатель как нормально замкнутый контакт должен быть выключен. Чтобы светодиод 3 был включен, переключатель 1, переключатель 2 и переключатель 3 в Rung2 соединены последовательно, таким образом реализуя логический вентиль И. Светодиод 3 ВКЛЮЧИТСЯ, когда все три переключателя включены. Когда любой 1 переключатель включен Сигнал проходит через переключатель 1, поскольку он находится в истинном состоянии. В состоянии «ложь» переключатель 2 и переключатель 3 также передают сигнал на выходы. Поэтому светодиод 1 будет включен. Светодиод I ВКЛЮЧИТСЯ, когда переключатель 2 включен, а переключатели 1 и 3 выключены, так как они находятся в состоянии нормально замкнутых контактов. Когда переключатель 3 включен, а другие 2 переключателя, которые являются нормально замкнутыми контактами, выключены, тогда светодиод 1 включится. Включение более одного переключателя разорвет цепь. Нормально замкнутый контакт, когда находится в состоянии «истина», не пропустит сигнал. В результате светодиод 1 будет выключен. Когда включены любые 2 переключателя Светодиод 2 ВКЛЮЧИТСЯ, когда переключатели 1, 2 включены, а переключатель 3 выключен. Переключатель 3 как нормально замкнутый контакт, в состоянии «ложь» позволит сигналу проходить через него. Когда переключатель 1 и переключатель 3 включены, а переключатель 2 выключен, светодиод 2 включится. Переключатель 2 пропустит сигнал, когда находится в состоянии «ложь». Сигнал проходит через переключатель 2 и переключатель 3, поскольку они находятся в состоянии «истина». В состоянии «ложь» переключатель 1 также передает сигнал на выходы. Поэтому светодиод 2 будет включен. Когда включено более двух входов, нормально замкнутый контакт, используемый для третьего переключателя, не замкнет цепь в состоянии «истина». Поэтому светодиод 2 будет выключен. Когда все 3 переключателя включены Когда все три переключателя ПЕРЕКЛЮЧАТЕЛЬ 1 (I0.0), ПЕРЕКЛЮЧАТЕЛЬ 2 (I0.1), ПЕРЕКЛЮЧАТЕЛЬ 3 (I0.2) включены, светодиод 3 будет включен и выключит два других выхода.
  20. Изучите пример логики ПЛК на нескольких переключателях и двигателях с помощью релейной диаграммы. Этот пример логики ПЛК подготовлен для студентов-инженеров, чтобы они могли изучить и попрактиковаться в релейной логике. Проектирование той же программы ПЛК для промышленного использования будет отличаться. Пример логики ПЛК Постановка задачи: Разработайте релейную логику ПЛК для следующего приложения. Используется четыре тумблера для управления четырьмя двигателями. Если переключатель 1 включен, то двигатель I будет включен. Если переключатель 2 включен, то двигатели I и II будут включены. Если переключатель 3 включен, то двигатели I, II и III будут включены. Если переключатель 4 включен, то двигатели I, II, III и IV будут включены. Входы ПЛК Список цифровых входов для этой логики ПЛК указан ниже. Switch 1: I0.0 Switch 2: I0.1 Switch 3: I0.2 Switch 4: I0.3 Выходы ПЛК Ниже перечислены необходимые цифровые выходы. Motor 1: Q0.0 Motor 2: Q0.1 Motor 3: Q0.2 Motor 4: Q0.3 Множественные переключатели и моторы. Релейная логика Вот логика ПЛК для данной постановки задачи. Объяснение программы В этом примере мы использовали программное обеспечение Schneider PLC для программирования. В приведенной выше программе ПЛК мы использовали нормально открытый контакт для переключателя 1 (I0.0), переключателя 2 (I0.1), переключателя 3 (I0.2) и переключателя 4 (I0.3) Переключатель 1, переключатель 2, переключатель 3 и переключатель 4 подключены параллельно для двигателя 1, таким образом реализуя логический вентиль ИЛИ. Для двигателя 2 входы переключателя 2, переключателя 3 и переключателя 4 подключены параллельно, таким образом реализуя логический вентиль ИЛИ. Переключатель 3 и переключатель 4 реализуют логический вентиль ИЛИ, т. е. подключены параллельно для двигателя 3. Только переключатель 4 подключен к двигателю 4. Чтобы двигатель 1 был включен, либо переключатель 1, либо переключатель 2, либо переключатель 3, либо переключатель 4 должны быть включены. Чтобы включить двигатель 2, либо переключатель 2, либо переключатель 3, либо переключатель 4 должны быть включены. Когда переключатель 3 или переключатель 4 включен, то двигатель 3 включится. Двигатель 4 включится, когда переключатель 4 будет включен. Результаты моделирования ПЛК Далее мы увидим результаты моделирования ПЛК с различными комбинациями входных переключателей ВКЛ и ВЫКЛ. Когда переключатель 1 включен Когда переключатель 1 включен, через него течет ток (здесь мы используем термин «Ток» в случае электрической цепи, поэтому здесь вы можете предположить, что это «Ток» или просто назвать это «Сигналом»). В результате включается двигатель 1. Другие двигатели останутся выключенными, потому что переключатель 1 не подключен к ним. Когда переключатель 2 включен Ток будет течь через переключатель 2, когда он включен, что включит двигатель 1 и двигатель 2. Это так, потому что переключатель 2 подключен только к двигателю 1 и двигателю 2. Когда переключатель 3 включен Когда переключатель 3 включен, через него протекает ток, который включит три двигателя, т. е. двигатель 1, двигатель 2 и двигатель 3. Входной переключатель 3 подключен только к этим выходам. Двигатель 4 останется выключенным, поскольку переключатель 3 к нему не подключен. Когда переключатель 4 включен Переключатель 4 включит все двигатели при включении. Переключатель 4 подключен ко всем двигателям, при включении включатся двигатель 2, двигатель 2, двигатель 3 и двигатель 4.
  21. Это программа ПЛК для слива одинаковых продуктов из двух резервуаров. Изучите программирование ПЛК на этом простом примере. Слив одинаковых продуктов из двух резервуаров Описание проблемы Два резервуара заполнены одинаковыми продуктами. Слив материалов из этих двух резервуаров зависит от требований резервуара для хранения. Реализуйте логику для этой системы в ПЛК с помощью лестничной диаграммы. Диаграмма проблемы Пример решения ПЛК Здесь для системы используются два резервуара. Для измерения уровня используются два датчика (датчики низкого уровня). Как показано на рисунке, мы используем здесь два насоса для перекачки материалов из резервуаров (резервуар 1 и резервуар 2) в резервуары для хранения. Здесь мы будем использовать датчик уровня для измерения уровня в резервуаре для хранения. НАСОС 1 и НАСОС 2 будут управляться обратной связью датчика уровня. Здесь мы использовали два насоса для бесперебойной работы. Оба насоса будут работать, когда уровень в резервуарах для хранения будет обнаружен ниже своего предела. Примечание: Здесь мы рассматриваем простую автоматизацию для этой системы. В этой системе используется датчик уровня, который будет измерять уровень хранилища. Для простоты резервуар для хранения имеет высоту 500 см, а обратная связь датчика уровня составляет 4–20 мА. Для этого приложения мы будем использовать ПЛК S7-300. Мы будем использовать масштабирование для целей программирования. Список входов/выходов Список входов НАЧАЛО цикла:- I0.0 ОСТАНОВКА цикла:- I0.1 Низкий уровень бака 1:- I0.2 Уровень бака 2:- I0.3 Список выходов Насос 1:- Q0.0 Насос 2:- Q0.1 Память M Бит ВКЛ цикла:- M0.0 Аналоговое значение с передатчика:- MW10 (INT) Аналоговое значение с передатчика:- MD100 (DINT) Значение умножения:- MD104 Фактический уровень воды (см):- MD108 Релейная диаграмма ПЛК для слива тех же продуктов из двух tank Объяснение программы Для этого приложения мы использовали S7-300 PLC и программное обеспечение TIA portal для программирования. Сеть 1: мы использовали схему фиксации для выхода цикла ON (M0.0). Его можно запустить, нажав START PB (I0.0), и остановить, нажав STOP PB (I0.1). Сеть 2: Здесь фактический счет или значение, поступающее от передатчика, является током (от 4 до 20 мА), поэтому, используя аналоговый входной канал в PLC, мы можем преобразовать его в цифровой счет. Эта цифра находится в формате INT (MW10), поэтому нам нужно преобразовать ее в DINT (MD100) для расчета или умножения. Сеть 3: Значение DINT (MD100) умножается на максимальную высоту (500 см) резервуара для расчета. Сеть 4: Умноженное значение (MD104) делится на максимальное количество аналогового модуля (27648). И окончательная фактическая высота сохраняется в MD108. Сеть 5: Здесь мы использовали компаратор для НАСОСА 1 (Q0.0). Во время потребности в материале НАСОС 3 будет управляться оператором, высота уровня воды будет уменьшаться. Таким образом, согласно нашей автоматизации или системе, нам нужно заполнить резервуар для хранения, насос 1 будет запущен, если уровень воды меньше его предела (здесь мы взяли 480 см). Примечание: НАСОС 1 должен быть остановлен, если обнаружен низкий уровень (I0.2) резервуара 1. Сеть 6: Здесь мы использовали компаратор для НАСОСА 2 (Q0.1). Во время потребности в материале НАСОС 3 будет управляться оператором, высота уровня воды уменьшится. Таким образом, согласно нашей автоматизации или системе, нам необходимо заполнить резервуар для хранения, насос 2 будет запущен, если уровень воды ниже его предела (здесь мы взяли 480 см). Примечание: НАСОС 2 должен быть остановлен, если обнаружен низкий уровень (I0.3) резервуара 2. Во время всего цикла функций должен быть включен. Примечание: Вышеуказанное приложение может отличаться от фактического приложения. Этот пример приведен только для пояснения. Мы можем реализовать эту логику и в других ПЛК. Это простая концепция дренажной системы, мы можем использовать эту концепцию и в других примерах. Все параметры, рассматриваемые в примере, приведены только для пояснения, параметры могут отличаться в реальных приложениях. Также все блокировки не учитываются в приложении. Результат
  22. Это программа ПЛК для реализации SR-триггера в ПЛК. Изучите программирование ПЛК с помощью этого примера логики. SR-триггер с помощью логики лестничного типа ПЛК Описание проблемы Реализуйте программу для логики SR-триггера в ПЛК с помощью языка релейных схем. Диаграмма проблемы Решение ПЛК Как мы знаем, более сложные системы не могут управляться только комбинационной логикой. Основная причина в том, что мы не можем или не хотим добавлять датчики для обнаружения всех условий. В этих случаях мы можем использовать событие для оценки состояния системы. SR-триггер используется для Latch on или unlatch — для блокировки чего-либо или выключения его. Большинство ПЛК имеют специальную инструкцию для функции SR-триггера. поэтому для таких типов ПЛК не требуется специальной логики. SR-триггер сначала выполняет функцию SET, а затем функцию RESET. Примечание: Здесь мы рассматриваем простую функцию инструкции триггера SR без использования специальной инструкции или использования функции защелки. Здесь мы используем простую схему защелки для функции триггера SR. Здесь, как показано на рисунке, для реализации программы используются две кнопки или два входа. Когда пользователь нажмет кнопку SET или на входе S будет получено 1, выход Q будет включен, а если нажата кнопка RESET или на входе R будет получено 1, Q^ будет включен. Список входов/выходов Цифровые входы Установка входа: I0.0 Сброс входа: I0.1 Цифровые выходы Выход Q: Q0.0 Выход Q^: Q0.1 Память M Катушка реле 1: M0.0 Катушка реле 2: M0.1 Релейная схема ПЛК для реализации триггера SR Объяснение программы Для этой программы ПЛК мы используем ПЛК S7-300 и программное обеспечение портала TIA для программирования. Мы можем реализовать эту логику, используя также другие ПЛК. Сеть 1: Здесь мы использовали NC контакт катушки реле 1 (M0.0), поэтому при нажатии кнопки сброса выход Q (Q0.0) выключен. Сеть 2: Здесь мы использовали NC контакт катушки реле 2 (M0.1), поэтому при нажатии кнопки установки выход Q^ (Q0.1) выключен. Сеть 3: Здесь, когда мы нажимаем кнопку сброса (I0.0), катушка реле 1 (M0.0) будет зафиксирована. Сеть 4: Здесь, когда мы нажимаем кнопку установки (I0.1), катушка реле 2 (M0.1) будет зафиксирована. Если оба входа имеют низкий уровень во время включения питания, выход Q^ (Q0.1) станет высоким из-за его порядка. Если оба входа Примечание: - Вышеприведенное приложение может отличаться от фактического приложения. Этот пример приведен только для пояснения. Мы также можем реализовать эту логику в других ПЛК. Это простая концепция реализации функции SR flip без инструкции. Мы можем использовать эту концепцию и в других примерах. Все параметры, рассматриваемые в примере, приведены только для пояснения, параметры могут отличаться в реальных приложениях. Результат
  23. Это программа ПЛК для считывания температуры в ПЛК. Изучите программирование ПЛК с помощью примеров задач и решений. Считывание температуры в ПЛК Описание проблемы Напишите программу ПЛК, в которой мы можем контролировать фактическую температуру. Здесь мы используем внешний контроллер температуры, и его выход также подключен к ПЛК для контроля температуры материала в резервуаре. Диаграмма проблемы Решение проблемы Устройства РТД с сопротивлением, которое изменяется с изменением температуры линейно. Это значение сопротивления будет изменяться с изменением температуры, и при подаче постоянного тока измеренное падение напряжения на резисторе можно использовать для определения нового сопротивления и, следовательно, температуры. РТД бывают разных типов, наиболее распространенным типом является PT100. Он изготовлен из платины, откалиброванной на 100 Ом при 0 градусах Цельсия. В приведенном выше приложении мы хотим измерить температуру материала резервуара, для этого мы используем датчик RTD, который будет измерять температуру резервуара и подавать сигнал на регулятор температуры. Регулятор температуры отправит сигнал в виде напряжения (0-10 В постоянного тока). Если RTD обнаружит температуру 0 градусов, он отправит 0 В постоянного тока, а если обнаружит максимальную температуру, он отправит 10 В постоянного тока на ПЛК. Регулятор температуры напрямую подключен к ПЛК, поэтому ПЛК будет считывать напряжение. Примечание: — Здесь мы рассмотрим простое приложение для объяснения. Нам нужно измерить температуру материала резервуара с помощью датчика RTD. А также рассмотреть другие компоненты для целей управления. Предположим, что диапазон масштабирования температурного контроллера составляет 0–100 °C = от 0 до 10 В постоянного тока, и в соответствии с этим сигналом ПЛК рассматривает диапазон от 0 до 27648. Список ввода/вывода Память M Аналоговое значение с температурного контроллера: MW100 Фактическое значение с температурного контроллера: MD104 Умножение: MD108 Фактическая температура в °C: MD112 Релейная диаграмма ПЛК для считывания температуры Объяснение логики ПЛК Для этого приложения мы использовали ПЛК S7-300 и программное обеспечение портала TIA для программирования. Мы можем реализовать эту логику, используя также другие ПЛК. Сеть 1: В этой сети мы реализуем логику для преобразования значений. Необходимо преобразовать значение из INT в DINT для умножения или для вычисления. Таким образом, используя инструкцию преобразования, аналоговое значение из RTD (MW100) преобразуется в фактическое аналоговое значение (MD104). Примечание: - Контроллер температуры подает сигнал 0-10 В постоянного тока на ПЛК. Преобразователь АЦП или модуль аналогового ввода преобразует этот аналоговый сигнал в цифровую форму, а диапазон этого цифрового сигнала составляет от 0 до 27648. Этот цифровой диапазон может меняться от одного ПЛК к другому. Сеть 2: у нас есть диапазон температур RTD, который составляет от 0 до 100 °C, а диапазон выходного напряжения составляет от 0 до 10 В постоянного тока. Поэтому нам нужно масштабировать это выходное напряжение в терминах показаний температуры. Здесь умножьте значение согласно уравнению, и окончательное значение будет сохранено в MD108. Примечание: - Здесь контроллер температуры и диапазон измерения температуры составляют 0-100 °C. Сеть 3: Теперь для получения окончательного результата умноженное значение делится на 27648, результат будет сохранен в MD112 (фактическая температура в °C). Примечание: - Вышеуказанное приложение может отличаться от фактического приложения. Этот пример приведен только для пояснения. Мы можем реализовать эту логику и в других ПЛК. Это простая концепция считывания температуры в ПЛК S7-300, мы можем использовать эту концепцию и в других примерах. Все параметры, рассматриваемые в примере, приведены только для пояснения, в реальных приложениях параметры могут отличаться.
  24. Это программа ПЛК для реализации аналогового масштабирования в ПЛК S7-300. Масштабирование регулирующего клапана Описание проблемы Реализуйте программу ПЛК в S7-300 для аналогового масштабирования. Диаграмма проблемы Решение проблемы Аналоговые входы поступают от разных датчиков или передатчиков. Передатчики преобразуют физическую величину в электрический сигнал. Мы можем измерять многие физические величины с помощью аналоговых датчиков, таких как температура, давление, уровень, расстояние, расход и т. д. Конечно, мы можем измерять все физические величины с помощью аналоговых датчиков, но для примера и пояснения здесь мы возьмем один пример регулирующего клапана. Как показано на рисунке, здесь мы рассматриваем один регулирующий клапан, и он имеет выход 4-20 мА (обратная связь клапана) и вход 4-20 мА (команда клапана) для работы. Следовательно, когда ПЛК подаст 20 мА на клапан управления потоком, клапан будет открыт на 100%, а для 4 мА он будет 0% (закрыт). В противном случае клапан управления потоком также подает выходной сигнал, который может быть использован для системы замкнутого контура/для индикации процента клапана. Если клапан открыт на 100%, ПЛК получит сигнал 20 мА, а для 0% он получит 4 мА. Примечание: - Мы рассматриваем здесь систему замкнутого контура для простого объяснения, поэтому оператор установит параметр команды открытия клапана управления в диапазоне от 0% до 100%. Теперь, согласно системе замкнутого контура, клапан управления подаст выходной сигнал (обратная связь клапана), и с помощью инструкции SCALE оператор может увидеть фактический параметр открытия клапана на графике. Список входов/выходов Память M Включить команду-Масштабирование:- M0.0 Биполярный выбор-Масштабирование:- M0.1 Фактическое значение с датчика или передатчика:- MW10 Слово ошибки-Масштабирование:- MW12 Масштабированный выход:- MD20 Включить команду-Отмена масштабирования:- M1.0 Биполярный выбор-Отмена масштабирования:- M0.2 Заданное значение с дисплея:- MD24 Слово ошибки-Отмена масштабирования:- MW16 Немасштабированный выход:- MW26 Схема релейной логики ПЛК для масштабирования клапана Объяснение релейной логики Для этого приложения мы используем ПЛК S7-300 и TIA Портальное программное обеспечение для программирования. Мы можем реализовать эту логику, используя также другой ПЛК. Сеть 1: В этой сети логика масштабирования выполняется, когда команда Enable (M0.0) включена. Инструкция «Scale» предназначена для преобразования целого числа (здесь сигнал 4-20 мА от регулирующего клапана или MW10) в параметре IN, который может быть масштабирован в физических единицах между нижним пределом (выход 0%) и верхним пределом (выход 100%). Результат или масштабированный выход (MD20) инструкции выводится в параметре OUT. Если биполярный выбор (M0.1) включен, предполагается, что значение параметра IN является биполярным (диапазон от -27648 до +27648). Если биполярный выбор (M0.1) выключен, предполагается, что значение параметра IN является униполярным (диапазон от 0 до 27648). Сеть 2: Инструкция «Unscale» используется для немасштабирования числа с плавающей точкой (заданное значение с дисплея или MD24) в параметре IN в физические единицы между нижним пределом и верхним пределом. Результатом инструкции является выход (немасштабированный выход MW26) в параметре OUT. Если биполярный выбор (M0.2) включен, предполагается, что значение в параметре IN является биполярным (диапазон от -27648 до +27648). Если биполярный выбор (M0.2) выключен, предполагается, что значение в параметре IN является униполярным (диапазон от 0 до 27648). Таблица кодов ошибок: Примечание: приведенное выше приложение может отличаться от фактического приложения. Этот пример приведен только для пояснения. Мы можем реализовать эту логику и в других ПЛК. Это простая концепция инструкций SCALE и UNSCALE, мы можем использовать эту концепцию и в других примерах. Все параметры, рассматриваемые в примере, приведены только для пояснения, в реальных приложениях параметры могут отличаться. Результат
  25. Это программа ПЛК для управления уровнем параллельных резервуаров. Изучите программирование ПЛК на этом примере. Управление уровнем параллельных резервуаров Описание проблемы Два резервуара соединены параллельно. Нам нужно нагревать и охлаждать поступающий в резервуары материал и одновременно контролировать уровень в резервуарах. Реализуйте программу ПЛК для этого приложения. Диаграмма проблемы Решение проблемы Процесс нагрева используется для нагрева материала в резервуаре, а процесс охлаждения используется для охлаждения материала. Здесь рассмотрим оба материала, как показано на рисунке, впускной клапан подает материал в оба резервуара. Здесь мы можем использовать реле уровня для определения низкого и высокого уровня для обоих резервуаров. Используйте два датчика температуры для измерения температуры обоих резервуаров. Выпускные клапаны используются в нижней части резервуаров для слива материалов для дальнейшей обработки. Мы напишем программу ПЛК для этого приложения. Список входов и выходов Цифровые входы Начало цикла: I0.0 Остановка цикла: I0.1 Низкий уровень бака 1(LL1): I0.3 Низкий уровень бака 2(LL2): I0.4 Высокий уровень бака 1(LH1): I0.5 Высокий уровень бака 2(LH2): I0.6 Цифровые выходы Впускной клапан V2 для нагревательного бака: Q0.0 Впускной клапан V3 для охлаждающего бака: Q0.1 Выпускной клапан V4 для нагревательного бака: Q0.2 Выпускной клапан V5 для охлаждающего бака: Q0.3 Память M Бит включения цикла: M0.0 Регистр температуры нагревательного бака: MD10 Регистр температуры охлаждающего бака: MD14 Выпускной клапан V5 для охлаждающего бака :- Q0.3 Программа ПЛК для контроля уровня параллельных баков Объяснение программы Для этого приложения мы использовали ПЛК S7-300 и программное обеспечение портала TIA для программирования. Мы можем реализовать эту логику также с помощью других ПЛК. Сеть 1: Эта сеть предназначена для защелкивающейся схемы. Всякий раз, когда нажимается кнопка ПУСК (I0.0), бит ВКЛ цикла (M0.0) будет включен. Цикл можно остановить, нажав кнопку СТОП PB (I0.1). Сеть 2: При обнаружении низкого уровня в нагревательном баке (I0.3) впускной клапан V2 (Q0.0) будет включен. Если высокий уровень бака 1 (I0.5) не обнаружен и нажата кнопка START (I0.0), впускной клапан V2 (Q0.0) будет включен. Сеть 3: Если низкий уровень бака 2 (I0.4) обнаружен, впускной клапан V3 (Q0.1) будет включен. Если нажата кнопка START и высокий уровень бака 2 (I0.6) не обнаружен, впускной клапан V3 (Q0.1) будет включен. Сеть 4: Если цикл включен и фактическая температура нагревательного бака (MD10) больше или равна заданной температуре (70 °C), выпускной клапан V4 (Q0.2) будет включен Сеть 5: Если цикл включен и фактическая температура охлаждающего бака (MD14) меньше или равна заданной температуре (20 °C), выпускной клапан V5 (Q0.3) будет включен. Примечание: этот пример приведен только для пояснения. Мы можем реализовать эту логику в любом ПЛК или с помощью релейной логики. Вышеуказанное приложение может отличаться от фактического приложения или может быть частью заводской логики. Результат
Apply for friendship links:WhatsApp or E-mail: admin@plchmis.com
×
×
  • Create New...