This is topic помогите, в чем ошибка? in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/31/t/001412.html

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 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;



END_PROGRAM
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2