Функциональный блок ping_ICMP из библиотеки AbakICMP.library
Функциональный блок ping_ICMP выполняет проверку доступности сетевого узла с помощью команды ping по протоколу ICMP в асинхронном режиме (без остановки выполнения среды разработки на время ожидания ответа).
Функциональный блок имеет следующие входные параметры:
-
xExec – BOOL – сигнал выполнения команды отправки ping.
-
timeout – ULINT – время ожидания ответа, мс.
-
IP_adress – STRING – IP-адрес целевого узла в строковом формате 'A.B.C.D'.
-
IP_port – UINT – номер порта. Для протокола ICMP должен быть установлен в 0.
Функциональный блок имеет следующие выходные параметры:
-
xBusy – BOOL – индикатор выполнения операции («В работе»).
-
bError – USINT – код ошибки:
0 – норма;
1 – ошибка открытия сокета;
2 – ошибка отправки данных в сокет;
3 – получен невалидный ответный пакет;
4 – превышен таймаут ожидания ответа;
5 – входная строка IP-адреса пуста;
6 – неверный формат строки IP-адреса (ошибка в количестве цифр или разделительных точек).
-
xError – BOOL – индикатор завершения с ошибкой («Ошибка»).
-
time_wait – ULINT – время, прошедшее с момента успешной отправки запроса до получения ответа, мс.
-
xDone – BOOL – индикатор успешного завершения операции («Работа завершена»).
Пример использования с комментариями приведен в шаблонном проекте ABAKPLC_examples.project (устройство ex_PING_ICMP), который находится в пакете AbakController_v1.0.4.0.package.