|
|
| Векторизован
| |
в палитре |
на схеме |
Блок производит двунаправленный обмен данными по протоколу TCP-IP.
Формат пакета для данного блока, а также блока Клиент TCP-IP следующий (как
на приём так и на передачу):
При отправке в SimInTech (для передачи данных в модель, если в ней стоит блок TCP-сервер):
- ID команды (4ех байтовый int)
- cm_Stop = 1;
- cm_Exchange = 2;
- cm_ExchangeWait = 3;
- cm_Disconnect = 4;
- Модельное время клиента - 8ми байтовое число с плавающей запятой (double).
- Размерность посылаемых данных (InBufLen) - 4ех байтовое целое число
(суммарное количество чисел в посылке).
- Массив чисел типа double размерностью InBufLen (т.е. размер в байтах
будет InBufLen⋅8)
При приеме от SimInTech (от модели):
- Размерность массива принятых данных cnt (4ех байтовое целое
число).
- Модельное время сервера (модели) - (8ми байтовое число с плавающей запятой типа
double).
- Если cnt > 0, то далее считываем массив чисел с плавающей запятой
размерностью cnt (т.е. 8⋅cnt байт).
Прим.: если cnt < 0 то это говорит о том, что на стороне клиента
произошла ошибка, данные от него скорее всего недостоверны, а соединение в этом случае
рекомендуется разорвать.
Можно использовать и более сложный протокол, который
реализован для исполнительной системы реального времени NordWind и который подразумевает
запрос переменных по именам. Для этого на стороне сервера (контроллера) надо иметь в составе
исполнительной среды сервер обмена данными. Исходники его расположены локально по адресу
\SimInTech\bin\CodeTemplates\Linux64\GdbServer. Для обмена с моделью
при этом может быть использовать штатный отладочный модуль или же блок типа
Удаленный прибор.
Входы
- inport_n - входной порт блока. Число входных портов
устанавливается в свойствах блока.
Свойства:
- Количество входов - управление количеством входов;
- Массив размерностей выходов;
- Массив начальных значений выходов;
- Шаг обмена данными – шаг, с которым производится запись и
считывание данных в буферы блока;
- Останов по команде клиента – если флаг установлен, то при
команде от клиента расчёт будет остановлен;
- Интервал ожидания завершения потока – время задержки до
завершения потока для клиента;
- Порт tcp-ip – номер TCP-порта обмена.