Смекни!
smekni.com

Автоматизированная система мониторинга расхода топлива (стр. 4 из 8)

Для проведения линеаризации исходная характеристика была разбита на 9 линейных участков. Это позволяет занести в память контроллера только параметры линейных уравнений, что существенно сокращает объём управляющей программы [3, 4].

Параметры линейных уравнений приведены в таблице.


Таблица 2.1 - Параметры линейных уравнений

Номер линейного участка Диапазон изменения уровня (см) Коэффициент Свободный член Среднее значение относительной погрешности аппроксимации
нижняя граница верхняя граница
0 50 3 -20 30,79
50 105 11 -430 4,66
105 152 17 -1050 0,89
152 222 24 -2128 0,58
222 275 28 -2997 0,11
275 342 31 -3853 0,23
342 410 32 -4197 0,09
410 416 24 -905 0,02
416 500 12 4105 0,09

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

На рисунке 2.4 показана расчётная градуировочная характеристика, полученная при помощи описанных выше уравнений.

Рисунок 2.4 - Расчётная градуировочная характеристика


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

Рисунок 2.5 - Абсолютная погрешность аппроксимации

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

Рисунок 2.6 - Относительная погрешность аппроксимации

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


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

Управляющая программа микроконтроллера разработана в редакторе Ladder, входящего в комплект поставки микроконтроллера.

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

Линеаризация аналогового сигнала с датчика уровня. На этом этапе определяется значение уровня в сантиметрах из соотношения: 20 мА соответствует максимальному уровню 5метров. Операционная система имеет встроенную функцию линеаризации, которая доступна через системные переменные. Для этого операнды записываются в ячейки памяти, SI80-SI83, после чего для активизации функции устанавливается системный бит SB80. Соответствующий фрагмент программы представлен на рисунке 2.3.

Рисунок 2.7 - Фрагмент программы, выполняющий линеаризацию

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


Рисунок 2.8 - Фрагмент программы вычисления объёма топлива в цистерне

Масса топлива рассчитывается путём умножения объёма на коэффициент преобразования, который равен 0,84 тонн/кубометр.

Алгоритм работы программы вычисления объёма и массы топлива приведён на рисунке 2.9.

Вычисление частоты вращения валов двигателей. Контроллер осуществляет подсчёт количества импульсов, поступающих на цифровые входы №8 и №9 за единицу времени, после чего производится пересчёт полученного значения в значение с размерностью

. Измерение интервала времени производится с помощью встроенного таймера. Отсчёт оборота производится по первому срезу входного импульса.

Фрагмент программы, иллюстрирующий вычисление частоты представлен на рисунке 2.10.


Рисунок 2.9 - Алгоритм работы программы вычисления объёма и массы топлива


Рисунок 2.10 - Фрагмент программы вычисления частоты вращения валов

Схема алгоритма программы подсчёта импульсов и вычисления частоты вращения валов представлена на рисунке 2.11.


Рисунок 2.11 - Схема алгоритма программы подсчёта импульсов и вычисления частоты вращения валов

2.5 Конфигурирование DDE-сервера UniDDE

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

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

Для начала работы сервера и организации связи с контроллером, необходимо задать ряд параметров. Диалоговое окно сервера UniDDE, в котором показаны все введённые параметры, показано на рисунке 2.12.

Рисунок 2.12 - Диалоговое окно задания параметров сервера UniDDE

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

Рисунок 2.13 - Окно сервера UniDDE со списком отображаемых переменных

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


2.6 Разработка клиентского приложения

Клиентское приложение устанавливается на ПЭВМ капитана судна и производит приём и обработку информации, поступающей от контроллера.

Оно содержит также модуль для работы с терминалом спутниковой системы Inmarsat.

Вид главного окна приложения приведён на рисунке 2.14.

Рисунок 2.14 - Главное окно клиентского приложения

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

Уровень топлива в сантиметрах считывается напрямую из памяти контроллера посредством DDE-сервера.

Для вычисления объёма топлива используется усреднённая тарировочная таблица, полученная путём усреднения таблиц для гружёного и балластного состояний. Масса топлива вычисляется в соответствии с заданным коэффициентом пересчёта объёма в массу. Обычно его значение равно 0,84.

В окне имеется тестовое поле для отправки сообщений диспетчеру. Уровень сигнала спутников отображается в реальном времени с помощью соответствующего индикатора.

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

2.7 Разработка серверного приложения

Для серверного приложения, установленного на ПЭВМ диспетчера, выбран модифицированный MDI-стиль интерфейса. Особенность заключается в том, одновременно в главном окне может создаваться множество дочерних форм, однако в каждый момент времени видня только одна. Переход между дочерними формами осуществляется нажатиями на кнопки «Вперёд» и «Назад». Стиль панели инструментов выбран по типу приложения Internet Explorer.

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

Рисунок 2.15 - Окно с сообщениями от экипажа судна «Волгонефть-53»

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

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

Рисунок 2.16 - Окно приложения с информацией от датчиков судна

Для обновления отображаемой информации служит кнопка «Обновить» на панели инструментов.

При нажатии на кнопку «Домой» произойдёт переход к окну, отображающему информацию о сообщениях с судов за сегодняшний день.

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

Вид окна представлен на рисунке 2.17.