Просмотр полной версии : Светодиоды ПЛК73
goranach
12.01.2015, 21:48
Хотел реализовать включение светодиода при запуске программы.
Запуск идёт при нажатии на кнопку.
Светодиод не изменяет своё физическое состояние, хотя в отладке записано, что он включен, до момента отжатия кнопки.
Можно это обойти?
Кнопки разные и светодиоды тоже разные попробовал.
Код приложите, иначе непонятно что у вас
goranach
13.01.2015, 09:56
Код приложите, иначе непонятно что у вас
PROGRAM PLC_PRG
VAR
stop:BOOL; (*true = stop, false = run*)
R_TRIG_Stop: R_TRIG;
R_TRIG_F3: R_TRIG;
TON_Start: TON;
END_VAR
(*Стоп*)
R_TRIG_Stop(clk := kbrd=key_start);
IF R_TRIG_Stop.Q AND NOT stop THEN
stop := TRUE;
END_IF
(*Пуск*)
TON_Start(in := kbrd=key_start, pt := t#1s);
IF TON_Start.Q AND stop THEN
stop:= FALSE;
END_IF;
IF stop THEN
led.0 := FALSE;
ELSE
led.0 := TRUE;
END_IF;
goranach
13.01.2015, 10:01
При долгом нажатии я хочу произвести включение светодиода по прошествии 1с кода (реально 2с).
Когда держишь кнопку Старт значение led.0 изменяеться на 1. Но переключение светодиода только после отжатия кнопки.
F2 ведёт себя также.
lara197a
13.01.2015, 16:12
Попробуйте проще, без иф и условий сравнения внутри R_Trig,
просто Включение светодиода через таймер TON.
А то у вас не понятно, не все переменные описаны.
и в условии иф у Вас ошибка. фронт обработан, а вторая переменная не позволяет выполнить условие.
Кроме того всегда будет выполнена только вторая функция(для стоп).
goranach
13.01.2015, 17:09
Попробуйте проще, без иф и условий сравнения внутри R_Trig,
просто Включение светодиода через таймер TON.
А то у вас не понятно, не все переменные описаны.
и в условии иф у Вас ошибка. фронт обработан, а вторая переменная не позволяет выполнить условие.
Кроме того всегда будет выполнена только вторая функция(для стоп).
Не очень понял вашу рекомендацию.
Код работает как я его описываю.
Просто изменение состояния светодиода наблюдаемое, то есть на панели, происходит, только после отжатия кнопки, хотя отладка показывает запись нужного значения в переменную светодиода и изменение на экране тоже производится во время нажатой кнопки (в этом коде нет).
Это не критично, просто удобно было бы индикацию делать на светодиод. И как физически они могут друг друга блокировать:)
lara197a
13.01.2015, 18:44
IF R_TRIG_Stop.Q AND NOT stop THEN
IF TON_Start.Q AND stop THEN
вот тут..........
goranach
13.01.2015, 19:11
PROGRAM PLC_PRG
VAR
TON_Start: TON;
END_VAR
TON_Start(in := kbrd=key_start, pt := t#1s);
IF TON_Start.Q THEN
led.0 := TRUE;
END_IF;
Даёт аналогичный результат.
Блок на вывод светодиода, пока нажата кнопка.
lara197a
13.01.2015, 22:03
Я или вас не понимаю или выложите программу.
У меня в ПЛК такой есть в гараже, пришлите в личку программу и напишите, что хотелось бы в письме. Я вам подправлю.
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot