Тема 4.1 Шина VMEbus. Другие стандарты шин
Лекция 8
Основные команды
В системах промышленной автоматики ПЛК должны работать в режиме реального времени, т. е. быстро реагировать на внешние события. Ввод и обработка внешних сигналов осуществляется в ПЛК двумя способами — по опросу или по прерыванию (раздел 10.6.4). Основной недостаток опроса — можно потерять некоторые внешние события, если ПЛК не обладает достаточным быстродействием, хотя такой подход проще для программирования. Управление по прерываниям сложнее для программирования, но риск пропустить какое-либо внешнее событие намного меньше. Управления по опросу обычно вполне достаточно для простых систем, а управление по прерыванию используется в сложных случаях.
Программирование ПЛК в основном представляет собой описание управляющих последовательностей. Функции ввода/вывода уже реализованы в базовом программном обеспечении ПЛК. Программные инструкции, задаваемые одним из описанных выше способов (раздел 7.3.1), транслируются в машинный код ПЛК. Выполнение программы происходит в бесконечном цикле. Каждый полный цикл сканирования для малых ПЛК составляет примерно 15-30 мс, и это время приблизительно пропорционально размеру программы.
Скорость реакции ПЛК, очевидно, зависит от продолжительности цикла, поскольку во время исполнения программы процессор ПЛК не может считывать или выдавать какие-либо новые сигналы. Обычно это не очень серьезная проблема, так как большинство сигналов в промышленной автоматике изменяются сравнительно медленно либо имеют относительно большую продолжительность.
Небольшого набора базовых машинных команд, как правило, достаточно для большинства задач последовательностного управления. Программа, состоящая из этих команд, называется списком команд. Некоторые основные команды перечислены ниже; обычно они могут оперировать как битами, так и байтами.
Id, Idiзагрузка значения из входного порта в сумматор, непосредственно (Id)
либо с инверсией (Idi); and, aniоперация AND или NAND между значениями в сумматоре и на входном
порту; результат сохраняется в сумматоре; or, oriоперация OR или NOR между значениями в сумматоре и на входном
порту; результат сохраняется в сумматоре;
outсодержимое сумматора копируется в конкретный выходной порт и управляет выходными сигналами; значение в сумматоре не изменяется, поэтому его можно подвергнуть дальнейшей обработке или переслать на другой выходной порт.
Аббревиатура VME означает VERSA Module Eurocard. Соответственно, VERSA -это название более ранней версии шины, разработанной компанией "Моторола" для процессора серии 68000, а платы Eurocard — это стандарт формата плат (раздел 8.2.2). Шина VMEbus была разработана группой компаний во главе с "Моторолой"; в настоящее время эта разработка определена как стандарт ANSI/VITA 1-1994г (ранее этот тип шины нормировался как IEEE 1014). Шина VMEbus обладает рядом} свойств, которые позволяют характеризовать ее как мощное и гибкое средство для промышленного применения. '
Основные параметры шины перечислены ниже.
• Разрядность адреса — 16/24/32/40/64 бит.
• Разрядность слова данных — 8/16/32/64 бит.
• Скорость передачи данных: техническая — 80 Мбайт/с, эффективная — 60- 70 Мбайт/с.
• Семь уровней прерывания, шлейфовое подключение. ;
• Поддержка мультипроцессорных систем, четыре уровня приоритета доступа к шине.
• Блочная передача данных, максимальная длина блока 2048 байт.
Шина VMEbus поставляется с разъемами одинарной и двойной высоты на объединительной плате соответственно с одним или двумя разъемами типа DIN 41612 (в стандарте на VMEbus они называются J1 и J2). Одинарный формат поддерживает разрядность слова 32 бита и 40-битовую адресацию, т. е. 240 байт = 1 Тбайт адресуемого пространства. Формат двойной высоты поддерживает разрядность слова 64 бита и 64-битовую адресацию — 16 -10 Тбайт адресуемого пространства. Платы одинарной и двойной высоты могут применяться в одной и той же системе, а передача данных может избирательно производиться словами разрядности 8, 16, 32 и 64 бита в зависимости от того, к какой плате происходит обращение.
Шина VMEbus имеет максимальную длину 500 мм, что позволяет с учетом максимально допустимого запаздывания при распространении сигнала по шине и ширины слота устанавливать до 21 платы. Для шины VMEbus принципиально важно, что плата, установленная в первом слоте, должна выполнять некоторые общесистемные функции, например арбитраж в мультипроцессорной среде. Шина VMEbus состоит из четырех подсистем (шин) — для данных, арбитража, прерываний и служебных сигналов .