Комплекс программ для автоматизации исследований в экспериментальной психологии

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

n, rtS* S) = 0;void __stdcall GetOutputInfo (unsigned n, rtS* R) = 0;

};

Описание функций класса System:

1)void Initialize();

Функция инициализации модели.

)void UnInitialize();

Функция деинициализации модели.

3)void Operate (LPVOID *pin, LPVOID *pout)

Функция обмена данными с моделью:

pin - указатель на входные значения;

pout - указатель на выходные значения.

4)void Reset();

Функция приведения внутреннего состояния модели в исходное состояние.

5)void ModelName (char** MN);

Функция, возвращающая имя модели. MN - строка, содержащая имя модели.

6)void ModelInfo (char** MI);

Функция, возвращающая описание модели. MI - строка, содержащая описание модели.

7)void GetNumberInput (int* NumberIn);

Функция, возвращающая количество входов модели. NumberIn - число используемых входов.

8)void GetNumberOutput (int* NumberOut);

Функция, возвращающая количество выходов модели. NumberOut - число используемых выходов.

9)void GetInputInfo (unsigned n, rtS* S);

Функция, возвращающая параметры входных сигналов:

n - номер входного сигнала, параметры которого должны быть получены;

S - структура типа rtS, содержащая информацию о входном сигнале, с номером n.

10)void GetOutputInfo (unsigned n, rtS* R);

Функция, возвращающая параметры выходных сигналов:

n - номер выходного сигнала, параметры которого должны быть получены;

S - структура типа rtS, содержащая информацию о выходном сигнале, с номером n.

В экспортируемых функциях используется структура rtS, предназначенная для получения из Dll параметров входных и выходных сигналов. Она используется как возвращаемое значение в функциях GetInputInfo и GetOutputInfo.

rtS {

int TypeSignal;

int FormatSignal;

int Size [2];

};

Структура, содержащая информацию о входных сигналах:

?TypeSignal - тип используемого сигнала (в соответствии с таблицей 2.1);

?FormatSignal - формат используемого сигнала (в соответствии с таблицей 2.2);

?Size [2] - массив, содержащий информацию о размерности сигнала, первый элемент обозначает количество строк, второй - столбцов. При формате данных Scalar массив имеет размерность [1; 1]. При формате данных Vector одно из значений должно быть равным 1, а другое - быть большим 1. При формате данных Matrix - оба элемента должны быть больше 1. Если массив заполнен нулями, значит, задан несуществующий номер входа или выхода. Выравнивание для структуры равно 8 байтам.

 

Таблица 2.1 - Соответствие типов данных сигнала в Simulink значениям элемента TypeSignal структуры rtS

Тип данных в С++Значения, возвращаемые TypeSignalchar1unsigned char2short3unsigned short4int5unsigned int6float7double8

Если возвращаемое значение равно 0, то был задан номер несуществующего сигнала.

 

Таблица 2.2 - Соответствие форматов сигнала в Simulink значениям элемента FormatSignal структуры rtS

Тип данных в С++Значения возвращаемые FormatSignalScalar1Vector2Matrix3Если возвращаемое значение равно 0, то был задан номер несуществующего сигнала.

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