Сосонкин В.Л. 2005 Системы числового программного управления (841803), страница 27
Текст из файла (страница 27)
92).Если один из абонентов сети передает информационный пакет, то прочитать его могут любые другие абоненты. Если CAN-контроллер обнаруживает признак начала передачи пакета, то считывает его во внутреннийFIFO-буфер, из которого впоследствии пакет будет направлен в системучерез драйвер контроллера. FIFO-буфер необходим, поскольку пакеты могут поступать быстрее, чем их считывает драйвер. Как только FIFO-буферпринимает очередной пакет, драйвер копирует его в буфер приема, откудазатем пакет может быть считан и проанализирован с помощью API-функций CanRcvMsgO- Если необходимо отправить пакет в сеть, то будет вызвана соответствующая API-функция CanSendMsgQ CAN-интерфейса, ко-Глава 3.
Задачи управления153торая сформирует пакет на основе полученных ею параметров и скопируетего в буфер передачи в памяти драйвера. Если драйвер обнаружит в буферепередачи новый пакет, то передаст его в контроллер и далее в сеть. Диаграмма последовательности считывания и записи данных в CAN со стороны исполнительного модуля в нотации UML [58] представлена на рис. 93.CAN read /writeИглогняемый мплупь:CNcfimerC^fjl|Readflong)IIhif1Регистр:CNcReg ControlCAN APIлэайвео11YCanSendMsgO11Witeflongjongи•1u1|У!1A<-CanRcvMsgCAN11FramejFrameIIи1111Рис. 93.
Диаграмма последовательности считывания изаписи информации в CAN-интерфейсСкорость передачи данных в физическом канале CAN равна 1 Мбит/с.Фактическая скорость зависит от расстояния между абонентами, уровняпомех и времени работы математического обеспечения канала. К передаваемым данным добавляется служебная информация, позволяющая идентифицировать пакет в узлах сети. Работа сети строится по принципу «каждый слышит каждого». При этом возможны два варианта информационного обмена (на примере датчика):1.
Датчик передает информацию о своем состоянии в сеть с некоторойчастотой (например, 100 Гц). Контроллер обрабатывает поступающие данные по мере необходимости. Если они в этот момент не нужны, то игнорируются. Таким образом, ненужные данные все равно поступают в сеть,засоряя канал.2. Датчик передает данные в сеть только по запросам, формируемымустройством. В нормальном режиме он следит за изменением своих параметров, но передает данные в сеть только при необходимости, т.е. послеполучения запроса. Запрос может быть однократным или групповым.•\ 5 4В.Л. Сосонкин, Г.М.
Мартинов. Системы числового программного управленияНаиболее удачный вариант состоит в том, чтобы найти оптимальную(различную) частоту потребности в данных от каждого датчика. В рядеслучаев поток данных может достигать скорости, граничащей с пропускной способностью канала. Такие потоки лучше настраивать на групповуюпередачу по запросам.Описанные методы относятся к низкоуровневым CAN-протоколам.
Существуют протоколы и более высокого уровня, реализованные поверх нижнего, например CANopen. При их использовании возрастает сервис, носнижается эффективная пропускная способность.CAN-контроллеры могут содержать несколько изолированных CANпортов. В случае недостаточной пропускной способности одного портаможно использовать другие и тем самым повысить общую пропускнуюспособность. Таким образом, создается несколько CAN-сетей, в каждой изкоторых могут находиться различные датчики. Недостаток заключается втом, что невозможен прямой обмен пакетами между сетями, т.е. абоненты,находящиеся в разных сетях, не могут обмениваться информацией без посредника. В качестве посредника (моста) выступает виртуальный контроллер, который транслирует пакеты из сети отправителя в сеть получателя.Имеет смысл группировать датчики по сетям.
Критериями могут служить интенсивность передачи информации датчиками, приоритет информации, принадлежность датчиков отдельным узлам оборудования.ЗаключениеИдея построения виртуального контроллера SoftPLC на базе персонального компьютера чрезвычайно плодотворна и перспективна. Имеется весьма скудная информация о том, как строить ядро такого контроллера. Намипредложен объектный подход, благодаря которому удается достичь высокойстепени обозримости системы, сократить затраты времени на разработкупрограммного обеспечения и упростить процесс отладки. В рассматриваемой системе виртуальный контроллер SoftPLC имеет модульную архитектуру, в которой отдельный класс отвечаетза свой объект управления на станке.Благодаря этому виртуальный контроллер обладает высокой степенью гибкости, позволяющей использовать его для станков различных групп и типов.Основная задача виртуального контроллера SoftPLC, заключающаяся водновременном выполнении нескольких управляющих команд и параллельной обработке внешних сигналов в режиме реального времени, была решена при помощи идеи псевдомногопоточности.
Эта идея использует механизм разделения времени (выделения квантов), а также дополнительную возможность работы с приоритетами. Для информационного обменас аппаратными средствами и между некоторыми объектами виртуальногоконтроллера было предложено использовать разделяемую память.Глава 3. Задачи управления-| 5 53.4.
Реализация терминальной задачиИзложена формальная методика с применением инструментальных систем для реализации «скелета» терминальной задачи вWindows-интерфейсе. Рассмотрены конфигурируемые приложения в составе терминальной задачи для редактирования, отладки и моделирования управляющих программ в коде ISO-7bit и наязыке высокого уровня.Терминальная задача в составе математического обеспечения ЧПУ [59]имеет особое значение, поскольку предъявляет конечному пользователюфункциональные возможности управления. Наполнение терминальной задачи определяет привлекательность и конкурентоспособность системыЧПУ на рынке. Свойства открытой системы ЧПУ развиты настолько, насколько терминальная задача поддается конфигурации и расширению.
Наиболее важными разделами терминальной задачи служат: интерпретатордиалога оператора в Windows-интерфейсе [55], редактор управляющих программ в коде ISO-7bit [61], редактор-отладчик управляющих программ наязыке высокого уровня. Эти разделы и служат объектами дальнейшего рассмотрения.3.4.1. Интерпретатор диалога операторав Windows-интерфейсеСовременные системы управления используют архитектуру персонального компьютера и располагают широкими возможностями организациичеловеко-машинного интерфейса MMI (Man-Machine Interface) в операционных средах Windows NT или Windows 95/98. Терминальную задачу управления обычно сводят к проблеме построения MMI [21]; в этом случаезадача выполняет функции клиента в клиент-серверной архитектуре математического обеспечения системы управления.
Проектирование MMI-приложения предполагает создание скелета приложения, реализацию экранов,разработку интерпретатора диалога, организацию информационных сессий с другими модулями системы управления.Этап разработки интерпретатора диалога наиболее сложен. В числе функций диалога можно обозначить: получение текущей информации о процессе управления; тестирование системы и объекта; редактирование и моделирование управляющей программы; ручной ввод и управление отработкой данных; ввод программы и автоматическое управление; управлениеналадочными операциями. Диалог устанавливает допустимые переходымежду состояниями MMI-приложения, в рамках которых и воспроизводятся необходимые функции. Оператор системы управления задает переходы между состояниями с помощью аппаратной и функциональной кла-156В.Л.
Сосонкин, Г.М. Мартинов. Системы числового программного управленияРис. 94. Пример экрана MMI-приложениявиатуры, причем роль последней преобладает. Заметим, что использование мыши, как правило, недопустимо. На рис. 94 показан пример экрана, вкотором размещается базовое окно (frame window) MMI-приложения. Базовое окно состоит из трех компонентов: окна статуса (StatusBar), рабочейобласти, области функциональной клавиатуры (ToolBar).Рабочая область базового окна покрыта окнами-панелями с рамками изаголовками; каждая панель предоставляет функционально-однороднуюинформацию. Панель в свою очередь содержит управляющие элементы(control elements), которые предназначены для динамического отображения данных, поступающих от сервера или вводимых оператором с помощью клавиатуры. Управляющие элементы могут быть выбраны на этапепроектирования экрана из стандартной библиотеки (галереи управляющихэлементов) или подлежат проектированию в соответствии с требованиямизаказчика.Окно статуса точно так же состоит из панелей с управляющими элементами: специфическими (пиктограммами режимов и подрежимов, индикаторами готовности, индикаторами используемых системных ресурсов,индикаторами даты и времени) или общего характера (такими же, как и врабочей области, -для слежения за информацией закрытой при смене картинки рабочей области).Область функциональной клавиатуры представлена кнопками, каждаяиз которых является управляющим элементом, имеющим динамическоеимя.
Типы и состояния кнопок показаны на рис. 95. Традиционный типГлава 3. Задачи управления157кнопки - «Клавиша», нажатие которой переводит систему в новый режим(подрежим) или открывает диалог овое окно. Кнопка «Ввод» работает также, как и соответствующая клавиша на панели оператора. Кнопка типа«Функция» инициирует выполнение некоторой функции без предварительных запросов и подтверждений. Кнопка «Ввод функции» объединяет возможности двух предыдущих кнопок.
Кнопка «Селектор» выбирает однуиз двух функций (например, метрическую или дюймовую размерность).«Мультиселектор» представляет собой группу, в которой активизация одной кнопки деактивирует все остальные. Кнопка «Триггер» последовательно активирует и деактивирует выбранную функцию. Все кнопки могутнаходиться в следующих состояниях: г отовности, когда они доступны оператору («ненажатое» состояние); работы под воздействием оператора («нажатое» состояние); блокировки, когда они отсутствуют в области функциональной клавиатуры или когда воздействие на них оператора игнорируется («заблокированное» состояние).Структура диалога в гибкой системе управления с открытой архитектурой определяется заказчиком системы ЧПУ, для которого привычнымязыком внешнего описания диалога служит «дерево» режимов и подрежимов.















