Сервер TCP-IP
![]() |
![]() |
| Векторный
| |
| в палитре | на схеме |
Описание
Блок производит двунаправленный обмен данными по протоколу 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)
- Размерность массива принятых данных
cnt(4ех байтовое целое число). - Модельное время сервера (модели) - (8ми байтовое число с плавающей запятой типа double).
- Если
cnt> 0, то далее считываем массив чисел с плавающей запятой размерностьюcnt(т.е.8⋅cntбайт).
Прим.:
Можно использовать и более сложный протокол, который
реализован для исполнительной системы реального времени NordWind и который подразумевает
запрос переменных по именам. Для этого на стороне сервера (контроллера) надо иметь в составе
исполнительной среды сервер обмена данными. Исходники его расположены локально по адресу
\SimInTech\bin\CodeTemplates\Linux64\GdbServer. Для обмена с моделью
при этом может быть использовать штатный отладочный модуль или же блок типа
Удаленный прибор.если
cnt < 0 то это говорит о том, что на стороне клиента
произошла ошибка, данные от него скорее всего недостоверны, а соединение в этом случае
рекомендуется разорвать.Входные порты
- inport_n - входной порт блока. Число входных портов устанавливается в свойствах блока.
Выходные порты
Блок не имеет выходных портов.
Свойства
- Количество входов - управление количеством входов;
- Массив размерностей выходов;
- Массив начальных значений выходов;
- Шаг обмена данными – шаг, с которым производится запись и считывание данных в буферы блока;
- Останов по команде клиента – если флаг установлен, то при команде от клиента расчёт будет остановлен;
- Интервал ожидания завершения потока – время задержки до завершения потока для клиента;
- Порт tcp-ip – номер TCP-порта обмена.
Параметры
Блок не имеет параметров.

