Просмотр полной версии : Несколько вопросов
Доброго времени суток.
Первый раз разрабатываю верхний уровень в вашей системе, посему возникло несколько вопросов:
1) При нажатии на кнопку, тэг из поля "кнопка нажата" записывается не сразу, а с задержкой. Посему при привычном большинству пользователей "коротком" клике мышкой тэг записаться не успевает. Возможно ли как-нибудь это победить?
2) Планируется убрать верхние панели, оставив собственную самодельную, подскажите, пожалуйста: есть ли возможность сделать собственную кнопку, по нажатию на которую будет появляться диалог смены пользователей?
3) Есть ли возможность, в случае если пользователь не имеет прав доступа к определённым кнопкам, не выводить окошко о том, что "вы не имеете прав на данное действие",а делать кнопку неактивной и помечать её цветом?
4) В одной из тем была указана возможность выслать примеры скриптов по поиску, отображению и квитированию сообщений непосредственно со стартовой мнемосхемы, могу ли я тоже их получить?
5) Есть ли возможность записи тэгов по событию "закрытие окна"?
заранее благодарен за ответы :)
SCADAMaster
16.05.2012, 09:21
1) При нажатии на кнопку, тэг из поля "кнопка нажата" записывается не сразу, а с задержкой. Посему при привычном большинству пользователей "коротком" клике мышкой тэг записаться не успевает. Возможно ли как-нибудь это победить?
Вы очевидно добавили кнопку из палитры мнемосхемы и связали с деревом объектов через входы динамизации.
Лучше добавить в объект команду, установить тип "Дискретный" и вытащить ее на мнемосхему мышью - она станет кнопкой. Нажатие на нее будет переводить команду в состояние "Истина". Можно сделать и фиксацию.
Кнопка после нажатия удерживается примерно 2-3 секунды - это сделано специально, чтобы оператор не пытался по нескольку раз нажимать на нее, не дождавшись реакции от управляемого процесса.
2) Планируется убрать верхние панели, оставив собственную самодельную, подскажите, пожалуйста: есть ли возможность сделать собственную кнопку, по нажатию на которую будет появляться диалог смены пользователей?
Да можно.
Добавляете команду, ставите ей тип "Дискретный", на закладке "Действия" добавляете действие, тип "Системное" - "Смена пользователя".
При помощи действий можно также выходить из режима исполнения, открывать окна, тренды, журналы, присваивать значения другим переменным.
Действия также есть у "Событий"
3) Есть ли возможность, в случае если пользователь не имеет прав доступа к определённым кнопкам, не выводить окошко о том, что "вы не имеете прав на данное действие",а делать кнопку неактивной и помечать её цветом?
В принципе можно, но через права доступа это делать проще.
Чтобы сделать кнопку неактивной нужно использовать входы динамизации (вы наверное умеете с ними работать).
Чтобы определить категорию текущего пользователя нужно воспользоваться ФБ "Служебная информация", у него есть выход сообщающий категорию текущего оператора. В зависимости от категории можно скрывать кнопки, или делать неактивными.
4) В одной из тем была указана возможность выслать примеры скриптов по поиску, отображению и квитированию сообщений непосредственно со стартовой мнемосхемы, могу ли я тоже их получить?
В приложении проект с несколькими скриптами работающими с сообщениями.
5) Есть ли возможность записи тэгов по событию "закрытие окна"?
заранее благодарен за ответы :)
Можно контролировать состояние окна при помощи ФБ "Управление документом" (закладка "Служебные"). Отслеживая его состояние можно при помощи действий записывать значения.
спасибо за быстрый ответ
Вы очевидно добавили кнопку из палитры мнемосхемы и связали с деревом объектов через входы динамизации.
Лучше добавить в объект команду, установить тип "Дискретный" и вытащить ее на мнемосхему мышью - она станет кнопкой. Нажатие на нее будет переводить команду в состояние "Истина". Можно сделать и фиксацию.
Кнопка после нажатия удерживается примерно 2-3 секунды - это сделано специально, чтобы оператор не пытался по нескольку раз нажимать на нее, не дождавшись реакции от управляемого процесса.
да, именно так и было сделано. но, кнопка у нас не обычная - наши кнопки это кнопки объектов(например, окно управления задвижкой) а событие "кнопка нажата" используется для того, чтобы определять, какую именно задвижку пытаются вызвать.
то есть по нажатию на данную кнопку вызывается ОУ, а дискретный выход является признаком задвижки, в соответствии с которым скрипт определяет что за задвижка и подставляет значения положения в ОУ, а команды с этого ОУ уходят в соответствующие дискретные выхода контроллера. возможно ли по такой схеме реализовать без задержек с записью?
Да можно.
Добавляете команду, ставите ей тип "Дискретный", на закладке "Действия" добавляете действие, тип "Системное" - "Смена пользователя".
При помощи действий можно также выходить из режима исполнения, открывать окна, тренды, журналы, присваивать значения другим переменным.
Действия также есть у "Событий"
спасибо, не догадался сразу :)
В принципе можно, но через права доступа это делать проще.
Чтобы сделать кнопку неактивной нужно использовать входы динамизации (вы наверное умеете с ними работать).
Чтобы определить категорию текущего пользователя нужно воспользоваться ФБ "Служебная информация", у него есть выход сообщающий категорию текущего оператора. В зависимости от категории можно скрывать кнопки, или делать неактивными.
спасибо. в данном проекте(как и во многих других) сделать так, чтобы у оператора данные кнопки изначально не привлекали желание нажать на них.
В приложении проект с несколькими скриптами работающими с сообщениями.
спасибо
Можно контролировать состояние окна при помощи ФБ "Управление документом" (закладка "Служебные"). Отслеживая его состояние можно при помощи действий записывать значения.
хорошо, попробую.
SCADAMaster
16.05.2012, 10:24
да, именно так и было сделано. но, кнопка у нас не обычная - наши кнопки это кнопки объектов(например, окно управления задвижкой) а событие "кнопка нажата" используется для того, чтобы определять, какую именно задвижку пытаются вызвать.
то есть по нажатию на данную кнопку вызывается ОУ, а дискретный выход является признаком задвижки, в соответствии с которым скрипт определяет что за задвижка и подставляет значения положения в ОУ, а команды с этого ОУ уходят в соответствующие дискретные выхода контроллера. возможно ли по такой схеме реализовать без задержек с записью?
То есть вы используете выход динамизации кнопки объекта?
Тут есть два варианта:
1) Вызывать окно управления при помощи команды (через действия) - команда будет вызывать окно и устанавливать на выход "Вкл".
Кстати можно использовать также событие - если вытащить его правой кнопкой мыши, то можно выбрать контрол "Зона выбора" - прозрачный контрол, по нажатию на который событие включается.
2) При помощи ФБ "Управление документом" отслеживать какое окно открыто и эту информацию давать в скрипт.
Ситуация такая.
На мнемосхему добавляю элемент "Значение".
В объект добавляю команду. Меняю тип команды на "Дискретный". Дискретные значения ставлю "Вкл./Выкл."
На вход и на выход Величина "Значения" подаю эту команду.
Отображается всё нормально.
Когда нажимаю на строку "Значения", появляется окошко для ввода значения. На нём две кнопки, и обе почему-то не подписаны!!
Что сделать чтобы на кнопках появились надписи "Вкл/Выкл"?
SCADAMaster
18.05.2012, 10:35
Ситуация такая.
На мнемосхему добавляю элемент "Значение".
В объект добавляю команду. Меняю тип команды на "Дискретный". Дискретные значения ставлю "Вкл./Выкл."
На вход и на выход Величина "Значения" подаю эту команду.
Зачем? Почему нельзя вытащить команду на мнемосхему правой кнопкой мыши, и выбрать пункт "Редактируемое значение"?
На нём две кнопки, и обе почему-то не подписаны!!
Что сделать чтобы на кнопках появились надписи "Вкл/Выкл"?
Пришлите скриншот этого окна и номер версии MasterSCADA (справка - О программе).
Зачем? Почему нельзя вытащить команду на мнемосхему правой кнопкой мыши, и выбрать пункт "Редактируемое значение"?
Можно. Приходится так и делать. Просто мне это не очень нравится. Потому что на динамизации входов и выходов ничего нет. Единообразие теряется.
Ещё кое что скажу.
Вот сделал я окно управления. Использую его для настроек одного из агрегатов процесса.
На него накидал несколько элементов "Значение".
Всё работает отлично.
Но когда пользователь видит это окно, он видит просто текст написанный, как бы, в текстБоксах. Интуитивно не понятно, что сюда еще можно значения вводить. Т.е. пользователя нужно учить щелкать на с виду неактивный элемент, и вводить значения.
Когда научишь этому пользователя, он начинает щелкать на все текстбоксы, ожидая что сможет таким образом в них что-нибудь ввести.
Я понимаю что невозможно в данном случае использовать простой эдит.
Я понимаю что есть элемент Блок параметров, но он тоже не очень удобен. У него нет текста до значения.
Я конечно могу подставить перед строкми блока параметров обычные строки. Тоже ничего получается. Но не всегда подходят надписи "Да" и "Нет" на кнопках. Я бы хотел чтобы на них было написано "Записать значения" и "Отменить изменения". Или ещё чтонибудь.
Возможно было бы неплохо, если у элемента "Значения" отдельно устанавливался формат для текста до и после значения, и отдельно для самого значения.
SCADAMaster
18.05.2012, 12:23
Просто мне это не очень нравится. Потому что на динамизации входов и выходов ничего нет. Единообразие теряется.
Но это гораздо проще. Лучше делать так.
Но когда пользователь видит это окно, он видит просто текст написанный, как бы, в текстБоксах. Интуитивно не понятно, что сюда еще можно значения вводить. Т.е. пользователя нужно учить щелкать на с виду неактивный элемент, и вводить значения.
Когда научишь этому пользователя, он начинает щелкать на все текстбоксы, ожидая что сможет таким образом в них что-нибудь ввести.
Можно например выделить элементы для ввода другим текстом или другим шрифтом.
По остальному - мы обсудим данные замечания.
Не стал создавать новую тему .Вопрос ,работа в мастер ОПС ,стало выскакивать -неверный уровень treenode-из-за чего и как с этим бороться
SCADAMaster
21.05.2012, 20:45
А у вас какая версия OPC сервера? Попробуйте скачать текущую 2.0.0.9
http://www.masteropc.ru/prices/info.php?pid=6944
Если у вас проявляется такая ошибка в 2.0.0.9 то приложите скриншот и конфигурацию на которой это проявляется.
А у вас какая версия OPC сервера? Попробуйте скачать текущую 2.0.0.9
http://www.masteropc.ru/prices/info.php?pid=6944
Если у вас проявляется такая ошибка в 2.0.0.9 то приложите скриншот и конфигурацию на которой это проявляется.
Эта и есть версия :rolleyes: :confused:
SCADAMaster
21.05.2012, 21:33
В приложении ваша конфигурация с исправлением. Вы добавили перед именем группы пробел. Сейчас программист в отпуске, когда выйдет мы исправим эту ошибку.
Так что я еще и ошибку помог найти что ли ???Спасибо,все нормально
SCADAMaster
22.05.2012, 07:28
Так что я еще и ошибку помог найти что ли ???
Да, спасибо.
Да, спасибо.
И вам спасибо ,за оперативность :) .Теперь пытаюсь сделать шаблоны для ПР110 -файлы конфигурации ,универсальные .:rolleyes:
SCADAMaster
23.05.2012, 08:40
а) возможно ли присвоить элементу скады значенение произвольного разряда регистра модбас?
Задача непонятна. Опишите вашу задачу подробнее.
б) если я упаковал Float в один Int (регистр модбас) умножил на 100 и округлил до целого, то возможно ли отобразить на скаде ИНТовое число с запятой и с двумя знаками после этой запятой?
Вам нужно просто разделить его на 100, например при помощи ФБ "Деление" или "Расчета".
Но вообще лучше это делать в ОРС сервере, и в SCADA передавать уже обработанное значение. В нашем ОРС сервере Modbus Universal MasterOPC Server, можно делать подобное масштабирование, про это даже есть видеопример:
http://www.masteropc.ru/prices/info.php?pid=6944
SCADAMaster
23.05.2012, 08:50
по первому вопросу, все просто, я упаковал булевые переменные в один регистр, вопрос был в том распакует ли скада обратно из регистра 16 булевых переменных для отображения клапанов и насосов.
Для этого есть специальный ФБ "Распаковка 32-битного значения", на закладке "Вычисления".
SCADAMaster
23.05.2012, 09:14
Зачем? Просто не используйте остальные биты - на них будут нули.
В настройках ФБ можно убрать ненужные выходы.
Не вопрос, просто небольшое пожелание.
При изменении кода ST текста у него отрываются выходы. Я догадываюсь зачем это сделано. Наверное логика такая: изменил что-нибудь в коде, подтверди осознанным действием что на выходах то что должно быть.
У меня в проекте довольно сложные ST вставки. Есть такие у которых по 20 выходов. И вот представьте, чего мне стоит при отладке все их заново привязывать.
Короче, от этих отвязываний пользы меньше чем вреда.
Может стоит от них отказаться. Или отвязывать только если количество выходов изменилось.
SCADAMaster
28.05.2012, 14:52
При изменении кода ST текста у него отрываются выходы. Я догадываюсь зачем это сделано. Наверное логика такая: изменил что-нибудь в коде, подтверди осознанным действием что на выходах то что должно быть.
Нет. Это ошибка. она уже исправлена. Исправление будет доступно в следующей стабильной версии.
Дата выхода неизвестна?
А то устал уже)
Может бету нам дадите?)
SCADAMaster
28.05.2012, 16:50
Дадим. Напишите письмо на support(собака)insat.ru
Но не всегда подходят надписи "Да" и "Нет" на кнопках. Я бы хотел чтобы на них было написано "Записать значения" и "Отменить изменения".
да. абсолютно поддерживаю в том, что "да" и "нет" не всегда подходят. вернее чаще не подходят, чем подходят.
что такое "да" и "нет" на что "да"? мнемосхемы и окна управлений должны быть логичными и простыми к пониманию. "да" - не просто к пониманию, "ввести новое значение" - просто. поэтому предлагаю сделать редактируемыми названия данных кнопок
Но это гораздо проще. Лучше делать так.
это не лучше. лучше это тогда, когда всё написано в едином стиле.
более того, это потенциально может приводить к лавинообразному увеличению тэгов.
поясняю: у меня на объекте есть 8 однотипных задвижек. рисовать ВОСЕМЬ окон управления, отличающихся текстом - дико неразумно и неэкономно и увеличивает размер программы.
поэтому намного проще сделать признак, по которому в поле "название задвижки" будет подставляться её название, положение будет браться именно с той задвижки. выхода будут идти именно на нужную задвижку, а само тело окна управления будет абсолютно неизменно.
проще всего данную логику реализовать скриптом на C.
признак задвижки опять же должен идти в тело скрипта. НО! если я использую стандартную кнопку, к выходам которой прицеплена передача признака задвижки, у меня получается задержка в 1-2 секунды.
для того, чтоб её нивелировать надо делать дополнительную команду, вытаскивать её на мнемосхему, прицеплять её выход к входам скрипта....
да по большему счёту меня интересует следующее: с какой целью нужно было делать библиотеку стандартных управляющих элементов "аля кнопка", если есть столь серьёзный недостаток в их работе. и будет ли это исправлено?
следующий вопрос касается удержания команды в течении 1 секунды после нажатия кнопки: зачем это было сделано? нет, я читал объяснения зачем: чтобы команда прошла весь путь от системы до контролера.
НО, обычно данные вещи опять таки реализуются скриптами, либо настройками, то есть являются отключаемыми. Мне вот, скажем, надо именно защиту от случайного нажатия реализовать. А у вас любая команда висит 1 секунду +-.
в общем я предлагаю убрать задержку с присвоением значения при использовании стандартных выходов динамизации и убрать задержку на снятие команды(или сделать её настраиваемой)
SCADAMaster
04.06.2012, 10:06
да. абсолютно поддерживаю в том, что "да" и "нет" не всегда подходят. вернее чаще не подходят, чем подходят.
что такое "да" и "нет" на что "да"? мнемосхемы и окна управлений должны быть логичными и простыми к пониманию. "да" - не просто к пониманию, "ввести новое значение" - просто. поэтому предлагаю сделать редактируемыми названия данных кнопок
Мы обсудим данную возможность с программистами.
поясняю: у меня на объекте есть 8 однотипных задвижек. рисовать ВОСЕМЬ окон управления, отличающихся текстом - дико неразумно и неэкономно и увеличивает размер программы.
поэтому намного проще сделать признак, по которому в поле "название задвижки" будет подставляться её название, положение будет браться именно с той задвижки. выхода будут идти именно на нужную задвижку, а само тело окна управления будет абсолютно неизменно.
проще всего данную логику реализовать скриптом на C.
Начнем с того что команды, значения, расчет и события тегами не считаются и вы их можете использовать в своей программе без ограничений.
С нашей точки зрения создание отдельного объекта для каждой задвижки логичнее, быстрее, проще. Такое решение также проще масштабировать.
следующий вопрос касается удержания команды в течении 1 секунды после нажатия кнопки: зачем это было сделано? нет, я читал объяснения зачем: чтобы команда прошла весь путь от системы до контролера.
НО, обычно данные вещи опять таки реализуются скриптами, либо настройками, то есть являются отключаемыми. Мне вот, скажем, надо именно защиту от случайного нажатия реализовать. А у вас любая команда висит 1 секунду +-.
Не совсем понятно как связаны между собой удержание кнопки и защита от случайного нажатия.
Защита от случайного нажатия у нас реализуется при помощи прав доступа - галочка "Подтверждение".
Начнем с того что команды, значения, расчет и события тегами не считаются
в данном случае они увеличивают объём различных переменных. вопрос даже не в лицензировании, а в уменьшении промежуточных звеньев и прочего хлама, затрудняющего чтение и понимание самой программы.
С нашей точки зрения создание отдельного объекта для каждой задвижки логичнее, быстрее, проще. Такое решение также проще масштабировать.
отнюдь не быстрее и не проще. берём пишем скрипт, в этот скрипт собираются параметры всех задвижек, к этому скрипту привязывается ОДНА команда ДУ в формате 16 или 32-х разрядного слова.
в эту команду записывается признак задвижки, команда на открытие-стоп-закрытие.
после чего рисуется одно окно и в динамических объектах данного окна есть лишь выход со скрипта, который является общим.
если мы решаем увеличить количество управляемой арматуры - мы просто берём переходим в скрипт, методом копипаста добавляем пару-тройку расчётов-условий, добавляем входных команд и всё готово. таким образом нам не надо заново привязывать каждый отдельный элемент динамизации(а в случае, если один элемент перекрывает другой, который перекрывает третий, который перекрывает четвёртый и все они появляются при различных условиях - это бывает достаточно сложно, долго и муторно).
нам нужно лишь привязать входы и скопипастить кусок текста.
вы по-прежнему считаете, что плодить окна без каких-либо принципиальных отличий является более простым путём?
кстати, что проще: внести изменения во внешний вид одного окна, либо 8? ;)
Не совсем понятно как связаны между собой удержание кнопки и защита от случайного нажатия.
Защита от случайного нажатия у нас реализуется при помощи прав доступа - галочка "Подтверждение".
вы путаете "защиту от случайного нажатия" с "подтверждением действия".
нет. для более простого понимания - посмотрите на продукцию Овена, конкретно на прибор ПКП. для предотвращения случайного нажатия кнопка должна быть удержана в нажатом положении определённое время, данный параметр является программируемым. хотим - кнопку надо держать 0.3 секунды, хотим - секунду.
здесь же команда всегда удерживается секунду после того, как была нажата кнопка. даже если тыкнулась она совершенно случайно мимо пробегавшей мышью.
более того, возникает вопрос: у нас есть задвижка, оборудованная ПКП, реализовано управление без самоподхвата(не положено других по нормативам), время хода задвижки 20 секунд(что не является столь уж огромной величиной), выбега почти нет(что не является чем-то экстраординарным). мы нажимаем кнопку "открыть", держим кнопку, в нужном положении нам отпускаем и..... правильно - мы пролетели на 5% открытия в другую сторону, из-за того что команда удерживается в течении 1 секунды после снятия кнопки. писать в РЭ фразу "и отпустите кнопку за 1 секунду до достижения нужного вам значения".... ну понятно, что мягко говоря "не поймут".
при ручном управлении авторегуляторами на быстрых МЭО опять таки 1 секунда является явно лишней.
да, мне действительно непонятно, почему если вы уж добавили столь сомнительную опцию, вы не сделали её отключаемой. :confused:
SCADAMaster
04.06.2012, 12:12
в данном случае они увеличивают объём различных переменных. вопрос даже не в лицензировании, а в уменьшении промежуточных звеньев и прочего хлама, затрудняющего чтение и понимание самой программы.
Первоначально вы сказали именно про лицензирование.
Читаемость проекта зависит исключительно от правильности его построения.
вы по-прежнему считаете, что плодить окна без каких-либо принципиальных отличий является более простым путём?
Да.
кстати, что проще: внести изменения во внешний вид одного окна, либо 8? ;)
Одинаково, если использовать механизм шаблонов.
вы путаете "защиту от случайного нажатия" с "подтверждением действия".
В чем с вашей точки зрения между ними разница? И почему "Подтверждение действия" не может предотвратить случайного нажатия?
для предотвращения случайного нажатия кнопка должна быть удержана в нажатом положении определённое время, данный параметр является программируемым. хотим - кнопку надо держать 0.3 секунды, хотим - секунду.
Для компьютеров данный механизм защиты не типичен.
более того, возникает вопрос: у нас есть задвижка, оборудованная ПКП, реализовано управление без самоподхвата(не положено других по нормативам), время хода задвижки 20 секунд(что не является столь уж огромной величиной), выбега почти нет(что не является чем-то экстраординарным).
В этом случае вам действительно нужно использовать контрол "Кнопка без фиксации", связанный с командой. Чтобы не "проскочить" положение клапана, вам нужно установить меньший период опроса объекта.
из-за того что команда удерживается в течении 1 секунды после снятия кнопки.
Это не совсем так. Кнопка действительно удерживается, но длительность импульса команды зависит от настройки "Продолжительность импульса (тактов)" на закладке "Опрос" у команды.
По умолчанию установлен 1 такт. То есть если период опроса объекта 1 секунда (по умолчанию), то и длительность импульса будет 1 секунда. А если установите 100 мс, то импульс будет 100 мс.
Первоначально вы сказали именно про лицензирование.
Читаемость проекта зависит исключительно от правильности его построения.
читаемость проекта зависит в первую очередь от его объёма. при наличии ста лишних переменных, пусть даже построен он будет архиграмотноно - у вас будет в нём будет сто лишних переменных.
лишние переменные не перестанут быть лишними при любых условиях и при любых условиях они захламляют проект.
Да.
то есть вы не считаете, что действительно лишние элементы программы просто её захламляют? ну пусть будет так и каждый останется при своём мнении. лично мы считаем, что нагромождать 100500 одинаковых окон, отличающихся названием и порядковыми номерами битов выхода и входа является моветоном.
Одинаково, если использовать механизм шаблонов.
только задействование механизма шаблонов это само по себе лишнее действие. так что всё-таки изменить оформления одного окна быстрее, чем восьми.
В чем с вашей точки зрения между ними разница? И почему "Подтверждение действия" не может предотвратить случайного нажатия?
разница в том, что подтверждение это одно лишние действия(отпустили кнопку, перенесли курсор, нажали кнопку), а вот ограничение минимального времени нажатия кнопки - ноль лишних действий(держим кнопку чуть дольше). при использовании элемента "кнопка без фиксации" метод подтверждения нажатия вообще неосуществим.
Для компьютеров данный механизм защиты не типичен.
кажется, мы говорим не об офисных компьютерах, а о системах управления технологическим процессом. и от того, что я основным органом управления сделал мышь и клавиатуру, а не кнопочный пульт, система АСУ ТП не стала чем-то другим.
к слову, следуя принципам непосредственного взаимодействия с кнопками я вполне могу сделать основным методом ввода сенсорный экран и повешать его вместо кнопочных пультов.
В этом случае вам действительно нужно использовать контрол "Кнопка без фиксации", связанный с командой. Чтобы не "проскочить" положение клапана, вам нужно установить меньший период опроса объекта.
замечательно, чтож вы раньше про это не сказали.
однако что тогда делать с задержкой на подачу команды? уменьшение времени опроса поможет уменьшить время задержки на запись тэга?
а то задержка на запись тоже предоставляет неудобства, более того оператору(да и его начальству) сложно объяснить причину, по которой на старой схеме управления из кнопочных пультов и реле лохматых годов выпуска, команда проходила сразу, а тут нет.
SCADAMaster
04.06.2012, 13:07
читаемость проекта зависит в первую очередь от его объёма. при наличии ста лишних переменных, пусть даже построен он будет архиграмотноно - у вас будет в нём будет сто лишних переменных.
лишние переменные не перестанут быть лишними при любых условиях и при любых условиях они захламляют проект.
Если построить иерархический проект - от крупных узлов (цех, аппарат) к мелким (клапан, задвижка, параметр), то даже крупный проект может быть легко читаемым.
лично мы считаем, что нагромождать 100500 одинаковых окон, отличающихся названием и порядковыми номерами битов выхода и входа является моветоном.
Для этого в версии 3.5 мы планируем сделать новый механизм - "типизация".
только задействование механизма шаблонов это само по себе лишнее действие. так что всё-таки изменить оформления одного окна быстрее, чем восьми.
Установка нескольких галочек не являются времязатратным действием.
а вот ограничение минимального времени нажатия кнопки - ноль лишних действий(держим кнопку чуть дольше).
Это не интуитивный способ. Вы все кнопки так будете кнопки делать? Или какие то нужно держать, а какие то нет?
при использовании элемента "кнопка без фиксации" метод подтверждения нажатия вообще неосуществим.
Но данный метод действует для контрола команд.
однако что тогда делать с задержкой на подачу команды? уменьшение времени опроса поможет уменьшить время задержки на запись тэга?
Да, уменьшит.
Вам тогда также потребуется уменьшить период опроса изменений ОРС сервера. Но, по очевидным причинам, не стоит гнаться за высокими скоростями. Вообще большинство пользователей устраивают стандартные значения - 1 секунда.
более того оператору(да и его начальству) сложно объяснить причину, по которой на старой схеме управления из кнопочных пультов и реле лохматых годов выпуска, команда проходила сразу, а тут нет.
Потому что скорость движения электронов выше скорости процессора и обмена по интерфейсам.
Если построить иерархический проект - от крупных узлов (цех, аппарат) к мелким (клапан, задвижка, параметр), то даже крупный проект может быть легко читаемым.
хм... кажется, мы друг друга не понимаем.
скажите, вы согласны с тем, что 2 > 1? вы согласны с тем, что отследить пути следования двух вещей сложнее чем одной?
я согласен, что в бардаке разобраться ещё сложнее, но я то вам говорю об одинаковых принципах построения, но различном объёме.
Для этого в версии 3.5 мы планируем сделать новый механизм - "типизация".
ну так вот видите, получается что всё-таки такой механизм оправдан, раз вы собираетесь его реализовать ;)
Установка нескольких галочек не являются времязатратным действием.
установка нескольких галочек в нескольких местах несколько раз является.
Это не интуитивный способ. Вы все кнопки так будете кнопки делать? Или какие то нужно держать, а какие то нет?
можно сделать все, можно не все. лично мне и заказчику хотелось бы все. да и говоря о временах 0.3-0.5 секунды это не "держать", это "удерживать чуть подольше"
Но данный метод действует для контрола команд.
зачем мне пылесос, если я не курю? зачем мне контрол команд, если мне нужна кнопка без фиксации? ;)
Да, уменьшит.
Вам тогда также потребуется уменьшить период опроса изменений ОРС сервера. Но, по очевидным причинам, не стоит гнаться за высокими скоростями. Вообще большинство пользователей устраивают стандартные значения - 1 секунда.
1 секунда может устраивать лишь в тех случаях, когда речь идёт о системе управления простейшим технологическим процессом вроде насосной(и то при условии, что команды будут писаться сразу)
даже на водогрейные котлы 1 секунда это много.
Потому что скорость движения электронов выше скорости процессора и обмена по интерфейсам.
тогда ещё придётся объяснить заказчику почему при нажатии на кнопку в WinCC не ощущается разницы в скоростях электронов и процессоров, а тут ощущается ;)
а при уровне развития современной техники говорить о скоростях процессоров, электронов и прочего при условии нахождения всего оборудования в пределах одной небольшой площадки не поможет.
SCADAMaster
04.06.2012, 13:46
хм... кажется, мы друг друга не понимаем.
Возможно.
ну так вот видите, получается что всё-таки такой механизм оправдан, раз вы собираетесь его реализовать ;)
Он оправдан для большого количества одинаковых объектов. Оправдан ли он для 8 окон управления задвижкой - вопрос спорный.
установка нескольких галочек в нескольких местах несколько раз является.
Галочки нужно устанавливать в одном месте - на закладке "Шаблон" шаблонного объекта.
зачем мне пылесос, если я не курю? зачем мне контрол команд, если мне нужна кнопка без фиксации? ;)
Если вытащить дискретную команду правой кнопкой мыши, появится в меню в котором можно выбрать "кнопка". Эта кнопка и есть контрол команды, и права доступа на нее действуют.
1 секунда может устраивать лишь в тех случаях, когда речь идёт о системе управления простейшим технологическим процессом вроде насосной(и то при условии, что команды будут писаться сразу)
даже на водогрейные котлы 1 секунда это много.
SCADA система предназначена для диспетчеризации - то есть для мониторинга процесса и задания параметров процесса, иначе говоря для представления информации оператору. 1 секунда в этом случае вполне достаточная величина, а для управления и противоаварийных защит необходимо устанавливать контроллеры.
Однако в MasterSCADA есть возможность уменьшения периода опроса как объектов, так и ОРС серверов. Запись в ОРС сервер по умолчанию производится по изменению.
Он оправдан для большого количества одинаковых объектов. Оправдан ли он для 8 окон управления задвижкой - вопрос спорный.
восемь - цифра, взятая для примера.
Если вытащить дискретную команду правой кнопкой мыши, появится в меню в котором можно выбрать "кнопка". Эта кнопка и есть контрол команды, и права доступа на нее действуют.
так замечательно. я нажимаю на кнопку без фиксации, вылазит окошко подтверждения - я снимаю курсор с мыши и отпускаю кнопку, вуаля.
SCADA система предназначена для диспетчеризации - то есть для мониторинга процесса и задания параметров процесса, иначе говоря для представления информации оператору. 1 секунда в этом случае вполне достаточная величина, а для управления и противоаварийных защит необходимо устанавливать контроллеры.
где и зачем должны стоять контроллеры - понятно. другой вопрос в том, что запись и чтение с секундной задержкой непозволительно много в том числе и для некоторых "голых" скада систем.
Однако в MasterSCADA есть возможность уменьшения периода опроса как объектов, так и ОРС серверов. Запись в ОРС сервер по умолчанию производится по изменению.
не стоит позиционировать уменьшение имеющихся недостатков как преимущество. в других пакетах, с которыми мне доводилось работать такого нет.
SCADAMaster
04.06.2012, 14:06
восемь - цифра, взятая для примера.
Ну вот мы для этого примера и ответили.
так замечательно. я нажимаю на кнопку без фиксации, вылазит окошко подтверждения - я снимаю курсор с мыши и отпускаю кнопку, вуаля.
Если вы хотите при помощи кнопок управлять задвижкой, то мы ответили вам как это делать.
Подтверждение нужно для выполнения ответственных операций - например запуск процесса или принудительный останов.
где и зачем должны стоять контроллеры - понятно. другой вопрос в том, что запись и чтение с секундной задержкой непозволительно много в том числе и для некоторых "голых" скада систем.
Как уменьшить периода опроса и записи мы также вам ответили.
У меня еще один вопрос.
Есть у меня значение "Значение1" связанное с ОРС тегом.
На мнемосхеме есть элемент "Значение" у которого установлена связь со "Значение1".
На мнемосхеме я могу вводить значение. В контроллере переменная сразу меняется.
Но мне требуется чтобы контроллер сам мог переписать эту переменную.
При попытки переписать значение этой переменной из контроллера, оно меняется, но в следующем такте переписывается скадой.
Надеюсь вы поняли что я хочу. Подскажите как это сделать?
SCADAMaster
02.07.2012, 15:35
Надеюсь вы поняли что я хочу. Подскажите как это сделать?
Либо через действия присваивать значение, либо использовать команду с обратной связью.
Рамзиль90
25.12.2012, 10:05
Добрый день.
У меня такой вопрос - как можно сделать редактируемое значение с возможностью преобразования значения с секунд(приходит с контроллера) в минуты(отображается в скада). То есть на экране скады значение в минутах,а в контроллере в секундах, и еще мы можем редактировать значение в скаде и отправлять контроллеру.
SCADAMaster
25.12.2012, 12:18
Можно воспользоваться модулем "Расчет". У него есть специальная формула:
Sec2Time( )
Подробное ее описание можете найти в справке к функциям.
Затем вытаскиваете расчет на мнемосхему, и в свойствах в разделе "Дата/время" задаете нужный формат времени.
Рамзиль90
25.12.2012, 12:40
Спасибо,но я так делал уже,мне ведь надо чтоб он редактировался еще..с этим что делать?
SCADAMaster
25.12.2012, 13:16
Добавьте команду, задайте у нее тип дискретный и вытащите на мнемосхему - в этом поле оператор будет вводить значения минут. Результат в дереве умножаете на 60 и передаете в контроллер.
Или вам нужно в одном поле сделать?
Рамзиль90
25.12.2012, 13:21
Да в одном поле,чтоб и выводилось и редактировалась. Сначало при запуске считывает с контроллера и выводит на экран в значение,а дальше в том же значении редактируется и отправляется в контроллер.
SCADAMaster
25.12.2012, 13:44
Тогда нужно использовать команду с обратной связью.
У команды на закладке "Опрос выхода" есть поле "Обратная связь". В это поле можно перетащить выход ФБ или ОРС переменную.
Вам нужно выполнять деление количества секунд на 60, и результат перетаскивать в это поле.
Значение которое вводит оператор, умножаете на 60 в модуле "Расчет" и отправляете в контроллер.
Рамзиль90
25.12.2012, 13:45
Спасибо большое.попробую)
Рамзиль90
25.12.2012, 13:48
Получилось)
А теперь возник такой вопрос,как сделать так чтоб при включении скады значения не сбрасывались в контроллере?
Рамзиль90
25.12.2012, 14:04
И еще вопрос,скажите пожалуйста как сделать счетчик времени в часах минутах секундах...чтоб показывать сколько длится процесс с его начала и до конца?
SCADAMaster
25.12.2012, 14:28
А теперь возник такой вопрос,как сделать так чтоб при включении скады значения не сбрасывались в контроллере?
Попробуйте у команды, на закладке "опрос" поставить галочку "Не передавать данные обратной связи".
В этом случае на выход команды будет передаваться только то что вводит оператор в контроле.
И еще вопрос,скажите пожалуйста как сделать счетчик времени в часах минутах секундах...чтоб показывать сколько длится процесс с его начала и до конца?
Воспользуйтесь ФБ "Счетчик времени" (закладка "работа со временем" Палитры ФБ).
Рамзиль90
25.12.2012, 14:32
Спасибо,да я поставил его,но он показывает только одно из часы минуты секунды..а мне надо чтоб были все 3 сразу..и у него быстро чем обычно идут секунды и до 100,а не 60?..
SCADAMaster
25.12.2012, 14:38
По умолчанию данный ФБ выдает на выход миллисекунды. Задайте в настройках секунды
Если вам нужно чтобы этот ФБ выдавал полноценное время с минутами и секундами, то как мы писали ранее - воспользуйтесь модулем "Расчет" и функцией Sec2Time( )
Рамзиль90
25.12.2012, 14:45
Спасибо работает)
Рамзиль90
25.12.2012, 15:46
Скажите пожалуйста,как можно реализовать работу с базами данных? Чтоб значения параметров загружались с файла?..
SCADAMaster
25.12.2012, 15:50
Так из файла или из базы данных?
Про работу с базами данных у нас есть специальная документация:
http://www.insat.ru/services/support/art_step_by_step/BD.zip
Рамзиль90
25.12.2012, 15:52
Лучше с файла,чтоб можно было выбрать файл и с него загрузить значения...а если будут внесены изменения сохранять в том же файле или выбрать новый файл?
Рамзиль90
25.12.2012, 15:54
С помощью чего это будет легче и быстрее реализовать? с файлом или с БД?
Рамзиль90
25.12.2012, 16:19
У меня будет кнопка настройки,нажав на него будет открываться окно, в кот можно выбрать файл и загрузить с него значения параметров,а если будут внесены изменения кнопкой сохранить можно было записать в файл изменения.
SCADAMaster
25.12.2012, 16:37
Для этого не нужна БД. Для этих целей есть ФБ "Сохранение в файле".
Также посмотрите в библиотеке, в разделе "Примеры скриптов", пример "Сохранение и загрузка набора команд". Там специальный скрипт который сохраняет значение команд в файл по сигналу, и по сигналу считывает их.
Рамзиль90
25.12.2012, 16:39
Спасибо. Ну а как вывести эти значения на экран?
Рамзиль90
25.12.2012, 16:44
Например как таблицу- 1 столбец)назв параметра, 2 столбец)значение..как-то так примерно?.
SCADAMaster
25.12.2012, 16:46
Если использовать скрипт из библиотеки (который сохраняет команды), то как обычные команды - вытаскиваете их на мнемосхему. Они будут отображать значение при считывании, и позволят вводить данные.
Правда в том примере используются контрол "Блок параметров" - так тоже можно.
SCADAMaster
25.12.2012, 16:51
Контрола таблицы у нас нет, но можно сделать таблицу из набора команд.
Недавно мы выпустили ОРС для счетчиков Меркурий
http://www.insat.ru/products/?category=1250
и к нему прилагается пример использования. В этом примере как раз используется такой принцип создания таблиц - посмотрите.
Рамзиль90
25.12.2012, 20:10
А как работает ФБ "Сохранение в файле"? Откуда брать имя файла?
Рамзиль90
25.12.2012, 20:47
Я закинул в имя файла выбранную строку из списка строк. Правильно ли будет работать запись так или надо как-то по другому указать имя файла?..
Рамзиль90
25.12.2012, 21:02
И если надо будет перезаписывать значения параметров в файле через определенное время или по изменению значения как можно будет это реализовать?
SCADAMaster
26.12.2012, 07:32
Я закинул в имя файла выбранную строку из списка строк. Правильно ли будет работать запись так или надо как-то по другому указать имя файла?..
Да, правильно. Путь можно указывать относительным (file.txt) - в этом случае файл будет хранится в папке проекта, либо полным.
И если надо будет перезаписывать значения параметров в файле через определенное время или по изменению значения как можно будет это реализовать?
Указываете то же имя файла и выполняете запись - старые данные стираются, новые записываются.
Рамзиль90
26.12.2012, 07:50
Спасибо. А как сделать чтобы запись осуществлялась автоматически по времени?
SCADAMaster
26.12.2012, 07:51
Можно генерировать импульс по расписанию (есть специальная закладка у объектов).
Рамзиль90
26.12.2012, 08:25
Спасибо. А как можно сделать по изменению значения?
SCADAMaster
26.12.2012, 08:45
Опишите вашу задачу подробнее.
Рамзиль90
26.12.2012, 09:25
Изменение значения параметра происходит во время выполнения процесса. Вот если произошло изменение значения параметра его надо записать в файл.
SCADAMaster
26.12.2012, 09:52
Данный ФБ предназначен для сохранения набора переменных - например для рецептов.
Очень странно что вам нужно сохранять по изменению.
Если в ФБ несколько параметров, и изменился один - нужно все тогда записать.
Может быть вы опишите более комплексно вашу задачу.
Рамзиль90
26.12.2012, 10:03
То есть не к времени привязываться,а к изменению...
Рамзиль90
26.12.2012, 11:45
Почему не создается файл после того как забиваю в список строк название строки?
Рамзиль90
26.12.2012, 11:51
Ошибки не выходит при записи , но файл не создается и не записываются значения..
SCADAMaster
26.12.2012, 12:02
А какой путь вы указали? Сигнал на вход "Запись" производили?
Если короткий, то файла создается в папке объекта в папке проекта.
Рамзиль90
26.12.2012, 12:08
Путь я не указывал, просто в имя файла отправил отправил выбранную строку?
Рамзиль90
26.12.2012, 12:08
Да сигнал подаю,на выходе значение появляется но не куда не записывается и файл не создается..
Рамзиль90
26.12.2012, 12:13
и при нажатии на чтение не меняется значение не считываетсся
SCADAMaster
26.12.2012, 12:19
Да сигнал подаю,на выходе значение появляется но не куда не записывается и файл не создается..
Тогда файл должен был создастся в папке проекта.
Откройте папку вашего проекта, найдите в нем папку вашего объекта (структура папки проекта имеет структуру аналогичную дереву проекта), в папке должен создастся ваш файл.
Если файл не создается, то выложите ваш проект. Выполните "Проект-Экспортировать".
Также приложите скриншот в котором видны значения которые поступают на вход ФБ.
Рамзиль90
26.12.2012, 13:49
Вроде получилось.Спасибо.
Рамзиль90
26.12.2012, 14:02
А как сделать чтоб с помощью команды показывать и редактировать значение, а с помощью кнопки "загрузить" загружать данные с файла и передать их контроллеру и уже дальше их редактировать?
SCADAMaster
26.12.2012, 14:16
Чтобы команда позволяла вводить и отображать данные, нужно использовать обратную связь в команде (поле на закладке "Опрос выхода").
Считанные данные можно постоянно передавать контроллеру (запись в ОРС все равно осуществляется по изменению), а контроллер эти данные будет использовать когда ему это нужно.
Рамзиль90
26.12.2012, 14:31
Да с командой я разобрался, а как сделать чтоб с файла загружать значение и передавать контроллеру?
Рамзиль90
26.12.2012, 14:33
Потому что переменной только один выход можно закинуть(я уже туда закинул с команды), а с файла данные как записать в переменную контроллера,входа то свободного уже нет?
SCADAMaster
26.12.2012, 14:39
Так чтобы в контроллер данные передать нужен не вход, а выход. А выход может иметь неограниченное количество подключений.
Рамзиль90
26.12.2012, 14:47
А как подать тогда в контроллер значения с выхода команды и загруженного файла? в перем контроллера имеется вход и выход. Я на вход переменной контроллера подаю выход команды,чтоб при изменении значения в команде и изменялось также в контроллере,а выход с загруженного файла как подать в контроллер,раз уже там сидит выход с команды?
Рамзиль90
26.12.2012, 14:48
то есть вход переменной контроллера уже занят командой.
SCADAMaster
26.12.2012, 14:55
Вход может иметь только одну связь.
Вам нужно соединить ОРС переменную с выходом ФБ. У данного ФБ, при записи на выход также передается записанное значение.
Рамзиль90
26.12.2012, 14:58
Вот именно так получается,а как связать два выхода в одном ФБ,то есть если изменилось значение пишется значение с команды,а если произошла загрузка пишется значение с загруженного файла?
SCADAMaster
26.12.2012, 15:05
Тогда используйте не данный ФБ, а скрипт из библиотеки как мы вам писали ранее.
Рамзиль90
26.12.2012, 15:10
Хорошо попробую, спасибо. Ну а там к чему привязывать выход с команды и загруженного файла?
SCADAMaster
26.12.2012, 15:15
Этот скрипт сохраняет значения команд в файл.
То есть вы вводите значение, команда сразу же передается в контроллер. Также вы можете сохранить ее состояние, и потом загрузить набор значений команд когда вам это потребуется.
Рамзиль90
26.12.2012, 15:18
Хорошо. А почему вы сделали 3 команды в одном объекте,а одну в другом?
Рамзиль90
26.12.2012, 15:23
А при запуске скады чтоб значение контроллера вывелось в команду как сделать, чтоб не нули были?
Рамзиль90
26.12.2012, 15:29
Связь со значением контроллера сделал но не показывает все равно..
SCADAMaster
26.12.2012, 15:46
Хорошо. А почему вы сделали 3 команды в одном объекте,а одну в другом?
Это демонстрационный проект. Вложенный объект показывает что сохранение состояния команды идет не только на уровне скрипта, но и у вложенных объектов.
А при запуске скады чтоб значение контроллера вывелось в команду как сделать, чтоб не нули были?
Через обратную связь у команды.
Что вообще вы хотите сделать? Опишите вашу задачу.
Рамзиль90
26.12.2012, 15:51
Есть ли возможность увеличить число параметров скрипта?
SCADAMaster
26.12.2012, 15:52
Скрипт сохраняет состояние ВСЕХ команд которые находятся в одном объекте с ним и во вложенных объектах. То есть вам нужно просто добавить столько команд, сколько вам нужно.
Рамзиль90
26.12.2012, 15:58
Я посмотрел в динамизации входных значений "блока параметров" там прописано всего 10 значений,и в 4 из них ваши команды? если так то разве больше 10 команд можно чтоли туда закинуть?
Рамзиль90
26.12.2012, 16:04
или можно обойтись без "блока параметров" и просто закидывать команды в мнемосхему?
Рамзиль90
26.12.2012, 17:08
Можно ли в блок параметров добавить не параметры(кот можно в свойствах добавить),а значения в динамизации входных значений?
SCADAMaster
26.12.2012, 17:10
или можно обойтись без "блока параметров" и просто закидывать команды в мнемосхему?
Можно, просто вытащите команды на мнемосхему
Рамзиль90
26.12.2012, 23:00
В вашем скрипте он с "блоком параметров" работает правильно,а как команду закидывая в мнемосхему работает не так как надо,считывание и запись по команде делает(то есть после редактирования значения),а после загрузки с файла в контроллер не записывает почему то?..
SCADAMaster
27.12.2012, 07:10
Значения команд при считывании изменились? Значит должно записаться.
Если же значения на выходах не изменились, то запись в ОРС не будет произведена (так как по умолчанию запись по изменению).
Рамзиль90
27.12.2012, 12:31
При считывании из файла изменяются значения, но не изменяются в контроллере?..
Рамзиль90
27.12.2012, 12:32
А если изменить в значении самой и нажать "да",то изменяется...может связь не работает правильно?
SCADAMaster
27.12.2012, 12:46
Пришлите ваш проект. Выполните Проект - Экспортировать.
Рамзиль90
27.12.2012, 13:00
Вот проект)
Рамзиль90
27.12.2012, 13:05
Если в самих значениях меняю значения меняется все работает,а если загружу с файла то значение на экране меняются а на контроллере нет.
Рамзиль90
27.12.2012, 13:09
и при включении скады не должны быть 0,а значения в контроллере.
SCADAMaster
27.12.2012, 13:31
1) У вас стоит период опроса 1 мс. Зачем? Установите стандартное значение 1000 мс - у корневого объекта, на закладке "Опрос" нажмите кнопку "Вернуть умолчания".
2) Удалите в папке проекта файлы из папок:
MasterSCADA Projects\Projects\БД\Объект\БД\Сохранение и загрузка набора команд\Список строк\
MasterSCADA Projects\Projects\БД\Объект\БД\Сохранение и загрузка набора команд\Объект 1\Сохранение и загрузка набора команд\
У вас сейчас смешаны наборы которые были из старого проекта и нового.
3) На мнемосхему удалите контрол "Блок параметров" - он вам не нужен, раз вы используете собственный контрол команд.
4) У команд, у которых вы используете обратную связь, на закладке "Опрос" поставьте галочку "Не передавать данные обратной связи".
Рамзиль90
27.12.2012, 13:57
все сделал как вы написали,но все равно после загрузки файла на мнемосхеме значение меняется,а в контроллере нет.?
SCADAMaster
27.12.2012, 14:10
Пришлите проект снова.
Рамзиль90
27.12.2012, 14:29
Вот проект.
Рамзиль90
27.12.2012, 15:44
Подскажите пожалуйста как быть?
SCADAMaster
27.12.2012, 15:49
Проблема возникает, если у команды установлена галочка "Не передавать данные обратной связи". Пока что снимите ее.
Рамзиль90
27.12.2012, 16:00
Галочку убрал,но все также.
Рамзиль90
27.12.2012, 16:01
+ добавилась еще одна проблема,при запуске скады в контроллере значения сбрасываются на 0.
Рамзиль90
27.12.2012, 16:01
и что в итоге сейчас делать?
Рамзиль90
27.12.2012, 20:08
Подскажите пожалуйста,как можно решить задачу, очень надо...
SCADAMaster
28.12.2012, 07:32
Удалите весь код скрипта "Сохранение и загрузка набора команд" (на закладке код) и вставьте код из приложенного текстового файла.
"Не передавать данные обратной связи" у команд включите.
Рамзиль90
28.12.2012, 08:35
Спасибо большое,работает)
Рамзиль90
08.01.2013, 18:38
Здравствуйте!
Можно ли реализовать следующее: Создаем ФБ (функциональный блок) устройства, у него есть свои входы и выходы. Без изображения. Например ФБ клапана имеет вход - управление, а выходы - номер аварии и состояние. Далее создаем ФБ изображения, его свойством является цвет. Т.е. входом ФБ изображения есть цвет(какой-то номер, цифра). Делаем связь OPC с экземпляром ФБ объекта, и связь объекта с экземпляром ФБ изображения.
В таком случае можно удобно заменять как изображение так и сам ФБ устройства, можно ли это сделать, создавать не зависящие друг от друга ФБ и изображение,чтоб можно было заменить ФБ, а изображение оставить или наоборот?
SCADAMaster
08.01.2013, 18:50
То есть сделать два отдельных ФБ - для изображения и реализующий внутренний функционал? Можно, только зачем?
Сделайте объект и изображением, если потребовался другой - сделайте копию объекта и измените изображение. Затем тиражируйте.
Рамзиль90
08.01.2013, 19:27
[QUOTE=SCADAMaster;99720]То есть сделать два отдельных ФБ - для изображения и реализующий внутренний функционал? Можно, только зачем?
Чтоб можно было заменить или изображение или ФБ.
Спасибо.
SCADAMaster
08.01.2013, 20:21
А в чем проблема сделать копию ФБ и заменить в нем или изображение или ФБ?
Рамзиль90
08.01.2013, 21:00
Проблемы нет,если изменять. А если заменить надо будет весь ФБ или изображение, возможности просто вставить готовый,не изменяя будет? то есть просто вставить ФБ или изображение вместо той и только изменить связи с ops и мнемосхемой?
SCADAMaster
08.01.2013, 21:09
Можно будет вставить и восстановить связи.
Может быть вы опишите вашу задачу подробнее - что именно вам нужно сделать.
приборист
09.01.2013, 13:27
Здравствуйте. Знакомясь с описанием увидел фразу "ФБ можно использовать только при наличии доп. опции ...." Что это ? Где взять ОПЦИЮ ?
SCADAMaster
09.01.2013, 14:01
Про какой именно ФБ идет речь?
Как отдельная опция идут ФБ из группы "Отраслевые библиотеки", "Отправка СМС", "Прием СМС", "Отправка E-mail".
приборист
09.01.2013, 14:57
да, именно там этот Аналоговый ПИД-регулятор. Опция - платная?
SCADAMaster
09.01.2013, 15:03
Да, он входит в библиотеку "Теплоэнергетика". Кроме того данный ФБ работает только в контроллере под управлением MasterPLC.
Есть обычный ПИД-регулятор, на закладке "Управление" (ФБ "Регулятор"). Данный ФБ входит в опцию MSRT-ASL. Работает как в скаде так и в контроллере. В Demo версии он есть - можете попробовать.
приборист
10.01.2013, 07:40
Ещё вопрос. Как я понял таймеры TON и TOF нужно писать самому? т.к. в библиотеке я их не увидел ...
SCADAMaster
10.01.2013, 09:38
Указанные вами таймеры есть в разделе "Работа со временем", только называются по другому.
Также таймеры есть в ФБ "Скрипт ST"
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot