- •Содержание
- •5. Элементы языка программирования 66
- •6. Библиотека стандартных функциональных блоков 77
- •Введение
- •Общие сведения
- •Программистская модель плк с300
- •Внешний вид контроллера
- •Модули ввода/вывода
- •Распределение памяти контроллера
- •Программистская модель контроллера.
- •Регистры и флаги
- •Области операндов контроллера
- •Отображение входов и выходов
- •Область данных
- •Область меток
- •Область таймеров
- •Область счётчиков
- •Область периферии
- •Область расширенной периферии
- •Структура и обработка технологических программ
- •Система команд лмк
- •Логические команды
- •Команды присвоения битных операндов
- •Команды опроса битных переменных
- •Команды переходов
- •Команды пересылки
- •Арифметические команды
- •Команды сравнения
- •Логические байтовые и словные команды
- •Байтовые и словные команды сдвига
- •Индексная адресация.
- •Счетчики
- •Команды обработки счётчиков
- •Последовательность программирования счётчика
- •Примеры программирования счётчика
- •U е 5.0 ;Если сработал фотоэлемент на входе e5.0
- •Формат слова уставки счётчика
- •Таймеры
- •Команды обработки таймеров
- •Последовательность программирования таймера
- •Примеры программирования таймера
- •Формат слова уставки таймера
- •Организационные команды
- •Команды вызова, активизации и завершения блоков
- •Команды блокировки, деблокировки, задания допустимой длительности скана
- •Команды структурирования текста
- •Команды обработки канала связи
- •Элементы языка программирования
- •Организационные блоки
- •Особенности прерывания циклической обработки блоками ob2...Ob18
- •Программные блоки
- •Функциональные блоки
- •Формат функциональных блоков
- •Особенности использования формальных параметров
- •Блоки данных
- •Формат и использование блока назначений nb0
- •Комментарии к программе
- •Комментарий к строке
- •Комментарий к операнду
- •Комментарий к элементу цепи ркс и к цепи ркс
- •Библиотека стандартных функциональных блоков
- •Блоки организации связи по каналу “эвм”
- •Блоки обработки системы реального времени
- •Арифметические блоки
- •Блоки обработки модулей расширенной периферии
- •Системные блоки
- •Блоки регулирования
Команды обработки канала связи
В контроллере С300 для связи с устройством программирования и другими абонентами по каналам “УПК” и “ЭВМ” используется базовый протокол С300, описание которого приведено в файле SW_3.DOC. Контроллер является пассивным абонентом линии связи, т.е. способен только отвечать на приходящие сообщения и не может сам инициировать сеанс связи. При этом прием и передача байтов производится по прерываниям встроенными драйверами на фоне выполнения программы пользователя, а обработка поступивших сообщений и формирование ответных производится системной программой между циклами выполнения программы пользователя.
Режим работы канала “УПК”, используемого для связи с устройством программирования, не может быть изменен. Режим работы канала “ЭВМ” (используемый протокол, пассивный/активный абонент, скорость связи) может быть изменен с помощью функциональных блоков, входящих в библиотеку стандартных функциональных блоков системы программирования “Интервью”.
После включения контроллера по каналу “ЭВМ” задается пассивный режим протокола С300. При необходимости с помощью блока FB100 можно установить скорость обмена в диапазоне 110...19200 бод (по умолчанию – 9600 бод). Для переключения в режим активного абонента используется блокFB101
.
Если необходимо полностью отключить обработку канала “ЭВМ” и обрабатывать канал в программе пользователя, то используются приведенные ниже команды.
1) EIN- отключение обработки канала “ЭВМ” системной программой.
Формат команды: EIN.
Команда EIN полностью отключает обработку системной программой канала “ЭВМ”. В этом случае прием/передачу каждого байта должна выполнять программа пользователя. Команда изменяет аккумуляторы LA, RW1, RB1, RB2.
2) ZUS- загрузка регистра состояния канала “ЭВМ” в аккумулятор RW1.
Формат команды: ZUS.
Команда ZUS считывает в аккумулятор RW1 регистр состояния канала “ЭВМ”. Назначение битов регистра состояния:
- бит 2 = 1 – ошибка переполнения;
- бит 3 = 1 – регистр передачи пуст;
- бит 4 = 1 – ошибка кадра;
- бит 6 = 1 – в регистр приема принят байт;
- бит 7 = 1 – ошибка четности;
- бит 9 = 1 – принят сигнал BREAK (разрыв линии).
Команда изменяет аккумулятор RW1.
3) TUS- передача аккумулятора RW1 в регистр управления канала “ЭВМ”.
Формат команды: TUS.
Команда TUS передает аккумулятор RW1 в регистр управления канала “ЭВМ”. Назначение битов регистра управления:
- биты 0, 1, 2 – режим (должны содержать значение 3);
- бит 3 = 1 – разрешение контроля четности;
- бит 4 – вид контроля четности: 0 – нечетность, 1 – четность;
- бит 5 = 1 – разрешение приема (должен содержать 1);
- бит 6 = 0 – анализ сигнала CTS (должен содержать 0);
- бит 7 – состояние девятого бита передаваемого кадра, если не разрешен контроль четности;
- бит 8 – режим выхода передатчика (должен содержать 0): 0 – нормальный режим передачи, 1 – на выходе передатчика уровень логического нуля (сигнал BREAK).
Команда не изменяет аккумуляторы и флаги.
4) INP- загрузка регистра приема канала “ЭВМ” в младший байт аккумулятора RW1.
Формат команды: INP.
Команда INP считывает принятый по каналу “ЭВМ” байт, команда OUT передает байт в канал “ЭВМ”. Команда изменяет аккумулятор RW1.
5) OUT- передача младшего байта аккумулятора RW1 в регистр передачи канала “ЭВМ”.
Формат команды: OUT.
Команда OUT передает байт в канал “ЭВМ”. Команда не изменяет аккумуляторы и флаги.