PDA

Просмотр полной версии : Вопросы начинающего



Страницы : 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

azausatu
04.03.2014, 13:36
Добрый день. На мнемосхеме имеется изображение объекта Затвор. Этот затвор может иметь три состояния - Открыт, Закрыт, Промежуточное состояние. Сейчас при клике на него посылаются команды на контроллер, если закрыть то открыть, если открыт то перейти в промежуточное положение, если в промежуточном положении то закрыть. Т.е. все происходит по очереди. Требуется сделать так, чтобы оператор мог при клике на Изображение затвора сам выбирать в какое положение перейти затвору. Хочу сделать так, чтобы при клике на затвор появлялось окно управления объектом, а в этом окне разместить три кнопки - "Открыть", "Промежуточное положение", "Закрыть". Нужно сделать так, чтобы выбрав нужное положение и кликнув на кнопку это окно закрывалось само, или же если оператор уже открыл это окно, передумал, ничего не нажав после снятия фокуса окно закрывалось. Возможно ли это реализовать? И Как ловить координаты мыши через скрипт?

SCADAMaster
04.03.2014, 14:55
Нужно сделать так, чтобы выбрав нужное положение и кликнув на кнопку это окно закрывалось само, или же если оператор уже открыл это окно, передумал, ничего не нажав после снятия фокуса окно закрывалось.
Чтобы окно закрылось после нажатия кнопки, достаточно добавить в команду действие типа "Закрыть" и назначить этому окну. Добавьте действие в каждую из команд.
Теперь оператор нажав на кнопку не только пошлет команду в контроллер, но и закроет окно. С фокусом сложнее - необязательно что в момент открытия мышь будет наведена на это окно.
Лучше сделать закрытие окна вручную, или сделать настройку у окон "Закрывать другие окна" (чтобы не было несколько окон на мониторе).


И Как ловить координаты мыши через скрипт?
Отслеживать координаты мыши можно при помощи ФБ "Кооридинаты мыши" (закладка "Служебные").

NikolaevV
05.03.2014, 11:13
Здравствуйте, вы писали
Скачайте и установите из этой папки на ftp (ранее установленный удалите):
/OPC серверы/Simulator/
Но там нет такой папки

SCADAMaster
05.03.2014, 13:04
Здравствуйте, вы писали Но там нет такой папки
Скачайте ОРС из этой папки:
0:/OPC серверы/OPC-сервер Demo ToolKit/

peacemaker
05.03.2014, 13:15
Так и должно быть - если нет связи, меняется признак качества. Меняется признак качества - появляется сообщение. Оказалось дело в том, как организовывать связь: если перетаскивать саму переменную на мнемосхему, то при плохом качестве появляется подчеркивание, если перетаскивать переменную в поле динамизации "величина" элемента "Значение", то подчеркивание уже не появляется. Но опять таки, на другом компе такого не происходит, то есть без подчеркивания даже если перетаскивать напрямую на мнемосхему. Не понятно, где собака зарыта. Может глюк.

SCADAMaster
05.03.2014, 14:13
если перетаскивать переменную в поле динамизации "величина" элемента "Значение", то подчеркивание уже не появляется.
Это естественно - потому что в этом случае вы передаете только значение, а признак качества не передается. Поэтому контрол никак не реагирует на изменение признака качества.



Но опять таки, на другом компе такого не происходит, то есть без подчеркивания даже если перетаскивать напрямую на мнемосхему.
Должно изменяться. Пришлите пример проекта в котором этого не происходит.

