Проект на делфи

Иван17 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
29.10.2012

Измерение технологических параметров должно производиться с интервалом 500 миллисекунд.

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

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

Примерно должны быть реализованы 3 класса:...

пример проги во вложении

срок 3 дня

ICQ: 380945346

library DiagTVV; //Библиотека dll

uses Classes, FRIntf, PlugUtils, SysUtils, htypes, Variants, IniFiles; //объявляем все классы

const Consts: String = 'Consts'; Settings: String = 'Settings';

type

TSeries = class //название класса

Data: array of Double; //данные это массив из double

Limit,Count,MaxDevIndex: Integer; //переменные типа интеджер

Sum,Avg,Min,Max,Dev: Double; // переменные типа даубле

constructor Create(ALimit: Integer); //конструктор создания

procedure Clear; //процедура очистки

function AddValue(Value: Double): Boolean; //функция с выходом 0-1

procedure DelValue(Index: Integer); //процедура очистки

end;

TSensor = class

Name: String;

Value,Current,Sum: Double;

Index,SensIndex,ItemCount,ValueCount,FailCount: Integer;

FailTime: array[0..9] of TDateTime;

History: TSeries;

Uncertain,RefSaved: Boolean;

function RefKey: String;

function LoadRef: String;

function SaveRef(AValue: String): String;

end;

TSensorList = class

Items: array[0..299] of TSensor;

SensorCount: Integer;

constructor Create;

procedure AddSensor(AName: String; Count: Integer = 1);

function GetSensor(AName: String; AIndex: Integer = 0): TSensor;

function GetSensorValue(AName: String; AIndex: Integer = 0): Double;

function GetMin(AName: String): Integer;

function GetMax(AName: String): Integer;

function GetAvg(AName: String; AIndex: Integer = 0; ACount: Integer = 0): Double;

function Compare(S1,S2: String): Boolean;

property Sensor[Index:]: TSensor read GetSensor;

property SensorValue[Index:]: Double read GetSensorValue; default;

end;

Заявки фрилансеров