Здравствуйте. В проекте реализуется отображение времени и даты в ГЭ "Дата и время" с возможностью записи нового значения даты и времени при помощи кнопки на экране. Для этого создана системная переменная @t_Set_Time_1 типа Output с Параметром = 0, а также канал класса TIME типа Output с привязкой к переменной @t_Set_Time_1. Формат представления: Дата и время (формат ОС). На экране создан элемент "Дата и время" с привязкой к реальному значению канала TIME через аргумент экрана типа Output формата DATE AND TIME. Также создана кнопка типа Ввести и передать, привязанная ко входному значению канала TIME через тот же аргумент экрана. При этом происходит следующее: при запуске профайлера в соотв. ГЭ отображается 4 часа утра 1.01.1970, и время это стоит на месте. При вводе нового значения времени оно обновляется в ГЭ, но все так же стоит на месте. Вопрос: что я сделал не так и как это исправить?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1. Любой канал типа OUT используется только для передачи переменной в соответствии со своей функцией и всегда отображает только последнее введенное значение переменной.
2. Отображать текущее время следует с помощью канала TIME типа INPUT, связанной с системной переменной @t_Set_Date (INPUT).
3. Аргумент OUT экрана следует привязывать к атрибуту ВХОДНОЕ ЗНАЧЕНИЕ канала.
Сама задача задания системного времени оператором технологического процесса представляется не вполне корректной. Синхронизация времени на ПК проекта - задача системная, решаемая. как правило, средствами сетевых служб.
Posted by Лобастов Сергей (Участник № / Member № 6240) on :
Сделав все, как вы сказали, получил сразу значение текущего времени (времени в ОС), которое изменяется как положено. Но возможность записи нового значения времени исчезла. Кнопку нужно привязать к какому-то другому аргументу?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Кнопка должна быть привязана к OUT-аргументу Date & TIME, привязанному к атрибуту ВХОДНОЕ ЗНАЧЕНИЕ канала TIME (OUT), который связан с системной переменной @t_Set_Time_1 типа Output с Параметром = 0.
Posted by jenyak542 (Участник № / Member № 9353) on :
Здравствуйте. Пытаюсь настроить дату и время. Подскажите, что такое системные переменные @t_Set_Time_1 и @t_Set_Date. Где их найти и как привязать к каналам?
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
Опишите свою задачу. Что имеется в виду под настройкой времени и где?
Переменные описаны в справке в параграфе: Каналы и системные переменные TRACE MODE 6 -> Системные переменные TRACE MODE 6 -> Группа Системные -> @t_Set_Time_1 и @t_Set_Date.
В ИС эти компоненты в слое Источники/Приемники -> Диагностика и Сервис -> Системные. Привязываются (можно перетащить на) к числовому каналу или CALL.CGR в узлах в слое Система.
Posted by jenyak542 (Участник № / Member № 9353) on :
С переменными разобрался. Задача отображать системное время и возможность его изменять. С отображением времени получилось, а с изменением нет, передаю значение. Ввожу и передаю через кнопку значение в канал time типа output, который связан с переменной @t_Set_Time и привязан к аргументу экрана OUT DATE_AND_TIME привязанный ко входному значению этого же канала. Время не изменяется.
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
Если пытаетесь изменить время на ПК, то в ОС Windows 10 это не получится сделать. Это отражено в документации - работа с каналами OUT не описана.
В следующей версии TRACE MODE такая возможность будет реализована.