ivandragon
05.03.2014, 16:50
Здравствуйте!
Ситуация такая. Я запрограммировал контроллер в кодесис ОВЕН ПЛК308, к нему подключен релейный модуль МВУ8Р. Сейчас мне нужно посылать с мастерскады на вход реле 1000 для включения или 0 для отключения через ОРС сервер. В ручную, с мастерскады, подаю на вход 1000, реле срабатывает. Теперь мне нужно что-бы управление было с кнопки с фиксатором на мнемосхеме.
Пожалуйста подскажите как это сделать? С кнопки могу подать только 1 или 0, а 1000 никак:(

SCADAMaster
05.03.2014, 17:50
Создаете команду типа "Дискретный", вытаскиваете ее на мнемосхему - она станет кнопкой.В свойствах кнопки включите фиксацию.
Добавьте в дерево объектов "Расчет". На закладке "Формула" перетащите в таблицу под полем формулы созданную команду. Затем пропишите формулу:
ИмяВашейКоманды*1000
Расчет соедините со переменной ОРС сервера.

Теперь когда, кнопка будет нажата на выходе расчета будет 1000, а когда отжата - 0.

ivandragon
06.03.2014, 07:44
Спасибо буду пробовать!

ZPavel
09.03.2014, 19:15
У меня вопрос. Помогите, пожалуйста.
В отчете строю два графика. Первый это зависимость первого параметра от времени.
Второй график это зависимость первого параметра от второго параметра. Но второй график визуально повторяет первый, хотя ось абсцисс в нем проградуирована в значениях второго параметра выделенного на тренде диапазона. А вот сам график не хочет правильно рисоваться, в чем может быть дело? Т.е. он рисуется по времени, как и первый.

SCADAMaster
09.03.2014, 20:54
Как именно вы сделали второй график?
Вам нужно добавить "Зависимость графиков", это делается на продвинутом уровне - контекстное меню - добавить - операция - зависимость. Затем в свойствах добавленного пера задаете аргумент Х и Y.

vvu2011
09.03.2014, 21:04
Здравствуйте!

Возможно добавить запись в журнал, время начала и конца события указать свои?

Спасибо.

vvu2011
09.03.2014, 21:13
Если обновить версию MS проект реализованный в предыдущей версии 100% будет корректно работать?

ZPavel
09.03.2014, 21:34
Я не так написал, не график, а линейная диаграмма. На второй странице отчета у меня первая диаграмма с осью абсцисс - время, а на третьей странице вторая диаграмма с двумя параметрами один по X второй по Y. Добавил я ее через меню компоненты - диаграмма. Вот только вторая диаграмма упрямо копирует первую, несмотря на то, что, на оси абсцисс задано не время, а второй параметр.

ZPavel
09.03.2014, 22:28
Странно, поменял местами параметры на координатах, то, что было на X перенес на Y и на оборот, и заработало. Теперь вопрос, столкнулся с тем, что при предварительном просмотре отчета, он берет данные для построения диаграммы за все время. Хоть я и устанавливал хранить данные за один день, он берет за все время. Данных много и компьютер уходит в ступор на 5 минут. Возможно, ли ему почистить архив. Или может, есть другая возможность ограничивать количество данных для предварительного просмотра отчета?

ZPavel
10.03.2014, 01:22
А, дошло. На диаграмме в отчете скада рисует график с привязкой ко времени, только расставляет потом значения по оси абсцисс как ей удобно. Может быть, пол координаты нули, а потом на увеличение. Вопрос, как сделать, чтобы это было нормально. Ноль на оси абсцисс был только в одном месте, а не раскидан по всей координате?

SCADAMaster
10.03.2014, 09:41
Хоть я и устанавливал хранить данные за один день, он берет за все время.
Это не правильное решение - нужно использовать параметры источника "Начало" и "Конец". Привяжите их к переменным времени в дереве объектов и таким образом ограничивайте выборку данных из архива.


Может быть, пол координаты нули, а потом на увеличение. Вопрос, как сделать, чтобы это было нормально. Ноль на оси абсцисс был только в одном месте, а не раскидан по всей координате?
Попробуйте воспользоваться сортировкой. В настройках диаграммы есть настройка "Сортировать по".

SCADAMaster
10.03.2014, 09:47
Возможно добавить запись в журнал, время начала и конца события указать свои?

Можно сделать это при помощи модуля событие.
Воспользуйтесь ФБ "Уставновка метки времени" - данный ФБ позволяет задать на выход нужную метку времени. Перетащите выход этого ФБ в формулу события, и задайте на этой же странице настройку "Наследовать отметку времени" - от выхода ФБ.



Если обновить версию MS проект реализованный в предыдущей версии 100% будет корректно работать?

Да, будет.

SokolovS
10.03.2014, 12:48
Где можно почитать про работу с журналом?
Как ни пытался крутить его, никаких сообщений не выводится.
Или может быть подскажете какие действия надо совершить чтобы заставить его работать?

Забыл уточнить. Интересует можно ли во вложенных объектах вывести журнал родительского объекта.

SCADAMaster
10.03.2014, 15:35
Где можно почитать про работу с журналом?

Посмотрите наши видеопримеры по журналу событий:
http://www.masterscada.ru/?additional_section_id=233



Забыл уточнить. Интересует можно ли во вложенных объектах вывести журнал родительского объекта.
Можно. Для этого в настройках фильтра нужно указать источник сообщений - нужный вам объект.

SokolovS
10.03.2014, 15:51
Можно. Для этого в настройках фильтра нужно указать источник сообщений - нужный вам объект.

Спасибо. Как раз то, чего не хватало.

peacemaker
12.03.2014, 11:58
Здравствуйте! Читал, что в MasterSCADA можно связывать переменные (скажем, OPC переменную и значение в дереве объектов) в режиме разработки при помощи скрипта. Можете сделать пример такого скрипта?

SCADAMaster
12.03.2014, 13:44
К MasterSCADA прилагаются учебные проекты (одноименная вкладка окна открытия проекта). Там есть проект "Демонстрация скрипта".
В объект "образцы" есть скрипт который в том числе устанавливает связи с ОРС переменными.

peacemaker
12.03.2014, 14:21
Благодарствую!

Andrei1401
13.03.2014, 15:56
Здравствуйте. Не знаю может уже задавали подобный вопрос, но все же. Имеется датчик уровня со шкалой 0-10 м., а сама емкость 4 метра высотой. Как можно сделать чтобы на мнемосхе уровень в ФБ "Емкость" карректно отаброжался?

SCADAMaster
13.03.2014, 16:17
Что поступает в MasterSCADA? 0 - 10 Метров? И нужно ограничить значение 4 метрами?
Тогда просто делаете шкалу 0-4 метра, и назначаете ее переменной.

Andrei1401
13.03.2014, 16:27
Спасибо, помогло.

Andrei1401
13.03.2014, 16:40
Еще тогда другой вопрос. У меня в протоколе работы постоянно вылезает ошибка ФБ "регулятора". Пишет - шкалы задания и параметра не совпадают, хотя проверил не один раз шкалы выставлены одинаковые.

SCADAMaster
13.03.2014, 17:43
Выложите ваш проект. Выполните Проект - Экспортировать. Укажите путь к регулятору.

Andrei1401
14.03.2014, 08:17
Выложите ваш проект. Выполните Проект - Экспортировать. Укажите путь к регулятору.
Пути к регуляторам:
Разложение. Регулятор уровня в сепараторе
Разложение. Регулятор щелока на нейтрализацию
Разложение. Регулятор воды на разбавление мыла
Разложение. рН реакционной смеси

Остальные регуляторы почему то не ругаются.

SCADAMaster
14.03.2014, 11:39
Ошибка появляется если установлена галочка "Внешний регулятор". Вы можете снять ее.

Andrei1401
14.03.2014, 14:06
Не совсем понял что значит снять галачку. Остальные ведь регуляторы настроенв точно так же, но ожибки темне менее не выскакивают.

SCADAMaster
14.03.2014, 17:01
Эту ошибку мы исправили, но настройку "Внешний регулятор" все равно надо отключить.

Andrei1401
14.03.2014, 19:22
Все равно не понял как мне быть. У меня все регуляторы используются внешние, если я уберу галочку, то я тогда не смогу передать со SCAADA системы параметры ПИД регулятора в контроллер.

SCADAMaster
14.03.2014, 21:20
Тогда просто обновите MasterSCADA - отправьте запрос на обновление на scada(собка)insat.ru

yvv
15.03.2014, 11:02
Здравствуйте. Помогите решить проблему. Для контроля влажности есть "сухой" и "увлажненный" термопреобразователи. Но технологов это не устраивает.
Им подавай готовый результат. Каким образом в Скаде это реализовать?

Andrei1401
15.03.2014, 11:48
Тогда просто обновите MasterSCADA - отправьте запрос на обновление на scada(собка)insat.ru

А можно узнать когда вы исправили эту ошибку. Просто я недавно подавал запрос на обновление.

SCADAMaster
15.03.2014, 13:43
Ошибка была исправлена вчера

azausatu
17.03.2014, 15:03
Добрый день. Имеется ли возможность при запуске системы в режим исполнения при старте показывать логотип компании?

SCADAMaster
17.03.2014, 15:34
Можно. Система - Режим исполнения - Настройки - Стартовая заставка.

azausatu
17.03.2014, 16:18
Можно. Система - Режим исполнения - Настройки - Стартовая заставка.

Что то не работает. При запуске в каком режиме она должна отображаться? Мне нужно чтобы при запуске скады через ярлык на рабочем столе появилось лого компании. В данном случае логотип Insat тоже будет отображаться?

SCADAMaster
17.03.2014, 16:35
Запустите сразу в режим исполнения - через vav файл.
Вначале отображается логотип MasterSCADA, а после авторизации - ваш рисунок.

peacemaker
20.03.2014, 09:05
Доброе утро! Как у группы OPC переменных разом разорвать все связи? имеются 12 групп по 150 шт.

SCADAMaster
20.03.2014, 09:42
Можно удалить группу, а потом вставить заново.

ivandragon
20.03.2014, 14:18
Здравствуйте! Возник еще вопрос. Я вывел значение дискретного сигнала работа/авария на мнемосхему, цвет текста черный, фон серый. Теперь я хочу чтобы при подаче логической 1 текст авария поменял цвет с черного на красный. Для этого я в свойствах динамизации входных значений в Цвет текста значения перетаскиваю этот-же дискретный сигнал, в свойствах ставлю галочку и выбираю цвет Red. При подаче 1 цвет меняется не на красный а на белый., в чем моя ошибка?

SCADAMaster
20.03.2014, 14:59
Значит что-то неправильно настроили.
В приложении проект с примером.

ivandragon
20.03.2014, 15:31
Значит что-то неправильно настроили.
В приложении проект с примером.
Здесь все понятно, у меня в проекте сделано так-же, только с ОРС взята переменная. Я нашел в чем проблема. У меня еще в отображении стояла привязка к миганию, когда я ее отключил, то отображение цвета стало корректным. Теперь мне все равно хочется, что-бы и мигание было и цвет отображался корректно, т.е. Авария мигала красным. Пока писал, пришла в голову мысль, что мигание это инверсия заданного цвета, тогда как быть? Спасибо!

SCADAMaster
20.03.2014, 16:05
Стандартный способ создания мигания вас не устраивает?
Тогда надо при помощи ФБ "Пульсатор" генерировать импульсы. Затем при помощи события проверять условие аварии, и если авария присутсвует выдавать на выход события импульсы пульсатора. Событие соединить со входом динамизации и настроить цвета.

ivandragon
20.03.2014, 16:39
Мдя, пожалуй забью. Конечно, если-бы динамизация Мигание, была бы как Отключен только на период, допустим 0,5 сек. откл. затем ожидание(вкл.) 0,5 сек. и заново, то проблем бы с инверсией цвета не было.

Andrei1401
26.03.2014, 16:16
Здравствуйте SCADA Master, у меня такой вопрос. Имеется расходомер с импульсным выходом, я завел сигнал SCADA через счетчик дискретных импульсов. Все вроде работает нормально, но как можно сделать чтобы счетчик считал с дисятыми или с сотыми.

SCADAMaster
26.03.2014, 17:20
Что значит с сотыми? Откуда они возьмутся?
Или у вас импульс соответсвует какому то числу? Тогда просто делите результат счетчика при помощи расчета.

Andrei1401
26.03.2014, 17:52
С расходомера подается 1 импульс = 10 литрам. Сделал через функцию деления, делитель поставил 10 и все заработало как надо. Спасибо за наводку.

ivandragon
31.03.2014, 10:28
Здравствуйте. Подскажите как отправлять сообщения об аварии(нижние верхние аварийные уставки датчиков) через электронную почту?

SCADAMaster
31.03.2014, 11:02
Для этого нужно использовать канал E-mail. Система - Сообщения - Каналы - канал E-mail.
О том как настроить канал E-mail описано в справке.
Обратите внимание, что на данный момент канал E-mail не поддерживает шифрование (его нужно отключить в настройках почтового сервера).

Vitorgan
03.04.2014, 17:28
Подскажите пожалуйста, Вынес тренд из палитры на мнемосхему:
Во-первых вставил переменные в тренд, желательно чтобы название (подпись) вертикальной оси была "Температура в °C", а это название берется у выбранного из переменных, я попробовал так. создал 2 вертикальных оси, у одной убрал название и шкалы, а у второй поменял на "Температура в °C", но в режиме исполнения он меняется на прежний.

И еще, при выборе режима "только график", у тренда есть бордюр голубого цвета. можно ли его убрать?

SCADAMaster
03.04.2014, 17:52
Во-первых вставил переменные в тренд, желательно чтобы название (подпись) вертикальной оси была "Температура в °C", а это название берется у выбранного из переменных, я попробовал так. создал 2 вертикальных оси, у одной убрал название и шкалы, а у второй поменял на "Температура в °C", но в режиме исполнения он меняется на прежний.

Нужно переключить тренд в продвинутый уровень, активизировать панель настроек и выделить вертикальную ось мышью. В панели настроек найдите настройку "Наследовать подпись" и отключите ее. Затем задайте вертикальной оси нужную вам подпись.


И еще, при выборе режима "только график", у тренда есть бордюр голубого цвета. можно ли его убрать?
Нет, данный бордюр убрать нельзя

Vitorgan
03.04.2014, 20:39
не могу найти наследование подписи 12481

SCADAMaster
03.04.2014, 21:39
Какая у вас версия MasterSCADA? Попробуйте обновить до текущей.

peacemaker
04.04.2014, 16:39
Здравствуйте! Я несколько раз спрашивал о том, что изображения объектов на мнемосхеме не обновляются после изменений. При внимательном рассмотрении процесса изменения и обновления изображений наша команда наткнулась на такую особенность: изображения не обновляются по причине удаления кнопки вызова объекта (вставляется задним планом при вставке изображения объекта) из мнемосхемы (или изображения). Мы начали её удалять по той причине, что в предыдущих версиях MasterSCADA в режиме исполнения при наведении мыши на объект отображалась рамка объекта (кнопка вызова). В текущей версии такого отображения нет. Эта кнопка была задумана именно для организации процесса обновления?

SCADAMaster
04.04.2014, 16:50
Эта кнопка нужна для того чтобы вызывать какое-то окно объекта при нажатии на изображение, и кроме того именно по этой кнопке определяется привязка изображения к тому или иному объекту, поэтому удалять ее нельзя.
В новых версиях MasterSCADA мы сделали возможность возможность не добавлять кнопку в изображение объектов. Точнее кнопка все равно добавляется, но у нее автоматически включается настройка "заблокирован" поэтому нажатие на нее не приводит к открытию окна. Настройка производится в Система - Окна - Изображение объекта - поле "Свойства".

Vitorgan
04.04.2014, 17:56
Спасибо Masterscada обновил, была 3.5, с подписью проблему решил, еще есть вопрос: где можно убрать сотые в шкалах, чтобы было целое число?

Vitorgan
04.04.2014, 18:00
Извиняюсь, нашел

SCADAMaster
04.04.2014, 18:03
Лучше всего убирать у самих шкал Система - Шкалы- Аналоговые. Поле формат: буква - способ отображения, цифра - количество знаков после запятой.

Vitorgan
04.04.2014, 20:04
Опять проблемы, никак не могу запретить изменять операторам режим тренда

SCADAMaster
04.04.2014, 20:16
А а в чем именно проблема?
Настраиваете тренд на нужный уровень, и отключаете у нужной категории операторов переключение уровней и остальные уровни.

peacemaker
07.04.2014, 10:48
Здравствуйте! Можно ли в MasterSCADA запускать сторонние приложения через скрипт? Скажем консоль

SCADAMaster
07.04.2014, 11:15
Можно через скрипт. Можно через ФБ "Запуск процесса" (закладка "Служебные").

peacemaker
07.04.2014, 11:30
Приведите пожалуйста пример со скриптом

SCADAMaster
07.04.2014, 12:51
В приложении пример запуска и закрытия приложения.

peacemaker
07.04.2014, 13:04
Как я и думал. А как запускать приложение в режиме разработки? Еще интересует вопрос получения доступа к уже запущенному приложению

SCADAMaster
07.04.2014, 14:00
А как запускать приложение в режиме разработки?
Можно через кноку DoAction. Добавляете в код примерно следующий код:

public override void DoAction()
{
p=Process.Start("calc.exe");
}
и нажимаете на кнопку DaAction.


Еще интересует вопрос получения доступа к уже запущенному приложению
Поясните что именно подразумевается под получением доступа.

peacemaker
07.04.2014, 16:01
Скажем, у нас запущена командная строка, и нужно постепенно, по мере выполнения кода, добавлять туда строки данных.

SCADAMaster
07.04.2014, 19:21
Опишите вашу задачу подробнее - что у вас за приложение, какие поддерживает способы получения данных.

peacemaker
08.04.2014, 08:41
задача передать данные из scada в приложение любым доступным способом. Приложение еще в только на стадии идеи, и меня интересуют возможности обмена информацией между masterscada и приложением в режиме реального времени. Поэтому я привел пример с консолью, в начале хотели попробовать просто отображать инфу из скады в консоли Windows.

SCADAMaster
08.04.2014, 17:44
Способы есть - сокеты, pipe, .net remoting.
Если приложение на .Net то тогда проще.
https://www.google.ru/search?q=windows+pipe&oq=windows+pipe&aqs=chrome..69i57j0l5.5847j0j7&sourceid=chrome&espv=210&es_sm=93&ie=UTF-8#newwindow=1&q=.net+%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4% D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B5+%D0%BC%D 0%B5%D0%B6%D0%B4%D1%83+%D0%BF%D1%80%D0%BE%D1%86%D0 %B5%D1%81%D1%81%D0%B0%D0%BC%D0%B8
http://www.cyberforum.ru/csharp-net/thread150226.html

azausatu
10.04.2014, 13:09
Добрый день. Как происходит подсчет переменных для собственного ВФБ? Считаются только выходы?

SCADAMaster
10.04.2014, 13:16
Только задействованные выходы - которые имеют связи или у которых включено архивирование. Подробнее можно посмотреть здесь:
http://insat.ru/products/faq_scada_opc/teg_counter_description/

leszkin
16.04.2014, 15:16
Подскажите как сохранить переменную в скаде, никуда ее не передавая? Пример: есть переменная и кнопка без фиксации. По фронту мы прибавляем к переменной число нажатий на кнопку. А как зафиксировать это нарастающее число?

Геннади_й
16.04.2014, 15:36
Добрый, день, есть где-то такая схема ПЛК110_RS232 - RS232_АС3_RS485 - RS484_верхний уровень. И вот в этой сети есть еще одно устройство RS485. вся проблема в том что это доп.устройство работает на скорости не выше 38400. Сейчас все настроено на скорость 115200. Так как опыта еще не было эксплуатации ОВЕНов следует вопрос-просьба подсказать как в ОВЕНе перенастроить скорость порта RS232?

Алексей Геннадьевич
16.04.2014, 15:40
Так пойдёт?(верхняя строчка) И какая вам фиксация нужна-до пропадания питания контроллера или постоянная? если постоянная, то используйте ретайн-переменные.

12603

12604

Геннадий, вместо 485 будет ваш 232.

12605

SCADAMaster
16.04.2014, 15:55
Подскажите как сохранить переменную в скаде, никуда ее не передавая? Пример: есть переменная и кнопка без фиксации. По фронту мы прибавляем к переменной число нажатий на кнопку. А как зафиксировать это нарастающее число?
Использовать ФБ "Счетчик дискретных импульсов" (закладка "Обработка сигналов" Палитры ФБ).
При необходимости сохранения значения между перезапусками - включить на закладке "опрос" галочку "Восстановление при рестарте".

leszkin
16.04.2014, 15:56
А если усложнить задачу и по фронту еще и вычитать -1 с нажатия другой кнопки?
Что-то типа переключения каналов с ПДУ Ch+ / Ch1
Сделать 2 счетчика, видимо ;)

