PDA

Просмотр полной версии : Отсчитаное время таймера с выхода ET.



Gatling
26.04.2023, 18:59
Добрый день, имеется необходимость выводить на панель сп 300 отсчитаное время таймера, как вывести минуты и секунды через цифровой дисплей? Пока что я смог только придумать такую схему: time to tod ->tod to minute, tod to second, конвертирую их в ворд и отображаю. Есть ли способ проще выдернуть минуты и секунды чтобы их отображать?

kondor3000
26.04.2023, 20:49
Добрый день, имеется необходимость выводить на панель сп 300 отсчитаное время таймера, как вывести минуты и секунды через цифровой дисплей? Пока что я смог только придумать такую схему: time to tod ->tod to minute, tod to second, конвертирую их в ворд и отображаю. Есть ли способ проще выдернуть минуты и секунды чтобы их отображать?

Вообще то TIME_TO_DWORD/1000, получаете время в секундах. Секунды делите на 3600 получаете часы, делите на 60 получаете минуты, остаток секунды.

Gatling
26.04.2023, 21:53
Вообще то TIME_TO_DWORD/1000, получаете время в секундах. Секунды делите на 3600 получаете часы, делите на 60 получаете минуты, остаток секунды.

Таким образом у меня секунды идут как 0,5, а не 0,30. То есть мне нужно, чтобы отображалось конкретно 1 мин 30 сек, например. А как-то вытащить с Time нельзя секунды и минуты отдельно? Как это можно сделать c TOD?

Cs-Cs
26.04.2023, 22:38
Я себе написал такую функцию (во вложении). Работает на ура как раз для того, чтобы отображать остаток времени работы.
Может выводить в виде "Часы:Минуты" или "Минуты:Секунды"

kondor3000
26.04.2023, 22:50
Таким образом у меня секунды идут как 0,5, а не 0,30. То есть мне нужно, чтобы отображалось конкретно 1 мин 30 сек, например. А как-то вытащить с Time нельзя секунды и минуты отдельно? Как это можно сделать c TOD?

Какие 0,3 и 0,5, время в секундах идёт, минуты выделяете. Вот скрин 67555

Эдуард_Н
27.04.2023, 05:45
Я себе написал такую функцию (во вложении). Работает на ура как раз для того, чтобы отображать остаток времени работы.
Может выводить в виде "Часы:Минуты" или "Минуты:Секунды"

Как это открыть?

kondor3000
27.04.2023, 08:23
Как это открыть?

Распаковать и сделать импорт блока из любого своего проекта в 3.5 (тестового).
Перед импортом нажмите куда вставить блок (папку с блоками и программами)

Gatling
27.04.2023, 09:20
Какие 0,3 и 0,5, время в секундах идёт, минуты выделяете. Вот скрин 67555

Спасибо за скрин, помогли) что за блок мод, не расскажете? Впервые с ним сталкиваюсь. Заранее спасибо)

kondor3000
27.04.2023, 09:22
Спасибо за скрин, помогли) что за блок мод, не расскажете? Впервые с ним сталкиваюсь. Заранее спасибо)

Выделяете MOD мышью и нажимаете F1, читаете)) пользуйтесь справкой почаще.

А так это выглядит на ST

TON1(IN:=b1 , PT:=PT , Q=> , ET=>ET );
w1 :=TO_WORD(TO_DWORD(ET)/1000);
Myn:=w1 / 60;
Sek :=w1 MOD 60;

Gatling
27.04.2023, 09:46
Выделяете MOD мышью и нажимаете F1, читаете)) пользуйтесь справкой почаще.

А так это выглядит на ST

TON1(IN:=b1 , PT:=PT , Q=> , ET=>ET );
w1 :=TO_WORD(TO_DWORD(ET)/1000);
Myn:=w1 / 60;
Sek :=w1 MOD 60;

Читая справку я не совсем понимаю как он работает, а хотелось бы именно понять. А так как вы им пользуетесь, то, скорее всего у Вас есть понимание. Поэтому и интересуюсь у Вас) если бы вы разжевали его работу, было бы очень здорово

petera
27.04.2023, 09:56
Добрый день, имеется необходимость выводить на панель сп 300 отсчитаное время таймера, как вывести минуты и секунды через цифровой дисплей? Пока что я смог только придумать такую схему: time to tod ->tod to minute, tod to second, конвертирую их в ворд и отображаю. Есть ли способ проще выдернуть минуты и секунды чтобы их отображать?

Без "выдергивания", с помощью ГМ на экран панели сразу в нужном формате, например, 1 мин 30 сек
67560 67561

Единственное преобразование в ПЛК - TIME_TO_DWORD. Этот DWORD читает панель, он является операндом в ГМ.
67562

ГМ, можно взять из проекта.

https://www.youtube.com/watch?v=lbIJmAkuvPo
Примеры здесь https://www.youtube.com/playlist?list=PLWZaj_ZBIvwSESDCVJhpEiuGtORbhJe6T

kondor3000
27.04.2023, 10:11
Читая справку я не совсем понимаю как он работает, а хотелось бы именно понять. А так как вы им пользуетесь, то, скорее всего у Вас есть понимание. Поэтому и интересуюсь у Вас) если бы вы разжевали его работу, было бы очень здорово

MOD 60 - это остаток от деления всего времени на 60 (Результат всегда целое число).
Из скрина время 201 сек, делим на 60, получаем 3 мин (180 сек). Остаток соответственно 201-180=21 сек.