Разработка клиентского интерфейса для мониторинга состояния устройств в промышленных сетях передачи данных

Разработка функциональной клиентской части системы, способной к взаимодействию с серверной частью, а также с организацией удобного машинного интерфейса. Усовершенствование клиентской части за счет введения программного обеспечения с открытым кодом.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 31.03.2011
Размер файла 68,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Соответственно, широкое распространение получил лишь стандарт OPC DA. Можно сказать, что сейчас действительно очень многие производители снабжают свои продукты OPC DA-серверами. Чего нельзя сказать о других спецификациях.

Среди программ высокого уровня аналогичная картина. Спросом пользуется лишь OPC DA. Все известные нам SCADA-продукты являются OPC-клиентами, например Wonderware InTouch, CiTect (Ci Technologies), а многие из них и OPC-серверами (в частности, CiTect). Другое ПО подвержено влиянию OPC в гораздо меньшей степени.

Из операционных систем технологию COM/DCOM поддерживают следующие:

- все Windows, начиная с Windows 95. Это обеспечивается самой компанией Microsoft;

- большинство Unix-подобных ОС, включая Linux; поддерживается фирмой GE Software;

- ОС реального времени VxWorks; обеспечивается фирмой-разработчиком WindRiver; имеется поддержка OPC, встроенная в систему разработки Tornado.

В других операционных системах, насколько нам известно, поддержки COM/DCOM нет. Это не очень отрадный факт, поскольку разработчиков систем автоматизации в первую очередь интересуют ОС реального времени.

3.14 Перспективы развития OPCехнологии

Итак, в настоящее время картина далеко не идеальна. Еще довольно много оборудования и ПО не охвачено OPC-технологиями. Даже технологией DA. Но нам представляется, что сейчас в мире налицо некий бум OPC, по крайней мере, в отношении опять же DA. Думается также, что Microsoft рано или поздно доведет все до желаемого уровня по всем направлениям.

Тем более что альтернативных вариантов пока нет. Мы имеем в виду не COM/DCOM, а именно спецификации на обмен технологическими данными. Поскольку для COM/DCOM замена как раз имеется - CORBA. Это действительно изначально платформенно-независимая технология взаимодействия приложений.

Но это не обмен технологическими данными, реализующий более высокий уровень абстракции. Кстати, заметим, что на рынке имеются OPC-шлюзы к CORBA (это возможно, как и к любому другому протоколу).

Таким образом, технология OPC предлагает стандарты для обмена технологическими данными, в которые заложены самые широкие возможности. Учитывая большой авторитет вовлеченных в данную деятельность фирм можно ожидать, что технология OPC будет набирать силу. Это перспективная технология для интеграции разнородных систем в частности, и, в особенности, сложных систем в составе различных технологических процессов и линий производства.

3.15 Программное обеспечение

SCADA-системы чаще всего имеют закрытый код и поставляются вместе с оборудованием (в данном случае с пультами, которые встраиваются в станок).

SCADA-система устанавливается на серверную версию операционной системы Microsoft и включает в себя OPC сервер и Microsoft SQL сервер. OPC сервер не обрабатывает результаты, а помещает их в базу данных, а уже OPC клиенту, которые установлен у пользователя, приходится обрабатывать полученый результат, что приводит к задержкам получения данных на пользовательской машине.

Для решения данной проблемы можно воспользоваться OPC клиентом, который будет заранее подсчитывать результаты полученные с OPC сервера и переводить их в web форму. Чтобы не вмешиваться в работу сервера SCADA-системы (чтобы не вызывать задержки получения данных с пультов) необходимо организовать сервер для OPC клиента, который в последствии будет и web-сервером.

Многие OPC протоколы базируются на Windows-технологиях (OLE, ActiveX, COM/DCOM), но также была найдена утилита для языка программирования Python - OpenOPC.

Данная утилита свободная и поставляется с открытым кодом, что позволяет при необходимости изменять её код. Она состоит из двух частей - серверная и клиентская. Серверная часть устанавливается на SCADA-систему в виде службы, а клиентская на наш дополнительный сервер. Для работы данной утилиты на дополнительном сервере необходимо установить язык программирования Python. Так же для нашего дополнительного сервера понадобится любой web-сервер, например, Apache, так же для обработки данных понадобиться препроцессор гипертекста, например, PHP, а для хранения данных, полученных с OPC сервера можно использовать MySQL.

