ПЛК

Создание программы на языке SFC (Отчет по лабораторной работе)

 

Задание

Создать программу на языке SFC согласно условиям задания 1.

 

Решение

Рис. Решение на языке SFC

 

Рис. Окно редактора переменных

 

 

 

ОТВЕТЫ НА КОНТРОЛЬНЫЕ ВОПРОСЫ

1. Охарактеризуйте язык функционального управления SFC

Графический язык (Sequential Function Chart) появился в 1979 г. как язык, позволяющий ясно и однозначно определить желаемое поведение системы управления. Отличается строгим математиче­ским определением, каждое операционное состояние системы мо­жет быть декодировано с очень небольшим анализом.

SFC удобен для описания как последовательных процессов, так и пакетных или параллельных процессов, легко комбинируется с другими языками (язык спецификаций), обладает развитыми механизмами син­хронизации, имеет простые динамические правила. Обеспечивает улуч­шение понимания оборудования при формировании модели его работы.

Диагностика SFC позволяет обнаружить ошибки проекта до того, как приложение тестируется в режиме Online.

Интерактивно анимируемый SFC также служит для облегчения диагностики оборудования и ошибок системы управления и после ввода программы в действие. Использование SFC как диагностического инструмента может уменьшать среднее время устранения таких неполадок.  

2.      Для чего служат спецификаторы в языке SFC?

При каждом связывании действия с шагом спецификатор, назначенный для действия, определит управление действием. Спецификатор можно объяснить как вход внутреннего функционального блока для логического связывания шага с действием. Если шаг становится активным, вход этого внутреннего функционального блока устанавливается в состояние 1. Теперь функциональный блок обрабатывается согласно его типу. Когда все условия истинны, выход Q (действие) устанавливается в состояние 1.

Возможные спецификаторы: N, None, S, R, L, D, P и DS. Для L, D и DS дополнительно должно быть определено время действия с типом данных TIME.

Спецификаторы N и «пусто» имеют одинаковое значение и представляют действие «не запомнить или не сохранить».

Спецификатор S представляет действие «установить/сохранить».

Действие установки остается активным, даже если соответствующий шаг становится неактивным. Действие становится неактивным, только когда оно сброшено в другом шаге со спецификатором R.

Спецификатор R представляет действие «доминирующий сброс».

Спецификатор L представляет действие «ограниченный по времени».

Если шаг становиться активным, действие становится также активным. После достижения определенного значения времени действие возвращается в состояние 0, хотя шаг мог бы все еще быть активен. Действие также будет равно 0, когда шаг становится неактивным.

Спецификатор D представляет действие «задержанный по времени».

Если шаг становится активным, запускается внутренний таймер, и после того как определенное для действия время истекло, действие становится равным 1. Если шаг становится неактивным до времени действия, действие не станет активным.

Спецификатор P представляет действие  «импульс».

Если шаг становится активным, действие будет равно 1 и останется таким для одного сканирования программы, при этом несущественно остается или нет шаг активным.

 Спецификатор DS представляет действие «замедленный и сохраняемый/запоминаемый». Он является комбинацией спецификаторов D и S. Если шаг становится активным, внутренний таймер будет запущен, и после достижения определенного значения времени действие становится активным. Действие станет снова неактивным, когда будет сброшено в другом шаге с использованием спецификатора R.

             3. Каково назначение переходов в языке SFC?

Переход указывает условие, которое передает управление от одного или нескольких шагов, предшествующих переходу, к одному или нескольким последующим шагам по направлению соответствующей связи.

Переход разрешается, когда непосредственно предшествующие шаги активны. Переход вызывается, когда он разрешен и присоединенное условие перехода истинно. Переходы с непосредственно предшествующими неактивными шагами не будут обрабатываться.

Теоретически время обработки перехода должно быть по возможности самым коротким, но оно никогда не может быть равным нулю. Минимальное время обработки перехода соответствует продолжительность программного цикла.

Приведение в действие перехода может контролироваться диагностикой перехода.

Если никакое условие перехода не определено, переход никогда не станет активным.

Пуск перехода дезактивирует (сбрасывает) все непосредственно предшествующие шаги, связанные с переходом, затем активизирует все непосредственно следующие шаги.

Если запущенный переход активизирует несколько шагов одновременно, последовательности,  которым эти шаги принадлежат,  называются параллельными последовательностями. После их одновременной активизации, каждая из этих последовательностей выполняется независимо. Чтобы высветить специальную форму таких структур, ответвление и соединение параллельных последовательностей показываются двойной горизонтальной линией.

Переход является переменной типа данных BOOL.

По двойному нажатию левой кнопки мыши переходу может быть назначен прямой адрес (вход или выход), переменная (входная или выходная), литерал (0 или 1) или секция перехода (transition section).

При назначении переходу прямого адреса, литерала или переменной, имя адреса, имя литерала и имя переменной отображаются ниже значка перехода.

При назначении переходу секции перехода, имя секции перехода отображается выше значка перехода.

Переменная, литерал или адрес, назначенные переходу, будут только читаться и никогда не будут переписываться переходом.

Как ранее было указано с помощью команд Copy и Paste шаги могут быть скопированы между проектами. Так как условие перехода обращается к переменной, которая была определена редактором переменных для соответствующего проекта, то может оказаться, что эта ссылка больше недопустима, если она не была определена в новом проекте. В таком случае условие перехода удаляется и появляется сообщение об ошибках.

4.Что такое секция перехода и ее назначение в языке SFC?

Секция перехода может быть создана для каждого перехода. Она является секцией, которая содержит логику условия перехода, а также автоматически связывается с переходом.

Если выбор, сделанный в диалоге OptionsPreferencesGraphical Editors…, является опцией Dynamic numbered, диалог Transition Properties автоматически отобразит обозначение псевдонима перехода. При вводе собственного имени для секции перехода следует обратить внимание на то, что каждая секция перехода может использоваться только один раз. При вводе имени секции, использованной ранее, появиться сообщение об ошибках.

Секция перехода автоматически создается при первом открытии. Имя секции перехода теперь отображается выше значка перехода в SFC-редакторе.

Если переход и включаемая им секция перехода не отредактированы, анимируемая секция перехода отобразит состояние Disabled.

Если другая опция выбрана как Transition section после того, как секция перехода была создана, появиться сообщение с вопросом, была ли секция перехода очищена. Если ответ No, секция перехода будет сохраняться. Вы можете также использовать командную кнопку Lookup , чтобы просмотреть список всех секций перехода, которые не используются в настоящее время.

5.      Назовите основные элементы языка SFC.

Язык SFC использует следующие структурные элементы для соз­нания программы (рис. 4): шаг (Step), переход (Transition), прыжок (Jump) и связи типа ответвления (Branch) и соединения (Joint).

Рис. Основные структурные элементы

 

6. Что такое альтернативное (параллельное) соединение (ответвление)?

Альтернативное ответвление – это условное программирование ответвлений в потоке управления SFC-структуры.