Просмотр полной версии : плк73 реализация фенкции "время работы"
Виктор888
23.07.2020, 17:26
Помогите люди добрые начинающему) необходимо в меню плк задавать параметр "время работы" например 2ч30м. F1 старт, F2 пауза, F3 стоп. F1 выход реле активен таймер идет. F2 выход реле активен таймер на паузе. F3 выход реле выкл таймер к исходной уставке. При этом таймер дожен быть виден на дисплее. Как выводить на дисплей параметры с аналоговых входов уже умею редактировать их уставки тоже, но вот во временем беда. Поделитесь пожалуйста примером. Пишу пока что на CFC. Заранее спасибо
Виктор888
23.07.2020, 19:10
C таймерами разобрался вроде. Не получается подкинуть редактируемую переменную и меню ко входу РТ, а также с выхода ET вывести на дисплей через блок ShowReal.
Виктор888
24.07.2020, 14:36
было бы неплохо пример, если не сложно , так не очень мне понятно.
Виктор888
24.07.2020, 15:55
с помощью блоков получилось задавать время, теперь нужно добиться с выхода ЕТ вывести все это на дисплей в формате часы минуты
lara197a
24.07.2020, 16:20
Есть функция в КДС, называется RTC.
По сути - это программные часы.
Очень удобно для учета наработки.
При включении на вход ФБ нужно подать значение из буфера.
После выключения записать значение в буфер (энергонезависимую переменную)
На экран выводите или в формате Time или разложите на часы, минуты, секунды и выводите по сегментам, как десятичное число.
Как Вам будет удобнее.
Виктор888
24.07.2020, 17:31
Я конечно извиняюсь, но без примеров в CFC я пока что как новичок мало что понимаю. Мне удалось подать с таймера ТР выход ET далее TIME_TO_STRING на вход блока ShowString. на дисплее теперь показывает примерно так T#29m53s861ms. Подскажите пожалуйста как оставить только часы и минуты, все остальное убрать.
lara197a
24.07.2020, 20:16
Преобразовать время TIME_TO_DWORD
потом выделить часы и минуты.
Narabotka_p- это ваша переменная со временем 29m53s861ms
На ст будет примерно так:
Narabotka_Chas_p:=TIME_TO_DWORD(Narabotka_p);
Narabotka_Chas_p1:=Narabotka_Chas_p/3600000;
Narabotka_Chas:=DWORD_TO_WORD(Narabotka_Chas_p1);
Narabotka_Min_p:=Narabotka_Chas_p-Narabotka_Chas_p1*3600000;
Narabotka_min_p1:=Narabotka_Min_p/60000;
Narabotka_Min:=DWORD_TO_WORD(Narabotka_Min_p1);
Виктор888
25.07.2020, 15:29
Спасибо добрый человек! Все заработало!
Виктор888
25.07.2020, 15:55
Подскажите, есть какой-нибудь модуль с таймером внутри, но что бы у него были входа "пуск" "пауза" "стоп"
Виктор888
28.07.2020, 16:28
написал модуль, почемуто происходит не пауза, а начинает считать заново.
Виктор888
28.07.2020, 17:58
сейчас попробую
Виктор888
28.07.2020, 18:07
спасибо заработало
Виктор888
28.07.2020, 18:10
и последний вопрос. в коде что вы писали ранее MID(DT_TO_STRING(TIME_TO_DT(T1.ET)), 5, 15) 5 это часы, 15 это минуты я так понимаю. Понадобились еще секудны, секунды это какой код?
Виктор888
28.07.2020, 18:51
а причем тут дисплей? Выводить я на дисплей умею сейчас часы минуты показывает. Мне нужен код секунд.
Виктор888
28.07.2020, 19:01
теперь понял) спасибо!
Виктор888
28.07.2020, 19:46
Да, просто выделяем символы с какого по какой показывать. Вопрос другой возник, как показать сообщение на экран при появлении булевой переменной. Например появляется надпись авария при срабатывании дискретного входа 1. Есть какой то модуль на подобии ShowString но только у которого есть еще вход который его активирует?
Виктор888
28.07.2020, 20:54
Я так понял на CFC такого нет? Модуль нужно сочинять?
Виктор888
28.07.2020, 21:06
все там перетыкал ничего полезного не нашел
Виктор888
28.07.2020, 21:37
единственное что подходит это создать макрос
Виктор888
28.07.2020, 22:32
это было просто предположение)
Виктор888
29.07.2020, 10:36
где смотреть?
Виктор888
29.07.2020, 16:43
возможно я не по тому тыкаю, я поставил блок и на нем пкм. В кокой именно квадратик тыкать?
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot