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

Руководство пользователя составляют на основании ГОСТ 19.504-79. Руководство программиста разрабатывают в трех случаях:

– программный продукт по своему основному назначению является средой разработки или библиотекой (как Delphi или Qt);

– комплекс или программный продукт служит платформой для разработки программ или систем определенного типа (как 1С или Axapta);

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

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

Руководство программиста должно объяснять:

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

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

– В какой среде функционирует приложение или система. Какими будут его минимальные требования к системе. Понадобятся ли для его запуска какие-либо дополнительные программные средства: фреймворки, рантаймы, интерпретаторы.

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

– Как (по шагам) скомпилировать работоспособное приложение или развернуть работоспособную систему.

Кроме того руководство программиста должно содержать полные описания всех предусмотренных в программном продукте объектов. Если это функции, то должны быть приведены их синопсисы, если классы, то описания их интерфейсов и т. Д.

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

В тексте руководства обязательно должны быть соблюдены следующие правила:

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

– Ввод каждого понятия должен быть чем-то обоснован.

Основное требование при описании отдельных объектов - полнота описания каждого из них.


При описании объектов особое внимание следует уделять следующим аспектам:

– Что обязательно должно предшествовать созданию и использованию объекта.

– Каковы побочные эффекты обращения к объекту.

– Особенности интерпретации объектом передаваемых ему данных.

– Где «физически» (в каком файле, в какой библиотеке) находится объект.

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

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

Структура руководства программиста:

1. Назначение и условия применения программы.

2. Характеристика программы.

3. Обращение к программе.

4. Входные и выходные данные.

5. Сообщения.

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

В качестве примера представлено содержание руководства программиста Система e-port дилер. Клиент-серверный протокол.

Система «e-port дилер» предназначена для приема и проведения моментальных платежей при оплате услуг мобильной связи, доступа в Интернет и т. П. Центральный сервер системы принадлежит группе e-port, а пункт приема платежей может открыть любой желающий, установив у себя на компьютере (подключенном к Интернету) программу-клиент. Обмен данными между центральным сервером и программой-клиентом осуществляется по специальному протоколу. Протокол открытый, что позволяет различным организациям: банкам, розничным сетям, сетям платежных терминалов, осуществлять платежи непосредственно из собственных систем. Протокол разработан Группой e-port, а техническая документация «Философтом»по ее заказу.

ВВЕДЕНИЕ

Система e-port дилер: клиент-серверный протокол. Назначение и обзор возможностей

Задачи протокола

Основные преимущества использования протокола

1 Реализация протокола (шлюз)

1.1 Общие сведения

1.2 Структура приложения

2. Как работает шлюз

2.1 Регистрация и отчетность

2.1.1 Регистрация

2.1.2 Отчетность

2.2 Обмен данными с сервером

2.2.1 Структура пакета

2.2.2 Справочники

2.2.3 Порядок обмена пакетами

2.3 Цикл обработки операции

2.3.2 Очередь

2.3.3 Анализ ответа сервера

2.3.4 Нестандартные ситуации

3 Спецификация протокола

3.1 Структурные элементы пакета

3.2 Заголовок запроса

3.3 Заголовок ответа

3.4 Пополнение счета

3.5 Покупка PIN-кода

3.6 Прерывание процесса обработки операции

3.7 Транзакционные свойства операции

3.9 Справочник

3.11 Статус операции

3.11.1 Примеры сообщений о статусе операций

3.11.2 Коды состояния находящихся в обработке или завершенных операций

3.11 Уведомления системы

4 ГЛОССАРИЙ

ПРИЛОЖЕНИЯ

Приложение 1. DTD XML-запроса и комментарий

УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ И КИБЕРНЕТИКИ

Прикладное программное обеспечение для учета заявок и контроля их исполнения на примере ООО «Интегрированная транспортная сеть».

      1. Руководство программиста

  1. Аннотация

Приводится руководство программиста программного обеспечения для учета заявок и контроля их исполнения на примере ООО «Интегрированная транспортная сеть».

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

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

  1. Назначение программы

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

  1. 2. Условия, необходимые для выполнения программы

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

    Windows 7,Windows Server 2003 Service Pack 2,Windows Server 2008,Windows Server 2008 R2,Windows Vista, Windows Vista Service Pack 1,Windows XP Service Pack 2,Windows XP Service Pack 3;

    32-разрядные системы: компьютер, оборудованный процессором Intel или совместимым процессором с тактовой частотой 1 ГГц или выше (рекомендуется 2 ГГц или выше, поддерживается только один процессор);

    64-разрядные системы: процессор с тактовой частотой 1,4 ГГц или выше (рекомендуется 2 ГГц или выше, поддерживается только один процессор);

    1 ГБ свободного места на диске;

    наличие СУБД: MS SQL 2008;

  1. 3. Характеристики программы

  2. 3.1. Режим работы программы

Диалоговый. Web-интерфейс в браузере (с поддержкой HTML5).

    3.2.Средства проверки правильности выполнения программы

Проверка правильности работы программы осуществляется при выполнении конкретных примеров. Программа выдает сообщение при вводе некорректных данных (Рис. 2.20):

Рис. 2.20. Некорректный ввод номера телефона

    3.3. Функционирование программы после сбоев

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

      Обращение к программе

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

    Запустить программу на ПК, с поддержкой Microsoft .NET Framework (или на удаленном сервере), если он еще не запущен;

    Откройте ваш любимый браузер (на пример chrome, internet explorer, mozilla firefox);

    Введите в адресную строку IP-адрес сервера, с заранее определенным портом;

    Откроется страница домашняя страница;

    Начать работу с клиентами.

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

Когда требуется руководство программиста?

Руководство программиста необходимо в нескольких случаях:

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

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

К типичным задачам такого документа относится:

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

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

Примерами могут служить:

– библиотека функций;

– платформа или среда для разработки ПО;

– ПО с открытым кодом.

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

– назначение, структуру входных и выходных данных программных функций;

– возможности по созданию программного кода, особенности его интерпретации и компиляции;

– синтаксические особенности используемого языка программирования;

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

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

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

Состав типового руководства программиста

В соответствии с требованиями ГОСТ руководство программиста должно содержать следующие разделы:

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

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

Обращение к программе , где указывают способы и параметры запуска программы;

Входные и выходные данные , где описывают формат, способ организации и другие требования к входным и выходным данным;

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

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

Стандарты для руководства программиста

ГОСТы регламентируют и этот документ, в данном случае это ГОСТ 19.504. (Приложение 1) В соответствии с ним определяется структура и содержание Руководства программиста.

Для разработки приложения я использовал Microsoft Visual Studio. Для начала разработки нажимаем Файл --- Создать --- Создать проект --- Приложение WPF. Откроется пустая форма. На форме я разместил фон (картинку для фона я предварительно загрузил в ресурсы будущей программы), компоненты Label (свойство content Приветственное сообщение), TextBox (сюда будет вводиться имя тестируемого), кнопки Button для вызова справки и начала теста. Группирую все компоненты формы в Canvas. По нажатию на кнопку «Справка» - вызывается форма справки, на которой расположен TextBox со справкой по использованию программы и кнопка возврата к стартовой форме.

Hello.Visibility = Visibility.Hidden;//Скрыть элементы стартовой формы

Spravka.Visibility = Visibility.Visible;//Показать окно справки

Hello.Visibility = Visibility.Visible;//показать окно стартовой формы

Spravka.Visibility = Visibility.Hidden;//скрыть элементы формы справка

При нажатии на кнопку «Начать тест», при условии, что заполнено поле ввода имени, открывается окно тестирования, на котором расположен TextBox, куда выводятся вопросы, ListBox, куда выводятся варианты ответов, и кнопки «Следующий вопрос» и «Предыдущий вопрос». Если поле ввода имени не заполнено, то выдаётся сообщение, о том, что необходимые поля не заполнены.

subjectName = User.Text;

if (!string.IsNullOrEmpty(subjectName) && !string.IsNullOrEmpty(testFilePath)) // проверяем заполнено ли поле

xmlLoad(); //подгружаем файл с вопросами

MessageBox.Show("Не заполнены необходимые поля");//вывод сообщения об ошибке

countSteps = qstns.Count();

Otvet.Items.Clear();

По окончании тестирования откроется форма результатов тестирования, на которой расположен TextBox с результатом тестирования, и кнопки «Начать заново» и «Выход».

if (_step == countSteps)

Prev.Content = "Выход";

Vopros.Text = message;

loadStep(_step, beforeStep);

Полный код программы с комментариями находится в Приложении 2


ЗАКЛЮЧЕНИЕ

Во время прохождения практики я расширил свои навыки в среде разработки языка программирования C#.

Все цели практики были достигнуты:

¾ расширение, углубление и систематизация знаний, полученных в процессе теоретического обучения;

¾ закрепление практических навыков по разработке и модификации информационных систем;

¾ формирование профессиональных компетенций.

Выполнил все задачи практики, а именно:

¾ Ознакомился с условиями работы предприятии и со своим рабочим местом, а именно с правилами внутреннего распорядка, требованиями по безопасности, физиолого-гигиеническими основами трудового процесса и требованиями санитарии;

¾ изучил нормативные и методические материалы, фундаментальной и периодической литературы в соответствии с индивидуальным заданием;

¾ использовал информационно-коммуникационные технологии;

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

¾ выполнил индивидуального задания (разработал тестирующую программу);

¾ оформил отчет по практике.


СПИСОК ИСТОЧНИКОВ

1. Джон Скит. C# для профессионалов: тонкости программирования, 3-е издание, новый перевод = C# in Depth, 3rd ed.. - М.: «Вильямс», 2014. - 608 с.

2. Кристиан Нейгел и др. C# 5.0 и платформа.NET 4.5 для профессионалов = Professional C# 5.0 and .NET 4.5. - М.: «Диалектика», 2013. - 1440 с.

3. Джозеф Албахари, Бен Албахари. C# 6.0. Справочник. Полное описание языка = C# 5.0 in a Nutshell: The Definitive Reference. - М.: «Вильямс», 2015. - 1008 с.

4. https://habrahabr.ru/

5. http://www.cyberforum.ru/


ПРИЛОЖЕНИЯ

ПРИЛОЖЕНИЕ 1

Г О С У Д А Р С Т В Е Н Н Ы Й С Т А Н Д А Р Т С О Ю З А С С Р

Единая система программной документации ГОСТ 19.504-79* (СТ СЭВ 2095-80)
РУКОВОДСТВО ПРОГРАММИСТА. ТРЕБОВАНИЯ К СОДЕРЖАНИЮ И ОФОРМЛЕНИЮ
United system for program documentation. Programmer"s guide. Requirements to contents and form of presentation

Постановлением Государственного комитета стандартов Совета Министров СССР от 12 января 1979 г. ¹ 74 срок введения установлен

С 01.01. 1980 г.

Настоящий стандарт устанавливает требования к содержанию и оформлению программного документа «Руководство программиста», определённого ГОСТ 19.101-77.

Стандарт полностью соответствует СТ СЭВ 2095-80.

ОБЩИЕ ПОЛОЖЕНИЯ

1.1. Структуру и оформление документа устанавливают в соответствии с ГОСТ 19.105-78.

Составление информационной части (аннотации и содержания) является обязательным.

1.2. Руководство программиста должно содержать следующие разделы:

· назначение и условия применения программ;

· характеристика программы;

· обращение к программе;

· входные и выходные данные;

· сообщения.

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

2.1. В разделе «Назначение и условия применения программ» должны быть указаны назначение и функции, выполняемые программой, условия, необходимые для выполнения программы (объем оперативной памяти, требования к составу и параметрам

периферийных устройств, требования к программного обеспечению и т.п.).

2.2. В разделе «Характеристика программы» должно быть приведено описание основных характеристик и особенностей программы (временные характеристики, режим работы, средства контроля правильности выполнения и самовосстанавливаемости программы и т.п.).

2.3. В разделе «Обращение к программе» должно быть приведено описание процедур вызова программы (способы передачи управления и параметров данных и др.).

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

2.5. В разделе «Сообщения» должны быть указаны тексты сообщений, выдаваемых программисту или оператору в ходе выполнения программы, описание их содержания и действий, которые необходимо предпринять по этим сообщениям.

2.6. В приложении к руководству программиста могут быть приведены дополнительные материалы (примеры, иллюстрации, таблицы, графики и т.п.).

* Переиздание (Ноябрь 1987 г.) с Изменением № 1, утвержденным в сентябре 1981 г (ИУС 11-81)


ПРИЛОЖЕНИЕ 2

using System.Collections.Generic;

using System.IO;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Data;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Imaging;

using System.Windows.Navigation;

using System.Windows.Shapes;

using System.Xml;

using System.Xml.Linq;

namespace Самотестер

///

/// Логика взаимодействия для MainWindow.xaml

///

public partial class MainWindow: Window

string subjectName = "";//Переменная имени тестируемого

private int _step;// Локальная переменная шага тестирования

int countSteps;// Количество вопросов в тесте (получается динамически из выбранного файла тестирования)

XDocument mainXml = new XDocument(); // Инициализируем объект XML документа, для считывания файла теста

List questionsList = new List();// Список вопросов, наполняется из файла тестирования

List answers = new List();// Список ответов

List score = new List();// Кол-во набранных очков

//string testFilePath = "";

int step // Глобальная переменная шага

return _step;// Получаем значение локальной переменной шаг

var beforeStep = _step; // Устанавливаем предыдущий шаг

Step = value;// Устанавливаем текущий шаг

if (_step == countSteps + 1)// Проверка, равен ли текущий шаг общему кол-ву шагов, действие по кнопке начать заново

score.Clear();// Очищаем набранные очки

Otvet.Visibility = Visibility.Visible;// Показываем ListBox в который мы отображаем ответы текущего вопроса

Step = 0;//Снова переходим на нулевой шаг

if (_step == 0)// Проверяем, нулевой ли это у нас шаг

Prev.Content = "Выход";// Назначаем кнопке "Предыдущий вопрос" значение "Выход"

else if (_step < 0)// Проверяем шаг меньше ли нуля

Close();//Закрываем программу

Prev.Content = "Назад";// Назначение кнопке "Предыдущий вопрос", значения Назад "Предыдущий вопрос"

if (_step > 0)// Если шаг больше нулевого

var _answers = answers[_step - 1].Elements().ToList();// Записываем все варианты ответов на текущий вопрос в переменную

var selectedIndex = Otvet.SelectedIndex;// Смотрим какой вариант ответа был выбран в прошлом шаге

var index = beforeStep;

var val = (selectedIndex != -1) ? (_answers.Attribute("true-answer") != null && _answers.Attribute("true-answer").Value == "true") ? 1: 0: 0;// Проверяем был ли ответ правильным

if (score.Contains(_step))// Смотрим отвечали ли мы на вопрос ранее

score[_step] = val;// Устанавливаем для предыдущего вопроса ответили мы правильно

score.Add(val);// Устанавливаем для предыдущего вопроса ответили мы правильно

/*Выводим если ответили на последний вопрос результаты тестирования*/

if (_step == countSteps)

Next.Content = "Начать заново";

Prev.Content = "Выход";

string sum = score.Sum().ToString();

string numeric = GetDeclension(int.Parse(sum), "правильный ответ", "правильных ответа", "правильных ответов");

string message = "Уважаемый(ая) " + subjectName + ". Благодарим Вас за прохождение теста. Ваш результат " + sum + " " + numeric + " из " + countSteps;

Vopros.Text = message;

Otvet.Visibility = Visibility.Hidden;

loadStep(_step, beforeStep);

string testFilePath = "Resources/testTest.xml";

public MainWindow()

InitializeComponent();

Test.Visibility = Visibility.Hidden;

void loadStep(int _locStep, int beforeStep)

foreach (var curEl in mainXml.Root.Element("questions").Elements())

Vopros.Text = questionsList[_locStep];

Otvet.Items.Clear();

var currentAnswers = answers[_locStep];

foreach (var answer in currentAnswers.Elements())

Otvet.Items.Add(answer.Value);

public static string GetDeclension(int number, string nominativ, string genetiv, string plural)

number = number % 100;

if (number >= 11 && number <= 19)

var i = number % 10;

return nominativ;

private void prevButton_Click(object sender, RoutedEventArgs e)

if (Prev.Content.ToString().Trim() == "Выход")

private void nextButton_Click(object sender, RoutedEventArgs e)

mainXml = XDocument.Load(testFilePath);

var qstns = mainXml.Root.Element("questions").Elements();

countSteps = qstns.Count();

foreach (var question in qstns)

questionsList.Add(question.Element("text").Value);

answers.Add(question.Element("answers"));

private void Button_Click(object sender, RoutedEventArgs e)

subjectName = User.Text;

if (!string.IsNullOrEmpty(subjectName) && !string.IsNullOrEmpty(testFilePath))

Start.Visibility = Visibility.Hidden;

Test.Visibility = Visibility.Visible;

MessageBox.Show("Не заполнены необходимые поля");

private void spravkaButton_Click(object sender, RoutedEventArgs e)

Hello.Visibility = Visibility.Hidden;

Spravka.Visibility = Visibility.Visible;

private void closeSpravkaButton_Click(object sender, RoutedEventArgs e)

Hello.Visibility = Visibility.Visible;

Spravka.Visibility = Visibility.Hidden;

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

Руководство программиста
Структура программы контроллера

АННОТАЦИЯ

В настоящем документе приводится описание назначения, условий применения и характеристик прикладного программного обеспечения (ППО) программируемого логического контроллера (ПЛК). Прикладное программное обеспечение промышленного компьютера (ПК) описано в документе «Руководство оператора». Ссылки на программное обеспечение ПК приведены в настоящем документе по мере необходимости.

СОДЕРЖАНИЕ
1. НАЗНАЧЕНИЕ И УСЛОВИЯ ПРИМЕНЕНИЯ ПРОГРАММЫ
1.1.Назначение ППО ПЛК
1.2.Условия применения ППО ПЛК
2. ХАРАКТЕРИСТИКА ПРОГРАММЫ
2.1. Структура ППО ПЛК

2.3. Пользовательские функциональные блоки, применяемые в ППО «Unity»
3. ОБРАЩЕНИЕ К ПРОГРАММЕ
4. ВХОДНЫЕ И ВЫХОДНЫЕ ДАННЫЕ
5. СООБЩЕНИЯ

1. НАЗНАЧЕНИЕ И УСЛОВИЯ ПРИМЕНЕНИЯ ПРОГРАММЫ
ПТС блокировок и защит по уровню воды в парогенераторах энергоблоков №1,2 Электростанции предназначена для защиты трубной системы парогенераторов при снижении уровня воды, а также защиты системы от заброса питательной воды в проточную часть турбины при повышенном уровне в парогенераторе.
Защита технологического процесса обеспечивается комплексом технологического оборудования:
Арматура на основной линии питающей воды (ВП-9);
Арматура на основной линии питающей воды (ВП-10);
Арматура на линии продувки (У5-01);
Арматура на линии продувки (У5-02);
Арматура на байпасной линии питающей воды (ВП11);
Команды включения аварийного повысительного электронасоса (АПЭН-1);
Команды включения аварийного повысительного электронасоса (АПЭН-2);
Команда отключения турбогенератора (ТГ3);
Команда отключения турбогенератора (ТГ4);
Выдача технологической сигнализации по понижению уровня в 4-х из 6-ти ПГ
Выдача технологической сигнализации срабатывания защиты по +300мм
Команда отключения регулятора питания на линии продувки +75мм
Команда отключения регулятора питания на линии продувки 500 тонн
Выдача технологической сигнализации по +125мм
Выдача технологической сигнализации по +75мм
Выдача технологической сигнализации по ±50мм
Выдача технологической сигнализации по -120мм
Выдача технологической сигнализации по 500т/час

Функционирование системы обеспечивается прикладным программным обеспечением (ППО).
ППО включает прикладное программное обеспечение промышленного компьютера (ППО ПК) и прикладное программное обеспечение программируемого контроллера (ППО ПЛК).

1.1. Назначение ППО ПЛК
ППО ПЛК в составе ПТС реализует следующие функции:
– резервирование контроллеров;
– получение и обработка сигналов ввода-вывода с трех идентичных корзин ввода-вывода;
– Принимает и фильтрует входные дискретные сигналы от вероятного «дребезга» контактов.
– Принимает и обрабатывает входные аналоговые сигналы:
обеспечивает контроль выхода сигнала за допустимые границы (недостоверность сигнала);
производит масштабирование аналогового сигнала;
осуществляет гистерезис пороговых значений;
анализирует состояния трех сигналов из состава корзин и выборка достоверных значений;
осуществляет фильтрацию сигнала по скорости нарастания или убывания величины сигнала.
– Выдача дискретных сигналов на оборудование (срабатывание защит);
– Контроль отклонений параметров от заданий и достижения уставленных значений;
– Выдача исполнительных воздействий на лампы технологической сигнализации на БЩУ;
– Реализация алгоритмов защит и блокировок;
– Обмен данными со смежными системами по каналу Modbus/TCP/IP;
– Проверка модулей контроллера на наличие ошибок, и формирование сообщений для АРМ о состоянии оборудования контроллера, а также на панель БЩУ;
– Мониторинг аварийных ситуаций оборудования системы;
– ППО ПЛК обеспечивает возможность приема от промышленного компьютера, а также с панели БЩУ ключей отключающих определенные защиты и блокировки системы.

1.2. Условия применения ППО ПЛК
Общая архитектура системы приведена на рисунке 1.

Рисунок 1. Общая архитектура ППО

Комплекс ПТС включает следующие аппаратные и покупные программные компоненты:
1) Два программируемых логических контроллера (ПЛК) QUANTUM на базе процессора P266 CPU, работающих в режиме горячего резерва. Исполнительная среда Unity Pro 4.1 XL.
2) Промышленный компьютер, состоящий из:
– персональная ЭВМ (встраиваемый промышленный компьютер);
– операционная система Windows XP Pro SP3;
– пакет визуализации СITECT 7
ПЛК осуществляют взаимодействие с внешними подсистемами по сети Ethernet (со стороны ПЛК) и по каналам ввода-вывода.
Взаимодействие ПЛК и промышленного компьютера осуществляется по сети Ethernet.
ПТС включает прикладные программные компоненты, разрабатываемые в соответствии с настоящим проектом:
Приложение Unity Pro, установленное на ПЛК.
Приложение Citect, установленное на ПК.

2. ХАРАКТЕРИСТИКА ПРОГРАММЫ
2.1. Структура ППО ПЛК
Прикладное программное обеспечение ПЛК реализуется в виде приложения (см Рисунок 1), написанного в среде Unity v.4.1. Название приложения – upg.stu.
Приложение upg.stu обеспечивает реализацию функциональности системы, реализуемой на ПЛК для всех режимов работы.
Приложение содержит:
конфигурацию аппаратных и программных средств;
набор функциональных модулей, каждый из которых реализуется секциями, написанными на языке LD (лестничных диаграмм);
набор функциональных блоков, разработанных в рамках проекта;
базу данных;
анимационные таблицы.
В состав приложения входят следующие функциональные модули, каждый из которых содержит один или несколько программных модулей, отраженных в таблице 1.
Таблица 1

Init Секция выполняется при первом цикле после запуска и обеспечивает присвоение начальных значений всем параметрам.
AI_to_AM Секция обработки входных аналоговых сигналов. Осуществляется вызов блока соответствующего сигнала для присвоения значения внутренней переменной и проверки достоверности канала.
DI_to_DM Секция обработки входных дискретных переменных. Производится вызов функционального блока соответствующего сигнала для присвоения значения внутренней переменной и проверки достоверности канала.
Comparing Секция сравнения получаемых значений с трех различных корзин распределённого ввода-вывода. Сигналы сравниваются по логике 2 из 3-х. Если два сигнала идентичны, а третий различен, то последний признается недействительным.
Наименование секции Функциональность
Alarms Секция обработки дискретных и аналоговых сигналов для определения достижений предельных значений. Выработка сигнализаций и команд на исполнение блокировок и защит.
INTERLOCK Секция формирования алгоритма блокировок и защит. В данной секции происходит запись в переменные, связанные с исполнительными механизмами.
SIM Секция управления режимами имитации и опробования контроллера.
DIAGNOSTIC Секция формирования диагностической информации контроллера.

Внутри секций используются следующие подпрограммы:
Таблица 2
Наименование секции Функциональность
CompAI Функциональный блок, предназначенный для сравнения трех разных аналоговых величин, выдачи на выход результирующего значения, а также диагностической информации по каждому из каналов.
CompDI Функциональный блок, предназначенный для сравнения трех дискретных сигналов приходящих с трех разных корзин, выдачи на выход результирующего значения, а также диагностической информации по каждому из каналов.
BlockF Функциональный блок, предназначенный для фиксирования недопустимо быстрого падения или прироста аналоговой величины. В случае обрыва или короткого замыкания данный ФБ выведет данный сигнал из обработки, что не позволит остановить технологический процесс.
GetDI Функциональный блок, предназначенный для получения и обработки дискретных сигналов. Осуществляет фильтрацию «дребезга» контактов.

