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

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » Пользователи для пользователей » Пользователи для пользователей » Подключение FBD программы

   
Автор / Author Тема / Topic: Подключение FBD программы
tressi
Junior Member / Новичок
Участник № / Member № 4058


Icon 1 отправлено / posted      Профиль для / Profile for tressi           Редактировать/удалить сообщение / Edit/Delete Post 
Подскажите, пожалуйста, как сделать так чтобы FBD программа запускалась только после нажатия кнопки, а не сразу же с запуском проекта. Какой должен бать тип и подтип канала, и какие атрибуты кнопки? Проект разрабатывается в ТрейсМоуд 5.
Сообщения / Posts 3 | Из / 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? Эта версия уже закрыта.
Сообщения / Posts 15121 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
tressi
Junior Member / Новичок
Участник № / Member № 4058


Icon 1 отправлено / posted      Профиль для / Profile for tressi           Редактировать/удалить сообщение / Edit/Delete Post 
Мне более удобно работать в Trace Mode 5.
Сообщения / Posts 3 | Из / 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 больше не поддерживается. Переход от версии 5 к версии 6 займет у Вас не так много времени, а пользы от этого будет намного больше.
Сообщения / Posts 15121 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
SergeyZ86
Junior Member / Новичок
Участник № / Member № 5575


Icon 1 отправлено / posted      Профиль для / Profile for SergeyZ86           Редактировать/удалить сообщение / Edit/Delete Post 
Добрый день! У меня аналогичная проблема, только проект разрабатывается как раз в ТрейсМоуд 6. Я поступил следующим образом. Написал простенькую программу на FBD в шаблоне программ. Создал в узле канал класса CALL, вызывающий программу. При запуске профайлера все работает отлично. Затем я меняю тип канала, вызывающего программу на Output. Открываю свойства кнопки, и во вкладке "События" задаю на нее функцию "Выполнить", где указываю канал, вызывающий программу. После этого программа перестает запускаться. Подскажите пожалуйста, в чем может быть проблема?
Сообщения / Posts 9 | Из / 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 
В настоящее время функция “Выполнить” в ГЭ отключена.
Для запуска программы с типом канала вызова OUT надо на экране создать аргумент, привязанный к атрибуту EXEC (39) канала вызова программы, а из ГЭ передавать в этот аргумент “1”.

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


Icon 1 отправлено / posted      Профиль для / Profile for SergeyZ86           Редактировать/удалить сообщение / Edit/Delete Post 
Здравствуйте! Воспользовался вашим советом, происходит следующее. При записи "1" в аргумент (типа BOOL), привязанный к атрибуту EXEC(39), программа выполняется однократно, завершается и значение аргумента сбрасывается в "0" (при последующем нажатии кнопки все повторяется). Мне же нужно, чтобы:
1) программа выполнялась циклически, так как если бы она вызывалась стандартно каналом класса CALL типа Input;
2) завершалась только по нажатию другой кнопки.
Пункт №2 я предполагаю реализовать с помощью FBD блока "Exit". Подскажите пожалуйста, как реализовать пункт №1. Заранее благодарю.

Сообщения / Posts 9 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
stepagrus
Forum Haunter / Завсегдатай форума
Участник № / Member № 3589


Icon 1 отправлено / posted      Профиль для / Profile for stepagrus           Редактировать/удалить сообщение / Edit/Delete Post 
это же просто... нужно немного почитать справку и потренироваться с атрибутами канала.

1) выключить канал, который вызывает программу (в редакторе)

после запуска МРВ:
2)нужно включить программу - в атрибут 003 канала вызывающего программу отправляете 0 - канал включается и прога работает

3) нужно выключить - шлёте 1 - канал выключается, программа не вызывается

Сообщения / Posts 136 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
stepagrus
Forum Haunter / Завсегдатай форума
Участник № / Member № 3589


Icon 1 отправлено / posted      Профиль для / Profile for stepagrus           Редактировать/удалить сообщение / Edit/Delete Post 
это то что было нужно?
Сообщения / Posts 136 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
SergeyZ86
Junior Member / Новичок
Участник № / Member № 5575


Icon 1 отправлено / posted      Профиль для / Profile for SergeyZ86           Редактировать/удалить сообщение / Edit/Delete Post 
Спасибо stepan! Хотелось бы еще кое-что уточнить. Допустим, программа состоит из одного генератора синусоидального сигнала, значение этого сигнала выводится на ГЭ Тренд. При записи "1" в атрибут 003, программа выключается, но при этом продолжается расчет сигнала. При последующем включении программы она стартует ни с того значения, на котором была остановлена, а собственно с расчитанного на данный момент времени. Пытался запретить пересчет канала посылкой "0" в атрибут 123, не получилось. Подскажите пожалуйста, куда копать. Еще лучше было бы научиться запускать программу заново (с нуля). Заранее благодарю.
Сообщения / Posts 9 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342


