AstraRegul
Руководство системного интегратора
×

6.15. ПРОГРАММА PLC_DIAG

В зависимости от типа аппаратного модуля контроллера может предоставляться или отсутствовать информация о статусе состояния его каналов. В кодовой части программы возможна оценка этой статусной информации.
 
Флаг аппаратной ошибки HwError присутствует у каждого аппаратного модуля контроллера, у корзины (крейта), а также у шины RegulBus. При возникновении аппаратной неисправности в работе компонента данный флаг будет установлен в TRUE и его можно программно считать.
Из программного кода к свойству HwError можно обратиться напрямую или выполнить привязку переменной и оценивать её состояние.
 
Данный пример кода формирует запись сообщений в пользовательский журнал myLog о неисправности модуля аналогового вывода (AO) контроллера и о восстановлении его исправного состояния.
Переменная AO8_HwError соотнесена со свойством HwError модуля AO контроллера. При возникновении неисправности в работе модуля AO переменная AO8_HwError изменит своё состояние с FALSE на TRUE. При восстановлении исправного состояния модуля AO переменная AO8_HwError изменит своё состояние с TRUE на FALSE. Оценка изменения состояния переменной AO8_HwError выполняется при помощи экземпляров функциональных блоков детекторов фронтов R_trig и F_trig.
По переднему (возрастающему) фронту переменной AO8_HwError формируется запись в журнал «Crate: Crate_R500, Module: AO_08_011 HW Error TRUE» при использовании метода Error программы Addlog.
По заднему (спадающему) фронту переменной AO8_HwError формируется запись в журнал «Crate: Crate_R500, Module: AO_08_011 HW Error FALSE» при использовании метода Info программы Addlog.
 
Переменные LINK_IN и LINK_OUT программы PLC_DIAG соотнесены со свойствами «Линк порта IN» и «Линк порта OUT» оконечных модулей ST контроллера. При наличии линка через эти порты переменные LINK_IN и LINK_OUT примут значение TRUE. При отсутствии связи переменные примут значение FALSE.
Оценивать наличие связи по шине RegulBus с использованием указанных переменных целесообразно в многокрейтовой системе.
Если в системе используется только один крейт, то замкнув патч-кордом Ethernet между собой порты модулей ST (OUT) и ST(IN) можно проверить их работоспособность (переменные LINK_IN и LINK_OUT должны принять значение TRUE). Подключение патч-корда следует выполнять к портам той шины RegulBus, на работу по которой настроен модуль CU контроллера (см. положение переключателя MBS на лицевой стороне модуля CU).
 
Функция GetSysInfo4 описана в библиотеке PsPlcInfo и предоставляет информацию о контроллере. Считанная информация сохраняется в структурной переменной sysinfo.
 
Описание некоторых переменных структуры sysinfo:
version – текущая версия СПО модуля CU контроллера.
cpu_load – загрузка каждого ядра модуля CU контроллера в десятых долях процента.
ram – информация об оперативной памяти модуля CU контроллера: размер памяти и сколько памяти использовано.
hdd_cnt – количество логических разделов жесткого диска.
hdd_info – информация по каждому разделу жесткого диска.
net_itf_info – информация о сетевых интерфейсах контроллера. По состоянию линка (link) видно, что активно подключение к «port 5» модуля CU. Отображаемое имя порта «port50». Также предоставляется информация по количеству отправленных и принятых пакетов данных.
 
Имя 'ecatbus0’ соответствует шине RegulBus.
eth.rx_bytes – количество принятых байт.
eth.align_errors – ошибки выравнивания.
eth.fcs_errors – ошибки CRC.
 
В переменную cpu_load записывается значение загрузки нулевого ядра процессора в % выражении.
 
Функция HwmonGetFloatVal позволяет запросить значение параметра в формате REAL. В программе PLC_DIAG данная функция используется для запроса значения текущей температуры процессора модуля CU контроллера. Функция HwmonGetStringVal позволяет запросить значение параметра в формате STRING. Также значение температуры процессора и другие параметры доступны для оценки во вкладке «Сервис ПЛК».