Контроль достоверности исходной информации и диагностика отказов информационно-измерительных каналов
Контрольная работа - Компьютеры, программирование
Другие контрольные работы по предмету Компьютеры, программирование
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Казанский национальный исследовательский технологический университет
Институт управления, автоматизации и информационных технологий
Факультет управления и автоматизации
Кафедра автоматизированных систем сбора и обработки информации
ОТЧЕТ по лабораторной работе
КОНТРОЛЬ ДОСТОВЕРНОСТИ ИСХОДНОЙ ИНФОРМАЦИИ И ДИАГНОСТИКА ОТКАЗОВ ИНФОРМАЦИОННО-ИЗМЕРИТЕЛЬНЫХ КАНАЛОВ
по дисциплине Теоретические основы автоматизированного управления
Выполнила: студентка Васильева О.И.
Проверила: Ягьяева Л.Т.
Казань 2012
Содержание
1. Цель работы
. Математический расчет вручную
. Блок-схема алгоритма
. Листинг программы
. Скриншоты программы
Вывод
Список использованной литературы
1.Цель работы
. Ознакомиться с алгоритмами допускового контроля достоверности исходной информации, с помощью которых выявляются полные и частичные отказы информационно-измерительных каналов (ИИК).
. Освоить методы контроля достоверности исходной информации в АСУ ТП, диагностики частичных отказов и коррекции результатов измерений ИИК.
. Математический расчет вручную
Исходные данные для алгоритма контроля достоверности исходной информации следующие (вариант 2):
. Численные значения количества информации, поступающей с каждого ИИК:
. Допустимая погрешность выполнения уравнения связи
. Допустимые погрешности работы ИИК:
4. Среднеквадратичные погрешности измерения:
Требуется:
. Рассчитать оценки погрешностей работы ИИК и осуществить контроль достоверности исходной информации.
. Осуществить диагностику частичных отказов ИИК.
Последовательность решения задачи
. Определяем погрешность выполнения уравнения связи между количествами информации, поступающими со всех четырех ИИК
2. Проверяем выполнение условия
Имеем
Следовательно, среди результатов измерения имеются недостоверные.
. Запишем линеаризованную математическую модель процесса измерения в виде
для чего найдем численные значения коэффициентов
аналогично
Получаем
. Запишем систему уравнений
,
Для этого рассчитаем вначале весовые коэффициенты
откуда
Запишем систему уравнений:
. Решением системы уравнений будут следующие значения оценок погрешностей измерений:
. Проверяем выполнение условия . Оно не выполняется для параметров х1 и х3, из чего следует вывод о частичном отказе этих информационно-измерительных каналов.
. Рассчитываем откорректированные оценки значений измеряемых величин,
8. С учетом скорректированных значений , проверяем выполнение условия . Имеем . Условие выполняется полностью.
3. Блок-схема алгоритма
х1
х2х4у
х3
4. Листинг программы
#include
#include
#include
#pragma hdrstop
#include "TOAY.h"
#pragma package(smart_init)
#pragma resource "*.dfm"*Form1;
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}__fastcall TForm1::Button1Click(TObject *Sender)
{TOAY;i;x[4],dx[4],dopdx[4],sko[4],P[4]; Lkontr,L,k,lmda;
// получаем данные из полей ввода
x[0]=StrToFloat(Edit1->Text);[1]=StrToFloat(Edit2->Text);[2]=StrToFloat(Edit3->Text);[3]=StrToFloat(Edit4->Text);=StrToFloat(Edit5->Text);[0]=StrToFloat(Edit6->Text);[1]=StrToFloat(Edit7->Text);[2]=StrToFloat(Edit8->Text);[3]=StrToFloat(Edit9->Text);[0]=StrToFloat(Edit10->Text);[1]=StrToFloat(Edit11->Text);[2]=StrToFloat(Edit12->Text);[3]=StrToFloat(Edit13->Text);=x[0]+x[1]+x[2]-x[3];
if(LkontrCaption="Все результаты достоверны";
else
{=1/(1/pow(sko[0],2)+1/pow(sko[1],2)+1/pow(sko[2],2)+1/pow(sko[3],2));(i=0;i<=3;i++)[i]=k/pow(sko[i],2);=-Lkontr/(0.5*(1/P[0]+1/P[1]+1/P[2]+1/P[3]));(i=0;i<=2;i++)[i]=-0.5*lmda/P[i];[3]= 0.5*lmda/P[3];(i=0;i<=2;i++)[i]=x[i]-dopdx[i];[3]=x[3]+dopdx[3];=x[0]+x[1]+x[2]-x[3];NowDateTime;=DateToStr(Date());.open("TOAY.txt",ios::out|ios::app);<<endl<<"Программа \"TOAY\""<<endl;
TOAY<<"Васильева Ольга гр.818123"<<endl;
TOAY<<"Дата: ";.write(NowDateTime.c_str(),10);<<" год"<<endl;<<"Время: ";.write(NowDateTime.c_str(),8);
TOAY<<endl<<"Контроль достоверности информации"<<endl;<<endl<<"Оценки погрешностей измерений: "<<endl;<<"Дельта х1= "<<dx[0]<<endl<<"Дельта х2= "<<dx[1]<<endl;<<"Дельта х3= "<<dx[2]<<endl<<"Дельта х4= "<<dx[3]<<endl;(fabs(dx[0])<=dopdx[0])<<endl<<"Канал X1 работает правильно"<<endl;<<endl<<"Канал X1 частично отказал"<<endl;(fabs(dx[1])<=dopdx[1])<<"Канал X2 работает правильно"<<endl;<<"Канал X2 частично отказал"<<endl;(fabs(dx[2])<=dopdx[2])<<"Канал X3 работает правильно"<<endl;<<"Канал X3 частично отказал"<<endl;(fabs(dx[3])<=dopdx[3])<<"Канал X4 работает правильно"<<endl;<<"Канал X4 частично отказал"<<endl;<<endl<<"Откорректированные оценки измеряемых величин: "<<endl;<<"х1 = "<<x[0]<<endl<<"х2 = "<<x[1]<<endl;<<"х3 = "<<x[2]<<endl<<"х4 = "<<x[3]<<endl;
}
}
5. Скриншоты программы
После запуска программы появляется главное окно. Пользователь заполняет поля исходных данных и нажимает кнопку Рассчитать.
Рис.1 Главное окно программы.
Результаты работы программы отображаются в виде отчета в файле TOAY.txt.
Рис.2 Файл-от?/p>