Icon 1 отправлено / posted      Профиль для / Profile for Nico           Редактировать/удалить сообщение / Edit/Delete Post 
sin от колличества пересчетов программы увеличиваем в самой проге
Сообщения / Posts 554 | Из / 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 "Генератор Sin" имеет в качестве аргумента время в секундах. Поэтому он не учитывает промежутки времени, в течение которых программа была выключена.
Начальные условия каждого запуска программы должны быть заданы в самой программе.

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


Icon 1 отправлено / posted      Профиль для / Profile for Yury           Редактировать/удалить сообщение / Edit/Delete Post 
Здравствуйте! Немного не по теме, но все же. Имеется две программы на FBD. Мне нужно связать их через один аргумент например BOOL. Т.е. чтобы, если я в одной из программ придавал этому аргументу значение 1, то и в другой программе тоже автоматически этот аргумент принимал значение 1. Возможно ли это сделать? Версия софта 6.06.
Сообщения / Posts 8 | Из / From: Российская Федерация  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Ilgeneer
Forum Member / Участник форума
Участник № / Member № 5896


Icon 1 отправлено / posted      Профиль для / Profile for Ilgeneer           Редактировать/удалить сообщение / Edit/Delete Post 
Yury ,
Если не ошибаюсь, то в одной программе его делать out, а в другой программе in и привязать его на аут первой.

Сообщения / Posts 51 | Из / 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 
Yury,

если Вам необходимо, что бы у двух разных программ аргументы принимали одно и тоже значение, то проще всего привязать эти аргументы к одному общему источнику.

или использовать предложение Ilgeneer'а.

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


Icon 1 отправлено / posted      Профиль для / Profile for traffick           Редактировать/удалить сообщение / Edit/Delete Post 
Добрый день, подскажите в чем ошибка синтаксическая ?
PROGRAM
VAR_OUTPUT Status : INT; END_VAR
VAR_OUTPUT STS : INT; END_VAR
VAR_OUTPUT STS2 : INT; END_VAR
VAR_INPUT ВВ_включен_C : BOOL; END_VAR
VAR_INPUT ВВ_отключен_C : BOOL; END_VAR
VAR_INPUT ВВ_рабочее_C : BOOL; END_VAR
VAR_INPUT ВВ_контрольное_C : BOOL; END_VAR
VAR_INPUT ВВ_ремонтное : BOOL; END_VAR


if ВВ_включен_C : BOOL == 0;
then Status =0; else Status = 1;end_if;

if ВВ_отключен_C : BOOL ==0;
then Status =0; else Status =1;end_if;

if ВВ_рабочее_C : BOOL ==0;
then Status =0; else Status =1;end_if;

if ВВ_контрольное_C : BOOL ==0;
then Status =0; else Status =1;end_if;


END_PROGRAM
Заранее спасибо!

Сообщения / Posts 16 | Из / From: Российская Федерация  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342


Icon 1 отправлено / posted      Профиль для / Profile for Nico           Редактировать/удалить сообщение / Edit/Delete Post 
"if ВВ_включен_C : BOOL == 0;" - и подобные ниже строчки неверны
Сообщения / Posts 554 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
traffick
Junior Member / Новичок
Участник № / Member № 6646


Icon 1 отправлено / posted      Профиль для / Profile for traffick           Редактировать/удалить сообщение / Edit/Delete Post 
Nicо, а как будет верно написать. Подскажите пожалуйста.
Сообщения / Posts 16 | Из / 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 
В каждом из условных операторов 3 ошибки:
- компонент "выражение" не закрывается разделителем ";",
- переменная должна обозначаться только своим именем (не ВВ_включен_C : BOOL, а ВВ_включен_C),
- для переменных типа BOOL проверка значения в условном операторе имеет только 2 возможных варианта
if !ВВ_включен_C then ....;
else ...; end_if;
или
if ВВ_включен_C then ....;
else ...; end_if;

У нас нет возможности искать синтаксические ошибки в программах.
Надеемся на понимание.

Топик закрывается.

Сообщения / Posts 15121 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Послать новую тему / Post New Topic  
Тема закрыта / Topic Closed  Тема закрыта / Topic Closed
Открыть тему / Open 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