This is topic IL in forum TRACE MODE 5 бесплатная версия / TRACE MODE 5 Free version at Форум TRACE MODE: техническая поддержка.


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

Posted by Евгений Ахунов (Участник № / Member № 467) on :
 
Написал программу типа FB, но при тестировании создается впечатление, что не работают операторы перехода (условные и безусловные). Помогите пожалуйста разобраться. Ниже приведен текст програмки (так, как он есть):

F0 = I0
F1 = I1
F2 = I2

F3 = I3
F4 = I4

F5 = F0
F5 - F2
ABS F51 F5

F6 = 0

F51 <= 0.1
JMPC M30

IF
F51 < 0
THEN

IF
F3 < 0
THEN

IF
F4 < 0
THEN
JMP M10
ELSE
JMP M30
END_IF

ELSE
F6 = F0
F6 - F2
F1 + F6
JMP M20
END_IF

ELSE

IF
F3 < 0
THEN

F6 = F1
F6 - F2
F1 + F6
JMP M30

ELSE

IF
F4 < 0
THEN
JMP M10
ELSE
F1 = F0
JMP M30
END_IF

END_IF

END_IF

10:
F7 = F3
F7 ** 2
F7 / 2
F7 / F4

F8 = F2
F8 + F7
F6 = F0
F6 + F8
F1 + F6

20:
IF
F1 < F0
THEN
F1 = F0
END_IF

30:
Q0 = 1
Q1 = F0
Q2 = F2

EXIT

Выходы Q1 и Q2 введены для проверки. Т.к. даже при выполнения условия F51 <= 0.1; JMPC M30 они остаются нулевыми. Зарание спасибо. С уважением, Евгений Ахунов. [Недоумение / Confused]
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Уважаемый Евгений!
У Вас в коде 2 принципиальных ошибки.
Метки, согласно описанию языка, должны содержкать символ M, т.е. обозначаться как "M0:", "M1:" и т.д.
Количество меток в FB не должно превышать 5, т.е. максимальный номер метки - 4.
К сожалению, ошибка первого типа при трансляции в явном виде не обозначается. Но все метки в Вашем коде имеют номер "0". Это можно увидеть, если просмотреть результат компиляции командой ПРАВКА/ДАМП.
После указанной коррекции Вашего кода, по крайней мере, в предложенном Вами алгоритме проверки блок функционирует правильно.
В версии Трейс Моуд 6 языковая диагностика будет более полной.
 
Posted by Евгений Ахунов (Участник № / Member № 467) on :
 
Спасибо, Ваши рекомендации помогли. [Улыбка / Smile]
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2