Просмотр полной версии : вопрос про элемент "выпадающий список"
Добрый день. Мне необходимо поменять уставку. Пользуюсь выпадающим списком, куда забиваю значения ,например, от 16 до 25. Хотелось бы получить следующее: если я не мнемосхеме в режиме исполнения выбираю из списка любую цифру, то далее она должна передаться через ОРС сервер - поступает в контроллер. Но так не происходит, в ОРС передается не показания от 16 до 25,а номер строки. Получается этот элемент бесполезен?
SCADAMaster
18.08.2015, 10:37
Данный контрол возвращает номер строки, а не вводимое значение.
Вам нужно обработать его в дереве объектов. Если 0 строка это 16, то тогда можно в модуле "Расчет" просто прибавить к возвращаемому номер строки 16 и это передавать в ОРС сервере.
Можно еще использовать ВФБ "Список строк" из закладки "Работа с архивом".
Спасибо за оперативный ответ. Подскажите, я добавил из демо версии для изменения уставки элемент с ползунком такой, я не знаю как он называется, но с ним тоже беда- он меняет уставку, работает нормально, но при каждом запуске он не подхватывает значение уставки в контроллере, т.е. не обновляет себя, показывает всегда нижнюю границу ,в окошке отображения числа -нижней придел диапазона (ползунок в крайнем левом положении). Если пошевелить , то новое значение уйдет в контроллер через ОРС, ползунок и значение в окошке подползунком останется на этом значении, но при рестарте -снова нижняя граница шкалы. Восстановление при рестарте на этом элементе стоит. может,я что-то не так делаю?
SCADAMaster
18.08.2015, 13:04
Вам нужно использовать команду с обратной связью.
Создайте команду, на закладке "Опрос выхода" у нее есть поле "Обратная связь" перетащите в него ОРС переменную или выход ФБ (лучше выход ФБ "Повторитель" или сервиса внешних связей). После этого вытащите команду на мнемосхему правой кнопкой мыши и выберите вариант "Задатчик". Такой контрол позволит вводить данные оператором, и отображать текущее значение уставки в контроллере.
Вам нужно использовать команду с обратной связью.
Создайте команду, на закладке "Опрос выхода" у нее есть поле "Обратная связь" перетащите в него ОРС переменную или выход ФБ (лучше выход ФБ "Повторитель" или сервиса внешних связей). После этого вытащите команду на мнемосхему правой кнопкой мыши и выберите вариант "Задатчик". Такой контрол позволит вводить данные оператором, и отображать текущее значение уставки в контроллере.
Получилось. Спасибо!
команда с перечислением и обратной связью работает с моей программой в плк,а вот выпадающий список имеет один глючный момент. Задумка была, что с помощью него оператор меняет числовое значение и в нём же отображается изменение от алгоритма программы, это сделано через динамизацию на вход подали значение с ОРС. Суть глюка в том, что когда контроллер меняет значение во время переходных процессов слишком быстро, до 500мс, список с задержкой, со входа на выход записывает значение, в итоге, плк сменил двойку на единицу затем на ноль и остановился, в это время скада пишет последнее прочитанное значение и перезаписывает ноль опять единицей.
SCADAMaster
15.02.2017, 08:07
Если делать как положено через команду с обратной связью, то решением проблемы зацикливания является настройка "Блокировка обратной связи". Также можно включить флаг "Не передавать данные обратной связи" и тогда сигнал приходящий по ОС не будет идти на выход команды, на выход команды будут поступать только сигналы вводимые оператором.
выпадающий список же берется из палитры, разве там есть свойства доступные элементам из дерева объектов
да и форма представления с перечислением мне больше подходит, над подтверждением уже не требуется работать
SCADAMaster
15.02.2017, 11:49
Во первых можно сделать перечислимую шкалу, и назначить ее команде (Система - Шкалы - Перечислимые).
Если все же требуется именно контрол мнемосхемы, то делать нужно так:
1. Создаете команду типа целый.
2. Привязываете к ней обратную связь. Снимаете галочку "Не передавать данные обратной связи".
3. Привязываете команду на вход и выход динамизации (Выбранная строка и Начальная выбор).
проблема была в очень быстром программном изменении переменной и относительно медленном соединении скады с контроллером
сделав как Вы написали, работает, но через раз, возможно с вариантом на перечислениях тоже такое может быть, но сколько раз проверял не заметил, а здесь буквально через раз
в примере при нажатии на событие стоп из любого значения больше единицы плк меняет значение переменной на единицу, через 500мс на ноль, в состоянии ноль отключаются функции её изменения алгоритмом, поэтому туда можно записать новое значение только из вне, это скорее всего и происходит со стороны скады и это может быть как ноль, так и единица
15-02-2017 13:09:19.025 iOper:Запись в SIEMENSPLC.siemensplc.iOper значение 0
15-02-2017 13:13:59.705 iOper:Запись в SIEMENSPLC.siemensplc.iOper значение 0
15-02-2017 13:13:59.267 iOper:Запись в SIEMENSPLC.siemensplc.iOper значение 1
15-02-2017 13:13:58.830 xStop:Запись в SIEMENSPLC.siemensplc.xStop значение 1
15-02-2017 13:13:57.127 xStart:Запись в SIEMENSPLC.siemensplc.xStart значение 1
15-02-2017 13:13:56.470 iOper:Запись в SIEMENSPLC.siemensplc.iOper значение 4
15-02-2017 13:13:16.765 iOper:Запись в SIEMENSPLC.siemensplc.iOper значение 1
15-02-2017 13:13:16.109 xStop:Запись в SIEMENSPLC.siemensplc.xStop значение 1
15-02-2017 13:13:13.780 xStart:Запись в SIEMENSPLC.siemensplc.xStart значение 1
15-02-2017 13:13:13.343 iOper:Запись в SIEMENSPLC.siemensplc.iOper значение 4
15-02-2017 13:13:09.108 iOper:Запись в SIEMENSPLC.siemensplc.iOper значение 0
15-02-2017 13:13:08.671 iOper:Запись в SIEMENSPLC.siemensplc.iOper значение 1
15-02-2017 13:13:08.233 xStop:Запись в SIEMENSPLC.siemensplc.xStop значение 1
15-02-2017 13:13:05.467 xStart:Запись в SIEMENSPLC.siemensplc.xStart значение 1
15-02-2017 13:13:05.030 iOper:Запись в SIEMENSPLC.siemensplc.iOper значение 4
15-02-2017 13:13:01.014 iOper:Запись в SIEMENSPLC.siemensplc.iOper значение 1
15-02-2017 13:13:00.358 xStop:Запись в SIEMENSPLC.siemensplc.xStop значение 1
15-02-2017 13:12:56.123 xStop:Запись в SIEMENSPLC.siemensplc.xStop значение 1
15-02-2017 13:12:54.014 xStart:Запись в SIEMENSPLC.siemensplc.xStart значение 1
15-02-2017 13:12:51.685 iOper:Запись в SIEMENSPLC.siemensplc.iOper значение 4
SCADAMaster
15.02.2017, 13:39
Предоставьте доступ к компьютеру по TeamViewer, из вашего объяснения непонятно что у вас происходит.
ну вот не могу согласиться, что нет в выпадающем списке ошибки. Запустил скаду, но управлял контроллером с панели, проявляется тот же эффект. В ОРС сервере ведется лог, что скада осуществляет запись. Получается, в списке, обратная связь управляет сама собою, хотя в её задачу входит только отображение действий выполненных оператором. Алгоритмы работы ведь могут быть разными, есть шанс получить неконтролируемое зацикливание двух шагов
SCADAMaster
15.02.2017, 15:58
Я вам объяснил почему выпадающий список так делает - блокировка обратной связи не влияет на внешние контролы, только на контролы самой команды.
я про другое, вып.список это элемент визуализации для оператора, с помощью него оператор управляет чем то и где то и если этот элемент без участия оператора что то пишет, это не нормально
SCADAMaster
15.02.2017, 16:19
Пишет не контрол, а пишет команда, у которой включена передача обратной связи.
т.е. если я в команде уберу ОС,а на вход списка подам значение полученное другим способом, то смогу убедится что это виноват не контрол, так?
SCADAMaster
15.02.2017, 17:02
Нет, так как сигнал пришедший на начальный выбор будет передан на выход контрола.
Чем вам не подходит вариант с перечислимой шкалой?
Нет, так как сигнал пришедший на начальный выбор будет передан на выход контрола.
значит, дело все же не в команде, а в списке
SCADAMaster
16.02.2017, 08:30
Нет, когда работает команда с обратной связью передача происходит по ней.
Теоретически можно решить вашу задачу на выпадающем списке через скрипт - обрабатывать входные сигналы с контроллера и раскрывающегося списка.
Но есть более простое решение на перечислимых шкалах.
Здравствуйте!
В проекте 40 объектов. Каждому объекту на каждую смену может быть назначен исполнитель (или ответственный). Создал на каждый объект окно управления, в нем выпадающий список - получается, что список нужно вносить для каждого окна, и в случае изменения - изменять тоже в каждом окне. Можно ли как-то "попросить" систему обращаться к единому списку исполнителей?
SCADAMaster
29.03.2019, 11:29
Можно использовать ВФБ "Список строк" - из раздела Работа с архивом палитры ФБ.
Несколько данных ВФБ можно настроить на один файл. Тогда изменения будут применять ко всем
Благодарю за ответ! Правильно ли я понимаю, что ФБ нужно вставить в каждый объект и отразить его в соответствующем окне? Тогда куда "воткнуть" файл? Или надо создать его отдельно и где-то написать путь к нему?
SCADAMaster
29.03.2019, 13:24
Правильно ли я понимаю, что ФБ нужно вставить в каждый объект и отразить его в соответствующем окне?
Да
Тогда куда "воткнуть" файл? Или надо создать его отдельно и где-то написать путь к нему?
Куда хотите.
Можно полный путь указать на любой папке на диске. Можно относительный путь - посмотрите описание ФБ в справке
Стыдно признаться, где-то был параметр "период мигания" - не могу найти, и справки ничего не подсказывает...
SCADAMaster
29.03.2019, 16:36
Скриншот по ссылке:
https://yadi.sk/i/qlbQhcnsmY7vVA
создал файл (сначала в документах, затем и на корне диска), включил в объекты "список строк" - по одному в каждый объект, настроил их на созданный файл - не хочет работать более, чем в одном объекте. Если "список строк" включен в несколько объектов, в первом из них работает, в остальных - список открывается пустой. Что может быть?
Также на главной мнемосхеме расположены 40 кнопок объектов - созданы простым перетаскиванием объектов на мнемосхему. Затем для каждого объекта одинаково создано окно управления. Первые два открываются по щелчку левой клавишей на соответствующей кнопке, остальные - только по контекстному меню. Так должно быть, или мне только кажется, что они одинаковые?
SCADAMaster
30.03.2019, 10:08
создал файл (сначала в документах, затем и на корне диска), включил в объекты "список строк" - по одному в каждый объект, настроил их на созданный файл - не хочет работать более, чем в одном объекте. Если "список строк" включен в несколько объектов, в первом из них работает, в остальных - список открывается пустой. Что может быть?
Приложите ваш проект (Проект - Экспортировать)
Также на главной мнемосхеме расположены 40 кнопок объектов - созданы простым перетаскиванием объектов на мнемосхему. Затем для каждого объекта одинаково создано окно управления. Первые два открываются по щелчку левой клавишей на соответствующей кнопке, остальные - только по контекстному меню. Так должно быть, или мне только кажется, что они одинаковые?
Вытаскивайте объект правой кнопокой мыши и выбирайте в контекстном меню какое окно нужно открывать
Сделал экспорт, завернул в rar, но вложить в сообщение не удается, говорят, не хватает прав
https://yadi.sk/d/mYqzyAeH5JBHEQ
Загрузил на яндексдиск.
Задача стояла сделать диспетчеризацию сварочного цеха, чтобы по каждому сварочному посту можно было назначить сварщика, контролировать и учитывать время варки и простоя и (еще не пытался реализовать) создавать ежедневный отчет, в котором будут отражены имя сварщика и время варки по каждому посту.
SCADAMaster
30.03.2019, 13:19
У вас только в одном объекте лежит ВФБ "Список строк", поэтому где он у вас включен в нескольких объектах - не ясно.
И использовать файл лежащий в корне диска С (и любого диска) - плохая идея, туда может не быть прав. Сделайте папку и туда кладите файл.
Также посмотрите наши видеопримеры, особенно про механизм Шаблон - Экземпляр, он вам явно понадобится
https://insat.ru/products/?category=1524
Да, извиняюсь. Первоначально "список строк" был в первых трех объектах - открывался только в первом. Затем я удалил их из первых двух, чтобы проверить - и в третьем заработал
SCADAMaster
30.03.2019, 18:41
Тогда верните и проверьте снова. Только файл положите в папку не в корне диска
Здравствуйте!
Вернул. Файл положил в папку, где проекты МастерСКАДА. Картина такая же
SCADAMaster
31.03.2019, 12:50
Пришлите новую версию проекта.
https://yadi.sk/d/mYqzyAeH5JBHEQ
Там же. Вставил список строк в пять первых объектов (постов). Список открывается только в одном. Так же по шелчку ЛКМ открывается окно управления только первых двух постов, остальные по шелчку ПКМ - "окно управления"
SCADAMaster
01.04.2019, 11:53
Посмотрите пример в приложении
https://yadi.sk/d/QoNd8Qu6VDUgow
Здравствуйте! Посмотрел. Все то же. Если список сбрасывать при следующем выборе, вроде, работает, но мне надо, чтобы каждый из них "держал" выбор...
Видимо, я не совсем понимаю, как это должно работать. Наверно, хочу невозможного. Попробую решить задачу по-другому. Вопросы, конечно, еще будут, потому что надо еще формировать отчеты...
https://yadi.sk/d/BUW8J9113c_7WQ
Здравствуйте!
Пока сделал только два поста, должно быть сорок. Необходимо в конце каждой смены сохранять (желательно экспортировать в отдельный файл Excell) данные (три целочисленных переменных) по каждому посту. Что для этого лучше применить: рапорт или отчет? Как это сделать, чтобы в конце каждой смены и автоматически? В руководстве написано (и показано), что отчеты создаются во встроенном Excel, но у меня открывается просто белый лист, без ячеек. Это сбой, или я что-то делаю не так?
SCADAMaster
10.04.2019, 16:09
Используйте отчет - рапорты Excel это устаревший функционал и использовать его не надо.
Вся документация, в том числе по автоматическому формированию отчетов на нашем сайте в виде видеопримеров и документации:
https://insat.ru/products/?category=1525
https://insat.ru/products/?category=1524
Здравствуйте!
Кажется, все (понемногу) оживает. Только одно еще не понятно: границы смены (начало, конец, количество смен) изменяется раздельно, в режиме разработки и в режиме исполнения. Можно ли сделать, чтобы актуальным для выдачи импульса в конце смена были установки в режиме исполнения?
https://yadi.sk/d/aYbT2vxMT3jvWA
SCADAMaster
12.04.2019, 10:34
Можно ли сделать, чтобы актуальным для выдачи импульса в конце смена были установки в режиме исполнения?
Ничего не понятно - поясните эту фразу. Что именно вы хотите сделать?
Я сделал автоматическое сохранение отчета в конце смены. Но если время окончания смены изменяю в режиме исполнения, время сохранения отчета не изменяется - он остается таким, какое было выставлено в режиме разработки. При этом, при следующем вхождении в режим исполнения система помнит параметры смен, установленные в прошлом сеансе.
Клиент хочет, чтобы время начала и окончания смены можно было изменять в режиме исполнения, а мне надо, чтобы сохранение отчета происходило в конце смены, установленном в режиме исполнения
SCADAMaster
12.04.2019, 11:08
Я сделал автоматическое сохранение отчета в конце смены.
Каким образом это сделано? Через расписание, через ФБ "Служебная информация"?
Приложите ваш проект.
Выше уже приложен
https://yadi.sk/d/aYbT2vxMT3jvWA
Сделано, как в примере, через расписание выдается импульс, сохранение через "управление документом". А "границы смены" в режиме исполнения пытаюсь изменить через окно управления системой.
ФБ "Служебная информация" имеет только выходы, изменить через него что-то (кажется) невозможно
SCADAMaster
13.04.2019, 16:19
В настоящий момент изменение расписания смен не влияет на действия событий и ФБ "Служебная информация".
Мы исправим данную ошибку
Здравствуйте!
Как-нибудь можно будет узнать об исправлении?
SCADAMaster
14.04.2019, 11:09
Мы напишем сюда
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot