Приложение А.
Описание коммуникационного протокола связи между ПК 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
| |||||||||
|
Направление передачи:
|
в обоих направлениях
| |||||||||
|
Описание:
|
команда продолжения расчета
| |||||||||
|
Параметры:
|
| |||||||||
|
Бинарные данные
|
нет
|
|
Команда:
|
MBC_VALUES
| |||||||||
|
Направление передачи:
|
в обоих направлениях
| |||||||||
|
Описание:
|
передача значений расчетной величины (переменной)
| |||||||||
|
Параметры:
|
| |||||||||
|
Бинарные данные
|
бинарный массив,
структура которого описана в приложении Б
|
|
Команда:
|
MBC_TERMINATE
|
|
Направление передачи:
|
в обоих направлениях
|
|
Описание:
|
команда корректного завершения расчета
|
|
Параметры:
|
нет
|
|
Бинарные данные
|
нет
|
|
Команда:
|
MBC_ERROR
| ||||||
|
Направление передачи:
|
от EULER к FlowVision
| ||||||
|
Описание:
|
сообщает о возникшей ошибке и передает её код.
После этой команды расчет считается
завершенным аварийно
| ||||||
|
Параметры:
|
| ||||||
|
Бинарные данные
|
нет
|
|
Команда:
|
MBC_INITDONE
|
|
Направление передачи:
|
от EULER к FlowVision
|
|
Описание:
|
информирует об окончании этапа инициализации
и переходе к расчету
|
|
Параметры:
|
нет
|
|
Бинарные данные
|
нет
|
|
Команда:
|
MBC_REGIONNAME
| ||||||
|
Направление передачи:
|
от EULER к FlowVision
| ||||||
|
Описание:
|
передача имени региона
| ||||||
|
Параметры:
|
| ||||||
|
Бинарные данные
|
имя региона в виде строки в кодировке UTF8
|
Общая логика обмена
|
Команды, посылаемые FlowVision
|
Команды, посылаемые EULER
| |
|
Начальная инициализация
| ||
|
|
Для каждого региона связи:
MBC_REGIONNAME
MBC_INITDONE
| |
|
Выполнение совместного расчета
| ||
|
|
Для каждого региона связи:
MBC_VALUES
MBC_CONTINUE
| |
|
Для каждого региона связи:
MBC_VALUES
MBC_CONTINUE
|
| |
|
Завершение расчета:
MBC_TERMINATE
(посылает или FlowVision или EULER)
| ||