Теперь, когда мы знаем, какое оборудование находится внутри ПЛК, следующим шагом будет рассмотрение программного обеспечения, находящегося внутри ПЛК, и того, как оно работает.
У каждого ПЛК есть время сканирования и цикл сканирования. Именно так работает ПЛК и программное обеспечение внутри него.
Цикл сканирования – это цикл, в котором ПЛК собирает входные данные, выполняет вашу программу ПЛК, а затем обновляет выходные данные.
Это занимает определенное время, часто измеряемое в миллисекундах (мс).
Время, необходимое ПЛК для выполнения одного цикла сканирования, называется временем сканирования ПЛК.
Очень важно знать время сканирования ПЛК и даже знать длительность цикла сканирования. Особенно если вы работаете с таймерами и задержками ПЛК. Точность таймеров часто зависит от длины цикла сканирования.
Помимо аппаратного обеспечения ПЛК содержит некоторое программное обеспечение. Некоторые из них предустановлены, а некоторые – это ваше программное обеспечение.
PLC Firmware
Во-первых, давайте разделим программное обеспечение ПЛК на две части. Маленькая часть программного обеспечения, называемая микропрограммой, и другая часть программного обеспечения, называемая программой.
Прошивка – это операционная система ПЛК. Микропрограмма отвечает за выполнение команд вашей программы, управление коммуникациями и некоторые другие задачи.
Некоторые функции микропрограммы заключаются в обеспечении связи между микропроцессором и оперативной памятью, а также в обеспечении совместимости ПЛК с программным обеспечением для программирования ПЛК.
Многие другие задачи решает микропрограмма, и вам почти никогда не придется о ней беспокоиться. Прошивка устанавливается производителем ПЛК.
Ваша программа для ПЛК
Другая часть программного обеспечения – это программное обеспечение, которое мы разрабатываем для ПЛК. Это логическая программа, которую мы помещаем внутрь ПЛК. Программа, которая считывает входные сигналы и устанавливает выходные сигналы.
Прежде чем узнать больше о программе логики, нам нужно знать, где в ПЛК размещается программа.
Обычно программа сохраняется в оперативной памяти ПЛК, но, как мы знаем из предыдущей главы, оперативная память может быть рискованным местом для сохранения программы.
Рискованным оно может быть потому, что при отключении питания оперативная память будет очищена.
Большинство ПЛК имеют резервную батарею, которая предотвращает стирание ОЗУ, но есть лучшее место для более длительного сохранения программы – EEPROM.
Данные в EEPROM сохранятся даже после отключения питания. Таким образом, EEPROM в большинстве случаев является оптимальным местом для программы.
Время цикла или сканирования – это то, как работает программа ПЛК
Программа логики, которую мы записываем в ПЛК, является основной функцией ПЛК. Ваша программа ПЛК будет решать, какие выходы установить в соответствии с решениями на входах. При включении питания ПЛК будет работать следующим образом:
Первое, что сделает ПЛК, – проверит состояние всех входов. Точнее говоря, ПЛК получит изображение всех входов и сохранит его в оперативной памяти.
Где “снять образ” означает, что ПЛК сохранит двоичное значение, представляющее входы. Позвольте мне объяснить это на примере:
Допустим, у нас есть ПЛК с 8 цифровыми входами. Когда ПЛК проверяет состояние всех входов, когда все они находятся в низком уровне, двоичное число будет 00000000. Каждый 0 представляет собой цифровой вход.
Если на входе низкий уровень, то значение будет 0, а если высокий, то 1. Таким образом, если мы подключили последний вход (вход 8) к источнику питания, то при проверке состояния входа ПЛК сохранит число 00000001.
После того как ПЛК проверит состояние всех своих входов, он выполнит программу. Теперь будет запущена логическая программа, с помощью которой мы программируем ПЛК, и во время ее выполнения программа будет собирать некоторые числа и временно сохранять их.
Возможно, вы уже догадались, что это за числа. Эти числа – состояние выхода, которое определила логика программы.
По окончании работы программы ПЛК обновит состояние выхода. То же самое происходит и с входами, только в обратном порядке.
Теперь число, обозначающее состояние выхода, будет сохранено как состояние выхода в ПЛК, и состояние всех выходов будет обновлено.
На самом деле временное число, определяемое программой ПЛК и представляющее состояние выхода, будет двоичным числом, как и для входов. Рассмотрим пример с 8 цифровыми выходами.
Число, сохраненное программой, будет 00000000, если все выходы должны быть обновлены на низкий уровень или выключены. Если программа ПЛК установит первый выход в высокий уровень, сохраненное число будет 10000000. Таким образом, 0 – это выключено, а 1 – включено.
Как же ПЛК обновляет выходы? Ответ на этот вопрос заключается в специальном месте в памяти.
В специальном месте в памяти микропроцессора будет храниться число, которое всегда будет отражать состояние выходов.
Если мы сохраним в этом месте число 10000000, то первый выход ПЛК будет включен.
Когда программа ПЛК завершится, временное число будет просто сохранено в этом специальном месте памяти, и выходы будут обновлены.
Все эти три этапа называются циклом сканирования. За один цикл сканирования ПЛК проверит состояние входов, выполнит программу и обновит состояние выходов.
Если вам нужно дополнительное объяснение времени сканирования ПЛК, посмотрите это замечательное видео от Рона Бофорта:
ПЛК быстро соображает, и этот цикл происходит за миллисекунды. Но будет уместно знать о цикле сканирования и особенно о времени сканирования, то есть о времени, которое занимает один цикл сканирования.
При работе с таймерами и другими расширенными функциями ПЛК время сканирования может иметь решающее значение. То же самое происходит в больших проектах с тысячами строк кода или лестничных диаграмм, где время сканирования может стать проблемой.
У каждой фирмы свои параметры и настройки цикла сканирования ПЛК
Как говорится в комментарии к этому сообщению на Reddit, время сканирования ПЛК полностью зависит от бренда и настроек.
Во многих случаях вы можете установить разное время для времени цикла ввода/вывода и времени цикла выполнения задачи.
Время цикла задачи равно второму шагу в этой статье – Выполнение программы ПЛК.
Все эти специфические для конкретного бренда настройки и дополнительная информация о различных временах сканирования ПЛК будут описаны в следующих статьях.
Если вы только начинаете изучать программирование ПЛК, вас должно волновать только время сканирования. Считывание данных ввода/вывода, затем выполнение вашей программы и, наконец, обновление данных ввода/вывода – это хорошее фундаментальное понимание того, как работает ПЛК.
Когда вы только начинаете изучать программирование ПЛК, знание концепции цикла сканирования является огромным преимуществом.
На начальном этапе эта концепция поможет вам понять основные понятия программирования ПЛК.
Если у вас есть опыт программирования ПЛК, вы можете знать о некоторых настройках цикла сканирования.
Приходилось ли вам использовать пользовательские настройки цикла сканирования?
Сообщите мне об этом в разделе комментариев ниже.