Среда разработки Unimod PRO 2 (версия 2.3.40)
 Руководство по программированию
×

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;