PDA

Просмотр полной версии : Блок BLINK и Write to FB только в милисекундах?



Serhioromano
30.10.2017, 10:23
Не совсем понятно как работает Write to FB

У меня есть блок BLINK в макросе. В параметрах стоят секунды. Но если я использую Write to FB то мне кажется что он назначает милисекунды. Это так? Write to FB всегда назначает милисекунды не зависимо от парамтера еденицы измерения?

Ревака Юрий
30.10.2017, 10:28
Не совсем понятно как работает Write to FB

У меня есть блок BLINK в макросе. В параметрах стоят секунды. Но если я использую Write to FB то мне кажется что он назначает милисекунды. Это так? Write to FB всегда назначает милисекунды не зависимо от парамтера еденицы измерения?

Добрый день. Вам не кажется, так и есть все блоки принимают значение уставки через FB в милисекундах, в свойствах самих блоков также можно указывать числа меньше 1с, вида 0,2 0,02.

Серёга Букашкин
30.10.2017, 10:54
Не совсем понятно как работает Write to FB
Write to FB всегда назначает милисекунды не зависимо от парамтера еденицы измерения?
Если ставится на FB с временем задатчик времени "Write to FB", то ему все равно что там в свойствах указано, ставьте хоть "0". По моему читабельнее было бы если в этом случае около FB стояло не время, которое уже ничего не значит, а какой то условный символ, например "Х". А то по самому FB никак не видно что он управляемый.

Serhioromano
30.10.2017, 11:04
Если ставится на FB с временем задатчик времени "Write to FB", то ему все равно что там в свойствах указано, ставьте хоть "0". По моему читабельнее было бы если в этом случае около FB стояло не время, которое уже ничего не значит, а какой то условный символ, например "Х". А то по самому FB никак не видно что он управляемый.

Это естественно что Write to FB перезапишет уставку и хоть 0 ставь. Речь о другом параметре, это единица измерения или масштаб времени.

http://www.owen.ru/forum/attachment.php?attachmentid=33918&stc=1&d=1509350536

Вопрос был об этом параметер.

Просто логично что если этот параметер стоит в секундах то и Write to FB должен в секундах назначать. Но это как бы то как это логично в моей голове и то что я ожидал от программы.

Серёга Букашкин
30.10.2017, 11:26
Пусть Юрий подумает про сей казус в индикации FB таймера. Пока на управляемые ставлю в свойства "0", чтобы хоть отличать их в схеме от константных. К слову, ещё желательно иметь FB, измеряющий время в миллисекундах. Та функция чтения из FB непонятно накой нужна, не имеет практического смысла. Если бы показывала сколько времени прошло - другое дело.

Ревака Юрий
30.10.2017, 13:07
Если бы показывала сколько времени прошло - другое дело.

Для этого можно использовать макрос из базы, называется TIME_UD, первая версия имеет погрешность счета при t цикла >3 ms, сейчас готовлю новую версию, которая в зависимости от t цикла программы будет менять дискретность счета, и погрешность уйдет. Этот макрос как раз под такое измерение и заточен, в зависимости от режима может считать либо оставшееся время либо время с момента запуска.

opozit
04.11.2017, 22:14
Аналогичная ситуация и с записью в ФБ TP-таймер. Но у меня вопрос: если мне нужно установить задержку в 20 мин, это точно больше размерности Integer в 16 бит (32767) и вроде не должно работать("Write to FB" в случае с "TP", принимает только Integer), но при этом все норм.

Василий Кашуба
04.11.2017, 22:51
Аналогичная ситуация и с записью в ФБ TP-таймер. Но у меня вопрос: если мне нужно установить задержку в 20 мин, это точно больше размерности Integer в 16 бит (32767) и вроде не должно работать("Write to FB" в случае с "TP", принимает только Integer), но при этом все норм.
С чего вы взяли, что 16 бит, а 32 не хотите?

opozit
05.11.2017, 01:57
Если не ошибаюсь, в codesys 2.3 так. Не смог найти информацию о типах данных в Owen logic - поэтому предположил..... Вопрос снимается как глупый.

Сергей0308
05.11.2017, 03:27
32 бита(4294967295) в миллисекундах это почти 50(49,71) суток!