- •Череповец
- •Содержание
- •Введение
- •1 Общая часть
- •1.1 Описание предметной области
- •1.2 Анализ существующей ситуации
- •Специальная часть
- •2.1 Обоснование необходимости разработки программного обеспечения
- •2.2 Формирование требований к разрабатываемому программному обеспечению
- •2.4 Описание Simatic Net
- •2.5 Обоснования выбора операционной системы
- •2.6 Обоснования выбора языка и среды программирования
- •2.7 Анализ процесса обработки информации и описание структур данных для ее хранения
- •2.8 Проектирование программного продукта
- •2.8.1 Разработка структурной схемы программного продукта
- •2.8.2 Проектирование пользовательского интерфейса
- •2.9 Реализация программного обеспечения
- •2.9.1 Физическая реализация бд
- •2.9.2 Реализация основных алгоритмов
- •2.10 Тестирование программного обеспечения
- •2.11 Руководство пользователя
- •Экономика производства
- •3.1 Мероприятия, направленные на улучшение мотивации
- •3.3 Определение себестоимости программы
- •3.4 Расчет цены разработки
- •3.5 Экономическая эффективность
2.8 Проектирование программного продукта
2.8.1 Разработка структурной схемы программного продукта
В структурной схеме отображается состав и взаимодействие частей разрабатываемого средства.
Ниже приведена структурная схема программы чтения данных с контроллера и сохранение их в базе данных.
Рисунок 1- Структурная схема программы
S7_API- содержит API функции контроллера, через которые программа ведет работу с ним;
UnPrepStr- содержит процедуры для подготовки структур данных;
UnSendData- содержит процедуры и функции для передачи данных;
UnAdd- отвечает за запись log файла;
UnClass- содержит конструкторы, деструкторы и функции классов TTag, TItemList, TItem.
2.8.2 Проектирование пользовательского интерфейса
На рисунке 2 представлен график диалога работы пользователя с программой.
Рисунок 2-График работы пользователя с программой
На рисунке 3 показано показаны компоненты содержащиеся на форме программы.
Рисунок 3- Компоненты пользовательского интерфейса
2.9 Реализация программного обеспечения
2.9.1 Физическая реализация бд
База данных KPTEXN имеет несколько таблиц в своем составе: X_SML_ARGON, X_SML_OXYGEN, X_SML_VACUUM, X_SML_CYCLE, X_SML_STATUS, X_SML_TEMPO2H2 и т.д. Данные таблицы содержат информацию по технологическим процессам. Решение было оставить эту базу для сохранения данных, так как есть другие программы использующие KPTEXN в качестве входных данных, например программа формирования паспорта плавки. Она выбирает данные из таблиц и формирует HTML страничку на которой отображены все данные о плавке. Поэтому чтобы не делать лишней работы используем для хранения данных уже имеющуюся базу.
Таблицы базы данных созданы в системе управления базами данных Oracle.
Для связи приложения с базой данных используются следующие компоненты Delphi:
-
OracleDataSet – набор данных;
-
OracleSession – текущий сеанс работы с БД
Рисунок 4- Таблицы базы данных
2.9.2 Реализация основных алгоритмов
Соединение с контроллером производится с помощью команд S7_API: S7Init, S7GetDevice, S7GetCref, S7InitiateReq, S7Shut, S7Receive. Для передачи и обработки используются структуры: Datastr, а так же массивы LenAr, ResAr, VA1Ar,PVal. Соединение с базой осуществляется
После нажатия на кнопку старт происходит инициализация контроллера, затем подготовка массивов для запроса данных с контроллеров. После подготовки массивов происходит соединение с контроллером и если все происходит успешно, то программа производит запрос данных, если нет вызывается файл для записи и в него записывается дата, время и проблема. Контроллер принимает запрос, обрабатывает и высылает результат. Программа получив результат начинает его обрабатывать и подготавливать для передачи в БД, если данные не были получены, то проверяется соединение с контроллером и если соединение в порядке тогда выполняется повторный запрос и записывается об этом в файл событий. После завершения данных операций производится установка связи с БД. Если связь установлена подается запрос на добавление данных в таблицу, нет записывается информация о проблеме соединения в файл событий. По окончанию связь разрывается и все повторяется с самого начала. Все операции могут быть прерваны в любой момент времени, нажатием правой кнопки и в выпашем меню
выбрав команду Stop или Exit.