В.В. ПЕТРОСЬЯНЦ
ИЗМЕРИТЕЛЬНОВЫЧИСЛИТЕЛЬНЫЕ КОМПЛЕКСЫ
МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ Ф...
99 downloads
208 Views
2MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
В.В. ПЕТРОСЬЯНЦ
ИЗМЕРИТЕЛЬНОВЫЧИСЛИТЕЛЬНЫЕ КОМПЛЕКСЫ
МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ДАЛЬНЕВОСТОЧНЫЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
В. В. ПЕТРОСЬЯНЦ
ИЗМЕРИТЕЛЬНО-ВЫЧИСЛИТЕЛЬНЫЕ КОМПЛЕКСЫ (канал общего пользования)
Рекомендовано Министерством Общего и профессионального образования Российской Федерации в качестве учебного пособия для студентов высших технических учебных заведений
Владивосток 1996
1
УДК: 681.325.5-181.4(075.8) Петросьянц В.В. Измерительно-вычислительные комплексы ( канал общего пользования). - Владивосток: Изд-во ДВГТУ, 2007.- 159 с. Излагаются
основы
построения
и
применения
измерительно-
вычислительных комплексов (ИВК). Рассматриваются вопросы проектирования и программного обеспечения ИВК, функционирования интерфейса КОП, кодирования информации, сопряжения КОП с системной шиной компьютеров. Приводятся схемы и программы разработанного учебного ИВК. Для студентов вузов, обучающихся по направлению "Информатика и вычислительная техника"; может быть использована разработчиками
ИВК раз-
личного назначения.
Рецензенты
:
профессор И.Н. Каневский (Дальневост. гос. ун-т рыбной пром-ти и хоз-ва), доцент В.В. Крюков (Владивост. гос. ун-т экономики и сервиса)
ISBN 5-7596-0103-2
©
2
Издательство ДВГТУ, 2007
ВВЕДЕНИЕ В
пособии
излагается
материал
по
созданию
измерительно-
вычислительных комплексов ( ИВК) на базе распространенного интерфейса "канал общего пользования" (КОП). Появление ИВК было связано, с одной стороны, с усложнением испытательных, измерительных и исследовательских задач, увеличением их объема и количества, необходимостью выполнения больших объемов вычислений и протоколов, а с другой стороны, - с появлением небольших по размеру, относительно дешевых, но эффективных цифровых вычислительных машин и цифровых средств электроизмерительной техники, позволяющих не только автоматизировать процессы измерения, выдачи и коммутации электрических сигналов, но и осуществлять обмен информацией с вычислительной машиной. Современный этап развития ИВК характеризуется переходом к созданию сложных иерархических комплексов, в которых осуществляется децентрализованная обработка информации, а отдельные части ИВК зачастую распределены в пространстве. Наблюдается тенденция ко все большему использованию стандартных аппаратных и программных средств сопряжения на всех уровнях иерархии, что даст возможность создавать ИВК непосредственно у пользователя, исходя из его специфических требований. Целью настоящего пособия является обобщение имеющихся сведений о принципах построения, составе аппаратных и программных средств, методах проектирования ИВК и их применения для решения измерительных задач. Имеется много специальной литературы по проектированию и использованию ИВК. Однако не специалисту бывает трудно разобраться самостоятельно и применить эти знания на практике. Решению этой задачи и посвящено предлагаемое учебное пособие. В нем материал скомпанован таким образом: вначале даются общие представления об ИВК, интерфейсе КОП, а затем на конкретном примере рассматриваются вопросы создания ИВК для решения измерительной задачи. Приводятся алгоритмы, схемы и программы
3
управления комплексом. Поскольку
отмечается
тенденция
применения
стандартных
изме-
рительных приборов и широко распространенных ЭВМ при создании различных информационно-измерительных систем, в данном пособии приводится пример разработки ИВК на базе широко используемых компьютеров типа IBM PC, стандартного интерфейса МЭК 625-1 и стандартных измерительных приборов с КОП. Трудность разработки ИВК заключается в том, что для решения конкретных измерительных задач требуется разработка уникальных программ управления. В пособии предпринята попытка, с одной стороны, дать общий подход к проектированию ИВК, с другой стороны, на примере решения конкретной измерительной задачи - показать возможность создания ИВК на базе КОП и стандартных аппаратных средств; показать принципы работы одного из наиболее распространенных интерфейсов. Программы управления контроллером-адаптером и программы управления
измерительным
процессом
разработаны
коллективом
студентов-
дипломников под руководством автора данного пособия. Для постановки цикла лабораторных работ по изучению учебного ИВК желающие могут заказать контроллер-адаптер и дискету, на которой записана программа управления учебным ИВК, обучающая и контролирующие программы. Пособие предназначено для студентов старших курсов, знакомых с основами микропроцессорной техники, программированием на языках различного уровня, а также для слушателей факультета повышения квалификации.
4
1. ОБЩИЕ ВОПРОСЫ ПОСТРОЕНИЯ И ПРИМЕНЕНИЯ ИЗМЕРИТЕЛЬНО-ВЫЧИСЛИТЕЛЬНЫХ КОМПЛЕКСОВ Измерительно-вычислительные комплексы ( ИВК) можно определить как совокупность функционально связанных устройств, обеспечивающих измерение, сбор, вычислительную обработку и распределение измерительной информации в системах управления производственными процессами и объектами [1-3]. ИВК
являются
важнейшей
разновидностью
информационно-
измерительных систем (ИИС). К ИИС кроме ИВК относятся: системы сбора измерительной информации от исследуемого объекта или просто измерительные системы; системы автоматического контроля, предназначенные для контроля за работой разного рода машин, агрегатов или технологических процессов; системы технической диагностики, предназначенные для выявления технических неисправностей различных изделий; телеизмерительные системы, предназначенные для сбора измерительной информации с удаленных на большие расстояния объектов. Так же как ИИС, ИВК представляют собой автоматизированные средства измерений и обработки измерительной информации, предназначенные для применения на сложных объектах. Отличительной чертой ИВК является наличие в системе свободно программируемой ЭВМ, которая используется не только для обработки результатов измерения, но и для управления самим процессом измерения, а также для управления воздействием ( если это необходимо) на объект исследования (рис. 1). Информация от объекта исследования поступает на определенное множество первичных измерительных преобразователей ( ПИП), преобразуется в электрическую форму и передается на средства измерения и преобразования информации ( СИПИ), в которых сигналы подвергаются обработке и аналогоцифровому преобразованию. Затем сигналы передаются на ЭВМ для обработки по определенным программам или накопления, а также на средства отображе5
ния информации (СОИ) для индикации или регистрации. Устройство формирования управляющих внешних воздействий (УВВ) посредством исполнительных устройств ( ИУ) воздействует на объект исследования для регулирования, тестирования и т.п.
Рис. 1. Структурная схема двухуровнего ИВК
Первичные измерительные преобразователи ПИП и исполнительные устройства ИУ в состав ИВК не входят. Современные сложные ИВК часто рассматривают как композицию двух комплексов: 1)устройство связи с объектом (СИПИ, СОИ, УВ); 2)вычислительная часть. Вычислительную часть образует свободно программируемая ЭВМ с развитым математическим обеспечением ПМО. Вычислительная машина управляет в ИВК всеми процессами сбора и обработки информации. Структура ИВК может иметь один или два уровня. В одноуровневой имеется только магистраль ЭВМ, к которой подключены все устройства ИВК. Двухуровневая содержит еще магистраль приборов. Сигналы взаимодействия между магистралями передаются через системный контроллер-транслятор СКТ. 6
Управление ИВК от ЭВМ осуществляют специальные программы-драйверы. Программными компонентами ИВК являются системное программное обеспечение (программы ЭВМ и ИВК, обеспечивающие работу ИВК в диалоговом режиме, управление измерительными компонента- ми и обменом информацией между ними, проверку работоспособности ИВК) и прикладное программное обеспечение ( типовые программы обработки измерительной информации, планирование эксперимента, метрологического обслуживания ИВК). Изменение структуры и методов обработки измерительной информации программным путем позволяет легко приспосабливать ИВК к особенностям объекта исследования. Создание ИВК обеспечивает построение информационно-измерительных систем (ИИС) нового поколения, особенности которых: расширение функциональных возможностей в отношении сбора, адаптации, распределения за счет перепрограммирования в процессе обработки формируемых массивов измерительной информации и управления сложными автоматическими комплексами и системами; повышение таких показателей, как точность и достоверность измерений, за счет усреднения и статистической обработки измерительных данных с учетом влияния внешних факторов. На вычислительные средства, используемые в измерительной аппаратуре, могут быть возложены следующие функции: фильтрация, выявление и устранение отклонений сигналов от заданного уровня; внесение поправок; учет влияния внешних факторов; вычисление результатов косвенных, совокупных и совместных измерений; определение статистических характеристик измеряемых величин; адаптация, оценка достоверности результатов измерений и т.д.; накопление и хранение полученной информации; хранение программ реализации алгоритмов обработки; хранение планов проведения эксперимента в зависимости от полученных результатов; сервисная обработка измерительной
7
информации (представление в виде таблиц, графиков, моделей и др.); управление блоками с целью организации запросов, очередей, приоритетов, диалогового режима с операторами; обращение к памяти; контроль работоспособности блоков, поверка метрологических характеристик. В общем случае использование в качестве управляющего устройства вычислительной машины позволяет автоматизировать процедуры прохождения измерительной информации, начиная от датчика физических величин и до момента принятия решения об истинности результатов измерений. Одним из важных компонентов ИВК являются устройства сопряжения, содержащие в своем составе микропроцессорные средства и обеспечивающие соединение узлов и блоков как с друг другом, внутри измерительных приборов, комплексов и систем, так и с внешними устройствами систем управления технологическими процессами и объектами. Таким образом, ИВК в настоящее время приобретают особо важное значение в развитии современных средств измерений, поскольку расширяют их функциональные возможности и улучшают метрологические характеристики. Создаваемые на основе ИВК современные ИИС повышают эффективность автоматизированных систем управления технологическими процессами, автоматизированных систем научных исследований и комплексных испытаний, систем автоматизированного проектирования, гибких автоматизированных производств и автоматизированных обучающих систем. 1.1. Государственная система приборов и агрегатные комплексы Первоначально ИВК разрабатывались индивидуально для каждой конкретной измерительной задачи, причем всякий раз заново разрабатывались не только структура системы, но и все ее функциональные узлы. Такой подход оказался нерентабельным - срок разработки затягивался, стоимость ИВК была высокой. Поэтому в настоящее время реализуется агрегатный принцип построения, согласно которому ИВК строится из конструктивно законченных и
8
выпускаемых серийно приборостроительной промышленностью функциональных узлов, объединенных общим алгоритмом функционирования. В ГСП входят агрегатные комплексы средств электроизмерительной техники ( АСЭТ), вычислительной техники ( АСВТ), контроля и регулирования (АСКР),
комплекс
технических
средств
локальных
информационно-
управляющих систем (КТС ЛИУС) и др. При построении агрегатированных систем должны быть решены задачи совместимости и сопряжения модулей как друг с другом, так и с внешними средствами. Для модулей ИВК можно выделить пять видов совместимости [2]: информационную, конструктивную, энергетическую, метрологическую, эксплуатационную. Преимущества принципа агрегатирования наиболее полно проявляются в том случае, если информационная совместимость определяется унификацией измерительных сигналов и применением стандартных интерфейсов. Электрические логические и конструктивные условия, которые определяют требования к соединяемым функциональным узлам и связям между ними, образуют понятие интерфейса. Электрические условия определяют требования к параметрам сигналов взаимодействия и способу их передачи; логические - номенклатуру сигналов; конструктивные - конструктивные требования к элементам интерфейса: вид разъема, место его расположения, порядок распайки контактов и т.д. Можно выделить три основных варианта построения ИВК: с системным интерфейсом и унифицированными узлами сопряжения интерфейса и измерительных приборов; с приборныминтерфейсоми измерительнымисредствами(по ГОСТ 26.201-84); с приборным интерфейсом МЭК ( по ГОСТ 26.003-80) и серийно выпускаемыми измерительными приборами и устройствами. Этот интерфейс называют также IEEE-48-8 (Institute of Electrical and Electronics), или GPIB (General Purpose Interface Bus), или HP-IB (Hewlett Packart-Interface Bus). Интерфейс раз-
9
работан для программируемых и непрограммируемых электронных измерительных приборов и будет подробно рассмотрен во второй главе. Системы первого типа могут быть скомпонованы потребителем самостоятельно. При этом достигаются высокие и стабильные метрологические характеристики, быстродействие, степень подавления помех. Однако структура избыточна: имеется блок сопряжения системного и приборного интерфейсов (ИВК-7, ИВК-8, ИВК-12, ИВК-15). Во втором варианте обеспечивается гибкость и возможность наращивания системы, а ее функциональные возможности и технические характеристики максимально согласуются с требованиями эксперимента. Однако крейтовая организация ( крейт-совокупность объединенных в единую конструкцию 25 ячеек-модулей, контроллера крейта, интерфейсной шины с 86-контактными разъемами и источника питания) усложняет и удорожает систему. Поэтому применение ИВК на базе КАМАК оправдано в основном для автоматизации научных исследований, когда, с одной стороны, каждый раз приходится решать сложные, но единичные задачи, а с другой - автоматизация необходима. Выпускаются следующие ИВК КАМАК: ИВК-2, ИВК-6, ИВК-10, ИВК-16 и др. Третий вариант построения систем целесообразен для автоматизации решения типовых, часто повторяющихся задач в различных отраслях народного хозяйства, а также специфических, но часто повторяющихся задач в одной или нескольких отраслях. Например, К750, К754, К755, К756. Для АСЭТ принята единая система несущих конструкций. Основной несущей конструкцией является плата типа " Европа-2". Для обеспечения информационной совместимости на всех уровнях принята совокупность стандартных интерфейсов: на первом уровне - магистральный параллельный асинхронный 16-разрядный интерфейс И-41 ОСТ 25.969-83 ( аналог MULTIBUS, разработанный фирмой Intel) [3], организованный по принципу " Общей шины", допускающий мультипроцессорный режим работы со средствами ввода - вывода и хранения информации (логические и электрические условия соответствуют ре-
10
комендациям МЭК); на втором уровне - приборный магистральный интерфейс МЭК 625-1 ГОСТ 26.003-80 ( согласование с нижним уровнем осуществляется при помощи модуля сопряжения, а приборы подключаются непосредственно); на системном уровне - магистральный сетевой интерфейс ГОСТ 26.139-84 (МЭК). Таким образом, агрегатные средства позволяют строить разнообразные ИВК по принципу блочно-модульного конструирования методами проектной компоновки с полностью программируемыми функциями всех измерительных каналов, т.е. гибкие системы с наращиваемой измерительно-вычислительной мощностью. Такой способ построения ИВК значительно упрощает и сокращает сроки создания систем. 1.2. Программное обеспечение ИВК Уровень и пути развития ИВК во многом определяются программным обеспечением (ПО): совокупностью программ, используемых при подготовке и решении задач, управлении, проектировании и проверке работоспособности элементов системы. Программное управление, т.е. управление функционированием системы путем изменения программы, обеспечивает логическую гибкость и многофункциональность ИВК. В соответствии с функциями, выполняемыми его компонентами, ПО ИВК можно разбить на два вида: общее и специальное (рис. 2). Общее ПО включает в себя: ПО управления - совокупность программ, предназначенных для управления функционированием системы ( вычислительный процесс, ввод - вывод, контроль работоспособности системы и ее модулей) в процессе реализации прикладных измерительных программ и при разработке новых программ; ПО разработки программ - совокупность программ, используемых в качестве вспомогательных средств на всех этапах разработки программ ( от ввода программ на языках высокого уровня до проверки функционирования программ в реальном масштабе времени).
11
Рис. 2. Структура программного обеспечения ИВК
Специальные ПО обычно реализуются в виде пакетов прикладных программ (ППП); ППП стандартногоматематическогообеспечения- совокупностьпрограммреализации стандартныхметодов (математическойстатистики, вычислительнойматематики, интегральногоисчисленияи др.) при решенииразличныхприкладныхзадач;
12
ППП
специального
назначения -
совокупность
программ,
раз-
рабатываемых для решения задачи или класса задач (определенного вида измерительного эксперимента или совокупности экспериментов), как правило, на базе ППП стандартного математического обеспечения; ППП метрологического обеспечения - совокупность программ аттестации измерительных средств ИВК (измерительные модули, каналы, алгоритмы) в автоматическом режиме в процессе эксплуатации системы. Операционная система ( ОС) -
это совокупность программ, обес-
печивающая определенный уровень эффективности цифровой вычислительной системы за счет автоматизированного управления ее работой и набора услуг, предоставляемого пользователям ( ГОСТ 15971-84). Операционная система является посредником между ИВК и пользователем, она анализирует, интерпретирует запросы и обеспечивает их выполнение. Запрос пользователя указывает на требуемые действия, необходимые для их выполнения ресурсы и представляется в виде задания на языке, который называетсяязыком управлениязаданиями. Операционная система пакетной обработки - система, которая обеспечивает обработку заданий, поступающих в виде последовательных пакетов данных на входных устройствах; во время обработки нет взаимодействия между пользователеми его заданием, а время ответа ИВК есть время выполнения задания. Операционная система разделения времени - система, которая обеспечивает одновременное обслуживание многих пользователей, работающих в режиме непосредственной связи с ЭВМ, и позволяет каждому пользователю взаимодействовать со своей программой и данными. Это достигается разделением времени работы процессора и других ресурсов ИВК между пользователями таким образом, что гарантируется ответ на каждую команду пользователя в течение выделяемого ему "кванта времени". Операционная система реального времени -
система, которая об-
служивает процессы, протекающие в устройствах, работающих в режиме непосредственной связи с ЭВМ. Эти процессы (например, синхронизированный из-
13
мерительный эксперимент - с точной фиксацией моментов измерения) имеют жесткие ограничения на время ответа: если запросы не будут вовремя обработаны, нарушается ход процесса, что приводит к неправильным результатам. Такие ОС часто проектируются специализированными, ориентированными на конкретный измерительный эксперимент. Современные ОС обеспечивают выполнение любого из перечисленных типов взаимодействия. Языки программирования. ИВК программируется на различных уровнях -
от кодов до алго-
ритмических языков. Все языки в зависимости от назначения можно разделить на два класса: машинно-ориентированные и проблемно-ориентированные. К машинно-ориентированным языкам относится ассемблер. Это язык символьного кодирования для конкретной ЭВМ. В процессе трансляции символьные адреса преобразуются в действительные машинные в соответствии с распределением памяти, которое автоматически выполняет транслятор. Для того чтобы избавить программиста от необходимости написания одинаковых частей программ, в ассемблере имеются макросредства, которые позволяют программисту задавать некоторую последовательность команд (макроопределение, организация библиотеки макрофункций). Программирование на ассемблере требует глубокого знания организации аппаратных средств ЭВМ и довольно трудоемко. Целесообразность использования машинно-ориентированного языка (ассемблера, си) определяют два фактора: 1) эффективность получаемой машинной программы, зависящая только от квалификации программиста и ресурсов ЭВМ; 2) универсальность языка. На нем программируется любая задача, которая вообще может быть решена на данной машине. Этот фактор является определяющим при программировании в измерительных системах, так как задачи там, как правило, связаны с программированием средств измерительных каналов
14
(управление режимами работы модулей канала), предобработкой данных (часто в реальном времени) и окончательной обработкой их и выдачей на устройства индикации или документирования в удобном, часто нестандартном, виде. В настоящее время широкое применение получил язык си, имеющий несколько основных типов объектов: символы ( байты), целые числа - короткие, длинные и определенные архитектурой ЭВМ, а так- же числа с плавающей запятой. Это позволяет настраивать язык на разные виды ЭВМ с различной разрядной сеткой. Язык си намного проще в использовании и эффективнее ассемблера. Проблемно-ориентированные языки различаются по форме записи и содержанию в зависимости от класса задач, для которых они разработаны. Применяемые в этих языках операторы ( манипуляции данными, управления программой, ввода-вывода, спецификации, обращения к подпрограммам) значительно облегчают программирование. Развитые библиотеки подпрограмм дают возможность программисту за минимальное время и с минимальными затратами создавать сложные программы для решения сложных научно-технических задач. Однако ресурсы системы часто используются неэффективно, не сокращается до минимума время решения. Решение задач в реальном времени на языках высокого уровня практически невозможно. Перевод программы с языков высокого уровня на машинный осуществляют программы-трансляторы. Компилятор - это транслятор, у которого исходным является язык высокого уровня, а объектным - язык низкого уровня, например ассемблер или вариант машинного языка с абсолютными или относительными адресами. Транслятор с ассемблера - это программа, у которой входным является ассемблер, а выходным - машинный язык конкретной ЭВМ (коды). Загрузчик - это транслятор, у которого выходом является программа с абсолютными адресами, готовая к выполнению на ЭВМ, а входом - программа на машинном языке ( с относительными адресами), не привязанная к конкретной области ОЗУ и адресам внешних устройств.
15
1.3. Показатели качества ИВК В соответствии с ГОСТ 26.203-81 ИВК относится к средствам измерений и, следовательно, технические характеристики ИВК условий эксплуатации, устойчивости к внешним факторам, хранению, электропитанию, изоляции, радиопомехам и другие регламентируются ГОСТ 22261-82 [2]. Характеристики надежности определяются как и для любого средства измерения. Метрологические
характеристики.
Для
ИВК
наиболее
распро-
страненным подходом к нормированию метрологических характеристик является разделение аппаратно-программных средств ИВК на тракты и каналы и нормирование характеристик этих трактов и каналов. Определение метрологических характеристик при этом производится расчетным методом, а их проверка путем введения в программное обеспечение ИВК специальных программ (метрологического программного обеспечения). Такой подход нашел отражение в нормативно-технических документах (ГОСТ 26.203-81, МУ 25.505-82). Качество реализации алгоритмов в ИВК зависит от ряда факторов, таких, как точность и быстродействие; диапазон изменения и форма представленных входных и выходных величин; чувствительность, помехоустойчивость; схемотехническая надежность; параметры окружающей среды; продолжительность работы; масса, габариты, потребляемая мощность; простота или сложность обслуживания, квалификация обслуживающего персонала и т.д. Обобщенный показатель качества функционирования ИВК представляет собою многомерный вектор W, зависящий от указанных выше параметров, которые, в свою очередь, зависят как от входного потока данных X, так и от параметров самой системы Y, т.е. W = F[a(X, Y) ],
(1)
где а - частный параметрический показатель; F- некоторый функционал, объединяющий частные показатели. Информационная эффективность W ИЭ характеризует способность ИВК обеспечивать максимально возможные информационные показатели в предпо16
ложении полной работоспособности всей аппаратуры и идеальных условий ее эксплуатации. Основные показатели информационной эффективности- точность и быстродействие ( производительность), которые могут быть выражены посредством частных показателей: статистическая относительная погрешность 8; средняя квадратическая погрешность δ; частота преобразования или снятия отчетов V; скорость изменения значения сигналов S; пропускная способность С; спектр (полоса пропускания), время действия и динамическая составляющая сигнала и канала соответственно Fs, Ts, Ds, F K, TK, D K; разрешающая способность сигнала и канала mS, mK и др. Таким образом, W ИЭ = F1 ( δ , σ , V, S, C, FS(K) , TS(K) , D S(K) , m S , m K ...) . (2)
В качестве основы для оценки ИЭ ИВК могут быть приняты нормируемые метрологические характеристики измерительных приборов по ГОСТ 8.009-84. Конструктивная (схемотехническая) эффективность WКЭ характеризуется возможностью использования ИВК для решения поставленных задач в конкретных условиях. Основные показатели КЭ - габариты Г, масса М, потребляемая мощность Р, число элементов (модули, узлы, блоки) n ЭЛ, коэффициент взаимозаменяемости элементов КВЗ, т.е. W КЭ = F2(Г, М, Р, n ЭЛ , К ВЗ ,...) . (3)
В качестве частных показателей КЭ могут быть использованы относительные величины, например ϕ КЭ = n ЭЛ /ГМР , ϕ КЭ = n ЭЛ К ВЗ /rCТ ,
(4) (5)
где rCТ - стоимость прибора. Эксплуатационная эффективность W ЭЭ характеризует условия эксплуатации ИВК, обеспечивающие достижение максимальных показателей ИЭ. 17
Основные показатели ЭЭ: коэффициент выбора оптимальной операционной системы КОС, наличия или отсутствия модулей программного обеспечения КПО возможности использования аппаратуры КАП и другие, т.е. W ЭЭ = F3(К ОС , К ПО , К АП ,...).
(6)
Информационная надежность W ИН характеризует правильность протекания информационных процессов в ИВК в заданном интервале времени при заданных внешних условиях (в том числе при воздействии помех) в предположении полной исправности аппаратуры. Информационная надежность ИВК зависит от таких факторов, как форма представления информации (аналоговая S или цифровая N); соотношение мощности полезных сигналов P S и помех P h , спектра сигналов F S и полосы пропускания каналов F K, времени действия сигналов T S и каналов T K; способы повышения помехоустойчивости (фильтрация, корреляция, избыточное кодирование и др), т.е. W ИН = F4(S, N, Р S /Ph , FS /F K , TS /TK , K ПУ ...) , (7)
где КПУ - коэффициент, характеризующийспособ повышения помехоустойчивости. В качестве частных показателей ИН могут быть использованы следующие [2]: потенциальная помехоустойчивость, вероятностный показатель погрешности, информационный показатель β (H) i = 1 − (H(x/y) i /H(x) i ), (8)
где х и у - входной и выходной сигнал; H(x) i - энтропия входного сигнала i-гo элемента; H(x/y) i - условная энтропия, характеризующая интенсивность помех; 0 ≤ β(H)i ≤ 1; H(x) ≥ H(x/y) ≥ 0 . Конструктивная (схемотехническая надежность) W КН определяется безотказной работой элементов ИВК в заданном интервале времени при заданных внешних условиях, в предположении, что отсутствуют помехи и сбои. Конструктивная надежность зависит от числа элементов n ЭЛ, их интенсивности отказов λ, продолжительности работы t Р коэффициента резервирования φ рез , параметров окружающей среды (температура tº , влажность rВЛ и др.) и 18
других факторов, т.е. W КН = F5(n ЭЛ , φ рез , t Р , t o , rВЛ ,...).
Эксплуатационная
надежность WKH
(9)
характеризует
условия
экс-
плуатации ИВК, обеспечивающие максимальную сохранность технических характеристик аппаратуры. Основные показатели ЭН - количество резервного оборудования n рез время обнаружения и устранения неисправностей - время простоя tПР. Частные
показатели
ЭН -
коэффициент
готовности
К Г = t Р /(t Р + t ПР ) ; коэффициент профилактики К КП = t Р /t ПР ;
аппаратуры коэффициент
квалификации обслуживающего персонала КВК и др. Таким образом, WЭН = F6(n рез , К Г , К ПР , К КВ ,...).
(10)
Приборная работоспособность ИВК может быть определена как W ПР = W ПЭ W ПН или WПР = WИР WКР,
где W ПЭ = W ИЭ W КЭ , W ПН = W ИН W КН , W ИР = W ИЭ W ИН , W КР = W КЭ W КН .
Для интегральной оценки приборной работоспособности ИВК можно использовать обобщенный критерий качества. В соответствии с этим критерием в техническом задании для ИВК должны быть указаны требуемые показатели ИЭ − γ ТЗ , ИН − β ТЗ , КЭ − ϕ ТЗ , КН − Р ТЗ , затем границы их допустимых откло-
нений, а также коэффициенты значимости показателей приборной работоспособности. Показатель качества функционирования ИВК по параметру γ определяется как Е γ = 1 − ∆ γ / ∆ γ доп ,
где
{
}
∆ γ = max ∆ γ max − ∆ γ доп , γ min − γ факт . .
Аналогично определяются показатели качества E β , E ϕ , E P .
19
(11)
Интегральная оценка качества функционирования ИВК производится суммированием частных показателей качества с учетом нормированных коэффициентов значимости q: E Σ = q γ E γ + qβEβ + q P E P ,
(12)
где q i = Q i / ∑ Q i = Q i /(Q γ + Q β + Q P ); I принимает значения γ , β , ϕ , Р , ; Q i - ненормированные коэффициенты значимости Q i ≥ 1. При оценке качества решения задачи необходимо учитывать влияние эксплуатационных факторов, которые, как правило, снижают показатели приборной работоспособности ИВК. Таким образом, все рассмотренные показатели имеют конкретное аналитическое выражение, что позволяет производить сравнительную оценку ИВК. 1.4. Принципы проектирования ИВК Существует две принципиально различные методики проектирования: итеративная (снизу вверх), иерархическая (сверху вниз). При итеративном подходе проектирование начинается с выбора так называемого нулевого варианта структуры системы. Этот вариант формируется на базе прототипных образцов или исходя из интуитивных представлений проектировщика. Выбранная
архитектура
является
основой
для
разработки
функ-
циональной модели, которая может быть аналитической или имитационной. Аналитические модели допускают исследование поведение объекта аналитическими методами без привлечения средств вычислительной техники (например, использование теории интегрально-дифференциальных уравнений, теории систем массового обслуживания, матричного исчисления и т.д.). Все остальные модели могут быть отнесены к классу имитационных. Создание моделей существенно упрощается при наличии банка моделей прототипной системы и компонентов. В этом случае проектировщик исследует поведение системы в новых условиях эксплуатации или с отличными режима20
ми обслуживания. Выбранная модель должна обеспечить возможность параметрической оптимизации по заданным критериям. На этом этапе используются автоматизированные методы проектирования или эвристические методы последовательного приближения. Проектирование рассматривается как процесс проб и ошибок, который через последовательные приближения приводит к системе, удовлетворяющей заданным критериям точности и производительности. Анализ производительности и точности желательно сочетать с анализом конструктивной и информационной надежности, для чего модели системы должны быть соответствующим образом усовершенствованы. В случае сложности или невозможности создания комплексных информационно-надежностных
моделей
можно
проводить
одновременные ис-
следования и усовершенствования на концептуально различных моделях, но при этом неизбежны трудности многопараметрической оптимизации. Иерархический подход к проектированию предусматривает синтез системы из базового набора компонентов по заданным критериям эффективности. При этом подразумевается, что полученный вариант системы будет удовлетворять всем установленным спецификациям и не нуждается в дополнительных исследованиях. К настоящему времени подобные глобальные методы еще не разработаны, хотя существуют частные методы, относящиеся к некоторым этапам проектирования систем. В связи с этим находят применение иерархические процедуры синтеза систем по уровню абстракции моделей, отличающихся уровнем детализации. Возможно применение смешанных методик, учитывающих как итеративный, так и иерархический подход. В рамках рассмотренных методик и при блочно-модульном принципе построения возможны два подхода к созданию ИВК: индивидуальная разработка и проектная компоновка. В первом случае разрабатывается полная и достаточно подробная структура ИВК, обеспечивающая стыковку как с объектами исследования, так и с
21
потребителями информации, ожидаемые характеристики которой соответствуют требованиям технического задания. Затем структурная схема разбивается на функционально законченные части, которые в дальнейшем разрабатываются как самостоятельные модули, отвечающие индивидуальным требованиям. Таким образом, характеристики системы должны уточняться после разработки всех модулей. Это затрудняет выбор оптимального варианта построения ИВК. Метод проектной компоновки заключается в проектировании ИВК с максимальным использованием выпускаемых агрегатных средств и применением расчетных методов определения характеристик системы по характеристикам отдельных блоков. Этот подход позволяет выбрать оптимальный вариант построения ИВК, не исключает индивидуального проектирования модулей с характеристиками, отличными от существующих, максимально сокращает сроки проектирования. Для практической реализации метода проектной компоновки необходимо учитывать требования ГОСТ 22.317-77 и ГОСТ 8.009-84. Исходными данными для функционального синтеза являются функциональные спецификации ТЗ, в частности круг решаемых задач, режимы испытаний и протоколы обмена информацией. Цель функционального синтеза - разработка архитектуры ИВК на уровне логической структуры без конкретизации типов системного оборудования. На этой стадии проектирования очень удобным аппаратом может стать морфологический анализ круга решаемых задач. Назначение морфологического анализа - установление соответствия между словесным описанием и структурой алгоритмов функционирования системы. На стадии структурного проектирования функциональные символы морфологических таблиц преобразуются в конкретные типы системного оборудования. Этот процесс можно назвать генерацией системных вариантов. Далее необходимо перейти к параметрическому синтезу системы. Автоматизированные методы параметрической оптимизации основаны на численных методах поиска экстремума функции одной или нескольких переменных.
22
При этом необходимо решить три задачи: разработать математическую ( оптимизационную) модель системы, выбрать критерий и метод оптимизации. Под математической моделью системы понимается описание взаимосвязи (числовой или логической) варьируемых параметров и выходных показателей при определенной совокупности входных воздействий. Задача синтеза системы - выбор ее параметров, удовлетворяющих поставленным требованиям. Для формализации процесса выбора эти требования необходимо задать в виде некоторой системы чисел W 0 и затем получить при расчете системы соответствующие им показатели в виде совокупности выходных характеристик W. Процедура синтеза заключается в нахождении параметров, удовлетворяющих условиям W j ≤ Woj , где W j ∈ W, Woj ∈ Wo . При корректной постановке задачи один из компонентов множества W будет целевой функцией S, минимизируемой или максимизируемой в процессе синтеза. Под целевой функцией понимается основной показатель эффективности. Все параметры системы можно рассматривать как входные сигналы оператора L синтезируемой системы, под которым понимается совокупность математических операций, описывающих численные или логические соотношения между входными и выходными сигналами. Система выходов представляет собой совокупность ( вектор) критериальных функций, включая ( при необходимости) целевую функцию S. Совокупность входных сигналов отображает технические параметры X рассматриваемой системы и возмущения Y. действующие на систему. В системе могут присутствовать и сигналы Z, имеющие в отличие от внешних X и Y источники внутри синтезируемой системы, которые надо пересчитывать во входные независимые сигналы. Процесс параметрического синтеза можно изобразить в виде замкнутой системы (рис. 3), где под Хо понимается совокупность параметров, отвечающих заданным условиям оптимизации. Следующая задача состоит в выборе критерия оптимизации, который в той или иной форме обобщает выходные ( критериальные) показатели. Подобный обобщающий функционал называют функцией поиска. Обобщающий функционал
23
Рис. 3. Схема системного параметрического анализа
позволяет для каждой точки ( вектора) пространства варьируемых параметров получать единую оценку и тем самым сравнивать решения и выбирать лучшее при использовании методов перебора и вычислять значение градиента и формировать направление поиска при использовании градиентных методов. Более общими являются функции поиска оптимального значения S o(x) целевой функции S(x) с ограничением остальных критериальных компонентов: S o (x) = min(max)S( x)
приW j ≤ Woj . (13)
В качестве целевой функции для ИВК может быть выбрана вероятность точного обслуживания, под которой понимается вероятность обработки всего потока первичной информации датчиков с заданной точностью и достоверностью. Методы оптимизации делятся на однопараметрические ( одна функция поиска) и многопараметрические. Примеры использования некоторых методов в задачах проектирования ИВК рассмотрены в [2, 3]. Таким образом, параметрический синтез сводится к направленному перебору вариантов структур проектируемой системы. При отсутствии варианта, удовлетворяющего всем поставленным требованиям, возникает необходимость либо в проектировании нестандартного оборудования, либо в изменении набора структур, или функциональной схемы, или требований ТЗ. Процедура, системотехнического проектирования в обобщенной форме представлена на рисунке 4. Из блок-схемы следует, что процесс проектирования ИВК - трудная и многоплановая задача. Единственным способом сократить
24
сроки проектирования является создание систем автоматизированного проектирования ИВК.
Рис. 4. Блок-схема процедуры системного проектирования ИВК
25
Безусловно, САПР потребует значительных затрат на разработку специфического информационного и программного обеспечения, основу которого составляют модели различного назначения. Проектировщик должен располагать моделями, отображающими метрологические особенности, конструктивную и информационную надежность системы, характеризующими производительность в различных ее аспектах, и наконец моделями параметрического синтеза. Последний тип моделей не имеет самостоятельного значения. Из предыдущего материала следует, что введение в любую модель блока анализа критериальных результатов и решающего правила подбора параметров позволяет оптимизировать ее структуру. Существует два основных метода моделирования: аналитический и имитационный. В первом случае поведение объекта отражается в виде зависимостей, допускающих исследования методами математического анализа. В случае имитационного моделирования поведение объекта многократно воспроизводится последовательностью арифметических и логических операций на ЭВМ, что не исключает использование математическихзависимостей, но все соотношения представляются в числовой форме, Результат имитационногомоделированиявыбор чисел (точечная оценка). Многократноевоспроизведениеповедения объекта при различных воздействиях позволяет всестороннеоценить качество его функционирования. Метод имитационного моделирования со случайными воздействиями, иначе метод статистического моделирования, или метод Монте-Карло, дает возможность получать интервальные оценки выходных характеристик объекта с заданной точностью и достоверностью. Основные достоинства аналитических моделей - простота их разработки и анализа, а также быстрое получение и наглядность результатов [2, 4]. Недостаток - существенное расхождение между реальными характеристиками объектов и характеристиками, полученными из модели. Имитационные модели обеспечивают адекватность характеристик, но требуют больших затрат на разработку и использование.
26
2. ПРИБОРНЫЙ ИНТЕРФЕЙС IEC 625-1 Основные положения, признаки классификации и общие требования к ИВК в целом и их компонентам, а также требования к проведению испытаний установлены ГОСТ 26.203-81 [5]. В соответствии с ним ИВК представляет собой автоматизированное средство измерений электрических величин, на основе которого возможно создание ИИС путем присоединения к входу измерительных каналов ИВК датчиков измеряемых величин с унифицированным электрическим выходным сигналом и генерации на основе программных компонентов ИВК программ обработки информации и управления экспериментом, ориентированных на решение конкретных задач. Выбор комплекса нормированных метрологических характеристик ИВК производится в соответствии с ГОСТ 8.009-72. В АСЭТ используется интерфейс МЭК (ГОСТ 26.003-80). Этот интерфейс называют также IEEE-48-8 (Institute of Electrical and Electronics), (General Purpose Interface Bus),
или GPIB
или HP-IB (Hewlett Parkart-Interface Bus).
Ин-
терфейс разработан для программируемых и непрограммируемых электронных измерительных приборов. Он представляет собой 16- линейную двунаправленную пассивную систему связи, к которой можно подключить параллельно до 15 приборов, в том числе контроллер. Функционально линии, образующие магистраль, группируются в три шины: данных, согласования передачи и общего управления (рис. 5). Конструктивно интерфейс состоит из кабеля, разъемов и модулей на печатных платах (интерфейсных карт). Кабель осуществляет параллельное соединение всех устройств таким образом, что данные от одного устройства могут передаваться либо одному, либо нескольким устройствам, входящим в систему. Интерфейсные карты формируют сигналы обмена информацией. Шина данных Д0...Д7 состоит из восьми линий, по которым осуществляется обмен (передача - прием) информацией бит - параллельным, байт последовательным способом. По этим шинам передаются данные: результаты 27
измерений, адреса, программы, управляющие байты, байты состояний.
Рис. 5. Измерительно-вычислительный комплекс на базе КОП
Обмен
данными может происходить между передающими
изме-
рительными модулями ( источниками) и принимающими ( приемниками) или между контроллером и подчиненными ИМ. В интерфейсе различают следующие модули ( см. рис.5): контроллер ( К), передающий и принимающий (ИМПП), только передающий ( ИМПЕ), только принимающий ( ИМПР). Каждый модуль должен выполнять хотя бы одну функцию. Одновременно может работать несколько принимающих и только один передающий модуль. Из всех ИМ нужно выделить контроллер, назначение которого организация взаимодействия модулей системы. Команды контроллера указывают адрес модуля - передающего или принимающего, а также характер и последовательность операций. Контроллер строится на базе микропроцессора и выполняет следующие функции: задание программы, управление процедурой и интерпретация результатов измерений. Шина согласования передачи (синхронизации) объединяет три линии, по которым передаются сигналы: СД (DAV) - "
сопровождение Данных"; ГП
(NRED) - " готов к приему"; ДП (NDAC) - " данные приняты". Перечисленные сигналы служат для синхронизации обмена между модулями (рис. 6). Управляющими являются инверсные значения сигналов, то есть низкие уровни. Сигнал СД вырабатывается передающим устройством ИМПЕ ( ИМПП, 28
К), когда данные готовы. Если принимающий модуль ИМПР (ИМПП, К) не занят (высокий уровень сигналов ГП и ДП), то передающий
модуль ИМПЕ вы-
ставляет данные ( байт информации) на шины Д0-Д7. Устройство ИМПР отвечает сигналом ГП, устройство ИМПЕ снимает сигнал СД, а ИМПР принимает с шин Д0...Д7 данные, после чего снимает сигнал ГП. В конце цикла обмена ИМПР вырабатывает сигнал ДП, который указывает, что данные приняты а можно продолжить работу. Если необходимо передать следующий байт, цикл повторяется.
Рис. 6. Временная диаграмма обмена данными в ИВК с КОП
Шина общего назначения состоит из пяти линий, по которым передаются сигналы между контроллером и другим ИМ системы: сигнал управления УП вырабатывается контроллером, по этому сигналу все устройства переходят в режим ожидания, и контроллер управляет работой системы; по шинам данных передаются адреса ( адрес передающего устройства, адрес принимающего устройства) или команды ( универсальная, вторичная, приема, передачи); когда сигнал УП снимается, начинают обмен остальные ИМ системы; сигнал очистки интерфейса ОИ вырабатывается контроллером и переводит все ИМ системы в начальное состояние; сигнал запроса на обслуживание 30 вырабатывается модулем системы, когда требуется прервать текущий обмен по магистрали и перейти на приоритетное обслуживание данного ИМ контроллером; сигнал дистанционного управления ДУ вырабатывается контроллером и переключает ИМ с местного управления (с лицевой панели) на дистанционное; сигнал КП (конец
29
передачи) устанавливается в низкий уровень одновременно с передачей последнего байта данных и говорит об окончании передачи сообщений по шине данных. Дистанционные сообщения Все сообщения, передаваемые через КОП, подразделяются на два класса: интерфейсные сообщения; сообщения устройств. В каждый момент времени может передаваться только одно многолинейное сообщение. Интерфейсные сообщения ( команды) используются для управления функциями интерфейса ( табл.1); они передаются при низком состоянии линии УП и в устройство не проходят ( кроме сообщений запуск устройства, сброс универсальный и сброс адресный). Таблица 1. Кодирование многолинейных сообщений
Код многолинейных команд ГАК ГУК ГАП ГАИ ГВК ПНМ СБА КПР ЗАЛ ВУП СБУ ДПР ОПО ЗПО ЗПМ ЗПР ОПР НПМ НПД
ЛД7 X X X X X X X X X X X X X X X X X X X
Логическое значение на линиях данных ЛД6 ЛД5 ЛД4 ЛД3 ЛД2 ЛД1 0 0 0 X X X 0 0 1 X X X 0 1 X X X X 1 0 X X X X 1 1 X X X X 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 1 1 Н Н Н 1 1 0 С П П 0 1 1 1 1 1 1 0 1 1 1 1
ЛД0 X X X X X 1 0 1 0 1 0 1 0 1 1 Н П 1 1
Обозначения: Х - линию использовать не обязательно; С - бит " считывание", приписывающий истинное значение биту состояния при параллельном опросе. Параллельный опрос возможен, если этот бит совпадает с битом, вы-
30
даваемым устройством; П - биты, приписывающие линию данных, по которой устройство должно выдавать местное сообщение реакции на параллельный опрос (РОП); Н- биты сообщения, на которые приемник не должен реагировать. Группа универсальных команд ( ГУК) -
команды, вызывающие со-
ответствующее действие одновременно во всех устройствах. К ним относятся ДУ, ОИ, УП, ОПО, ЗПО, ДПР, СБУ, ЗПМ. Группа адресных команд ( ГАК) -
команды, вызывающие соответ-
ствующее действие только в устройствах, запомнивших свой адрес. К ним относятся ПНМ, СБА, КПР, ЗАЛ, ВУП. Группа адресов приемников ( ГАП) - команды, используемые с целью включения определенных устройств для приема информации из КОП. Каждому приемнику должен быть приписан свой "адрес на прием" (МАП), младшие 5 бит которого могут совпадать с аналогичными битами его адреса источника (МАИ). Группа адресов источников ( ГАИ) - команды, используемые с целью включения определенного устройства для передачи информации в КОП и для выключения любого другого устройства, уже работающего в качестве источника. Каждому источнику должен быть приписан свой адрес источника ( МАИ), младшие 5 бит которого могут совпадать с аналогичными битами его адреса на прием (МАП). Группа вторичных адресов ( ГВК) - команды, используемые в качестве второго адресного байта при адресации устройства на прием или передачу. В устройстве, содержащем как функции интерфейса " расширенный источник" (ИР), так и "расширенный приемник" (ПР), можно применять одинаковый вторичный адрес ( МВА) как для источника ( И), так и для приемника ( П). К этой группе относятся также команды ЗПР, ОПР. Сообщения устройств - сообщения, используемые устройствами для обеспечения выполнения ими основной задачи. Эти сообщения передаются при высоком состоянии линии УП и не влияют на состояния интерфейсных функций. Общие правила кодирования сообщений устройств приведены в таблице 2.
31
К сообщениям устройств относятся: программные данные ( код типа функции, код значения функции), основные данные, данные о состоянии. Коды и форматы основных данных, программных данных и данных о состоянии приведены в разделе 2.4. Программные ( управляющие) данные ( код значения функции, код типа функции - сообщения, используемые для подготовки устройства к исполнению основной задачи. Таблица 2. Кодирование сообщений устройств
Код передачи программных и основных данных Тип функции Значение функции Резерв
Логическое значение на линиях данных ЛД7 X X X
ЛД6 0 0 1
ЛД5 0 1 1
ЛД4 X X X
ЛД3 X X X
ЛД2 X X X
ЛД1 X X X
ЛД0 X X X
Основные данные - сообщения, относящиеся непосредственно к выполнению основной задачи устройства ( например, представление напряжения, измеренного цифровым вольтметром; представление частоты, измеренной частотомером; текст с экрана дисплея и т.п.). Данные о состоянии - сообщения, описывающие состояние устройства. Состояние устройства "занято" В системе допускается либо программировать устройство, либо запускать устройство на выполнение какой-либо операции, а затем осуществлять связь с другими устройствами ( в то время как первое устройство " занято" выполняет необходимую задачу). "Занято" (операция выполняется) - состояние устройства, а не состояние интерфейса. Для осуществления связи через шину интерфейса, независимо от состояния устройства и определения состояния "занято", используют методы: линии ГП; линии 30 и последовательный опрос; параллельный опрос. Методы последовательного и параллельного опроса описаны в разделе 2.1. При использованиилинии ГП для определениясостояния"занято" сигнал ГП
32
имеет более широкое значение, чем обычное "готов для следующегобайта данных". Внутренний сигнал " занято" поступает на сигнальную линию ГП через функцию СП. Устройство может быть не адресовано как " приемник" во время состояния "занято", а шины интерфейса могут использоваться для Других целей. Если устройство повторно адресуется как " приемник", то когда оно " занято", линия ГП устанавливается в низкое состояние; когда его состояние соответствует состоянию "операция завершена", то линия ГП устанавливается в высокое состояние. 2.1. Функции интерфейса 2.1.1. Классы функций и их характеристика Каждое устройство, предназначенное для использования в системе, выполняет три класса функций: устройства, (логику) кодирования дистанционной информации, интерфейса. Функции устройства определяют область применения и назначения устройства (например, диапазон измерений, режим работы, возможность аналогового измерения сигнала). Эти функции стандартом не регламентируются. Кодирование
дистанционной
информации (
преобразование
ди-
станционных сообщений в значения сигналов на интерфейсных линиях) устанавливается в п. 2.4. Функции интерфейса - это его способность к выполнению оговоренных операций при работе в системе. Каждая функция интерфейса реализуется аппаратно или программно в устройстве. Функции интерфейса и каналы прохождения сообщений, регламентируемые стандартом, указаны на рисунке 7. Функциональная совместимость приборов, соединенных через систему интерфейса, обеспечивается наличием единого, наперед заданного, набора интерфейсных функций и единообразием алгоритмической реализации каждой из них. Все связи между функциями осуществляются с помощью сообщений. 33
Рис. 7. Функциональное разделение устройства: У1 - интерфейсная часть устройства; У2 - часть устройства, предназначенная Для решения основной задачи. Каналы прохождения сообщений: 1 - линии сигналов в КОП; 2 - дистанционные интерфейсные сообщения на функции интерфейса и от них; 3 - сообщения устройства, передаваемые на функции интерфейса и от них; 4 - связи состояний между функциями интерфейса; 5 - местные сообщения между функциями интерфейса и функциями устройства (сообщения на функции интерфейса регламентированы, сообщения от функций интерфейса по выбору конструктора); 6 - дистанционные интерфейсные сообщения, посылаемые функциями устройства в контроллере.
Дистанционные сообщения устройств проходят между функциями устройства и определенной функцией интерфейса. Местные сообщения проходят между функциями устройства и функциями интерфейса (рис. 7 - линия прохождения сообщений 5). При необходимости местные сообщения передаются как дистанционные сообщения и, наоборот. Разра-
34
ботчику запрещено вводить новые местные сообщения в функции интерфейса. Связь состояний - это логическое соединение двух функций интерфейса, где переход в активное состояние одной функции интерфейса зависит от наличия оговоренного активного состояния другой его функции. Функции: интерфейса задаются диаграммами состояний из одной или нескольких групп взаимосвязанных состояний. В группе взаимосвязанных и взаимоисключающих состояний только одно состояние может быть активным (истинным) в один и тот же момент времени. Для каждого состояния функции интерфейса установлены: дистанционные сообщения, которые могут или должны посылаться через интерфейс во время активного состояния; условия, при которых функция интерфейса должна переходить из данного состояния в другое состояние. Эти сообщения и условия определяют способность системы обрабатывать информацию в данном состоянии. Применяются четыре значения дистанционных сообщений, передаваемых устройством: активное истинное - гарантируется истинность сообщения, выдаваемого устройством, и оно не подавляется в КОП; пассивное истинное - гарантируется истинность сообщения, выдаваемого устройством, но оно подавляется в КОП; активное ложное - гарантируется, что сообщение, выдаваемое устройством, ложное, и оно не подавляется в КОП; пассивное ложное - гарантируется, что сообщение, выдаваемое устройством, ложное, и оно подавляется в КОП. Например, первый прибор-приемник выдает истинное значение сигнала ДП ( ГП), а второй - ложное. Общее состояние линии ДП (ГП) - низкое. Поэтому для первого приемника значение сигнала ДП пассивное истинное, для второго - активное ложное, то есть при работе в КОП нескольких приемников истинное значение линий ДП и ГП всегда пассивно, а ложное всегда активно. При наличии в КОП только одного приемника понятие активный и пассивный для линии ГП, ДП теряет смысл.
35
Для каждого состояния функции интерфейса оговариваются только многолинейные сообщения, посылаемые истинными. Следует понимать, что при активном состоянии функции все неоговоренные многолинейные сообщения посылаются пассивными ложными. Каждое состояние, которое принимает функция интерфейса, обозначают графически в виде окружности. Для обозначения состояний используется набор из четырех букв, который всегда начинается с буквы С и помещается в центре окружности ( рис. 8). Все переходы состояний функции интерфейса обозначаются графически стрелками, соединяющими окружности, представляющие эти состояния. Каждый переход обозначают " выражением", и его значение может быть либо истинным, либо ложным.
Рис. 8. Диаграмма состояний
Функция интерфейса должна оставаться в активном состоянии, если все выражения переходов в другие состояния являются ложными. Функция интерфейса должна устанавливаться в состояние, указанное ей, когда одно из этих выражений становится истинным. Выражение должно состоять из одного или более местных сообщений, дистанционных сообщений состояний функций и минимальных лимитов времени, используемых с операторами И, ИЛИ или НЕ. Местные сообщения, передаваемые в функцию интерфейса, обозначаются тремя строчными буквами, например "гтп". Дистанционные сообщения (получаемые через интерфейс) обозначаются: кодированные - тремя прописными буквами ( например, МАП), некодирован36
ные - двумя прописными буквами ( например, УП). Оператор И обозначается символом "^". Оператор ИЛИ обозначается символом " v". В пределах выражения оператор И, как правило, имеет преимущество над оператором ИЛИ. Оператор НЕ обозначается горизонтальной чертой над выражением. Время, необходимое для осуществления перехода из одного состояния в другое, регламентируется ГОСТом. В [5] приведены значения минимального Тn и максимального t n значения времени необходимого для осуществления перехода из одного состояния функции интерфейса в другое. Тn и t n принимают истинное значение только после того, как функция интерфейса входит в то состояние, из которого осуществляется соответствующий переход за оговоренное выше время. Они остаются истинными, пока существует это состояние. Если истинное значение части выражения не обязательно для того, чтобы все выражение было истинным, эта часть выражения заключаетсяв квадратныескобки. 2.1.2. Функция интерфейса "синхронизация источника" (СИ) Функция СИ обеспечивает правильную передачу устройством многолинейных сообщений. Последовательность синхронизации между функцией СИ и одной или несколькими функциями интерфейса синхронизация приемника" (каждая содержится в отдельных уст- ройствах) гарантирует асинхронную передачу многолинейных сообщений (см. п. 2.2). Функция интерфейса " синхронизация источника" контролирует) начало и окончание передачи многолинейного сообщения. Эта функция использует линии СД, ГП и ДП сообщения для воздействия на передачу каждого байта сообщений. Функция СИ должна выполняться в соответствии с диаграммой, приведенной на рисунке 9. В таблице 3 указан набор сообщений и состояний функции СИ для перехода из одного активного состояния в другое.
37
Рис. 9. Диаграмма функции "синхронизация источника" Таблица 3. Набор сообщений и состояний функции СИ для перехода из одного активного состояния в другое Наименование Питание включено Имеется новый байт Управление Готов к приему Данные приняты Состояние синхронизации передачи источника: "холостой ход" "генерация" "задержка" "передача" "ожидание нового цикла" "холостой ход и ожидание" Состояние источника "активен" Состояние "последовательный опрос активен" Состояние контроллера: "активен" "переход"
Условное обозначение вкл инб УП ГП ДП СИХС СИГР СИЗД СИПД СИОЦ СИХО СИАК СПСА СКАК СКПД
В состоянии синхронизации передачи источника "холостой ход" (СИХС) функция СИ не участвует в цикле синхронизации и не имеет нового байта дан38
ных. Питание на функцию СИ подается в состоянии СИХС. Функция СИ должна выходить из состояния СИХС и принимать состояние " генерация" ( СИГР), если состояние "источник активен" (СИАК) активно или состояние "контроллер активен" (СКАК) активно. В состоянии синхронизации передачи источника "генерация" (СИГР) устройство генерирует новый байт сообщения, и функция ожидает новый байт. В состоянии СИГР функция СИ должна посылать ложное сообщение СД. В этом состоянии устройство может изменять кодированное сообщение, посылаемое через функцию интерфейсе "контроллер" или "источник", когда они находятся в состоянии СИАК или СКАК. Функция СИ должна выходить из состояния СИГР и принимать: состояние источника СИЗД, если сообщение инб истинно; состояние СИХС в пределах t 2, если сообщение УП истинно и состояния СКАК и СКПД не активны или сообщение УП ложно и состояния СИАК и СПСА не активны. В состоянии синхронизации передачи источника СИЗД функция СИ ожидает установления байта сообщения на интерфейсных сигнальных линиях после изменения его во время состояния СИГР и ожидает пока функции приемника не покажут, что они готовы принять новый байт сообщения. В состоянии СИЗД функция СИ должна посылать ложное сообщение СД. В этом состоянии устройство не должно изменять посылаемое многолинейное сообщение. Функция СИ должна выходить из состояния СИЗД и принимать: состояние источника СИПД только после Т1, если сообщение ГП истинно; состояние СИХС в пределах t 2, если сообщение УП истинно и состояния СКАК и СКПД не активны или сообщение УП ложно и состояния СИАК и СПСА не активны. В состоянии синхронизации передачи источника СИПД функция СИ указывает функции "синхронизация приема", что она посылает истинные данные. В состоянии СИПД функция СИ должна посылать истинное сообщение
39
СД. В этом состоянии устройство не должно изменять посылаемое многолинейное сообщение. Функция СИ должна выходить из состояния СИПД и принимать: состояние СИОЦ, если сообщение ДП истинно; состояние СИХО в пределах t 2, если сообщение УП истинно и состояния СКАК и СКПД не активны или сообщение УП ложно и состояния СИАК и СПСА не активны. В состоянии источника " ожидание нового цикла" ( СИОЦ) функция СИ ожидает, пока устройство не начнет новый цикл генерации данных. В состоянии СИОЦ функция СИ может посылать сообщение СД истинным или ложным. В этом состоянии устройство не должно изменять посылаемое многолинейное сообщение. Функция СИ должна выходить из состояния СИОЦ и принимать: состояние СИГР, если сообщение " инб" ложно; состояние СИХО в пределах t 2, если сообщение УП истинно и состояния СКАК и СКПД не активны или сообщение УП ложно и состояния СИАК и СПСП не активны. В состоянии синхронизации передачи источника "холостой ход и ожидание" ( СИХО) функция СИ не активна во внешнем процессе передачи байтов данных и активна во внутреннем процессе ожидания того момента, когда устройство начнет новый цикл генерации данных. Состояние СИХО позволяет прерывать последовательность передачи байтов данных без потери данных в интерфейсе. В этот же момент устройство может продолжить подготовку к новому (следующему) циклу генерации данных. В состояние СИХО сообщение СД должно посылаться пассивным ложным. Функция СИ должна выходить из состояния СИХО и принимать: состояние СИХС, если сообщение "инб" ложно; состояние СИОЦ, если состояние СИАК активно, или состояние СПСА активно, или состояние СКАК активно. Дополнительные требования к функции СИ Истинное сообщение "инб" показывает, что устройство выдало новый байт
40
данных и сделало его доступным для использованияна линиях сигнала интерфейса. Сообщение "инб" должно стать истинным только в состояниях СИХС или СИГР. Сообщение "инб" может стать ложным в любом другом состоянии СИ. Выражение | УП /\ СКАК \/ СКПД| \/ | УП /\ СИАК \/ СПСА| может быть заменено на СИАК /\ СПСА /\ СКАК /\ СКПД, если переход последнего выражения может быть осуществлен в пределах t2 после изменения УП. 2.1.3. Функция интерфейса "синхронизация приема" (СП) Функция СП обеспечивает правильное получение устройством дистанционных многолинейных сообщений. Взаимодействие синхронизации между функцией СИ и одной или более функциями СП, каждая из которых содержится в отдельном устройстве, гарантирует асинхронную передачу каждого байта данных. Функция СП может задерживать либо начало, либо окончание передачи кодированных сообщений до тех пор, пока она не будет готова продолжать процесс приема данных. Функция СП использует сообщения СД, ГП, ДП для приема данных. Функция интерфейса СП должна быть реализована в соответствии с рисунком 10. В таблице 4 указан набор сообщений и состояний для перехода из одного активного состояния в другое. В состоянии приема " холостой ход" (СПХС) функция интерфейса СП не активна и не участвует в цикле синхронизации. В состоянии СПХС сообщения ГП и ДП должны посылаться пассивными истинными. Функция СП должна выходить из состояния СПХС и принимать состояние "не готов" (СПНГ) в пределах t 2, если сообщение УП истинно, или состояние "приемник активен" (СПАД) активно. В состоянии приема "не готов" (СПНГ) функция СП указывает интерфейсу, что она еще не готова продолжать цикл синхронизации. В состоянии СПНГ сообщения ГП и ДП должны посылаться ложными.
41
Функция СП должна выходить из состояния СПНГ и принимать: состояние СПГТ, если сообщение "взять управление синхрона (вус) ложно, сообщение УП истинно или сообщение "гтп" истинно; состояние СПХС, если сообщение УП ложно и состояния СПА или СПАК не активны; состояние СПОЦ, если сообщение СД истинно (этот переход в произойдет при нормальной работе интерфейса, однако он может быть применен для упрощения реализации функции).
Рис. 10. Диаграмма функции "синхронизация приема" Таблица 4. Набор сообщений и состояний функции СП для перехода из одного активного состояния в другое Сообщение или состояние Питание включено Готов для приема следующего сообщения Взять управление синхронно Управление Сопровождение данных
Условное обозначение вкл гтп
Состояние приема: "холостой ход" "не готов" "готов" "ожидание нового цикла"
вус УП СД СПХС СПНГ СПГТ СПОЦ
Состояние "прием данных" Состояние приемника: "адресован" "активен"
СПРМ СПАД СПАК
В состоянии приема "готов" (СПГТ) функция СП показывает интерфейсу, что она готова принимать многолинейные сообщения. 42
В состоянии СПГТ сообщение ДП должно посылаться ложным, а сообщение ГП должно посылаться истинным. Функция СП должна выходить из состояния СПГТ и принимать: состояние СПРМ, если сообщение СД истинно; состояние СПХС, если сообщение УП ложно и состояния СПАД или СПАК не активны; состояние СПНГ в пределах t2, если сообщения УП и "гтп" ложны. В состоянии " прием данных" ( СПРМ) функция СП указывает функции СИ, чтобы она не изменяла посылаемое кодированное сообщение. Это единственное состояние, при котором многолинейные сообщения с ЛД должны приниматься в устройство. Если сообщение УП истинно, то состояние СПРМ указывает функциям интерфейса, что имеется сообщение интерфейса. Состояние СПРМ указывает функциям устройства, что имеется сообщение для устройства, если состояние СПАК активно. В состоянии СПРМ сообщения ДП и ГП должны посылаться ложными. Функция СП должна выйти из состояния СПРМ и принять: состояние приема "ожидание нового цикла" (СПОЦ), если сообщение УП истинно и прошел период Т3 или сообщение УП и "гтп" ложные; состояние СПХС, если сообщение УП ложное и состояние СПАД или СПАК не активное; состояниеСПГТ, если сообщениеСД ложное(этот переход в контроллереможет произойтитольков том случае, когда контроллерберет управлениеасинхронно). В состоянии приема "ожидание нового цикла" (СПОЦ) функция СП показывает, что получен байт данных многолинейного сообщения. В состоянии СПОЦ сообщение ГП должно посылаться ложным, а сообщение ДП должно посылаться пассивным истинным. Функция СП должна выходить из состояния СПОЦ и принимать: состояние приема "не готов" (СПНГ), если сообщение СД ложно;
43
состояние СПХС, если сообщение УП ложно и состояние СПАД или СПАК не активно. Дополнительные требования к функции СП: местное сообщение "гтп" не может быть ложным в состоянии СПГТ; переход из СПГТ в СПНГ должен происходить только тогда, когда УП станет ложным; сообщение ГП, полученное функцией СИ, является логическим И всех сообщений ГП, посылаемых всеми активными функциями СП. Подобным образом сообщение ДП, полученное функцией СИ, является логическим И всех сообщений ДП, посылаемых всеми функциями СП. 2.1.4. Функция интерфейса "источник" (И) Функция интерфейса " источник" обеспечивает устройству возможность посылать основные данные устройства или данные состояния через интерфейс на другие устройства. Эта возможность существует только тогда, когда функция интерфейса "источник" адресована на "передачу" (см. п.2.2). Существует два варианта функции "источник": с расширенным адресом и без расширенного адреса. В отдельном устройстве необходима только одна из двух разновидностей функции "источник". Обычная функция " источник" использует однобайтовый адрес. Функция "источник с расширенным адресом" (ИР) (далее - функция "источник с расширением") использует двухбайтовый адрес. Во всех других аспектах возможности обоих вариантов одинаковы. Функция "источник" должна выполняться в соответствии с диаграммами состояний, приведенными на рисунке 11. В таблице 5 указаны сообщения и состояния для перехода из одного состояния в другое. Сообщения, посылаемые функцией И, выдаются от функций устройства. Функция ИР должна быть выполнена в соответствии с диаграммами состояний на рисунке 12.
44
Рис. 11. Диаграмма функции "источник"
Рис. 12. Диаграмма функции "источник с расширением"
45
В состоянии источника " холостой ход" (СИХХ) функция "источник" или функция "источник с расширением" не участвуют в посылке байтов данных или состояний. Функция И или функция ИР в состоянии СИХХ получает питание. Таблица 5. Набор сообщений и состояний функции И (ИР) для перехода из одного состояния в другое Сообщение или состояние
Условное обозначение
Питание включено "Только передавать" Очистить интерфейс Управление Мой адрес источника Другие адреса источников Другие вторичные адреса Группа первичных команд Отпирание последовательного опроса Запирание последовательного опроса Мой вторичный адрес Состояние источника: "холостой ход" "адресован" "активен" "первичный холостой ход" "первичный адресован" Состояние: "последовательный опрос активен" "холостой ход последовательного опроса" "режим последовательного опроса" "прием данных" Состояние приемника "первичный адресован"
вкл тпд ОИ УП МАИ ДАИ ДВА ГПК ОПО ЗПО МВА СИХХ СИАД СИАК СИПХ СИПА СПСА СХПС СПСО СПРМ СППА
В состоянии СИХХ сообщения КП и ОБЗ должны посылаться пассивными ложными, а сообщение ПУС должно посылаться пассивным истинным. Функция И должна выходить из состояния СИХХ и принимать состояние источника "адресован" (СИАД), если сообщение"мой адрес источника" (МАИ) истинно, состояниеСПРМ активно или сообщение"только передавать" (тпд) истинно. Функция ИР должна выходить из состояния СИХХ и принимать состояние СИАД, если сообщение "мой вторичный адрес" (МВА) истинно, состояние СПРМ активно и состояние источника "первичный адресован" (СИПА) активно 46
или сообщение "тпд" истинно. В состоянии источника " адресован" ( СИАД) функция И получила свой адрес источника и готова посылать данные или байты состояния, но еще не посылает их. В состоянии СИАД функция ИР получила свои первичные и вторичные адреса на передачу и готова посылать данные или байты состояния, но пока не посылает их. В состоянии СИАД сообщения КП, ОБЗ должны посылаться ложными, а сообщение ПУС должно быть послано пассивным истинным. Функция И должна выходить из состояния СИАД и принимать: состояние источника "активен" (СИАК), если сообщение УП ложно и состояние "режим последовательного опроса" не активно; состояние " последовательный опрос активен" ( СПСА), если сообщение УП ложно и состояние СПСО активно; состояние СИХХ, если сообщение "другие адреса источников" (ДАИ) истинно и состояние СПРМ активно или сообщение МАП, используемое по выбору разработчика, истинно и состояние СПРМ активно; состояние СИХХ в пределах t4, если сообщение ОИ истинно. Функция ИР должна выходить из состояния СИАД и принимать: состояние СИАК, если сообщение УП ложно и состояние СПСО неактивно; состояние СПСА, если сообщение УП ложно и состояние СПСО активно; состояние СИХХ, если сообщение ДАИ истинно и состояние СПРМ активно или сообщение " другие вторичные адреса" ( ДВА), истинно, состояния СИПА и СПРМ активны или сообщение MBА, используемое по выбору разработчика истинно и состояния СППА и СПРМ активны; состояние СИХХ в пределах t4, если сообщение ОИ истинно. В состоянии " источник активен" ( СИАК) функция И или ИР позволяет передавать сообщение "байт данных" (БТД) и сообщение КП, если оно используется, от функции устройства на линии сигналов ЛД и КП. Содержание сообщения определяется только функцией ( функциями) устройства. Функция СИ
47
определяет, когда функция устройства может изменять содержание сообщения БТД и КП, если оно используется. Во время состояния СИАК сообщения БТД или " конец строки" ( КСТ) и КП могут быть посланы функциями устройства. Сообщение обслуживание запрашивается" (ОБЗ) должно быть пассивным ложным . Код и формат данных зависит от устройства (п.2.4). Функция И или ИР должны выходить из состояния СИАК и принимать: состояние СИАД в пределах t 2, если сообщение УП истинно; состояние СИХХ в пределах t 4, если сообщение ОИ истинно. В состоянии " последовательный опрос активен" (СПСА) функции И или ИР позволяют передавать одиночное сообщение о состоянии от функции устройства на линии сигнала интерфейса, используя функцию интерфейса СИ для управления передачей "байта состояния" (БСТ), который содержит сообщения ОБЗ. Хотя контроллер требует от устройства только один байт для сообщений БСТ и ОБЗ, устройство может повторять этот комбинированный байт сообщения. В этом случае содержание сообщения БСТ может изменяться между последовательными передачами, хотя сообщение ОБЗ не изменяется функцией "запрос на обслуживание". Во время состояния СПСА сообщение КП должно быть послано пассивным ложным, а сообщение ОБЗ истинным, если состояние СПРЗ, содержащееся в функции интерфейса "запрос на обслуживание", активно, и ложным, если состояния СПРЗ не активно. Кроме того, функцией устройства должно быть послано сообщение БСТ. Функции И или ИР должны выходить из состояния СПСА и принимать: состояние СИАД в пределах t 2, если сообщение УП истинно; состояние СИХХ в пределах t 4, если сообщение ОИ истинно. В состоянии " холостой ход последовательного опроса" (СХПС) функции И или ИР не могут участвовать в последовательном опросе. Функции И или ИР принимают состояние СХПС при включении. В состоянии СХПС никакие дистанционные сообщения не могут быть посланы. Функции И или ИР должны выходить из состояния СХПС и
48
принимать состояние СПСО, если сообщение " отпирание последовательного опроса" (ОПО) истинно и состояние СПРМ активно. В состоянии "режим последовательного опроса" (СПСО) функции И или ИР участвуют в последовательном опросе. В состоянии СПСО никакие дистанционные сообщения не могут быть посланы. Функции И или ИР должны выходить из состояния СПСО и принимать: состояние СХПС, если сообщение "запирание последовательного опроса" (ЗПО) истинно и состояние СПРМ активно; состояние СХПС в пределах t4, если сообщение ОИ истинно. В состоянии источника " первичный холостой ход" ( СИПХ) функция ИР способна узнавать свой первичный адрес и не способна реагировать на свой вторичный адрес. Функция ИР принимает состояние СИПХ при включении. В состоянии СИПХ никакие дистанционные сообщения не могут быть посланы. Функция ИР должна выходить из состояния СИПХ и принимать состояние СИПА, если сообщение МАИ истинно и состояние СПРМ активно. В состоянии источника " первичный адресован" ( СПА) функция ИР способна распознавать и реагировать на свой вторичный адрес. В состоянии СИПА никакие дистанционные сообщения не могут быть посланы. Функция ИР должна выйти из состояния СИПА и принять состояние СИПХ, если сообщение "группа первичных команд" (ГПК) истинно, сообщение МАИ ложно и состояние СПРМ активно. Все используемые варианты функций интерфейса И и ИР должны соответствовать перечисленным в [5]. Каждое устройство, которое содержит функции " источник" или " источник с расширением", должно иметь средства, при помощи которых адрес источника (МАП) или вторичный адрес (МВА) может быть изменен при эксплуатации прибора. Прерывание данных, посылаемых устройством путем выхода из состояния СИАК или входа в это состояние, не должно влиять на формат выходных
49
данных. Рекомендуется, чтобы устройство, возвращающееся в состояние СИАК, продолжало строку выходных данных с точки прерывания. Каждое устройство, которому необходимо сообщение " тпд", должно иметь ручное переключение на режим "только передача". 2.1.5. Функция интерфейса "приемник" (П) Функция интерфейса П дает устройству возможность получать данные (включая данные о состоянии) через интерфейс от других устройств. Эта возможность существует только тогда, когда функция адресована на прием. Существует два варианта этой функции: без расширенного адреса и с расширенным адресом. Обычная функция " приемник" использует однобайтовый адрес. Функция интерфейса "приемник с расширенным адресом" (ПР) (далее- функция " приемник с расширением") использует двухбайтовый адрес. Во всех других аспектах эти две функции одинаковы. В отдельном устройстве необходима только одна из этих двух Функций "приемника". Функция " приемник" должна исполняться в соответствии с диаграммой состояний, приведенной на рисунке 13. В таблице 6 указан ряд сообщений и состояний, необходимых для осуществления перехода из одного активного состояния в другое.
Рис. 13. Диаграмма функции "приемник" 50
Функция приемник с расширением" должна реализовываться в соответствии с диаграммой состояний, приведенной на рисунке 14. В таблице 6 указан набор сообщений и состояний, необходимых для осуществления перехода из одного активного состояния в другое.
Рис. 14. Диаграмма функции "приемник с расширением"
В состоянии приемника" холостой ход" ( СПХХ) функция" приемник", или функция"приемникс расширением", не участвуютв передачесообщенийустройств. Функция П или ПР в состоянии СПХХ получают питание. В состоянии СПХХ никакие дистанционные сообщения не могут быть посланы. Функция П должна выходить из состояния СПХХ и принимать состояние "приемник адресован" ( СПАД), если сообщение " мой адрес на прием" ( МАП) истинно и состояние СПРМ активно или сообщение только принимать"(тпм) истинно, или сообщение "принимать" (прм) истинно и состояние СКАК активно. Функция ПР должна выходить из состояния СПХХ и принимать состояние СПАД, если сообщение "мой вторичный адрес" (МВА) истинно, состояние СПРМ активно и первичное состояние "первичный адресован" (СПСА) активно или сообщение "тпм" истинно, или сообщение "прм" истинно и состояние СКАК активно.
51
Таблица 6. Набор сообщений и состояний функции П (ПР) для перехода из одного активного состояния в другое Сообщение или состояние Питание включено Принимать Не принимать местные Только принимать Очистить интерфейс Управление Не принимать Мой адрес на прием Мой адрес источника Группа первичных команд Мой вторичный адрес Состояние приемника: "холостой ход" "активен" "адресован" "первичный холостой ход" "первичный адресован" Состояние "прием данных" Состояние контроллера "активен" Первичное состояние "источник адресован"
Условное обозначение вкл прм нпм тпм ОИ УП НПМ МАН МАИ ГПК МВА СПХХ СПАК СПАД СППХ СППА СПРМ СКАК СИПА
В состоянии приемника " адресован" ( СПАД) функция " приемник" получила свой адрес на прием и готова принимать (но еще не принимает) сообщения устройства. В состоянии СПАД функция "приемник с расширением" получила как первичный, так и вторичный адреса на прием и готова принимать ( но еще не принимает) сообщения, зависящие от устройства. В состоянии СПАД никакие дистанционные сообщения не могут быть посланы. Функция П должна выходить из состояния СПАД и принимать: состояние "приемник активен" (СПАК) в пределах t2, если сообщение УП ложно; состояние СПХХ, если сообщение " не принимай" ( НПМ) истинно и состояние СПРМ активно или сообщение "не принимать местные" (нпм) истинно и состояние СКАК активно, или сообщение МАИ, используемое по выбору разработчика, истинно и состояние СПРМ активно;
52
состояние СПХХ в пределах t4, если сообщение ОИ истинно. Функция ПР должна выйти из состояния СПАД и принимать: состояние СПАК в пределах t2, если сообщение УП ложно; состояние СПХХ, если сообщение НПМ истинно и состояние СПРМ активно или сообщение "нпм" истинно и состояние СКАК активно, или сообщение МВА истинно и состояние СИПА и СПРМ активны, или состояние СПХХ в пределах t4, если сообщение ОИ истинно. В состоянии приемника " активен" ( СПАК) функции П или функция ПР отпирается для приема сообщений, зависящих от устройства ( БТД, КСТ, БСТ, КП, ОБЗ), на функции устройств. Функция СП используется функцией устройства для синхронизации приема каждого байта сообщений. В состоянии СПАК никакие дистанционные сообщения не могут быть посланы. Функция П или ПР должны выходить из состояния СПАК и принимать: состояние СПАД в пределах t2, если сообщение УП истинно; состояние СПХХ в пределах t4, если сообщение ОИ истинно. В состоянии приемника " первичный холостой ход" (СПХХ) функция ПР способна распознавать свой первичный адрес и не способна реагировать на свой вторичный адрес. Функция ПР в состоянии СПХХ получает питание. В состоянии СПХХ никакие дистанционные сообщения не могут быть посланы. Функция ПР должна выходить из состояния СППХ и принимать состояние СППА, если сообщение МАП истинно и состояние СПРМ активно. В состоянии приемника " первичный адресован" ( СППА) функция ПР способна распознавать и реагировать на свой вторичный адрес. В состоянии СППА никакие дистанционные сообщения не могут быть посланы. Функция ПР должна выходить из состояния СППА и принимать состояние СППХ, если сообщение " группа первичных команд" ( ГПК) истинно, сообщение МАП ложно и состояние СПРМ активно. Каждое устройство, содержащее функцию " приемник" или " приемник с
53
расширением", должно иметь средства, при помощи которых адрес на прием (МАП) и вторичный адрес (МВА) могут быть изменены потребителем прибора. Прерывание приема данных из-за отсутствия СПАК не должно влиять на последующий прием данных. Рекомендуется, чтобы устройство, возвращающееся в состояние СПАК, продолжило строку данных с точки прерывания. Каждое устройство, которому необходимо сообщение " тпм", должно иметь ручное переключение на режим "только прием". 2.1.6. Функция интерфейса "запрос на обслуживание" (3) Функция интерфейса "запрос на обслуживание" дает устройству возможность асинхронно запрашивать обслуживание от контроллера, который управляет интерфейсом. Эта функция также синхронизирует сообщение ОБЗ (содержащееся в байте о состоянии), посылаемое во время последовательного опроса таким образом, чтобы сообщение 30 могло быть убрано с интерфейса, когда сообщение ОБЗ принимается в истинном состоянии контроллером (п 2.4). Функция интерфейса "запрос на обслуживание" должна реализовываться в соответствии с диаграммой состояний на рисунке 15. В таблице 7 указаны сообщения и состояния для перехода из одного активного состояния в другое.
Рис. 15. Диаграмма функции "запрос на обслуживание"
В состоянии " отрицательная реакция на опрос" (00P3) функция 3 запрос на обслуживание не делает. В состоянии СОРЗ функция 3 получает питание,
54
сообщение 30 должно посылаться пассивным ложным. Таблица 7. Набор сообщений и состояний для перехода функции 3 из одного активного состояния в другое Сообщение или состояние Питание включено Запрос на обслуживание Состояние: "отрицательная реакция на опрос" "запрос на обслуживание" "положительная реакция на опрос" "последовательный активен"
Условное обозначение вкл зно СОРЗ СЗОБ СПРЗ СПСА
Сообщение ОБЗ будет послано ложным, когда состояние СПСА активно (п.2.4). Функция 3 должна выходить из состояния СОРЗ и принимать состояние СЗОБ в любой момент, когда сообщение " запрос на обслуживание" (" зно") истинно и состояние СПСА не активно. В состоянии " запрос на обслуживание" ( СЗОБ) функция 3 непрерывно показывает через интерфейс, что она делает запрос на обслуживание. В состоянии СЗОБ сообщение 30 должно посылаться истинным. Функция 3 должна выходить из состояния СЗОБ и принимать: состояниеСОРЗ, если сообщение"зно" ложно и состояниеСПС А не активно; состояние " положительная реакция на опрос" ( СПРЗ), если состояние СПСА активно. В состоянии "положительная реакция на опрос" (СПРЗ) функции 3 необходимо обслуживание, но она неактивно требует его через интерфейс. В состоянии СПРЗ сообщение 30 должно посылаться пассивным ложным. Истинное сообщение ОБЗ будет послано источником, когда состояние СПСА активно. Функция 3 должна выходить из состояния СПРЗ и принимать состояние СОРЗ в любой момент, когда сообщение"зно" ложно, а состояниеСПСА не активно. Функция 3 предназначена для опроса на обслуживание одной задачи. Если в устройстве имеется несколько задач, по которым необходимо делать запрос на обслуживание, то для каждой отдельной задачи должна исполь55
зоваться функция 3 и соответствующее сообщение "зно". Истинное сообщение ЗО должно посылаться по запросу от любого истинного сообщения "зно" в устройстве. Когда функция И находится в состоянии СПСА, сообщение ОБЗ должно посылаться истинным, если функция 3 находится в состоянии СПРЗ. Сообщение 30, получаемое функцией К, является логическим ИЛИ сообщений 30, посылаемых всеми функциями 3. 2.1.7. Функция интерфейса "дистанционный местный" (ДМ) Функция ДМ дает устройству возможность делать выбор между двумя источниками входной информации. Функция показывает устройству, что должна использоваться или входная информация от органов управления на передней панели ( местная) или соответствующая входная информация от интерфейса (дистанционная). Функция ДМ должна выполняться в соответствии с диаграммой, приведенной на рисунке 16. Набор сообщений и состояний, необходимых для осуществления перехода из одного активного состояния в другое, указан в таблице 8.
Рис. 16. Диаграмма функции "дистанционный местный"
56
Таблица 8. Набор сообщений и состояний функции ДМ для перехода из одного активного состояния в другое Сообщение или состояние Питание включено Возврат на местный Дистанционное управление Запирание местного Переход на местный Мой адрес на прием Мой вторичный адрес Состояние: "местный" "местный с запиранием" "дистанционный" "дистанционный с запиранием" "прием данных" "приемник адресован" приемника “первичный адресован"
Условное обозначение вкл внм ДУ ЗПМ ПНМ МАП МВА СМСТ СМЗД СДСТ СДСЗ СПРМ СПАД СППА
В состоянии " местный" ( СМСТ) все местные органы управления функциями устройства ( на передней или задней панели) находятся в рабочем состоянии и устройство может запоминать, но не реагировать на соответствующие сообщения устройства, поступающие от интерфейса. Функция ДМ получает питание в состоянии СМСТ. В состоянии СМСТ никакие дистанционные сообщения не могут быть посланы. Функция должна выходить из состояния СМСТ и принимать: состояние " дистанционный" ( СДСТ), если сообщение " возврат на местное" (внм) ложно и сообщение МАП истинно, а состояние СПРМ активно. При совместном использовании функций ДУ и ПР выражение МАП должно быть заменено на выражение МВАДСППА; состояние "местный с запиранием" (СМЗП), если универсальная кодированная команда " запирание местного" ( ЗПМ) истинная и состояние СПРМ активно. В состоянии " местный с запиранием" ( СМЗП) все органы местного управления устройства находятся в рабочем состоянии и устройство может за57
поминать,
но
не
реагировать
на
соответствующие
сообщения
устройства, получаемые от интерфейса (сообщение " внм" не принимается во внимание). В состоянии СМЗП никакие дистанционные сообщения не могут быть посланы. Функция ДМ должна выходить из состояния СМЗП и принимать: состояние "дистанционный с запиранием" (СДСЗ), когда МАП истинно и состояние СПРМ активно; состояние СМСТ в течение t4, когда сообщение ДУ ложно. В состоянии " дистанционный" ( СДСТ) органы управления функциями устройства, для которых имеется соответствующее дистанционное управление (кроме органов управления, которые посылают местные сообщения на функции интерфейса), находятся в рабочем состоянии и функции устройства управляются дистанционно контроллером. В состоянии СДСТ дистанционные сообщения не могут быть посланы. Функция ДМ должна выходить из состояния СДСТ и принимать: состояние СДСЗ, если сообщение ЗИМ истинно и состояние СПРМ активно; состояние СМСТ, если сообщение ДУ ложно в течение t4 или сообщение "переход на местный" ( ПНМ) истинно и состояния СПРМ и СПАД активны, или сообщение " внм" истинно и сообщение ЗПМ ложно или состояние СПРМ неактивно. В состоянии " дистанционный с запиранием" ( СДСЗ) органы управления функциями устройства, для которых имеется соответствующее дистанционное управление (кроме органов управления, которые посылают местные сообщения на функции интерфейса), не влияют на управление функциями устройства. Последние управляются дистанционно контроллером ( сообщение " внм" не принимается во внимание). В состоянии СДСЗ никакие дистанционные сообщения не могут быть посланы. Функция ДМ должна выходить из состояния СДСЗ и принимать: состояние СМСТ в течение t4, если ДУ ложно;
58
состояние СМЗП, если сообщение ПНМ истинно и состояния СПАД и СПРМ активны. Способность устройства посылать через интерфейс сообщения, зависящие от устройства, или получать и использовать такие сообщения, не зависит от состояния, которое активно в функции ДМ. Когда состояния СДСТ или СДСЗ активны, в устройстве не должно использоваться местное управление. Устройство должно реагировать на все последующие входные данные, получаемые через интерфейс. Однако, в зависимости от особых условий запоминания программы, устройство может быть сконструировано так, что: местное управление в нем используется до тех пор, пока оно не отменяется последующими входными данными, полученными через интерфейс; в нем используются входные данные, ранее полученные через интерфейс. Когда состояние СМСТ или СМЗП становится активным, устройство должно использовать местное управление и игнорировать входные данные, получаемые через интерфейс. Однако устройство может быть сконструировано так, что в нем будут использоваться: самые последние полученные входные данные до тех пор, пока они не будут отменены последующим местным управлением; значения, устанавливаемые всеми ручками местного управления в любой момент, когда состояния СМСТ и СМЗП становятся активными. Сообщение "внм" не должно выдаваться постоянно. 2.1.8. Функция интерфейса "параллельный опрос" (ОН) Функция ОП позволяет устройству выдавать управляющему контроллеру сообщение "реакция на параллельный опрос" (РПО), не будучи предварительно адресованным на передачу. Линии сигналов ЛД0-ЛД7 используются для передачи битов о состоянии
59
устройства во время параллельного опроса. Это позволяет обслуживать до восьми устройств, используя одну линию на устройство, хотя любое количество устройств может обслуживаться при совместном использовании линии ЛД. Использование параллельного опроса в системе предполагает проведение контроллером интерфейса периодического опроса. Параллельный опрос может использоваться для указания запроса на обслуживание. Однако он отличается от сообщения 30. Так, устройству, использующему параллельный опрос, дается своя индивидyальная линия в шине, по которой посылается его запрос на обслуживание, в то время как все запросы на обслуживание всех устройств, использующих сообщение 30, связаны связью ИЛИ на одной лини в шине. Поэтому идентификация устройств, делающих запрос на обслуживание, не требует последовательного опроса. Кроме того, сообщение 30 может быть послано через интерфейс в любой момент, когда устройство делает запрос на обслуживание, но запросы на обслуживание при помощи параллельного опроса могут быть посланы только тогда, когда об этом просит действующий контроллер интерфейса. Функция интерфейса " параллельный опрос" должна выполняться в соответствии с диаграммой состояния на рисунке 17. Сообщения и состояния, необходимые для осуществления перехода из одного состояния в другое, указаны в таблице 9. В состоянии " холостой ход параллельного опроса" (СОХХ) функция ОП не способна реагировать на параллельный опрос, выполняемый контроллером интерфейса. Функция ОП получает питание в состоянии СОХХ. В состоянии СОХХ сообщение РОП должно посылаться пассивным ложным. Функция ОП должна выйти из состояния СОХХ и принять состояние "ожидание параллельного опроса" (СООЖ), если сообщение ОПР истинно и состояния СОАД и СПРМ активны или сообщение "отпирание местного опроса" (омо) истинно.
60
Рис. 17. Диаграмма функции "параллельный опрос" Таблица 9. Набор сообщений и состояний функции ОП для перехода из одного состояния в другое Сообщение или состояние Питание включено Индивидуальный статус Отпирание местного опроса Идентификация Управление Отпирание параллельного опроса Запирание параллельного опроса Конфигурация параллельного опроса Группа первичных команд Деконфигурация параллельного опроса Состояние: "холостой ход параллельного опроса" "ожидание параллельного опроса" "параллельный опрос активен" "параллельный опрос не адресован на конфигурацию" "параллельный опрос адресован на конфигурацию " "прием данных" "приемник адресован"
61
Условное обозначение вкл ист омо итд УП ОПР ЗПР КПР гак ДПР СОХХ СООЖ СОАК СОНА СОАД СПРМ СПАД
Функция ОП должна выйти из состояния СООЖ и принять: состояние "параллельный опрос активен" (СОАК) в пределах t 5, если сообщения ИДТ и УП истинны (параллельный опрос действует); состояние СОХХ, если: сообщение " омо" ложное или сообщение " запирание параллельного опроса" ( ЗРП) истинно и состояния СОАД и СПРМ активны, или сообщение "деконфигурация параллельного опроса" (ДПР) истинно и состояние СПРМ активно. В состоянии " параллельный опрос активен" ( СОАК) функция ОП реагирует на параллельный опрос, проводимый в это время контроллером интерфейса. В состоянии СОАК одно из сообщений РОП ( табл. 10) должно посылаться истинным тогда, когда значение сообщения "индивидуальный статус" (ист) равно значению бита " считывание" ( С), полученному в составе команды ОПР по линии ЛДЗ. Таблица 10. Логическое значение битов ОПР РЗ 0 0 0 0 1 1 1 1
Р2 0 0 1 1 0 0 1 1
Р1 0 1 0 1 0 1 0 1
Сообщение РОП РОП1 РОП2 РОПЗ РОП4 РОП5 РОП6 РОП7 РОП8
Сообщение РОП должно быть определено тремя битами ( Р1-РЗ), получаемыми вместе с командой ОПР. Причем Р1-РЗ посылаются по линии ЛД0ЛД2 соответственно. Сопутствующие биты С, P1, P2 и РЗ функцией должны быть сохранены. В табл. 10 указаны сообщения РОП, определяемые каждой комбинацией значений Р1-РЗ. Все другие сообщения РОП должны посылаться пассивными ложными. Функция интерфейса " параллельный опрос" должна выходить из состоя62
ния СОАК и переходить в состояние СООЖ в течение t 5, если ИДТ или УП ложные (параллельный опрос закончен). В состоянии " параллельный опрос не адресован на конфигурацию" (СОНА) функция ОП должна игнорировать любые сообщения ОПР или ПР, которые могут быть получены через интерфейс. Функция ОП получает питание в состоянии СОНА. В состоянии СОНА никакие сообщения не могут быть посланы. Функция ОП должна выходить из состояния СОНА и принимать состояние " параллельный опрос адресован на конфигурацию" ( СОАД), или сообщение КПР истинно, состояния СПАД и СПРМ активны. В состоянии "параллельный опрос адресован на конфигурацию" (СОАД) функция ОП получает через интерфейс сообщение ОПР или ЗПР. Если сообщение ОПР получено, то сопутствующие биты С, Р1, Р2 и РЗ должны быть сохранены функцией. В состоянии СОАД никаких сообщений не может быть послано. Функция ОП должна переходить в состояние "параллельный опрос не адресован на конфигурацию" ( СОНА), когда сообщение ГПК истинно, сообщение КПР ложное, а состояние СПР активно. 2.1.9. Функция интерфейса "очистить устройство" (СБ) Функция интерфейса"очистить устройство" дает устройствувозможностьперейти в исходноесостояниелибо индивидуально, либо коллективнов составе группы устройств. Группоймогут быть все адресованныеустройствав даннойсистеме. Функция интерфейса "очистить устройство" должна выполняться в соответствии с диаграммой на рисунке 18. В таблице 11 указан ряд сообщений и состояний, необходимых для перехода из одного активного состояния в другое. В состоянии "холостой ход функции очистить устройство" (ССБХ) функция СБ неактивна. В состоянии ССБХ никакие дистанционные сообщения не должны быть посланы. Функция СБ должна выходить из состояния ССБХ и принимать состояние
63
"функция очистить устройство активна" (ССБА), если состояние СПРМ активно и сообщение " очистить устройство" ( СБУ) истинно или сообщение " очистить выбранное устройство" (СБА) истинно и состояние СПАД активно.
Рис. 18. Диаграмма функции "очистить устройство" Таблица 11. Набор сообщений и состояний функции СБ для перехода из одного активного состояния в другое Сообщение или состояние Очистить устройство Очистить устройство Очистить выбранное устройство Состояние: "холостой ход" "активна" "прием данных" "приемник адресован"
Условное обозначение СБУ СБА ССБХ ССБА СПРМ СПАД
В состоянии функции очистить устройство " активно" ( ССБА) функция СБ посылает внутреннее сообщение на функции (функцию) устройства, заставляя их переходить в исходное состояние. В состоянии ССБА никакие дистанционные сообщения не должны быть посланы. Функция СБ должна выходить из состояния ССБА и принимать состояние " холостой ход" функции очистить устройство ( ССБХ), если состояния СПРМ или СПАД неактивны или сообщения СБУ и СБА ложны. Состояние ССБА воздействует только на функции устройства и не воздействует на функции интерфейса. Для своей работы устройство может использовать функцию СБ в любых целях. Нормальное использование этой функции приведет к тому, что функция устройства будет в таком же состоянии, как при подаче сигнала "питание включено". Эта функция может быть использована для установления функций устройства в определенное состояние, которое конструктор должен указать.
64
2.1.10. Функция интерфейса "запуск устройства" (ЗП) Функция интерфейса " запуск устройства" позволяет начинать выполнение основной работы (измерения) либо одному устройству, либо одновременно группе устройств. Группой могут быть все адресованные устройства в одной системе. Функция интерфейса "запуск устройства" должна выполняться в соответствии с диаграммой состояния (рис. 19). В таблице 12 указаны сообщения и состояния, необходимые для перехода из одного активного состояния в другое. В состоянии "холостой ход" функции запуск устройства (СЗПХ) функция ЗП неактивна. В состоянии СЗПХ никакие дистанционные сообщения не могут быть посланы. Функция ЗП должна выходить из состояния СЗПХ и принимать состояние " активен" ( СЗПА), если сообщение " запуск устройства" ( ЗАЛ) истинно и состояния СПАД и СПРМ активны.
Рис. 19. Диаграмма функции "запуск устройства" Таблица 12. Набор сообщений и состояний функции ЗП для перехода из одного активного состояния в другое Сообщение или состояние запуска Запуск устройства Состояние: "холостой ход" запуска устройства запуск устройства "активен" "прием данных" приемника "адресован"
Условное обозначение ЗАЛ СЗПХ СЗПА СПРМ СПАЛ
В состоянии функции запуск устройства " активен" ( СЗПА) функция ЗП посылает сообщение на функцию устройства, заставляя ее начинать выполнение своей основной задачи. В состоянииСЗПА никакиедистанционныесообщенияне могут быть посланы.
65
Рекомендуется, чтобы устройство начинало работу немедленно, после того как состояние СЗПА становится активным. Если устройство начало работать, то оно не должно реагировать на последующие переходы состояний до тех пор, пока не выполнит операцию. Только после завершения первой операции устройство может начать новую операцию в ответ на следующее активное состояние СЗПА. Функция ЗП должна выходить из состояния СЗПА и принимать состояние СЗПХ, если ЗАЛ ложно или состояние СПАД неактивно, или состояние СПРМ неактивно. 2.1.11. Функция интерфейса "контроллер" (К) Функция интерфейса "контроллер" позволяет устройству посылать адреса устройств, универсальные команды и адресные команды на другие устройства через интерфейс. Она также обеспечивает проведение параллельного опроса для определения устройств, которым необходимо обслуживание. Функция интерфейса " контроллер" может выполнять свои задачи только тогда, когда она посылает через интерфейс сообщение УП. Если несколько устройств в интерфейсе имеют функции "контроллер", то все они, за исключением одной, должны находиться в состоянии "холостой ход контроллера" ( СКХХ) в один и тот же момент времени. Устройство, содержащее функцию " контроллер", которая не находится в состоянии СКХХ, называется "действующий контроллер" системы интерфейс. Функция " контроллер" в одном из устройств, подсоединенных к интерфейсу, может принимать состояние " контроллер системы активен" ( СКАК). В этом состоянии может находиться не более одного устройства. Функция должна оставаться в состоянии СКАК во время работы шины и иметь возможность посылать сообщение ОИ и ДУ через интерфейс в любое время, независимо от того, имеется ли действующий контроллер или нет. Это устройство называется "контроллером системы".
66
Функция интерфейса "контроллер" должна выполняться в соответствии с диаграммой, приведенной на рисунке 20. В таблице 13 указан ряд сообщений и состояний, необходимых для осуществления перехода из одного активного состояния в другое. В состоянии контроллера " холостой ход" ( СКХХ) функция К не может управлять интерфейсом. Функция К получает питание в состоянии СКХХ. В состоянии СКХХ сообщения УП и ИДТ должны посылаться пассивными ложными, а сообщение ПУС должно посылаться пассивным истинным.
Рис. 20. Диаграмма функции «контроллер» 67
Таблица 13. Набор сообщений и состояний функции К для перехода из одного активного состояния в другое Сообщение или состояние Питание включено Запрос управления системы Запрос параллельного опроса Переход на ожидание Взять управление асинхронно Взять управление синхронно Послать "очистить интерфейс" Послать "отпирание дистанционного управления " Управление Взять управление Состояние контроллера: "холостой ход" "адресован" "переход" "активен" "ожидание параллельного опроса" "параллельный опрос" "ожидание" "активное ожидание" "синхронное ожидание" "обслуживание запрашивается" "обслуживание не запрашивается" "ожидание" Состояние: "управление системы неактивно" "управление системы активно" Состояние управления системы: "холостой ход дистанционного управления" "отпирание дистанционного управления не активно" "отпирание дистанционного управления активно" "холостой ход очистки интерфейса" "очистка интерфейса неактивна" "очистка интерфейса активна" Состояние "прием данных" Состояние приемника "не готов" Состояние синхронизации передачи источника: "переход" "задержка" Состояние источника "адресован"
68
Условное обозначение вкл зус зпо пно вуа вус очи оду УП ВУП СКХХ СКАД СКПД CКAK СКОП СКПР СКОЖ СКОА СКОС СКЗО СКНЗ СКОЖ СКУН СКУА СКДХ СКДН СКДА СКИХ СКИН СКИА СПРМ СПНГ СИПД СИЗД СИАД
Функция К должна выходить из состояния СКХХ и принимать состояние "контроллер адресован" (СКАД), если сообщение "взять управление" (ВУП) истинно ( посылается действующим контроллером) и состояния СИАД и СПРМ активны, или состояние управления системы " очистка интерфейса активна" (СКИА) активно. В состоянии контроллера " адресован" ( СКАД) функция К находится в процессе становления " действующим контроллером" интерфейса, но ожидает того момента, когда работающийконтроллерперестанетпередаватьсообщениеУП. В состоянии СКАД сообщения УП и ИДТ должны посылаться пассивными ложными, а сообщение ПУС должно посылаться пассивным истинным. Функция К должна выходить из состояния СКАД и принимать: состояние "контроллер активен" (СКАК), если сообщение УП ложно; состояние СКХХ в пределах t 4, если сообщение ОИ истинно и состояние СКУА неактивно. В состоянии контроллера " активен" ( СКАК) функция К обеспечивает передачу многолинейных
сообщений
интерфейса
от функции ( функций)
устройства на линии сигналов интерфейса. Этими сообщениями являются адреса устройств, универсальные команды или адресные команды. Функция СИ определяет время, когда функции, (функция) устройства могут изменять содержание посылаемых многолинейных сообщений. Однако содержание сообщения определяется только функцией (функциями) устройства. Сообщение УП должно посылаться истинным, сообщение ИДТ должно посылаться ложным в то время, когда состояние СКАК активно. Функция К должна выходить из состояния СКАК и принимать: состояние контроллера " переход" (СКПД), если сообщение ВУП ( посылаемое своей собственной функцией устройства, но принимаемое как дистанционное сообщение) истинно, состояние СИАД неактивно, а состояние СПРМ активно; состояние контроллера " ожидание параллельного опроса" ( СКОП), если сообщение " запрос параллельного опроса" ( зпо) истинно и состояния СИЗД и
69
СИПД неактивны; состояние контроллера " холостой ход" (СКХХ) в пределах t 4, если сообщение ОИ истинно и состояние СКУА неактивно; состояние контроллера "ожидание" (СКОЖ), если сообщение "переходна ожидание" ("пно") истинно, а состоянияСИПД и СИЗД неактивны. В состоянии контроллера " ожидание параллельного опроса" ( СКОП) функция К проводит параллельный опрос через интерфейс, но ожидает установления сигналов на линиях ДЦ. В состоянии СКОП сообщения УП и ИДТ должны посылаться истинными, а сообщение ПУС должно быть послано пассивным истинным. Функция К должна выходить из состояния СКОП и принимать: состояние контроллера "параллельный опрос" (СКПР) после истечения периода времени T6; состояние СКОА, если сообщение " зпо" ложно; состояние СКХХ в пределах t4, если сообщение ОИ истинно и состояние СКУП неактивно. В состоянии контроллера "параллельный опрос" (СКПР) функция К проводит параллельный опрос и передает сообщение, полученное через линии сигналов интерфейса на функции устройства. В состоянии СКПР сообщения УП и ИДТ должны посылаться истинными, а сообщение ПУС должно посылаться пассивным истинным. Функция К должна выходить из состояния СКПР и принимать: состояние СКОА, если сообщение "зпо" ложно; состояние СКХХ в пределах t 4, если сообщение ОИ истинно и состояние СКУП неактивно. В состоянии контроллера "ожидание" (СКОЖ) функция К позволяет двум или более устройствам передавать сообщения устройства через интерфейс. В состоянии СКОЖ сообщение УП должно посылаться ложным, сообщение ПУС должно посылаться пассивным истинным, а ИДТ пассивным ложным. Функция К должна выходить из состояния СКОЖ и принимать: состояние контроллера "синхронное ожидание" (СКОС), если сообщение "взять управление синхронно" ( вус) истинно и состояние СПНГ активно или
70
сообщение "взять управление асинхронно" (вуа) истинно; состояние СКХХ в пределах t 4, если сообщение ОИ истинно и состояние СКУА неактивно. В состоянии контроллера "синхронное ожидание" (СКОС) функция К находится в процессе принятия состояния "активное ожидание" (СКОА), но ожидает определенного момента времени ( Т7) для того, чтобы убедиться, что действующий активный " источник" распознает сообщения УП, посылаемое через интерфейс. Если состояние СКОС принимается при помощи сообщения " вус", то во время пребывания в этом состоянии функция ( функции) устройства должна продолжать посылать " вус" истинным. При этом функция интерфейса "синхронизация приемника" продолжает посылать через интерфейс сообщение ГП ложным, задерживая передачу следующего байта данных. В состоянии СКОС сообщение УП должно посылаться истинным, сообщение ИДТ активным или пассивным ложным, а сообщение ПУС пассивным истинным. Функция К должна выходить из состояния СКОС и принимать: состояние СКОА после истечения периода времени Т7; состояние СКХХ в пределах t 4, если сообщение ОИ истинно и состояние СКУА неактивно. В состоянии контроллера " активное ожидание" (СКОА) функция К ожидает Т9 для перехода в состояние СКАК. Ожидание необходимо для того, чтобы гарантировать, что установилось линия КП на заданное значение и устройство не реагирует на параллельный опрос. В состоянии СКОА сообщение УП должно посылаться истинным, сообщение ИДТ - ложным, а сообщение ПУС - пассивным истинным. Функция К должна выходить из состояния СКОА и принимать: состояние СКАК по истечении периода времени Т9 или если сообщение "зпо" ложно; состояние СКОП, если сообщение "зпо" истинно; состояние СКХХ в пределах t4, если сообщение ОИ истинно и состояние СКУА неактивно. В состоянии " переход контроллера" (СКПД) функция К посылает адрес-
71
ную команду ВУП на другое устройство и, таким образом, находится в процессе перехода в состояние "холостого хода". В состоянии СКПД сообщение УП должно посылаться истинным, сообщение ИДТ - ложным, а сообщение ВУП - истинным. Функция К должна выходить из состояния СКПД и принимать: состояние СКХХ, если состояние СИПД становится неактивным; состояние СКХХ в пределах t4, если сообщение ОИ истинно и состояние СКУА неактивно. В состоянии контроллера " обслуживание запрашивается" ( СКЗО) функция К посредством местного сообщения указывает функции устройства (в контроллере), что одно из устройств в системе делает запрос на обслуживание. В состоянии СКЗО дистанционные сообщения не могут быть посланы. Функция К должна выходить из состояния СКЗО и принимать состояние контроллера "обслуживание не запрашивается" (СКНЗ), если сообщение 30 ложно. В состоянии контроллера "обслуживание не запрашивается" (СКНЗ) функция К посредством местного сообщения указывает функции устройства, что устройства в системе не запрашивают обслуживания. В состоянии СКНЗ дистанционные сообщения не могут быть посланы. Функция К должна выходить из состояния СКНЗ и принимать состояние СКЗО, если сообщение 30 истинно. В состоянии "управление системы неактивно" (СКУН) функция К не имеет возможностей по управлению системой. В состоянии СКУН дистанционные сообщения не могут быть посланы. Функция К должна выходить из состояния СКУН и принимать состояние СКУА, если сообщение "запрос управления системы" (зус) истинно. В состоянии "управление системы активно" (СКУА) функция К обладает возможностями по управлению системой. В состоянии СКУА дистанционные сообщения не могут быть посланы. Функция К должна выходить из состояния СКУА и принимать состояние СКУН, если сообщение "зус" ложно. В состоянии управления системы " холостой ход очистки интерфейса" (СКИХ) функция К не имеет возможности очищать интерфейс. Функция ин-
72
терфейса " контроллер" получает питание в состоянии СКИХ. В состоянии СКИХ сообщение ОИ должно посылаться пассивным ложным. Функция К должна выходить из состояния СКИХ, если состояние СКУА активно, и принимать: состояние управления системы "очистка интерфейса неактивна" (СКИН), если сообщение "очистить интерфейс" (очи) ложно; состояние управления системы " очистка интерфейса активна" ( СКИА), если сообщение "очи" истинно. В состоянии управления системы " очистка интерфейса неактивна" (СКИН) функция К не осуществляет очистку интерфейса. В состоянии СКИН сообщение ОИ должно непрерывно посылаться ложным. Функция К должна выходить из состояния СКИН и принимать: состояние СКИА, если местное сообщение "очи" истинно; состояние СКИХ, если состояние СКУА неактивно. В управления
системы " очистка
состоянии
интерфейса активна" ( СКИА) функция К
принимает участие в очистке интерфейса. Все функции интерфейса должны реагировать на истинное сообщение ОИ и переходить в известное первоначальное состояние. В состоянии СКИА сообщение ОИ должно посылаться истинным. Функция К должна выходить из состояния СКИА и принимать: состояние СКИН, если сообщение "очи" ложно и состояние СКИА было активным в течение периода времени Т8; состояние СКИХ, если состояние СКУА неактивно. В состоянии управления системы " холостой ход отпирания дистанционного управления" (СКДХ) функция К не может отпирать дистанционное управление. Функция К должна непрерывно оставаться в состоянии СКДХ, кроме того случая, когда она используется в устройстве, выполняющем функцию "контроллер системы". Функция К получает питание в состоянии СКДХ. В состоянии СКДХ сообщение ДУ должно посылаться пассивным лож-
73
ным. Функция К должна выходить из состояния СКДХ и принимать: состояние управления системы " отпирание дистанционного управления неактивно" ( СКДН), если сообщение " отпирание дистанционного управления" (оду) ложно и состояние СКУА активно; состояние управления системы " отпирание дистанционного управления активно" (СКДА), если состояние СКДХ истинно, состояние СКУА активно и сообщение "оду" было активным в течение времени В состоянии управления системы "отпирание дистанционного управления неактивно" ( СКДН) функция К не участвует в отпирании дистанционного управления других устройств через интерфейс. В состоянии СКДН сообщение ДУ должно непрерывно посылаться пассивным ложным. Функция К должна выходить из состояния СКДН и принимать: состояние СКДА, если сообщение "оду" истинно в течение периода времени Т8; состояние СКДХ, если состояние СКУА неактивно. В состоянии управления системы "отпирание дистанционного управления активно" ( СКДА) функция К активно участвует в отпирании дистанционного управления устройств через интерфейс. В состоянии СКДА сообщение ДУ должно непрерывно посылаться истинным. Функция К должна выходить из состояния СКДА и принимать: состояние СКДН, если сообщение "оду" ложно; состояние СКДХ, если состояние СКУА неактивно. Используемые варианты функции интерфейса " контроллер" должны соответствовать указанным в ГОСТ 26.003-80. Передача данных через интерфейс недопустима, если сообщение " вуа" становится истинным, в то время, как сообщение устройств истинно. Асинхронное прерывание контроллером активного " источника" при помощи " вуа" может происходить в любой момент, когда сообщение устройства истинно, но если сообщение устройства истинно и УП становится истинным, прерванный байт может неправильно толковаться другими устройствами (например,
74
как интерфейсное сообщение) и вызывать ненужные переходы состояний. Сообщение "вус", если оно используется, может изменяться от ложного к истинному только при состоянии СКОЖ, а от истинного к ложному - только при состоянии СКОА. Это гарантирует, что ГП сохраняется ложным достаточное время в течение синхронной операции передачи управления. 2.2. Временная последовательностьи алгоритм процесса синхронизации Рассмотрим процесс синхронизации используемый в интерфейсе IEC 625-1. Наиболее распространенный графический способ описания автоматов с помощью диаграмм переходов или графов состояний автоматов ГСА. Схема взаимодействия источника и приёмника посредством интерфейсных функций SH и АН показана на рисунке 21,а, а временная диаграмма на рисунке 21,б.
а)
б) Рис. 21. Интерфейсные функции синхронизации взаимодействия источника и приемника сообщений. Местные команды: nba - новый байт выдан; gnb - запрос очередного байта; dav подтверждение принятых данных; rdy - готовность принять следующий байт данных; DAV, NRED, DAC - сигналы синхронизации интерфейса
75
Рис. 22. Временная последовательность взаимодействия "источника" и "приемников": 1 - источник устанавливает СД в высокое состояние ( данные недействительны); 2 - " приемник" устанавливает ДП и ГП в низкое состояние (ничего не принято, никто не готов); 3 - " источник" проверяет ошибку ( ДП и ГП-в высоком состоянии), затем посылает байт данных на ШД; 4 - " источник" задерживает подтверждение истинности данных для того, чтобы данные могли поступить через ШД на все"приемники" (чтобы данные установились); 5 - все "приемники" указали на готовность приема первого байта данных: ГП переходит в высокое состояние; 6 - после приема ГП " источник" устанавливает СД в низкое состояние (не готов к приему), затем принимает данные. Остальные приемники работают со своим быстродействием аналогичным образом; 8 - первый "приемник" устанавливает ДП в высокое состояние для указания того, что он принял данные, но линия ДП остается в низком состоянии, так как остальные "приемники" удерживают ее в этом состоянии; 9 - последний " приемник" устанавливает ДП в высокое состояние, указывая, что он и все остальные приняли данные. Линия ДП при этом переходит в высокое состояние; 10 - "источник", приняв информацию о том, что ДП находится в высоком состоянии, устанавливает СД в высокое состояние. Это показывает " приемникам", что данные на ШД должны рассматриваться как недействительные; 11 - " источник" изменяет данные на ШД; 12 - "источник" задерживает подтверждение истинности данных для того, чтобы данные установились на линиях ШД; 13 - первый "приемник" показывает, что он готов к приему следующего байта данных, устанавливая ГП в высокое состояние, но линия ГП остается в низком состоянии, так как остальные "приемники" удерживают ее в этом состоянии; 15 - последний "приемник" показывает, что он и все остальные готовы к приему следующего байта данных, устанавливая
76
ГП в высокое состояние; 16 - " источник", приняв информацию о том, что ГП находится в высоком состоянии, устанавливает СД в низкое состояние, указывая, что данные на ТИП установлены и истинны; 17 - первый "приемник" устанавливает ГП в низкое состояние, затем принимает данные; 18 - 20 - соответствуют позициям 8 - 10; 21- " источник" снимает байт данных ( конец передачи) с ШД после установки СД в высокое состояние; 22"приемник", приняв информацию о том, что СД находится в высоком состоянии, устанавливает ДП в низкое состояние для подготовки к следующему циклу; А- время, в течение которого контроллер может прервать передачу данных ( установив УП в низкое состояние) без потери байта данных в данном процессе передачи
Рис. 23. Алгоритм взаимодействия "источника" и "приемников"
77
2.3. Временная последовательность процесса идентификации при запросе на обслуживание Схема такой последовательности приведена на рисунке 24
Рис. 24. Схема процесса идентификации при запросе на обслуживание в КОП. Последовательность прохождения сигналов*. 1- прибор делает "запрос на обслуживание путем установки линии 30 в рабочее состояние; 2 - неопределенный промежуток времени (зависит от программы), пока контроллер не включит цикл идентификации 30; 3 - контроллер устанавливает УП в низкое состояние, чтобы передавать необходимые команды; 4 контроллер посылает универсальную команду " отпирание последовательного опроса"; 5 контроллер посылает адрес на передачу потенциальному аапросчику; 6 -контроллер устанавливает УП в высокое состояние для того, чтобы адресованный "источник" мог послать свой байт состояния; 7 - адресованный " источник" посылает один байт данных о состоянии; 8 контроллер проверяет байт данных о состоянии и интерпретирует его в следующем виде: бит 6=0 не запрашивает обслуживания, 6=1 - запрашивает обслуживание, биты 5 - 0 - данные о состоянии (табл); 9 -контроллер принимает решение: если все необходимые приборы опрошены, переходить к выполнению позиции 14; если необходимо опросить еще другие приборы, переходить к выполнению позиции 10; 10 - контроллер посылает адрес на передачу другому потенциальному запросчику (как в позиции 5); 11 - контроллер устанавливает УП в высокое состояние с тем, чтобы адресованный "источник" мог посылать свой байт состояния (как в позиции 6); 12 - аналогично позиции 7; 13 - контроллер проверяет данные о состоянии ( как в позиции 8), затем возвращается к выполнению позиции 9; 14 - все интересующие контроллер приборы опрошены. Контроллер устанавливает УП в низкое состояние для того, чтобы команда или адрес передавались от него по ШД; 15 - контроллер посылает универсальную команду для окончания последовательного опроса; 16 - контроллер устанавливает УП в высокое состояние, вновь начинается процесс идентификации.
2.4. Коды и форматы сообщений устройств Коды и форматы, используемые устройством, в значительной степени определяют эффективность его применения в системе. Код представляет собой обозначение набора двоичных знаков в байте данных (БТД), зависящем от устройства.
78
"Формат" используется для обозначения структуры последовательности байтов сообщений, зависящих от устройства. В тексте используются четыре ограничителя: ВК ( возврат каретки), ПС (перевод строки), КБ (конец блока), КТ (конец текста). Любая информация устройства ( кроме данных о состоянии) выдается и интерпретируется как набор отдельных единиц сообщений. Единица сообщения содержит один или более байтов данных. Обычно строка данных, выданная, обработанная или интерпретированная как единица, составляет единицу сообщения. Специальные сообщения устройства, такие как " байт состояния" ( БСТ) и " конец сообщения" ( КП), содержат один байт и один бит соответственно. 2.4.1. Структура форматов сообщений Формат сообщения состоит из 3 полей данных: ЗД - заголовок (буквенный), ТД - тело (цифровое) и ОД - окончание (ограничитель). Необязательно, чтобы каждое сообщение содержало все три поля данных. Каждый из типов сообщений может содержать различный набор полей данных для различных видов применения устройств. Единицы сообщения могут передаваться (приниматься) раздельно или группой, образуя непрерывный поток единиц сообщений (рис. 25).
Рис. 25. Упрощенная общая структура полей применительно к измерительным и программным данным
Обычно в последовательностибайтов данных заголовок (ЗД) служит для определения характера значения тела данных (ТД), представляемого в цифровом виде. Поле ограничителя данных (ОД) не зависит от основной единицы сообщения и применяется в устройствах для создания пар сообщений ЗД-ТД. Наличие поля ограничителя считается необязательными зависит от применения устройства.
79
В таблицах 14, 15 приводятся примеры, иллюстрирующие общую структуру сообщений измерительных и программных данных. Таблица 14. Пример общей структуры сообщений измерительных данных Измерительные данные Поля данных
U ЗД
ВК
-10.003 ТД
ПС ОД
Таблица 15. Пример общей структуры сообщений программных данных Программные данные Поля данных
F ЗД
6 ТД
R ЗД
2 ТД
Т ЗД
3 ТД
ВК ПС ОД
Заголовок поля данных (ЗД) Заголовок поля данных используется для описания типа, количества и качества данных поля ТД или выбора определенных функций в случае отсутствия поля ТД. Начальный знак в поле ЗД ограничен до буквенной информации для обеспечения разделения сообщений приемником. Возможны три типа поля данных ЗД: ЗД1, ЗД2, ЗДЗ ( рис. 26). Интерпретация данных упрощается, если поле ЗД имеет фиксированную длину для каждого отдельного прибора.
Рис. 26. Общая синтаксическая диаграмма поля ЗД
Поле ЗД1 Это поле содержит один или более буквенных знаков (рис. 27). Этот тип поля предпочтительный для поля данных ЗД. Буквенные знаки могут быть двух видов: A|B|C|D|E|F|H|I|J|K|L|M|N|0|P|Q|R|S|T|U|V|W|X|Y|Z| a|b|c|d|e|f|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z| Верхний ряд является предпочтительным.
80
Рис. 27. Синтаксическая диаграмма поля типа ЗД1
Поле ЗД2 Это поле (рис. 28) содержит один или более буквенных знаков с возможностью пробелов в середине или конце строки. Пробел обозначается символом " ∇ ". Беспорядочное применение пробелов для упрощения интерпретации данных приемников не рекомендуется (например, использование в качестве знака в формате или заполнителя в строке данных фиксированной длины).
Рис. 28. Синтаксическая диаграмма поля типа ЗД2
Поле ЗДЗ Это поле содержит один или более буквенных знаков. В нем предусматривается возможность использования специальных знаков, а также пробелов в середине или конце строки. Набор специальных знаков допускает использование печатных знаков из колонок 2-7 ГОСТ 13052-74, но исключает набор ЗД1 и следующие знаки: |.|,|;|+|-|0|1|2|3|4|5|б|7|8|9|. Поле ЗДЗ используется только для программных данных (рис. 29).
Рис. 29. Синтаксическая диаграмма поля типа ЗДЗ
81
Цифровое тело поля данных (ТД) Возможны
три типа представления десятичных данных: ТД1, ТД2, ТДЗ.
В поле ТД цифра старшего разряда посылается первой (рис. 30).
Рис. 30. Общая синтаксическая диаграмма поля ТД
ТД1, ТД2, ТДЗ применимы только к основанию 10 с синтаксическими правилами для ряда знаков. Цифры: |l|2|3|4|5|6|7|8|9|0| Символы: \E| ∇ |+|-|.| Число знаков, содержащихся в полях ТД1, ТД2 или ТДЗ, не ограничивается. При обозначении положительного значения цифровой величины знак "+" можно не использовать. Поле ТД1 Поле ТД1 удобно использовать при передаче целых значений цифровых данных, где точка или запятая помещается (но не переносится) в конец строки чисел (рис. 31). Представление без знака и представление со знаком могут содержать начальные пробелы. Не допускается вводить пробелы в середине или в конце строки чисел. Представление со знаком числа со значением НУЛЬ должно содержать знак +,V (табл. 16).
Рис. 31. Синтаксическая диаграмма поля данных ТД1
82
Таблица 16. Примеры цифрового представления данных в поле ТД1 Показание индикации устройства 4902 +1234 56780 0
Форма представления данных Без знака Со знаком 0004902 +004902 ∇∇∇ 4902 ∇∇ +4902 0001234 +001234 ∇∇∇ 1234 ∇∇ +1234 Никакого представления -056780 ∇ -56780 0000000 +000000 ∇∇∇∇∇∇ 0 ∇∇∇∇∇∇ 0
Примечания. 1. Передние пробелы и нули можно пропустить. 2. Число цифр в данных примерах не означает предпочтительное число передаваемых цифр. Поле ТД2 Поле ТД2 - это представление цифровых значений с четко указанным положением символа десятичной точки в позиционном представлении числа. Перед этим символом должно быть не менее одной цифры (рис. 32). Поле ТД2 рекомендуется использовать для цифровых данных, когда диапазон этих данных ограничен или когда данные предполагается использовать с устройствами, в которых преобладает интерпретация данных человеком (табл. 17).
Рис. 32. Синтаксическая диаграмма поля данных ТД2
Примечания. 1. Передние пробелы и нули можно пропустить. 2. Число цифр в данных примерах не означает предпочтительное число передаваемых цифр. 83
Таблица 17. Примеры цифрового представления данных в поле ТД2 Показание индикации устройства 1327 123.45 1237.0 0.00001 -5.678 0
Форма представления данных без знака со знаком 1327.000 +1327.00 0001327 ∇∇ +1327 00123.45 ∇ +123.45 ∇∇ 123.45 ∇∇ 123.45 ∇∇ 1237.0 ∇ +1237.0 00.00001 +0.00001 Никакого представления -5.67800 -05.6780 000.0000 +0.00000 ∇∇∇∇ +0.0 ∇∇∇∇∇ 0.0 ∇∇∇∇∇ 0.0
Поле ТДЗ Поле ТДЗ - это масштабированное представление с четким указанием положения символа десятичной точки или с неявным указанием положения этого символа при помощи экспоненциального представления числа ( рис. 33). Такое представление рекомендуется в тех случаях, когда устройство должно выдавать (или принимать) широкий диапазон данных. В мантисе и в экспоненте поля ТДЗ не допускается вводить пробелы в середине или в конце строки. Для мантисы со значением НУЛЬ использование знака "-" не допускается. В поле экспоненты две цифры являются предпочтительными, одна или три допустимыми. Перед символом десятичной точки должно быть не менее одной цифры.
Рис. 33. Синтаксическая диаграмма поля данных ТДЗ
84
Поля ТД1, ТД2 , ТДЗ предусматривают применение мантисы переменной длины. Интерпретация единиц сообщений измеренных данных упрощается, если длина мантисы остается фиксированной для любого рабочего режима данного устройства (табл. 18) Таблица 18. Примеры цифрового представления данных в поле ТДЗ Показание индикации устройства 5600 0.00002
-4,2 0
Форма представления данных 2 3 00.56Е+04 3 00056Е+02 +0.56Е+04 +0056Е+02 ∇ 0.56E+04 ∇∇∇ 56E+02 00002Е-05 0002.Е-04 0.200Е-04 +0002Е-05 +00.2Е-04 ∇∇∇ 2E-05
1 005.6Е+03 +056Е+03 W5.6E+03 0020.Е-06 00020Е-06 +0020Е-06 ∇∇∇ 20E-06 04.2Е+00 00000Е+00 +О000Е+0О ∇∇∇∇ 0E+00
∇∇ 0.2E-04 0.42Е+01
∇∇∇ +2E-05 0042Е-05
0.000Е+00 +0.00Е+00 ∇∇ 0.0E+00
ОО000Е+ОО +0000Е+00 ∇∇∇∇ 0E+00
Индекс Синтаксическая диаграмма индекса изображена на рис. 34. Индекс относится непосредственно к полю данных ТД и устанавливает множитель диапазона программируемой функции. В данном разделе индекс относится только к программируемым данным.
Рис. 34. Синтаксическая диаграмма индекса
Поле ограничителя данных Каждая единица сообщения(ЕС) в общем случае состоит из поля ЗД и ТД. Для разделения ЕС в составе записи используетсяполе ограничителяданных (ОД), при этом два ограничителяодного или разных типов не должны посылаться последовательно (рис. 35). Ограничителииграют важную роль в обеспечении совместимости устройств(рис. 36). Поэтомунеобходимобыть очень внимательнымпри их выборе. 85
Рис. 35. Взаимосвязь ЕС и ограничителей
Рис. 36. Общая синтаксическая диаграмма поля данных ОД
Ограничитель ОД1 Ограничитель ОД1 является ограничителем внутри записи и используется для обозначения окончания наименьшей единицы информации, которая определяет один результат измерений (рис. 37). Этот ограничитель используется для разделения пары переменных ( например, амплитуды и фазы) или последовательности идентичных измерений одного типа данных ( например, частоты) в непрерываемой последовательности в тот момент, когда функция " источник" интерфейса находится в состоянии СИАК.
Рис. 37. Синтаксическая диаграмма ограничителя ОД1
Ограничитель 0 Д1 является ограничителем наименьшего порядка. Для отдельных единиц сообщения и для последовательности сообщений конечным "ограничителем" может быть или ограничитель записи 0Д2 или указатель конца записи ОДЗ, заменяющие ограничитель внутри записи 0Д1. Предпочтительным ограничителем для 0Д1 является запятая. 86
Ограничитель ОД2 Сообщения ВК, ПС, КБ- по ГОСТ 13052-74. Ограничитель ОД2 является ограничителем записи и используется для обозначения окончания самостоятельной единицы сообщения одной измеренной величины или связанного набора единиц сообщения (рис. 38).
Рис. 38. Синтаксическая диаграмма ограничителя ОД2
В конце этого ограничителя функция " источник" интерфейса может перейти из состояния СИАК в состояние СИАД или СИХХ. Например, этот ограничитель может использоваться после сообщения о данных измерения в тот момент времени, когда ожидается, что это же устройство будет выдавать другую единицу сообщения в последующий момент времени, при этом на передачу сообщений не влияет ни контроллер, ни другое устройство. Предпочтительным ограничителем для ОД2 является ПС. Возможность выбора ( дистанционная или местная) между сообщениями ОД2 ( ПС, ВК, ПС, КБ) способствует упрощению обмена сообщениями между устройствами. Ограничитель ОДЗ Сообщение КТ соответствует ГОСТ 13052-74,
а сообщение КП по-
сылается по линии КП канала общего пользования (рис.39).
Рис. 39. Синтаксическая диаграмма ограничителя ОДЗ 87
Обозначение указывает, что находящиеся в нем сообщения посылаются одновременно. Сообщение "байт данных" (БТД) передается по линии ЛД0-ЛД7. Ограничитель ОДЗ является указателем конца записи и используется для обозначения окончания двойной записи или серии записей ( двоичный или 7битный код). Указатель конца записи обычно используется в тех случаях, когда устройство завершает передачу сообщений, число которых определяет оно само. Этот указатель является ограничителем наивысшего порядка. Использование сообщения КТ в качестве указателя конца записи сообщения КТ является менее предпочтительным. Связь состояний СИАК и СПАК с ограничителями. Использование ограничителей 0Д1, ОД2, ОДЗ предполагает, что устройства находятся в состоянии СИАК или СПАК. Запись, которая может содержать многочисленные единицы сообщений, может прерываться синхронно функцией контроллера для получения других операционных последовательностей более высокого приоритета. Рекомендуется, чтобы прерванное устройство возобновило передачу байта, следующего за байтом, переданным после точки прерывания (когда сообщение УП посылается ложным). Следует избегать асинхронного прерывания записи. 2.4.2. Данные измерения Формат данных измерений Эти данные выдаются тогда, когда функция интерфейса "источник" находится в состоянии СИАК. При реализации диаграммы формата данных измерений (рис. 40) разработчик должен учитывать следующие положения. Единица сообщения может быть любой продолжительности ( число символов в формате сообщения, выдаваемом устройством, не ограничено). Поле ЗД является необязательным и, если оно используется, то должно быть по возможности короче. Для конкретного устройства это поле должно иметь фиксированную длину. 88
Рис. 40. Синтаксическая диаграмма формата сообщений данных измерений
Поле ЗД2 при определении единиц, связанных с полем данных ТД, должно использовать в качестве предпочтительного ряда немасштабированные единицы (например, V, А). Допустимо использование масштабированных единиц. В этом случае в предпочтительном ряду должны быть представлены множители вида 10 +3 или 10 -3 (например, mV, kA).
Поле
ЗД2 при определении типа данных
допускает использование немасштабированных единиц. Для описания качества данных поле ЗД2 зависящие от устройства символы использует для указания определенных условий ( например, перегрузка, переполнение, выход из диапазона, калибровочное напряжение могут быть представлены при помощи соответствующих символов). Поле ТД является обязательным и должно содержать один из типов поля ТД1, ТД2, ТДЗ. Выбор типа поля зависит от применения устройства. Представление данных в ряде ТД1 без знака является наиболее приемлемым в системе передачи цифровых данных, где необходимы ограниченная интерпретация и обработка данных (например, ограниченный или постоянный диапазон измерений) или где между устройствами распределяется большой объем данных фиксированного формата. В этих случаях большое значение имеют скорость передачи данных или их обработка и интерпретация без вмешательства со стороны человека. Представление данных в ряде ТД2 со знаком наиболее пригодно в системе передачи цифровых данных с ограниченным диапазоном выдачи данных или данные используются устройствами, в которых преобладает интерпретация их человеком. Экспоненциальное представление ТДЗ предпочтительно в тех случаях, когда измерительные устройства и контроллеры должны выдавать (или 89
принимать) широкий диапазон данных, которые надо выдавать или принимать. Необходимо, чтобы длина поля ТД оставалась постоянной для каждого рабочего режима устройства ( для упрощения интерпретации и запоминания данных). Выбранный тип представления ТД должен оставаться неизменным и для значения "нулевых" данных. Если ряд сообщений или связанных измерений выводится в пределах одной записи, то ограничитель ОД1 должен использоваться между каждой единицей сообщения данной записи. Выход измерительных данных или запись может завершаться полем данных ОД2 или ОДЗ. Использование указателя конца записи данных ОДЗ указывает на то, что устройству необходимы определенные команды (например, зависящие от устройства сообщения или интерфейсные сообщения, такие как ЗАЛ, ОПО), чтобы выдать следующий ряд сообщений измерительныхданных. Один или два ограничителя одного или разных типов, не должны посылаться один за другим. В целях облегчения соответствующего отклика в различных приемных устройствах запись может завершаться полем ОДЗ. Коды полей данных. Коды по ГОСТ 13052-74 являются предпочтительным набором кодов для измерительных данных; печатные знаки из колонок 2-5 по ГОСТ 13052-74 являются предпочтительными, так как их применение облегчает обработку и интерпретацию данных. 2.4.3. Программные данные Формат программных данных При подготовке к выполнению функции измерительные приборы получают программные данные ( например, диапазон измерения, рабочий режим, выходной режим). Эти зависящие от устройства данные принимаются, когда приемник находится в состоянии СПАК. При реализации диаграммы сообщений программных данных ( рис. 41) разработчик должен учитывать следующие положения.
90
Рис. 41. Синтаксическая диаграмма формата сообщений программных данных
Устройство, которое необходимо запрограммировать, обычно требует ряд единиц сообщений, каждая из которых содержит поле данных ЗД и ТД. Каждое отдельное сообщение ( например, диапазон напряжений, предел тока, выход частоты положение переключателя или установка чувствительности) должно начинаться с поля ЗД. Оно используется для того, чтобы направить последующее поле ТД ( если оно имеется) к соответствующей функции. Поле ЗД должно быть, по возможности, короче, содержать только буквенные данные и быть единственным для каждой индивидуальной функции устройства. Если ЗД используется со специальными знаками и разделение его от следующего поля неоднозначно, то требуется ограничитель ОД1. ЗД1 может быть использовано самостоятельно, без цифры, но это не рекомендуется ( потеря синхронизации может дать в результате неправильное программирование функции). Использование поля ЗД1 с последующей одной или несколькими цифрами является наикратчайшим путем программированияопределенной функции (например, диапазон R3). Этот метод позволяет управлять функциями устройства (эквивалентное управлению положением переключателей на передней панели) в тех случаях, когда в устройствене требуется программироватьчисловые значения. Индивидуальная единица сообщения может содержать поле ТД для программирования определенных значений (частота, диапазон), связанных с функцией, указанной в поле ЗД. Можно использовать любое из трех полей ТД. Поле 91
ТД может также содержать индекс. Использование
индекса
позволяет
принимать
программную
по-
следовательность в обычных единицах ( например, строка С 123.45 MHZ означает установку центральной частоты 123.45 МГц). Отдельные единицы сообщений в пределах строки программных данных могут сами себя ограничивать при условии, что каждая функция начинается индивидуальным полем ЗД. При этом ЗД1 и цифра (d) могут быть повторены без использования поля ОД ( например, TPd - для режима запуска, TEd - для режима самоконтроля, Tld для режима синхронизации; устройство всегда реагирует только на двухсимвольное поле ЗД1). Когда поле ТД без индекса повторяется два раза или более, необходим ограничитель. Большие блоки программных данных ( например, многократные или очень длинные записи) могут иметь ограничители ОД2, распределенные по всей записи для облегчения обработки и буферизации данных. Устройства, получающие такие данные, должны принимать ограничители ОД2 и однозначно их расшифровывать. Сообщение программных данных может закончится ограничителем ОДЗ. Коды программных данных Предпочтительнымкодом для этих данных является код по ГОСТ 13052-74. 2.4.4. Данные о состоянии Данные о состоянии могут быть посланы из устройства с сообщением байта состояния - БСТ|ЛД0-ЛД5, ЛД7| в ответ на последовательный опрос, когда устройство находится в состоянии СПСА. Основной целью сообщения БСТ является представление критических суммарных данных состояния устройства в действующий контроллер. Суммарные данные о состоянии представляют логическое " или" детальных данных состояния ( при наличии в устройстве более одного ненормального состояния). Сообщения БСТ должны передать большое разнообразие зависящих от устройства внутренних состояний и условий, по-
92
этому законченная структура данных и кодов невыполнима. Достаточный уровень совместимости устройства достигается, когда линии ЛД0-ЛД6 используются в соответствии с требованиями данного раздела. Сообщение " обслуживание запрещается" ( ОБЗ) посылается по ЛД6 одновременно с сообщением БСТ (табл. 19). Таблица 19. Предпочтительная структура представления данных о состоянии устройства Логическое значение
Сообщения БСТ
ОБЗ ЛД6
ЛД7
ЛД5
ЛД4
ЛДЗ-ЛДО
Расширено
Ненормальное
Занят
ХХХХ
1
Запрошено обслуживание
Не расширено
Нормальное
Готов
ХХХХ
0
Обслуживание не запрошено
Сообщение " ненормальное условие", посылаемое по ЛД5, используется для передачи суммарных данных о состоянии, связанных с ненормальной работой устройства. ( Примеры: внутренняя погрешность в пределах функции устройства; ошибочные программные данные, посланные в устройство; неполные или ошибочно измеренные данные; предельные условия). Сообщение условия " занято" ( посылается по ЛД4) используется для передачи суммарных данных о состоянии, связанных с условием " готов" "занят"
основных
функций
устройства
или
( например, "измерять напряже-
ние", "измерять частоту", "выдавать аналоговые данные"). Если применение устройства требует, чтобы сообщение 30 показывало, например, "готовность для считывания" данных измерений, то кодирование линии ЛД4 либо должно быть изменено на обратное, либо необходим дополнительный бит для указания "готовности к считыванию ". ЛДО-ЛДЗ могут быть использованы конструктором для передачи либо дополнительных суммарных данных о состоянии системы, либо более детали-
93
зированных данных о состоянии устройства. Кодовое поле предусмотрено для обеспечения максимальной гибкости при передачи специальных зависящих от устройства условий, но коды для детализации состояния стандартом не устанавливаются. ЛД7 может быть использована в качестве флагового бита для расширения или изменения (способом, зависящим от устройства) значения части сообщения БСТ. Например, ЛД7 может быть использована для удвоения кодового поля, имеющегося в битах ЛДО-ЛДЗ. Предпочтительная структура сообщения БСТ приведена в табл. 19. Содержание сообщения БСТ, посланного по ЛД0-ЛД5, может изменяться между передачами БСТ при изменении внутренних состояний устройства. Если устройство имеет только единственную причину для запроса обслуживания, эта причина может быть указана в бите ОБЗ. 2.4.5. Данные индикации Измеренные данные, если они используются как данные индикации, должны соответствовать требованиям п. 2.4.2. В некоторых случаях соблюдение требований этого раздела необходимо, чтобы входные байты данных интерпретировались различным образом или в определенные моменты времени, или в определенных последовательностях. Например, самописец сначала должен быть "инструктирован" относительно соответствующих рабочих условий ( например, установить масштабный коэффициент), а затем ему должны быть даны определенные точки данных, по которым необходимо построить график. Должны быть обеспечены средства для смены потока данных: от программных данных к данным индикации (измерительным данным). При этом самописец находится в состоянии СПАК или СПАД. Адреса приемников ( первичные или вторичные) могут быть использованы для указания каждого типа данных. При использовании одного адреса на прием разработчик имеет свободу выбора кода, зависящего от устройства, в
94
пределах имеющейся кодовой области. В этом случае необходимо обращать внимание на то, чтобы не было неоднозначного присвоения кода. 2.4.6. Общие правила кодирования Наименее значимый бит многобитового кода, передаваемого одновременно через интерфейс, должен помещаться на линию ЛД под наименьшим номером. Для 8-битного двоичного кода должны использоваться ЛД0-ЛД7 для представления битов 2 0 − 2 7 соответственно. Для 5 -битного кода должны использоваться ЛД0-ЛД4 соответственно для представления битов 2°- 24 .
Неиспользованные
сигнальные линии должны посылать данные пассивными ложными. Для 7-битного кода по ГОСТ 13052-74 биты должны размещаться на линиях сигналов следующим образом: Колонка 7-битного кода Линия сигналов
ЛД7
7
6
5
4
3
2
1
ЛД6
ЛД5
ЛД4
ЛДЗ
ЛД2
ЛД1
ЛДО
ЛД7 посылается пассивной ложной, если не используется для проверки на четность. Представление других двоичных кодов в поле ТД должно соответствовать таблице 20, в которой устанавливается набор двоичных битов кода, используемого для каждого передаваемого байта. Если код уплотненный, то наиболее значимый бит помещается на ЛД6 или ЛД7. Таблица 20. Представление двоичных кодов в поле данных Код Двоичный Уплотненный восьмеричный Уплотненный шестнадцатиричный Шестнадцатиричный Уплотненный двоично-десятичный. Двоично-дестичный
ЛД7 27 X 23
ДД6 6
2 22 22 0 22 0
X 23 X
ЛД5 25 21 21 0
ЛД4 24 20 20 0
ЛДЗ 23 X 23 23
21 0
20 0
23 23
ЛД2 22 22 22 22 22 22
ДД1 ЛДО 21 20 21 20 21 20 21 20 21 20 21 20
Обозначения: ЛД0-ЛД7 - линии сигналов; X - 0 или бит четности.
95
2.4.7. Представление недесятичных данных Для представления недесятичных данных 7-битный код по ГОСТ 1305274 является предпочтительным при условии, что имеется корреляция между недесятичными данными и этим представлением кода. Кодирование недесятичных данных и присвоение сигнальных линий, указанное в таблице 20, правомерно только для поля ТД и носит общий характер. При посылке недесятичных данных первым должен следовать наиболее значимый байт. Если числа уплотненные, наиболее значимая цифра помещается на ЛД4-ЛД7. Двоичные числа рассматриваются как подмножество десятичных чисел и в поле ТД допустимы только следующие знаки: |0|l|.|. Восьмиричные числа рассматриваются как подмножество десятичных чисел и в поле ТД допустимы только следующие знаки: |0|1|2|3|4|5|6|7|.|,|. Шестнадцатиричные числа используют следующую группу символов в поле ТД: |0|1|2|3|4|5|6|7|8|9|a|B|C|D|E|F|.|. 2.4.8. Примеры предпочтительных форматов сообщений Данные измерений: а) вольтметр проводит однократное измерение постоянного напряжения плюс 12,002 В в диапазоне 10 В и результат выдает в форме ТДЗ (экспоненциальное представление). Цифровым значением поля ТД предшествуют данные ЗД ( напряжение U и качество Р - перегрузка) измеренной величины. Строка знаков заканчивается ВК, ПС, если результат измерения выдается вольтметром. Предполагаемый формат выдачи: PU+12002Е-03ВКПС. Возможные форматы выдачи: РU+12.002ПС. PU+12.002K
Б:
б) частотомерс двумя каналами(А и В) измеряетчастоты4,23 MHZи 2,65 kHZ. Предпочтительный формат выдачи: AF MHZ 4.23, В KHZ 2,65 ВК ПС.
96
Возможный формат выдачи: AF MHZ 4.23, В KHZ 2,65 [ПС /\ КП] КП передается по линии КП одновременно с ПС. Программные данные: а) необходимо запрограммировать вольтметр на измерение и выдачу постоянного напряжения в диапазоне 10 V при получении сигнала внешнего запуска. Предпочтительный формат программы: F0 Р4Т1 МЗР. Возможные форматы программы: F0, R4, Т1, МЗ, Р F0R4T1M3[P /\
КП];
б) необходимо запрограммировать анализатор спектра на проведе ние
и
запоминание 1000
режима A3 ( относительно Команда
амплитудных
измерений
с
использованием
запоминание и индикация). Эти измерения должны быть центральной
ПО ( пуск
частоты 12.345 MHZ
однократный)
вызывает
в полосе 1000 HZ. однократное
выполнение
этой измерительной последовательности. Предпочтительные форматы программы: СГ12.34 MHZ SP 1000 HZ ПО A3 СГ 1234Е - 02MHZ Р1000 HZ ПОАЗ. Возможные форматы программы: CF 12.34 MHZ, SP1000 HZ, ПО, A3 CF 12.34 MHZ SP1000 HZ ПО A3 ПС: в)
необходимо
запрограммировать
источник
питания
напряжения 5,25 V с ограничением тока 120 мА. Предпочтительные форматы программы: V5.25E+00, 1 120Е-03 V+5250E-03 1 120
Е-03.
Возможные форматы программы: V525T-02, 1 120Е-03 ПС V5.25, 1 120
97
Е-0 [3 /\ КП].
на
выдачу
3. СИСТЕМНЫЙ ИНТЕРФЕЙС КОМПЬЮТЕРА IBM PC При создании измерительно-вычислительных комплексов возникает задача совместного использования средств обработки информации ( компьютеров) и периферийного оборудования ( измерительных приборов). Задача обеспечения совместимости актуальна не только при объединении разнотипных, но и однотипных интерфейсов. Под совместимостью интерфейсов понимается согласованность условий информационной, электрической и конструктивной совместимости этих интерфейсов, чем достигается согласованность взаимодействия устройств, подключенных к различным системам сопряжения. При объединении разнотипных интерфейсов - системного ( интерфейс ЭВМ) и приборного ( КОП) - реализуется способ иерархического подчинения [6]. Способ иерархического, подчинения предполагает подключение ведомого интерфейса (КОП) к ведущему через контроллер ведомого. Последний для ведущего интерфейса является устройством ввода-вывода, поэтому называется контроллером или адаптером-контроллером. Это устройство совмещает функции адаптера и контроллера и координирует функционирование интерфейсной системы нижнего уровня, выполняет функции взаимодействия с интерфейсом верхнего уровня, которые могут включать в себя прием и интерпретацию команд, преобразование данных и адресов, выделение и обслуживание наиболее приоритетных запросов от непосредственно подчиненных устройств. Способы доступа к совмещаемым интерфейсам разделяются на косвенные и прямые. Косвенный способ доступа отличается от прямого следующими особенностями: между совмещаемыми интерфейсами происходит преобразование не только кодовой управляющей информации, передаваемой по информационному каналу, но и сигналов управляющего канала; коды, передаваемые по информационному каналу, подвергаются в адаптере или контроллере буферному запоминанию. Практически этот способ доступа является основным для несимметричных разнотипных интерфейсов при различных способах управления. 98
3.1. Системная шина компьютера IBM PC Системная шина ШМ PC [7] представляет собой расширение шины микропроцессоров 8088 фирмы Intel. Однако она демультипликсированнаи ее возможности расширены путем добавления линий дополнительных управляющих сигналов для прямого доступа к памяти ( ПДП), обработки прерываний и других функций. Используемые ИС совместимы с транзисторно-транзисторной логикой (ТТЛ), причем помимо сигнальных выводов имеются выводы для подачи питания и соединения с землей. Так, на рисунке 42 в общей сложности показано 62 вывода. 0А-А19. Это 20 выводов адресов памяти и ВВ. АО - младший значащий разряд (МЗР), А19 - старший (СЗР). Сигналы для этих линий формируются либо процессором Intel 8088, либо контроллером ПДП. D0-D7. Эти восемь выводов образуют двустороннюю шину данных. DO младший разряд, D7 - старший. Во время инициируемого процессором 8088 цикла записи в память микропроцессор выдает информацию на шину данных перед началом фронта сигнала записи в порт ВВ ( IOW ) или записи в память ( MEMW ), которые тактирует подачу данных на порт вывода или в память. Во время инициируемого процессором 8088 цикла чтения с шины порт ввода или память должны направлять информацию на шину данных перед началом фронта сигнала чтения с порта ВВ ( IOR ) или чтения из памяти ( MEMR ), которые служат для занесения данных в буфер микропроцессора 8088. MEMR , MEMW , IOR , IOW . Эти сигналы с активным низким уровнем управляют операциями чтения и записи. Они могут выдаваться процессором Intel 8088 или контроллером ПДП. ALE (разрешение регистра адреса). На системной шине PC сигнал ALE указывает на начало шинного цикла, который инициируется процессором Intel 8088. Когда этот сигнал выставлен, по системной шине данных адресная информация передаваться не будет. Таким образом, в отличие от сигнала с таким же обозначением, используемого в микропроцессоре Intel 8085, функция ALE в 8088 не связана с выделением адреса из информации, поступающей по шине данных. 99
Рис. 42. Разводка вывод системой шиной IBM PC
100
AEN ( разрешение адреса). Этот сигнал выдается контроллером ПДП и указывает, что идет выполнение цикла прямого доступа к памяти. Обычно он служит для блокировки логики декодирования порта ВВ во время цикла прямого доступа к памяти. Это необходимо для того, чтобы адрес прямого доступа к памяти не был случайно использован в качестве адреса ВВ. Такая ситуация, в принципе, может возникнуть, поскольку управляющие линии IOR и IOW могут переходить в активное состояние во время цикла ПДП. OSC ( сигналы задающего генератора), CLOCK. OSC - высокочастотный системный синхросигнал с периодом повторения 70 нс (частота 14,31818 МГц) и коэффициентом заполнения 0,5. Частота сигнала CLOCK равна 1/3 частоты задающего генератора (4,77 МГц). Она является рабочей частотой микропроцессора Intel 8088. Сигнал CLOCK имеет период повторения 210 нс и коэффициент заполнения 0,33. IRQ2-IRQ7 ( запросы на прерывание). Устройства ввода-вывода используют шесть линий ввода для генерирования запросов на прерывание, направляемых процессору 8088. Этим запросам присваиваются определенные приоритеты (IRQ2 задает высший приоритет). Запрос на прерывание генерируется путем выдачи высокого логического уровня на линию IRQ и поддержания его до тех пор, пока прием этого сигнала не будет подтвержден процессором. Поскольку сигнал подтверждения прерывания (INTA), выдаваемый процессором, не появляется на системной шине, подтверждение обычно поступает по одной из линий порта ВВ, для чего используется команда OUT, выдаваемая подпрограммой обработки прерываний. I/O CH RDY (готовность канала ВВ). Этот входной сигнал используется для инициирования периодов ожидания, с помощью которого увеличивается длительность шинных циклов микропроцессора при работе с "медленным" запоминающим и внешними устройствами.
I/O CH CK (проверка канала ВВ). Этот сигнал с активным низким уровнем служит для " информирования"
101
процессора 8088 о том, что в данных, поступивших из памяти или от устройства ВВ, содержится ошибка, обнаруженная контроллером по четности. RESET DRY (инициирование сброса). Этот сигнал служит для сброса или установки в исходное состояние системной логики либо при включении питания, либо в том случае, когда после подачи питания обнаружится, что один из уравнений напряжения питания выходит за допустимые рабочие пределы. Этот сигнал синхронизируется срезом импульса OSC. DRQ1-DRQ3 (запрос прямого доступа к памяти). Эти входные сигналы служат для запроса доступа к асинхронным каналам, которые используются периферийными устройствами, чтобы получить возможность прямого доступа к памяти. На линии DRQ должен поддерживаться высокий уровень сигнала до тех пор, пока уровень на соответствующей линии DACK не станет низким. Обратите внимание на то, что на шине отсутствует линия сигнала RQ0, который служит для регенерации динамической памяти системы. DACK0 - DACK3 (сигналы подтверждения запроса ПДП). Эти сигналы с активным низким уровнем используются для подтверждения приема сигналов запроса ПДП и для регенерации динамической памяти (DACK0). Т/С (конец блока данных). По этой линии выдается импульс, когда достигается конец блока данных, передаваемых по каналу прямого доступа к памяти. 3.2. Карта распределенияи временныедиаграммыввода-вывода IBM PC Для генерации правильных сигналов выбора функциональных узлов необходимо знать вид адресации портов ввода-вывода и карту их распределения. При общем числе возможных портов в компьютере PC, равном 1024, для обращения к ним используется 10- разрядный адрес порта - разряды А0-А9. Карта адресов портов ВВ разделена на две части. 512 адресов с 0000Н по 01FFH ( ше-
102
стнадцатеричная запись) выделены для системной объединительной панели. Адресное пространство с 0200Н по 03FFH, т.е. 512 адресов портов, предоставляется схемным платам, которые вставляются в пять гнезд на шасси компьютера. Из таблицы 21 видно, что большинство из этих 512 адресов выделено функциональным платам IBM. Портам макетной платы назначено всего 32 адреса - с 300Н по 031FH. Таблица 21. Карта распределения адресов ввода-вывода IBM PC Шестнадцатиричный адрес 000-00F 020-021 040-043 060-063 080-083 ОАх ОСх ОЕх 100-1FF 200-20F 210-217 220-24F 278-27F 2F0-2F7 2F8-2FF 300-31F 320-32F 378-37F 380-38С 390-399 ЗА0-ЗА9 3B0-3BF 3C0-3CF BD0-3DF ЗЕ0-ЗЕ7 3F0-3F7 3F8-3FF
Функция Микросхема ПДП типа 8237А-5 Контроллер прерываний 8259А Таймер 8253-5 Программируемый периферийный интерфейс 8255А-5 Страничные регистры ПДП Регистр маски NMI Резерв Резерв Не используется Видеоигры Устройство расширения Резерв Резерв Резерв Асинхронная передача (2) Макетная плата Накопитель на жестком диске Принтер Передача по протоколу SDLC Двоичная синхронная передача (2) Двоичная синхронная передача (1) Монохромный дисплей IBM/принтер Резерв Цветная графика Резерв Накопитель на гибком диске Асинхронная передача (1)
103
Закрепление
За компонентами на системной плате
За портами функциональных плат
То же
Для правильного взаимодействия любого интерфейса с интерфейсом IBM PC необходимо обеспечение совместимости временного распределения его работы с аналогичными параметрами системной шины. Во временных диаграммах и таблицах, приведенных на рисунке 43, представлена детальная информация о временном распределении шинных циклов записи и чтения ВВ. Шинный цикл обычно состоит из четырех рабочих периодов длительностью Т (машинный такт), однако компьютер автоматически вводит в этот цикл дополнительный период ожидания (TW). Таким образом, в компьютере весь шинный цикл ВВ содержит как минимум пять периодов Т, т.е. его длительность равна примерно 1,05 мкс. Шинный цикл может быть дополнительно увеличен путем регулирования длительности сигнала готовности (10 СН RDY) на системной шине. Выводы А16 - А19 адресной шины компьютера не переводятся в активное состояние во время шинных циклов ВВ Шинный цикл чтения ВВ инициируется каждый раз, когда микропроцессор 8088 выполняет команду IN. Во время периода Т1 в активное состояние переключается линия сигнала ALE, по срезу которого выдается признак того, что разряды А0-А15 адресной шины со держат действительный адрес порта ВВ. Во время периода Т2 в активное состояние переводится сигнал управления IOR , который указывает, что отклик адресуемого входного порта должен заключаться в выводе им своего содержимого на шину данных. В начале периода Т4 процессор считывает информацию с шины данных, а затем линия сигнала IOR переводится в неактивное состояние. Шинный цикл записи ВВ инициируется каждый раз, когда процессор 8088 выполняет команду OUT. Во время периода Т1 в активное состояние переводится управляющий сигнал ALE, по срезу которого выдается признак того, что разряды А0-А15 адресной шины содержат действительный адрес порта.
104
Рис.43. Временное распределение шинных циклов записи и чтение ВВ
105
Затем время периода Т2 в активное состояние переключается сигнал IOW , который указывает выбранному выходному порту, что ему следует считать содержимое шины данных. Далее в течение этого же периода процессор 8088 выводит на шину данные, которые должны поступать на выходной порт. В начале периода Т4 сигнал IOW переходит в неактивное состояние и процессор 8088 удаляет данные с шины. На рисунке 43 приводится информация о временных соотношениях в виде данных для наихудшего случая по максимуму и минимуму. Следовательно, эти данные справедливы для всех условий нагрузки шины и всех уровней напряжений питания в пределах заданных данных. 3.3. Буферизация и декодирование содержимого шины На основе схемы буферизацииреализованышина буферизированныхданных, ВDО-ВВ7, адресная шина, ВА0-ВА9 и ряд линий управляющих сигналов: BOIR , ( 44). Обозначениявсех приведенныхна рисунBIOW , BRESET DRV, BCLOCK рис. ке 44 сигналов начинаютсяс буквы В, означающей, что сигнал буферизован. Схема декодированиягенерирует32 сигналавыборапортов, Е0-Е31 (ОЗООН-031FH). Два буфера с тремя состояниями (74LS244) служат для буферизации разрядов А0-А9 адресной шины и требуемых управляющих сигналов. Для отображения адресов 32 портов на нужную область адресного пространства содержимое адресных разрядов ВА5-ВА9 сравнивается с фиксированным значением ОЗН (00011) на компараторе 74LS688, который вырабатывает разрешающий сигнал ВВ ( IOA ) для микросхем дешифраторов. Сигнал выбора платы отпирает шинный приемопередатчик (74LS245), а также разрешает последующее декодирование адресных разрядов А0-А4. Это декодирование реализуется путем использования двух декодеров типа "4 в 16" (74LS154). Сигнал BIOR задает направление передачи данных в шинном приемопередатчике. Как и сигнал разрешения ИС, сигнал разрешения адреса (AEN) служит для блокировки компаратора, так что во время шинного цикла при прямом доступе к памяти нельзя обращаться ни к одному порту ВВ. 106
Рис. 44. Схема обеспечения сопряжения с шиной компьютера IBM PC
107
3.4. Сопряжение компьютера IBM PC с микросхемой порта ВВ типа Intel 8255 Микросхема 8255 фирмы Intel представляет собой однокристальный программируемый интерфейс периферийных устройств (PPI), в котором реализовано три программируемых порта ввода-вывода. Структурная схема ИС Intel 8255 ( рис. 45) содержит управляющий регистр и три 8-разрядных порта ввода-вывода, получивших обозначение А, В, С. Порт С, по существу, представляет собой два отдельных программируемых порта: С-верхний ( РС4-РС7) и С-нижний ( РСО-РСЗ). Следует помнить, что у пользователей есть возможность осуществлять запись информации в управляющий регистр, однако они не могут ее считывать. Микросхема 8255 переводится в активное состояние, когда логика декодирования активизирует линию соответствующего сигнала выбора ИС ( CS) (табл. 22). Кроме того, по АО и А1 выбираются управляющий регистр и один из трех портов организации передачи данных. Входы микросхемы RD и WR предназначены для задания режима чтения или записи информации. Когда включается питание системы, поданный на ИС 8255 сигнал-сброса переводит все 24 вывода, связанных с тремя портами ВВ, в третье состояние (с высоким импедансом). Микросхема остается в этом состоянии до тех пор, пока прикладная программа не запирает в управляющий регистр слово, определяющее режим работы. Имеется три возможных режима работы: 1. Режим 0: ввод-вывод общего типа. 2. Режим 1: стробируемый ввод-вывод. 3. Режим 2: двусторонняя шина данных. Выбор режима 0 ( рис.46) предоставляет в распоряжение системы два 8разрядных порта (А и В) и два 4-разрядных порта (С-верхний и С-нижний). Каждый порт можно запрограммировать на работу в качестве входного или выходного порта. Выходы портов буферизируются, тогда как на входах буферные 108
регистры не устанавливаются. В этом режиме возможно задание 16 различных конфигураций ввода-вывода.
Рис. 45. Структурная схема ИС Intel 8255
109
Таблица 22. Основные операции, выполняемые ИС Intel 8255 А1
АО
RD
WR
0 0 1
0 1 0
0 0 0
1 1 1
0 0 1 1
0 1 0 1
1 1 1 1
0 0 0 0
X 1 X
X 1 X
X 0 1
X 1 1
Направление передачи
CS
Операция ввода (чтение) 0 Из порта А на шину данных 0 Из порта В на шину данных 0 Из порта С на шину данных Операция вывода (запись) 0 С шины данных в порт А 0 С шины данных в порт В 0 С тины данных в порт С 0 С шины данных на линию управления Функция блокировки С шины данных на буфер с тремя состояниями 1 0 Запрещенная комбинация С шины данных на буфер с тремя состояниями 0
Режим 1 предоставляет системе два 8-разрядных порта: А и В. Однако в этом случае и входы, и выходы буферизируются. Два 4- разрядных порта ( Сверхний и С-нижний) используются как линии квитирования установления связи для портов А и В, и они уже не могут служить в качестве портов для обмена данными. При выводе данных в режиме 1 линии РСЗ, РС4 и РС5 используются в качестве линий квитирования установления связи для порта А. Линии РСО, РС1 и РС2 играют ту же роль для порта В. Линии РС6 и РС7 можно запрограммировать на работу в качестве входных или выходных линий порта. В этом режиме устройство ввода, как правило, направляет 8- разрядное слово данных на линии РА0-РА7 (или РВ0-РВ7), а затем выдает стробирующий сигнал с активным низким уровнем STB на линию РС4 (в случае обмена с портами А) или на линию РС2 ( при обмене с портом В). Подача такого строба обеспечивает загрузку слова данных во входной буферный регистр. В результате этого генерируется сигнал ( с активным высоким уровнем) заполнения буфера - IBF, который выдается на линию РС5 для активизации порта А и на линию РС1 для активизации порта В. Процессор считывает информацию с порта С и одновременно проверяет сигнал IBF, чтобы определить, достоверны ли данные, имею-
110
щиеся на линиях выбранного рабочего порта. Если сигнал IBF представляет собой логическую 1 , то процессор считывает данные с порта А или В, а сам строб IBF сбрасывается фронтом сигнала RD.
Рис. 46. Вариант задания режима в управляющем регистре
При выводе данных в режиме 1 линии РС7, РС6 и РСЗ служат в качестве линий квитирования установления связи для порта А. Линии РСО, РС1 и РС2 играют ту же роль для порта В. Линии РС4 и РС5 можно запрограммировать на работу в качестве входных или выходных линий порта. Процессор записывает данные в порт А или В и устанавливает флаг " буфер ввода заполнен" - OBF
111
(PC7 для порта А или РС1 для порта В) - в состояние с активным низким уровнем для индикации выполнения этой операции. Устройство вывода контролирует состояние OBF, чтобы определить, когда появятся выводимые данные. Оно подтверждает прием данных путем выдачи сигнала подтверждения ACK (линии РС6 для порта А или РС2 для порта В), который имеет активный низкий уровень и подтверждает прием данных, сбрасывая флаг "буфер вывода заполнен". Выбор режима 2
предоставляет в распоряжение системы одну 8-
разрядную шину для двусторонней передачи через порт А. Пять одноразрядных линий порта С становятся для порта линиями состояния и управления, т.е. порт А приобретает средства квитирования установления связи, аналогичные тем, которые предусмотрены в режиме 1. Когда ИС 8255 работает в режиме 1 или 2, ее управляющие сигналы, выдаваемые с порта С, могут использоваться в качестве входных сигналов запроса на прерывание, направляемых процессору. Эти сигналы прерывания можно запрещать или разрешать путем установки или сброса триггера " ассоциации" (разрешения прерывания) INTE, используя для данной цели функцию установки/сброса порта С. Когда разряд 7 управляющего слова установлен в ноль, управляющее слово интерпретируется как команда установки/сброса порта С. При поступлении такой команды может быть установлен или сброшен любой разряд порта С. Это особенно удобно при решении тех прикладных задач, где требуется манипулировать отдельными разрядами портов. Комбинировать режимы выполнения операций можно различным образом. Так, например, можно использовать порты А и С - верхний в режиме 1 и одновременно порты В и С нижний - в режиме 0.
112
4. УЧЕБНЫЙ ИВК С КАНАЛОМ ОБЩЕГО ПОЛЬЗОВАНИЯ 4.1. Структурная схема и алгоритм функционирования Комплекс представляет собой пример использования интерфейса Intel 625-1 ( канал общего пользования КОП) в системе измерения температурных зависимостей терморезисторов. ИВК состоит из управляющей ЭВМ типа IBM PC/AT, платы сопряжения с каналом общего пользования (контроллер-адаптер КА), цифрового вольтметра со встроенным интерфейсом КОП ( В7-40), звукового генератора ( ГЗ-122), спиртового термометра и емкости с подогреваемой жидкостью (рис.47).
Рис. 47. Структурная схема учебного ИВК с КОП
Комплекс работает следующим образом. Периодически раз в 20 С генератор выдает звуковой сигнал. Оператор снимает показание спиртового термометра и заносит в управляющий компьютер с клавиатуры. Пределы и интервалы измерения ( отсчета) можно изменить в результате диалогового взаимодействия с управляющей ЭВМ. Текущее значение температуры отображается на табло генератора. Результат измерения сопротивления терморезистора вольтметром В7-40/1 периодически посредством КОП считывается компьютером и записывается в особый файл, а при необходимости отображается в виде графика на экране ЭВМ. Комплекс работает под управлением программы, обеспечивающей режим измерения и режим обучения по теории ИВК.
113
4.2. Сопряжение КОП с IBM PC Подключенные к шине КОП устройства могут обеспечивать передачу и прием данных через шину, ее управление или любую комбинацию этих функций. Перед любым обменом данными через шину контроллер шины должен указать, какие устройства будут передатчиками, а какие - приемниками. Для реализации этих функций используются передаваемые через шину команды. Команды передаются так же, как и данные, с той лишь разницей, что во время передачи на линии ATN устанавливается уровень логической единицы. Команды считываются всеми подключенными к шине устройствами, и все устройства передают в контроллер соответствующие сигналы квитирования. 4.2.1. Контроллер-адаптер В контроллере-адаптере (схема и макетная плата разработаны и изготовлены в лаборатории кафедры электронной и компьютерной техники ДВГТУ, структурное подразделение " КАРЭ") используется программируемый параллельный интерфейс ( ППИ) ( микросхема КР580ВВ55 или Intel 8255) для подключения шины данных компьютера к соответствующим линиям шины КОП (линии управляющих сигналов, линии данных, линии синхронизации) под управлением резидентной программы. В схеме применены буферные каскады DD4, DD5. Выбор микросхемы порта КР580ВВ55 осуществляется по адресам 300Н-303Н при помощи дешифратора на микросхемах DD2, DD3. В этой схеме микросхема КР580ВВ55 работает в режиме 0. Благодаря этому организовано четыре независимых порта: А, В, С-верх-ний, С-нижний. В этом режиме порт А - двунаправленный и используется для приема (передачи) информации через КОП (8 линий). Порт В используется для передачи управляющих сигналов через КОП (линии В0-В2) и управления работой непосредственно самого контроллера-адаптера ( линии ВЗ, В6, В7). Порт С используется для приема (передачи) сигналов квитирования через КОП (линии СО, С4, С5) и приема управляющих сигналов (линии CI, C2). Для удержания сигналов на ши114
не управления КОП при переключении режима работы ППИ используется четырехвходовый триггер КМ155ТМ5 (DD6). Сигналы ДУ, УП, ОИ поступают от компьютера на шину КОП через входы триггера DO, Dl, D2. Входы подключены к выводам ВО, В1, В2 порта В DD1. Триггер DD6 представляет собой защелку данных и содержит две пары триггеров, управляемых по двум входам разрешения (CI, C2). Информация, имеющаяся на входах D триггеров, фиксируется в защелке при переключении состояния входов С1, С2 от высокого к низкому уровню напряжения. Для защелкивания информации в триггере формирование сигнала разрешения записи осуществляется программным путем, выставлением низкого уровня на линию ВЗ. Для установления стабильного уровня сигналов на выходе триггера цепочка R1C1 обеспечивает задержку относительно их сигнала разрешения. Шина данных буферизирована БИС КР580ВА87. Использование шинного формирователя, в котором двунаправленная передача осуществляется с инверсией, обусловлена тем, что данные через КОП передаются в инвертированном формате. Таким образом, с помощью шинного формирователя повышаем нагрузочную способность. При этом отпадает необходимость в постоянной инверсии программным путем считываемой и выводимой в КОП информации. Направлениепередачи приемопередатчиков(DD4, DD5)зависит от сигнала на входе Т. При высоком уровне сигнала на этом входе информацияпередаетсяс выводов А0-А7 к выводам В0-В7, при низком уровне сигнала - в обратномнаправлении. В интерфейсе рассматриваемой здесь системы для портов А, В и С, а также управляющего регистра микросхемы DD1
выделено адресное пространство
300Н-303Н, что соответствует 11000000002-11000000112.
Поскольку ИС
КР580ВВ55 (DD1) должна быть переведена в активное состояние, если на адресных линиях А2-А9 присутствует фиксированное значение ОЗН (000000112), логические элементы DD2, DD3 должны подавать сигнал выбора CS на схему DD1. Выбор любого из трех портов или управляющего регистра производится линиями двух младших разрядов адреса ВАО и ВА1, идущими от схемы буферизации.
115
Рис. 48. Схема контроллера-адаптера
116
В приводимом контроллере-адаптере шина данных компьютера через порт А и 8-разрядный буфер на микросхеме DD3 подсоединена к шине данных КОП. Порт В используется для управления D- триггерами (DD5), которые в свою очередь задают режим работы КОП. Триггеры необходимы для сохранения информации на линиях управления КОП, когда обслуживаются порты А и С. Запись информации в триггеры осуществляется выдачей на порт В сигнала, у которого первые пять разрядов задают режим работы линий управления, а шестой разряд используется для перезаписи информации. Порт С применяют для квитирования связи по линиям синхронизации КОП (DAV, NRED, NDAC). Порт С-нижний для приема (передачи) сигнала сопровождения данных DAV, порт С-верхний для передачи ( приема) сигналов обратной связи NRED ( готов к приему) и NDAC ( данные приняты). Формирователь DD5 необходим для буферизации линий управления шины КОП. 4.2.2. Программа-драйвер Ниже приводится подпрограмма, написанная на языке Паскаль, с использованием ассемблерных вставок, реализующая алгоритмы работы КОП "Источник" и "Приемник" (см. п. 2.2). Эта подпрограмма обеспечивает прием или передачу информации между ЭВМ и цифровыми приборами со встроенными интерфейсами КОП ( В7-40/1, ГЗ-112) и реализует интерфейсные функции " синхронизация источника", "синхронизация приема (см. п. 2.1.2-2.1.3). Реализация алгоритма работы приемника состоит из двух процедур: Receiverl и Receiver2. Реализация алгоритма работы источника состоит так же из двух процедур: Sourcel и Source2. Процедуры Receiverl и Sourcel выполняют соответственно функции начальной установки алгоритмов работы приемника и источника. Обе процедуры являются процедурами без параметров. Процедуры Receiver2
и Source2 выполняют соответственно функции приема и пе-
редачи данных, а также функции обмена квитирующими сигналами. Процедура Receiver2 организует прием байта от прибора и содержит принятый байт в ка-
117
честве выходного параметра. Все процедуры собраны в модуле UNIT SUNCH, который после трансляции преобразуется в файл SUNCH.TPU. Таким образом, все разработанные процедуры собраны в одном файле (SUNCH.TPU), а их подключение к управляющей программе осуществляется простым указанием имени SUNCH в секции USES управляющей программы. Приведенная программа позволяет при помощи сигналов квитирования реализовывать две интерфейсные функции: асинхронный прием и асинхронную передачу каждого байта информации. Разработанные подпрограммы реализуют стандартный протокол обмена информацией и сигналами квитирования в измерительной системе с интерфейсом КОП, поэтому они являются универсальными и могут использоваться при дальнейшем развитии учебного ИВК и включении в его состав других программируемых приборов. При помощи разработанных подпрограмм в управляющей программе организуется прием и передача данных, передача команд, адресация приборов. {Модуль, организующий синхронизацию ввода и вывода данных в интерфейсе КОП} Unit Sunch; Interferace Uses Crt, Dos; Procedure Sourse_l; Procedure Source_2 (M:Byte); Procedure Resiver_l ; Procedure Resiver_2(var M:Byte); Implementation Const Port_A = $300 Port_B = $301 Port_C = $302 Port_M = $303 Cryl = $80 Cry2 = $40 Cry3 = $00 Procedure Resiver_l; Label Ml; Begin asm 118
{направление передачи} mov dx,Port_B mov al,Cryl out dx,al {установить ГП и ДП в "низкое"} mov dx,Port_C mov al,Cry3 out dx,al end; End; Procedure Resiver_2(Var M:Byte); Label Ml, M2; Begin asm {направление передачи} mov dx,Port_B mov al,Cryl out dx,al {установить ГП в "высокое"} mov dx,Port_C mov al,20h out dx,al {направление передачи} mov dx,Port_B mov al,Cry3 ut dx,al mov dx,Port_C { ожидание СД "низкое"} Ml: in al,dx and al,01h jnz Ml {направление передачи} mov dx,Port_B mov al,Cryl out dx,al {установить ГП в "низкое"} mov dx,Port_C mov al,Cry3 out dx,al {ввод данных} 119
mov dx,Port_A mov al,dx out M,al {установить ДП в "высокое"} mov dx,Port_C mov al,10h out dx,al {направление передачи} mov dx,Port_B mov al,Cry3 out dx,al mov dx,PortC { ожидание СД "высокое"} M2: in al,dx and al,O1h jz M2 {направление передачи} mov dx,Port_B mov al,Cryl out dx,al {установить ДП в "низкое"} mov dx,Port_C mov al,Cry3 out dx,al end; End; Procedur Source_l; Begin asm {направление передачи} mov dx,Port_B mov al,Cryl out dx,al {установить СД в "высокое"} mov dx,Port_C mov al,Olh out dx,al end; End; Procedure Source_2(M:Byte); 120
Label Ml, M2, M3; Begin If M=0 then Exit; asm {направление передачи} mov dx,Port_B mov al,Cry2 out dx,al mov dx,Port_C {ожидание ДП "низкое"} Ml: in al,dx and al,lOh jnz Ml {вывод данных} mov dx,Port_A mov al,M out dx,al mov dx,Port_C {ожидание ГП "высокое"} M2: in al,dx and al,20h jz M2 {направление передачи} mov dx,Port_B mov al,Cryl out dx,al {установить СД в "низкое"} mov dx,PortC mov al,Cry3 out dx,al {направление передачи} mov dx,Port_B mov al,Cry3 out dx,al mov dx,Port_C { ожидание ДП "высокое"} M3: in al,dx and al,lOh jz M3 {направление передачи} 121
mov dx,Port_B mov al,Cryl out dx,al {установить СД в "высокое"} mov dx,Port_C mov al, Olh out dx,al end; End; End;
4.3. Условия функционирования приборов стандарта КОП 4.3.1.
Генератор сигналов ГЗ-122
Описание генератора Генератор сигналов низкочастотный ГЗ-122 [8] представляет собой источник синусоидальных колебаний с высокой точностью установки и стабильностью частоты и предназначен для регулировки и испытания низкочастотной аппаратуры различного назначения для встраивания в автоматизированные измерительные системы. Генератор ГЗ-122 обеспечивает: интерфейсные функции: АН - синхронизация приема; SH -синхронизация передачи; L - прием данных; Т - источник, реализующий последовательный опрос; DC - сброс прибора; SR - запрос на обслуживание; RL - дистанционное или местное управление; программирование прибора в соответствии со стандартом ISO; выдачу в КОП сигнала ЗО ( запрос на обслуживание) при неисправном приборе или некорректном наборе параметров. Блок сопряжения с КОП Во время работы прибора в составе ИВК устройство сопряжения с КОП может находиться в четырех состояниях: холостой ход и ожидание; адресация; прием данных; передача (байт состояния).
122
В состоянии "ожидание" устройство сопряжения в работе от КОП не участвует. Все линии КОП имеют состояние высокого потенциала. В этом состоянии устройство сопряжения способно принимать только универсальные команды и адреса, т.е. интерфейсную информацию. В состоянии " адресация" устройство сопряжения переходит при низком потенциале на линии УП ("управление") и совпадении кода на линиях ЛД0-ЛД4 с кодом, установленном на переключателях " адрес", то есть при передаче по предписанию прибору (команда МАП). В состоянии "прием" интерфейс переходит из состояния "адресация" при высоком потенциале на линии УП. При передаче источником байта данных этот байт запоминается в устройстве управления и прибор переходит на выполнение запрограммированного действия. После того как прибор запрограммирован, контроллер системы, проанализировав линию 30 (" запрос на обслуживание") в КОП, адресует прибор на передачу командой МАИ ("мой адрес источник") и передает команду ОПО ("отпирание последовательного опроса"). В состоянии "передача" необходимо подать сигнал разрешения на выдачу информации. После установления контроллером высокого потенциала на линии УП формируется сигнал СПСА (" состояние последовательного опроса активен"), разрешающий выдачу байта состояния в КОП и сигнал ПРД, разрешающий запуск прибором линии СД (" сопровождения данных"). Контроллер анализирует байт состояния и, если линия ЗО в КОП перешла в высокое состояние, посылает команду ЗПО ("запирание последовательного опроса"). Блок входных и выходных усилителей служит для инвертирования информации и для ее усиления при выдаче в КОП (рис. 49). Синхронизация приема ( АН) обеспечивает управление линиями ГП ("готов к приему") и ДП ("данные приняты") при приеме как интерфейсной, так и программной информации. В режиме приема интерфейсной информации линия УП в КОП находится в низком.
123
Рис. 49. Функциональная схема устройства сопряжения генератора ГЗ-122
При приеме программной информации разрешение на управление линией ГП осуществляется сигналом СПАД (" состояние приемника адресован"), а управление этой линией - сигналом ГтП, который формируется в устройстве управления. После завершения обработки информации управление линией ДП при приеме программной информации такое же, как и при приеме интерфейсной информации. Компаратор обеспечивает сравнение кода, установленного тумблером "адрес" прибора, с кодом адреса, передаваемым по КОП, и, в случае совпадения, дает разрешение на адресацию прибора и включение дистанционного управления (ДУИ). Дешифратор команд формирует команды по информации на линиях ЛД0-ЛД7 и при низком уровне линии УП в КОП, что указывает на передачу
124
интерфейсных сообщений. Формируются следующие команды: ОПО - отпирание последовательного опроса; ЗПО - запирание последовательного опроса; Сброс; ПНМ - переход на местное управление. Формирователь синхросигнала формирует импульсы, длительность которых определяется цепочкой R и С при переходе СД и УП в низкое состояние. Схема реализации функции приемник - L включает в себя схему запоминания адреса, на выходе формируется сигнал СПАД ("состояние приемника адресован") при передаче контроллером адреса на прием, предписанного прибору. Состояние адресованного приемника индицируется светодиодом на передней панели " ПРМ" генератора. После адресации прибора на прием контроллер переводит линию УП в КОП в высокое состояние и формируется сигнал СПАК ("состояние приемника активен"), а при переходе линии СД в низкое состояние формируется сигнал ПРМ (" принимать"), указывающий, что информацию из КОП можно принимать в прибор. Схема реализации интерфейсной функции RL - дистанционное/местное управление - обеспечивает выработку сигнала ДУ ( низкий уровень) в момент адресации прибора на прием при условии, что на линии ДУИ низкое состояние. После перехода линии ДУИ в высокое состояние или после передачи команды ПНМ (" переход на местное управление") сигнал ДУ переводится в исходное состояние, указывая на то, что прибор должен перейти на местное (от передней панели) управление. Схема реализации интерфейсной функции Т - источник работает следующим образом. При передаче контроллером адреса на передачу предписанному прибору и команды ОПО загорается светодиод на передней панели "ПРД". При переходе линии УП в КОП в высокое состояние на выходе формируется сигнал СПСА ("состояние последовательного опроса активен"), при наличии которого прибор может выдавать байт состояния. Схема реализации интерфейсной функции SH- синхронизация источника обеспечивает управление линией СД. При появлении сигнала СПСА, разре-
125
шающего передачу байта состояния, через 2 мкС при наличии сигнала ГП от КОП линия СД устанавливается в низкое состояние, что указывает контроллеру о готовности на передачу байта состояния, значит, на шине данных КОП имеется байт состояния. После снятия сигнала ДП из КОП заканчивается цикл передачи байта состояния и линия СД установится в высокое состояние. При работе прибора в составе КОП либо в случае его неисправности, либо в случае некорректного набора формируется 30 - запрос на обслуживание. Схема формирования приборного сообщения ЗО работает следующим образом: в состоянии последовательного обращения сигнала СПСА=1, и в отсутствие 30 на линии 30 появляется 0, а на линии ЛД6 единица. При появлении 30=1 на линии 30 также появляется единица. В ответ на это контроллер выдает команду ОПО и сигналом СПСА=0 (при адресованном источнике и УП=1) опрокидывает ( снимает) сигнал на линии ЗО и появляется сигнал запроса на линии ЛД6. Таким образом, вместе с ЛД4-ЛД5 формируется байт состояния прибора в КОП. По окончании процесса согласования передачи контроллер посылает команду ЗПО, что переводит СПСА в единицу, и если сигнал ЗО снят ( т.е. если запрос на обслуживание был вызван некорректным набором из КОП), сигнал ЗО в КОП также снимается и цикл обслуживания запроса завершается. Формат сообщений генератора Генератор сигналов ГЗ-122 в автоматизированной системе поверки терморезисторов является приемником, значит, вместе с интерфейсными сообщениями, состоящими из одного байта, которые управляют интерфейсными функциями прибора, он принимает и программные сообщения в виде задания характеристик сигнала - частота, напряжение (табл. 23). ГЗ-122 в режиме "приемник" Функция интерфейса КОП " приемник" дает возможность устройству получать данные через интерфейс от других устройств. Эта возможность существует только тогда, когда функция адресована на прием (см. п. 2.1.5).
126
Таблица 23. Формат программных сообщений генератора
1 Установка f
2 Очистить табло
Байты ….. Набор цифр и децимальной точки
U
….. Набор Hz kHz Mhz mV
Последний Включение выхода 1 2
В состоянии СПХХ прибор не участвует в передаче сообщений устройств и никакие дистанционные сообщения не могут быть посланы. Прибор переходит в это состояние после включения питания или если ОИ истинно (рис. 50).
Рис. 50. Упрощенная диаграмма состояний интерфейсной функции "приемник" применительно к работе ГЗ-122
Перевести прибор в состояние СПАД можно, послав сообщение МАП "мой адрес на прием". Если адрес, установленный на переключателях в приборе, совпадет с посланным по линиям ЛД0-ЛД4 в КОП, то прибор перейдет в состояние СПАД. Это состояние указывает на то, что все последующие дистанционные сообщения, передаваемые по КОП, будут относится к данному прибору и будут им приняты. Посылать дистанционные сообщения можно после того, как
интерфейсная
функция прибора
перейдет
в состояние СПАК.
Это можно сделать, послав в прибор сообщение УП ложным. Коды передаваемых сообщений генератора сигналов приведены в таблице 24. После того, как прибор запрограммирован, его можно вывести из состояния СПАК в состояние СПАД, послав дистанционное сообщение УП истинно. Каждый следующий
127
цикл программирования генератора сигналов будет сопровождаться переводом функции интерфейса " приемник" из состояния СПАД в СПАК и наоборот. В результате этого будет реализован процесс программирования генератора на выполнение определенных действий (табл. 25). Таблица 24. Коды программных сообщений генератора Наименование операции Установка частоты Установка уровня выходного напряжения Набор цифр
Набор децимальной точки Набор единицы измерения f Гц кГц МГц Набор единицы измерения U, мВ Переключатель выхода на гнездо " " передней панели 1 Переключение выхода на гнездо " " задней панели 2
Обозначение органа управления (кнопки) "f " "U" "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" ","
Код программирования 1000110 1000101 0110000 0110001 0110010 0110011 0110100 0110101 0110110 0110111 0111000 0111001 0101110
"Hz" "KHz" "MHz"
1000100 1001000 1000010
"mV"
1000011
" "
1
2
"
1010001
"
1010100
В рассматриваемом ИВК на индикаторе генератора будет изменяться число, показывающее температуру, которая будет задаваться пользователем.
128
Таблица 25. Коды дополнительных программных сообщений и интерфейсных команд Наименование сообщения или команды
Обозначение органа управления или команды
Выбор корректируемой декады справа-налево Выбор корректируемой декады слева-направо
Код программирования 1001001
"
"
"
"
1001100
Увеличение корректируемой цифры
"
"
1001101
Уменьшение корректируемой цифры
"
"
1001011
Автоматическая коррекция цифры
"
"
Сброс режима коррекции
1001010
СБРОС "
1010010 "
1000111
ЗАПИСЬ ВЫЗОВ ТЕСТ МАП НПМ ПМН СБА СБУ
1010010 1010111 1010011 0lxxxxx
Отпирание последовательного опроса Запирание последовательного опроса Мой адрес источник
ОПО ЗПО МАИ
0011000 0011001 10ххххх
Не передавать
НПД
1011111
Очистка табло Запись программы Вызов программы Включение тестового самоконтроля Мой адрес на прием Не принимать Переход на местное управление Сброс адресный Сброс универсальный
0111111 0000001 0000100 0010100
4.3.2. Вольтметр универсальный цифровой В7-40/1 Описание вольтметра Вольтметр универсальный цифровой В7-40/1 [9] предназначен для измерения постоянного и переменного напряжений, силы постоянного и переменного напряжений, силы постоянного и переменного токов и электрического сопротивления, а также для связи с каналом общего пользования в составе автоматизированных измерительных комплексов. Вольтметр В7-40/1 соответствует ГОСТ 26.003-80 и обеспечивает: интерфейсные функции: SH - синхронизация передачи источника; АН -
129
синхронизация приема; Т -источник; L- приемник; RL- дистанционное/местное управление; DC - сброс прибора; DT - запуск прибора; программирование буквенно-цифровым кодом всех органов управления, расположенных на передней панели прибора; выдачу информации (данных измерений) в КОП; формат выдаваемой информации соответствует ГОСТ 26.003-80. Блок сопряжения с КОП Блок сопряжения с каналом общего пользования предназначен для обеспечения механической, электрической, функциональной и операционной совместимости цифрового вольтметра с устройствами, входящими в систему интерфейса (рис. 51). Схема преобразования выходной информации преобразует параллельный код рода работ вольтметра, режим измерения, мантиссы, знака мантиссы и порядка результата измерения, формируемых в цифровой части вольтметра, в последовательность двенадцати семибитовых слов, формат которых представлен в таблице 26. Эта схема также синхронизирует работу цифровой части вольтметра и блока сопряжения с КОП. Она запрещает запись новой информации о мантиссе и режиме измерения в регистры схемы преобразования выходной информации в то время, когда вольтметр передает информацию в КОП. Одновременно в цифровую часть вольтметра выдается сигнал "запрет", который запрещает смену информации о роде работы вольтметра, пределе измерения и знаке измеряемой величины в регистрах цифровой части на время передачи информации в КОП. Схема дешифрации команд 2 ( дешифрации программных кодов) обеспечивает дешифрацию буквенно-цифрового кода поступающего из КОП, когда вольтметр находится в режиме приема, в код рода работы, предела измерения, вида запуска и хранения этой информации. При поступлении идентификатора конца программы (Е) схемой дешифрации программных кодов вырабатывается сигнал "строб", который записывает коды рода работы, пределы измерения, вида запуска в цифровую часть вольтметра. 130
Рис51. Структурная схема блока сопряжения В7 - 40/1 с КОП
Схема дешифрации универсальных и адресных команд (дешифратор команд 1) реализует интерфейсные функции DT запуск прибора и DC - сброс прибора, а также вырабатывает сообщение " ВНМ"- возврат на местный, которое поступает на схему реализации интерфейсной функции RL - дистанционный/местный. Адресная команда " ВНМ" обеспечивает предварительно адресованного на прием вольтметра с дистанционного управления на управление от передней панели.
131
Таблица 26. Коды выдаваемой в КОП информации Наименование функции Напряжение постоянное Напряжение переменное Сопротивление Ток Плюс Минус Перегрузка Разделитель Неполярная величина Нуль Единица Два Три Четыре Пять Шесть Семь Восемь Девять Перевод строки
ЕД. Симизмер. вол V V кΩ А
U V R I + Р Е Н 0 1 2 3 4 5 6 7 8 9 ПС
ЛД6 1 1 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0
ЛД5 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0
Код в КОП ЛД4 ЛДЗ ЛД2 1 0 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1 1 1 0 0 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 0 1 0
ЛД1 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1
ЛД0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0
Схема реализации интерфейсных функций L и Т - приемник и источник соответственно, обеспечивает управление другими схемами блока сопряжения и дает возможность вольтметру передавать (принимать) информацию в (из) КОП. Схема реализации интерфейсной функции RL - дистанционный/местный дает возможность вольтметру делать выбор между двумя источниками входной информации. Сообщение РДУ - разрешено дистанционное управление, вырабатываемое схемой, обеспечивает управление вольтметром или с передней панели ( РДУ=1) или от программных кодов ( РДУ=0), вырабатываемых схемой дешифрации программных кодов. Схема реализации интерфейсных функций SH и АН обеспечивает правильную передачу (прием) вольтметром многолинейных сообщений.
132
Формат сообщений вольтметра В 7-40/1 Вольтметр универсальный цифровой В7-40/1 в автоматизированной системе поверки терморезисторов является источником; значит, вместе с интерфейсными сообщениями, которые управляют интерфейсными функциями прибора, он принимает программные сообщения (табл. 27), ориентирующие его на выполнение определенных действий. Кроме того, вольтметр выдает результаты измерений сопротивления терморезистора (табл. 28). Таблица 27. Формат программных сообщений вольтметра 1
2
Программирование Род работы рода работ
F
Измерение постоянного тока Измерение переменного тока Измерение сопротивления Измерение постоянного напряжения
Номер байта 4
3 Программирование предела
Пределы
5
6
ПрограмВиды замирование пуска вида запуска
7 Конец программы
20 МОm 2000 V, mA, kOm 200 V, mA, kOm В
Измерение переменного напряжения
20 V, mA, kOm
Внутр.
Е
D
2 V,mA, kOm
Внешн.
200 mV, μА, Оm
Перечисленные
выше
форматы
сообщений,
используемые
в
ав-
томатизированной системе поверки терморезистора, программным путем преобразуются в числовые значения, для отображения результатов измерений. Величины, которые нужно отобразить на индикаторе прибора, наоборот, из числовых значений преобразуются в последовательность байтов и по алгоритму посылаются в прибор в виде команд или данных. 133
Таблица 28. Формат выдаваемой в КОП информации
1
2
3
Номер байта 4-8 9
Измеряе- Пробел, Знак мая перегруз- мантиссы, Мантисса функция ка пробел U V R I
Пробел
10
11
12
Символ порядка
Знак порядка
Порядок
Перевод строк
Е
-
X
ПС
+ ХХХХХ
Р
Пробел
Вольтметр В7-40/1 в режиме "приемник" Для того чтобы прибор мог произвести измерения какой-нибудь величины, его сначала необходимо запрограммировать на выполнение определенных действий, например, настройку на род измеряемой величины, диапазон измерений и т.д. Поэтому перед тем как настраивать вольтметр на выполнение интерфейсной функции "источник", его нужно настроить на выполнение интерфейсной функции " приемник". Выполнение этой интерфейсной функции у вольтметра происходит так же, как и у генератора сигналов, в соответствии с диаграммой на рисунке 50. Код программных сообщений для вольтметра представлен в таблице 29. Вольтметр В7-40/1 в режиме "источник" Функция интерфейсаКОП "источник" обеспечиваетвозможностьпосылатьосновные данные или данные состояниячерез интерфейсна другие устройства. Эта возможностьсуществуеттолькотогда, когдафункция"источник" адресованана передачу. Интерфейсная функция "источник" должна выполняться в соответствии с п. 2.1.4 (рис. 52) на основе цифрового вольтметра в рассматриваемой автоматизированной системе измерения сопротивлений терморезисторов. В состоянии источника " холостой ход" ( СИХХ) прибор не участвует в посылке байтов данных. Для того чтобы выбрать, какой прибор будет посылать свои данные измерений, его нужно адресовать на передачу. Это можно сделать, если в состоянии СИХХ в прибор послать сообщение МАИ при активном
134
Таблица 29. Коды программных сообщений вольтметра Программируемый параметр Род работы Измерение постоянного тока Измерение сопротивления Измерение переменного тока Измерение постоянного напряжения Измерение переменного напряжения Предел 20 MQ 2000 V, mА, к Ω 200 V, mА, к Ω 20 V, мкА, к Ω 2 V, mА, к Ω 200 mV, мкA, Ω АВП Вид запуска Периодический запуск (внутренний) Внешний запуск Конец программы
Программируемый идентификатор F I 2 3
Код в КОП Д6
Д5
Д4
ЛДЗ ЛД2 ЛД1
Д0
1 0 0 0
0 1 1 1
0 1 1 1
0 0 0 0
1 0 0 0
1 0 1 1
0 1 0 1
5
0
1
1
1
0
0
1
6
0
1
1
1
0
1
0
В 0 1 2 3 4 5 7 D
1 0 0 0 0 0 0 0 1
0 1 1 1 1 1 1 1 0
0 1 1 1 1 1 1 1 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 1 1 1
1 0 0 1 1 0 0 1 0
0 0 1 0 1 0 1 1 0
0
0
1
1
0
0
0
0
1 Е
0 1
1 0
1 0
0 0
0 1
0 0
1 1
Рис. 52. Упрощенная диаграмма состояний функции "источник
СПРМ, тогда прибор перейдет в состояние СИАД. Это состояние указывает на то, что прибор готов посылать данные (он адресован). Если теперь послать сообщение УП ложно, то прибор перейдет из состояния СИАД в состояние СИ135
АК. В этом состоянии прибор позволяет передавать байт данных. Код и формат данных измерений, посылаемых прибором в КОП, приведены в таблице 26 и таблице 28. Прибор находится в состоянии СИАК и передает байт данных. После передачи байта данных, сообщением УП истинно прибор переходит в состояние СИАД. Каждый следующий цикл измерений, производимых вольтметром, будет сопровождаться переводом функции "источник" из состояния СИАД в СИАК и наоборот. В результате этого будет реализован процесс измерения сопротивления терморезистора в заданном пользователем диапазоне температур. 4.3.3. Персональный компьютер IBM PC Персональный компьютер [10, 11], используя контроллер-адаптер (плату сопряжения шины КОП и шины IBM PC), с помощью разработанного для данного учебного ИВК программного обеспечения выполняет в автоматизированной системе поверки терморезисторов функцию интерфейса "контроллер". Функция интерфейса " контроллер" позволяет устройству посылать: команды приема и передачи; универсальные команды; адресные команды. Команды приема и передачи задают, какое из устройств будет передавать данные, а какое их принимать. Последние пять разрядов команды приема или передачи, передаваемой на шину КОП контроллером, содержат адрес устройства, которое должно соответственно принимать или передавать данные. Когда устройство получает команду приема, пять адресных разрядов которой совпадают с его адресом, оно переключается в режим приема. Аналогично этому команда передачи переводит устройство с заложенным в команде адресом в режим передачи. Универсальные
команды
адресуются
ко
всем
устройствам,
под-
ключенным к шине КОП. Универсальных команд пять: блокировка автономного управления; сброс устройств; отмена настройки на параллельный опрос; разрешение последовательного опроса; блокировка последовательного опроса.
136
Для реализации заданных приборам интерфейсных функций достаточно одной универсальной команды - сброс устройств, которая влечет за собой сброс в исходное состояние всех устройств на шине КОП. На адресные команды реагируют только те устройства, которым непосредственно перед этим была передана команда приема. Имеется пять адресных команд: перейти в автономный режим; сброс выбранного устройства; настройка на параллельный опрос; групповой запуск; получение управления. Помимо интерфейсной функции "контроллер", персональный компьютер IBM PC выполняет и интерфейсные функции " источник", "приемник". Выполнение всех этих функций осуществляется с помощью программного обеспечения, приводимого ниже. 4.4. Программное обеспечение автоматизированной системы поверки терморезисторов 4.4.1. Постановка задачи программирования Для организации взаимодействия персонального компьютера IBM PC с измерительными приборами с помощью приборного интерфейса МЭК 625.1 (КОП), с целью получения температурных зависимостей сопротивления резисторов и получения навыков работы с ИВК, необходимо решить следующие задачи: программирование приборов, входящих в автоматизированную систему; организация обмена данными между приборами; преобразование форматов измеренных данных; вывод результатов измерений в виде графика, на котором и будет представлена температурная зависимость сопротивления терморезистора. Первые две задачи решаются с учетом аппаратной части, разработанной для связи интерфейса персонального компьютера и приборного интерфейса МЭК 625.1, то есть с учетом имеющегося контроллера-адаптера. Остальные задачи решаются программным путем с использованием языка 137
программирования высокого уровня Турбо Паскаль [12]. Турбо Паскаль - это мощное расширение американского стандарта (ANSI Pascal), учитывающее архитектурные особенности операционной обстановки MS-DOS и снабженное внушительными по объему и разнообразию пакетами стандартных процедур. Так же как и язык Турбо Си, язык Турбо Паскаль имеет современные инструментальные программные средства ( универсальный текстовый редактор, компилятор входного языка, редактор связей и встроенный символьный отладчик), а многооконный интерфейс с развитой системой меню обеспечивает высокую производительность труда программиста. Используя аппарат модулей (units), то есть независимо хранимых и разрабатываемых, независимо компилируемых и тестируемых программных единиц со строго определенными интерфейсами, которые могут объединяться в различных сочетаниях, можно добиться получения такой структуры программы, которая бы удовлетворяла следующим требованиям. Во-первых, отражала бы процессы обмена данными в автоматизированной системе, во-вторых, давала возможность эффективной организации коллективных разработок. Модульные средства в Турбо Паскале заметно слабее аналогичных возможностей языка Турбо Си [13, 14], но стиль написания программы позволит менее квалифицированному специалисту с помощью внесения изменений в программу наглядно изучить процессы взаимодействия КОП с приборами и персональным компьютером. Системнозависимые расширения, допускающие непосредственное включение в текст программы фрагментов, написанных на языке ассемблера, позволят использовать преимущества этого языка в работе с аппаратной частью интерфейса КОП. Основное эмпирическое соотношение, используемое для описания зависимости сопротивления терморезистора от температуры, имеет вид [7]
R(T) = R 0 ⋅ e [ β (1/T −1/T 0 )] , (14) где R(T)- сопротивление резистора при температуре Т; R0 - сопротивление терморезистора при Т0=273 К; β - характеристическая температура; параметр, выраженный в градусах 138
Кельвина, зависит от материала терморезистора. В автоматизированной системе поверки терморезисторов неизвестны величины R0 и β. По проделанным измерениям строится график температурной зависимости R(T) . Из массива полученных R(T i) выбирается первый и последний элемент. Получаем систему из двух уравнений
R(T1 ) = R 0 ⋅ e[β (1/T1 −1/T0 )] , (15) R(T2 ) = R 0 ⋅ e[β (1/T2 −1/T0 )] . Решая эту систему уравнений, находим R 0 и β. Подставляем полученные значения в формулу (14) и определяем зависимость R(T) терморезистора. По найденной температурной зависимости также строится график функции. 4.4.2. Структура программы Необходимо отметить, что программа управления процессом поверки терморезисторов является частью программного обеспечения учебного ИВК на базе интерфейса КОП, поэтому не является исполняемой, но ее объекты используются другими программными единицами. Данная программа организует управление учебным ИВК для обеспечения обмена данными между приборами ГЗ-122, В7-40/1 и компьютером IBM PC по стандарту интерфейса КОП. На рисунке 53, показано взаимодействие между отдельными модулями (компонентами) программы. M_MENU является внешним модулем, который осуществляет связь с вызывающей его программой и реализует функции меню для вызова модулей, входящих в него. Объектом, предназначенным для использования вызывающей программой является процедура I_А11. Эта процедура отображает в текстовом режиме на экране дисплея меню, по которому пользователь осуществляет выполнение лабораторной работы. Листинг программы приведен в п. 4.4.3.
139
Рис. 53. Блок-схема структуры программы
Первые два пункта меню процедуры I_Аll предназначены для ознакомления пользователя с лабораторной установкой и целью выполнения лабораторной работы. Это осуществляется с помощью текстового файла P_Work и модуля PR_DESC. Модуль PR_DESK включает в себя внешний вид лабораторной установки и текстовый файл DESK, в котором содержится информация о том, как нужно проводить лабораторную работу. Например, в нем содержится информация об адресах приборов, которые нужно установить перед началом работы. Третий пункт меню вызывает модуль IOUtil, который организует процесс обмена данными в ИВК. Модуль IOUtil в процессе своей работы использует модули SUNCH и R GRAPH. Модуль SUNCH содержит процедуры, позволяющие синхронизировать процесс обмена данными между устройствами, входящими в учебный ИВК. Модуль R_GRAPH содержит средства построения графиков температурных зависимостей сопротивления терморезисторов по измеренным и рассчитанным по формуле (15) значениям. Организация процесса обмена данными выполняется модулем IOUtil. Входными (заданными) данными для этого модуля являются три величины: пе140
ременная Temp, содержащая массив заданных значений температуры; переменная Str_Vol, представляющая собой строку данных программирования вольтметра, и Str_Gen, представляющая собой строку данных программирования генератора. Выходными данными для этого модуля являются массив полученных в результате измерения цифровым вольтметром значений сопротивлений Copr и соответствующих ему значений температуры Temp. Последовательность процесса обмена данными (модуль IOUtil) представлена на рисунке 54.
Рис. 54. Схема обмена данными в модуле IOUtil
К сервисным процедурам относятся следующие процедуры: Grad, Arrow, St_Line, Draw, Volt, Gen. Процедуры Grad, St_Line, Draw и Arrow определяют с использованием графического режима экрана его внешний вид, на котором показаны значения температуры для выбора, а также информация об управлении курсором. Процедуры Volt и Gen отображают на экране контрольную информацию о строках данных программирования вольтметра и генератора, что дает
141
возможность пользователю иметь представление о том, на какие режимы работы запрограммированы приборы. Программирование приборов осуществляется с помощью VoltInit и Sout. Процедуры в тексте программы вызываются друг за другом, что позволяет объединить их алгоритмы работы в один (рис. 55).
Рис. 55. Блок-схема алгоритма программирования приборов
Первый вызов процедуры Sout - Sout (1) посылает в КОП две команды: СБУ и МАП. Команда МАП передается с адресом вольтметра. В результате ее выполнения вольтметр переходит в состояние адресован на прием ( СПАД). Второй вызов процедуры Sout -Sout (2) позволяет передавать в КОП команды программирования вольтметра, учитывая что УП=1 и вольтметр находится в состояние СПАК, эти команды настраивают прибор на выполнение определенных действий. Третий вызов процедуры Sout - Sout (3) посылает в КОП команду МАИ с адресом вольтметра. Вольтметр переходит в состояние СИАД. Четвертый вызов процедуры Sout - Sout (4) посылает в КОП команду МАП с адресом генератора. В результате чего генератор переходит в состояние СПАД. На этом процесс программирования вольтметра на передачу измерительных 142
данных в КОП, а генератора на прием данных заканчивается. Вывод на индикатор генератора значения температуры, при которой производится измерение,
осуществляется
процедурой Sin. Эти процедуры
изменяют сигнал УП на линии интерфейса КОП из значения 1 в 0 и, наоборот, осуществляют поочередно перевод интерфейсных функций - для генератора "приемник", а для вольтметра " источник"- из состояния СПАД ( СИАД) в состояние СПАК (СИАК). Результатом процедуры Sin является переменная S типа String, в которой содержится информация о величине сопротивления, полученной в результате измерения. Функция R1 преобразует переменную S, выделяя из нее информацию о величине сопротивления, в переменную RR типа REAL. Значение этой переменной заносится в массив Corp. Когда закончены все измерения, формируется массив Corp, содержащий информацию о величине сопротивления
терморезистора,
соответственно
заданным
значениям
температуры. Используя данные этих массивов, процедура Grafik, содержащаяся в модуле R_Graph, производит построение графиков температурных зависимостей терморезисторов по измеренным значениям и по формуле (14). 4.4.3. Листинг программы управления учебным ИВК {Основное меню программы} Unit M_Menu; Interface Uses Crt,Routine,PR_Desc,IOUtil; Procedure I_All; Implementation Procedure I_A11; Const Max_Item=4; Len_Item=40; menu:array[l..Max_Item] of string[40]=( "Цель работы ", "Описание лабораторной установки ", "Выполнение работы ", "Выход "; Var i, Item:Byte; х1,уl :Integer; Procedure prNew; 143
begin Wrt_atr(xl-2,yl-l+Item*2,Attrb,Menu[Item]; end; Procedure pr_; begin W(xl-l,yl+Item*2-l,xl+Len_Item-2,yl+Item*2-l, Black,32); W(xl-l,yl+Item*2-l,xl+Len_Item-2,yl+Item*2+l,Black,32); TextColor(7); GotoXY(xl,yl+Item*2);write(Menu[Item]); end; Procedure DrawMenu; var i:Integer; begin ClrScr; TextColor(7); for i:=l to Max_Item do begin GotoXY(xl,yl+i*2); write(Menu[i]; end; bar_(xl-2,yl,xl+Len_Item,yl+Max_Item*2+2,2); end; begin xl:=20; yl+4; Item:=1; c:=0; Sim:=0; Done:=False; Draw_Menu; prNew; Repeat if c=l then begin Case Sim of 80: begin if Item<Max_Item Then begin pr_;Inc(Item);prNew; end; end; 72: begin if Item>l Then begin pr_;Dec(Item);prNew; end; end; 8l: begin 144
pr_;item:=Max_Item;prNew; end; 73: begin pr_;item:=l;prNew; end; end; end; if (sim=13)or(sim=27) then begin if (sim=27)or((sim=l3)and(Item=Max_Item)) then Done:=True else begin ClrScr; Case Item of l:Print<"P^work.txr,5,1.78,22,LightGray); 2: Out.text; 3: I_Work; end; ClrScr; Draw_Menu; prNew; Key(c,sim); end end else Key(C,Sim); Until Done; ClrScr; TextColor(LightGray); Done:=False; end; end. {Модуль организации процесса обмена данными в ИВК} Unit IOUtil; Interface Uses Crt,Graph,Routine,R_Graph,Sunch; Procedure I_Work; Implementation Procedure I_Work; Const X=720; N=14; {массив заданных значений температуры} temp:array[l..N] of integer= (25,30,35,40,45,50,55,60,65,70,75,80,85,90); 145
{строка программирования вольтметра} Str_Vol:string=#$14#$21#$00#$46#$32#$42#$36#$44#$30#$45#$00#$41#$00; {строка программирования генератора} Str_Gen:string=#$14#$22#$00#$47#$46#$20#$20#$44#$00; {адреса портов} Port_A=$300; Port_B=$301; Port_C=$302; Port_M=$303; {системные константы} CRY1=$80; CRY2=$40; CRY3=$00; Type Tp_l=Array[1..13] of String[30]; Tp_2=Array[1..9] of String[30]; CL =Array[1..14] of Integer; Var Corp:C; {массив измеренных значений сопротивления} Gd,gm,i,Item,col,Yl :Integer; RR:real; Done: Boolean; Tmpl:T; c,sim:Byte; m:Char; S,Sl,S_old:String; state:Tp_l; St:Tp_2; Tmpr:T; {массив определенных значений температуры} Function Rl(S:String;var R:Real):Boolean; {преобразование формата данных} var C:Word; begin S:=Copy(S,3,Length(S)-3); Val(S,RR,C); R1:=C=0; end; Procedure SOut(S:String;var Ch:Byte); {организация управления выводом} var I,M:Byte; begin Source_l; 146
While (Byte(S[Ch])<>$00) and (I<=Length(S)) do begin M:=Byte(S[Ch]); Source_2(M); Inc(Ch); end; end; Procedure Sin(var S:String); {организация управления вводом} var M:Byte; begin S:=""; M:=0; {переключение режима работы порта} asm {запоминание ОИ=1} mov al,0Ch mov dx,Port_B out dx,al mov al,04h out dx,al {режим порта 91-ввод} mov al,91h mov dx,Port_M out dx,al {УП=1} mov al,0Eh mov dx,Port_B out dx,al mov al,06h out dx,al end; Resiver_l; While M<>$10 do begin Resiver_2(M); if M<>$10 Then S:=S+Char(M); end; {запоминание значения ОИ=1} asm mov al,0Ch mov dx,Port_B out dx,al 147
mov out
al,04h dx,al
end; end; Procedure Volt(S:String; var State:Tp_l); {отображение контрольной информации вольтметра} var i:Byte; begin I:=l; for I:=l to Length(S) do begin Case s[i] of #$32:begin if S[i-1]=#$46 then state[i]:=" Измерение R"; if S[i-1]=#$42 then state[i]:=" 200 кОм"; end; #$30:begin if S[i-1]=#$44 then state[i]:=" Внутренний"; if S[i-1]=#$42 then state[i]:=" 20 Мом"; end; #$31:begin if S[i-1]=#$44 then state[i]:="Bешний"; if S[i-1]=#$42 then state[i]:=" 2000 кОм"; end; #$46:state[i]:="Режим"; #$45:state[i]:=" Конец программы"; #$44:state[i]:="Bид запуска"; #$42:state[i]:="Предел"; #$36:state[i]:="ABП"; #$35:state[i]:="200 Ом"; #$34:state[i]:="2 кОм"; #$33:state[i]:="20 кОм"; #$14:state[i]:="CBУ"; #$21:state[i]:="MAП"; #$41:state[i]:="MAИ"; #$00:state[i]:="Bыход"; end; end; end; Procedure Gen(S:String; var State:Tp_2); {отображение контрольной информации генератора} var i:Integer; begin for i:=l to Length(S) do begin 148
Case s[i] of #S00: state[i]:= "Выход"; #$14: state[i]:= "СБУ"; #$22: state[i]:= "МАП"; #$30: state[i]:= "0"; #$31: state[i]:= "1"; #$32: state[i]:= "2"; #$33: state[i]:= "3"; #$34: stateli]:= "4"; #$35: state[i]:= "5"; #$36: state[i]:= "6"; #$37: state[i]:= "7"; #$38: state[i]:= "8"; #$39: state[i]:- "9"; #$46: state[i]:= "Установка f" #$45: state[i]:= "Установка U; #$44: state[i]:= "Hz"; #$48: state[i]:= "kHz"; #$42: state[i]:= "MHz"; #S43: state[i]:= "mV"; #S47: state[i]:= "Очистить табло"; #$2E: state[i]:= "Набор точки"; end; end;
{
end; Procedure VoltInit(S:string); {программирование вольтметра} var I:Byte; begin I:=l; while I
out dx,al mov ai,04h out dx,al end; {вывод программных данных} SOut(S,I); asm {УП=1} mov al,0Eh mov dx,Port_B out dx,al mov al,06h out dx,al end; {вывод программных данных} SOut(S,I); asm {УП=0} mov al,0Ch mov dx,Port_B out dx,al mov al,04h out dx,al end; {Вывод команды МАИ} SOut(S,I); end; end; Procedure GenInit(S:string); {вывод на индикатор генератора} var I:Byte; begin I:=4; while I
SOut(S,I); asm {УП=0} mov al,0Ch mov dx,Port_B out dx,al mov al,04h out dx,al end; end; end; {Процедуры Grad, Arrow, St Line, Draw} {определяют внешний вид экрана} Procedure Grad; var i: Integer; begin Ellipse(X-115,40,0,180,40,20); Line(X-155,41,X-155,220); Line(X-75,X-75,220); Arc(X-140,220,180,260,15); Arc(X-90,220,280,360,15); Arc(X-145,242,0,80,15); Arc(X-85,242,100,180,15); Line(X-130,242,X-130,290); Line(X-100,242,X-100,290); Arc(X-115,290,180,360,15);{{} Line(X-119,40,X-119,290); Line(X-l11,40,X-111,290); Line(X-119,40,X-lll,40); Sector(X-l15,290,0,360,8,5); Y1:=219; for i:=l to N do begin Line(X-140,Yl,X-125,Yl); Line(X-106,Yl,X-9l,Yl); Y1:=Y1-13; end; SetTextStyle(2,0,4); Yl:=207; i:=l; while i
Yl:=Yl-26; i:=i+2; end; SetLineStyle(0,0,3); Line(X-115,290,X-l15,240); SetLineStyle(0,0,l); end; Procedure Arrow(y:Integer;Color:Byte); begin SetColor(Color); Line(X-290,y,X-265,y); end; Procedure St__Line(s:String); begin SetLineStyle(0,0,l); Line(GetMaxX,l,GetMaxX,GetMaxY); Line(l,l,l,GetMaxY); Line(l,l,GetMaxX,l); Line(l ,GetMaxY,l ,GetMaxX,GetMaxY); OutTextXY(GetMaxX-600,GetMaxY-19,S); Line(2,320,GetMaxX-2,320); end; Procedure draw; var i:Integer; begin SetColor(White); SetTextStyle(7,1,4); OutTextXY(X-80,30,"Thermometr"); Line(X-260,20,X-200,20); Line(X-260,20,X-260,300); Line(X-260,300,X-200,300); Line(X-200,20,X-200,300); SetTextStyle(7,0,l); OutTextXY(X-240,0,"t° C"); Yl:=280; for i:=l to N do begin Str(Temp[i],S); Line(X-260,Yl,X-200,Yl); OutTextXY(X-240,Yl-2,S); Yl:=Yl-20; end; end; begin gd:=detect; 152
InitGraph(gd,gm,""); for i:=l to 14 do Tmpl[i]:=0 OutTextXY(X-6lO,10,"KOДИPOBAHИE"); OutTextXY(X-610,20,"BOЛЬTMETPA"); OutTextXY(X-455,10,"KOДИPOBAHИE"); OutTextXY(X-455,20,'ГEHEPATOPA"); Line(X-630,5,X-330,5); Line(X-630,5,X-630,230); Line(X-330,5,X-330,230); Line(X-630,230,X-330,230); Line(X-630,30,X-330,30); Line(X-485,5,X-485,230); for I:=l to 13 do State[i]:=""; Volt(Str_vol,State); for I:=l to 13 do OutTextXY(X-620,30+i*14,State[i]); for I:=l to 9 do st[i]:=""; Gen(Str_gen,St); for I:=1 to 9 do OutTextXY(X-460,30+i*14,St[i]); St_line("Esc- выход Enterввод значения t° С"); SetColor(l5); Draw; Grad; Arrow(290, White); Done:=False; Item:=0; S_01d:=""; s:=""; s:=Str_vol; { интерфейсная функция вольтметра} VoitInit(S); {" источник" в состоянии СИАД} S:=Str_Gen; { интерфейсная функция генератора} I:=2; {" приемник" в состоянии СПАД} Sout(S,I); {цикл выбора значений температуры} Repeat Key(c,sim); if (с=1) and (sim=80) and (Item>=l) then begin Arrow(290-(Item)*20,Blak); Dec(Item); Arrow(290-(Item)*20,white); end; if (c=l) and (sim=72) and (Item<13) then begin Arrow(290-(Item)*20,Blak); Inc(Item); 153
Arrow(290-(Item)*20,white); end; if (c=0) and (sim=13) and (Item<14) then begin if Tmpl[Item+1]<>0 then write(#7) else begin Bar(X-258,282-Item*20,X-202,298-Item*20); Tmpl[Item+l]:=Item+l; Str(temp[item+l],S); SetTextStyle(0,0,l); SetColor(Black); OutTextXY(X-460,114,S_01d[l]); OutTextXY(X-460,128,S_01d[2]); SetColor(15); OutTextXY(X-460,114,Stl]); OutTextXY(X-460,128,S[2]); SetColor(0); SetTextStyle(7,0,l); OutTextXY(X-240,278-Item*20,s); OutTextXY(X-239,278-Item*20,s); SetColor(15); SetLineStyle(0,0,3); Line(X-115,290,X-115,2l9-Item*13); SetLineStyle(0,0,l); S_old:=S; Insert(S,Str_Gen,6); { перевод интерфейсных} S:=Str_Gen; { функций: генератора} GenInit(S); {" приемник" в СПАК} SIn(S); { и вольтметра "источник"} RL(S,RR); { в СИАК} Copr[Item+l]:=RR; if item=13 then begin SetTextStyle(0,0,0); OutTextXY(X-590,250,"Измерения закончены"); QutTextXY(X-590,270,"Вывести график ? д/н"); m:=Readkey; if (m<>"н") and (m<>"H") then begin CloseGraph; InitCraph(Gd,Gm,""); {построение графиков} Grafik(Tmpr,Tmpl); 154
readln; c:=0;sim:=27; end else Done:=True; Cur_off; end else begin Arrow(290-(Item)*20,Black); Inc(Item); Arrow(290-(Item)*20,White); end; end; end; if (c=0) and (sim=27) then Done:=True; Until Done; CloseGraph; Done:=False; end.
155
ЛИТЕРАТУРА 1. Капиев Р.Э. Измерительно-вычислительные комплексы.- Л.: Энергоатомиздат, 1988.- 176 с: ил. 2. Древс Ю.Г., Зорин А.Л. Применение ПЭВМ в системах измерения и обработки данных. Ч.2 Технические средства сбора и обработка информации в измерительно-вычислительных комплексах: Учеб. пособие.- М.: МИФИ, 2001. 3. Цапенко М.П. Измерительные информационные системы: Структуры и алгоритмы, системотехническое проектирование.: Учеб. пособие для вузов.- 2-е изд., перераб. и доп.- М.: Энергоатомиздат, 1995.- 439 с: ил. 4. Выбор микроЭВМ для информационных систем: Учеб. пособие для втузов/Соломатин Н.М., Шервитис Р.П., Макшанцев М.М.-М.: Высш. шк., 1987.- 120с. 5. ГОСТ 26.003-80. Система интерфейса для измерительных устройств с байт-последовательным, бит-параллельным обменом информацией. - М.: Издво стандартов, 1980. 6. Мячев А.А., Иванов В.В. Интерфейсы вычислительных систем на базе мини- и микро-ЭВМ.- М.: Радио и связь, 1986.- 248 с. 7. Сопряжение датчиков и устройств ввода данных с компьютерами IBM PC: Пер. с англ./Под ред. У. Томпкинса, Дж. Уэбстера.-М.: Мир, 1992.- 592 с, ил. 8. Генератор сигналов низкочастотный прецизионный ГЗ-122.: Техническое описание и инструкция по эксплуатации./ 3.268.049 ТО, ч.1. - М.: Изд-во стандартов, 1989. - 151 с. 9. Вольтметр универсальныйцифровой В7-40/1.: Техническоеописание и инструкцияпо эксплуатации./Тг2.710.016ТО, ч.1. -М.: Изд-во стандартов, 1988. - 130с. 10. Микропроцессорный комплект К1810: Структура, программирование, применение.- М.: Выс. шк., 1990.- 269 с. 11. Микропроцессоры 8086/8088/. Справочник. - М.: Мир, 1992. - 280 с. 12. Зуев Е.А. Язык программированияTurbo Pascal 6.0.-М.: Унитех, 1992.- 298с. 13. Джодейн Р. Справочник программиста персональных компьютеров типа IBM PC, XT и AT. - М.: Финансы и статистика, 1992.- 544 с. 14. Сташин В.В. Проектирование цифровых устройств
на
одно-
кристальных микроконтроллерах.- М.: Энергоатомиздат, 1990.- 224 с. 15. Атовмян И.О. Архитектура вычислительных систем: Учеб. Пособие.М.: МИФИ, 2002.
156
ОГЛАВЛЕНИЕ ВВЕДЕНИЕ ..............................................................................................................3 1. ОБЩИЕ ВОПРОСЫ ПОСТРОЕНИЯ И ПРИМЕНЕНИЯ ИЗМЕРИТЕЛЬНОВЫЧИСЛИТЕЛЬНЫХ КОМПЛЕКСОВ.................................................................5 1.1. Государственная система приборов и агрегатные комплексы ....................8 1.2. Программное обеспечение ИВК..................................................................11 1.3. Показатели качества ИВК............................................................................16 1.4. Принципы проектирования ИВК.................................................................20 2. ПРИБОРНЫЙ ИНТЕРФЕЙС IEC 625-1...........................................................27 2.1. Функции интерфейса....................................................................................33 2.1.1. Классы функций и их характеристика......................................................33 2.1.2. Функция интерфейса "синхронизация источника" (СИ).......................37 2.1.3. Функция интерфейса "синхронизация приема" (СП)...............................41 2.1.4. Функция интерфейса "источник" (И)......................................................44 2.1.5. Функция интерфейса "приемник" (П).......................................................50 2.1.6. Функция интерфейса "запрос на обслуживание" (3)...............................54 2.1.7. Функция интерфейса "дистанционный местный" (ДМ)........................56 2.1.8. Функция интерфейса "параллельный опрос" (ОН)..................................59 2.1.9. Функция интерфейса "очистить устройство" (СБ)..............................63 2.1.10. Функция интерфейса "запуск устройства" (ЗП)..................................65 2.1.11. Функция интерфейса "контроллер" (К)................................................66 2.2. Временная последовательностьи алгоритм процесса синхронизации..........75 2.3. Временная последовательность процесса идентификации при
запросе
на обслуживание .................................................................................................78 2.4. Коды и форматы сообщений устройств ......................................................78 2.4.1. Структура форматов сообщений ..............................................................79 2.4.2. Данные измерения .....................................................................................88 2.4.3. Программные данные................................................................................90 2.4.4. Данные о состоянии ..................................................................................92
157
2.4.5. Данные индикации ....................................................................................94 2.4.6. Общие правила кодирования ....................................................................95 2.4.7. Представление недесятичных данных.....................................................96 2.4.8. Примеры предпочтительных форматов сообщений ...............................96 3. СИСТЕМНЫЙ ИНТЕРФЕЙС КОМПЬЮТЕРА IBM PC.................................98 3.1. Системная шина компьютера IBM PC........................................................99 3.2. Карта распределенияи временныедиаграммыввода-вывода IBM PC............102 3.3. Буферизация и декодирование содержимого шины.................................106 3.4. Сопряжение компьютера IBM PC с микросхемой порта ВВ типа Intel 8255....................................................................................................................108 4. УЧЕБНЫЙ ИВК С КАНАЛОМ ОБЩЕГО ПОЛЬЗОВАНИЯ .......................113 4.1. Структурная схема и алгоритм функционирования .................................113 4.2. Сопряжение КОП с IBM PC.......................................................................114 4.2.1. Контроллер-адаптер ................................................................................114 4.2.2. Программа-драйвер .................................................................................117 4.3. Условия функционирования приборов стандарта КОП ...........................122 4.3.1.
Генератор сигналов ГЗ-122.................................................................122
4.3.2. Вольтметр универсальный цифровой В7-40/1.......................................129 4.3.3. Персональный компьютер IBM PC........................................................136 4.4. Программное обеспечение автоматизированной системы поверки терморезисторов ................................................................................................137 4.4.1. Постановка задачи программирования ..................................................137 4.4.2. Структура программы .............................................................................139 4.4.3. Листинг программы управления учебным ИВК....................................143 Литература............................................................................................................156
158
Напечатано с оригинал-макета, подготовленного автором
Учебное пособие Виктор Владимирович Петросьянц ИЗМЕРИТЕЛЬНО-ВЫЧИСЛИТЕЛЬНЫЕ КОМПЛЕКСЫ (канал общего пользования)
Редактор Е.П. Горовенко Лицензия №020466 от 04.03.92 г. Подписано в печать 5.06.96 г. Формат 60x84/16. Печать офсетная. Усл. печ. л. 8,8. Уч.-изд. л. 8,6. Тираж 100 экз. Зак. №152.
Цена «С».
Отпечатано в типографии издательства ДВГТУ, Владивосток, Пушкинская, 10 159