Комплекс программ для автоматизации исследований в экспериментальной психологии
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
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 в памяти.