leszkin
16.04.2014, 16:12
Хм... столкнулся с затыком на самой ранней стадии. Из библиотеки "управление" добавил в дерево системы кнопку, по которой буду считать срабатывание фронта. Перетащил ее на мнемосхему. Запустил проект на исполнение - из примерно 10 нажатий на данную кнопку значение "состояние" меняется с выкл на вкл где-то 30% случаях только - в остальных случаях кнопка на экране залипает на секунду примерно, но время фиксации и значение остаются в нулях...

SCADAMaster
16.04.2014, 16:21
А если усложнить задачу и по фронту еще и вычитать -1 с нажатия другой кнопки?
Что-то типа переключения каналов с ПДУ Ch+ / Ch1
Сделать 2 счетчика, видимо ;)
Можно использовать скрипт. Пример скрипта в приложении.


Хм... столкнулся с затыком на самой ранней стадии. Из библиотеки "управление" добавил в дерево системы кнопку, по которой буду считать срабатывание фронта. Перетащил ее на мнемосхему. Запустил проект на исполнение - из примерно 10 нажатий на данную кнопку значение "состояние" меняется с выкл на вкл где-то 30% случаях только - в остальных случаях кнопка на экране залипает на секунду примерно, но время фиксации и значение остаются в нулях...
Лучше использовать команду типа "Дискретный".
Добавьте команду, задайте ей тип дискретный, откройте мнемосхему и вытащите на нее команду - она станет кнопкой.
Эту команду и связывайте со входом счетчика

azausatu
23.04.2014, 08:31
Добрый день. Управление процессом производится через сенсорную панель. В проекте много окон управления. Проблема в том, что высота заголовка окна настолько мала, что проблематично закрывать окна нажав крестик, так как крестик малый. Настроил в Windows высоту заголовка окон на большее значение. Это действует только на окна всплывающих сообщений, на окна управления данная настройка не влияет. Так вот, как поменять высоту заголовка окон управления?

SCADAMaster
23.04.2014, 10:22
Пока что поменять размер крестика нельзя. Мы записали данную задачу.

SokolovS
25.04.2014, 10:13
В нашей системе используется архиватор МСД-200, InSAT Univarsal Modbus Server и InSAT MasterSCADA
Связь с объектом не постоянная. Все данные трендов строятся по данным архива МСД, это удалось сделать на встроенном языке программирования в OPC и передать SCADA через HDA теги.
Возможно ли то же самое сделать с журналом сообщений? Требуется передать информацию о исторических событиях из OPC в SCADA, а там добавить в журнал с правильной меткой времени.

SCADAMaster
26.04.2014, 10:16
Возможно ли то же самое сделать с журналом сообщений? Требуется передать информацию о исторических событиях из OPC в SCADA, а там добавить в журнал с правильной меткой времени.
Можно, при помощи ФБ "Скрипт C#" MasterSCADA - мы уже делали подобную задачу для записи событий счетчика Меркурий. Посмотрите данный проект - в нем есть указанные скрипты.
http://insat.ru/products/?category=1298

SokolovS
26.04.2014, 11:02
Спасибо, попробую разобраться

imaks
30.04.2014, 04:18
Добрый день!
Есть ли возможность ограничить доступ к работе проекта в режиме исполнения определенному кругу лиц - при помощи логина и пароля.
И чтобы для каждого из операторов велся журнал действий.
При этом все остальные функции компьютера не были доступными.
Один раз получилось сделать, что ни пуск, ни Alt+Tab не работали в режиме исполнения. Но повторить не получилось на серверной машине.

SCADAMaster
30.04.2014, 08:05
Ограничить действия в проекта для различных категорий операторов можно используя стандартный функционал прав доступа. В видеопримерах про них рассказывалось:
http://www.masterscada.ru/?additional_section_id=233
Если же нужно ограничить действия на самом компьютере, то тогда нужно воспользоваться сторонними программами, например WinLock:
http://www.crystaloffice.com/winlock/
http://www.softkey.ru/catalog/program.php?chsph=46912967&ID=5091#o12858

Также в MasterSCADA, в разделе палитры "служебные" есть ФБ "Контроль приложений". С помощью которого можно отслеживать открытие и закрытие сторонних приложений, и вести запись в журнал.

gladkiynikita
04.05.2014, 22:33
Здравствуйте. Можно ли в MasterSCADA отобразить данные с приборов ОВЕН УКТ-38 (токовая петля), подключенных к преобразователю АС-2? То есть минуя ПЛК - подключить преобразователь АС-2 к ПК через преобразователь USB-RS-232? И как это можно реализовать - надо OPC-сервер настраивать или как-то иначе? Спасибо.

SCADAMaster
05.05.2014, 08:12
Да, можно. Вам нужно использовать преобразователь АС-2, и ОРС сервер ОВЕН (для токовой петли):
http://www.owen.ru/catalog/45701833

gladkiynikita
06.05.2014, 09:54
1282412825Спасибо. Подключил прибор ОВЕН ТРМ 1 на канал 1 прибора АС-2. Настроил OPC сервер ОВЕН для приборов АС-2. В MasterSCADA создал тестовый проект - добавил канал 1 прибора АС-2, выбрал для отображения температуру - сохраняю, запускаю - на ТРМ 1 температура 25 градусов, в SCADA сначала показываются 0.000, потом вообще пропадают все значения. Перезапускаю - то же самое. Опрос стоит 10000мс. В чем может быть проблема?

SCADAMaster
06.05.2014, 10:10
У вас значения приходят с недостоверным признаком качества.
Это означает что нет связи с устройством. Проверяйте настройки приборов и ОРС серверов.

SokolovS
06.05.2014, 14:30
Можно, при помощи ФБ "Скрипт C#" MasterSCADA - мы уже делали подобную задачу для записи событий счетчика Меркурий. Посмотрите данный проект - в нем есть указанные скрипты.
http://insat.ru/products/?category=1298Поковырял немного
Команду добавления события в журнал нашёл, думаю, пригодится
Если правильно понимаю, у Меркурия используется свой собственный протокол обмена информацией об исторических событиях
Но мне нужно доставать скриптом данные из HDA. Возможно ли это?

SCADAMaster
06.05.2014, 15:07
Если правильно понимаю, у Меркурия используется свой собственный протокол обмена информацией об исторических событиях

Не так. У счетчика есть 17 типов событий. На одну из переменных передается номер требуемого события. После этого на 10 ОРС переменных выдается кольцевой буфер всех событий данного типа (в виде строки).
Эти события считываются, преобразуются ко времени, сортируются и если есть новые - пишутся в архив сообщений скады.



Но мне нужно доставать скриптом данные из HDA. Возможно ли это?
То есть у вас есть архив некоторой переменной, полученной по HDA и вам нужно считать значения архива этой переменной, обработать и на основании этих значений сформировать сообщения?
Для чтения архива значения, также можно использовать скрипт. Вот пример такого скрипта (берется архив входа скрипта "Вход").

using System;
using MasterSCADA.Script.FB;
using MasterSCADA.Hlp;
using MasterSCADA.Hlp.Archive;
using FB;
using System.Linq;

public partial class ФБ : ScriptBase
{
public override void Execute()
{
string name=HostFB.TreeItemHlp.FullName+".Входы."+"Вход";
var elem = (ITreePinHlp)HostFB.TreeItemHlp.Project.Item(name) ;
PinDataArchiveHlp k=elem.DataArchiveItem;
var startTime= //время начала считывания архива
var endTime= //время конца считывания архива
var mas=k.Read(startTime, endTime, true); //читаем архив
//mas - коллекция значений
Значение=Convert.ToDouble(mas[0].Value); //получаем значение нулевого элемента коллекции
Время=mas[0].Time.ToLocalTime(); //получаем время нулевого элемента коллекции
}
}

SokolovS
06.05.2014, 15:26
Спасибо!
Похоже, то, что нужно

gladkiynikita
06.05.2014, 21:27
У вас значения приходят с недостоверным признаком качества.
Это означает что нет связи с устройством. Проверяйте настройки приборов и ОРС серверов.

Спасибо. Поставил для проверки ОРМ Демо - тоже не было связи. Пробовал разные проги для теста Com порта - все говорили, что все хорошо, но обмен не шел. Нашел комп с ХР - поставил там сначала ОРМ - все заработало, температуру с моего ТРМ 1 видит. Устанавливаю MasterSCADA RT32 - подключаю как в видео http://www.youtube.com/watch?v=eIfNx_nScxA , (только у меня ОРС сервер ОВЕН для токовой петли), та же история. В настройках ОРС сервера ОВЕН только период опроса и кол-во перезапросов при ошибке. COM у меня точно работает теперь --> ОРМ тянет данные. Где еще какие настройки мне смотреть, не скажете? Спасибо.1284112842

SCADAMaster
06.05.2014, 21:51
ОРМ в этот выключена?
Вам лучше уточнить у техподдержки ОВЕН - тут проблема явно в ОРС сервере.

Дмитрий
07.05.2014, 03:57
В свое время столкнулся с такой же проблемой при работе с АС2 и МasteSCADA, причем в ОРМ все работало, ничего не смог сделать, куда только не писал, пришлось уйти на АС2м и на RS485

ast1
07.05.2014, 14:15
Добрый день!
Со СКАДы (вер3.6) управляю выходами МК110-8К4Р, запись выходов через "Расчет", опрос периодический 1с, все устраивает, но после отключения
и подачи питания на МК110 при запущенной СКАДе все выходы по нулям (не восстанавливают значения как на вых "Расчет") OPC Modbus ОВЕН, пробовал и
MasterOPC Modbus, тоже самое. Подскажите где подстроить?

SCADAMaster
07.05.2014, 15:03
Не совсем понятно как именно у вас сделано. Приложите ваш проект, выполните Проект - Экспортировать, сформированную папку заархивируйте и выложите сюда.
Вы включили восстановление при рестарте у элементов которыми вы ведете управление выходами (у команд например)?

Дмитрий
07.05.2014, 15:37
Я то же писал сюда по этому поводу, не смог найти настроек в МS, что бы при отключении питания удаленного модуля и после его включения восстанавливались выхода, какие только опросы не ставил и восстановления при рестарте ставил в том числе, но ведь MS не отключалась, пока не сделаешь вкл\выкл, например на насосе, выход модуля не восстановится.

SCADAMaster
07.05.2014, 16:27
Можно решить проблему несколькими путями:
1. Нужно у ОРС сервера включить периодическую запись значений. В этом случае с заданным периодом будет производится запись значений в сервер, и сервер будет посылать команды устройству.
2. Выполнить действие "Присвоить" - в этом случае будет произведена запись значения в ОРС сервер. Например отследить при помощи события момент появления связи (по признаку качества), и присвоить команде ее же значение. Будет произведена запись. Пример в приложении (запись производится от команды типа "Дискретный" но принцип одинаковый).

