Здравствуйте!
Извините, могли бы вы помочь? я сейчас осваиваю Codesys 3.5, используя АГАВА ПЛК-40.
Нужно передать из «менеджера тревог» в программу список и количество активных тревог.
Знаю, что в библиотеке «AlarmManager» (связанной с «Менеджером тревог») есть метод GetActiveAlarm, позволяющий сделать это, однако ему нужно передать переменную типа IAlarmManagerClient на вход itfAlarmManagerClient.
В примере от 3S (package примера взял у вас на сайте) в PLC_PRG (прикрепленная картинка «PLC_PRG из примера_1») используется экземпляр instAlarmManagerClient функционального блока AlarmManagerClient (прикрепленная картинка «Функциональный блок AlarmManagerClient») внутри которого объявлена переменная m_itfAlarmManagerClient типа IAlarmManagerClient с начальным значением THIS^(в руководстве не нашел что это такое).
Переменная m_itfAlarmManagerClient аналогично используется внутри метода ActiveAlarmsChanged этого же функционального блока (прикрепленная картинка «метод AlarmManagerClient.ActiveAlarmsChanged»).
В моей программе объявил внутри одного из функциональных блоков аналогичную переменную m_itfAlarmManagerClient типа IAlarmManagerClient с начальным значением THIS^ (прикрепленная картинка «Проблема в моей программе»), которую я использую в качестве входной для метода GetActiveAlarms, аналогично примеру от 3S. Однако при компиляции в моей программе появляется сообщение от ошибке «Невозможно конвертировать тип ‘ERRORS’ в тип ‘IAlarmManagerClient’.
Можете подсказать как исправить данную ошибку или к какой подобной переменной в менеджере (или конфигураторе) тревог обращаться для правильной работы с методом GetActiveAlarms?
Извините, могли бы вы помочь? я сейчас осваиваю Codesys 3.5, используя АГАВА ПЛК-40.
Нужно передать из «менеджера тревог» в программу список и количество активных тревог.
Знаю, что в библиотеке «AlarmManager» (связанной с «Менеджером тревог») есть метод GetActiveAlarm, позволяющий сделать это, однако ему нужно передать переменную типа IAlarmManagerClient на вход itfAlarmManagerClient.
В примере от 3S (package примера взял у вас на сайте) в PLC_PRG (прикрепленная картинка «PLC_PRG из примера_1») используется экземпляр instAlarmManagerClient функционального блока AlarmManagerClient (прикрепленная картинка «Функциональный блок AlarmManagerClient») внутри которого объявлена переменная m_itfAlarmManagerClient типа IAlarmManagerClient с начальным значением THIS^(в руководстве не нашел что это такое).
Переменная m_itfAlarmManagerClient аналогично используется внутри метода ActiveAlarmsChanged этого же функционального блока (прикрепленная картинка «метод AlarmManagerClient.ActiveAlarmsChanged»).
В моей программе объявил внутри одного из функциональных блоков аналогичную переменную m_itfAlarmManagerClient типа IAlarmManagerClient с начальным значением THIS^ (прикрепленная картинка «Проблема в моей программе»), которую я использую в качестве входной для метода GetActiveAlarms, аналогично примеру от 3S. Однако при компиляции в моей программе появляется сообщение от ошибке «Невозможно конвертировать тип ‘ERRORS’ в тип ‘IAlarmManagerClient’.
Можете подсказать как исправить данную ошибку или к какой подобной переменной в менеджере (или конфигураторе) тревог обращаться для правильной работы с методом GetActiveAlarms?
Комментарий