Модераторы: PILOT, ManiaK, Mazzi

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с меткой времени, ПЛК формирует время длинной строкой 
V
    Опции темы
mrbrooks
  Дата 25.10.2007, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: нет
Всего: 306



Комрады подсобите если можете. У меня контроллер выдает метку времени длинной строкой к примеру 1193316160040000 - типа это в микросекундах - а как перевести эту байду к человеческому виду фиг знает. Помогите!!! smile 
PM MAIL   Вверх
AVR32
Дата 25.10.2007, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 28.4.2007
Где: СПб

Репутация: 1
Всего: 1



Что за контроллер и что значит ‘человеческий вид’?
PM MAIL WWW   Вверх
mrbrooks
Дата 26.10.2007, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: нет
Всего: 306



Цитата(AVR32 @ 25.10.2007,  17:27)
Что за контроллер и что значит ‘человеческий вид’?

Контроллер - 7000 - ADM 
Человеческий вид - это чтобы можно было понять какое время - а именно - часы - минуты - секунды и миллисекунды. 
 
PM MAIL   Вверх
AVR32
Дата 27.10.2007, 01:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 28.4.2007
Где: СПб

Репутация: 1
Всего: 1



Посмотри описание на контроллера, там должно быть указано относительно какой календарной отметки начинает тикать временная отметка.
Но в любом случае делить надо. Что то типа этого:
Код

x    = 1193316160040000;
t_us    = (unsigned long int)(x/1000000);
time_us= x - 1000000 * t_us;            // Время, микросекунды
t_s    = (unsigned long int)(t_us/60);
time_s    = t_us - 60 * t_s;            // Время, секунды
t_min    = (unsigned long int)(t_s/60);
time_min= t_s - 60 * t_min;            // Время, минуты
t_hrs    = (unsigned long int)(t_min/24);
time_min= t_min - 24 * t_min;            // Время, часы


PM MAIL WWW   Вверх
mrbrooks
Дата 29.10.2007, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: нет
Всего: 306



Спасибо. Попробую поюзать.
PM MAIL   Вверх
mrbrooks
Дата 31.10.2007, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: нет
Всего: 306



to AVR32 Комрад - получается какое-то порно не связанное даже приблизительно с реал-таймом. Вполне вероятно что может контроллер косячную метку выдает. Послушай а насчет даты формирования времени - из нее типа надо вычесть полученную метку и потом ее преобразовывать? Я правильно мыслю?
PM MAIL   Вверх
cardinal
Дата 31.10.2007, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



Цитата(AVR32 @  27.10.2007,  00:58 Найти цитируемый пост)
Посмотри описание на контроллера, там должно быть указано относительно какой календарной отметки начинает тикать временная отметка.




--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
mrbrooks
Дата 31.10.2007, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: нет
Всего: 306



Цитата(cardinal @ 31.10.2007,  12:40)
Цитата(AVR32 @  27.10.2007,  00:58 Найти цитируемый пост)
Посмотри описание на контроллера, там должно быть указано относительно какой календарной отметки начинает тикать временная отметка.

Я умею читать. Посмотрел. Нет. Это раз. А во вторых - меня не это интересует блин smile 
PM MAIL   Вверх
cardinal
Дата 1.11.2007, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



Где описание контроллера? Ссылку бы выложил...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
AVR32
Дата 1.11.2007, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 28.4.2007
Где: СПб

Репутация: 1
Всего: 1



Цитата(mrbrooks @ 31.10.2007,  13:57)
Я умею читать. Посмотрел. Нет. Это раз. А во вторых - меня не это интересует блин smile

А что тогда интересует?
На сколько я понял, вопрос был "а как перевести эту байду к человеческому виду" и он не был закрыл. Тебе не напрасно говорят посмотреть описание на эту функцию.
Начну со стороны. Если тебе доводилось программировать под Win, то наверняка сталкивался с функцией GetTickCount. Эта функция в качестве результата обращения к ней возвращает значение в миллисекундах, так называемую временную метку. В качестве начала отсчёта функция берёт от старта (загрузки) системы. Понятно, что с помощью данной функции нельзя получить текущее время (дату, месяц, год, день...), т.к. никакой привязки к календарю и часам нет.
Есть другая и функция GetSystemTimeAsFileTime, которая возвращает 64-битное значение 100-наносекундных интервалов от даты 01.01.1601. Понятно, что по этой привязке можно получить и текущее время, и текущий календарь.
Моя мысль понятна?
PM MAIL WWW   Вверх
mrbrooks
Дата 2.11.2007, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: нет
Всего: 306