Kuzmische
08.05.2014, 04:42
Подскажите пожалуйста - как правильно перенести проект MasterScada на другой компьютер с сохранением файлового архива MasterScada?

SCADAMaster
08.05.2014, 08:12
Поясните - сохранить файловый архив исходного компьютера, и перенести его на новый? Или же наоборот - с исходного компьютера, перенести проект на другой компьютер, где уже работает проект, и сохранить архивы старого проекта?
В первом случае нужно просто заархивировать папку проекта, и распаковать на другом компьютере в папку MasterSCADA Projects\Projects.
Если нужно сохранить архив старого проекта, но обновить сам проект (перенести исправления с компьютера разработчики), выполните Проект - Экспортировать. Сформированную папку скопируйте поверх старого проекта с данными с заменой файлов. Архивы сохраняться.

gladkiynikita
08.05.2014, 09:51
Здравствуйте. Какой должен быть период опроса прибора АС-2 через ОРС сервер RS-232 Овен?

SCADAMaster
08.05.2014, 10:46
Это зависит от параметров сети и приборов.
Начните со стандартных 1000 мс.

SokolovS
08.05.2014, 12:14
Можно, при помощи ФБ "Скрипт C#" MasterSCADA - мы уже делали подобную задачу для записи событий счетчика Меркурий. Посмотрите данный проект - в нем есть указанные скрипты.
http://insat.ru/products/?category=1298

Никак не могу понять как добавить время окончания к записи в журнале, которая там уже есть
OnFBEventTimed с параметром eventID равным -1, похоже, записывает время окончания к последнему событию.

Kuzmische
08.05.2014, 13:26
Поясните - сохранить файловый архив исходного компьютера, и перенести его на новый? Или же наоборот - с исходного компьютера, перенести проект на другой компьютер, где уже работает проект, и сохранить архивы старого проекта?
В первом случае нужно просто заархивировать папку проекта, и распаковать на другом компьютере в папку MasterSCADA Projects\Projects.
Если нужно сохранить архив старого проекта, но обновить сам проект (перенести исправления с компьютера разработчики), выполните Проект - Экспортировать. Сформированную папку скопируйте поверх старого проекта с данными с заменой файлов. Архивы сохраняться.

Есть старый компьютер на котором выполняется проект и на нем же сохраняется архив всех данных этого проекта...этот компьютер подлежит замене из-за физического и морального износа. Попробовал просто переписать папку проекта на новый компьютер - архив начал писаться заново, что "не есть хорошо" :)

SCADAMaster
08.05.2014, 13:35
Никак не могу понять как добавить время окончания к записи в журнале, которая там уже есть

Поясните - что значит уже есть?
У вас активно старое сообщение, а вы уже сгенерировали новое?

SCADAMaster
08.05.2014, 13:36
Есть старый компьютер на котором выполняется проект и на нем же сохраняется архив всех данных этого проекта...этот компьютер подлежит замене из-за физического и морального износа. Попробовал просто переписать папку проекта на новый компьютер - архив начал писаться заново, что "не есть хорошо" :)
Архивация ведется в файловый архив или в базу данных?
Вы архивировали папку проекта из MasterSCADA Projects/Project и копировали в ту же папку на другом компьютере?

Kuzmische
08.05.2014, 13:49
Архивация ведется в файловый архив или в базу данных?
Вы архивировали папку проекта из MasterSCADA Projects/Project и копировали в ту же папку на другом компьютере?

Архивация ведется в файловый архив. Копировал папку проекта старого компьютера на новый полностью (средствами ОС, не из проекта).

SokolovS
08.05.2014, 14:01
Поясните - что значит уже есть?
У вас активно старое сообщение, а вы уже сгенерировали новое?
Ну, может быть активно несколько разных сообщений
Вот нужно выбрать одно и его сделать неактивным

SCADAMaster
08.05.2014, 14:08
Архивация ведется в файловый архив. Копировал папку проекта старого компьютера на новый полностью (средствами ОС, не из проекта).
Проект в этот момент работал или был остановлен?

SCADAMaster
08.05.2014, 16:11
Ну, может быть активно несколько разных сообщений
Тогда нужно сделать несколько AlarmID, то есть в случае скрипта - создать несколько событий и от каждого генерировать свое сообщение.
Если делать ФБ, то в нем можно описать в xml нужные условия.

SokolovS
08.05.2014, 16:24
Что значит "сделать несколько AlarmId"?
Это будет работать после перезапуска SCADA?

Kuzmische
08.05.2014, 17:02
Проект в этот момент работал или был остановлен?

Проект был остановлен.

SCADAMaster
08.05.2014, 19:19
Что значит "сделать несколько AlarmId"?

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


Это будет работать после перезапуска SCADA?
Если вы имеете ввиду такую ситуацию - перед остановкой было активное сообщение, скада была остановлена, то после запуска это сообщение нельзя "закрыть" - сделать неактивным. В файловом архиве сообщения после рестарта не закрываются.
Если настроить архивацию в базу данных - то тогда можно их закрывать.
В примере как раз происходит проверка - куда ведется архивация, и в зависимости от места архивации меняется логика закрытия сообщений.

SCADAMaster
08.05.2014, 22:00
Проект был остановлен.
Тогда должен был перенестись корректно.
Пришлите отчет об ошибках с нового компьютера после переноса старого проекта
Для того чтобы сформировать отчет об ошибках:
В Режиме Исполнения (RT):
"Сервис"->"Отчет об ошибках" или
Alt+F10 ->"Отчет об ошибках"
Поставьте галочку "Включая конфигурацию текущего проекта". Сформированную папку заархивируйте и вышлите нам.

SokolovS
12.05.2014, 09:10
Посмотрите в примере, там переменная которая генерируется сообщение называется AlarmId. Переменная эта привязана к определенному событию, от которого и происходит генерация сообщения.
Вот вам и нужно сделать несколько разных событий и привязать к ним несколько AlarmID.Она генерируется каждый раз новая при обращении к полю?

Если вы имеете ввиду такую ситуацию - перед остановкой было активное сообщение, скада была остановлена, то после запуска это сообщение нельзя "закрыть" - сделать неактивным. В файловом архиве сообщения после рестарта не закрываются.
Если настроить архивацию в базу данных - то тогда можно их закрывать.
В примере как раз происходит проверка - куда ведется архивация, и в зависимости от места архивации меняется логика закрытия сообщений.Я правильно понимаю, чтобы настроить архивацию в базу данных, нужно к ней подключиться, а это дополнительная опция?

SCADAMaster
12.05.2014, 09:14
Она генерируется каждый раз новая при обращении к полю?

Не понятен ваш вопрос.
В скрипте AlarmID привязывается к Событию, то есть одно сообщение - один AlarmID - одно событие.
То есть если вам нужно генерировать три разных сообщения, вам нужно будет сделать три события, а в скрипте сделать три AlarmID.



Я правильно понимаю, чтобы настроить архивацию в базу данных, нужно к ней подключиться, а это дополнительная опция?
Да, использование СУБД - опция.

SokolovS
12.05.2014, 09:45
В общем понятно
Было бы здорово, если бы можно было закрывать сообщения после перезапуска СКАДА и без архивации в базу

SCADAMaster
12.05.2014, 10:18
К сожалению, в файловом архиве это технически невозможно.

mkv
14.05.2014, 09:46
Добрый день. Столкнулся с такой проблемой. Скада работает с Universal Modbus Server со скоростью обмена 115200бит.
Возникла необходимость добавить в Скаду частотник "Дельта VFD-F". А у частотника максимальная скорость обмена 38400бит.
Каким образом можно решить эту проблему, не создавая дополнительного сервера и не уменьшая скорость рабочего сервера с 115,2 до 38,4?
Спасибо.

SCADAMaster
14.05.2014, 10:33
По другому никак.
Если частотник еще не приобретен, то можно использовать другую модель. Например Delta CP-2000 поддерживает скорость и 115200 и стоит дешевле чем VFD-F.

mkv
14.05.2014, 12:55
По другому никак.
Если частотник еще не приобретен, то можно использовать другую модель. Например Delta CP-2000 поддерживает скорость и 115200 и стоит дешевле чем VFD-F.
Да в том то и дело, что частотники уже давно работают. Придётся уменьшать скорость сервера и всех приборов.
Большое спасибо.

SCADAMaster
14.05.2014, 13:36
Ну или проложите для них другую шину.

gladkiynikita
15.05.2014, 14:16
Здравствуйте. Мучаюсь третью неделю с отображением температуры в МастерСКАДА. Прибор ОВЕН ТРМ1-PiC подключен через адаптер АС-2 к виртуальному Com-порту (Преобразователь USB-COM). В программе OPM данные отображаются. Следовательно ТРМ1, АС-2 и мой COM работают исправно. Остается 2 звена - либо МастерСКАДА, либо ОВЕН ОРС для приборов с токовой петлей. Статус "Нет соединения" в режиме исполнения. Менял период опроса от стандартного 1000 до 10000. Вопрос - как решить эту проблему? Если этот ОРС не способен работать нормально (что было бы логично для приборов ОВЕН), то как его можно обойти? Может есть еще какой-то ОРС для этих чудо приборов из прошлого с токовой петлей? Покупать преобразователь для каждого из 8 имеющихся приборов в RS-485 по 1700 р. нет желания и возможности. Или дело не в нем, а в МастерСКАДА??? 12932Прошу помочь или подсказать пути решения данной проблемы. Спасибо.

SCADAMaster
15.05.2014, 15:19
Здесь дело точно в ОРС сервере. Вы можете в этом убедится воспользовавшись другим ОРС клиентом - например Matricon OPC Explorer (free).
Скачайте этот клиент, и попробуйте получить данные из ОРС сервера.
Если данные не поступят, то вам нужно обратится в техподдержку ОВЕН и узнать как нужно настроить ОРС сервер для работы с вашим прибором.

SokolovS
16.05.2014, 17:55
Ещё вопрос
Использую Universal Modbus Server
Какие есть стандартные и нестандартные способы связи двух таких через Интернет?
Один должен выступать сервером в обмене, другой синхронизировать свои данные DA и HDA
В принципе, устроит и вариант синхронизации файлового архива вместо синхронизации HDA

SCADAMaster
16.05.2014, 18:35
То есть у вас один из серверов установлен на компьютере, и нужно из него получать данные по интернет?
Опишите подробнее всю схему.

SokolovS
19.05.2014, 09:03
OPC сервер установлен и настроен на компьютере
Необходимо настроить передачу текущей и исторической информации (либо файлового исторического архива) с него на удалённый компьютер

SCADAMaster
19.05.2014, 09:12
Можно настроить на компьютера VPN - компьютеры будут работать, как если бы они были в локальной сети. После чего можно произвести настройку DCOM на обоих компьютера. Это позволит подключить удаленный ОРС сервер.
Также можно использовать специальные туннели - например Matricon OPC Tunneler, Cogent DataHub и т.п. Они поддерживают работу через интернет.

SokolovS
19.05.2014, 09:27
Это единственный возможный способ?

SCADAMaster
19.05.2014, 09:35
Мы предложили два способа - через VPN и через специальные шлюзы.

SokolovS
19.05.2014, 10:25
Прошу прощения, показалось, что это схожие
Спасибо

mkv
20.05.2014, 09:31
Добрый день.
Где-то этот вопрос уже мне встречался, но так и не нашёл.
Имеется Скада (MSRT автономная) 3.5(30002351_5287)_13_02_04_09_42 на 500 адресов и Master OPS Universal Modbus Server на 500 адресов, привязанный к лицензии этой Скады. Собираюсь расширять возможности.
Вопрос такой.
Что мне нужно докупить, чтобы добавить в свою сеть (RS-485) ещё 3-5 компьютеров.Так,что-бы можно было с этих компьютеров управлять оборудованием, находящимся в этой сети. Спасибо.

SCADAMaster
20.05.2014, 10:14
Что мне нужно докупить, чтобы добавить в свою сеть (RS-485) ещё 3-5 компьютеров.
Вы хотите подключить компьютеры по RS-485? Почему не через обычный Ethernet?

mkv
20.05.2014, 10:18
Вы хотите подключить компьютеры по RS-485? Почему не через обычный Ethernet?
Совершенно верно. Это как наиболее приемлимый вариант. Просто не очень хочется влазить в локалку фирмы.P.S Компьютеры начальника и инженеров уже в сети фирмы. А я хочу просто к ним подвести RS-485 и установить нужное программное обеспечение.
Спасибо.

SCADAMaster
20.05.2014, 11:00
Сетевой проект MasterSCADA работает только в сетях Ethernet. Поэтому если вы хотите в качестве канала связи использовать RS-485, то вам нужно будет использовать специальные конвертеры Ethernet-COM (Moxa Nport и подобные). Но проще, дешевле и надежнее сделать собственную локальную сеть - никак не связанную с сетью предприятия.
По MasterSCADA вам нужно будет на сервер установить сетевую версию MSRT-500-Net (лучше MSRT1k-Net), а на клиентские компьютеры - MSRT-Net-500 или MSRT-View (если не требуется управления). Подробнее подбор ПО вам могут произвести в отделе продаж - scada(собка)insat.ru

mkv
20.05.2014, 11:52
Спасибо.
Разговаривал с сетевым администратором. Дали добро на установку сетевой Скады. Остался один вопрос....Скада, которая стоит сейчас (MSRT автономная) вместе с привязанным к ней Master OPS Universal Modbus Server будут ненужны?

SCADAMaster
20.05.2014, 13:00
Вы можете сделать расширение функциональности на тот же ключ (Upsize). Пока действует техподдержка, достаточно оплатить разницу между стоимость текущей и новой версии.
Обратитесь в отдел продаж по указанному адресу электронной почты - вам объяснят.

