АБАК ПЛК
Руководство по настройке и программированию
×

Функциональный блок fb_Sys_Diag

 
Расположение: AbakPlcUtils.
 
Функциональный блок fb_Sys_Diag выполняет опрос тегов ПЛК из Shared_Memory и записывает результаты в глобальный список данных «abakplcutils.cpu_diagnose». Данный блок рекомендуется вызывать в отдельной задаче с частотой цикла 100 – 200 мс.
 
Входы:
1. NODE_BEGIN (BYTE) – Начальный номер модуля на CAN шине;
2. NODE_END (BYTE) – Конечный номер модуля на CAN шине;
3. MODUL_NUMBER (BYTE) – Количество установленных модулей на CAN шине;
4. CMD_Change_CPU  (BOOL)  –  Команда:  0  –  нет  команды,  1  –  переключить  процессор.
 
Важно! Для корректной работы параметры NODE_BEGIN, NODE_END, MODUL_NUMBER  должны находиться в диапазоне от 1 до 100 (включительно).
Важно! Параметры NODE_BEGIN, NODE_END, MODUL_NUMBER должны быть присвоены при вызове блока.
Важно! Если диагностика модулей не требуется, установите параметр NODE_BEGIN = 1, а параметр NODE_END = 0. В этом случае диагностика модулей выполняться не будет.
 
Результатом выполнения блока будет формирование глобального списка переменных «abakplcutils.cpu_diagnose», имеющего следующую структуру:
1. SERNUM (STRING) – серийный номер контроллера.
2. PLC_VERSION (STRING) – версия контроллера.
3. Power_Error (BOOL) – отказ одного из блоков питания.
4. RDCY_Error (BOOL) – отказ резервирования процессора.
5. CPU_Master (BOOL) – процессор – мастер для COM-портов.
6. IO_Module_Alarm BOOL) – отказ одного из модулей ввода-вывода.
7. IO_Module_Warning (BOOL) – предупреждение одного из модулей ввода-вывода.
8. CDS_PLCIdent (RDCY.Redundancy_Interfaces.PLC_IDENT) – идентификатор ПЛК в резервированной паре.
9. Interfases (udt_Interfaces) – состояние интерфейсов процессора. Представляет собой структуру Х, которая содержит следующие данные типа (BOOL):
  • CAN1_Good – Отказ CAN1;
  • CAN2_Good – Отказ CAN2;
  • ETH0_Link – Кабель ETH0;
  • ETH1_Link – Кабель ETH1;
  • ETH2_Link – Кабель ETH2;
  • ETH3_Link – Кабель ETH3;
  • ETH4_Link – Кабель ETH4;
  • COM1_Active – COM1 активен;
  • COM2_Active – COM2 активен;
  • COM3_Active – COM3 активен;
  • COM4_Active – COM4 активен;
  • COM5_Active – COM5 активен;
  • COM6_Active – COM6 активен;
  • COM7_Active – COM7 активен;
  • COM8_Active – COM8 активен;
  • COM9_Active – COM9 активен;
  • COM10_Active – COM10 активен;
  • COM11_Active – COM11 активен;
  • COM12_Active – COM12 активен.
10. IO_Modul (ARRAY[1..100] OF udt_IO_Modul_State) – массив состояний модулей ввода-вывода. Каждая ячейка массива соответствует одному устройству и является структурой со следующими полями:
  • Device_State (INT) – состояние устройств на CAN-шине
    (0 – INIT, 1 – RESET_COMM, 2 – RESET_APP, 3 – PRE_OPERATIONAL,
    4 – STOPPED, 5 – OPERATIONAL, 6 – UNKNOWN, 7 – NOT_AVAIL);
  • HardwareDiag (UINT) – Внутренняя диагностика по битам
    (0 – FAUT MEMORY, 1 – FAULT CHANEL, 2 – FAULT CAN1, 3 – FAULT CAN2,
    4 – FAULT POWER1, 5 – FAULT POWER2);
  • Fault (BOOL) – Отказ модуля: TRUE – FAULT;
  • Warning (BOOL) – Предупреждение модуля: TRUE – WARNING.
11. CPU_Load (REAL) – загрузка процессора, %.
12. CPU_Overload (REAL) – флаг «Перегрузка процессора».
13. Data_Time (udt_Data_Time) – дата и время ПЛК в виде структуры со следующими полями в формате (UINT):
  • YEAR – год (в ПЛК);
  • MONTH – месяц (в ПЛК);
  • DAY – число (в ПЛК);
  • HOUR – час (в ПЛК);
  • MINUTE – минуты (в ПЛК);
  • SECOND – секунды (в ПЛК).
14. com_port_state (ARRAY [1..24] OF BOOL) – активность COM-портов. Представлен массивом. Ячейка массива с номером [N] является статусом активности порта № «N».
15. CDS_RED_STATE (RDCY.Redundancy_Interfaces.STATE) – статус резервирования.
16. CDS_RED_ERROR (RDCY.Redundancy_Interfaces.ERROR) – код ошибки резервируемой пары.
Онлайн помощь создана в Dr.Explain