Кроме того, необходимо использовать утилиту для диагностики работы сети, которая будет проверять работоспособность пультов и сервера, а так же активного сетевого оборудования на пути от пультов до сервера.

Для получения данных с OPC будет использоваться написанная Нами программа, которая работает за счет библиотек утилиты OpenOPC. Данная программа будет посылать запрос, например, раз в день на OPC сервер, а полученные результаты сохранять в базе данных MySQL. При этом конечный пользователь при обращении к web-серверу будет получать информацию незамедлительно, без каких-либо технических задержек, так как клиентской машине не нужно будет преобразовывать получаемые данные, а только лишь отображать полученные результаты в виде web-страницы на экране конечного пользователя.

Важно, что данные утилиты (т.е. OPC-клиент, OPC-сервер, база данных MySQL, web-сервер, PHP, собственно язык программирования Pyton и т.д.) являются свободными и кросплатформенными, и, поэтому их можно установить фактически на любую современную систему, например на unix-подобные системы, Windows и другие.

Следует рассмотреть отдельные программные средства, необходимые для создания web-сервера; такие, как web-сервер Apache, препроцессор гипертекста PHP и база данных MySQL. Выбор этих программных продуктов обусловлен, прежде всего, надёжностью в использовании, возможностью получения обновлений в ходе работы, а также - некоммерческим характером их распространения. В современных условиях нашей страны, последнее свойство, несомненно, кажется особенно привлекательным.

3.16 Web сервер Apache

Apache является кроссплатформенным программным обеспечением, является свободным и поддерживается операционными системами GNU/Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.

Основными достоинствами Apache считаются надежность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т.д. Поддерживает IPv4 и IPv6.

Недостатком считается отсутствие удобного стандартного интерфейса для администратора.

Ядро Apache включает в себя основные функциональные возможности, такие как обработка конфигурационных файлов, протокол http и система загрузки модулей. Ядро (в отличии от модулей) полностью разрабатывается Apache Softaware Foundation, без участия сторонних программистов.

Теоретически, ядро Apache может функционировать в чистом виде, без использования модулей. Однако, функциональность такого решения крайне ограничена. Ядро Apache полностью написано на языке программирования C.

Система конфигурации Apache основана на текстовых конфигурационных файлах. Имеет три условных уровня конфигурации:

· Конфигурирования сервера (http.conf).

· Конфигурирования виртуального хоса (http.conf, c версии 2.2 extra/httpd-vhost.conf).

· Конфигурация уровня директории (.htaccess).

Имеется собственный язык конфигурационных файлов, основанных на блоках директив. Практически все параметры ядра могут быть изменены через конфигурационные файлы, вплоть до управления мултипроцессорной модели. Большая часть модулей имеет собственные параметры.

Часть модулей использует в своей работе конфигурационные файлы операционной системы (например, /etc/passwd и /etc/hosts).

Помимо этого, параметры могут быть заданы через ключи командной строки.

Apache HTTP Server поддерживает модульность. Существует более 400 модулей, выполняющих различные функции. Часть из них разрабатывается командой Apache Software Foundation, но основное количество - отдельными open source разработчиками.

Модули могут быть как включены в состав сервера в момент компиляции, так и загружены динамически, через директивы конфигурационного файла.

Модули могут быть как включены в состав сервера в момент компиляции, так и загружены динамически, через директивы конфигурационного файла.

В модулях реализуются так возможности, как:

· Поддержка языков программирования.

· Добавление функционала.

· Исправление ошибок или модификация основных функций.

· Усиление безопасности.

Apache имеет встроенный механизм виртуальных хостов. Он позволяет полноценно обслуживать на одном ip-адресе множество сайтов (доменных имен), отображая для каждого из них собственное содержимое.

Для каждого виртуального хоста можно указать собственные настройки ядра и модулей, ограничить доступ ко всему сайту или отдельным файлам. Некоторые МРМ, например Apache-ITK позволяют запускать процесс httpd для каждого виртуального хоста с отдельными идентификаторами uid и gid.

