Разработка системы организации удаленного обмена файлами с использованием протокола

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    413,67 Кб
  • Опубликовано:
    2015-04-04
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка системы организации удаленного обмена файлами с использованием протокола

ВВЕДЕНИЕ


Актуальность темы исследования.

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

Цель исследования - разработка системы организации удаленного обмена файлами с использованием протокола.

Для достижения поставленной цели были решены следующие задачи исследования:

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

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

произведен расчет экономической эффективности проекта.

рассмотрена охрана труда и безопасность жизнедеятельности.

Объектом исследования - информационные системы обмена файлами.

Предмет исследования - система организации удаленного обмена файлами.

Степень изученности проблемы. Теоретические основы разработки программных обеспечений отображены в трудах: А.Я. Архангельский [1], М.Р. Когловский [10], А.В. Симонович [11], В.В. Бойко [13].

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

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

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

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

Во введении раскрыты актуальность, цели, задачи, предмет, метод исследования, научная новизна и структура работы;

В первой главе теоретические принципы разработки системы организации удаленного обмена файлами;

Во второй главе произведена разработка системы организации удаленного обмена файлами с использованием протокола;

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

. ТЕОРЕТИЧЕСКИЕ ПРИНЦИПЫ РАЗРАБОТКИ СИСТЕМЫ ОРГАНИЗАЦИИ УДАЛЕННОГО ОБМЕНА ФАЙЛАМИ

.1 Принцип организации удаленного обмена файлами

Любую программу удаленного администрирования, ориентированную на работу в локальной сети, можно попытаться использовать для реализации удаленного доступа к ПК через Интернет. К примеру, для организации удаленного доступа к компьютеру через Интернет можно попытаться воспользоваться стандартными средствами и программами, такими как утилита Remote Desktop Connection, входящая в состав операционной системы Windows XP. Однако на практике это не даст должного результата. Все дело в том, что подобные утилиты ориентированы на создание соединения между двумя компьютерами с известными IP-адресами. В локальной сети это не вызывает проблем, однако если нужно получить удаленный доступ к компьютеру через Интернет, то не все так просто. Проблема заключается в том, что компьютеры пользователей, находящиеся в локальных сетях, не имеют внешнего (публичного) IP-адреса. Действительно, компьютеры в составе локальной корпоративной сети с выходом в Интернет, как правило, находятся за интернет-шлюзом с интегрированным NAT-устройством и со стороны внешней сети (Интернета) имеют один IP-адрес, который является IP-адресом самого интернет- шлюза. Внутри локальной сети компьютерам присваиваются адреса из зарезервированного для частного использования диапазона IP-адресов. Частное адресное пространство регламентируется документом RFC 1918. К таким адресам относятся следующие IP-диапазоны: 10.0.0.0-10.255.255.255, 172.16.0.0-172.31.255.255, 192.168.0.0-192.168.255.255.

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

Прежде всего, рассмотрим, как происходит сетевое соединение между двумя ПК.

Когда один компьютер сети устанавливает соединение с другим компьютером, открывается сокет, определяемый IP-адресом источника, портом источника, IP-адресом назначения, портом назначения и сетевым протоколом. Формат IP-пакета предусматривает двухбайтовое поле для номеров портов. Это позволяет определить 65 535 портов, которые играют роль своеобразных каналов связи. Из 65 535 портов первые 1023 зарезервированы для хорошо известных серверных сервисов, таких как web, FTP, Telnet и т.д. Все остальные порты могут применяться для любых других целей.

Если, к примеру, один сетевой компьютер обращается к FTP-серверу (порт 21), то при открытии сокета операционная система присваивает сессии любой порт выше 1023. Например, это может быть порт 2153. Тогда IP-пакет, отправляемый со стороны ПК к FTP-серверу, будет содержать IP-адрес отправителя, порт отправителя (2153), IP-адрес получателя и порт назначения (21). IP-адрес и порт отправителя будут использоваться для ответа сервера клиенту. Применение разных портов для различных сетевых сессий позволяет клиентам сети одновременно устанавливать несколько сессий с разными серверами или с сервисами одного сервера.

Теперь рассмотрим процесс установления сессии при использовании маршрутизатора на границе внутренней сети и Интернета. Когда клиент внутренней сети устанавливает связь с компьютером внешней сети, открывается сокет, определяемый IP-адресом источника, портом источника, IP-адресом назначения, портом назначения и сетевым протоколом. Когда приложение передает данные через этот сокет, IP-адрес источника и порт источника вставляются в пакет в поля параметров источника. Поля параметров пункта назначения будут содержать IP-адрес получателя и порт получателя. К примеру, компьютер внутренней сети с IP-адресом 192.168.0.1 может обратиться к web-серверу Глобальной сети с IP-адресом 64.233.188.104. В этом случае операционная система клиента может назначить установленной сессии порт 1251 (порт источника), а порт назначения - это порт web-сервиса, то есть 80. Тогда в заголовке отправляемого пакета будут указаны следующие атрибуты (рис. 1):

Рисунок 1. - Принцип работы маршрутизатора при передаче пакета. Примечание: [составлено автором]

адрес источника - 192.168.0.1;

порт источника - 1251;адрес получателя - 64.233.183.104;

порт получателя - 80;

протокол - TCP.

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

Предположим, что в рассмотренном выше примере NAT-маршрутизатор имеет внешний IP-адрес 195.2.91.103 (адрес WAN-порта), а для установленной сессии внешний порт NAT-устройства - 3210. В этом случае внутренняя таблица сопоставления портов источника и получателя пакета содержит следующую информацию:адрес источника - 192.168.0.1;

порт источника - 1251;

внешний IP-адрес NAT-устройства - 195.2.91.103;

внешний порт NAT-устройства - 3210;адрес получателя - 64.233.183.104;

порт получателя - 80;

протокол - TCP.

Затем устройство NAT «транслирует» пакет, преобразуя в пакете поля источника: внутренние IP-адрес и порт клиента заменяются внешними IP-адресом и портом устройства NAT. В рассмотренном примере преобразованный пакет будет содержать следующую информацию:адрес источника - 195.2.91.103;

порт источника - 3210;адрес получателя - 64.233.183.104;

порт получателя - 80;

протокол - TCP.

Преобразованный пакет пересылается по внешней сети и в итоге попадает на заданный сервер.

Получив пакет, сервер будет направлять ответные пакеты на внешний IP-адрес и порт устройства NAT (маршрутизатора), указывая в полях источника свои собственные IP-адрес и порт (рис. 2). В рассмотренном примере ответный пакет от сервера будет содержать в заголовке следующую информацию:

Рисунок 1. - Принцип работы маршрутизатора при передаче пакета из внешней сети. Примечание: [составлено автором]

во внутреннююадрес источника - 64.233.183.104;

порт источника - 80;адрес получателя - 195.2.91.103;

порт получателя - 3210;

протокол - TCP.

Маршрутизатор принимает эти пакеты от сервера и анализирует их содержимое на основе своей таблицы сопоставления портов. Если в таблице будет найдено сопоставление порта, для которого IP-адрес источника, порт источника, порт назначения и сетевой протокол из входящего пакета совпадают с IP-адресом удаленного узла, с удаленным портом и с сетевым протоколом, указанным в сопоставлении портов, то маршрутизатор выполнит обратное преобразование: заменит внешний IP-адрес и внешний порт в полях назначения пакета на IP-адрес и внутренний порт клиента внутренней сети. Таким образом, пакет, передаваемый во внутреннюю сеть, для рассмотренного выше примера будет иметь следующие атрибуты:адрес источника - 64.233.183.104;

порт источника - 80;адрес получателя - 192.168.0.1;

порт получателя - 1251;

протокол - TCP.

Однако если в таблице сопоставления портов не находится соответствия, то входящий пакет отвергается и соединение разрывается.

Любой ПК внутренней сети может передавать данные в Глобальную сеть с использованием внешнего IP-адреса и порта маршрутизатора. При этом IP-адреса внутренней сети, как присвоенные сессиям порты, остаются невидимыми со стороны внешней сети.

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

Для того чтобы сделать компьютер в составе локальной сети доступным из Интернета, необходимо произвести специфические настройки на маршрутизаторе, то есть либо организовать так называемую демилитаризованную зону и добавить в нее нужный компьютер, либо реализовать статическое перенаправление портов на маршрутизаторе (Port Forwarding, Port mapping).

Демилитаризованная зона (DMZ-зона) - это способ обхода ограничений протокола NAT. Компьютер внутренней локальной сети, размещенный в зоне DMZ, становится прозрачным для протокола NAT. Фактически это означает, что компьютер внутренней сети виртуально располагается перед брандмауэром. Для ПК, находящегося в DMZ-зоне, осуществляется перенаправление всех портов на один внутренний IP-адрес, что позволяет организовать передачу данных из внешней сети во внутреннюю.

Если, к примеру, компьютер с IP-адресом 192.168.1.10, находящийся во внутренней локальной сети, размещен в DMZ-зоне, а сама локальная сеть защищена маршрутизатором, то при поступлении по любому порту запроса из внешней сети по адресу WAN-порта маршрутизатора этот запрос будет переадресован на IP-адрес 192.168.1.10, то есть на адрес компьютера в DMZ-зоне.

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

Наиболее часто для удаленного доступа к компьютеру, расположенному во внутренней сети, применяется так называемое статическое перенаправление портов. Технология статического перенаправления портов позволяет сделать доступными из внешней сети определенные приложения, запускаемые на компьютере во внутренней сети. Для того чтобы реализовать перенаправление портов, в маршрутизаторе необходимо задать сопоставление между портами, используемыми определенными приложениями, и IP-адресами тех компьютеров внутренней сети, на которых эти приложения работают (такие компьютеры называют виртуальными серверами). В результате любой запрос из внешней сети на внешний IP-адрес маршрутизатора по указанному порту будет автоматически перенаправлен на указанный виртуальный сервер внутренней сети.

К примеру, если во внутренней сети конфигурируется виртуальный сервер, который запускается на ПК с IP-адресом 192.168.0.10, то при настройке виртуального сервера задаются IP-адрес виртуального сервера (192.168.0.10), применяемый протокол и порт приложения, к которому необходимо получить доступ извне. Так, если приложение использует протокол TCP и порт 12345, то при обращении по внешнему IP-адресу маршрутизатора по порту 12345 пользователь внешней сети может получить доступ к приложению виртуального сервера внутренней сети, несмотря на использование протокола NAT.

Как правило, маршрутизаторы позволяют создавать несколько статических перенаправлений портов. То есть на одном виртуальном сервере можно открыть сразу несколько портов или создать несколько виртуальных серверов с различными IP-адресами. Однако при статическом перенаправлении портов нельзя перенаправлять один порт на несколько IP-адресов, то есть порт может соответствовать только одному IP-адресу.

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

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

.2 Способы обмена файлами

Transmission Control Protocol/Internet Protocol (TCP/IP) - это промышленный стандарт стека протоколов, разработанный для глобальных сетей.

TCP/IP <#"784772.files/image003.gif">


Уровень IP получает пакеты, доставлемые нижними уровнями, например драйвером интерфейса с ЛВС, и передает их лежащим выше уровням TCP или UDP. И наоборот, IP передает пакеты, полученные от уровней TCP и UDP к нижележащим уровням.

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

Высокоуровневые сервисы TCP и UDP при приеме пакета предполагают, что адрес отправителя, указанный в пакете, является истинным. Другими словами, адрес IP является основой для аутентификации во многих сервисах; сервисы предполагают, что пакет был послан от существующего хоста, и именно от того хоста, чей адрес указан в пакете. IP имеет опцию, называемую опция маршрутизации источника, которая может быть использована для указания точного прямого и обратного пути между отправителем и получателем. Этот путь может задействовать для передачи пакета маршрутизаторы или хосты, обычно не использующиеся для передачи пакетов к данному хосту-получателю. Для некоторых сервисов TCP и UDP пакет IP c такой опцией кажется пришедшим от последней системы в указанном пути, а не от своего истинного отправителя. Эта опция появилась в протоколе для его тестирования, но [Bel89] отмечает, что маршрутизация источника может использоваться для обмана систем с целью установления соединения с ними тех хостов, которым запрещено с ними соединяться. Поэтому, то, что ряд сервисов доверяют указанному IP-адресу отправителя и полагаются на него при аутентификации, очень опасно и может привести к проникновению в систему.

IP ( Internet Protocol) - межсетевой протокол. Протокол IP используется для доставки данных, разделяемых на так называемые пакеты от одного узла сети к другому. В частности, пакеты могут прийти не в том порядке, в котором были отправлены, продублироваться, оказаться повреждёнными (обычно повреждённые пакеты уничтожаются) или не прибыть вовсе. Гарантию безошибочной доставки пакетов дают протоколы более высокого (транспортного уровня) - например, TCP - которые используют IP в качестве транспорта.

(TCP) Transmission Control Protocol - (протокол управления передачей) - один из основных сетевых протоколов Интернета, предназначенный для управления передачей данных в сетях и подсетях TCP/IP. TCP - это транспортный механизм, предоставляющий поток данных, с предварительной установкой соединения, за счёт этого дающий уверенность в достоверности получаемых данных, осуществляет повторный запрос данных в случае потери данных и устраняет дублирование при получении двух копий одного пакета. Гарантирует, что приложение получит данные точно в такой же последовательности, в какой они были отправлены, и без потерь. Реализация TCP, как правило, встроена в ядро системы, хотя есть и реализации TCP в контексте приложения.

2. РАЗРАБОТКА СИСТЕМЫ ОРГАНИЗАЦИИ УДАЛЕННОГО ОБМЕНА ФАЙЛАМИ С ИСПОЛЬЗОВАНИЕМ ПРОТОКОЛА

.1 Протокола используемые в системах организации удаленного обмена файлами

HTTP (Hyper Text Transfer Protocol) - это протокол передачи гипертекста. Протокол HTTP используется при пересылке Web-страниц с одного компьютера на другой. Протокол передачи гипертекста - протокол прикладного уровня передачи данных изначально - в виде гипертекстовых документов. Основой HTTP является технология клиент сервер, то есть предполагается существование потребителей клиентов которые инициируют соединение и посылают запрос, и поставщиков серверов, которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом.в настоящее время повсеместно используется во Всемирной паутине для получения информации с веб-сайтов. HTTP используется также в качестве «транспорта» для других протоколов прикладного уровня, таких как SOAP, XML-RPC,Web-DAV.

Основным объектом манипуляции в HTTP является ресурс, на который указывает URI(англ. Uniform Resource Identifier) в запросе клиента. Обычно такими ресурсами являются хранящиеся на сервере файлы, но ими могут быть логические объекты или что-то абстрактное. Особенностью протокола HTTP является возможность указать в запросе и ответе способ представления одного и того же ресурса по различным параметрам: формату, кодировке, языку и т. д. (В частности для этого используется HTTP-заголовок.) Именно благодаря возможности указания способа кодирования сообщения клиент и сервер могут обмениваться двоичными данными, хотя данный протокол является текстовым.- протокол прикладного уровня, аналогичными ему являются FTP и SMTP. Обмен сообщениями идёт по обыкновенной схеме «запрос-ответ». Для идентификации ресурсов HTTP использует глобальные URI. В отличие от многих других протоколов, HTTP не сохраняет своего состояния. Это означает отсутствие сохранения промежуточного состояния между парами «запрос-ответ». Компоненты, использующие HTTP, могут самостоятельно осуществлять сохранение информации о состоянии, связанной с последними запросами и ответами (например, «куки» на стороне клиента, «сессии» на стороне сервера). Браузер, посылающий запросы, может отслеживать задержки ответов. Сервер может хранить IP-адреса и заголовки запросов последних клиентов. Однако сам протокол не осведомлён о предыдущих запросах и ответах, в нём не предусмотрена внутренняя поддержка состояния, к нему не предъявляются такие требования.

. FTP (File Transfer Protocol) - это протокол передачи файлов со специального файлового сервера на компьютер пользователя. FTP дает возможность абоненту обмениваться двоичными и текстовыми файлами с любым компьютером сети. Установив связь с удаленным компьютером, пользователь может скопировать файл с удаленного компьютера на свой или скопировать файл со своего компьютера на удаленный.(англ. File Transfer Protocol -протол передачи файлов) - стандартный протокол, предназначенный для передачи файлов по TCP-сетям (например, Интернет). FTP часто используется для загрузки сетевых страниц и других документов с частного устройства разработки на открытые сервера хостинга.

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

Первые клиентские FTP-приложения были интерактивными инструментами командной строки, реализующими стандартные команды и синтаксис. Графические пользовательские интерфейсы тех пор были разработаны для многих используемых по сей день операционных систем. Среди этих интерфейсов как программы общего веб-дизайна вроде Microsoft Expression web, так и специализированные FTP-клиенты (например,Cute FTP).является одним из старейших прикладных протоколов, появившимся задолго до HTTP, в 1971 году. Он и сегодня широко используется для распространения ПО и доступа к удалённым хостам.

. POP (Post Office Protocol) - это стандартный протокол почтового соединения. Серверы POP обрабатывают входящую почту, а протокол POP предназначен для обработки запросов на получение почты от клиентских почтовых программ.(англ. Post Office Protocol Version 3 -протокол почтового отделения, версия 3) - стандартный Интернет- протокол прикладного уровня, используемый клиентами электронной почты для извлечения электронного сообщения с удаленного сервера по TSP/IP - соединению.и IMAP (Internet Message Access Protocol) - наиболее распространенные Интернет - протоколы для извлечения почты. Практически все современные клиенты и серверы электронной почты поддерживают оба стандарта. Протокол POP был разработан в нескольких версиях, нынешним стандартом является третья версия (POP3). Большинство поставщиков услуг электронной почты (такие как Hotmail, Gmail и Yahoo! Mail) также поддерживают IMAP и POP3. Предыдущие версии протокола (POP, POP2) устарели.

.SMTP (Simple Mail Transfer Protocol) - протокол, который задает набор правил для передачи почты. Сервер SMTP возвращает либо подтверждение о приеме, либо сообщение об ошибке, либо запрашивает дополнительную информацию.

SMTP (англ. <#"784772.files/image004.gif">

Рисунок 3. - Обобщенная схема системы контроля и управления. Примечание: составлено автором


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

Нижний уровень - уровень объекта (контроллерный) - включает различные датчики для сбора информации о ходе технологического процесса, электроприводы и исполнительные механизмы для реализации регулирующих и управляющих воздействий. Датчики поставляют информацию локальным программируемым логическим контроллерам (PLC - Programming Logical Controoller), которые могут выполнять следующие функции:

сбор и обработка информации о параметрах технологического процесса;

управление электроприводами и другими исполнительными механизмами;

решение задач автоматического логического управления и др.

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

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

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

Для критичных с этой точки зрения объектов рекомендуется использовать контроллеры с операционными системами реального времени (ОСРВ). Контроллеры под управлением ОСРВ функционируют в режиме жесткого реального времени.

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

К этому классу инструментального ПО относятся пакеты типа ISaGRAF (CJ International France), InConrol (Wonderware, USA), Paradym 31 (Intellution, USA), имеющие открытую архитектуру.

Информация с локальных контроллеров может направляться в сеть диспетчерского пункта непосредственно, а также через контроллеры верхнего уровня (см. рис.). В зависимости от поставленной задачи контроллеры верхнего уровня (концентраторы, интеллектуальные или коммуникационные контроллеры) реализуют различные функции. Некоторые из них перечислены ниже:

сбор данных с локальных контроллеров;

обработка данных, включая масштабирование;

поддержание единого времени в системе;

синхронизация работы подсистем;

организация архивов по выбранным параметрам;

обмен информацией между локальными контроллерами и верхним уровнем;

работа в автономном режиме при нарушениях связи с верхним уровнем;

резервирование каналов передачи данных и др.

Верхний уровень - диспетчерский пункт (ДП) - включает, прежде всего, одну или несколько станций управления, представляющих собой автоматизированное рабочее место (АРМ) диспетчера/оператора. Здесь же может быть размещен сервер базы данных, рабочие места (компьютеры) для специалистов и т.д. Часто в качестве рабочих станций используются ПЭВМ типа IBM PC различных конфигураций.

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

Спектр функциональных возможностей определен самой ролью SCADA в системах управления и реализован практически во всех пакетах:

автоматизированная разработка, дающая возможность создания ПО системы автоматизации без реального программирования;

средства исполнения прикладных программ;

сбор первичной информации от устройств нижнего уровня;

обработка первичной информации;

регистрация алармов и исторических данных;

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

визуализация информации в виде мнемосхем, графиков и т.п.;

возможность работы прикладной системы с наборами параметров, рассматриваемых как "единое целое" ("recipe" или "установки").

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

Все компоненты системы управления объединены между собой каналами связи. Обеспечение взаимодействия SCADA - систем с локальными контроллерами, контроллерами верхнего уровня, офисными и промышленными сетями возложено на так называемое коммуникационное ПО. Это достаточно широкий класс программного обеспечения, выбор которого для конкретной системы управления определяется многими факторами, в том числе и типом применяемых контроллеров, и используемой SCADA - системой. Более подробная информация о коммуникационном ПО приведена в главе 2.

Большой объем информации, непрерывно поступающий с устройств ввода/вывода систем управления, предопределяет наличие в таких системах баз данных (БД). Основная задача баз данных - своевременно обеспечить пользователя всех уровней управления требуемой информацией. Но если на верхних уровнях АСУ эта задача решена с помощью традиционных БД, то этого не скажешь об уровне АСУ ТП. До недавнего времени регистрация информации в реальном времени решалась на базе ПО интеллектуальных контроллеров и SCADA - систем. В последнее время появились новые возможности по обеспечению высокоскоростного хранения информации в БД. Более подробная информация по базам данных реального времени приведена в главе 6.

Бурное развитие Интернет не могло не привлечь внимание производителей программного продукта SCADA. Возможно ли применение Интернет - технологий в системах управления технологическими процессами? Если да, то какие решения предлагаются в настоящее время компаниями - разработчиками? Обсуждению этих вопросов посвящена глава 7.

Разработка прикладного программного обеспечения СКУ: выбор пути и инструментария

Приступая к разработке специализированного прикладного программного обеспечения (ППО) для создания системы контроля и управления, системный интегратор или конечный пользователь обычно выбирает один из следующих путей:

Программирование с использованием "традиционных" средств (традиционные языки программирования, стандартные средства отладки и пр.)

Использование существующих, готовых - COTS (Commercial Of The Shelf) - инструментальных проблемно-ориентированных средств.

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

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

Итак, выбор пути сделан! Это очень важно, но тогда следует сделать и второй шаг - "определиться" с инструментальными средствами разработки ППО. Программные продукты класса SCADA широко представлены на мировом рынке. Это несколько десятков SCADA - систем, многие из которых нашли свое применение и в России. Наиболее популярные из них приведены ниже:(Wonderware) - США;(CI Technology) - Австралия;

FIX (Intellution ) - США;(Iconics Co) - США;Link (United States Data Co) - США;(BJ Software Systems) - США;(Jade Software) - Великобритания;(AdAstrA) - Россия;

Cimplicity (GE Fanuc) - США;

САРГОН (НВТ - Автоматика) - Россия.

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

Ниже приводится примерный перечень критериев оценки SCADA - систем, которые в первую очередь должны интересовать пользователя. Этот перечень не является авторским и давно уже обсуждается в специальной периодической прессе. В нем можно выделить три большие группы показателей:

технические характеристики;

стоимостные характеристики;

эксплуатационные характеристики.

Технические характеристики

Программно-аппаратные платформы для SCADA-систем.

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



Таблица 1

Совместимость ОС и платформы

Операционная система

Компьютерная платформа

DOS/MS Windows

IBM PC

OS/2

IBM PC

SCO UNIX

IBM PC

VMS

VAX

AIX

RS6000

HP-UX

HP 9000

MS Windows/NT

Системы с реализованным Windows/NT, в основном на РС-платформе.

Примечание: [составлено автором]

 

В то же время в таких SCADA-системах, как RealFlex и Sitex основу программной платформы принципиально составляет единственная операционная система реального времени QNX.

Подавляющее большинство SCADA-систем реализовано на MS Windows платформах. Именно такие системы предлагают наиболее полные и легко наращиваемые MMI - средства. Учитывая позиции Microsoft на рынке операционных систем (ОС), следует отметить, что даже разработчики многоплатформных SCADA-систем, такие как United States DATA Co (разработчик FactoryLink), приоритетным считают дальнейшее развитие своих SCADA-систем на платформе Windows NT. Некоторые фирмы, до сих пор поддерживавшие SCADA-системы на базе операционных систем реального времени (ОСРВ), начали менять ориентацию, выбирая системы на платформе Windows NT. Все более очевидным становится применение ОСРВ, в основном, во встраиваемых системах, где они действительно хороши. Таким образом, основным полем, где сегодня разворачиваются главные события глобального рынка SCADA--систем, стала MS Windows NT/2000 на фоне всё ускоряющегося сворачивания активности в области MS DOS, MS Windows 3.xx/95.

Имеющиеся средства сетевой поддержки.

Одной из основных черт современного мира систем автоматизации является их высокая степень интеграции. В любой из них могут быть задействованы объекты управления, исполнительные механизмы, аппаратура, регистрирующая и обрабатывающая информацию, рабочие места операторов, серверы баз данных и т.д. Очевидно, что для эффективного функционирования в этой разнородной среде SCADA-система должна обеспечивать высокий уровень сетевого сервиса. Желательно, чтобы она поддерживала работу в стандартных сетевых средах (ARCNET, ETHERNET и т.д.) с использованием стандартных протоколов (NETBIOS, TCP/IP и др.), а также обеспечивала поддержку наиболее популярных сетевых стандартов из класса промышленных интерфейсов (PROFIBUS, CANBUS, LON, MODBUS и т.д.) Этим требованиям в той или иной степени удовлетворяют практически все рассматриваемые SCADA-системы, с тем только различием, что набор поддерживаемых сетевых интерфейсов, конечно же, разный.

Встроенные командные языки

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

Поддерживаемые базы данных

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

Практически все SCADA-системы, в частности, Genesis, InTouch, Citect, используют ANSI SQL синтаксис, который является независимым от типа базы данных. Таким образом, приложения виртуально изолированы, что позволяет менять базу данных без серьезного изменения самой прикладной задачи, создавать независимые программы для анализа информации, использовать уже наработанное программное обеспечение, ориентированное на обработку данных.

Графические возможности

Для специалиста-разработчика системы автоматизации, также как и для специалиста - "технолога", чье рабочее место создается, очень важен графический пользовательский интерфейс. Функционально графические интерфейсы SCADA-систем весьма похожи. В каждой из них существует графический объектно-ориентированный редактор с определенным набором анимационных функций. Используемая векторная графика дает возможность осуществлять широкий набор операций над выбранным объектом, а также быстро обновлять изображение на экране, используя средства анимации.

Крайне важен также вопрос о поддержке в рассматриваемых системах стандартных функций GUI (Graphic Users Interface). Поскольку большинство рассматриваемых SCADA-систем работают под управлением Windows, это и определяет тип используемого GUI.

Открытость систем

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

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

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

Драйверы ввода-вывода

Современные SCADA-системы не ограничивают выбора аппаратуры нижнего уровня, так как предоставляют большой набор драйверов или серверов ввода-вывода и имеют хорошо развитые средства создания собственных программных модулей или драйверов новых устройств нижнего уровня. Сами драйверы разрабатываются с использованием стандартных языков программирования. Вопрос, однако, в том, достаточно ли только спецификаций доступа к ядру системы, поставляемых фирмой-разработчиком в штатном комплекте (система Trace Mode), или для создания драйверов необходимы специальные пакеты (системы FactoryLink, InTouch), или же, вообще, разработку драйвера нужно заказывать у фирмы-разработчика.

Разработки третьих фирм

Многие компании занимаются разработкой драйверов, ActiveX-объектов и другого программного обеспечения для SCADA-систем. Этот факт очень важно оценивать при выборе SCADA-пакета, поскольку это расширяет область применения системы непрофессиональными программистами (нет необходимости разрабатывать программы с использованием языков С или Basic).

Стоимостные характеристики

При оценке стоимости SCADA-систем нужно учитывать следующие факторы:

стоимость программно-аппаратной платформы;

стоимость системы;

стоимость освоения системы;

стоимость сопровождения.

Эксплуатационные характеристики

Показатели этой группы критериев наиболее субъективны. Это тот самый случай, когда лучше один раз увидеть, чем семь раз услышать. К этой группе можно отнести:

удобство интерфейса среды разработки - "Windows - подобный интерфейс", полнота инструментария и функций системы;

качество документации - ее полнота, уровень русификации;

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

Если предположить, что пользователь справился и с этой задачей - остановил свой выбор на конкретной SCADA - системе, то далее начинается разработка системы контроля и управления, которая включает следующие этапы:

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

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

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

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

Отладка созданной прикладной программы в режиме эмуляции. В последующих главах на примере двух известных и хорошо зарекомендовавших себя SCADA-систем (InTouch и Citect) рассмотрены основные компоненты, функции и возможности систем диспетчерского управления и сбора данных.

Графический интерфейс

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

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

Графические средства InTouch

Компоненты среды разработки InTouch:- инструментальная среда разработки приложений;Explorer - представление приложения в иерархическом виде с доступом к любому компоненту приложения и многим часто используемым командам и функциям WindowMaker.

Проект, созданный в пакете InTouch, представляет собой набор окон (Window) с различными графическими и текстовыми объектами.

Окна в InTouch

Свойства каждого окна (наличие заголовка, цвет фона, размеры и т. д.) определяются при его создании. Создание нового окна производится в среде разработки WindowMaker щелчком по иконке панели инструментов General или командой File/New Window. На экране появится диалог Window Properties (Свойства окна, рис. 2).


Рисунок 3. - Диалог Window Properties (Свойства окна). Примечание: [составлено автором]


Каждое окно должно иметь свое имя для его идентификации в приложении (Name). Цвет фона создаваемого окна выбирается из цветовой палитры, вызываемой на экран щелчком по окошку Window Color.

В поле Comment можно ввести комментарий, связанный с этим окном (необязательно). Эта информация нужна только для документирования и не используется приложением.предлагает три типа окон (Window Туре):(заменяющее) - закрывает все существующие окна, перекрываемые им при появлении на экране, включая окна типа Popup и другие окна типа Replace.(перекрывающее) - появляется поверх всех отображаемых в текущий момент окон. Когда окно типа Overlay закрывается, все скрываемые им окна восстанавливаются. Щелчок мыши по любому видимому участку лежащего ниже окна приводит к переходу его на передний план.(всплывающее) - похоже на окно типа Overlay, только оно всегда остается поверх всех других открытых окон. Окно закрывается после соответствующей команды пользователя.

Выбор типа создаваемого окна производится включением соответствующей кнопки в поле Window Туре.

В поле Frame Style (стиль обрамления) выбирается необходимый стиль обрамления окна:- окно с рамкой, допускается заголовок;- окно с рамкой без заголовка;- окно без рамки и заголовка.

Чтобы у окна была полоса с заголовком, где выводится имя окна, включают опцию Title Bar. Эта полоса также служит для перемещения окна при захвате ее мышью. При выборе этой опции отключатся опции Double и None для стиля обрамления.

Для возможности изменения размеров окна, когда оно откроется в WindowMaker, следует выбрать опцию Size Controls (управление размером).

В группе полей Dimentions определяются текущие размеры и положение окна на рабочем поле:Location - расстояние в пикселях между левым краем рабочего поля WindowMaker и левым краем описываемого окна;Location - расстояние в пикселях между верхним краем рабочего поля WindowMaker и верхним краем описываемого окна;Width - ширина окна в пикселях;Height - высота окна в пикселях.

По умолчанию при создании нового окна эти параметры примут значения предыдущего (последнего) созданного окна.

 

Рисунок 4. - Интерфейс WindowMaker. Примечание: [составлено автором]

Кнопка Scripts (скрипты) дает возможность войти в диалог Window Script для создания оконного сценария.

Для унификации внешнего вида окон приложения и сокращения сроков разработки приложений InTouch предлагает несколько приемов.

Один из таких приемов - дублирование окон. Создание копий окон выполняется командой File/ Save Window As. Для быстрого доступа к этой команде можно воспользоваться меню правой кнопки мыши (см. ниже).

Второй прием, который также позволяет экономить время разработки приложения - импорт окон. Можно повторно использовать все ранее созданные окна, объекты и скрипты. Чтобы импортировать окна из другого InTouch - приложения, необходимо воспользоваться командой File/ Import.

Интерфейс WindowMaker с открытым окном представлен на рис. 3.

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

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

Объекты и их свойства

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

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

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

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

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

Текст на кнопке редактируется с помощью команды Special/Substitute Strings... При этом текстовое поле может содержать только одну строку.

Один и тот же объект может иметь набор различных динамических свойств. Комбинации этих свойств предоставляют возможность создавать на экране в режиме исполнения (Runtime) практически любые динамические эффекты. Для установки динамических свойств надо прежде всего вызвать на экран диалог их выбора (рис.4). Это достигается командой Special/Animation Link или двойным щелчком левой кнопки мыши на объекте.


Рисунок 4. - Диалог выбора динамических свойств объекта. Примечание: [составлено автором]

Все динамические связи можно разделить на две группы: Touch Links (левая колонка) и Display Links (три колонки справа). С помощью свойств Touch Links выполняется какой - либо ввод в систему. Свойства Display Links осуществляют вывод информации на экран дисплея.

Нажатие на любую клавишу диалога (рис. 4) вызывает появление нового диалога для определения соответствующего свойства объекта. Количество диалогов соответствует количеству динамических свойств (кнопок) диалога выбора. Все диалоги различны, но большинство из них имеет общие характеристики:

окно типа объекта;

одинаковую палитру цветов;

быстрый вызов словаря переменных;

быстрый доступ к полям переменных;

поддержку правой кнопки мыши в полях Tagname (имя переменной) и Expression (выражение).

На рис.5 приведен диалог для определения свойств объекта (кнопки), управляющего значением дискретной переменной.


Рисунок 5. - Диалог определения свойств кнопки. Примечание: [составлено автором]


Завершение работы с диалогом производится нажатием кнопки Ok. Если переменная поля Tagname была ранее определена в словаре переменных данного приложения, пользователь возвращается в диалог выбора динамических свойств объекта (рис. 4). Можно либо продолжить определение других динамических свойств для данного объекта, либо, нажав Ok, вернуться на поле разработки окна приложения.

Сложные объекты

Символ - это некоторая комбинация простых объектов, которые обрабатываются как один объект. Любое изменение статических или динамических свойств символа влияет на все составляющие символа. Например, если создать символ "насос" из двух кругов и двух прямоугольников и присвоить ему динамическое свойство Fill Color (цвет заполнения), то это свойство будет распространяться на все четыре простых объекта.

Различные объекты символа могут иметь разные значения одного и того же свойства, если они были присвоены этим объектам до объединения в символ. Bitmap - объекты, кнопки, компоненты не могут быть включены в состав символа.

Компонент - это совокупность двух или более объектов, символов или других компонентов, образующих единый элемент. Они создаются путем выбора двух и более объектов, символов или компонентов и последующего запуска команды Arrange/Make Cell. Компоненты реализуют пространственную взаимосвязь между составляющими их графическими элементами. Каждая составляющая компонента может иметь свои собственные динамические свойства. Компоненты используются для таких виртуальных устройств, как панель управления контроллером, движковый регулятор и т.д.

Компонент не может менять свой размер, ему нельзя присваивать динамические свойства (внутри компонента есть объекты и символы со своими динамическими свойствами). Нельзя изменять и статические свойства (внешний вид). Для изменения статических и динамических свойств компонента его надо разобрать на составные части командой Arrange/Break Cell. Однако компоненты можно дублировать, копировать, вставлять, выравнивать, перемещать и т. д.

Мастер-объект - это предварительно созданный компонент с определенными статическими и динамическими свойствами, находящийся в библиотеке мастер-объектов (Wizards) и доступный для многократного применения. Но, в отличие от компонента, динамические свойства которого настраиваются для каждой составляющей отдельно до объединения в компонент, динамические свойства мастер-объекта быстро настраиваются с помощью специализированного диалога. Другими словами, фирма Wonderware провела большую работу и создала огромное количество мастер-объектов (несколько тысяч), определив для каждого из них механизм быстрой настройки статических и динамических свойств. Все эти мастер-объекты разделены на большое количество групп и размещены в соответствующей библиотеке. Доступ к ней осуществляется нажатием иконки Wizard в интерфейсе WindowMaker, что вызывает появление на экране диалога Wizard Selection (Выбор мастер-объекта. В левой части диалога - список групп мастер-объектов, включающий такие категории, как Buttons (кнопки), Sliders (ползунковые регуляторы), Switches (переключатели) и т. д.

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

Например, двойной щелчок по кнопке Momentary Button (кнопка запуска), предварительно вставленной в окно приложения, выводит на экран диалог конфигурирования этой кнопки (рис.6).Достаточно ввести имя дискретной переменной, желаемый текст на кнопке, отметить несколько опций и нажать Ok. Инструмент Bitmap инструментальной панели рисования позволяет копировать и встраивать в приложение InTouch растровые объекты (совокупность точек). С помощью него создается "контейнер" для последующей вставки объекта из папки обмена Windows либо файлов с расширением.BMP,.JPG,.PCX,.TGA. Для WindowMaker растровое изображение является единым объектом. Невозможно ни анимировать его отдельные части, ни вставлять Bitmap - объекты в символы (можно вставлять в компоненты). Такой объект можно развернуть на рабочем поле на 90, 180, 270, 360 градусов, а также определить для него цвет "прозрачности", чтобы через него можно было видеть и другие объекты.

Тренды. InTouch предлагает пользователю два сложных объекта типа тренд: тренд реального времени и исторический (архивный) тренд. Эти объекты позволяют отображать в виде графиков значения данных реального времени (4 пера) и архивных данных (8 перьев). Оба типа трендов создаются при использовании специальных инструментов панели рисования окна WindowMaker с последующим конфигурированием. Подробная информация по созданию и конфигурированию трендов будет приведена в соответствующей главе. Подводя итог описанию графических средств пакета InTouch, следует отметить, что фирма Wonderware в этом плане предлагает потребителю хороший набор возможностей:

богатый, традиционный для пользователей Windows инструментарий;

меню правой кнопки мыши для окон, графических объектов и полей диалогов;

широкий спектр динамических свойств объектов;

огромную библиотеку мастеров-объектов (Wizards).

Организация взаимодействия с контроллерами

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

Для подсоединения драйверов ввода/вывода к SCADA - системе в настоящее время используются следующие механизмы:

ставший стандартом de facto динамический обмен данными (DDE);

собственные протоколы фирм-производителей SCADA - систем, реально обеспечивающие самый скоростной обмен данными;

новый OPC - протокол, который, с одной стороны, является стандартным и поддерживается большинством SCADA - систем, а с другой стороны, лишен недостатков протоколов DDE.

Изначально протокол DDE применялся в первых человеко - машинных интерфейсах в качестве механизма разделения данных между прикладными системами и устройствами типа ПЛК (программируемые логические контроллеры). Для преодоления недостатков DDE, прежде всего для повышения надежности и скорости обмена, разработчики предложили свои собственные решения (протоколы), такие как AdvancedDDE или FastDDE - протоколы, связанные с пакетированием информации при обмене с ПЛК и сетевыми контроллерами. Но такие частные решения приводят к ряду проблем:

для каждой SCADA - системы пишется свой драйвер для поставляемого на рынок оборудования;

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

Основная цель OPC стандарта (OLE for Process Control) заключается в определении механизма доступа к данным с любого устройства из приложений. OPC позволяет производителям оборудования поставлять программные компоненты, которые стандартным способом обеспечат клиентов данными с ПЛК. При широком распространении OPC - стандарта появятся следующие преимущества:позволят определять на уровне объектов различные системы управления и контроля, работающие в распределенной гетерогенной среде;- устранят необходимость использования различного нестандартного оборудования и соответствующих коммуникационных программных драйверов;

у потребителя появится больший выбор при разработке приложений.

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

Аппаратная реализация связи с устройствами ввода/вывода

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

В этом случае контроллер или объединенные сетью контроллеры подключаются по протоколам RS-232, RS-422, RS-485.

Сетевые платы

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

Вставные платы

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

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

Серверы ввода/вывода в InTouch

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

Поддерживаемые коммуникационные протоколы(Dynamic Data Exchange - динамический обмен данными) представляет собой коммуникационный протокол, разработанный компанией Microsoft для обмена данными между различными Windows - приложениями. Этот протокол реализует взаимосвязи типа клиент - сервер между двумя одновременно исполняющимися программами.

В InTouch поддерживается также пакетированный DDE - обмен - FastDDE. Применение последнего заметно повышает эффективность и производительность обмена данными благодаря уменьшению общего количества DDE - пакетов, которыми клиент и сервер обмениваются между собой. Но принципиальные недостатки, связанные с надежностью и зависимостью от количества загруженных в текущий момент приложений Windows, остались. Необходимость в появлении более совершенного технологичного протокола созрела! Но следует отметить, что отказ от DDE-механизма происходит не мгновенно хотя бы потому, что в мире наработано большое количество DDE - серверов.

С целью расширения возможностей стандартного протокола DDE на локальную сеть компания Wonderware предложила NetDDE. Он позволяет приложениям, запущенным на объединенных в локальную сеть компьютерах, вести DDE - обмен. Позднее NetDDE лицензируется компанией Microsoft и поставляется в дистрибутивном пакете Windows. Следует отметить и то, что NetDDE допускает обмен информацией между приложениями на IBM PC и приложениями на машинах другого типа с операционной системой VMS или UNIX. Компания Wonderware предлагает и инструментальные средства для разработки DDE-серверов, в том числе и для не-Windows-платформ.

Протокол SuiteLink был специально разработан фирмой Wonderware для того, чтобы удовлетворить таким требованиям, как целостность данных, высокая производительность и простота диагностики. В основе протокола SuiteLink лежит протокол TCP/IP. SuiteLink не является заменой протоколам DDE, FastDDE и NetDDE. Новый протокол разработан для поддержания быстродействующих промышленных систем и обладает следующими характеристиками:

Передача данных осуществляется в формате VTQ (Value, Time, Quality - значение, время, качество), в соответствии с которым каждая пересылаемая клиенту единица информации сопровождается метками времени и качества данных.

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

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

Для реализации функций OPC - клиента Wonderware предлагает OPCLink - сервер, преобразующий OPC в SuitLink - протокол.

В материалах, предложенных компанией Wonderware, отмечается, что большинство реализованных OPC-серверов создают для каждого подключаемого к серверу клиента новый канал связи или нить. Для текущей обработки каждого клиента сервер должен переключаться между нитями. Каждая нить использует DCOM (Distributed Component Object Model) для организации обмена данными, и DCOM также управляет переключением нитей. В итоге возможна достаточно низкая производительность в сети.

Тесты, проведенные фирмой Wonderware, показали, что при обслуживании OPC-сервером 7 клиентов (при передаче 4 целых чисел в режиме обновления) сервер на 95% занимал ресурсы CPU. Это означает, что ресурсы компьютера практически целиком были заняты переключением нитей и DCOM- процедурами. Поэтому на текущем этапе параметры производительности протокола SuiteLink превосходят параметры DCOM. Поставляемый в комплекте FactorySuite (Wonderware) OPCLink Server обеспечивает прием информации с OPC- сервера и передачу ее по протоколу SuiteLink в SCADA - систему InTouch и наоборот. Именно OPCLink Server рекомендуется устанавливать на одном узле с OPC- сервером, чтобы для сетевых передач использовался SuiteLink- протокол, а не DCOM (рис.7).


Рисунок 6. - Использование SuiteLink - протокола в SCADA - системах. Примечание: [составлено автором]


Все описанные ниже особенности адресации распространяются и на OPC-серверы с одним лишь ограничением. При разработке InTouch - приложения создается канал связи с OPCLink - сервером (как с любым другим SuiteLink - сервером). Но рекомендуется использовать встроенный в InTouch OPC Browser для упрощения выбора параметров конфигурации подключаемого OPC - сервера.

Особенности адресации в InTouch

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

Так как InTouch предназначен для разработки и поддержания интерфейса сбора данных и диспетчерского управления (рис.8), среда исполнения WindowViewer при взаимодействии с контроллерным уровнем выступает, как правило, в роли приложения - клиента (узел View), запрашивающего данные у приложения - сервера (I/O Server).


Рисунок 7. - Обмен данными между InTouch - приложением и технологическим процессом. Примечание: [составлено автором]


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

Здесь и встает один из главных вопросов организации обмена с серверами ввода/вывода: каким образом обеспечить клиенту доступ к запрашиваемой им информации?

Для организации обмена с приложением определяются каналы обмена или каналы доступа, характеризующиеся следующими параметрами:

имя узла (Node Name);

имя приложения Application Name);

имя группы данных или топик (Topic Name);

имя элемента (Item Name).

Имя приложения - это имя программы Windows, которая выполняет функции DDE, FastDDE, SuiteLink - серверов. Имя группы данных (топика) определяется при конфигурировании сервера на прием или передачу группы данных, которыми сервер будет обмениваться с контроллером или объединенными в сеть контроллерами. Определенные параметры группы (топика) зависят от конкретного сервера (поэтому рекомендуется изучать документацию и справочную систему выбранного сервера). Например, при использовании Modbus - сервера, позволяющего обеспечить взаимодействие с контроллером Modicon Micro 984 PLC, в качестве имени приложения (Application Name) должен быть Modbus, в качестве имени группы или топика (Topic Name) вводится любое имя (текстовая строка), но среди необходимых параметров группы из списка выбирается имя контроллера Modicon 984 PLC. А в качестве имени элемента (Item Name) следует выбирать название конкретного регистра контроллера (например, 40001 для контроллера Modicon Micro 984). Чтобы узнать правильный синтаксис имени элемента, необходимый для конкретных PLC, нужно обратиться к руководству по соответствующему серверу.


Рисунок 8. - Обмен информацией на примере Modbus - сервера. Примечание: [составлено автором]

Определены все компоненты коммуникационного канала. С учетом введенных понятий схема обмена информацией для рассмотренного выше примера будет выглядеть следующим образом (рис. 9).

Фирма Wonderware предлагает DDE и SuiteLink - серверы, которые поддерживают более 800 типов контроллеров основных производителей и различные протоколы.

Если нужного драйвера все-таки нет, можно воспользоваться пакетом разработки драйверов FactorySuite Toolkit.

Схемы, приведенные на рис. 9, интерпретируют стандартный обмен информацией между узлом (приложением) View и контроллером (ПЛК) в режиме сбора данных и управления. В этом режиме, как уже было сказано выше, приложение View - клиент по определению.

Обмен данными с другими приложениями

Но приложения InTouch могут взаимодействовать не только между собой, но и с другими Windows - приложениями. Одним из известных примеров такого приложения является Microsoft Excel. InTouch - приложение может считывать и записывать какие - либо значения в любую клетку открытой в Excel электронной таблицы. Аналогично и программа Excel может читать и записывать информацию в базу данных InTouch - приложения. Данный механизм обеспечивает одновременное обновление данных в одном приложении при изменении их значений в другом.

Если клиентом (приложением, запрашивающим информацию) по - прежнему является узел View, то Excel - это приложение, поставляющее информацию (сервер). В качестве группы или топика (Topic) тогда будет выступать имя таблицы Excel, а элемент обмена информацией - ячейка в таблице Excel (табл.2.1, вариант 1).

Когда клиентом является приложение Excel, а сервером - приложение View, группой в этом случае всегда является словарь переменных InTouch (база данных) с именем Tagname. Элементом обмена будет элемент базы данных - имя переменной.

В случае обмена данными по сети с использованием пакета Wonderware NetDDE необходимо к трехуровневой структуре адреса добавить четвертый уровень - имя удаленного узла сети (Node Name).

Подводя итог вышесказанному, следует подчеркнуть, что информация по доступу к данным устройств ввода/вывода или других приложений должна храниться в приложении (в словаре переменных). И разработчику в InTouch-приложении важно подключиться к вышеописанному каналу доступа. Для этого в InTouch необходимо определить имя доступа Access Name и связать его с переменной приложения.

Определение имени доступа в словаре переменных InTouch

В InTouch - приложениях вся информация о переменных приложения хранится в Tagname Dictionary (Словарь переменных). Это не что иное, как база данных реального времени - один из центральных компонентов InTouch.

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

пакете InTouch используется два базовых типа переменных - Memory (внутренние) и I/O (переменные ввода/вывода).

Переменные типа Memory могут быть использованы для создания различных системных констант, моделирования элементов системы управления и в вычисляемых переменных, доступных другим Windows - программам.

Все переменные, которые получают или передают свое значение другой Windows - программе, должны иметь тип ввода/вывода (I/O). В эту категорию попадают переменные, которые посредством канала доступа (Access Name) принимают или отправляют данные из/в серверов ввода/вывода, других приложений InTouch, других программ Windows.

Определение новой переменной в базе данных InTouch, как и просмотр, и модификация атрибутов уже существующих переменных, производится в диалоге Tagname Dictionary (рис.10). Доступ к этому диалогу осуществляется командой Speсial/Tagname Dictionary в окне среды разработки WindowMaker или двойным щелчком по иконке Tagname Dictionary в окне Application Explorer.


Рисунок 9. - Диалог Tagname Dictionary (Словарь переменных). Примечание: [составлено автором]


Поля Tagname и Comment предназначены для ввода имени переменной и соответствующего комментария. По умолчанию включена опция Read/Write (чтение/запись). Можно отметить и опцию Read Only, если в процессе исполнения WindowViewer должен только читать значение переменной.

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

Для каждой переменной в этом диалоге приведена следующая информация: имя переменной, ее тип, имя доступа, группа аларма и комментарий.

Группа алармов (Alarm group, рис.11) для переменной определяется в диалоге, вызываемом нажатием кнопки Group диалога Tagname Dictionary. Все, что касается алармов, рассматривается в соответствующем разделе ниже.


Рисунок 10. - Диалог Select Tag (выбор переменной). Примечание: [составлено автором]

пользовательский обмен файл протокол

Выбор типа переменной осуществляется в диалоге Tag Types (тип переменной, рис. 12), вызываемом на экран нажатием кнопки Туре диалога Tagname Dictionary.

 

Рисунок 11. - Диалог Tag Types (тип переменной). Примечание: [составлено автором]


В этом диалоге представлен полный список основных типов переменных InTouch. Выбор завершается отметкой соответствующей опции и щелчком по Ok.

После выбора типа переменной программа возвращает пользователя в диалог Tagname Dictionary (Словарь переменных). При этом будет открыт и дополнительный диалог подробного описания переменной, содержание которого зависит от выбранного типа. Кнопка Access Name (имя доступа) используется для определения канала обмена (канала доступа) с сервером, с которым будет связана описываемая переменная. Имя доступа Access Name определяется именем узла, именем приложения и именем группы или топика. Имя топика должно совпадать с соответствующим именем, заданным при конфигурировании DDE, SuiteLink-сервера. Имя элемента, как компонента многоуровневого адреса, определяется в поле Item (рис.13).

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

Локальные адреса используются в том случае, когда View - узлы имеют свои серверы ввода/вывода. На рис. 13 узлы исполнения (View - узлы), каждый со своей копией одного и того же приложения, ссылаются на свои собственные источники данных ввода/вывода (серверы ввода/вывода).


Рисунок 12. - Сеть View - узлов с собственными серверами ввода/вывода. Примечание: [составлено автором]


Поэтому при определении канала доступа к информации ввода/вывода достаточно трехуровневого адреса (Application - приложение, Topic - объект, Item - элемент). Имя узла (Node) в этом случае опускается. Щелчок по кнопке Access Name (рис.2.3.8) вызывает на экран одноименный диалог. Этот диалог предназначен для определения нового канала доступа (кнопка Add), модификации существующего (Modify) или удаления (Delete). Щелчок по кнопке Add вызывает диалог определения нового канала доступа. В качестве имени (канала) доступа (Access Names) рекомендуется выбирать имя группы или топика (Topic Name). Следует подчеркнуть, что поле Node Name (имя узла) оставлено пустым. Щелчок по кнопке Ok возвращает пользователя в диалог Access Names (имена доступа) с определенным именем доступа.

Глобальные адреса источников данных ввода/вывода позволяют нескольким View - узлам обращаться к одному и тому же серверу ввода/вывода. Такой подход предоставляет возможность отказаться от нескольких серверов ввода/вывода, однако менее защищен от отказов (рис.14).


Рисунок 13. - Архитектура с двумя View - узлами и сервером ввода/вывода. Примечание: [составлено автором]


Два View - узла исполняют идентичные копии одного и того же приложения и ссылаются на один и тот же источник ввода/вывода (I/O сервер). Поэтому при определении канала доступа к информации ввода/вывода необходимо использовать четырехуровневый адрес (Node - узел, Application -приложение, Topic - объект, Item - элемент).

При выборе имени доступа действует то же правило, что и при локальной адресации: рекомендуется, чтобы это имя совпадало с именем группы данных или топика (Topic Name). Но поле Node Name (имя узла) необходимо заполнить. В качестве этого имени при глобальной адресации выбирают имя узла, на котором установлен сервер ввода/вывода, являющийся источником данных для нескольких приложений.

Для каждой переменной ввода/вывода задается атрибут Access Name. С одним именем доступа, как правило, связано большое количество переменных. Распределение переменных по группам (топикам) - произвольное. Но для оптимизации функционирования серверов рекомендуется в одну группу относить переменные с одинаковой частотой обновления. В противном случае частота, задаваемая при конфигурировании топика в сервере, должна соответствовать минимальному временному кванту. Желательно на этапе конфигурирования сервера определить группы (топики) для каждого частотного диапазона и в соответствии с этими группами создать имена доступа (Access Name) в InTouch (лучше даже, чтобы имена групп совпадали с именами доступа). А далее каждую описываемую в InTouch-приложении переменную типа I/O связывать с подходящим именем доступа для обеспечения рационального пакетирования данных.

Тренды в SCADA - системах

Графическое представление значений технологических параметров во времени способствует лучшему пониманию динамики технологического процесса предприятия. Поэтому подсистема создания трендов и хранения информации о параметрах с целью ее дальнейшего анализа и использования для управления является неотъемлемой частью любой SCADA - системы.

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

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

Тренды в InTouchпредлагает пользователю оба типа графических объектов, называемых трендами: тренд реального времени и исторический (архивный) тренд. Тренды реального времени дают возможность создавать графики изменения во времени четырех переменных (4 пера), в то время как для исторических трендов можно конфигурировать до восьми перьев в одном объекте. Количество объектов типа "тренд" в приложении, в том числе и в одном окне, не ограничено.

Оба типа трендов создаются c использованием специальных графических объектов инструментальной панели WindowMaker. InTouch также обеспечивает полный контроль над конфигурированием трендов. Для примера, можно определить диапазон времени, область значений, разрешение сетки, размещение временных отметок, число перьев и атрибуты цвета и т. д. Допускается переконфигурирование архивного тренда на этапе исполнения приложения (в Runtime).

Архивирование (регистрация) значений переменной

При работе системы в режиме WindowViewer (среда исполнения) InTouch может производить запись значений переменных в регистрационный файл. Для того, чтобы архивирование переменной выполнялось, необходимо включить опцию Log Data (регистрация данных) при определении переменной в диалоге Tagname Dictionary.

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

Чтобы значения переменных, для которых опция Log Data разрешена, записывались в регистрационные файлы, необходимо общее разрешение глобальной функции регистрации. Его задают в диалоге Historical Logging Properties (параметры архивирования, рис. 15), который вызывается на экран командой Special/Configure/Historical Logging. В этот диалог можно также войти из окна Application Explorer.


Рисунок 14. - Диалог Historical Logging Properties. Примечание: [составлено автором]


Включение опции Enable Historical Logging дает общее разрешение на регистрацию значений переменных. Срок хранения регистрационных файлов на диске (исключая текущий день) определяется в поле Keep Log Files for в днях. Если в это поле введено значение 0, файлы будут храниться бесконечно долго. Регистрационные файлы могут быть размещены в каталоге приложения (опция по умолчанию Store Log Files in Application Directory). В противном случае следует отметить опцию Store Log Files in Specific Directory (хранить файлы в ином каталоге) и ввести полный путь до каталога, в котором будут храниться регистрационные файлы (при работе с распределенными архивами - полный сетевой путь).

Отображение трендов

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

Чтобы создать тренд реального времени, необходимо:

выбрать инструмент тренд реального времени в панели инструментов WindowMaker;

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

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


Рисунок 15. - Объект "тренд реального времени". Примечание: [составлено автором]


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

Для конфигурирования тренда реального времени следует либо дважды щелкнуть на созданном объекте, либо, предварительно выбрав объект, запустить команду Special/Animation Links. На экране появится диалог Real Time Trend Configuration (конфигурирование тренда реального времени). Среди настроек этого диалога можно отметить диапазон времени, охватываемый трендом (Time Span), частоту вывода значение переменной (Interval), разрешение сетки по большим и малым делениям горизонтальной и вертикальной осей (Time Division, Value Division), цвета фона и рамки графика (Color). Конфигурирование перьев тренда включает выбор имени переменной или выражения, цвета и толщины линии для каждого пера (поле Expression). Для повышения производительности системы следует отметить опцию Only update when in memory (обновлять, когда в памяти). В этом случае обновление данных тренда будет производиться только в моменты, когда окно с трендом отображается на дисплее (находится в RAM). Есть и другие способы повышения производительности при работе с трендами реального времени (уменьшение толщины линии графика, уменьшение частоты выводы значений переменной). Например, если установлен диапазон времени (Time Span) в 30 минут, а частота вывода - 2 секунды, то число измерений, которые нужно провести за каждые 30 минут, будет равно 900 (30 * 60/2 = 900). При частоте выводе в 5 секунд число измерений существенно уменьшается: 30 * 60/5 = 360. Исторические (архивные) тренды не являются динамическими. Они обеспечивают "снимок" состояния данных за прошедшее время, то есть по архивным данным. В отличие от трендов реального времени исторические тренды обновляются только по команде - при запуске скрипта, изменении значения выражения или нажатии оператором соответствующей кнопки. При конфигурировании архивного тренда можно создать "визиры" (ползунки, бегунки), с помощью которых удобно получить значения всех отображаемых переменных на один и тот же момент времени. Бегунки архивного тренда представляют собой позиционные индикаторы на временной оси, положение которых определяет объем извлекаемых данных. Связав объект "движковый регулятор" с полем бегунка, можно осуществлять перемещение вдоль архивного тренда. Кроме того, имеются функции вычисления среднего, минимального и максимального значений в определенном бегунком положении. Можно создать правый и левый бегунки и производить обработку данных кривой, расположенной между бегунками. Вычисляются следующие величины: среднее, минимальное, максимальное, отношение мин/макс и стандартное отклонение. В зависимости от положения бегунков на оси можно реализовать и другие функции (увеличение и уменьшение заключенной между бегунками области графика).

Благодаря системе распределенных архивов на один и тот же график можно выводить информацию из нескольких баз данных.

Все сказанное выше о механизме создания тренда реального времени инструментом Real Time Trend в среде разработки WindowMaker и о его последующем конфигурировании можно отнести и к архивному тренду, создаваемому инструментом Historical Trend среды разработки.

Предлагаемый ниже способ создания и конфигурирования архивного тренда предполагает использование мастер-средств библиотеки Wizard.

Нажатие кнопки выбора мастер-средств в панели инструментов вызывает появление на экране диалога Wizard Selection (выбор мастер-средств).

После выбора из предложенного набора мастер-средств Hist Trend with Scooters (архивный тренд с бегунками) и щелчка по Ok программа возвращает пользователя в среду разработки. Курсор мыши при этом примет форму вставки. Последующий щелчок мыши на предполагаемом месте нахождения создаваемого объекта выводит на экран архивный тренд (рис.17). Объекты этого типа ведут себя аналогично любым другим объектам, то есть их можно перемещать, масштабировать и т. д.


Рисунок 16. - Объект "архивный тренд". Примечание: [составлено автором]

Двойной щелчок на объекте приводит к появлению на экране диалога конфигурирования архивного тренда (Historical Trend Char Window).


Рисунок 17. - Диалог конфигурирования архивного тренда. Примечание: [составлено автором]


Для конфигурирования тренда с параметрами по умолчанию следует нажать кнопку Suggest (вариант). Нажатие кнопок Times и Values выводит на экран окна конфигурирования разрешения сетки по большим и малым делениям горизонтальной и вертикальной осей, цвета фона и рамки графика, временного диапазона и т. д. Кнопка Pens (перья) предназначена для настройки перьев архивного тренда.

Чтобы добавить в тренд функции масштабирования и перемещения или элементы управления перьями, следует использовать панели Zoom/Pan и Trend Pen Legend (рис. 16), соответственно. Для того, чтобы эти компоненты работали совместно, они должны иметь одинаковые имена (Hist Trend).

Изменение параметров архивных трендов в режиме исполнения

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

Для этого следует включить опцию Allow runtime changes (разрешить изменения во время исполнения) в диалоге конфигурирования архивного тренда (в книге не показан).

Теперь в режиме WindowViewer щелчок на архивном тренде будет вызывать на экран диалог изменения параметров архивного тренда (Historical Trend Setup). В этом диалоге можно определить дату и время начала архивного тренда (поле Chart Start), его временной диапазон (Chart Length), присвоить перьям цвет и имена переменных, выбирая их из словаря.

Архивный тренд может выводиться в одном из трех возможных режимах:/Max - график изменения значений переменной в виде вертикальных линий в процентах от всего диапазона, позволяющий оценить скорость изменения переменной;/Scatter - график среднего значения переменной;/Bar Chart - график среднего значения переменной в виде гистограммы.

Выбор режима производится в поле Display Mode

Система распределенных архивов

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

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

Система, приведенная на рис.19, имеет два провайдера архивов. Левый провайдер регистрирует информацию только из узла, расположенного слева внизу. Правый провайдер регистрирует информацию из узла, расположенного справа вверху. Остальные три узла (вверху слева) лишь используют архивные данные. Читать информацию из архивных файлов может каждый из узлов системы.

Создание такой системы предполагает следующие действия:

создание списка провайдеров архивов;

создание и определение параметров объекта "архивный тренд";

конфигурирование приложения на удаленное архивирование данных;

копирование приложения на все узлы.


Рисунок 18. - Распределенная система архивов. Примечание: [составлено автором]


Встроенные языки программирования

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

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

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

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

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

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

Во всех языках функции разделяются на группы, часть из которых присутствует практически во всех языках: математические функции, функции работы со строками, обмен по SQL, DDE - обмен и т. д.

В разрабатываемом приложении создаются программные фрагменты, состоящие из операторов и функций языка, которые выполняют некоторую последовательность действий. Эти программные фрагменты связываются с разнообразными событиями в приложении, такими как нажатие кнопки, открытие окна, выполнение логического условия (a +b > c). Каждое из событий ассоциируется с графическим объектом, окном, таймером, открытием/ закрытием приложения. Когда приложение содержит сотни окон, тысячи различных графических объектов, а с каждым из них связано несколько событий, в приложении может "работать" огромное количество отдельных программных фрагментов. Велика вероятность их "одновременной" активизации.

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

В связи с этим возникает несколько вопросов. С каким приоритетом исполняется каждый из фрагментов, допускается ли рекурсия при обработке событий и если да, то каков уровень вложенности? В SCADA - системах уровень вложенности пока не стандартизован, но оговаривается особо в рамках каждой из них.

Скрипты в InTouch

Скрипты в InTouch - это программные фрагменты, активизируемые по событиям (по нажатию клавиши, кнопки, открытию окна, изменению значения переменной и т.д.).

Типы скриптов

В InTouch различают несколько типов скриптов:Scripts (скрипты уровня приложения) относятся ко всему приложению и используются для запуска других приложений, имитации технологических процессов, вычисления значений переменных и т.д.Scripts (скрипты уровня окна) связываются с конкретным окном.Scripts (клавишные скрипты) привязываются к какой-либо клавише или комбинации клавиш клавиатуры. Это может быть полезным при создании каких-либо глобальных для всего приложения функций (возврат в главное окно, окончание сеанса работы с приложением и т.д.).Pushbutton Action Scripts (скрипты, запускаемые кнопками) очень похожи на клавишные скрипты и связываются с объектами, которые будут использоваться в качестве исполнительных кнопок. Эти скрипты запускаются при каждом нажатии на объект-кнопку.Scripts (скрипты по изменению логического выражения) связываются с логической переменной или выражением, которое будет принимать значения либо "истина", либо "ложь". Логические скрипты могут содержать в себе и аналоговые переменные.Change Scripts (скрипты по изменению данных) связываются либо с переменной, либо с полем переменной. Эти скрипты исполняются только один раз, когда значение переменной либо поля меняется на величину, превышающую значение допуска, заданного в словаре переменных.Event (скрипты событий ActiveX) предназначены для поддержки механизма реакции на события в ActiveX - объектах. С каждым событием может быть связан один скрипт типа ActiveX Event, запускающийся в WindowViewer во время исполнения приложения.Function - скрипты, которые могут вызываться из других скриптов и использоваться в выражениях при определении динамических свойств объектов.

Диалоги редактора, открываемые при создании скриптов различных типов, имеют небольшие отличия. Вызов диалога редактора скриптов в окне WindowMaker осуществляется командой Special/Scripts с последующим выбором типа создаваемого или редактируемого скрипта. Для этого можно также воспользоваться окном Application Explorer, выбрав папку Scripts. На рис. 5.1.1 приведен диалог Application Scripts (скрипты уровня приложения).

Редактор скриптов InTouch поддерживает два типа скриптов: простые и сложные. Простые скрипты - это скрипты, содержащие операторы присваивания, сравнения, простые математические функции и т. д. Сложные скрипты позволяют выполнять различные логические операции типа IF - THEN - ELSE, а также могут включать циклы типа FOR - NEXT.

Справа, в поле Functions, размещены клавиши вызова списков различных групп встроенных функций. Доступ к спискам встроенных функций возможен также командой Insert/Functions с последующим выбором группы функций (см. рис. 5.1.1).

Встроенные функции

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

Все встроенные функции разбиты на четыре группы:

String... - для обработки различных символьных строк и переменных;

Math... - математические функции;

System... - системные функции;

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

Вызов списка функций группы осуществляется нажатием соответствующей клавиши. Например, щелчок по клавише String... редактора скриптов вызывает появление диалога Choose function (выбор функции) со списком строковых функций.

Каждая строковая функция имеет один или несколько аргументов (до 6). Например, синтаксис функции StringFromReal выглядит следующим образом:(Number,Precision,Type);

Number - конвертируемая вещественная величина;

Precision - количество десятичных знаков;

Type - тип формата ( "f", "e", "E").

Например,

функция StringFromReal(263.365, 2, "f") возвращает "263.36";

функция StringFromReal(263.365, 2, "e") возвращает "2.63e2";

функция StringFromReal(263.55, 3, "E") возвращает "2.636E2".

Функция Text имеет два аргумента: Text(Analog_Tag, "Format_Text");

- Analog_Tag - вещественное или целое число;

Format_Text - формат преобразования.

Если указанный формат функции Text - "#0.00", то:

при Analog_Tag = 66 функция возвращает 66.00;

при Analog_Tag =22.269 функция возвращает 22.27;

при Analog_Tag =9.999 функция возвращает 10.00.

Щелчок по клавише Math... вызывает появление диалога Choose function (выбор функции) со списком математических функций.

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

Системные функции делятся на две категории: файловые (File) и для работы с Windows - приложениями (Info).


Таблица 2

Встроенные функции группы System

Функция Описание  FileCopy Копирует исходный файл в файл-приемник  FileReadFields Возвращает очередную запись данных из CSV - файла  FileReadMessage Возвращает указанное количество байтов (или всю строку) из указанного файла  FileWriteFields Сохраняет в CSV - файле запись данных, состоящую из разделенных запятыми величин  InfoDisk Возвращает информацию об указанном локальном или сетевом диске  InfoFile Возвращает информацию об указанном файле или подкаталоге компьютера или сетевого устройства  InfoTouchAppDir Возвращает имя текущего каталога InTouch - приложения  


Файловые функции предназначены для считывания и записи информации в файлы. У всех файловых функций есть два общих аргумента - Filename и FillOffset. Аргумент Filename (имя файла) хранит имя файла, из которого должна быть считана или в который должна быть записана информация (имя также должно включать и путь к файлу). Аргумент FillOffset (смещение в файле) задает относительную позицию в файле, начиная с которой будут читаться или записываться данные. Смещение задается в байтах от начала файла. Первый байт файла имеет смещение 0. После завершения каждая функция возвращает следующее доступное смещение в файле. Например, если функция читает 5 байтов данных, начиная с 10-го байта, то после завершения функция возвратит 15. Некоторые встроенные функции группы System приведены ниже.

Например, функция FileReadFields имеет четыре аргумента и следующий синтаксис:

FileReadFields(Filename,FileOffset,StartTag,NumberOfFields);

- StartTag - идентифицирует первый элемент в имени InTouch-переменной; - NumberOfFields - идентифицирует число полей для чтения.

Группа функций Miscellaneous (клавиша Misc...) включает функции для работы с алармами распределенных систем, трендами, печатью и др.

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

Первым аргументом всех встроенных функций алармов является ObjectName (имя объекта алармов). Часто в роли одного из аргументов выступает Comment (комментарий). Например, функция almAckSelect имеет следующий синтаксис: almAckDisplay(ObjectName,Comment);.

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

HTGetPenName(Hist_Tag, UpdateCount, PenNum);

- HTGetValue(Hist_Tag,UpdateCount,PenNum,ValType_Text);

HTScrollLeft(Hist_Tag,Percent);

HTSetPenName(Hist_Tag,PenNum,Tagname);

- HTZoomIn (Hist_Tag,LockString).

Первый аргумент всех встроенных функций для работы с трендами - Hist_Tag (имя тренда). Из других аргументов следует отметить PenNum (номер пера тренда), ValType_Text (строка, указывающая тип возвращаемого значения), Tagname (новое имя пера).

Функции, название которых начинается с wc (табл.5.3.3), используются с управляющими объектами окна (простые списки, текстовые окна, ниспадающие списки и т. д.)

Функции этой подгруппы также могут иметь до четырех аргументов:

- wcDeleteItem("ControlName", ItemIndex);

wcInsertItem("ControlName", ItemIndex, "MessageTag");

wcLoadText("ControlName", "Filrename");.

Первый аргумент всех встроенных функций этой подгруппы - ControlName (имя управляемого окна). Часто в качестве аргумента используются ItemIndex (номер, соответствующий позиции элемента), MessageTag (строковое сообщение), Filrename (имя файла в формате ASCII).

В рассматриваемой группе функций Miscellaneous следует отметить функцию PrintWindow, i?aaiacia?aiioю для печати окна. Ее синтаксис выглядит следующим образом:

PrintWindow("Window",Left,Top,Width,Height,Options);,

где:

Window - имя окна;

Left - число дюймов от левого края;

Top - число дюймов от верхнего края;

Width - ширина распечатываемого окна;

Height - высота распечатываемого окна;

Options - дискретные значения 0 или 1.

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

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

Функции Quick FunctionsFunctions - это скрипты, которые могут вызываться из других скриптов и использоваться в выражениях при определении динамических свойств объектов. Скрипты Quick Functions хранятся внутри того приложения, в котором они были созданы, и могут многократно использоваться в других скриптах InTouch.

Наиболее часто эти функции используют в выражениях при определении динамических свойств объектов. Чем это вызвано? Дело в том, что длина выражения в поле Expression диалогов определения динамических свойств объектов должна быть не более 256 символов. Это относится к таким динамическим свойствам, как цвет линии, цвет заполнения, изменение высоты и ширины, вертикальное и горизонтальное перемещение, вертикальное и горизонтальное заполнение, видимость, мерцание, ориентация, блокировка.

Для ввода более длинных выражений можно воспользоваться функциями Quick Functions. При этом выражение в поле Expression должно содержать операторы CALL вызова функций Quick Functions, каждая из которых, в свою очередь, должна иметь в качестве последнего оператора RETURN для возврата результата в вызывающее выражение. Организованное таким образом выражение может содержать многие тысячи символов и быть сколь угодно сложным.

Сохраненная функция Quick Functions может быть использована в любом другом скрипте или выражении.Functions могут быть синхронными и асинхронными скриптами. Синхронные скрипты выполняются последовательно, в то время, как после запуска одного асинхронного скрипта может быть запущен другой (синхронный или асинхронный) скрипт. Это позволяет отделять исполняющиеся довольно долго операции (типа обращений к базам данных) от основной программы. Асинхронные скрипты не могут возвращать результаты. Поэтому в качестве скриптов Quick Functions, используемых в выражениях (Expression) для определения динамических свойств объектов, следует применять только синхронные скрипты.

Создание скриптов Quick Functions осуществляется в диалоговом окне редактора Quick Functions. Вызов этого диалога на экран в окне WindowMaker производится в командой Special/Scripts с последующим нажатием на строке Quick Functions.

Список Name содержит имена всех определенных к данному моменту скриптов Quick Functions. Щелчок по имени скрипта выводит его текст в рабочее поле диалога.

Команда Scripts/New предназначена для создания нового скрипта и вызывает на экран диалог для ввода его имени. После щелчка по Ok новое имя будет включено в список имен Name.

Следующий этап - определение аргументов нового скрипта в таблице Arguments диалога Quick Function. В левую колонку таблицы вводят имя аргумента (до 31 символа), в правую - его тип (Integer, Real, Discrete, Message). В одном скрипте допускается до 16 аргументов.

После определения типов аргументов можно приступать к написанию текста скрипта Quick Function в рабочем поле (под таблицей Arguments).

Разработка графопостроителя в системе InTouch

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

 

Рисунок 19. - Окно DDE-сервера на стадии проектирования в Delphi. Примечание: [составлено автором]

Разработка DDE-сервера

Приложение, получающее данные из другого приложения по DDE и/или управляющее другим приложением с помощью команд через DDE является DDE-клиентом. В этом случае второе приложение является DDE-сервером. Рассмотрим проект DDE-сервера, выполненного на языке программирования Borland Delphi 6.

На рисунке представлено окно DDE-сервера во время дизайна в среде Delphi

Для построении DDE-сервера в Delphi имеются два объекта, расположенные на странице System Палитры Компонент - TDdeServerConv и TDdeServerItem. Обычно в проекте используется один объект TDdeServerConv и один или более TDdeServerItem. Для получения доступа к сервису DDE-сервера, клиенту потребуется знать несколько параметров: имя сервиса (Service Name) - это имя приложения (обычно - имя выполняемого файла без расширения EXE, возможно с полным путем); Topic Name - в Delphi это имя компоненты TDdeServerConv; Item Name - в Delphi это имя нужной компоненты TDdeServerItem. Назначение объекта TDdeServerConv - общее управление DDE и обработка запросов от клиентов на выполнение макроса.

Объект TDdeServerItem связывается с TDdeServerConv и определяет, что, собственно, будет пересылаться по DDE. Для этого у него есть свойства Text и Lines. (Text имеет то же значение, что и Lines[0].) При изменении значения этих свойств автоматически происходит пересылка обновленных данных во все приложения-клиенты, установившие связь с сервером.

При запуске приложения происходит выполнение процедуры TDDEServe.FormActivate:

 

procedure TDDEServe.FormActivate(Sender: TObject);nidata: TNotifyIconData;.ShowMainForm:= False;(Application.Handle, SW_HIDE);(Application.MainForm.Handle, SW_HIDE);nidata do:= SizeOf(TNotifyIconData);:= Self.Handle;:= 1;:= NIF_ICON or NIF_MESSAGE or NIF_TIP;:= WM_MYICONNOTIFY;:= Application.Icon.Handle;(szTip,Application.Title);;_NotifyIcon(NIM_ADD, @nidata);:=10;

end;

 

В этой процедуре приложение сворачивается в системный Tray, а форма становится невидимой. Окончание работы DDE-сервера вызывается путём нажатия левой или правой кнопкой мыши на иконке приложения в области системного Tray. Обработка этого события выполняется в процедуре TDDEServe.WMICON:

 

procedure TDDEServe.WMICON(var msg: TMessage);msg.LParam of_RBUTTONDOWN,WM_LBUTTONDOWN: close;

end;;


При этом, при закрытии окна приложения вызывается процедура TDDEServe.FormDestroy, в которой происходит удаление иконки из системного Tray:

 

procedure TDDEServe.FormDestroy(Sender: TObject);nidata: TNotifyIconData;nidata do:= SizeOf(TNotifyIconData);:= Self.Handle;:= 1;;_NotifyIcon(NIM_DELETE, @nidata);;

 

Работа приложения в целом строится посредством вызова процедуры TDDEServe.Timer1Timer по прерыванию таймера.

 

implementation

{$R *.DFM}ComObj, activex, ShellApi, shlobj, registry;: integer;:real;:boolean;

TDDEServe.Timer1Timer(Sender: TObject);LPTbyte: byte;:=xsin+1;xsin>1000 then xsin:=xsin-1000;.Text:=inttostr(5*(xsin-20*trunc(xsin/20))); //пилообразный

сигналdx,379hal,dxal,80hLPTbyte,al;.Text:=inttostr(LPTbyte*100); //состояние линии LPT-порта.Text:=inttostr(round(50+50*sin(xsin/20)));(xsin/5)=trunc(xsin/5) then(ru<round(50+50*sin(xsin/20))) then:=true;:=ru+20else:=false;:=ru-20;boolka then DDEItem400.Text:='100' else DDEItem400.Text:='0';

end;

 

Для обеспечения DDE-обмена задекларированы следующие константы:

 

‘DDEServer’ - имя сервиса (Service Name);

‘DDETopic’ - Topic Name;

‘DDEItem100’ - переменная обмена;

‘DDEItem200’ - переменная обмена;

‘DDEItem300’ - переменная обмена;

‘DDEItem400’ - переменная обмена.

 

Разработка DDE - клиента

Основа человеко-машинного интерфейса в рамках InTouch - это иерархически взаимосвязанные анимированные сенсорные окна. Для создания нового окна выполним команду File/New Window... (Файл/Новое Окно). На экране появится диалоговое окно Window Properties (Свойства Окна), которое необходимо заполнить.

Здесь следует ввести только имя окна (поле Name) Scope. Остальные поля и опции оставлены без изменений. Окно с указанными атрибутами появится на экране. Там же будет отображена и Панель Инструментов InTouch - Tools, с которой предстоит интенсивно работать далее.

График представляет собой прямоугольную область с нанесенными координатными прямыми, на которой графически представляется изменение значения одной или нескольких переменных в течение времени. В пакете InTouch имеются объекты для динамического отображения значения переменной в реальном времени - графики реального времени (инструмент (Real-time Trend)), и, так называемые, аналитические кривые, которые строятся на основании архивных данных (инструмент (Historical Trend)). Для того, чтобы он появился в созданном нами окне, необходимо на Панели Инструментов InTouch - Tools выбрать пункт Real - Time Trend и затем в окне приложения, удерживая нажатой левую кнопку мышки, придать графику необходимые размеры.

Панель настройки графиков вызывается двойным щелчком левой кнопки мышки по окну графика и состоит из четырех текстовых строк соответствующих графикам (Graph 1, Graph 2, Graph 3, Graph 4). Каждый график имеет независимые настройки масштаба и величины сдвига по вертикали, отображаемые на экране. Для этого используется компонент Analog Tagname Display (Wizard Selection ® Value Displays ® Analog Tagname Display). Ввод данных осуществляется не непосредственно в WindowViewer, а посредством компоненты Incr/Decr Buttons Up/Down (Wizard Selection ® Buttons ® Incr/Decr Buttons Up/Down). Нажатие на верхнюю или нижнюю стрелку приводит соответственно к увеличению или уменьшению значения переменной. Ограничение максимального и минимального значения указываются при декларации. Каждый компонент связан со своей переменной zoom1 - zoom4 (изменение масштаба графиков 1 - 4 соответственно) и sh1 - sh4 (изменение смещения графиков 1 - 4). Все переменные имеют тип Memory Integer. Для того, чтобы ввести новую переменную, необходимо описать ее в разделе Special/Tagname Dictionary/New. При этом необходимо указать ее имя в поле «Tagname:» и тип - в поле «Type:».

Для организации обмена данными через DDE интерфейс необходимо определить четыре (по числу каналов) переменные типа DDE Integer (Item1, Item2, Item3, Item4). Для этого сначала в разделе Special/DDE Access Names… необходимо нажать кнопку Add и в появившемся диалоговом окне указать имя приложения (DDE Application/Server Name), от которого будет производиться запрос данных, и имя группы/объекта (DDE Topic Name), содержащего требуемую информацию. В нашем случае качестве имени приложения используется имя DDEServer, имя объекта - DDETopic. Далее в разделе Special/Tagname Dictionary/New вводятся поочередно переменные типа DDE Integer. Название элемента (Item) для каждой переменной имеет различные имена: DDEItem100 - для Item1, DDEItem200 - для Item2, DDEItem300 - для Item3 и DDEItem400 - для Item4. Данная информация используется для определения DDE-переменной в Словаре Переменных InTouch.

Для того, чтобы запустить программу графопостроителя и начать DDE - обмен, необходимо включить DDE сервер (т. е. запустить файл Ddeserver.exe) и переключиться в окно InTouch - WindowViewer (нажатием кнопки Runtime! в правом верхнем углу окна InTouch - WindowMaker). В процессе работы InTouch WindowViewer автоматически выполнит все требуемые действия по установлению канала обмена данными и обработке значений элемента.

Ниже представлен внешний вид программы графопостроителя в окне InTouch - WindowViewer отображающей в виде четырех графиков данные, полученные от программы DDE сервера и соответствующие им масштабирующие коэффициенты.

 

Рисунок 20. - Окно программы графопостроителя. Примечание: [составлено автором]


 

3. РАСЧЕТ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ ПРОЕКТА

.1 Экономический расчет

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

-    сокращение числа занятых работой, так как вычислительная техника призвана автоматизировать эту работу;

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

-             увеличение потребления электроэнергии;

-             разного рода организационные вопросы (типа: оборудование рабочих мест, установка охранной сигнализации, обучение персонала для работы с техникой) [23].

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

Все сказанное выше в полной мере относится к рассматриваемой в данном документе программе.

Техническая характеристика проекта выглядит следующим образом. Исходными данными являются сам дипломный проект и нормы времени на программирование задач для ПЭВМ от 20.01.93 г.

Основанием для расчета является разработка программного обеспечения.

Для выполнения данного расчета требуется знание следующих показателей:

-    индекс подсистемы или задачи;

-             степень новизны проекта;

-             сложность алгоритма;

-             стадии проектирования;

-             количество разновидностей форм входной и выходной информации.

Данные показатели имеют следующие значения. Индекс подсистемы или задачи - восемь (управление научно технической информацией). Степень новизны проекта - «В» (разработка проекта с использованием типовых проектных решений или имеющих аналогичное решение). Сложность алгоритма - три (алгоритм реализующие стандартные методы решения или не предусматривающие применение сложных численных и логических методов). Стадии проектирования состоят из технического задания, технорабочего проекта и внедрения [24].

Количество используемой информации:

-    количество разновидности форм входной информации - 3;

-             количество разновидности форм выходной информации - 3.

Стадии проектирования:

-    техническое задание;

-             технический проект;

-             рабочий проект;

-             внедрение.

При разработке технорабочего проекта вместо технического и рабочего проектов трудоемкость его складывается из 85% технического проекта и 100% рабочего проекта.

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

Формы выходной информации включают в себя: формы выведенной информации на дисплей, принтер, в файлы и каналы связи.

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

3.2 Оценка затрат на разработку

Оценка затрат на разработку ПО является одним из наиболее важных видов деятельности в процессе создания ПО, хотя она и не выделена в стандарте ISO 12207 как отдельный процесс. При отсутствии адекватной и достоверной оценки невозможно обеспечить четкое планирование и управление проектом. В целом ситуация в данной области, сложившаяся в индустрии информационных технологий, выглядит далеко не блестящей [37].

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

Оценка затрат на разработку ПО предполагает выполнение следующих четырех шагов:

    оценка размера разрабатываемого продукта. Для ПО в прежнее время основной мерой оценки являлось количество строк кода (LOG - Lines Of Code), а в настоящее время является количество функциональных точек (FPs - Function Points). Определение функциональной точки приведено;

-        оценка трудоемкости в человеко-месяцах или человеко-часах;

         оценка продолжительности проекта в календарных месяцах;

         оценка стоимости проекта [25].

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

.   По аналогии. Если в прошлом приходилось иметь дело с подобным проектом и его оценки известны, то можно, отталкиваясь от них, приблизительно оценить свой проект.

2. Путем подсчета размера по определенным алгоритмам на основании исходных данных - требований к системе.

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

-   в организации аккуратно документируются реальные результаты предыдущих проектов;

-        по крайней мере, один из предыдущих проектов (а лучше, если несколько) имеет аналогичный характер и размер;

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

. Если предыдущий подход по разным причинам оказывается неприменимым, следует использовать один из известных алгоритмических методов оценки (например, модель СОСОМО (Constructive COst MOdel - конструктивная стоимостная модель) Барри Боэма).

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

Согласно Эдварду Йордану, все доступные средства оценки классифицируются следующим образом:

Средства оценки, являющиеся коммерческими продуктами, такие, как SLIM (Quantitative Systems Management), ESTIMACS (Computer Associates), KnowledgePLAN и CHECKPOINT (Software Productivity Research (SPR)). Глава фирмы SPR Каперс Джонс, «гуру» в области метрик ПО, оценивает рынок средств оценки проектов примерно в 50 продуктов. Эти продукты нельзя назвать совершенными, и все они требуют от пользователя высокого уровня квалификации (здесь, как и в других областях деятельности, действует принцип "что заложишь, то и получишь"). В лучшем случае с помощью таких продуктов можно получить оценку с точностью +10%. Даже если точность будет +50%, это все равно лучше, чем брать данные "с потолка".

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

Аналитические модели для оценки проектов, описанные в литературе. Лучшими являются работы Барри Боэма (модель СОСОМО, разработанная им в начале 80-х гг., была позднее модифицирована в модель СОСОМО-2). Другой классической работой является книга Фредерика Брукса "Мифический человеко-месяц", так же переизданная в 1995 г. с учетом современной технологии и практики разработки ПО.

Различные руководства и отчеты организаций, подобных SoftwareEngineering Institute (SEI), которые могут помочь при выполнении уценки проектов.

Такие распространенные методы, как прототипирование, также могут использоваться для оценки критичности тех или иных проектных ограничений для всей разрабатываемой системы в целом. Этот подход позволяет привнести немного здравого смысла в проектную команду и в окружающих ее менеджеров и заказчиков. Если руководство хочет, чтобы команда из трех разработчиков написала 1 млн строк кода за 12 мес., то следовало бы в течение первого месяца разработать небольшой прототип будущей системы, который, по крайней мере, позволит грубо оценить производительность проектной команды, а также реализуемость проекта в целом. Остановимся более подробно на методе функциональных точек. Определение числа функциональных точек является методом количественной оценки ПО, применяемым для измерения функциональных характеристик процессов его разработки и сопровождения независимо от технологии, использованной для его реализации [26].

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

Метод разработан на основе опыта реализации множества проектов создания ПО и поддерживается международной организацией IFPUG (International Function Point User Group). Существуют специальные программные средства, автоматизирующие проведение оценок по методу функциональных точек и позволяющие оценить, насколько быстро и с какими затратами в действительности удастся реализовать проект. Одним из таких средств является Knowledge PLAN - продукт фирмы SPR.PLAN создан на основе исследований, проведенных в фирме SPR, в области оценок сложности, трудоемкости и производительности при разработке программного обеспечения. Оценка и планирование в пакете KnowledgePLAN ведутся на основе статистических закономерностей, выведенных путем анализа более чем 8 тыс. успешно завершенных проектов из различных областей применения. Исходные данные для вычислений находятся в специальном репозитории, который обновляется по результатам выполнения реальных проектов. В качестве метрик для оценки размеров программного обеспечения используются методика подсчета функциональных точек и метод оценки сложности программного продукта (собственная разработка фирмы SPR) метрика, позволяющая учесть алгоритмическую сложность разрабатываемых программ.имеет следующие возможности:

    формирование близкого к реальному плана работ по проекту;

-   определение трудоемкости и стоимости планируемых проектов;

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

-   проведение анализа what if («что, если») для поиска лучших решений;

-        проведение сравнительного анализа качества и производительности разработки разнотипных проектов или однотипных проектов, при выполнении которых использовались различные технологии;

-   накопление статистической многомерной информации о проекте и его участниках;

-        классификация проектов для принятия решения о структуре управления проектом;

         анализ плановой и реальной оценки сложности и величины разработанного ПО и трудоемкости выполнения проекта [27].

3.3 Расчет коэффициентов трудоемкости

Расчет себестоимости программного продукта.

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

При расчете стоимости разработки и наладки программы учитывается:

    разработка методики наладки;

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

         контроль на соответствие формализованным правилам построения;

         проверка процесса просмотра материала и информационной технологии;

         обнаружение и локализация ошибок;

         обработка результатов, т.е. использование в производстве;

         оценка времени работы программы.

Расчет стоимости:

Расчет заработной платы разработчика, создающего программное обеспечение по формуле:

з/п = К * Т;(1)

где: S з/п - заработная плата разработчика;

К - стоимость одного часа программиста;

Т - время, которое потребовалось на создание программы.

Подставив значения, получим:

з/п = 300 * 200 = 60000;

Расчет стоимости энергии, потребляемой компьютером, по формуле:

= W * T * C;(2)

где: SW - стоимости энергии, потребляемая компьютером;- мощность, потребляемая компьютером;

С - Стоимость одного кВт.

Подставив значения, получим:

= 0,2 * 200 * 4,48 = 179,2 (тенге).

) Расчет общей суммы созданной программы S:

= S з/п+ Sw(3)

S = 60000 + 179,2= 60179,2

Общая стоимость составляет 60179,2 тенге.

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

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

Принцип минимального объема оперативной памяти пользователя. От ЧО требуется, чтобы он запоминал как можно меньше. Это объясняется тем, что скорость переработки информации оператором и его пропускная способность ограничены. На них влияет множество факторов, начиная от качества средства взаимодействия человека с техническими средствами АСУ и всей информационной моделью и кончая уровнем напряженности операторской деятельности и общим психофизическим состоянием человека.

Принцип минимального расстройства человека - оператора. Расстройство пользователя (производственные причины), может возникнуть:

    из-за какого-то препятствия в решении поставленной задачи;

-        из-за появления и обнаружения ошибок.

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

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

Принцип максимального различия человеческих характеров. Мышления людей, их характеры различны, поэтому терминальная информация от системы по-разному может восприниматься пользователями. Поэтому целесообразно, чтобы система содержала, к примеру, способы как наглядного, так и слухового воздействия на конкретного ЧО, различимые пользователем [38].

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

    пользователь должен иметь возможность изменить очередность обработки, выполняемой системой;

-        пользователь должен контролировать последовательность работы и особенно там, где нет последовательно определенных операций;

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

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

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

Максимально допустимый перепад яркостей в поле зрения оператора не должен превышать 1:100. Оптимальными же являются соотношения 20:1 между источником света и ближайшим окружением и 40:1 между самым светлым и самым темным участками изображения. Контрастность изображения снижается при внешнем освещении тем значительнее, чем ниже яркость экрана и чем больше яркость, создаваемая освещением. Контраст между системой отображения информации и его непосредственным окружением не должен превышать соотношения 3:1. [39].

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

)   яркость свечения экрана не менее 100 Кд/м2;

2) минимальный размер точки растра не более 0.6 мм для цветного монитора;

4)      частота регенерации изображения в текстовом режиме не менее 72 Гц;

)        количество точек растра на строку не менее 640;

)        наличие антибликового покрытия экрана;

)        размер экрана не менее 31 см по диагонали;

)        высота символов на экране не менее 3.8 мм;

)        расстояние от глаз оператора до экрана 40 - 80 см;

10)    монитор должен быть оборудован поворотной подставкой, позволяющей перемещать его в горизонтально и вертикально в пределах 130 - 200 мм и изменять угол наклона экрана на 10 - 15° [32].

Вывод: В четвертой главе было расмотренно безопасность жизнедейтелости и охрана труда. Был проведен анализ влияние опсаных и вредных факторов при работе с ПК. Были приведены общие правила работы с ПК.

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

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

Рекомендации и исходные данные по конкретному использованию результатов работы.

В ходе экспериментов было установлены требования для нормального функционирования настоящего АРМ, для практической установки требуется компьютер не ниже i80486DX4-100, объём оперативной памяти, которого должен составлять не менее 16Mb и свободное место на жестком диске около 40 Mb. Необходимые программные средства - наличие Microsoft Windows.

. ОХРАНА ТРУДА И БЕЗОПАСНОСТЬ ЖИЗНЕДЕЯТЕЛЬНОСТИ