Наименование секции Функциональность
HLLA4 Функциональный блок, предназначенный для выработки четырех пороговых нарушений с одного аналогового сигнала (HH, H, L, LL). В ФБ учтены параметры гистерезиса и мертвой зоны по фиксации нарушений.
GetAI Функциональный блок, предназначенный для получения и обработки аналоговых сигналов. Осуществляет масштабирование значений, а также выполняет функции частичного сглаживания.
SIMPMEHA Функциональный блок, предназначенный для выдачи синусоидальной помехи. Данная помеха «подмешивается» к имитируемому сигналу для придания реалистичности при работе с такими режимами, как «опробование».
SIMPULSE Функциональный блок, предназначенный для выдачи в системе пульсов заданной длительности.
SIMPV Функциональный блок, предназначенный для имитации аналоговой величины при работе с такими режимами, как «опробование».
2.2. Структуры данных ППО ПЛК
Всего в каждом энергетическом блоке находится шесть парогенераторов и программные элементы ППО выполнены для каждого из них идентично.
В проекте программного обеспечения контроллеров используются следующие типы данных:
Слово состояния аналогового канала – тип word;
Слово состояния дискретного канала – тип word;
Слово определяющее значение аналогового канала – тип real (два слова word);
Слово состояния контроллера QUANTUM – тип word (всего зарезервировано два слова);
Слово состояния нарушений – тип word;
Слово состояния блокировок – тип word;
Слово состояния деблокировочных ключей – тип word;

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

Переменные в ПЛК кодируются следующим образом:
AI – аналоговый вход в ПЛК;
AIM – внутренний аналоговый вход ПЛК /ПК;
DI – дискретный вход в ПЛК;
DM – внутренний дискретный вход ПЛК /ПК;

2.3. Пользовательские функциональные блоки, применяемые в ППО «Unity»
2.3.1 Функциональный блок сравнения аналоговых каналов CompAI

.

Рисунок 2. Функциональный блок сравнения аналоговых каналов CompAI

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

2.3.2 Функциональный блок сравнения аналоговых каналов CompDI


Рисунок 3. Функциональный блок сравнения дискретных каналов CompDI

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

Рисунок 4. Функциональный блок вычисления скорости спада аналоговой величины BlockF

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

2.3.4 Функциональный блок масштабирования аналогового канала GetAI


Рисунок 5. Функциональный блок масштабирования аналогового канала GetAI

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

2.3.5 Функциональный блок обработки дискретного канала GetDI

Рисунок 6. Функциональный блок обработки дискретного канала GetDI

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

2.3.6 Функциональный блок выработки пороговых нарушений HLLA4


Рисунок 7. Функциональный блок выработки пороговых нарушений HLLA4

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

2.3.7 Функциональный блок выработки синусоидальной помехи SIMPMEHA


Рисунок 8. Функциональный блок выработки синусоидальной помехи SIMPMEHA

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

2.3.8 Функциональный блок выработки импульсов заданной длины SIMPULSE


Рисунок 9. Функциональный блок выработки импульсов заданной длины SIMPULSE

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

2.3.9 Функциональный блок генерации аналоговой переменной SIMPV

Рисунок 10. Функциональный блок генерации аналоговой переменной SIMPV

Данный ФБ служит для генерации аналоговых сигналов для режимов имитации работы устройств и отладки контроллера.
3. ОБРАЩЕНИЕ К ПРОГРАММЕ
Программа при работе на объекте сконфигурирована на автоматический запуск при включении контроллера. Состояние программы отображается на дисплее контроллера. Настройка параметров программы может осуществляться с переносного компьютера, входящего в поставку системы.

4. ВХОДНЫЕ И ВЫХОДНЫЕ ДАННЫЕ
Входными данными системы является информация, поступающая от объекта управления в ПТС через устройства связи с объектом (распределенной периферии), а также команды, вводимые оператором с ПК.
Выходными данными системы является информация, передаваемая на объект управления из ПТС через устройство связи с объектом. Информация выводится в ПК в виде экранных форм и поступает в виде сигнализации на панель БЩУ.

5. СООБЩЕНИЯ
Сообщения, передаваемые по интерфейсу ПЛК-ПК, описаны в документе «Руководство программиста. Часть 2. Интерфейс ПЛК-ПК». Сообщения, выдаваемые оператору, описаны в документе «Руководство оператора».

#Руководство, #программиста, #описание, #ПЛК, #ПТС, #интерфейс, #аналоговых, #контроллер