Добрый день. Не подскажете, как присвоить значение переменной в зависимости от буловской команды (false, true)? Т.е. переменной Y= присваиваем значение Z если X=true. В Кодесисе это MOVE.
Вид для печати
Добрый день. Не подскажете, как присвоить значение переменной в зависимости от буловской команды (false, true)? Т.е. переменной Y= присваиваем значение Z если X=true. В Кодесисе это MOVE.
Используйте событие. У него есть вкладка Действия, где есть действие Присвоить.
Спасибо. Честно говоря не очень понял, добавил действие "Присвоить", появились две колонки "объект" и "параметр", как это работает? Искал в РЭ подробностей не нашел.
Можете пояснить что к чему присваивается во вкладке действия. И где команда на присвоение.
В приложении пример где команде 1 будет присвоено значение расчета 1
Я извиняюсь, а чему присваивается значение Расчет1? ведь событие дискретная величина. Если я правильно понял: Команда1 - это команда (bool) на присвоение, Расчет1 это то что мы присваиваем, а какой переменной мы это присваиваем, не событию же?
Добрый день. Как сделать прозрачную кнопку? Выбираю цвет кнопки, Web-> Transparent, сразу переключается на White.
Создал Событие, переменные которые нужно присваивать, но как подать команду на присвоение, не понял. При этом если включить в Событии опрос константа, и вручную в Событии переключать Вкл-Выкл., присвоение работает. Но мне нужно чтобы присвоение работало от дискретной переменной (привязанной к OPC серверу).Вложение 34661
Вам нужно чтобы оно работало непрерывно?
Тогда просто установите между ними связь.
Действия - это запись значения по некоторому событию (по нажатию кнопки, или по событию - в зависимости от формулы)
Берете событие, в формулу добавляете H5Panel, на вкладке Событие добавляете действие присваивания Значения2 значеению 1
Подскажите расшифровку ошибок в протоколе работы (V3.9). Ошибки не стабильны (иногда их нет).
Это ошибка не скады, а вашего скрипта:
https://yandex.ru/search/?text=colle...&win=116&lr=14
Судя по всему некорректно что-то удаляете из коллекции.
Добрый день! Подскажите можно ли в тренде оси значений Y присвоить верхнее значение по переменной, или как то сделать автомасштаб. Есть прибор с переключателем диапазонов измерения (0-5, 0-10, 0-100, 0-1000), хотелось бы чтобы шкала Y в тренде меняла диапазон при переключении. Для этого была создана переменная в которую присваивается верхнее значение диапазона при переключении. Но как это применить в тренде не нашел.
Автомасштаб можно - настройка Авторазмер у пера.
Другой вариант - сделать три одинаковых значения, с разными шкалами, все добавить на тренд. С помощью скрипта выключать две ненужные:
http://blog.insat.ru/2016/09/c-masterscada.html
Или сделать три тренда и отображать только нужный
Почему у вас в каждом Execute в Source добавляются новые источники?
К сожалению, авторазмер приравнивает верхний предел и поэтому графики с разными пределами получаются в одной плоскости. см.рисунок. Хотелось бы чтобы из 3х шкал выбиралась с максимальным верхним пределом и по этой шкале воспроизводились все графики.Вложение 34695 А так получается не наглядно, когда у 1го графика предел 5, у 2го 0,5 а они в одной плоскости.
Второй вариант сложноват пока для меня.
Третий - не могу использовать, потому что на тренде 3 переменные и каждая может иметь вышеперечисленный предел.
Если бы можно было просто присвоить перу верхний предел диапазона, как допустим для стрелочного прибора.
Тогда единственный вариант - это скрипт.
Спасибо, может когда осилю.
Код написан по Вашему примеру (Рис. во вложении), возможны наши ошибки. На данный момент у нас программист C# отсутствует, если не сложно,
подправьте код квитирования в тестовом проекте (http://www.owen.ru/forum/showthread....l=1#post265160).
Спасибо.
Не совсем понимаю что у вас делает скрипт - какая то каша из двух скриптов блога.
Но чтобы убрать явную ошибку непрерывного добавления значений в коллекцию нужно:
Source.Add(HostFB.TreeItemHlp.Parent.GetChild(Name Event));
Перенести в Start, а из остальных методов убрать. Скрипт в приложении.
Значит нужна Ваша помощь в написании скрипта квитирования для объекта с типизацией(v3.9).Цитата:
Не совсем понимаю что у вас делает скрипт - какая то каша из двух скриптов блога.
Исходные данные.
1. OPC тэг (16 бит):
-младший байт содержит флаги событий (0 бит-Событие №1,...)
-старший байт содержит флаги квитирования этих событий (8 бит -Квит.события №1,...)
2 ПЛК выставляет событие при возникновении условий события.
3. Флаг квитирования выставляет любой АРМ.
4. ПЛК сбрасывает событие, если флаг квитирования выставлен (при пропадании условий возникновения события).
5. Если ПЛК сбросил событие, ПЛК также сбрасывает флаг квитирования.
Действия скрипта SCADA.
1. По квитированию в журнале занести в примечания "Квит. АРМ1" и выставить флаг квитирования для данного события в тэге OPC.
2. Если в тэге выставлен флаг квитирования, квитировать нужное событие (при его появлении или наличии в журнале),
занести в примечания "Квит. ПЛК" для данного события.
3. Если событие стало неактивным, выполнить действия из пункта 2.
Заранее спасибо за помощь.
Вы сделали исправление которое мы вам сказали?
Сейчас скрипт функционирует некорректно?
Добрый день. Подскажите как отображать тренды на одной мнемосхеме. В Обьект - Тренды было создано 3 тренда. Есть стартовая мнемосхема, задача - на ней отображать эти тренды по нажатию на соответствующую кнопку. На мнемосхему были вынесены соответствующие кнопки, но при нажатии на них тренд открывается в отдельном окне (хотя в свойствах указан документ а не окно). Как заставить тренд открываться в определенной области мнемосхемы?
Для этого нужно в типе документа тренда указать Новое окно.
Здравствуйте.
В журнале -
C:\MasterSCADA Projects\sys_log\MasterSCADA.log
появляются вот такие сообщения об ошибке -
Подскажите пожалуйста, с чем они могут быть связаны и как с ними бороться ?Код:<Error Thread='0x17dc' ManagedThread='25' Time='20.12.2017 15:53:51.421' Error='Неопознанная ошибка ' Code='0x80004005'>
<Text>0 : : Object reference not set to an instance of an object. (ErrorTracer.cpp, 25)</Text>
</Error>
Ошибка себя как то проявляет?
Если принципиально важно разобраться, то пришлите отчет об ошибках.
В Режиме Исполнения (RT):
"Сервис"->"Отчет об ошибках" или
Alt+F10 ->"Отчет об ошибках"
Поставьте галочку "Включая конфигурацию текущего проекта". Сформированную папку заархивируйте и вышлите нам. Если размер архива превышает 5 мб, то выложите его на файлообменник (например Yandex.Disk, Google Drive), а нам пришлите ссылку.
При печати трендов можно включить печать легенды под графиком? (печать минилегенды не устраивает заказчика).
Если только держать ее открытой и выполнять печать окна.
При этом на печать выведутся кнопки, скроллбары и другие ненужные элементы.
Есть ли решение нормального вывода на печать трендов, или только через отчет?
Других нет.
Теоретически можно сделать настройку по аналогии "Отображать минилегенду", но она противоречит логике - ведь мы же печатаем область графиков.
И в чем смысл печати области графиков без легенды, если активных перьев больше одного?
Настройка по аналогии "Отображать минилегенду" была бы не лишней. Сможете добавить в версию 3.9?
Предлагаете, чтобы оператор подписывал тренды от руки?
В других скадах этих проблем нет.