CONFIG - получение и изменение сетевых настроек

Назначение.
Функциональный блок CONFIG применяется для получения и изменения сетевых настроек мастер-модуля.
Состав структурной переменной.
Переменная со структурным типом CONFIG будет добавлена в локальный словарь автоматически при добавлении блока в редактор.

Описание алгоритма.
Режим работы блока определяется командой на входе CMD и соответствующими ей параметрами на входах ARG и PARAM согласно таблице:
|
CMD
|
Краткое описание
|
|
1
|
Получить IP-адрес порта. Номер порта задается входом ARG (ARG=1..N).
Возвращаемое значение - IP-адрес.
|
|
2
|
Изменить IP-адрес порта в конфигурационном файле. Новый IP-адрес применится после перезапуска модуля. Номер порта задается входом ARG (ARG=1..N), IP-адрес - входом PARAM. В случае успешного завершения возвращаемое значение = 0.
|
|
3
|
Временно изменить текущий IP-адрес порта (при этом конфигурационный файл не изменяется, после перезапуска модулю вернется прежний IP-адрес). Номер порта задается входом ARG (ARG=1..N), IP-адрес - входом PARAM. В случае успешного завершения возвращаемое значение = 0.
|
|
4
|
Обнулить маршрут до указанного IP-адреса. Применяется однократно после замены удаленного устройства на аналогичное, с тем же IP-адресом. Вход ARG не используется и должен быть равен 0. IP-адрес удаленного устройства задается входом PARAM.
|
|
5
|
Получить MAC-адрес порта. Номер порта задается входом ARG (1..N). Вход PARAM может принимать значения 0 (получение младшей части) или 1 (получение старшей части). Например, если Ethernet контроллер имеет MAC-адрес FC:83:29:00:01:02, младшая часть равна 16#29000102, а старшая - 16#FC83 (16# - признак 16-ричной системы исчисления).
|
Команда 2 изменяет IP-адрес после перезапуска модуля, команда 3 - временно, до перезапуска. Для немедленного и постоянного изменения IP-адреса необходимо выполнить оба вызова.
Для преобразования IP-адреса из строкового представления в формате IPv4 в целое число и обратно используйте функции TO_IP_ADDR и FROM_IP_ADDR.
|
Пример синтаксиса на языке ST.
//вызов функционального блока CONFIG
Block.CONFIG(CMD, ARG, PARAM);
//чтение выходного параметра Q, его значение зависит от выбранной команды CMD,
//но при возникновении ошибки Q = -1
Q := Block.Q;
|
