Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Отображение время дата Siemens PLC  (Прочитано 2612 раз)

DikoSt

  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Отображение время дата Siemens PLC
« : 21 Января 2019, 15:25:27 »
Здравствуйте.
Возникла у меня неприятная проблема следующего содержания. Имеется OPC сервер связанный с PLC Siemens соответственно и формат их передачи соответствует формату Сименса.
Попытки свести это всё к какому-нибудь вразумительному результату у меня не получилось. Может кто подскажет, что дельное т.к. мои решения достаточно громоздкие и несколько выглядят криво ( к тому же  в следствии спешки и невнимательности они ещё и не работают).
Есть следующие данные:
Две даты-время  тип UInt32
и Дата тип UInt16
21.01.2019 период с 14 до 15 часов ( точно не могу сказать) были следующие значения:
48655731      датавремя начала
50336803      датавремя конца
10612           дата

Заранее благодарен за предложения решения текущей проблемы.

DikoSt

  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Отображение время дата Siemens PLC
« Ответ #1 : 21 Января 2019, 19:30:37 »
В догонку ещё пара вопросов:
Есть переменная отображающая длительность процесса, по сути разница между конец - старт в общем, судя по всему, исчисляется в миллисекундах.  Так вот надо это дело отображать и получил я слудующие проблемы:
Создал я внутреннюю переменную типа DateTime и записал в неё следующее:

varDateTime.Value:=SecondsToDateTime(OverralTime/1000/60);
Field1.Text:= DateTimeToStr (varDateTime.Value);
В результате я получаю, то что и ожидал 00:28:01.

Но в то же время если связать объект поле с этой переменной, то в отображении получу 0,02 :( Это в основном очень мешает в формировании отчёта.


PS: Есть ещё одна непонятка. Если импортирую переменные с OPC сервера, то всё хорошо, но стоит изменить хоть, что-нибудь в свойствах переменной (имя, тип, формат отображения и т.п.), то сразу же получаю, что эта переменная более "не работает" отображается восклицательный знак. С чем такое может быть связано?

DikoSt

  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Отображение время дата Siemens PLC
« Ответ #2 : 21 Января 2019, 23:46:24 »
Кажется подразобрался, хоть ещё и не до конца, но результат уже есть:
Там где я думал, что это время дата, это просто время и отчитывается оно в миллисекундах от полуночи
т.е. в DateTime переводится как значение/1000. А ну да и отображаю только время, т.е. TimeToStr.
Там же где дата, там количество дней от 1990 года. Процедура примерно аналогичная.
С остальными вопросами ещё буду разбираться дальше.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: Отображение время дата Siemens PLC
« Ответ #3 : 22 Января 2019, 19:13:40 »
Цитировать
Если импортирую переменные с OPC сервера, то всё хорошо, но стоит изменить хоть, что-нибудь в свойствах переменной (имя, тип, формат отображения и т.п.), то сразу же получаю, что эта переменная более "не работает" отображается восклицательный знак. С чем такое может быть связано?
Здравствуйте. Эта проблема была недавно исправлена, скачайте последнюю версию скады и выполните обновление (если у Вас уже последняя версия, то скачайте её повторно).