×
 

Приложение А.
Описание коммуникационного протокола связи между ПК FlowVision и ПК EULER

Данный документ описывает протокол обмена по сетевому TCP/IP соединению между ПК EULER и ПК FlowVision.
 
Общие сведения
Для обмена данными используется сетевой канал TCP/IP.
ПК FlowVision выступает в роли клиента.
ПК EULER – в роли сервера.
Обмен производится с помощью команд.
Каждая команда состоит из двух частей:
1.    Текстовая часть, заканчивающаяся передачей символа конца строки (LF, код 10).
2.    Бинарная часть (может отсутствовать).
 
Текстовая часть в общем случае имеет вид:
COMMAND Parameter1 Parameter2 … ParameterN,
где COMMAND – собственно команда, Parameter1…Parameter N – параметры команды, разделенные пробелом.
Количество параметров определяется смыслом команды. Каждая команда имеет как минимум один параметр – целое число, определяющее размер бинарной части команды в байтах. При наличии других параметров, этот параметр всегда занимает последнее место. При отсутствии бинарной части команды этот параметр равен 0. В приведенных ниже описаниях команд этот параметр опущен, так как он добавляется автоматически.
 
Описание команд
 
Команда:
MBC_CONTINUE
Направление передачи:
в обоих направлениях
Описание:
команда продолжения расчета
Параметры:
№
Тип
Описание
1
double
Шаг обмена в секундах
2
double
Текущее расчетное время
Бинарные данные
нет
  
 
Команда:
MBC_VALUES
Направление передачи:
в обоих направлениях
Описание:
передача значений расчетной величины (переменной)
Параметры:
№
Тип
Описание
1
integer
Код передаваемой величины:
7 – массив переменных, передаваемых
от EULER к FlowVision
8 – массив переменных, передаваемых
от FlowVision к EULER
2
integer
Номер региона, начиная с 0
Бинарные данные
бинарный массив,
структура которого описана в приложении Б
  
 
Команда:
MBC_TERMINATE
Направление передачи:
в обоих направлениях
Описание:
команда корректного завершения расчета
Параметры:
нет
Бинарные данные
нет
  
 
Команда:
MBC_ERROR
Направление передачи:
от EULER к FlowVision
Описание:
сообщает о возникшей ошибке и передает её код.
После этой команды расчет считается
завершенным аварийно
Параметры:
№
Тип
Описание
1
integer
Код ошибки
(на усмотрение разработчика EULER)
Бинарные данные
нет
  
 
Команда:
MBC_INITDONE
Направление передачи:
от EULER к FlowVision
Описание:
информирует об окончании этапа инициализации
и переходе к расчету
Параметры:
нет
Бинарные данные
нет
  
 
Команда:
MBC_REGIONNAME
Направление передачи:
от EULER к FlowVision
Описание:
передача имени региона
Параметры:
№
Тип
Описание
1
integer
Номер региона, начиная с 0
Бинарные данные
имя региона в виде строки в кодировке UTF8
 
Общая логика обмена
 
Команды, посылаемые FlowVision
Команды, посылаемые EULER
Начальная инициализация
 
Для каждого региона связи:
MBC_REGIONNAME
MBC_INITDONE
Выполнение совместного расчета
 
Для каждого региона связи:
MBC_VALUES
MBC_CONTINUE
Для каждого региона связи:
MBC_VALUES
MBC_CONTINUE
 
Завершение расчета:
MBC_TERMINATE
(посылает или FlowVision или EULER)