PDA

Просмотр полной версии : ВОПРОС?



detal-ekb
05.04.2014, 11:07
Спасибо кто помогал с советами по моим прошлый вопросам! Все получилось!!


Теперь новый вопрос!

IF power= 700+-10 then (чтобы было в хождение в диапазон от 690 до 710) как примернить ПЛЮС-МИНУС ?
Text:="ОК";
ElSIF power>711
Text:="Много";
ElSIF power<689
Text:="Много";
END_IF



Заранее спасибо

Вольд
05.04.2014, 11:31
Спасибо кто помогал с советами по моим прошлый вопросам! Все получилось!!


Теперь новый вопрос!

IF power= 700+-10 then (чтобы было в хождение в диапазон от 690 до 710) как примернить ПЛЮС-МИНУС ?
Text:="ОК";
ElSIF power>711
Text:="Много";
ElSIF power<689
Text:="Много";
END_IF

И нужно чтобы проверка шла без остановки?


Заранее спасибо
Чем задавать детские вопросы, лучше бы почитать материал по языку ST.

capzap
05.04.2014, 12:15
Команду и в условии ни кто не отменял

detal-ekb
05.04.2014, 12:17
ткните пальцев великие!

Yegor
05.04.2014, 12:32
В этом нет необходимости.

IF power >= 711 THEN
Text := "Много";
ELSIF power < 689 THEN
Text := "Мало;
ELSE
Text := "OK";
END_IF

detal-ekb
05.04.2014, 13:22
Ладно пойдем другим путем!
переменная POWER задается через цифровую панель,
переменная POWER1 это уже с приборов опрашивается.
но есть переменные которые у меня +-15 и писать так не очень удобно как в примере моем
IF power=power1 THEN
text2:='OK';
ELSIF power=power1 + 1THEN
text2:='OK';
ELSIF
power=power1 - 1 THEN
text2:='OK';
ELSIF
power=power1 + 2THEN
text2:='OK';
ELSIF
power=power1 - 2 THEN
text2:='OK';
ELSIF
power>power1 + 2 THEN
text2:='МНОГО';
ELSIF
power<power1 - 2 THEN
text2:='МАЛО';

END_IF

Yegor
05.04.2014, 15:42
Жесть. Говорю же:
IF power < power1 - 123456 THEN
text2 := 'МАЛО';
ELSIF power > power1 + 123456 THEN
text2 := 'МНОГО';
ELSE
text2 := 'OK';
END_IF

Валенок
05.04.2014, 17:33
Или так ? ))
txt:=mux((power-power1)/diff+1,'мало','ок','много');

power,power1,diff : int, dint

Yegor
05.04.2014, 21:13
Ага, только бы diff нулём не оказался в самый неподходящий момент.

capzap
05.04.2014, 21:43
Ага, только бы diff нулём не оказался в самый неподходящий момент.

Наверное хотели сказать минус один

Yegor
05.04.2014, 22:40
Нет. Сначала делим, потом складываем. Поэтому ноль.

А ещё в личке у меня спрашивали что такое 123456 из примера выше.

Вы чо все?!

detal-ekb
06.04.2014, 12:49
Жесть. Говорю же:
IF power < power1 - 123456 THEN
text2 := 'МАЛО';
ELSIF power > power1 + 123456 THEN
text2 := 'МНОГО';
ELSE
text2 := 'OK';
END_IF



спасибо большое!