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

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

   
Автор / Author Тема / Topic: пересчет FBD блоков
Саша
Forum Member / Участник форума
Участник № / Member № 925


Icon 1 отправлено / posted      Профиль для / Profile for Саша           Редактировать/удалить сообщение / Edit/Delete Post 
В FBD программе критичным является последовательность вычисления FBD блоков, есть
необходимость обеспечить синхронность вычисления.
Например в FBD программе есть участок из последовательных блоков 1) умножения, 2)
деления, 3) вычисления абсолютного и 4)вычитания. Когда я работаю в эмуляторе
FBD редактора, то наблюдаю следующую картину: условно говоря на 1-ом такте
пересчета пересчитываются 1 и 2 блоки, на втором 3 и 4, а по алгоритму работы они
все должны пересчитываться в течение 1-го цикла.
По описанию не понятно какой принцип пересчета, как влияют номера FBD блоков на
их пересчет, как работает FBD блок STEP, каким образом можно повлиять на
последовательность пересчета в процессе разработки? Работаю в версии 5.12

Сообщения / Posts 54 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
FBD не могут вычисляться в несколько тактов - в одном такте выполнения программы вычисляются ВСЕ блоки программы. Только последовательность их вычислений в этом такте определяет кто будет вычислен раньше, а кто позже. Управлять с помощью STEP Вы не сможете, потому как этот блок сейчас не работает ни в Редакторе ни в МРВ.
Очередность вычисления блоков зависит от их линий связи - кто с кем соединен друг за другом.
У Вас как в режиме эмуляции пронумерованы блоки?

Сообщения / Posts 15120 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
sldk_buf
Forum Member / Участник форума
Участник № / Member № 2898


Icon 1 отправлено / posted      Профиль для / Profile for sldk_buf           Редактировать/удалить сообщение / Edit/Delete Post 
quote:
в одном такте выполнения программы вычисляются ВСЕ блоки программы
Как я понимаю, если интерпретатор не успеет за такт пересчитать все FBD-блоки программы, то он не остановит вычисления, а продолжит их. Тем самым превысит отведенное для вычислений время(длительность такта). Канал с подтипом "СИСТЕМНЫЙ" и дополнением к подтипу "время пересчета" будет иметь значение превышающее установленный такт для узла?
Сообщения / Posts 54 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
Да, Вы все верно понимаете.
Сообщения / Posts 15120 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Baikal_1
Junior Member / Новичок
Участник № / Member № 3959


Icon 1 отправлено / posted      Профиль для / Profile for Baikal_1           Редактировать/удалить сообщение / Edit/Delete Post 
Подскажите, пожалуйста. Как можно посчитать время выполнения программы выполненной на языке FBD ?
Сообщения / Posts 18 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
125-й атрибут канала, вызывающего программу.
Но он оценивает время с точностью до 1 мс.
Для подавляющего большинства программ он покажет 0.

Сообщения / Posts 15120 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Baikal_1
Junior Member / Новичок
Участник № / Member № 3959


Icon 1 отправлено / posted      Профиль для / Profile for Baikal_1           Редактировать/удалить сообщение / Edit/Delete Post 
125-й атрибут канала, вызывающего программу? Это вроде для TM6. Вопрос был задан для ТМ5
Сообщения / Posts 18 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post 
В Trace Mode 5 определить время исполнения отдельной программы нельзя. Можно только определить время, затрачиваемое на пересчет всей базы каналов. Для этого существует системная переменная "Время пересчета".
Если Вам необходимо оценить затраты времени на конкретный вызов программы, сделайте тестовый проект, в котором будет, например, 1000 вызовов этой программы и оцените "Время пересчета".

Сообщения / Posts 15120 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Baikal_1
Junior Member / Новичок
Участник № / Member № 3959


Icon 1 отправлено / posted      Профиль для / Profile for Baikal_1           Редактировать/удалить сообщение / Edit/Delete Post 
Спасибо большое за информацию!! Примем к сведению.
Сообщения / Posts 18 | Из / 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

Rambler's Top100 Rambler's Top100



Powered by Infopop Corporation
UBB.classic™ 6.7.2