Вот только теперь "варнинги" сыплются постоянно...
Можно было бы и забить на них, но мы ведь профессионалы! Недопускам костылей. Не так ли?
Варнинги.png
Вот только теперь "варнинги" сыплются постоянно...
Можно было бы и забить на них, но мы ведь профессионалы! Недопускам костылей. Не так ли?
Варнинги.png
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk
А если в графическом элементе "Нажимной выключатель" в конфигурации ввода "OnValueChanged" разместить команду "Выполнить ST-код", то он при нажатии на этот выключатель должен выполниться один раз? Или я что-то не понимаю?
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk
Привет. Подскажите, как присвоить переменной дату и время в момент нажатия на клавишу на экране?
Будем использовать библиотеку CAA DTUtility и ее функциональный блок GetDateAndTime.
Создадим на экране визуализации клавишу "Временной хлопок!" и в событии OnMouseClick разместим код:
В основной программе расположим следующий код:Код:PC_PRG.fbGetDateTime.xExecute := TRUE; // запустим ф-блок
При нажатии на клавишу дата и время не записываются в переменную.Код:fbGetDateTime: DTU.GetDateAndTime; // при объявлении переменных создадим экземпляр ф-блока dtMyDateTime: DATE_AND_TIME; // объявляем переменную для хранения даты и времени последнего (крайнего) хлопка Основная программа: IF fbGetDateTime.xDone THEN // дождемся завершения работы ф-блока dtMyDateTime := fbGetDateTime.dtDateAndTime; // забираем результат fbGetDateTime.xExecute := FALSE; // деактивируем ф-блок END_IF
Что я делаю не так?
Последний раз редактировалось ВладОвен; 21.06.2022 в 11:01.
Вы не вызываете блок.
Надо так:
"Создадим на экране визуализации клавишу "Временной хлопок!" и привяжем к ее параметру Конфигурация ввода/Нажатие/Переменная переменную PC_PRG.xGetDateAndTime типа BOOL.
Код:// объявление переменных VAR fbGetDateTime: DTU.GetDateAndTime; // при объявлении переменных создадим экземпляр ф-блока dtMyDateTime: DATE_AND_TIME; // объявляем переменную для хранения даты и времени последнего (крайнего) хлопка xGetDateAndTime: BOOL; // команда чтения системного времени из визуализации END_VAR // код программы fbGetDateTime(xExecute := xGetDateAndTime); IF fbGetDateTime.xDone THEN // дождемся завершения работы ф-блока dtMyDateTime := fbGetDateTime.dtDateAndTime; // забираем результат fbGetDateTime(xExecute := FALSE); // деактивируем ф-блок. в данной реализации можно этого и не делать, потому что он будет автоматически деактивирован при отпускании кнопки в визуализации за счет первой строки программы END_IF
Последний раз редактировалось Евгений Кислов; 21.06.2022 в 11:09.
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk
Спасибо. Так заработало.
Подскажите, а почему при нажатии на кнопку "Временной хлопок!" дата и время становятся равными: 21.06.2022 08:36:21 ?
Хотя хлопок произошел в 21.06.2022 11:36:21 .
При этом в соседнем поле на экране визуализации (для контроля) выводится текст %t[dd.MM.yyyy HH:mm:ss] (т.е. текущая дата/время). Там отображается 21.06.2022 11:36:21 , т.е. верные дата/время.
Что может быть не так?
Они не "становятся равными", они считываются без учета часового пояса (в UTC+0).
Для наших контроллеров эта библиотека вообще не нужна - у нас системное время и часовой пояс доступны в узле OwenRTC в дереве проекта.
2022-06-15_11-03-37.png
Последний раз редактировалось Евгений Кислов; 21.06.2022 в 11:52.
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk
Евгений, спасибо за оперативные и быстрые ответы. Без вас можно было бы волосы рвать от безнадёги (в т.ч. и на голове).
Привет. Компилирую проект, но получаю кучу непонятных предупреждений. И нет указания где именно в коде произошло то, или иное предупреждение.
Подскажите в чем дело? См. рисунок.
Спасибо.
Некие ошибки.png
Последний раз редактировалось ВладОвен; 01.07.2022 в 16:37.