Клиент 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 то это говорит о том, что на стороне клиента
произошла ошибка, данные от него скорее всего недостоверны, а соединение в этом случае
рекомендуется разорвать.Входные порты
Блок не имеет выходных портов.
Выходные порты
- outport_n - выходной порт блока. Число выходных портов устанавливается в свойствах блока.
Формат пакета
Свойства
- Количество входов;
- Массив размерностей выходов;
- Массив начальных значений выходов;
- Шаг обмена данными – шаг с которым производится запись и считывание данных в буферы блока;
- Посылать команду остановки серверу – если флаг установлен, то при остановке расчёта будет послана команда остановки серверу;
- Синхронизировать модельное время – если флаг установлен, то блок автоматически будет производить задержку расчёта для согласования модельного времени на клиенте и сервере;
- Порт tcp-ip – номер TCP-порта обмена;
- Адрес сервера – IP-адрес или имя сервера, где находится модель с которой производится обмен данными.
Параметры
Блок не имеет параметров.

