This is topic помогите, в чем ошибка? in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
PROGRAM VAR_INPUT управление : BOOL; END_VAR VAR_OUTPUT скорость_упр : REAL; END_VAR VAR_OUTPUT припуск_упр : REAL; END_VAR VAR_INOUT скорость : REAL; END_VAR VAR_INOUT припуск : REAL; END_VAR VAR_INPUT n : REAL := 0; END_VAR VAR_INPUT m : REAL := 0; END_VAR
if {управление=true} then { for{n:=0} to {n=скорость} do {скорость_упр=скорость_упр+1;}end_for; for{m:=0} to {m=припуск} do {припуск_упр=припуск_упр+1;}end_for; скорость=скорость-скорость_упр; припуск=припуск-припуск_упр;} else {скорость_упр=0; припуск_упр=0;}end_if;
END_PROGRAM
Posted by saint_ivan (Участник № / Member № 6563) on :
выдаёт синтаксическую ошибку
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Все операторы сравнения должны быть с двойным знаком "=". Например, if {управление==true}
Posted by saint_ivan (Участник № / Member № 6563) on :
PROGRAM VAR_INPUT управление : BOOL; END_VAR VAR_OUTPUT скорость_упр : REAL; END_VAR VAR_OUTPUT припуск_упр : REAL; END_VAR VAR_INOUT скорость : REAL; END_VAR VAR_INOUT припуск : REAL; END_VAR VAR_INPUT n : REAL := 0; END_VAR VAR_INPUT m : REAL := 0; END_VAR
if {управление==true} then { for{n:=0} to {n==скорость} do {скорость_упр=скорость_упр+1;}end_for; for{m:=0} to {m==припуск} do {припуск_упр=припуск_упр+1;}end_for; скорость=скорость-скорость_упр; припуск=припуск-припуск_упр;} else {скорость_упр==0; припуск_упр=0;}end_if;
END_PROGRAM
так все равно выдаёт
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Использовать в качестве переменной цикла аргумент не вполне корректно. Лучше использовать локальную переменную (в прилагаемом примере - "i")/
PROGRAM VAR_INPUT управление : BOOL; END_VAR VAR_OUTPUT скорость_упр : REAL; END_VAR VAR_OUTPUT припуск_упр : REAL; END_VAR VAR_INOUT скорость : REAL; END_VAR VAR_INOUT припуск : REAL; END_VAR VAR i : REAL; END_VAR
if управление then
for i=0 to скорость do скорость_упр=скорость_упр+1; end_for; for i=0 to припуск do припуск_упр=припуск_упр+1; end_for; скорость=скорость-скорость_упр; припуск=припуск-припуск_упр; else скорость_упр=0; припуск_упр=0; end_if;