Перевел проект с версии 6.06.02 на 6.07, просто сохранил для МРВ ничего не меняя. Вылезла ошибка, похожая на описанную в "ГЭ "КНОПКА"". После "неудачного" нажатия на кнопки начали повисать команды "прямая передача значения с восстановлением". Создат тестовый проект: из ТМ 6.07 передавал 1(bool) через Merz OPC server на дискретные выходы Simatic S7-300. Пробовал на КНОПКА и ТЕКСТ. Проверил варианты: прямая передача с восстановлением, прямая передача с восстановлением плюс передача нуля по отпусканию, прямая передача без восстановления плюс передача нуля по отпусканию. Во всех вариантах получил один результат: Если несколько раз подряд коротко нажать кнопку (текст) возможно повисание единицы. Если период пересчета 7х55мс или больше - дефект проявляется очень редко. Если период меньше дефект повторяется регулярно. Если период 3х55см. или меньше - можно приспособиться и почти 100% подвешивать команду с единственного коротного нажатия. Но на экране входное и реальное значение каналов всегда отображается правильно. Цикл ОРС сервера был равен 100мс. Можно было бы предположить что виноват ОРС сервер, но после замены версии на 6.07 проблемы пошли косяком, в первые же сутки. Пришлось срочно откатывать к 6.06 - проблемы исчезли, а больше ничего не менялось.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Все процедуры управления, связанные с опцией "Восстановление значения" и/или с сочетанием функций "по нажатию" и по отпусканию" очень чувствительны к динамическим характеристикам как операторского интерфейса и цикла обработки каналов, так внешнего асинхронного потока обмена данными. Поэтому надежную организацию подобных алгоритмов можно организовать только программным путем. В релизе 6.07 эти алгоритмы в основе своей не менялись.
Posted by Сергей Морозов (Участник № / Member № 2076) on :
А можно подробней про надежный программный путь? Что то я пока не вижу такого.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Надо написать программу, которая реализовывала бы передачу нового и восстановление старого значения с необходимыми Вам временными задержками, которые не зависели бы от динамики обработки данных и реактивности действий оператора. Языки программирования, реализованные в trace Mode 6, достаточно гибкие и позволяют работать с переменными, контролирующими время. Универсальное программное решение вряд ли возможно.
Posted by Сергей Морозов (Участник № / Member № 2076) on :
Программно получается коряво, практически можно только искуственно расширить импульс. Причем до величины большей чем мне надо. Проверил на одной и той же машине на версиях 6.06.02 и 6.07. На 6.06 все работает нормально, на 6.07 глючит. Изменения точно есть, причем в худшую сторону. Может следует сделать как было?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Нет. Вернуть эти функции графического интерфейса к предыдущему релизу не представляется возможным.
Posted by Сергей Морозов (Участник № / Member № 2076) on :
Т.е. исправлений не ждать?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :