Сосонкин_Системы_ЧПУ (1087166), страница 18
Текст из файла (страница 18)
Системы числового программного управленияции «снизу» и использования Интернета. Соответственно так называемойтехнологии «тонкого клиента» (thin client) в качестве web-сервера можетвыступать сама система ЧПУ. Все эти проблемы были затронуты в рамкахисследования, связанного с созданием типового активного удаленного терминала с применением языка Java [35].2.5.1. Удаленный терминал в системе управленияУдаленный терминал предполагает отделение терминальной задачи ЧПУот всех остальных или ее дублирование. При этом ядро системы управления располагают, исходя из конструктивных соображений, а терминальную часть - на другом компьютере сети, т.е.
там, где это удобно с позицийорганизации управления. Сеть при этом может быть локальной сетью участка или цеха, Интернет-сетью предприятия или глобальной Интернетсетью. Удаленный компьютер может иметь платформу, отличную от платформы компьютерной системы ЧПУ.Необходимость удаленного терминала обусловлена следующими соображениями.
В процессе работы оператор системы ЧПУ должен следить заинформацией о ходе технологического процесса, текущими координатамиприводов подачи, сообщениями об ошибках в системе управления и т.д.Между тем современные станки и технологические линии нередко имеютпротяженность, превышающую сотню метров.
Традиционное решение состоит в том, что оператор непрерывно перемещается в зоне оборудования,обращаясь к специальным пультам, распределенным по длине рабочегоучастка. Подобный подход требует значительных затрат и увеличивает площадь рабочего пространства оператора. Альтернативой служит применение в качестве удаленных терминалов портативных компьютеров «notebook» или карманных компьютеров типа Palm, которые могут быть переносными. Для подключения удаленного терминала в различных точкахрабочей зоны (через 30 - 50 м) имеются разъемы.
При этом оператор может выбрать для себя наиболее комфортную позицию. Организация математического обеспечения удаленного терминала требует разработки новой концепции.2.5.2. Информационные технологии, используемыепри создании удаленного терминалаРассмотрим некоторые информационные технологии, которые наиболее удобно применять для решения поставленной задачи.Во-первых, нас интересует технология «тонкий клиент/сервер», которая предполагает, что запуск и работа приложения, а также управлениеприложением происходят на сервере (в нашем случае это устройство ЧПУ)[36]. Эта модель использует многопользовательскую операционную сие-Глава 2. Общие принципы построения систем ЧПУ-| Q -|тему и технологию передачи полного пользовательского интерфейса наудаленное устройство пользователя. Высокоэффективный протокол «представления Windows» отделяет работу приложений от удаленного терминала и посылает по сети только события клавиатуры и мыши, а также обновления изображений на экране.Во-вторых, нас интересует объектно-ориентированный язык Java компании «Sun Microsystems», который уже изначально располагал высокойстепенью переносимости при разработке распределенных сетевых приложений.
Переносимость достигается использованием виртуальных машин,интерпретирующих байт-коды на разных аппаратных платформах и в разных операционных системах. Апплеты Java служат разновидностью приложений, интерпретируемых виртуальной Java-машиной, встроенной в среду Java-совместимых браузеров. Поскольку web-браузеры разрабатывалисьдля отображения HTML-документов, работа апплетов Java в среде браузера предполагает использование HTML-тэга <APPLET>, вызывающего апплеты.Схема функционирования апплета выглядит так.
Апплеты сохраняются на Интернет-сервере; они загружаются на разные клиентские платформы и выполняются браузером клиентской машины. Загрузка и исполнениеосуществляются под надзором системы безопасности, которая защищаетот выполнения недопустимых операций. Если браузер обнаруживаетHTML-страницу с апплетом, он запускает Java-машину и передает ей информацию <APPLET> тэга. Загрузчик, находящийся внутри Java, отыскивает необходимые классы для выполнения апплета.
Как часть процессазагрузки запускается верификатор, проверяющий корректность класса инадежность его кода.Апплеты позволяют выполнять сложную обработку данных, полученных от сервера. Из соображений безопасности апплеты не имеют доступак файловой системе локального компьютера. Данные поступают только отсервера. Для повышения производительности Java-приложений в современных браузерах используют компиляцию «на лету» (Just-In-Timecompilation, JIT).При первой загрузке код апплета транслируется в исполняемую программу, которая сохраняется на диске.
Таким образом, ЛТ-компилятор преобразует байт-коды в команды процессора целевой машины непосредственно перед выполнением. В результате скорость апплета увеличивается в несколько раз [35].Высказанные соображения были положены в основу разработки удаленного терминала. На рис. 56 представлена принципиальная схема егоподключения.
Для связи удаленного терминала с системой ЧПУ использовано стандартное Интернет-соединение. В сравнении с традиционным ин-102В.Л. Сосонкин, Г.М. Мартинов. Системы числового программного управленияУдаленный терминал на базе«тонкого клиента»Система ЧПУ со встроеннымWeb-серверомHubРис. 56.
Схема подключения (функционирования) удаленного терминалатерфейсом оператора, удаленный терминал предоставляет несколько облегченную информацию об объекте управления (см. ниже).Удаленный терминал выполнен по типу «тонкого клиента». На его экране видна работа апплета Java. Web-сервер, поставляющий данные удаленному терминалу для отображения, интегрирован в систему ЧПУ. Программное обеспечениетерминала имеет модульную структуру, причем самимодули реализованы в виде библиотеки.2.5.3.
Библиотеки классов Java, используемыепри создании апплетовВ языке Java все классы производны от класса Object и организованы вбиблиотеки. Библиотеки классов делятся на встроенные, подключаемыеавтоматически, например java.lang, и внешние, подключаемые с помощьюоператора import.На рис. 57 показана схема подключения библиотек, используемых присоздании удаленного терминала. Библиотека JavaNcsCL поддерживаетбазовые функции работы с данными системы ЧПУ, такие как функции работающие с программируемым контроллером, управляющие формообразованием, отслеживающие статус технологического процесса и системыуправления в целом.
Библиотеку java.awt (Abstract Window Toolkit, инст-103Глава 2. Общие принципы построения систем ЧПУimport Java_Ncs_CL.*;importjava.awt.*;Java NC_CLTextboxNC_GetPlcOataNC_SetPlcDataNC_GetMotionDataNC_SetMotionDataNC_GetSyslnfoReportJpublic class NcsApplet extendsApplet implements NcDefineConst,Windows Consti Edit box? Check boxРис. 57. Схема взаимодействия библиотек с апплетом Javaрументарий абстрактных окон) использовали для создания интерфейсаоператора; с классами этой библиотеки работают апплеты Java. С ее помощью можно создавать обычные окна и диалоговые панели, кнопки, переключатели, списки, меню, полосы просмотра, одно- и многострочные полядля ввода текстовой информации.
Управляющие элементы библиотеки позволяют создавать интерфейс оператора, не задумываясь о платформе, накоторой выполняется апплет Java. Библиотека классов java.applet инкапсулирует базовое поведение апплетов Java. При создании апплета необходимо унаследовать его от класса Applet из библиотеки java.applet. Эта библиотека устанавливает также интерфейсы для подключения апплетов к ихдокументам и классы для работы с мультимедиа.Мы определились в выборе языка Java при реализации удаленного терминала, но теперь возникает проблема взаимодействия с ядром системыЧПУ, написанном на С или C++, через TCP/IP канал. Данные, передаваемые в канале, ориентированы на C/C++ приложения оператора.
Библиотека Java_NC_CL содержит классы, обеспечивающие конвертирование структур данных в пространстве между удаленным терминалом Java и C/C++ядром системы ЧПУ. Структура трехуровневой библиотеки приведена нарис.58.Уровень, отвечающий за связь с ядром системы ЧПУ, реализует классысокетов и класс таймера в механизме «time-out». Классы SynchronSocket иAsynchronSocket, унаследованные от стандартного класса Socket, обеспечивают синхронный и асинхронный способы обращения к серверу на базе104В.Л. Сосонкин, Г.М.
Мартинов. Системы числового программного управленияБиблиотека Java NC CLМеханизм запаковки и распаковки данныхобменаМеханизмы запросов и уведомленияклиентовIКлассы SynchronSocket, AsynchronSocket,EmergencySocketn Time-out механизмРис. 58. Структура трехуровневой библиотеки классовпротокола TCP, а класс EmergencySocket, унаследованный от стандартного класса DatagramSocket, осуществляет контроль соединения на базе протокола UDP. Следующий уровень реализует базовые типы запросов (синхронный, асинхронный, по событию) и механизм уведомления зарегистрированных клиентов после обновления данных. Классы последнего уровнязапаковывают отправляемые данные и распаковывают получаемые.N'cbNeb WeaReixirt.-1Ncs Icil.dFeld ГNcs IcII'lcData TNcs IclSelGetDatNcs WeaRepon •N'cs WeaSysInfoiNcs_\VeaSyslnfo(Xcs WeaSvsInfolNcs We.iSvsInfo).Ncs_\VeaSvslnfoi"N ^ s_Wea .Svs Injol;.NcsAUirmClientNCbGeiNcMoiieNcsGed'IcDataNcsSdPlcDattNcsLtibtesNc.-AV«iGelSysInlN'csWeaOpenSav Ncslicadcr tPackage РШЯТгее Deprecated Index HelpPRSVCLASS NEXT CLASSSUMMARY INNER | FIELD 1 CONSIH | MF1HODFRAMES NO FRAMESDETAIL FIELD I CONSTR | MEJtv.NcsCLClass NcsUtilites3 sva .