.1 Анализ опасных и вредных факторов, возникающих при работе с компьютером

Рассмотрим подробнее основные вредные факторы:

Недостаточная освещенность. Для избегания недостаточной освещенности искусственное освещение в помещении с ПЭВМ осуществляется люминесцентными источниками света в потолочных светильниках. Величина освещенности при искусственном освещении в горизонтальной плоскости будет не ниже 300 лк.

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

Статическое электричество - в помещениях, оборудованных ПЭВМ, токи статического электричества чаще всего возникают при прикосновении персонала к любому из элементов ПЭВМ. Такие разряды опасности для человека не представляют, однако кроме неприятных ощущений могут привести к выходу оборудования из строя.

Для предотвращения образования и защиты от статического электричества в помещении используются нейтрализаторы и увлажнители, а полы имеют антистатическое покрытие в виде поливинилхлоридного антистатического линолеума марки АСН [33].

Шум на исследовательском рабочем месте создаётся вентиляционной системой ПЭВМ и печатающим устройством. Уровень шума, создаваемый вентиляционной системой, составляет примерно 40 дБ. В процессе рабочего дня принтер включается по мере необходимости, поэтому шум следует квалифицировать как непостоянный, прерывистый.

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

Уровни звука и эквивалентные уровни звука в помещении, где работают операторы ПЭВМ, не должны превышать 65 дБ. [34].

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