Также, существуют модули, позволяющие учитывать и ограничивать ресурсы сервера (CPU, RAM, трафик) для каждого виртуального хоста.

Существует множество модулей, добавляющих к Apache поддержку различных языков программирования и систем разработки. К ним относятся:

· PHP (mod_php).

· Python (mod_python)

· Ruby (apache-ruby).

· Perl (mod_perl).

· ASP (apache-asp).

Кроме того, Apache поддерживает механизмы CGI и FastCGI, что позволяет исполнять программы на практически всех языках программирования, в том числе C, C++, sh, Perl и Java.

Apache имеет различные механизмы обеспечения безопасности и разграничения доступа к данным. Основным механизмами являются:

· Ограничение доступа к определенным директориям или файлам.

· Механизм авторизации пользователей для доступа к директории по методу HTTP-Авторизации (mod_auth_basic) и digest-авторизации (mod_auth_digest).

· Ограничение доступа к определенным директориям или всему серверу, основанное на IP-адресах пользователей.

· Запрет доступа к определенным типам файлов для всех или части пользователей, например, запрет доступа к конфигурационным файлам и файлам баз данных.

· Существуют модули, реализующие авторизацию через СУБД или PAM.

В некоторых MPM-модулях присутствует возможность запуска каждого процесса Apache используя различные uid и gid с соответствующими этим пользователям и группам пользователей.

Также, существует механизм suexec, используемый для запуска скриптов и CGI-приложений с правами и идентификационными данными пользователя.

Для реализации шифрования данных, передающихся между клиентом и сервером, используется механизм SSL, реализованный через библиотеку OpenSSL. Для удостоверения подлинности web-сервера используются сертификаты X.509.

Существуют внешние средства обеспечения безопасности, например mod_security.

Начиная с версии 2.0, появилась возможность определения сервером набора параметров, в т.ч. набора региональных символов, регионального языка пользователя, страны и местного времени.

Сообщения об ошибках и событиях, посылаемые браузеру, теперь представлены на нескольких языках и используют SSI технологию.

Apache поддерживает множество кодировок, в том числе Unicode, что позволяет использовать страницы, созданные в любых кодировках и на любых языках.

Администратор может установить собственные страницы и обработчики для всех HTTP ошибок и событий, таких как 404 (Not Found) или 403 (Forrbiden). В том числе существует возможность запуска скриптов на разных языках.

В версиях 1.3 и старше был реализован механизм Server Side Includes, позволяющий динамически формировать HTML-документы на стороне сервера.

Управлением SSI занимается модуль mod_include, включенный в базовую поставку Apache.

3.17 PHP

PHP (от анг. PHP: Hypertext Preprocessor - «PHP: препроцессор гипертекста») - скриптовый язык программирования общего назначения, применяющийся для разработки веб-приложений.

В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов.

Язык и его интерпретатор разрабатываются группой энтузиастов в рамках проекта с открытым кодом. Проект не является свободным и распространяется под собственной лицензией.

В области программирования для Сети, PHP - один из популярнейших скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.

Популярность в области построения веб-сайтов, определяется наличием большого набора встроенных средств для разработки веб-приложений. Основные из них:

· Автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределенные массивы;

· Файловые функции успешно обрабатывают как локальные, так и удаленные файлы;

· Автоматическая отправка HTTP-заголовков;

· Работа с cookies и сессиями;

· Обработка файлов, загружаемых на сервер;

· Работа с HTTP заголовками и HTTP авторизацией;

· Работа с XForms;

· Работа с удаленными файлами и сокетами

В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу Tiobe, базирующемуся на данных поисковых систем, в октябре 2009 года PHP находится на 3 месте среди языков программирования (уступая Java и C), поднявшись за год на две позиции.

3.18 MySQL

MySQL - свободная система управления базами данных (СУБД). MySQL является собственностью компании Sun Microsystems, осуществляющей разработку и поддержку приложения.

Распространяется под GNU General Public License и под собственной коммерческой лицензией, на выбор. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

MySQL является решением для малых и средних приложений. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

MySQL портирована на большое количество платформ: AIX, BSDi, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003, WinCE, Windows Vista и Windows 7.

Существует также порт MySQL к OpenVMS. Важно отметить, что на официальном сайте СУБД для свободной загрузки предоставляются не только исходные коды, но и откомпилированные и оптимизированные под конкретные операционные системы готовые исполняемые модули СУБД MySQL.

3.19 Язык программирования Python

Python - высокоуровневый язык программирования общего назначения с акцентом на производительность разработчика и читаемость кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.

Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты - динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).

Эталонной реализацией Python является интерпретатор CPython, поддерживающий большинство активно используемых платформ. Он распространяется свободно под очень либеральной лицензией, позволяющей использовать его без ограничений в любых приложениях, включая проприетарные. Есть реализации интерпретаторов для JVM (с возможностью компиляции), MSIL (с возможностью компиляции), LLVM и других. Проект PyPy предлагает реализацию Питона на самом Питоне, что уменьшает затраты на изменения языка и постановку экспериментов над новыми возможностями.

Python - активно развивающийся язык программирования, новые версии (с добавлением / изменением языковых свойств) выходят примерно раз в два с половиной года. Вследствие этого и некоторых других причин на Python отсутствуют ANSI, ISO или другие официальные стандарты, их роль выполняет CPython.

Разработка языка Python была начата в конце 1980-х годов сотрудником голландского института CWI Гвидо ван Россумом. Для распределённой ОС Amoeba требовался расширяемый скриптовый язык, и Гвидо начал писать Python на досуге, позаимствовав некоторые наработки для языка ABC (Гвидо участвовал в разработке этого языка, ориентированного на обучение программированию). В феврале 1991 года Гвидо опубликовал исходный текст в ньюсгруппе alt.sources. С самого начала Python проектировался как объектно-ориентированный язык.

Название языка произошло вовсе не от вида пресмыкающихся. Автор назвал язык в честь популярного британского комедийного телешоу 1970-х «Воздушный цирк Монти Пайтона». Впрочем, всё равно название языка чаще ассоциируют именно со змеёй, нежели с фильмом - пиктограммы файлов в KDE или в Microsoft Windows и даже эмблема на сайте python.org (до выхода версии 2.5) изображают змеиные головы.

Наличие дружелюбного, отзывчивого сообщества пользователей считается наряду с дизайнерской интуицией Гвидо одним из факторов успеха Python. Развитие языка происходит согласно чётко регламентированному процессу создания, обсуждения, отбора и реализации документов PEP (Python Enhancement Proposal) - предложений по развитию Python.

Большая часть других возможностей Python (например, байт-компиляция исходного кода) также была реализована ранее в других языках.

Python портируем и работает почти на всех известных платформах - от КПК до мейнфреймов. Существуют порты под Microsoft Windows, все варианты UNIX (включая FreeBSD и GNU/Linux), Plan 9, Mac OS и Mac OS X, Palm OS, OS/2, Amiga, AS/400 и даже OS/390, Symbian и Android.

По мере устаревания платформы её поддержка в основной ветви языка прекращается. Например, с серии 2.6 прекращена поддержка Windows 95, Windows 98 и Windows ME. Однако на этих платформах можно использовать предыдущие версии Python - на данный момент сообщество активно поддерживает версии Python начиная от 2.3 (для них выходят исправления).

При этом, в отличие от многих портируемых систем, для всех основных платформ Python имеет поддержку характерных для данной платформы технологий (например, Microsoft COM/DCOM). Более того, существует специальная версия Питона для виртуальной машины Java - Jython, что позволяет интерпретатору выполняться на любой системе, поддерживающей Java, при этом классы Java могут непосредственно использоваться из Питона и даже быть написанными на Питоне. Также несколько проектов обеспечивают интеграцию с платформой Microsoft.NET, основные из которых - IronPython и Python. Net.

