Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » Языки программирования в TRACE MODE 6 / Algorithm Programming Languages » Текущее время в программе на ST

   
Автор / Author Тема / Topic: Текущее время в программе на ST
mokeichev
Junior Member / Новичок
Участник № / Member № 2070


Icon 11 отправлено / posted      Профиль для / Profile for mokeichev           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Помогите чайнику вытянуть в программу текущее время в виде DATE_AND_TIME.
Сообщения / Posts 27 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В программе время в формате DATE_AND_TIME не будет воспринято.
Надо его передавать в формате LONG. Внутри TRACE MODE эта конвертация осуществляется автоматически.

Если Вы получили строку извне, например, из БД, надо ее привязать к каналу класса TIME. Он автоматически произведет преобразование.

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Уточнения.
В настоящее время приведение данных в формате DATE_AND_TIME автоматически осуществляется во всех процедурах передачи значения времени при любых реализуемых межкопонентных связях.
Если речь идет о передаче в программу текущего времени системы, то это можно сделать двумя способами.
Если в базе каналов есть какой-либо канал, значение которого изменяется с каждым циклом пересчет базы, то можно взять его атрибут "Время изменения" (45).
Если такого канала нет, можно создать канал класса TIME и привязать его к системной переменной @t_Set_Date (Input), а его значение ввести в программу.

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
mokeichev
Junior Member / Новичок
Участник № / Member № 2070


Icon 1 отправлено / posted      Профиль для / Profile for mokeichev           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо, все работает.
Сообщения / Posts 27 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
mokeichev
Junior Member / Новичок
Участник № / Member № 2070


Icon 1 отправлено / posted      Профиль для / Profile for mokeichev           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Еще вопрос.
Из программы вывожу на Экран значения аргументов программы. Они периодически показывают то нормальное значение то ноль. Текст программы простой. Не пойму в чем дело. Помогите.

PROGRAM
VAR_OUTPUT DateTimeToDysplay_R : DATE_AND_TIME; END_VAR
VAR_OUTPUT TimeSiemens_R : UDINT; END_VAR
VAR_OUTPUT DateSiemens_R : USINT; END_VAR
VAR_OUTPUT DateTimeToDysplayHEX_R : UDINT; END_VAR
VAR_INPUT Set_Time_Value_R : DATE_AND_TIME; END_VAR
VAR VAR_000 : DATE_AND_TIME := dt#1990-01-01-00:00:00; END_VAR

DateTimeToDysplayHEX_R = Set_Time_Value_R;
DateTimeToDysplay_R = Set_Time_Value_R;
TimeSiemens_R = (Set_Time_Value_R%(24*3600))*1000;
DateSiemens_R = (Set_Time_Value_R - VAR_000)/(24*3600);

END_PROGRAM

Сообщения / Posts 27 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
mokeichev
Junior Member / Новичок
Участник № / Member № 2070


Icon 1 отправлено / posted      Профиль для / Profile for mokeichev           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Если я задаю для канала программы период несколько секунд, то видно, что некоторые действительные значения появляются на Экран МРВ на один цикл, а затем сбрасываются в ноль. Такое впечатление, что каналы постоянно сбрасываются в ноль.
Что я делаю не правильно?

Сообщения / Posts 27 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
mokeichev
Junior Member / Новичок
Участник № / Member № 2070


Icon 1 отправлено / posted      Профиль для / Profile for mokeichev           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Прошу, прощения. Сам разобрался.
Спасибо!

Сообщения / Posts 27 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2