Недостаточная чистота и количество необходимого воздуха.

Основной задачей установок кондиционирования воздуха является поддержание параметров воздушной среды в допустимых пределах, обеспечивающих надёжную работу ПЭВМ и комфортные условия для операторов [35].

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

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

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

Для предотвращения этих проявлений работники во время рабочего дня должны выполнять комплекс производственной гимнастики. Через каждые два часа работы должны предусматриваться перерывы на 10-15 минут. Мероприятия по предотвращению и уменьшению влияния вредных факторов. Нормирование искусственного и естественного освещения [36].

Анализ опасных и вредных факторов, возникающих на рабочем месте пользователя ПЭВМ. Операторы ПЭВМ, программисты сталкиваются с воздействием таких физически опасных и вредных производственных факторов, как повышенный уровень шума, неудовлетворительные микроклиматические параметры, отсутствие или недостаток естественного света, недостаточная освещенность рабочей зоны, возможность поражения электрическим током, статическое электричество и электромагнитные излучения. Также оказывают воздействие психофизиологические факторы: умственное перенапряжение, перенапряжение зрительных и слуховых органов, монотонность труда, эмоциональные перегрузки. Воздействие указанных неблагоприятных факторов приводит к снижению работоспособности, утомлению и раздражению, появлению недомогания и болей [37].

Планировка помещения и размещение оборудования. В рабочем помещении площадью 5 x 6 м и высотой 3,5 м находятся: три ПЭВМ и два печатающих устройства, три рабочих стола для инженеров-программистов, два вспомогательных стола, сейф для хранения дискет и другого вспомогательного инвентаря, необходимого при работе с ПЭВМ, шкаф.

Площадь под основное и вспомогательное оборудование составляет 8,39 кв.м.

Общая площадь помещения составляет 30 кв.м. Рассчитаем площадь, приходящуюся на одного человека по формуле:

чел = Sпомещ. / N,(4)

где Sуст.обор. - площадь установленного оборудования,помещ - площадь помещения,- количество работающих в помещении человек.

чел = 30 / 3=10 кв.м.

Это удовлетворяет норме, предусматривающей не менее 6 кв.м свободной от оборудования площади на одного человека.

Высота помещения равна 3,5 м. Расчет объема помещения, приходящегося на одного человека, рассчитывается по аналогичной формуле:

чел = Vпомещ. / N,(5)

где Vуст.обор. - объем установленного оборудования,помещ - объем помещения,- количество работающих в помещении человек.

чел = 105/3=35 куб.м.

Это удовлетворяет норме, предусматривающей не менее 20 м3 свободного объема на одного человека.

Схема размещения оборудования в помещении (рисунок 9):

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

С целью создания нормальных условий для персонала вычислительного зала используем нормы производственного микроклимата для категории работ 1б. По этим нормам устанавливаем значения температуры, относительной влажности и скорости движения воздуха для рабочей зоны помещения с ПЭВМ, которые представлены в (таблице 2):

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