Python поддерживает динамическую типизацию, то есть тип переменной определяется только во время исполнения. Поэтому вместо «присваивания значения переменной» лучше говорить о «связывании значения с некоторым именем». В Питоне имеются встроенные типы: булевые, строки, Unicode-строки, целые числа произвольной точности, числа с плавающей запятой, комплексные числа и некоторые другие. Из коллекций Python поддерживает кортежи (tuples), списки, словари (ассоциативные массивы) и, начиная с версии 2.4, множества. Все значения в Питоне являются объектами, в том числе функции, методы, модули, классы.

Добавить новый тип можно либо написав класс (class), либо определив новый тип в модуле расширения (например, написанном на языке C). Система классов поддерживает наследование (одиночное и множественное) и метапрограммирование. Возможно наследование от большинства встроенных типов и типов расширений.

Все объекты делятся на ссылочные и атомарные. К атомарным относятся int, long, complex и некоторые другие. При присваивании атомарных объектов копируется их значение, в то время как для ссылочных копируется только указатель на объект, таким образом обе переменные после присваивания используют одно и то же значение. Ссылочные объекты бывают изменяемые и неизменяемые. Например, строки и кортежи являются неизменяемыми, а списки, словари и многие другие объекты - изменяемыми. Кортеж в Питоне является, по сути, неизменяемым списком.

Язык обладает чётким и последовательным синтаксисом, продуманной модульностью и масштабируемостью, благодаря чему исходный код написанных на Питоне программ легко читаем.

Набор операторов достаточно традиционен. Вот некоторые из них:

· условный оператор if (если). Альтернативный блок после else (иначе). Если условий и альтернатив несколько, можно использовать elif (сокр. от else if).

· операторы цикла while (пока) и for (для). Внутри цикла возможно применение break и continue для прерывания цикла и перехода сразу к следующей итерации соответственно.

· оператор определения класса class.

· оператор определения функции, метода или генератора def. Внутри возможно применение return (возврат) для возврата из функции или метода, а в случае генератора - yield (давать).

· оператор обработки исключений try - except - else или try - finally (начиная с версии 2.5 можно использовать finally, except и else в одном блоке).

· оператор pass ничего не делает. Используется для пустых блоков кода.

Одной из интересных синтаксических особенностей языка является выделение блоков кода с помощью отступов (пробелов или табуляций), поэтому в Питоне отсутствуют операторные скобки begin/end как в языке Паскаль или фигурные скобки, как в Си. Такой «трюк» позволяет сократить количество строк и символов в программе и приучает к «хорошему» стилю программирования. С другой стороны, поведение и даже корректность программы может зависеть от начальных пробелов в тексте. Некоторые критики языка считают такое поведение неинтуитивным и неудобным.

Python - стабильный и распространённый язык. Он используется во многих проектах и в различных качествах: как основной язык программирования или для создания расширений и интеграции приложений. На Python реализовано большое количество проектов, также он активно используется для создания прототипов будущих программ.

3.20 Характеристика программного обеспечения

Scada-системы чаще всего имеют закрытый код и поставляются вместе с оборудованием (в данном случае с пультами, которые встраиваются в станок). Scada-система устанавливается на серверную версию операционной системы Microsoft и включает в себя OPC сервер и Microsoft SQL сервер. OPC-сервер не обрабатывает результаты, а помещает их в базу данных, а уже OPC клиенту, который установлен у пользователя, приходится обрабатывать полученный результат, что приводит к задержкам получения данных на пользовательской машине.

Для решения данной проблемы можно воспользоваться OPC клиентом, который будет заранее подсчитывать результаты, полученные с OPC сервера, и переводить их в web форму. Чтобы не вмешиваться в работу сервера Scada-системы (это необходимо для того, чтобы не вызывать задержки получения данных с пультов) необходимо организовать сервер для OPC клиента, который в последствии будет и web-сервером.

Многие OPC протоколы базируются на Windows-технологиях (OLE, ActiveX, COM/DCOM), но была найдена утилита для языка программирования Python - OpenOPC. Данная утилита свободная и поставляется с открытым кодом, что позволяет легко изменять ее код.

Она состоит из двух частей - серверная и клиентская. Серверная часть устанавливается на Scada-систему в виде службы, а клиентская на наш дополнительный сервер. Для работы данной утилиты на дополнительном сервере необходимо установить язык программирования Python.

