Основы ПЛК 3.1 Исполнение программы пользователя Во время запуска CPU выполняет также следующие задачи. ● В фазе запуска прерывания ставятся в очередь, но не обрабатываются ● В фазе запуска отсутствует контроль времени цикла ● При запуске может быть изменена конфигурация модулей быстрых счетчиков (high- speed counter, HSC), широтно-импульсной модуляции (pulse-width modulation, PWM) и двухточечной связи (point-to-point communication, PtP) ● Фактическое функционирование модулей HSC, PWM и PtP происходит только в режиме RUN По окончании выполнения OB запуска CPU переходит в режим RUN и обрабатывает задачи управления в непрерывном цикле.
Обработка цикла в режиме RUN В каждом цикле CPU производит запись в выходы, считывает входы, выполняет программу пользователя, обновляет коммуникационные модули, выполняет внутренние задачи обслуживания и отвечает на события, связанные с прерываниями пользователя, и коммуникационные запросы. Коммуникационные запросы регулярно обрабатываются в течение цикла. Эти действия (за исключением событий, связанных с прерываниями пользователя) непрерывно обрабатываются циклически. Активизированные события, связанные с прерываниями пользователя, обрабатываются в соответствии с приоритетом в том порядке, в котором они возникают.
Система гарантирует, что цикл будет завершен за интервал времени, называемый максимальным временем цикла; в противном случае генерируется ошибка времени. ● Каждый цикл начинается опросом текущих значений цифровых и аналоговых выходов в образе процесса и записью этих значений в физические выходы CPU, SB и SM, которые сконфигурированы для автоматического обновления входов/выходов (конфигурация по умолчанию). Если команда обращается к физическому выходу, то обновляется как выход в образе процесса, так и сам физический выход.
● Цикл продолжается считыванием текущих значений цифровых и аналоговых входов из CPU, SB и SM, сконфигурированных для автоматического обновления входов/выходов (конфигурация по умолчанию), и последующей записью этих значений в образ процесса. Если команда обращается к физическому входу, то значение физического входа изменяется, но вход в образе процесса не обновляется. ● После считывания входов программа пользователя исполняется от первой до последней команды. Она включает в себя все OB программного цикла плюс все связанные с ними FC и FB. OB программного цикла выполняются постоянно в порядке номеров OB, начиная с OB с наименьшим номером.
Обработка коммуникаций происходит периодически в течение цикла, прерывая, если это возможно, исполнение программы пользователя. К самодиагностике относятся периодические проверки системы и опрос состояния модулей ввода/вывода. Прерывания могут возникнуть в любой части цикла, они управляются событиями. Когда происходит событие, CPU прерывает выполнение цикла и вызывает OB, который был спроектирован для обработки этого события. Когда OB заканчивает обработку события, CPU возобновляет исполнение программы пользователя с места, в котором произошло прерывание. Программируемый контроллер S7-1200 46 Системное руководство, 11/2009, A5E02669003-02