На микроклимат оказывают влияние источники тепла, находящиеся в помещениях с ПЭВМ. Для обеспечения установленных норм микроклиматических параметров и чистоты воздуха применяют вентиляцию и кондиционирование. Расчет воздухообмена проводится по тепло - избыткам от ПЭВМ и вспомогательного оборудования, людей, солнечной радиации и искусственного освещения. Расчет производится для теплого периода года.

Для предотвращения засветок экранов дисплеев прямыми световыми потоками светильники общего освещения расположены над рядами рабочих мест. При этом линии светильников располагаются параллельно света - проемам. Для исключения бликов отражения на экранах от светильников общего освещения применяются антибликерные сетки, специальные фильтры для экранов, защитные козырьки. Экраны дисплеев имеют антибликовое покрытие [40].

.2 Охрана труда и экология системы учета защитных средств

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

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

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

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

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

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

Для обеспечения наиболее полного использования этих средств на предприятии необходимо установление жесткого контроля их комплектности и качества. В данном случае это достигается путем внесения в информационную сеть соответствующей информации. Программа предусматривает файл, включающий в себя сведения о наличии и состоянии всех упомянутых средств, находящихся на территории объекта. Информация, содержащаяся в этом файле, постоянно обновляется либо дополняется по мере поступления или убытия средств защиты и пожаротушения, а также отражает изменения в их состоянии. Информация, хранящаяся в этом файле, так же как и вся служебная информация, защищена от несанкционированного вмешательства. Доступ возможен при знании соответствующего пароля, изменить ее может только директор либо главный бухгалтер или доверенное лицо, с их ведома и согласия и по их указанию. Наличие подобной информации на предприятии позволяет ответственным лицам иметь точную информацию о положении по противопожарной и другой безопасности и, исходя из этого, в случае необходимости быстро реагировать на изменение обстановки, либо принимать решения при возникновении критических ситуаций, благодаря чему появляется возможность скорейшей ликвидации возникших неисправностей и минимизации риска для жизни людей, оказавшихся в неблагоприятной зоне [40].

Для обеспечения безопасности поражения людей током необходимо обеспечить изоляцию тока несущих частей оборудования, для чего рекомендуется проведение профилактических осмотров кабелей и всей электропроводки. Кроме того необходимо обеспечить надежное заземление. Эффективным заземлением является заземление трубчатого типа с толщиной стенки 3,5 мм. Длина трубы обычно составляет 250 см, диаметр 5 см. Заземлители располагаются по четырехугольному контуру, с глубиной заложения около 80 см, причем сопротивление заземлителя не должно превышать 4 Ом.

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

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

4.3 Защита от электромагнитных излучений

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

Серьезной проблемой является радиочастотное электромагнитное поле. В моделях ЭЛТ, применяемых в ПЭВМ, напряженность электромагнитного поля не значительна. Воздействие магнитного и электрического поля на человека зависит от их частоты, чем выше частота - тем меньше предельно допустимые нормы. Максимально допустимые напряженности полей и плотностей потоков энергии нормируется по СанПиН 2.2.2.542-96. Допустимое значение напряженности электрического поля от 2,5 до 5 В/м (в зависимости от частоты), а для магнитного поля - 0,3 А/м.

Допустимый уровень напряженности электростатического поля не должен превышать 20 кВ в течение 1 часа.

Максимальная напряжённость электромагнитного поля на корпусе видеотерминала составляет 3.6 В/м, однако, в месте нахождения оператора её величина соответствует фоновому уровню (0.2 - 0.5 В/м). Уровень излучения электромагнитного поля в области частот 10 кГц - 18 ГГц колеблется в пределах от 1 до 5 Вт/м, что в 20 раз ниже допустимой величины (100 Вт/м). Напряженность электромагнитного поля составляет от 0.01 до 1.8 кВ/м, что соответствует нормам [62].

Интенсивность инфракрасных и ультрафиолетовых излучений от вычислительной техники составляет 50 мВт/м (в диапазоне длин волн 700 - 1080 нм) и 10 - 100 мВт/м (при длине волны более 336 нм). Это значительно ниже нормы 10 Вт/м.

Наибольшую опасность для здоровья представляет рентгеновское излучение, так как при длительной работе оно приводит к возникновению профзаболеваний. Конструкция ВДТ и ПЭВМ обеспечивает мощность дозы рентгеновского излучения в любой точке пространства на расстоянии 0,05 м от поверхности экрана дисплея и корпуса ВДТ не должна превышать 100 мкР/ч при любых положениях регулировочных устройств при 40 - часовой рабочей неделе. Расстояние от экрана монитора до пользователя должно быть не менее 800 мм, так как наибольший уровень облучения у поверхности экрана.

В связи с этим не рекомендуется работа за терминалом более 4 - х часов в сутки при 8-часовом рабочем дне. Через каждый час работы необходимо делать перерыв на 10-15 мин, а через каждые два часа на 15 мин.

В помещениях с ПЭВМ и дисплеями необходимо контролировать уровень аэроионизации. При длительной работе видеомонитор вызывает ионизацию воздуха с образованием ионов, считающихся неблагоприятными для человека. Когда в помещении работает несколько машин, концентрация озона возрастает. В маленьких дозах озон тонизирует, но при превышении норм он токсичен. Оптимальным уровнем аэроионизации в зоне дыхания работающего считается содержание легких положительных аэроионов от 1,5*102 до 3*103 в 1 см3 воздуха и от 3*104 до 5*104 в 1 см3 воздуха отрицательных. Поэтому требуется монтаж вентиляции в помещениях с несколькими длительно работающими терминалами [62].

Мягкое рентгеновское излучение на поверхности экрана не превышает 0,01 мр/ч, что в 50 раз меньше предельно допустимой нормы (0,5 мр/ч). Учитывая, что интенсивность излучения уменьшается пропорционально квадрату расстояния, фактически работа ведется при значениях в сотни раз меньше нормы.

Мониторы фирмы "HEWLETT PACKARD" "HP Ergo 14' D2805A", используемые в рассматриваемом помещении, имеют мощность дозы, рентгеновского излучения в любой точке пространства на расстоянии 5 см от поверхности экрана дисплея и не превышает 0,03 мкР/с [41].



ЗАКЛЮЧЕНИЕ

Краткие выводы по результат работы:

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

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

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

В результате анализа большинства аварий и происшествий на всех видах транспорта, в промышленности и энергетике были получены интересные данные. В 60-х годах ошибка человека была первоначальной причиной аварий лишь в 20% случаев, тогда как к концу 80-х доля "человеческого фактора" стала приближаться к 80%.

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

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

3. Произведен расчет экономической эффективности, произведен экономический расчет, оценка затрат на разработку и расчет коэффициента трудоемкости.

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

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

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

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

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1. Архангельский А.Я. Интегрированная среда разработки. От версии 1 до версии 6. - М.: ЗАО "Издательство БИНОМ", 2009.-343с.

2.      Архангельский А.Я. 100 компонентов общего назначения библиотеки Delphi6. - М.: ЗАО "Издательство БИНОМ", 2009.-317с.

.        Архангельский А.Я Разработка прикладных программ для Windows в Delphi6. - М.: ЗАО "Издательство БИНОМ", 2009.-328с.

4. Архангельский А.Я Оbject Pascal в Delphi 6. - М.: ЗАО "Издательство БИНОМ", 2009.-543с.

5.      Архангельский А.Я. Работа с локальными базами данных в Delphi6. - М.: ЗАО "Издательство БИНОМ", 2009.-125с

.        Архангельский А.Я. Язык SQL в Delphi6. - М.: ЗАО "Издательство БИНОМ", 2009.-532с.

.        Архангельский А.Я. Русская справка по Delphi 6. - М.: Мир, 2005.-232с.

.        Архангельский А.Я. Delphi 6. - М.: ЗАО "Издательство БИНОМ", 2002.-165с.

.        Дейт К. "Введение в системы баз данных". - М.: Hаука, 2000.-323с.

10.   Когловский М.Р. "Технология баз данных на персональных ЭВМ". - М.: Финансы и статистика, 2002.-343с.

11.   Симонович А.В., Евсеев Г.А. «Программирование в Visual Basic 6.0». - СПб.: ООО «АСТ-ПРЕСС КНИГА», 2001.-143с.

12.    Бердянов А.В. «Что такое Delphi?». - М.: Мир, 2006.-284с.

.        Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. - М.: Финансы и статистика, 2009.- 351 с.

.        Тельман Дж. "Основы систем баз данных". - М.: Финансы и статистика, 2003.-165с.

.        Цикритизис Д., Лоховски Ф. Модели данных. - М.: Финансы и статистика, 2005.- 344 с.

.        Оспищева Д.А. Paradox for Windows: Практическое руководство. - М.: АОЗ "Алевар", 2003.-387с.

.        Орехов В.М. "Программное обеспечение персональных ЭВМ". - М.: Hаука, 2009.-374с.

.        Шафрин Ю.А. «Основы компьютерной технологии». - М.: Мир, 2008.-144с.

.        Кузнецов И.П. «Кибернетические диалоговые системы», «Рекомендации по общепользовательскому интерфейсу». - М.: Mир, 2005.-334с.

.        Фаронов В.В. Delphi 6. Учебный курс. - М.: Мир, 2005.- 434с.

.        Епанешников А.Е., Панешников В. Программирование в среде Тurbo Раscal 7.0. - М.: Диалог-МИФИ, 2006.-288с.

.        Пильщиков В.Н. Сборник упражнений по языку Паскаль. - М.: Наука, 2009.-343с.

.        Абрамов С.А., Гнездилова Г.Н. и др. Задачи по программированию. - М.:Наука, 2008. - 224 с.

.        Абрамов С.А. Введение в язык Паскаль. - М.: Наука, 2008.- 443с.

.        Вирт Н. Алгоритмы и структура данных. - М.: Мир, 2009. - 236с.

.        Дагене В.А. 100 задач по программированию. - М.: Просвещение, 2003. - 232с.

.        Джонс Ж. Харроу К. Решение задач в системе Turbo Pascal. - М.: Финансы и статистика, 2001. - 223с.

.        Зуев Е.А. Язык программирования Turbo Pascal 6.0. - М.: Унитех, 2002. - 323с.

.        Йенсен К., Вирт Н. Паскаль: руководство пользователя. - М.: Финансы и статистика, 2009. - 231с.

.        Премиков О.Н. Руководство по технике безопасности. - М.: Унитех, 2008. - 232с.

.        Семашко Г.Л., Салтыков А.И. Программирование на языке Паскаль. - М.: Наука, 2003.- 343с.

.        Атре Ш. Структурный подход к организации баз данных. - М.: Финансы и статистика, 2003.- 320 с.

.        Страчан А., Коннолли Т. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. - М.: Вильямс, 2000. - 232с.

.        Гофман В., Хомоненко А. Delphi5. Наиболее полное руководство. - СПб.: «Питер» - 2001.- 221с.

.        Гайдамакин Н. Автоматизированные информационные системы, базы и банки данных. Вводный курс. - М.: Гелиос, 2002.- 223с.

.        Матчо Дж, Дэвид Р.А., Фолкнер А.К. «Delphi» - пер. с англ. - М.:Бином, 2005.- 243с.

.        Диго С.М. "Проектирование и использования баз данных". - М.: Финансы и статистика, 2005.- 212с.

.        Когловский М.Р. "Технология баз данных на персональных ЭВМ". - М.: 'Финансы и статистика', 2002.- 316с.

.        Кандзюба С.П. Delphi. Базы данных и приложения. - М.: ДиаСофт, 2005.- 232с.

.        Конноли Т., Бег К.А. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. 3-е издание. - СПб.: Вильямс, 2003.- 223с.

.        Фаронов В.В. Программирование баз данных в Delphi 6. - СПб.: Питер, 2002.- 434с.

.        Фаронов В.В. Система программирования Delphi. - СПб.: БХВ-Петербург, 2003.- 432с.

.        Культин Н.Б. Программирование баз данных в Delphi. - М.: Мир, 2006.- 323с.

.        Елманова Н.А. Delphi 4: Новые возможности и некоторые примеры их применения. - СПб.: Питер, 2005.- 450с.

.        Фаронов В.В. Примеры программирования в среде Delphi и описания языка Delphi. - М.: Мир, 2001.- 343с.

.        Фаронов В.В. Описания языка программирования Delphi. -М.: Мир, 2000.- 380с.

.        Фаронов В.В. Дополнительные возможности интегрированной среды разработки приложений Delphi. - М.: Мир, 2004.- 315с.

.        Фаронов В.В. Наиболее и подробное руководство по программированию в среде Delphi 7. - М.: Мир, 2003.- 321с.

.        Кирнос В.Н. Основы программирования на языке С++. - Кокшетау.: КГУ, 2003.-92 с.

.        Волобуева О.П. Компьютерные технологии проектирования систем. Методические указания к лабораторным занятиям для цикла дисциплин по проектированию информационных систем и управляющих систем. -Алматы: КазНТУ, 2002.- 42 с.

.        Бэнкс М. Информационная защита ПК (с CD-ROM). - Киев: "Век", 2001. - 272 с.

.        Василенко О.Н. Теоретико-числовые алгоритмы в криптографии. - М.: Московский центр непрерывного математического образования, 2003. - 328 с.

.        Под ред. Пятибратова А.П. Вычислительные системы, сети и телекоммуникации: Учебник. - М.: Финансы и статистика, 2003.- 550 с.

.        Галатенко В.А. Стандарты информационной безопасности. - М.: Интернет-университет информационных технологий - ИНТУИТ, 2004. - 328 c.

.        Гошко С.В. Энциклопедия по защите от вирусов. - М.: СОЛОН-Пресс, 2004. - 301 с.

.        Денисов А., Белов А., Вихарев И. Интернет. Самоучитель. - СПб.: Питер, 2000. - 464 с.

.        Зима В., Молдовян А., Молдовян Н. Безопасность глобальных сетевых технологий. Серия "Мастер". - СПб.: БХВ-Петербург, 2001. - 320 с.

.        Зубов А.Ю. Совершенные шифры. - М.: Гелиос АРВ, 2003. - 160 с.

Похожие работы на - Разработка системы организации удаленного обмена файлами с использованием протокола

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!