Так же для нашего дополнительного сервера понадобится любой web сервер, например, Apache, так же для обработки данных понадобиться препроцессор гипертекста, например, PHP, а для хранения данных, полученных с OPC сервера можно использовать MySQL. Так же необходимо использовать утилиту для диагностики работы сети, которая будет проверять работоспособность пультов и сервера, а так же активного оборудования на пути от пультов до сервера.

Для получения данных с OPC будет использоваться написанная мною программа, которая работает за счет библиотек утилиты OpenOPC. Данная программа будет посылать запрос раз в день на OPC сервер, а полученные результаты сохранять в базе данных MySQL.

При этом конечный пользователь при обращении к web серверу будет получать мгновенно информацию о работе станков, так как клиентской машине не будет необходимости считать полученные данные.

Данные утилиты являются свободными и кросплатформенными и поэтому их можно установить фактически на любую современную систему, например на unix подобные системы, Windows и другие.

3.20.1 Утилита диагностики сети «Pinger»

Данная утилита требует установленную среду программирования Python. В данном случае она адоптирована под Unix системы и запускается по расписанию. Запускается с помощью скрипта для SH:

Данная утилита помогает узнать в каком сегменте сети (активное сетевое оборудование, пульт и сервер обычно работают с протоколом ICMP) произошла неполадка и почему не пришел результат с пульта на сервер.

Основной отчет с пультов на сервер OPC приходит в период от 5:00 до 10:00. В это период сеть должна работать стабильно.

3.20.2 Opc_client

Данная утилита требует установленную среду программирования Python.

Для работы данной утилиты необходимо, чтобы на OPC-сервере был установлен и запущен в виде службы компонент OpenOPC под название OpenOPC Gateway Service.

3.20.3 Веб-интерфейс

Веб-интерфейс необходим для того, что бы конечный пользователь мог получить необходимую информацию в понятном виде. В рассматриваемой SCADA-системе веб-интерфейс выполнен на языке PHP с элементами java script. Получение необходимых данных происходит с помощью взаимодействия PHP и MySQL.

Таким образом, интерфейс, полученный на экране клиентской машины представляет собой:

1) С помощью удобного календаря можно выбирать дату, по которой необходимо вывести статистику работы станков.

2) После выбора даты происходит вывод на экран работающих станков и сопутствующая информация.

Информация о станках представляет собой таблицу, в которую входят следующие столбцы:

1) Название оборудования

2) Месторасположение оборудования

3) Время работы оборудования

4) Время работы оборудования под нагрузкой

5) Время простоя оборудования из-за отсутствия заготовок

6) Время простоя оборудования по другим причинам

Так же можно внедрить дополнительные столбцы для отображения других информационных полей, которые поддерживает пульт, подключенный непосредственно к станку.

Данная информация может поступать на OPC-сервер, и впоследствии с помощью OPC-клиента поступать в базу данных, чтобы в дальнейшем ее можно было вывести на экран клиентской машины с помощью веб браузера.

На основании полученных данных конечный пользователь будет уведомлен о реальной загрузке станков, а также, о причинах простоя оборудования.

Наличие данной информации позволяет руководству цеха, плановым службам, а также лицам, ответственным за производство и эффективное использование оборудования, оперативно и целенаправленно влиять на ход производства в соответствии с полученными данными, а также использовать эти сведения для совершенствования организации производства в целом.

SCADA-системы осуществляет сбор информации о состоянии станочного парка в полуавтоматическом и автоматическом режимах. Оба режима работают параллельно и не оказывают влияния друг на друга.

На каждый станок, подключенный к системе, устанавливается пульт сбора данных. На пульт собирается информация в полуавтоматическом режимах.

В автоматическом режиме на пульт сбора данных поступает следующая информация:

· Состояние вводного автоматического выключателя или разъединителя станка (включен / отключен);

· Состояние главных приборов станка (работают/не работают);

· Состояние аварийных блокировок станка (включены / выключены);

· Ток потребляемый станком.

В полуавтоматическом режиме операторы станков вводят информацию о текущем состоянии станка через панель оператора или через сканер штрих-кода. Есть возможность вводить следующие состояния оборудования:

1. Время простоя оборудования, в т.ч. из-за ремонта, из-за отсутствия заготовок, либо по другим причинам.

Данные по каждому станку, собранные в полуавтоматическом и автоматическом режиме обрабатываются в локальном контроллере пульта сбора данных и передаются по сети Ethernet на сервера заводов.

В рассматриваемой SCADA-системе веб-интерфейс выполнен на языке PHP с элементами java script.

Получение необходимых данных происходит с помощью взаимодействия PHP и MySQL.

Поиск данных происходит по дате с помощью календаря, написанного на java script - при выборе определенной даты в календаре, данные передаются в PHP и, в результате запроса, к MySQL.

Получаемый результат с помощью PHP распределяется по таблице и выводится на экран пользователя.

Работоспособность данного веб-интерфейса является кросплатформенной, что было проверено на различных браузерах (Internet Explorer 8.0, FireFox, Safari, Opera), также браузеры мобильных устройств (iPhone 3G и Samsung WiTu с операционной системой Windows Mobile 6.1), на игровой приставке Sony PS3, и везде веб сайт корректно отображался.

4. Документация

4.1 Техническое руководство по пользованию веб-интерфейсом

В адресной строке Вашего веб-браузера (интернет обозревателя) необходимо ввести имя или ip адрес сервера (сервера, где установлен OPC-клиент) и нажать клавишу «Enter» и в результате откроется страница. Теперь Вам предстоит выбрать какой вид отчета Вас интересует (можно выбрать отчет за один день или за любой другой период, например, за несколько дней, недель, месяцев и т.д.) Если Вас интересует отчет за один день, то необходимо в первое поле ввести необходимую дату, либо выбрать ее на календаре. После ввода даты необходимо нажать на кнопку «Выполнить» и вы получите информацию, выбранную за один день.

Если Вас интересует отчет за период больше, чем один день, то необходимо ввести дату начала периода в первое поле, а дату окончания периода во второе поле, здесь также можно воспользоваться календарем. После ввода дат необходимо нажать на кнопку «Выполнить» и вы получите информацию, выбранную за период.

4.2 Техническое руководство для администраторов, обслуживающих OPCлиент и веб-сервер

Для добавления дополнительных столбцов в таблицу, которая генерируется при запросе пользователя, необходимо изменить следующие файлы.

В opc_client.php:

Добавить переменную, например:

time_work_karusel = opc.read ('Random. Int1')

Сначала указать название переменной, а также указать переменную, получаемую с OPC-сервера в (' '). Данную переменную необходимо узнать у организации, которая обслуживает OPC-сервер и подключенные к нему пульты.

Если добавляется новое оборудование, то необходимо написать подобный запрос, если же добавляется новая характеристика к существующему оборудованию, то необходимо добавить переменную в запрос.

В файле index.php необходимо изменить следующую строку (если добавляется только новое оборудование, то ничего менять не надо, а если добавляется новая характеристика, то необходимо добавить).

В элемент таблицы необходимо внести изменения, а так же внести новую переменную, получаемую из запроса sql.

Заключение

Таким образом, данная система позволяет, путем анализа данных полученных о работе трех единиц оборудования, правильно оценить их загрузку, квалификацию персонала работающего на них, эффективность работы планового бюро, бюро подготовки производства, ремонтных служб, мастера (подбор инструмента, оснастки, своевременная подача заготовок, качественный ремонт и т.д.).

Добавляя к анализу данные о работе оборудования в целом участка, цеха, производства данная система позволит правильно оценить работу этих производственных подразделений и соответствующих служб.

Такой анализ позволит правильно оценить возможности производственных подразделений любого уровня, выявить «узкие» места, наметить пути по повышению эффективности их работы, снижению затрат, повышению прибыли, принимать своевременно руководству необходимые решения по управлению материально-техническим снабжением, производством, персоналом, сбытом и т.д., в конечном случае повысить конкурентоспособность предприятия в целом.

Список литературы

1. Бенкен Е.С. Администрирование web-приложений с использованием PHP и MYSQL (альбом-конспект по курсу). СПБГПУ, СПБ., 2008.