to AVR32 

На верно я не совсем ясно изложил свою проблему. Моя задача состоит в следущем. Есть общий шкаф который передает свои данные на верхний уровень в какую то SCADA. Но известная их проблема - данные принимаются спериодичность не менее 1 секунды. Нам надо чтобы данные фиксировались раз в 10 миллисекунд. Был приобретен девайс  7000 - ADM в котором есть архив. В этот архив пишутся данные с периодичностью как раз в 10 мсекунд (можно больше - меньше нет). Для работ с этим архивой есть своя собственная среда базирующаяся на стандарте 61131. Ни какого С++.
Теперь об архиве. При записи в архив формируется метка (в микросекундах) времени самим архивом. Ее я могу ТОЛЬКО СЧИТАТЬ. Считываю толлько как __int64, long int - не подходит по размеру. И уже вот эту метку я должен обработать. Так что ни какие сишные функции здесь не помогают ибо фиг знает от какой даты идет отсчет. Приходится шаманить. Косяков в девайсе нашли уйму.  Разрабы сидят в США. Плодотворно сними общаюсь - но чето ребята конкретного ничего предложить не могут.

to cardinal 

Здесь есть все

cardinal
PM MAIL   Вверх
cardinal
Дата 2.11.2007, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



И что я должен изучить весь этот аппарат и найти нужный pdf, или Вы все таки укажете конкретное место в описании из которого Вы отталкиваетесь...

Это сообщение отредактировал(а) cardinal - 3.11.2007, 03:26


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
AVR32
Дата 2.11.2007, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 28.4.2007
Где: СПб

Репутация: 1
Всего: 1



mrbrooks
Вы выражаетесь предельно ясно, но только не хотите понять, что временная метка имеет начало, так называемую точку отсчёта тика, и чтобы понять с какого момента берут начало тики, надо посмотреть описание на Ваш прибор ADM. Делать за Вас это никто не будет, это надо Вам и предлагать другим это сделать за Вас - это называется ламерство  smile .
PM MAIL WWW   Вверх
mrbrooks
Дата 6.11.2007, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: нет
Всего: 306



Цитата(AVR32 @ 2.11.2007,  22:07)
mrbrooks
Вы выражаетесь предельно ясно, но только не хотите понять, что временная метка имеет начало, так называемую точку отсчёта тика, и чтобы понять с какого момента берут начало тики, надо посмотреть описание на Ваш прибор ADM. Делать за Вас это никто не будет, это надо Вам и предлагать другим это сделать за Вас - это называется ламерство  smile .

Да сам ты... пардон Вы - ламер. Вы что совсем сдурели - сами просили скинь ссылку на документацию - это не моя идея - а Ваша. Тем паче не надо мне что бы за меня разбирались. Тем более такие товарищи которые видимо ни черта  в суть вопроса не вникают. Если говорю что не написано - то мля значит не написано. Не веришь читай ссылку на доки. Не хочешь - не трахай мозг. 

to cardinal  Ты уж извини комрад - но всетаки задним числом мне здесь как внушали местные метры сабжи не редактируют. Ну ты меня конечно вообще прибил мухобойкой - сам же просил документацию. Конечно сорри что видимо заголовки там на английском - моя не доработка - не понятно русскому человеку - видимо чай еще и из Германии. 

Короче спасибо за содействие в решение вопроса чуваки.
 
PM MAIL   Вверх
cardinal
Дата 6.11.2007, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



1. С англ. проблем нет.
2. Времени искать в кучу документации что-то ВАМ нужно нет. Тем более, если Вы сами говорите
Цитата(mrbrooks @  6.11.2007,  07:36 Найти цитируемый пост)
Если говорю что не написано - то мля значит не написано. Не веришь читай ссылку на доки.

Тогда я задаю себе вопрос - зачем покупать то, что потом непонятно как пристроить? Нет документации нормальной ну и не надо, но не значит же что больше ничего на рынке нет.
Цитата(mrbrooks @  6.11.2007,  07:36 Найти цитируемый пост)
но всетаки задним числом мне здесь как внушали местные метры сабжи не редактируют.

Я там просто "ты" на "Вы" поменял. Не сильно задел этим? А может просто придраться не к чему?

А вообще, если я захожу по ссылке и за 5 минут ничего не нахожу, то извините больше времени у меня для этого нет. Вот по этому я и сказал, что лучше бы ссылку на конкретный pdf! Если мы говорим о таймере, то и ссылку на документацию по таймеру надо давать...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.1092 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.