Форум TRACE MODE: техническая поддержка   
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 5 » TRACE MODE 5 бесплатная версия / TRACE MODE 5 Free version » IL

   
Автор / Author Тема / Topic: IL
Евгений Ахунов
Junior Member / Новичок
Участник № / Member № 467


Icon 5 отправлено / posted      Профиль для / Profile for Евгений Ахунов           Редактировать/удалить сообщение / Edit/Delete Post 
Написал программу типа 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]

Сообщения / Posts 2 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Уважаемый Евгений!
У Вас в коде 2 принципиальных ошибки.
Метки, согласно описанию языка, должны содержкать символ M, т.е. обозначаться как "M0:", "M1:" и т.д.
Количество меток в FB не должно превышать 5, т.е. максимальный номер метки - 4.
К сожалению, ошибка первого типа при трансляции в явном виде не обозначается. Но все метки в Вашем коде имеют номер "0". Это можно увидеть, если просмотреть результат компиляции командой ПРАВКА/ДАМП.
После указанной коррекции Вашего кода, по крайней мере, в предложенном Вами алгоритме проверки блок функционирует правильно.
В версии Трейс Моуд 6 языковая диагностика будет более полной.

Сообщения / Posts 17322 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Евгений Ахунов
Junior Member / Новичок
Участник № / Member № 467


Icon 7 отправлено / posted      Профиль для / Profile for Евгений Ахунов           Редактировать/удалить сообщение / Edit/Delete Post 
Спасибо, Ваши рекомендации помогли. [Улыбка / Smile]
Сообщения / Posts 2 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

   Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2