mkv
21.05.2014, 10:43
Добрый день. Извините пожалуйста за назойливость. Из поста 1395 я понял следующее....Мне надо приобрести MSRT1k-Net - 1шт, Universal Modbus Server - 1шт, и в зависимости от количества клиентских компьютеров (4шт), такое же количество MSRT-View(4шт) (если не требуется управление), или (MSRT-500-Net(4шт), или MSRT-Client (4шт). И ещё, извините, я не совсем понял почему MSRT-Client почти в 2 раза дороже MSRT-500-Net?
Спасибо.

SCADAMaster
21.05.2014, 10:52
Как мы понимаем у вас уже есть автономная версия на 500 точек - ее можно расширить до MSRT-Net. Ключ останется старый.


и в зависимости от количества клиентских компьютеров (4шт), такое же количество MSRT-View(4шт) (если не требуется управление), или (MSRT-500-Net(4шт), или MSRT-Client (4шт).

Да.


И ещё, извините, я не совсем понял почему MSRT-Client почти в 2 раза дороже MSRT-500-Net?
Клиентская версия MSRT-Client имеет безлимитное количество точек. Обычно MSRT-Client используют в крупных сетевых проектах на 2500 и более точек - в них покупка MSRT-Client более выгодна, чем покупка сетевой версии. В вашем же случае, если нужно управление, то выгоднее взять MSRT-Net.
Обратитесь в отдел продаж - вам все подробно разъяснят.

mkv
21.05.2014, 11:10
Как мы понимаем у вас уже есть автономная версия на 500 точек - ее можно расширить до MSRT-Net. Ключ останется старый.
Совершенно верно. Большое спасибо, теперь всё понятно.

InHELL
21.05.2014, 13:44
День добрый!
Сейчас пытаюсь связать уже установленные Pixel'и с MasterSCADA'й. Программы на Pixel вентиляции и ИТП переделаны, проект MasterSCADA написан с нуля, но по образу и подобию проекта PIXEL до неузнаваемости (мешало все лишнее). Некоторые объекты были скопированы (может это важно)(когда копировал, не знал что они есть в библиотеке :confused:)
Вопрос следующий: в свойствах мнемосхемы (параметры открытия документа), тип - документ не могу переключать галочки, изменять свойства.

Были попытки изменения свойств мнемосхемы у всей системы, но у некоторых объектов свойства не изменяются и остаются заблокированными.

Подскажите пожалуйста куда лезть своими кривыми руками!! Пока я сам не разобрался...

SCADAMaster
21.05.2014, 14:06
У документов действительно заблокированы часть настроек - заблокированы те настройки, которые нужны только в режиме отображения "Окно" или "Новое окно".
Измените тип мнемосхемы - появятся и настройки.

InHELL
21.05.2014, 15:35
У документов действительно заблокированы часть настроек - заблокированы те настройки, которые нужны только в режиме отображения "Окно" или "Новое окно".
Измените тип мнемосхемы - появятся и настройки.

Спасибо за совет. Выкрутился следующим образом:
1. Сменил на тип - Окно, изменил настройки, перестало переключаться между окнами.
2. Снова изменил тип - Документ, настройки сохранились.

SokolovS
23.05.2014, 14:13
Доигрался со шлюзами
Удалил неподходящие и сломалось то, что уже работало
MasterSCADA отказывается забирать HDA у MasterOPC
Если в режиме разработки попытаться зайти в настройки HDA сервера, выдаёт сообщение с ошибкой (в приложении)
DA работает
Подскажете куда копать чтобы исправить?

SCADAMaster
23.05.2014, 18:06
Попробуйте переустановить MasterSCADA, OPC сервер, установить OPC Components:
http://yadi.sk/d/L9j6yyci2QfW1
http://yadi.sk/d/ewpkpmMv2QfWB
Если не поможет - произведите настройку DCOM по интструкции прилагаемой к MasterSCADA (там про работу удаленного ОРС, но в вашем случае тоже должно помочь).

SokolovS
26.05.2014, 09:08
Файлы по вашим ссылкам недоступны
Скачал с официального сайта OPC Core Components Redistributable (х86): http://opcf.org/DownloadFile.aspx?CM=3&RI=820&CU=3
Всё заработало, спасибо

SCADAMaster
26.05.2014, 09:40
Проверили - обе ссылки рабочие.
Можно и с OPC Foundation, но нужно регистрироваться.

SokolovS
26.05.2014, 10:09
Да, теперь рабочие
Что ж поделаешь, пришлось зарегистрироваться

Нашёл интересную вещь - http://w3.impa.br/~diego/software/luasocket/home.html
Подскажите, встроить её в Lua в Universal Modbus Server возможно?

SCADAMaster
26.05.2014, 10:27
В 3 версии можно встраивать библиотеки, но пример пока не разработан.
Для каких целей вы хотите использовать данную библиотеку.

SokolovS
26.05.2014, 13:06
Я хочу попробовать самостоятельно написать DA туннелирование через TCP
По-моему это должно быть проще, чем писать то же самое плюс DA клиент/сервер

SCADAMaster
26.05.2014, 13:57
А на стороне клиента что будет стоять? Тоже наш ОРС сервер?
Чем не устраивает работа в режиме удаленного ОРС?

SokolovS
26.05.2014, 14:01
Да, если буду писать на втроенном Lua, с обеих сторон будет стоять ваш ОРС сервер
По-моему использовать DCOM - не самая лучшая идея хотя бы потому, что планируется организовать доступ к информации со стороны другого предприятия, то есть проблем с разными рабочими группами, доменами и пользователями не избежать

SCADAMaster
26.05.2014, 22:14
Подключение библиотек Lua осуществляется стандартными способами - посмотрите пример к вашей библиотеке. Но нужно иметь ввиду, что не все библиотеки могут корректно функционировать. Если библиотека не отпускает поток, то тогда теги перестанут обновляться.
Для создания туннеля вы можете использовать Modbus TCP. Создаете на одном сервер Modbus TCP Slave узел, а на другом Modbus TCP MasterS узел. В Modbus TCP Slave узел пишете данные с помощью скриптов.

SokolovS
27.05.2014, 12:56
Подключение библиотек Lua осуществляется стандартными способами - посмотрите пример к вашей библиотеке. Но нужно иметь ввиду, что не все библиотеки могут корректно функционировать. Если библиотека не отпускает поток, то тогда теги перестанут обновляться.
Я пробовал. На тестовом примере выдаёт такую ошибку:

27-05-2014 11:51:29.523 Tag1:Node1.Device1.Tag1 >> error loading module 'socket.core' from file 'C:\Program Files\Lua\socket\core.dll':
Не найден указанный модуль.
Этот же пример, будучи запущенным непосредственно в Lua, работает корректно.


Для создания туннеля вы можете использовать Modbus TCP. Создаете на одном сервер Modbus TCP Slave узел, а на другом Modbus TCP MasterS узел. В Modbus TCP Slave узел пишете данные с помощью скриптов.
А можно поподробнее про это?

SCADAMaster
27.05.2014, 13:09
А можно поподробнее про это?
Создаете на стороне сервера (компьютер который будет опрашивать приборы) узел Modbus TCP Slave, в него добавляете теги (столько и таких типов, которые хотите передавать). При помощи скриптов производите запись в эти теги значений, считанных из других узлов (которые опрашивают ваши приборы). На стороне клиента добавляете в ОРС сервер узел Modbus TCP Master, в него добавляете точно такие же теги как в Slave узле. Обмен между сервером и клиентом будет идти по Modbus TCP.
На стороне сервера в Slave узел будут записываться данные из приборов, на стороне клиента Master узел будет получать данные.

SokolovS
27.05.2014, 13:59
Хм... А так даже проще
Совершенно упустил такую возможность из виду
Работает как надо
Дополнительно в мастере включил реинициализацию узла, чтобы мог восстановить связь сам.
Буду пробовать реализовать
Спасибо за направление!

Вот только приходится использовать удвоенное количество регистров, что ведёт к покупке следующей лицензии

SokolovS
27.05.2014, 15:01
Начал ковырять
Сюрпризом оказалось, что групповыми операциями регион тега нельзя поменять с SERVER_ONLY на любой другой. Странно, учитывая, что на исправление региона руками в блокноте не обижается
Но есть более насущные вопросы
Аутентификации никакой не предусмотрено, если правильно понимаю? Это всё должно реализовываться маршрутизатором/файерволом?
Для Modbus TCP Slave не существует функций наподобие SendAndReceiveDataByMask?

SCADAMaster
27.05.2014, 15:20
Сюрпризом оказалось, что групповыми операциями регион тега нельзя поменять с SERVER_ONLY на любой другой. Странно, учитывая, что на исправление региона руками в блокноте не обижается

Они сильно отличаются по настройкам, кроме того Server_Only может находится в программном узле, поэтому задать другой регион у него будет нельзя.
Править через блокнот не рекомендуется.


Аутентификации никакой не предусмотрено, если правильно понимаю?
У Modbus TCP нет аутентификации.



Для Modbus TCP Slave не существует функций наподобие SendAndReceiveDataByMask?
Для Slave такой функции нет.
Мы предполагали, что вы просто добавите в узел Slave теги, и будете их опрашивать Мастером.

SokolovS
27.05.2014, 15:51
Они сильно отличаются по настройкам, кроме того Server_Only может находится в программном узле, поэтому задать другой регион у него будет нельзя.
Править через блокнот не рекомендуется.То есть предлагается ручное создание всех тегов с нужным регионом
Возможно, всё же удастся сделать проверку в каком узле находится тег
А настройки всё равно у всех тегов одинаковые, судя по файлу конфигурации. Да и теми же групповыми операциями адреса тегов SERVER_ONLY можно прописать

Для Slave такой функции нет.
Мы предполагали, что вы просто добавите в узел Slave теги, и будете их опрашивать Мастером.Да, я понял
Это вполне рабочий вариант
Но куда стремиться есть, например, избежать удвоения тегов
Если бы такая функция была, не было бы необходимости дублировать теги
Или если бы удалось выяснить причину, по которой LuaSocket не запускается

SCADAMaster
27.05.2014, 17:39
То есть предлагается ручное создание всех тегов с нужным регионом
Возможно, всё же удастся сделать проверку в каком узле находится тег
А настройки всё равно у всех тегов одинаковые, судя по файлу конфигурации. Да и теми же групповыми операциями адреса тегов SERVER_ONLY можно прописать

Что значит ручное создание? При создании тегов можно задать количество создаваемых копий.
Групповые операции - это правка, уже имеющихся тегов. Нам представляется маловероятной ситуация, когда пользователь добавил тег Server_Only, а потом решил использовать Holding_Registers.




Или если бы удалось выяснить причину, по которой LuaSocket не запускается
Пришлите конфигурацию на которой вы проверяете, приложите библиотеку, и укажите путь где она располагается.
Судя по ошибке сервер не может ее загрузить - например если недостаточно прав доступа. Попробуйте положить библиотеку в папку сервера или в папку с конфигурациями.

SokolovS
28.05.2014, 09:28
Что значит ручное создание? При создании тегов можно задать количество создаваемых копий.
Групповые операции - это правка, уже имеющихся тегов. Нам представляется маловероятной ситуация, когда пользователь добавил тег Server_Only, а потом решил использовать Holding_Registers.Хм... Видимо, настал тот день
У меня все теги SERVER_ONLY, а для реализации связи с удалённым сервером нужны HOLDING_REGISTERS. Я пытался скопировать существующие, но регион поменять не вышло

Пришлите конфигурацию на которой вы проверяете, приложите библиотеку, и укажите путь где она располагается.
Судя по ошибке сервер не может ее загрузить - например если недостаточно прав доступа. Попробуйте положить библиотеку в папку сервера или в папку с конфигурациями.Lua установлена в C:\Program Files\Lua\
Переменные среды LUA_CPATH и LUA_PATH установлены в C:\Program Files\Lua\?.dll;?.dll и C:\Program Files\Lua\lua\?.lua;?.lua
В приложении архив Lua.zip - папка из Program Files, в ней файл tst.lua - тестовый пример с сайта, у меня работает;socket test.mbp в архиве - тестовый проект для сервера, по записи значения в тег должен сделать то же самое, что и предыдущий файл

SCADAMaster
28.05.2014, 11:38
У меня все теги SERVER_ONLY, а для реализации связи с удалённым сервером нужны HOLDING_REGISTERS. Я пытался скопировать существующие, но регион поменять не вышло

Выполните экспорт тегов, а затем импорт:
http://blog.insat.ru/2014/05/modbus-universal-masteropc-import.html




В приложении архив Lua.zip - папка из Program Files, в ней файл tst.lua - тестовый пример с сайта, у меня работает;socket test.mbp в архиве - тестовый проект для сервера, по записи значения в тег должен сделать то же самое, что и предыдущий файл
Посмотрите по сообщениям скриптов какая ошибка выдается в Runtime.
Попробуйте положить библиотеки в папку:
c:\Program Files (x86)\InSAT\MasterOPC Universal Modbus Server\lua\

SokolovS
28.05.2014, 14:21
Посмотрите по сообщениям скриптов какая ошибка выдается в Runtime.
Попробуйте положить библиотеки в папку:
c:\Program Files (x86)\InSAT\MasterOPC Universal Modbus Server\lua\Тип ошибки не изменился

28-05-2014 13:19:00.677 Tag1:Node1.Device1.Tag1 >> error loading module 'socket.core' from file 'C:\Program Files\InSAT\MasterOPC Universal Modbus Server 3\lua\socket\core.dll':
Не найден указанный модуль.Переменные окружения естественно заменил на соответствующие
В консольной версии по-прежнему всё работает

SCADAMaster
28.05.2014, 15:34
Переменные окружения естественно заменил на соответствующие

Сервер не анализирует переменные окружения.


Тип ошибки не изменился
28-05-2014 13:19:00.677 Tag1:Node1.Device1.Tag1 >> error loading module 'socket.core' from file 'C:\Program Files\InSAT\MasterOPC Universal Modbus Server 3\lua\socket\core.dll':
Не найден указанный модуль.

Этот модуль есть в указанной папке?
Включите запись ошибок в лог. Посмотрите на какие пути выводяться ошибки, и убедитесь что все модули находятся по указанным путям.

SokolovS
29.05.2014, 12:35
29-05-2014 11:34:06.609 Tag1:Node1.Device1.Tag1 >> [string "-- Initialization..."]:10: module 'socket' not found:
no field package.preload['socket']
no file 'C:\Program Files\InSAT\MasterOPC Universal Modbus Server 3\lua\lua_bad\socket.lua'
no file 'socket.lua'
no file 'C:\Program Files\InSAT\MasterOPC Universal Modbus Server 3\lua_bad\socket.dll'
no file 'socket.dll'

Вот такая ошибка выдаётся в сообщениях скриптов если переменную среды установить неправильную или модуля не будет по нужному адресу
Ваш сервер действительно не считывает эти переменные среды, их считывает Lua

Александр_АСК
02.06.2014, 06:36
В ходе решения задачи столкнулся с некоторыми сложностями в реализации на CodeSys и решил поискать возможно более простые решения. Задача: имеются несколько установок, в них рабочими производится ручное включение оборудования, так же производится контроль температуры каждой установки. Оператор должен фиксировать кем, зачем и когда включалось/выключалось оборудование, а также среднюю температуру за период работы. Возможно ли реализовать данный процесс на бесплатной версии? Структура: ПК - ПЛК-100 и 2 МВА-8 (в принципе ни какого управления, просто протоколирование работы оборудования, чтобы контролировать персонал)

SCADAMaster
02.06.2014, 08:13
На бесплатной версии реализовать можно, если будет опрашиваться не более 32 точек.
Не совсем понятно как вы собираетесь передавать кто включал и зачем.

mkv
03.06.2014, 11:37
Добрый день.
У нас на предприятии используется много блоков управления приточной вентиляции ВЕНТ 401 (Минитерм 400.25.79). Скажете, можно ли их каким то образом привязать к СКАДе?
Спасибо.

SCADAMaster
03.06.2014, 12:52
Для данных приборов существует ОРС сервер - можно связаться через него:
http://www.mzta.ru/produkcziya/katalog/programmnoe-obespechenie/538-prochee-programmnoe-obespechenie

mkv
04.06.2014, 08:56
Добрый день.
Спасибо за помощь (ссылку). Сразу возник другой вопрос. Задал этот же вопрос на форуме МЗТА. Но похоже там форум мёртвый. Имеется порядка 10 венткамер. Венткамеры расположены на удалении друг от друга 50-300м. В каждой из венткамер установлено от трёх до пяти приточек на основе "Минитерм 400" (ВЕНТ 401). Подскажите, как правильно организовать сеть RS-485 и состыковать со СКАДОЙ?
Спасибо.

SCADAMaster
04.06.2014, 09:24
Решений есть несколько. Можно использовать конвертер USB-RS-485:
http://insat.ru/products/?category=169
От него прокладываете сеть RS-485. Рекомендация по интерфейсу можно найти много:
http://www.tzmagazine.ru/jpage.php?uid1=837&uid2=913&uid3=917
http://contravt-metodichka.ru/?id=3937
На большие расстояния лучше использовать кабель специально для RS-485:
http://www.spetskabel.ru/cableparam1_platforms_3_1.htm
http://www.spcable.ru/catalog/rs485.htm#rs485
Возможно удобнее будет сделать несколько шин RS-485, и использовать многопортовый преобразователь USB-COM.

Если рядом с венткамерами есть локальная сеть, то можно использовать конвертер Ethernet-COM, такие как Moxa Nport5150 и подобные:
http://insat.ru/products/?category=1121
Такие конвертеры могут работать в режиме Real Com Mode - на компьютере создается виртуальные СОМ порт, и вы будете работать с вашими устройствами как если бы работали напрямую.

После прокладки сети, настраиваете ОРС сервер на нужный порт и получаете данные в скаду.

Сема
04.06.2014, 10:36
А ещё такой вопрос, Инсат случайно не разрабатывает Скаду для андроид устройств, для планшетников для телефонов??

mkv
04.06.2014, 10:55
Спасибо.
13166Я наверно не совсем правильно вопрос задал. Я для пеобразования на компе использую овеновский АС-4(USB - RS-485).Это всё понятно, всё работает.Я не совсем понимаю, как в самой венткамере сделать. Допустим в венткамере есть три ВЕНТ401(минитерм 400). Внутри венткамеры я их должен объеденить по RS-232, а затем там-же подключить к преобразователю RS-232 - RS-485? И так делать в каждой венткамере? При этом мне нужна одна линия, или для каждой венткамеры тянуть свою линию?

SCADAMaster
04.06.2014, 12:59
А ещё такой вопрос, Инсат случайно не разрабатывает Скаду для андроид устройств, для планшетников для телефонов??
Разрабатывается, но не совсем то про что вы говорите.
http://sky-monitor.ru/
На андроиде работает.

Если интересует текущая версия среды разработки - напишите в техподдерку, мы дадим ссылку на актуальную версию.

SCADAMaster
04.06.2014, 13:01
Я наверно не совсем правильно вопрос задал. Я для пеобразования на компе использую овеновский АС-4(USB - RS-485).Это всё понятно, всё работает.Я не совсем понимаю, как в самой венткамере сделать. Допустим в венткамере есть три ВЕНТ401(минитерм 400). Внутри венткамеры я их должен объеденить по RS-232, а затем там-же подключить к преобразователю RS-232 - RS-485? И так делать в каждой венткамере? При этом мне нужна одна линия, или для каждой венткамеры тянуть свою линию?
То есть ваши приборы имеют интерфейс RS-232? Тогда вам нужно к каждому прибору установить преобразователь RS-485/RS-232 (АС3-M и подобные). А уже до этого преобразователя вы будете кидать шину RS-485.

mkv
04.06.2014, 14:34
Совершенно верно. Все имеют RS-232C. Просто в паспорте на ВЕНТ 401 имеется вот такой рисунок (См. рисунок). 13171 Т.Е. в самой венткамере приборы стоят рядом. И я думал, что в соответствии с рисунком, приборы внутри венткамеры объеденить по RS-232C, а затем здесь-же поставить один общий АС3-М и от него тянуть шину RS-485. И так сделать в каждой венткамере. Возможен такой вариант?
Спасибо.

SCADAMaster
04.06.2014, 16:04
Нет, не возможен. RS-232 это соединение "точка-точка". То есть один источник - один приемник.

SokolovS
05.06.2014, 17:40
Это вполне рабочий вариант
Но куда стремиться есть, например, избежать удвоения тегов
Если бы такая функция была, не было бы необходимости дублировать теги
Или если бы удалось выяснить причину, по которой LuaSocket не запускается
Пришёл к более-менее оформившейся схеме
Оба ОРС-сервера настроены как Модбас-ТСР мастер
Дополнительно используется имитатор ПЛК Модбас-ТСР слейв http://www.plcsimulator.org/, к которому они и подключаются
Поскольку у меня опрос и так идёт скриптом, несложно сделать перенаправление через другой узел на этот имитатор, а забрать с него уже дело техники
Имитатор поддерживает несложные скрипты, так что какие-то задачи можно и на нём реализовывать
Плюс к тому такая схема даёт определённую гибкость в размещении узлов без каких-либо изменений в скриптах

SCADAMaster
05.06.2014, 17:48
Имитатор поддерживает несложные скрипты, так что какие-то задачи можно и на нём реализовывать

Только имейте ввиду что скрипты в этом имитаторе не работают на Windows 7.

SokolovS
06.06.2014, 08:56
Только имейте ввиду что скрипты в этом имитаторе не работают на Windows 7.
Спасибо, буду это учитывать

Сема
06.06.2014, 16:03
А что это такое, можете пояснить пожалуйста...????????????????

Разрабатывается, но не совсем то про что вы говорите.
http://sky-monitor.ru/
На андроиде работает.

Если интересует текущая версия среды разработки - напишите в техподдерку, мы дадим ссылку на актуальную версию.

SCADAMaster
06.06.2014, 16:35
Система программирования контроллеров и графических панелей.

mkv
09.06.2014, 11:51
Добрый день!
Скачал ОРС сервер с МЗТА. Но вот беда, в библиотеке нет нужного мне прибора МИНИТЕРМ 400.25.79, этот прибор стоит в системе приточной вентиляции ВЕНТ 401. Пробовал устанавливать библиотеки других версий (МИНИТЕРМ 400.00, 400.21.00, 400.31.00 ), но с этими версиями сервер не корректно и не полно отображает нужные мне параметры переменных. Скажите, может у Вас есть библиотека на эту версию прибора (МИНИТЕРМ 400.25.79) или где её можно взять. Спасибо.

SCADAMaster
09.06.2014, 12:55
У нас для данного прибора библиотеки нет. Обратитесь к производителю контроллера.
Можно также поддержать протокол для данного прибора в нашем Modbus Universal MasterOPC сервере. Инструкция по разработке собственных протоколов находится на странице загрузки:
http://www.masteropc.ru/prices/info.php?pid=6944

leszkin
11.06.2014, 11:58
Подскажите пожалуйста, а как сделать, чтобы пользователь не видел саму оболочку мастер-скады, а видел только окно мнемосхемы, т.е. только то, что обведено на скриншоте.
13245

SCADAMaster
11.06.2014, 12:31
Вам нужно чтобы было именно в виде окна? Сделать мнемосхему документом не подходит?
В этом случае нужно воспользоваться специальным скриптом
http://www.owen.ru/forum/showthread.php?t=16943&goto=nextnewest

leszkin
11.06.2014, 13:38
Да, нужно именно в виде окна. За скрипт спасибо - посмотрю.

kolyaz
18.06.2014, 10:38
При создании отчёта случайно исчезло окно "Свойства,Словарь,Дерево отчёта ", как его восстановить?

SCADAMaster
18.06.2014, 12:55
При открытом отчете на панели
"Вид->Дерево отчета" или выделить отчет и нажать "Ctrl+Shift+L"
"Вид->Словарь" или выделить отчет и нажать "Ctrl+Shift+D"
"Вид->Свойства" или выделить отчет и нажать "F4"

leszkin
19.06.2014, 15:19
Подскажите пожалуйста как сделать прозрачную область с системным действием "выход"?
Добавляю команду, делаю тип "дискретный", добавляю свойства "системное -выход", перетаскиваю на мнемосхему - только кнопка. А прозрачная кнопка - никак((

SCADAMaster
19.06.2014, 15:30
Используйте "Событие". Настройки такие же как и у команды, а при перетаскивании на мнемосхему создается невидимая область, которая реагирует на нажатие мыши.

ast1
24.06.2014, 10:48
Добрый день, Подскажите где искать?
Скада вер 3.6, вещественная команда вытащена на окно объекта в виде редактируемого значения,
в свойствах есть галочка "ограничить вводимые значения диапазоном", а где вводить этот диапазон?13364

SCADAMaster
24.06.2014, 11:03
Для этого нужно назначить переменной шкалу. Это делается Система - Шкалы - Аналоговые. После этого шкалу нужно назначить данной переменной, диапазон шкалы и будет диапазоном ввода значений.

ast1
24.06.2014, 12:55
Спасибо, получилось

kolyaz
25.06.2014, 08:33
Не могу отстроить отчёт, чтобы считывалось общее время пробега в итоге (Компрессор пробег) если (Компрессор состояние=true)

SCADAMaster
25.06.2014, 09:30
А почему вас стоит атрибут "время"?
Может вам лучше рассчитать пробег непосредственно в самом отчете?
Посмотрите данную документацию - в ней разбирается обработка дискретных переменных (в том числе и вычисление пробега):
http://www.masterscada.ru/services/support/art_step_by_step/MasterReport/MasterReport_Part_4.pdf

kolyaz
25.06.2014, 10:35
Все получилось , спасибо!
1.)Но как сделать чтобы в итоге выводилось значение в формате чч.мм

SCADAMaster
25.06.2014, 11:43
Сначала нужно преобразовать значение в TimeSpan, это можно сделать через метод TimeSpan.FromSeconds:
http://msdn.microsoft.com/ru-ru/library/system.timespan.fromseconds(v=vs.110).aspx
Пример (можно сделать прямо в текстовом поле)
{TimeSpan.FromSeconds((int)(ЗНАЧЕНИЕ)))}
После этого в настройках формата ячейки укажите нужный формат.

kolyaz
25.06.2014, 12:02
Спасибо !!!!!!!!!!
Техподдержка на высоте

leszkin
26.06.2014, 14:32
Подскажите пожалуйста, а есть ли возможность хранить разные настройки (перьев, границ и т.д.) у одного и того же тренда для разных пользователей?
Т.е. 1 и та же переменная в тренде у пользователя Вася - синяя, а у пользователя Коля - зеленая.

SCADAMaster
26.06.2014, 15:25
Нет, так сделать нельзя.
Разве что сделать несколько отдельных трендов для каждого пользователя.

kolyaz
03.07.2014, 09:28
Помагите импортировать теги csv в OPC

SCADAMaster
03.07.2014, 10:38
Процедура импорта тегов описана в нашей статье в блоге:
http://blog.insat.ru/2014/05/modbus-universal-masteropc-import.html
а также в видео (ссылка есть в блоге).

Из приложенного вами файла совершенно непонятно где адреса регистров, где регион и т.д. Кроме того тегов всего 18 штук - их проще создать вручную, без импорта.

kolyaz
03.07.2014, 11:04
В том то и дело что не понятно
http://blog.insat.ru/2014/05/modbus-universal-masteropc-import.html читал там всё понятно и просто,
но в моём случае есть только файлы формата csv такого вида (см.выше).
Таблица адресов модбас в мануале отсутствует(для меня бы это было проще).

SCADAMaster
03.07.2014, 11:52
Таблица адресов модбас в мануале отсутствует(для меня бы это было проще).

Так что тогда импортировать если адреса неизвестны?

Дайте расшифровку вашего файла - где адрес, где имя. Какой регион (если статичный).

kolyaz
03.07.2014, 12:01
Спасибо разобрался.

Maxim_123
03.07.2014, 12:26
Подскажите, пожалуйста, в MasterSCADA в каком поле ФБ "Сохранение в файле" прописывается имя сохраняемого файла?

SCADAMaster
03.07.2014, 13:31
Имя сохраняемого файла указывается на входе "Имя файла".

Maxim_123
03.07.2014, 13:50
Поле "Имя" у меня заблокировано (нет возможности вносить изменения). С чем это может быть связано? Или имя прописывается в другом месте?

13470

SCADAMaster
03.07.2014, 14:13
Это имя входа.
Задать имя файла нужно присвоив значение данному входу. Если нужна просто константа, то это делается на закладке "Опрос" - в поле "Константа".

Maxim_123
03.07.2014, 14:32
Спасибо, понял. А возможно сохранение данных в файл, находящийся в другой папке, отличной от папки по умолчанию?
И можно ли где-то почитать подробную информацию по настройке функциональных блоков, идущих в комплекте со скадой?

SCADAMaster
03.07.2014, 14:50
А возможно сохранение данных в файл, находящийся в другой папке, отличной от папки по умолчанию?

Можно - укажите полный путь к этой папке (например C:\Файлы\мойфайл.txt)



И можно ли где-то почитать подробную информацию по настройке функциональных блоков, идущих в комплекте со скадой?
Информация по каждому из функциональных блоков есть в справке. Вызовите контекстное меню функционального блока - справка.
Также рекомендуем вам посмотреть наши видеопримеры:
http://www.masterscada.ru/?additional_section_id=233

Maxim_123
03.07.2014, 15:25
Всё понял, большое спасибо за пояснения.

SokolovS
12.07.2014, 15:48
В описании API MasterOPC Universal Modbus Server присутствуют функции others.CreateProcess и others.TerminateProcess, но описания по ним нет
Можете рассказать как ими пользоваться?

SCADAMaster
12.07.2014, 22:13
others.CreateProcess - coздает процесс.
aргумент (1) имя процесса должен быть string например "example.exe"
aргумент (2) командная строка должен быть string например "123"
aргумент (3) каталог должен быть string например "C:\\"
aргумент (4) видимость должен быть числом 0-SW_SHOW 1-SW_HIDE 2-SW_MINIMIZE 3-SW_MAXIMIZE

возвращает таблицу процесса
process = others.CreateProcess("example.exe","123","C:\\",0);

others.TerminateProcess - останавливает процесс
others.TerminateProcess(process);

SokolovS
14.07.2014, 10:33
Спасибо, работает
Только на последний параметр не реагирует
Или это особенность поведения cmd.exe?

Anton_68
15.07.2014, 13:41
Спасибо за форум очень много почерпнул и узнал.
Теперь обращаюсь за помощью.
Проблема в том что на стареньком ноуте странного вида редактор скрипта MasterOPC причем версия 2 работает
нормально а версия 3 - не активное окно редактирования. Может где описывалось подобное - ткните пожалуйста.
Скины окон прилагаю.1363413635

SCADAMaster
15.07.2014, 17:59
Очевидно у вас очень старый процессор, который не поддерживает набор команд Streaming SIMD Extensions 2 (SSE2). Данный набор команд необходим для функционирования одного из компонентов сервера.

Anton_68
15.07.2014, 19:58
Спасибо. Очень жаль удобно было бы отлаживать на объекте.
И еще вопрос вот эти функции:

server.SendAndReceiveData
и
server.SendAndReceiveDataByMask

в MasterOPC 3.0.0.2 поддерживает и TCP хотя в справке написано только COM
во второй версии есть поддержка TCP?

SCADAMaster
15.07.2014, 21:05
Да, должно работать.

SokolovS
16.07.2014, 09:40
Я использую с TCP, работает вполне себе
Кстати, есть особенность: если в момент опроса устройства штатным способом из другого устройства вызвать функцию этого ТСР устройства, которая опрашивает нештатно через SendAndReceiveData, запросы смешаются
Ну это так, к слову, небольшая проблемка, с которой столкнулся при реализации. Подозреваю, с обычным Modbus поведение будет таким же

SCADAMaster
16.07.2014, 11:00
Чтобы избежать этой ситуации, нужно в настройках узла включить настройку "Отслеживать Transaction ID".

SokolovS
16.07.2014, 11:56
Да, я пробовал
Тогда сервер шлёт свой штатный запрос, получает кусок ответа не своего, видит чужой ID, шлёт заново свой запрос, получает один случайный байт ещё идущего предыдущего нештатного запроса (ненулевой), снова обижается, снова шлёт запрос и снова получает один байт ненулевой, и так пока не сработает реинициализация узла
Мне не нужно чтобы сервер ещё точнее отфутболил неправильный ответ, мне нужно чтобы запросы шли по очереди. Поэтому я записываю идёт ли штатный опрос, и если идёт, жду его окончания.

SCADAMaster
16.07.2014, 12:57
Не совсем понятно. Что значит кусок ответа? Для Ethernet не типично рвать пакеты.
Какой у вас канал связи?

SokolovS
16.07.2014, 13:13
Тем не менее, в логе запросов ответ расчленялся на отдельные куски, которые принимались за ответы на несколько запросов
Связь через 127.0.0.1 идёт

SCADAMaster
16.07.2014, 13:53
У вас имитатор Modbus устройства?
Выложите конфигурацию и лог с запросами.

SokolovS
16.07.2014, 15:34
Имитатор этот http://www.plcsimulator.org/Home
Конфигурацию и лог не могу выложить, текущая конфигурация следит за обменом
Когда будет время, я постараюсь создать аналогичную и без лишних кусков

azausatu
30.07.2014, 15:40
Добрый день.
Нужно выводить окно объекта каждый час, некое всплывающее окно напоминания. Окно собирался выводить при помощи События. Если научите выводить через скрипт - еще лучше. Как сделать?

SCADAMaster
30.07.2014, 16:03
Можно поступить проще. Воспользуйтесь закладкой объекта "Расписание" - с ее помощью можно открывать окно через определенные интервалы времени.

SokolovS
04.08.2014, 10:43
У вас имитатор Modbus устройства?
Выложите конфигурацию и лог с запросами.
Вышел из отпуска
В приложении проект, демонстрирующий проявление ошибки
Вот фрагмент лога, когда она появляется

04-08-2014 09:32:29.511 Node1::Device1:(10.0.3.2:502) Rx: [0011] 19 00 00 00 00 05 01 03 02 00 01
04-08-2014 09:32:29.461 Node1::Device1:(10.0.3.2:502) Tx: [0012] 19 00 00 00 00 06 01 03 00 00 00 01
04-08-2014 09:32:29.251 Node1::Device1:(10.0.3.2:502) Rx: [0011] 18 00 00 00 00 05 01 03 02 00 01
04-08-2014 09:32:29.201 Node1::Device1:(10.0.3.2:502) Tx: [0012] 18 00 00 00 00 06 01 03 00 00 00 01
04-08-2014 09:32:29.171 Node1::Device1:(10.0.3.2:502) Tx: [0012] 17 00 00 00 00 06 01 03 00 00 00 01
04-08-2014 09:32:29.151 Node1::Device1:(10.0.3.2:502) Tx: [0012] 16 00 00 00 00 06 01 03 00 00 00 01
04-08-2014 09:32:29.101 Node1::Device1:(10.0.3.2:502) Rx: [0001] 01
04-08-2014 09:32:29.081 Node1::Device1:(10.0.3.2:502) Tx: [0012] 00 00 00 00 00 06 01 03 00 01 00 01
04-08-2014 09:32:29.041 Node1::Device1:(10.0.3.2:502) Tx: [0012] 15 00 00 00 00 06 01 03 00 00 00 01
<...>
04-08-2014 09:32:28.109 Node1::Device1:(10.0.3.2:502) Tx: [0012] 03 00 00 00 00 06 01 03 00 00 00 01
04-08-2014 09:32:28.069 Node1::Device1:(10.0.3.2:502) Rx: [0004] 01 03 00 01
04-08-2014 09:32:28.059 Node1::Device1:(10.0.3.2:502) Tx: [0012] 02 00 00 00 00 06 01 03 00 00 00 01
04-08-2014 09:32:27.989 Node1::Device1:(10.0.3.2:502) Tx: [0012] 00 00 00 00 00 06 01 03 00 01 00 01
04-08-2014 09:32:27.979 Node1::Device1:(10.0.3.2:502) Tx: [0012] 01 00 00 00 00 06 01 03 00 00 00 01

Обратите внимание, сначала одновременно отсылается два разных запроса, до того, как был получен хоть какой-то ответ
Ошибка нестабильная. Её можно получить с большей вероятностью если в опрашиваемом устройстве задать задержку ответа побольше, вплоть до 1с.

SCADAMaster
04.08.2014, 12:49
У вас ключевая версия или Demo?
Попробуйте проверить на текущей версии на 32 точки (версия 3.0.0.5) - мы исправляли подобную ошибку.

SokolovS
04.08.2014, 14:09
Демо на 32 тега
На версии 3.0.0.5 поведение такое:

04-08-2014 13:07:49.575 Node1::Device1:(10.0.3.2:502) Rx: [0011] 00 00 00 00 00 05 01 03 02 00 0F
04-08-2014 13:07:49.525 Node1::Device1:(10.0.3.2:502) Tx: [0012] 00 00 00 00 00 06 01 03 00 01 00 01
04-08-2014 13:07:49.515 Node1::Device1:(10.0.3.2:502) Rx: [0008] 00 00 00 05 01 03 00 01
04-08-2014 13:07:48.524 Node1::Device1:(10.0.3.2:502) Rx: [0003] 03 00 02
04-08-2014 13:07:48.504 Node1::Device1:(10.0.3.2:502) Tx: [0012] 00 00 00 00 00 06 01 03 00 01 00 01
04-08-2014 13:07:48.504 Node1::Device1:(10.0.3.2:502) Rx: [0000]
04-08-2014 13:07:48.504 Node1::Device1:(10.0.3.2:502) Tx: [0012] 04 00 00 00 00 06 01 03 00 00 00 01
04-08-2014 13:07:47.502 Node1::Device1:(10.0.3.2:502) Tx: [0012] 00 00 00 00 00 06 01 03 00 01 00 01
04-08-2014 13:07:47.502 Node1::Device1:(10.0.3.2:502) Tx: [0012] 03 00 00 00 00 06 01 03 00 00 00 01
04-08-2014 13:07:47.292 Node1::Device1:(10.0.3.2:502) Rx: [0000]
04-08-2014 13:07:47.292 Node1::Device1:(10.0.3.2:502) Rx: [0011] 02 00 00 00 00 05 01 03 02 00 01
04-08-2014 13:07:46.501 Node1::Device1:(10.0.3.2:502) Tx: [0012] 00 00 00 00 00 06 01 03 00 01 00 01
04-08-2014 13:07:46.301 Node1::Device1:(10.0.3.2:502) Rx: [0001] 00
04-08-2014 13:07:45.299 Node1::Device1:(10.0.3.2:502) Tx: [0012] 00 00 00 00 00 06 01 03 00 01 00 01
04-08-2014 13:07:45.299 Node1::Device1:(10.0.3.2:502) Rx: [0003] 01 03 00
04-08-2014 13:07:45.279 Node1::Device1:(10.0.3.2:502) Tx: [0012] 02 00 00 00 00 06 01 03 00 00 00 01
04-08-2014 13:07:44.288 Node1::Device1:(10.0.3.2:502) Tx: [0012] 00 00 00 00 00 06 01 03 00 01 00 01
04-08-2014 13:07:44.278 Node1::Device1:(10.0.3.2:502) Tx: [0012] 01 00 00 00 00 06 01 03 00 00 00 01

SCADAMaster
04.08.2014, 16:25
У вас в устройстве есть тег, и также вы вызываете собственную функцию с запросом из другого узла. Зачем вы так делаете? Что вы хотите получить?
Сейчас получается следующее - при вызове функции SendAndRecive происходит очищение входного буфера, и принятые байты затираются. Второй запрос замещает первый и принимает оставшиеся байты, естественно уже некорректные. То есть у вас происходит перехлестывание запросов.
Вам нужно реализовать обмен по одному из способов - либо только теги Modbus, либо программные теги, и чтение при помощи функции SendAndRecive.

SokolovS
04.08.2014, 16:57
У вас в устройстве есть тег, и также вы вызываете собственную функцию с запросом из другого узла. Зачем вы так делаете? Что вы хотите получить?
Сейчас получается следующее - при вызове функции SendAndRecive происходит очищение входного буфера, и принятые байты затираются. Второй запрос замещает первый и принимает оставшиеся байты, естественно уже некорректные. То есть у вас происходит перехлестывание запросов.
Вам нужно реализовать обмен по одному из способов - либо только теги Modbus, либо программные теги, и чтение при помощи функции SendAndRecive.
Я об этом и писал с самого начала
Сейчас разъясню зачем это было сделано
В моей конфигурации скрипт готовит пакет для отправки его на узел
Если связи с узлом нет, работа с другим узлом сильно замедляется (пока скрипт ждёт ответа узла с проблемой связи)
Чтобы такого не происходило, я добавил обычный тег в устройство.
Если у него установлен плохой признак качества, это означает, что связи с узлом нет и нет смысла пробовать ему что-то отсылать
Плюс к тому обычный тег сам "следит" за реинициализацией узла при необходимости.
Если есть другой способ организовать работу, хотелось бы его узнать.
Требования: контроль связи с узлом независимо от других; автоматическая реинициализация узла; отсылка пакетов с помощью скрипта.

SCADAMaster
04.08.2014, 18:03
Если связи с узлом нет, работа с другим узлом сильно замедляется (пока скрипт ждёт ответа узла с проблемой связи)

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



Если есть другой способ организовать работу, хотелось бы его узнать.
Требования: контроль связи с узлом независимо от других; автоматическая реинициализация узла; отсылка пакетов с помощью скрипта.
Делать все через SendAndReciveDataByMask (или SendAndRecive) - эти функции при отсутствии также вызывают реинициализацию узла.

SokolovS
05.08.2014, 08:59
Вообще такого быть не должно. На время ожидания ответа происходит переключение на следующей узел.
Я вызываю из скрипта устройства в одном узле функцию в другом узле, которая обменивается данными с этим узлом. До тех пор, пока "другой узел" не ответит или не выйдет время ожидания, обмен информацией с первым узлом происходить не будет т. к. выполнение скрипта предыдущего обмена ещё не закончилось.

SCADAMaster
05.08.2014, 09:15
А почему вы делаете именно так - вызываете функцию обмена с устройством, из другого узла? Почему нельзя вызывать ее в функции BeforeReading в самом узле?

P.S. И скачайте снова версию на 32 точки - мы поправили одну ошибку при работе функции SendAndReciveDataByMask

SokolovS
05.08.2014, 09:36
Потому что данные для обмена готовит скрипт другого узла
Вы предлагаете вместо непосредственно отправки сохранять их в узле и работать с обменом узлу самостоятельно?

Что было исправлено в последней версии?

SCADAMaster
05.08.2014, 09:49
Вы предлагаете вместо непосредственно отправки сохранять их в узле и работать с обменом узлу самостоятельно?

Да, можно так.
Можно передать эти данные в другой узел, а когда подойдет очередь опроса узел уже отправит запрос на основании этих данных.



Что было исправлено в последней версии?
В версии 3.0.0.5 функция SendAndReciveDataByMask не посылала запрос в устройство

SokolovS
05.08.2014, 10:08
Да, можно так.
Можно передать эти данные в другой узел, а когда подойдет очередь опроса узел уже отправит запрос на основании этих данных.
Возможно ли использовать PollCurrentDevice чтобы не ждать очереди опроса? Будет работать?
В смысле, отключить опрос узла совсем, а при отправке данных в узел вызывать PollCurrentDevice

SCADAMaster
05.08.2014, 16:18
Проверьте на версии 3.0.0.5 вашу конфигурацию - мы исправили вероятность появления коллизий при перехлесте запросов.


Возможно ли использовать PollCurrentDevice чтобы не ждать очереди опроса? Будет работать?

Можно.
Только нужно не выключаться опрос устройства, а прописать период опроса - 0, и отключить настройку "Старт после запуска". После этого можно вызывать опрос при помощи фукции
server.PollDeviceByName( );

SokolovS
05.08.2014, 16:33
В 3.0.0.6 проявления другие, вместо некорректных ответов иногда приходит ответ длиной 0 байт

Только нужно не выключаться опрос устройства, а прописать период опроса - 0, и отключить настройку "Старт после запуска". После этого можно вызывать опрос при помощи фукции
server.PollDeviceByName( );Спасибо, попробую исправить свою конфигурацию

SCADAMaster
06.08.2014, 11:37
В 3.0.0.6 проявления другие, вместо некорректных ответов иногда приходит ответ длиной 0 байт

Пришлите лог с проявлением этой ситуации.