2. Бенкен Е.С. Технологии HTML и XHTML/XML (альбом-конспект к курсу). СПБГПУ, СПб., 2008.

3. Брык И.Ю. Построение вычислительных сетей на основе технологий CISCO. Технология TCP/IP. Конспект лекций. СПБГПУ, СПб., 2007.

4. Кетов Д.В., Державин Д.К. Архитектура UNIX - LUNUX/FREEBDS. Конспект лекций. СПбГПУ, СПб., 2007.

5. Они же. Системное администрирование UNIX. Конспект лекций. СПбГПУ, СПб., 2007.

6. Кудаков А.А. Администрирование Windows. (альбом-конспект по курсу). СПбГПУ, СПб., 2007.

7. Скотт Хокинс. Администрирование Web-сервера Apache и руководство по электронной коммерции. Изд. «Вильямс», 2001. (без указания города издания).

8. www.php.ru

9. www.mysql.ru

1o. www.opcfoundation.org

11. www.openopc.sourceforge.net

12. www.ubuntu.ru

13. www.piton.ru

14. www.google.ru/codesearch

15. www.wikipedia.org

16. www.apache.ru


Подобные документы

  • Общая характеристика и функциональное назначение проектируемого программного обеспечения, требования к нему. Разработка и описание интерфейса клиентской и серверной части. Описание алгоритма и программной реализации приложения. Схема базы данных.

    курсовая работа [35,4 K], добавлен 12.05.2013

  • Основные компоненты системы и управление ими. Распределенная система управления и человеко-машинный интерфейс. Инструментарий для создания OPC-серверов и OPC-клиентов. Техническое руководство для администраторов, обслуживающих OPC-клиент и веб-сервер.

    дипломная работа [2,0 M], добавлен 20.10.2011

  • Описание создаваемого сервиса. Разработка и реализация серверной части сервиса и клиентской части сервиса, которая будет предоставлять пользователям возможность создания и редактирования генеалогических деревьев, возможность импорта и экспорта данных.

    курсовая работа [116,9 K], добавлен 20.07.2012

  • Выбор программного средства для клиентской и серверной части. Требования к программному обеспечению. Анализ приложений "Gmote", "Remote for VLC", "Пульт MPC&VLC", "The Remote Control". Схема функционирования клиентской части. Тестирование окна управления.

    дипломная работа [1,5 M], добавлен 31.03.2013

  • Особенности работы с SQL-базами данных. Установка и настройка локального сервера СУБД Interbase. Создание приложения "Торговая фирма", состоящее из серверной части и клиентской. Разработка спецификаций и описание интерфейса пользователя программы.

    курсовая работа [634,5 K], добавлен 14.07.2012

  • Разработка сетевой карточной игры "King" для операционной системы Windows XP. Реализация приложения с помощью интерфейса прикладного программирования Win32 API. Назначение серверной и клиентской части. Анализ исходных данных, тестирование приложения.

    курсовая работа [209,3 K], добавлен 24.01.2016

  • Разработка metaCASE системы, которая по описанию языка автоматически генерирует визуальный редактор, генератор и другие средства инструментальной поддержки. Обмен данными между клиентской и серверной частью. Реализация репозитория для хранения диаграмм.

    дипломная работа [2,4 M], добавлен 08.01.2014

  • Моделирование бизнес-процессов AS-IS и TO-BE. Построение логической и физической модели данных. Взаимодействие объектов и экранные формы к прецедентам. Диаграммы классов пользовательского интерфейса и компонентов клиентской и серверной части приложения.

    курсовая работа [1,5 M], добавлен 19.12.2015

  • Анализ популярности мобильных операционных систем в мире и России. Разработка структурно-функциональной модели. Реализация серверной и клиентской частей программы. Алгоритм поиска события в мобильном приложении. Тестирование программного обеспечения.

    дипломная работа [748,3 K], добавлен 10.07.2017

  • Основные подходы к организации баз данных, компоненты языка Delphi, используемые для их построения. Разработка программного обеспечения - базы данных "Школа", предназначенной для хранения информации об учащихся, их успеваемости по различным дисциплинам.

    курсовая работа [739,8 K], добавлен 14.07.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.