Вопрос: Почему не работает функция для считывания данных из базы данных с помощью SQL-запроса, назначенная на графический объект?
Программное обеспечение: Vijeo Citect, Citect SCADA, Aveva Plant SCADA
Ответ:
Дело в том, что SQL функции являются блокирующими, а блокирующие функции нельзя вызывать в foreground Cicode (с графических страниц). Если это сделать, то функция будет возвращать ошибку, на странице Hardware Alarms появится аларм Foreground Cicode cannot block со ссылкой на эту функцию. Решением будет переписать функцию так, чтобы она не возвращала значение а присваивала его какому-то тегу и сделать периодическое событие (Event) которое бы запускало эту функцию.
Программное обеспечение: Vijeo Citect, Citect SCADA, Aveva Plant SCADA
Ответ:
Дело в том, что SQL функции являются блокирующими, а блокирующие функции нельзя вызывать в foreground Cicode (с графических страниц). Если это сделать, то функция будет возвращать ошибку, на странице Hardware Alarms появится аларм Foreground Cicode cannot block со ссылкой на эту функцию. Решением будет переписать функцию так, чтобы она не возвращала значение а присваивала его какому-то тегу и сделать периодическое событие (Event) которое бы запускало эту функцию.