это Вы под действием "розовых" очков, снимите их, внутренние часы не отличаются приемлимой точностью, Вас скоро начнет заботить больше как их синхронизировать, а не как из них что то вытащить
Вид для печати
Да ну, коллега, это ж зависит от задачи. Совершенно нестабилизированный кварц дает точность, достаточную для меня (журналирование работы ПЛК, как Вы уже догадались). Кроме того, у меня всегда была возможность через ИП320 скорректировать уход, если оператор уже видит слишком большие разбежки.
А вот как вытащить - как раз и расспрашиваю. В данной ветке, потому что думал: есть совершенно элементарная функция, которую не знают только новички.
Другое дело: а Вы в курсе, как отмеряется время в TON? Он опирается на системные часики?
Фигасе... Интересная штука получается.
С одной стороны, вариант с пересчетом по той ОСКАТовской функции - работает. Я пока что даже не стал писать свой код, главное проверить принцип.
Ну, проверил. Получаю время в формате POSIX, т.е. в секундах от 1970 года. И вродь правильно (ну, порядок то, я прикидывал, скокак должно быть). А дай-ка, думаю, взгляну на "сотворение света"! Интересно жа...
Задаю в инициализации 1970 год, время - ясно какое, когда кто шампань пьет, кто уже и под столом лежит, да... И что? ФБ CurTimeEx, выполняющий у нас роль RTC, не принимает эту дату. Легко установил, что этот ФБ не принимает дату с годом менее 2000.
Я понимаю, Y2K problem и все такое... Но странно.
Ладно, для меня это несущественно. Вопрос закрыт.
Навряд ли ,скорее по прерыванию от внутреннего таймера (про ТОН)
http://www.owen.ru/forum/showthread....l=1#post160991 эта бибка тоже работает с часами
Ну так и фиг с ним.
Попробую изложить, как я понял:
В ПЛК100 (говорю только о нем, ибо понимаю, что все очень разнится) есть реальные часики, тикающие от аккумулятора. Обращения к ним на уровне библиотек я знаю только одни: через ФБ CurTime и CurTimeEx из SysLibTime.lib. При нулевом наборе аргументов время-дата считывается, при ненулевом - записывается.
И всьо... Время в ПЛК таким образом есть. Оно доступно из структуры SystemTimeDate в "человеческом" формате. Для получения "асболютного времени" (в формате POSIX), безусловно более удобном для операций сравнения, вычитания, упорядочения, необходимо что-то предпринимать.
Один способ - реализация RTC, имеющего прямо выход CDT в нужном формате. На ПЛК100 это не работает (или у меня кривые руки). Если ее делать на основе ФБ TON, то это значит - сначала установить время-дату из энергонезависимых часиков, а потом отмерять его на таймере. На мой непросвещенный взгляд это ничем не лучше прямого пересчета из данных структуры SDT из ФБ CurTimeEx.
Доклад окончил :)
А можно секундные импульсы генератора подать на счетчик ....код на выходе которого будет показывать время в секундах от начала события ...(генератор включать через триггерок)