Язык CFC в Codesys, часть 12 из 24 — АСУ ТП: сообщество инженеров

Язык CFC в Codesys, часть 12 из 24

О чём видео

В ролике объясняется, что такое проект в CODESYS и как работает цикл ПЛК. Показано, что все настройки и программы сохраняются в один файл проекта, что главная программа должна называться PLC_PRG, и как контроллер циклически обрабатывает входы, выполняет программу и обновляет выходы. Приведён пример с аналоговым входом и дискретным выходом, демонстрирующий задержки обновления сигналов.

Что разбирается
  1. 00:05 Что такое проект в CODESYS
  2. 02:03 Обязательная главная программа PLC_PRG
  3. 03:06 Циклическая работа контроллера
  4. 04:09 Время цикла по умолчанию и его настройка
  5. 05:15 Скорость обработки аналоговых входов
  6. 06:27 Скорость переключения дискретных выходов
  7. 07:00 Взаимодействие разных скоростей с циклом ПЛК
  8. 10:18 Порядок выполнения программы и обновление выходов
Оборудование и ПО
  • CODESYS
  • ПЛК

Кому полезно: Инженерам АСУ ТП, изучающим программирование ПЛК на CODESYS.

Описание составлено автоматически по расшифровке речи в ролике.

Расшифровка видео

0:05 Друзья, в этом видео мы с вами поговорим о том, чем же все таки является проект в Кудесис и наконец полностью разберемся в таком важнейшем понятии, как цикл работы пылка. Что касается проекта Кудыси, смотрите все, что мы с вами делаем и настраиваем в решении той или иной задачи. Да, это и списки переменных, и настройки входов и выходов. И алгоритм программа, которую мы создаем, да программ на самом деле может быть много и в общем целом. Все прочие вещи, которые мы настраиваем, все это в кудеси. Собирается в 1 файл в тот самый проект, да и когда мы с вами сохраняем этот файл на компьютере, то вот, собственно, в файле с расширением про у нас хранится вся. Эта информация есть достаточно удобная. Почему потому, что, допустим, когда вы переносите разработку вашей задачи, вашей программы с компьютера на компьютер, да? Допустим, с рабочей машины ноутбук или обратно вам, по большому счету, нужен вот этот файл проекта. Так и, может быть, таргет файлы может быть пары библиотек каких? То не стандартных, то есть не нужно сохранять, тащить с собой целый ворох файлов, боясь, что то забыть, что без чего то может быть, что то не будет работать по сути. Файл с расширением Про и 1 может быть 2 вспомогательных Ф. Больше ничего это удобно, соответственно, очень важный момент. Точнее, даже 2 я в книге об этом говорил. Сейчас просто еще раз подчеркну так, чтобы вы это запомнили. Но кто может быть еще не запомнил, да обязательно? В каждом проекте у вас должна быть главная программа.

2:03 С именем нижнее подчеркивание пержи. Вот такая вот обязательно она должна быть без этой главной программы, у нас ничего не работает. То есть вот уже, когда вы обзываете ее, пил сипы ржи? 1 2 Это уже все, не то вот имя обязательно должно быть ровно строго вот таким вот. Эти 7 символов это очень важно, то есть при наличии такой программы проект у вас работоспособен без нее все в общем и целом сам, ну и. Следующий момент смотрите все то, что мы с вами создаем в рамках главной программы. Вот этот алгоритм контроллером после загрузки в него. Этой информацией выполняется циклически, то есть, по сути, по сути, мы с вами пишем 1 такт работы контроля, как внутри ПЛК, все это происходит.

3:06 Итак, контроллер работает со своим определенным циклом, то есть через определенные промежутки времени повторяет последовательность. Сначала он смотрит, какая новая информация. У него появилась на входах, затем эту новую информацию он использует, вызывая ту самую главную программу с именем Пиэлси ФРГ. Вот это так, у нас уже немножко не то.

3:34 1 Раз 1 обрабатывает операции, заданные в этой самой программе из состояния входных переменных, получается состояние выходных перемен и соответственно в конце цикла. Вот эти вот новые, полученные значения. Система отправляет в сторону физических выходов, на этом цикл заканчивается, после чего он повторяется по умолчанию. Когда вы работаете с контроллерами ПЛК 100 серий 110 150? Время цикла по умолчанию напомню, оно у нас задается равным 1 миллисекунде. В принципе, вот те простые проект, учебные, которые мы в рамках этого курса делаем, они за эту. Самую 1 Миллисекунду выполняются с огромным запасом, с огромным реально. То есть контроллеру более чем достаточно этой 1 миллиардекунды для обработки нашей программы?

4:32 Другое дело, что в реальных проектах процентов, наверное, в 80 до необходимо время цикла задавать несколько больше с тем, чтобы у контроллера, ну опять. же определенный запас по производительности оставался именно поэтому мы с вами всякий раз, создавая новый проект. Вот это вот время цикла задаем. 5 Или 10 Миллисекунд для абсолютного большинства задач этого времени опять же с головой вполне хватает. Просто нужно помнить об этом, ну что? Называется при создании нового проекта не забывать эту вещь. Сразу делать, чтобы потом уже на эту тему голова не болела, к этому больше не возвращаться.

5:15 Соответственно, где задается цикл ПВК, мы с вами много раз подробно разбирали и в примерах, и в книге, поэтому на этом останавливаться не буду. Тут важно заметить вот какой момент, ну просто чуть подробнее разобрать, как сеть систем работ ведь. Смотрите, допустим, у нас с вами есть, ну, например, аналоговые входы, контроллера ПЛК 150. Эти самые аналоговые входы они являются универсальными, то есть там можно напрямую подключать и температурные датчики, термопары, термосопротивления и сигнал. Унифицированный 4 20 миллиампер 0 10 вольт, да, увы, плата за универсальность этих входов. Это, к сожалению, скорость обработки сигнала, то есть по факту. Давайте говорить откровенно, в руководстве по эксплуатации, естественно, есть эта информация 1. Аналоговый вход контроллером обрабатывается в среднем, где то полсекунды не быстрее. Если входов у вас, 4 соответственно, умножаете, получаете, что реально контроллер? Информацию с каждого аналогового входа обновляет, где то приблизительно раз в 2 секунды.

6:27 С другой стороны, у нас с вами есть дискретные выходы, например, электромагнитное рыле. Опять же, в общем, известно, что электромагнитное реле. Вот хоть убейся, оно быстрее, чем 10:20 раз в секунду переключаться не будет. + В дальнейшем вы наверняка будете сталкиваться с тем, что будете к контроллером. По интерфейсам связи подключать модули вводу вывода операторские панели что то еще. Там в каждом конкретном скор случае скорости получения приема передач информации они тоже разные, и возникает в общем вопрос, к чему я веду, тогда у нас есть цикл. Работы полка 10 Миллисекунд, к примеру, у нас есть разные по скорости обработки, входы, выходы и так далее. Как это все уживается, давайте разбираться, значит, фактически. Фактический контроллер делает следующим образом. У него есть определенные системные средства, там какие то микросхемы и аналого цифровые преобразователи, все процессоры. Несут они, собственно, занимаются обработкой тех или иных входных выходных сигналов. Ну, к примеру, допустим, на аналоговом входе полк 150 мы измеряем температуру в. Комнате в какой то момент АЦП аналог цифровой преобразователь обрабатывает новую информацию. У него получается, допустим, 25% ты и эти 25%, он кладет специализированную. Область памяти, предусмотренную выходные, она там лежит. У нас с вами начинается новый цикл работ контроля, который обрабатывается, собственно, главный процесс в начале. Этого самого цикла система берет из того самого входного регистра, полученные 25, ты присваивает их соответствующей переменной, запускает главную программу Велси ПРГ.

8:21 Так и, соответственно, там по алгоритму смотрит. Ну, допустим, видит, что 25 она это много. Надо, допустим, включить вентилятор и в конце работы цикла. В конце работы цикла вот эту вот информацию о том, что вентилятор надо включить, нужно переключить дискретные выходы. Система записывает опять же. В определенную область памяти в выходной регистр, и эта информация лежит там, ждет до тех пор, пока реальный физический выход будет в состоянии. Переключиться вот исполнить эту команду через 10 Миллисекунд. Система опять производит чтение входов, берет все те же самые 25 она там за 10. Миллисекунд ничего не успело измениться. Да опять же прогонять по программе, опять же видишь, что нужно, чтобы вентилятор был включенным опять в. общем, эту информацию память ну что называется, сохранить. Так продолжается много раз, так в определенный момент у нас переключается выход, включается. Вентилятор начинается охлаждение, опять же все это время цикл, работа по рука каждые 10 миллиардекунд. Он повторяется в какой то момент АЦП. Измеряет новое значение, допустим, 20, ты снова кладет его во входной регистр. При следующем цикле работы ПЛК эти 20 ты система присваивает соответствующие. Переменной запускает главную программу, видит, что температура упала и необходимый вентилятор отключать и соответственно в конце цикла.

10:01 Информацию о необходимости переключения выхода опять же записывает выходной. Таким образом, это все работает и с обходами, и с обходами, и с внешним оборудованием, подключенным через те или иные интерфейсы связи. Соответственно, вы помните, что у нас с вами есть рабочий цикл ПЛК, то есть что система сначала смотрит, какое у нее состояние на входах. То есть перед запуском программы обновляет значения, автоматически обновляет? Значения входных переменных, связанных с физическими входами системы. Так затем 1 раз проходит главную программу, и тут надо понимать, что проходит она ее в соответствии с каким то заданным нами порядком.

10:51 И порядок здесь тоже имеет определенное значение. И после того, как все операции по порядку проделаны последние действия, сделанные с выходными переменными, они только тогда, когда. Цикл закончен, отправляются в сторону выхода. То есть, о чем здесь идет речь 1 и тоже, допустим, реле непосредственно в рамках программы? Может, ну пока вот идет обработка 1 цикла 1 шага?

11:21 Может, сначала принять решение, что надо включить, потом принять решение, что нет. Надо выключить, потом снова все таки включить да по факту. По факту вот та последняя операция, которая при вызове главной программы была сделана именно она, пойдет на реальный физический выход.

Расшифровка сделана автоматически (Yandex SpeechKit) и может содержать ошибки в терминах.

Оставьте комментарий

Войти

Зарегистрироваться

Сбросить пароль

Пожалуйста, введите ваше имя пользователя или эл. адрес, вы получите письмо со ссылкой для сброса пароля.

Прокрутить вверх