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

Makc
10.02.2017, 20:16
К Modbus Universal MasterOPC возможно удаленно подключить более 1го OPC-клиента?
При конфигурации OPC сервера клиенты "отвалятся"?
спасибо.

SCADAMaster
10.02.2017, 20:29
Можно.
При переводе в режим разработки опрос останавливается, клиенты получают сообщение что ОРС сервер приостановлен.

Makc
10.02.2017, 20:46
Можно.
При переводе в режим разработки опрос останавливается, клиенты получают сообщение что ОРС сервер приостановлен.
Извините, а почему не получается подключится к OPC даже если он просто находится в работе (если к нему подключены клиенты).
Если на ПК не открыто окно OPC, удаленно через клиента все видим (изменяющиеся значения тегов сконфигурированные в OPC) , если же приложение OPC сервер запущено в работу, то уже не получается подключиться ни удаленно ни на этом же пк к OPC серверу.

SCADAMaster
10.02.2017, 21:04
Вы пытаетесь подключится двумя разными клиентами с разных ПК?
Здесь может быть дело в том, что при попытке подключения клиент может пытаться запустить новый экземпляр сервера, а не пытаться подключиться к рабочему.
Нужно правильно настроить DCOM. В поставке MasterSCADA есть инструкция по настройке:
c:\Program Files (x86)\InSAT\MasterSCADA\Doc\

Makc
10.02.2017, 21:12
Пытаемся подключится клиентом с удаленного ПК и с того же ПК на котором установлен и сам сервер.

SCADAMaster
10.02.2017, 21:30
Надо настраивать DCOM

Makc
10.02.2017, 21:32
Надо настраивать DCOM
А не могли бы подсказать где устанавливается подключение к существующему экземпляру?
что значит "зарегестрировать как сервис"?

SCADAMaster
11.02.2017, 08:23
А не могли бы подсказать где устанавливается подключение к существующему экземпляру?

В настройках DCOM, у приложения - вкладка "Удостоверение". Посмотрите документацию.



что значит "зарегестрировать как сервис"?
Зарегестрировать ОРС сервер как службу, а не как приложение.

za9c
11.02.2017, 19:08
Немножко гневное письмо - Скада Мастер не ВАМ - вообще! У меня не отображаются метки времени- версия на сервере - 3.6 у сетевых то же 3.6 - расширили до 1000 точек сервер - прислали версию 3.7 - начались баги - сетевые ругаться начали - версии не совместимы - начальнику почтовик свой отдал - пиши! - написал помогли! Сча ВЫ мне советуете обновить версию до 3.8 - у меня ключи - они платные - оплата ВАМ()INSAT будет в июле августе! Скажите - графики не информативны - из-за меток времени - их нет - ничего не понятно - зам глав с линейкой сидеть не будет! терпеть придётся до конца лета - или длл какую нить можно закачать чтоб баг скады исправить!
Пишу просто - - денег отдали- скада хороша - стабильна и ОПС отличный - но меня с этими отчётами задолбали - сил больше нет! Что мне им сказать?

za9c
11.02.2017, 19:36
ещё вопрос - у меня мохи стоят - там по четыре порта - итого на сервере 4*5=20 - если добавляю Ваши приборы из импорта в ОПС модбас от инсат (допустим мв 110- 8 а)- они влияют на самописный код для частотников! они просто не дают его опрашивать! Сами лезут в опрос - в одну дырку - до фени им! время опроса и т.д и т.п. Пришлось написать для каждого модуля свой код(с протоколом ОВЕН вообще намучался - но си-шки стоят считают-сделал) и разделить их временными метками- тогда норм! И почему и в скаде не сделать код на луа?

SCADAMaster
12.02.2017, 09:02
У меня не отображаются метки времени- версия на сервере - 3.6 у сетевых то же 3.6 - расширили до 1000 точек сервер - прислали версию 3.7 - начались баги - сетевые ругаться начали - версии не совместимы - начальнику почтовик свой отдал - пиши! - написал помогли! Сча ВЫ мне советуете обновить версию до 3.8 - у меня ключи - они платные - оплата ВАМ()INSAT будет в июле августе! Скажите - графики не информативны - из-за меток времени - их нет - ничего не понятно - зам глав с линейкой сидеть не будет! терпеть придётся до конца лета - или длл какую нить можно закачать чтоб баг скады исправить!
Пишу просто - - денег отдали- скада хороша - стабильна и ОПС отличный - но меня с этими отчётами задолбали - сил больше нет! Что мне им сказать?
Ничего не понял. Где метки времени не отображаются? Опишите проблему подробнее. Если писали на почту - напишите снова.
По оплате лучше обратится в отдел продаж, вам могут обновить сейчас под гарантийное письмо.

SCADAMaster
12.02.2017, 09:04
ещё вопрос - у меня мохи стоят - там по четыре порта - итого на сервере 4*5=20 - если добавляю Ваши приборы из импорта в ОПС модбас от инсат (допустим мв 110- 8 а)- они влияют на самописный код для частотников! они просто не дают его опрашивать! Сами лезут в опрос - в одну дырку - до фени им! время опроса и т.д и т.п. Пришлось написать для каждого модуля свой код(с протоколом ОВЕН вообще намучался - но си-шки стоят считают-сделал) и разделить их временными метками- тогда норм! И почему и в скаде не сделать код на луа?
Ничего не понятно.
У вас на одной шине находятся устройства с разными протоколами и они конфиктуют? Такое возможно, нужно изучать детальнее в чем проблема. Нужно более подробное описание проблемы для начала (потом логи, конфигурации).

ma4etos
12.02.2017, 18:54
Помогите, пожалуйста! Делаю необходимые настройки для передачи переменных через OPC в мастерскада...вроде все по книжке, в итоге - ошибка при попытке запуска opc server for codesys v2_0 выдает в мастерскада...не понимаю в чем дело, код написан визуализация нарисована не могу привязать переменные...

SCADAMaster
13.02.2017, 08:46
Что за ошибка выдается?
Судя по всему у вас просто не запускается сервер и не отдает список тегов. Нужно разбираться с ним - обновить или переустановить.

ma4etos
13.02.2017, 08:58
Настройку делаю в стандартном пакете к кодесис opc конфигуратор...Просто до слез обидно что не понимаю где косяк...

SCADAMaster
13.02.2017, 09:26
Чтобы убедится что проблема на стороне сервера или в MastrerSCADA проверьте другим клиентом - например Matrikon OPC Explorer:
https://yadi.sk/d/VNFQzC59e9GSp

ma4etos
13.02.2017, 10:25
Помогла установка дров. OPC Core Components Redistributable (x86). Спасибо.

SCADAMaster
13.02.2017, 15:12
Мы сообщим когда ошибка будет устранена
Данная ошибка устранена. Исправление будет доступно в следующей стабильной версии.

Сергей13
15.02.2017, 10:54
Добрый день!
Подскажите Мастер Скада работает c ПЛК Siemens S7-200?
Если да, то как вставить контроллер в проект?

capzap
15.02.2017, 10:56
Добрый день!
Подскажите Мастер Скада работает c ПЛК Siemens S7-200?
Если да, то как вставить контроллер в проект?
в доках же написано, что только один контроллер вставляется непосредственно, все чужие работают через ОРС(мульти-протокол)

SCADAMaster
15.02.2017, 11:51
Добрый день!
Подскажите Мастер Скада работает c ПЛК Siemens S7-200?
Если да, то как вставить контроллер в проект?
Через OPC сервер. Если ваш контроллер поддерживает Profinet, то вы можете использовать Multi-Protocol MasterOPC:
http://insat.ru/products/?category=2345

Сергей13
15.02.2017, 15:20
Спасибо за ответы.
Чтобы S7-200 поддерживал Profinet надо добавить коммуникационный процессор СР243-1.
Стоимость его равна стоимости ПЛК, это сильно напрягает.

Сергей13
15.02.2017, 15:37
Нашел вот это:
http://insat.ru/prices/info.php?pid=5376

SCADAMaster
15.02.2017, 15:48
Нашел вот это:
http://insat.ru/prices/info.php?pid=5376
Можете использовать его. Но стоимость его существенно выше стоимости нашего ОРС сервера, поэтому смотрите сами исходя из общей стоимости.

Сергей13
15.02.2017, 16:00
Можете использовать его. Но стоимость его существенно выше стоимости нашего ОРС сервера, поэтому смотрите сами исходя из общей стоимости.

Значит это тупиковый путь.

Sheff23
15.02.2017, 19:26
Доброго времени суток всем.
Только начинаю изучать masterscada и вообще знакомиться с этой областью.
Есть ли на форуме специалисты, которые могли бы проконсультировать лично некоторые элементарные для специалиста вопросы?
Соответственно, не бесплатно, если возникнет вопрос о цене. Очень нужно.

SCADAMaster
16.02.2017, 08:31
Вам нужно начать с видеопримеров и документации:
http://www.masterscada.ru/about-masterscada/video/
http://insat.ru/products/?category=1525
Вопросы можете задавать здесь или на support(собка)insat.ru

Sheff23
16.02.2017, 09:47
Я начинал с видеопримеров, но к сожалению ссылки в описании к видео (к файлам) уже не работают. Поэтому попробовать сделать такой же проект, Как и на видео, я не могу. Спрашивал на сайте у менеджера, мне ничего не ответили.
Речь идет именно о тех серверах, что в видео, сконфигурированных именно под те случаи, ибо я скачивал с сайта MasterOPC Universal Modnus Server, но там совсем другие OPC параметры.
И еще такой вопрос: я могу задавать на mail любые вопросы, даже если они касаются просто обучения?
Спасибо за ответы.

SCADAMaster
16.02.2017, 11:11
Про какой видеопример вы говорите? Про первый?
Вот проект и конфигурация к нему:
http://www.masterscada.ru/files/documentation/masterscada/First_MasterSCADA_Project.zip
Прочитайте Readme в нем - там все описано.

Sheff23
16.02.2017, 11:26
Да, это он. Попробовал найти на сайте раздел с подобными архивами - не нашел.
Последняя просьба, скиньте пожалуйста такой же архив, только для второго видео (для всего второго примера 2.1, 2.2, 2.3 и т.д.).

SCADAMaster
16.02.2017, 12:00
Так они все здесь:
http://www.masterscada.ru/about-masterscada/video/

Oak
17.02.2017, 10:20
Планируется 40 штук ПЛК304 под MPLC связать по ethernet с мастерскада.
Можно ли предсказать/оценить с каким периодом будет скада получать данные с ПЛК, если в опросе c каждого ПЛК будет 10 целых ячеек, и выставит им надо 5 ячеек, период каждого ПЛК около 1000мс ожидаем.
Не станет ли ethernet с таким количеством плк узким местом?

планировали поставить десяток простых EKI-2725 на группы по 4 штуки, и у скада, хотелось бы что-нибудь попроще - например EKI-7626C - как справится такая топология?

Спасибо.

SCADAMaster
17.02.2017, 10:39
Проблемы быть не должно - контроллеры опрашиваются независимо, каждый в своем потоке. Протокол не тяжелый, так что с сетью проблем возникнуть не должно.

Александер2008
17.02.2017, 11:01
Добрый день!
Можно ли элемент удалить сделать недоступным для оператора?
чтобы он не мог удалить информацию
29578

Oak
17.02.2017, 11:28
Как/возможно ли на мнемосхеме сделать подтверждение нажатия кнопки? Кнопка от логической команды не фиксированная.

SCADAMaster
17.02.2017, 11:53
Как/возможно ли на мнемосхеме сделать подтверждение нажатия кнопки? Кнопка от логической команды не фиксированная.
Во первых кнопка должна быть создана как контрол команды - вытаскиваете ее на мнемосхеме, она становится кнопкой.
Затем настраиваете права доступа Система - Операторы - права доступа. Флаг "Подтверждение".

SCADAMaster
17.02.2017, 11:56
Добрый день!
Можно ли элемент удалить сделать недоступным для оператора?
чтобы он не мог удалить информацию

Конечно.....

Александер2008
17.02.2017, 12:17
Спасибо
Есть ещё вопрос про элемент "Таблица Уставок"
Работает ли он и как им пользоваться?

SCADAMaster
17.02.2017, 12:50
Он работает, но он реализован для нашего инженерного отдела. Инструкции по нему пока что нет.

energvk
17.02.2017, 14:17
Добрый день! Возникла непонятная ситуация. В проекте на главной мнемосхеме присутствует кнопка открытия Окна объекта, при его открытии главная мнемосхема закрывается, хотя в настройках это не разрешено. Также в Окне объекта выведена кнопка открытия главной мнемосхемы. При её нажатии главная мнемосхема открывается на заднем фоне, а окно объекта не закрывается. Вывел даже отдельную команду с действием закрытия Окна объекта. Её нажатие также не приводит к закрытию окна. Перепробовал уже всё что можно, никак не получается устранить данную проблему

SCADAMaster
17.02.2017, 14:34
Так что итогом надо - чтобы главная мнемосхема не закрывась?
Включите у окна объекта тип окна - "Новое окно".

energvk
17.02.2017, 14:41
Мне нужно чтобы при открытии окна объекта не закрывалась главная мнемосхема. И как нибудь вообще закрыть это окно объекта. Новым окном открывал - всё равно не закрывается, уходит на задний план, стартовое окно не закрывается.


P.S. Переустановил на версию 3.8, стало правильно работать.

Теперь не могу сделать смещение у одного окна объекта - открывается только по центру, хоть ты что делай.

И ещё вопрос: можно как-то сделать, чтобы при запуске проекта не появлялось окно выбора пользователя, а сразу запускался проект (с пользователем по умолчанию, или вообще без пользователя)?

SCADAMaster
17.02.2017, 19:51
Теперь не могу сделать смещение у одного окна объекта - открывается только по центру, хоть ты что делай.

Настройка смещения задается в свойствах окна, на вкладке Окна объекта.




И ещё вопрос: можно как-то сделать, чтобы при запуске проекта не появлялось окно выбора пользователя, а сразу запускался проект (с пользователем по умолчанию, или вообще без пользователя)?
Для того чтобы запустить masterSCADA сразу в режим исполнения нужно создать для MasterSCADA, а затем в свойствах ярлыка указываете запускать MasterSCADA с параметрами - с нужным вам проектом, пользователем и паролем.
Подробнее вы можете прочитать в справке. Раздел "Работа в режиме исполнения - Запуск проекта из командной строки и по ярлыку".

ALFIX
18.02.2017, 18:04
Такой вопрос: есть уставка и измеренное значение температуры. Необходимо фиксировать на тренде только измеренную температуру на -+ 5 градусов выше или ниже уставки.

SCADAMaster
18.02.2017, 18:53
А что делать с остальными значениями?
Не совсем ясна задача. Опишите детальнее.

ALFIX
18.02.2017, 21:00
Попробую. Есть показания температуры, снимаемые с прибора. Они отображаются на тренде, все хорошо. Возникла задача: допустим у нас уставка 500 градусов, на тренде должны фиксироваться все отклонения от этой уставки в диапазоне +-5 градусов. Т.е. фиксируем все показания до 495 и выше 505, недогрев и перегрев. Если температура попадает в диапазон от 495 и до 505, то фиксации нет. Значение уставки может меняться.

energvk
19.02.2017, 11:26
Настройка смещения задается в свойствах окна, на вкладке Окна объекта.


Для того чтобы запустить masterSCADA сразу в режим исполнения нужно создать для MasterSCADA, а затем в свойствах ярлыка указываете запускать MasterSCADA с параметрами - с нужным вам проектом, пользователем и паролем.
Подробнее вы можете прочитать в справке. Раздел "Работа в режиме исполнения - Запуск проекта из командной строки и по ярлыку".

По настройкам смещения я знаю где они устанавливаются. Видимо глюк конкретной системы, на домашнем компьютере всё работает. По запуску в режиме исполнения - спасибо.

energvk
19.02.2017, 17:01
Ещё встретил особенность. Создаю мнемосхему объекта (в добавок к стартовой). На ней располагаю кнопку с действием "Закрыть мнемосхему", и кнопку объекта с главной схемой. Выяснилось, что нажатие на любую из них не закрывает мнемосхему. Максимум переключает на задний план (если не стоит галочки на "Поверх окон"). Это нормальное поведение или я что-то не так делаю? (пробовал все типы мнемосхем: окно, новое окно, документ)

Rokky
19.02.2017, 18:31
добрый день всем! очень и очень прошу подсказать и хоть чуть научить-где и как прописываются переменные, их адреса и всё что им нужно в пр-20 к готовому проекту. не принимайте это как конкретную тупость просто не работал в этом и имею самое отдалённое представление, но очень надо это знать. Спасибо за ранее.

MrNobody
19.02.2017, 23:54
Добрый вечер!
Подскажите, пожалуйста, возможно ли сбросить команду в 0?
У меня есть кнопка с фиксацией. Необходимо, чтобы она "отжималась" по отжатию и по событию (например кнопка сброс).
"Пример":http://www.owen.ru/forum/showthread.php?t=11806&page=209&p=160090&viewfull=1#post160090 не помог.

seregasher
20.02.2017, 01:25
Доброй ночи.
SCADAMaster подскажите, почему в режиме исполнения не отображаются (точнее перестали отображаться) ФБ вент установок? В режиме отладка все ок. Это ограничения демо версии?

Кулаков Андрей
20.02.2017, 07:20
Подскажите, пожалуйста, как по переднему фронту импульса (ФБ "передний фронт") записать системное время в переменную типа "время".

SCADAMaster
20.02.2017, 08:31
Попробую. Есть показания температуры, снимаемые с прибора. Они отображаются на тренде, все хорошо. Возникла задача: допустим у нас уставка 500 градусов, на тренде должны фиксироваться все отклонения от этой уставки в диапазоне +-5 градусов. Т.е. фиксируем все показания до 495 и выше 505, недогрев и перегрев. Если температура попадает в диапазон от 495 и до 505, то фиксации нет. Значение уставки может меняться.
Что значит фиксации нет? Когда значение равно 500 что выводить на тренд?

SCADAMaster
20.02.2017, 08:32
Ещё встретил особенность. Создаю мнемосхему объекта (в добавок к стартовой). На ней располагаю кнопку с действием "Закрыть мнемосхему", и кнопку объекта с главной схемой. Выяснилось, что нажатие на любую из них не закрывает мнемосхему. Максимум переключает на задний план (если не стоит галочки на "Поверх окон"). Это нормальное поведение или я что-то не так делаю? (пробовал все типы мнемосхем: окно, новое окно, документ)
Если мнемосхема открывается в режиме документ - то да, нормальное.

SCADAMaster
20.02.2017, 08:33
добрый день всем! очень и очень прошу подсказать и хоть чуть научить-где и как прописываются переменные, их адреса и всё что им нужно в пр-20 к готовому проекту. не принимайте это как конкретную тупость просто не работал в этом и имею самое отдалённое представление, но очень надо это знать. Спасибо за ранее.
Про какие адреса идет речь?

SCADAMaster
20.02.2017, 08:34
Добрый вечер!
Подскажите, пожалуйста, возможно ли сбросить команду в 0?
У меня есть кнопка с фиксацией. Необходимо, чтобы она "отжималась" по отжатию и по событию (например кнопка сброс).
"Пример":http://www.owen.ru/forum/showthread.php?t=11806&page=209&p=160090&viewfull=1#post160090 не помог.
Задача решается с помощью действия.
У события, есть вкладка "Действие", присвойте вашей команде 0.

SCADAMaster
20.02.2017, 08:35
Доброй ночи.
SCADAMaster подскажите, почему в режиме исполнения не отображаются (точнее перестали отображаться) ФБ вент установок? В режиме отладка все ок. Это ограничения демо версии?
У вас ключевая версия или Demo?
Если ключевая - то есть ли опция HVAC (входит в Pro версию)

SCADAMaster
20.02.2017, 08:36
Подскажите, пожалуйста, как по переднему фронту импульса (ФБ "передний фронт") записать системное время в переменную типа "время".
С помощью действия присвоить.
Создаете "Расчет", в него выдаете текущее время (функция DateTime). Добавляете событие, у него на вкладке "Действие" присваиваете вашей переменной значение расчета.

seregasher
20.02.2017, 09:00
У вас ключевая версия или Demo?
Если ключевая - то есть ли опция HVAC (входит в Pro версию)

У меня Demo

SCADAMaster
20.02.2017, 09:37
У меня Demo
Назначен ли объект компьютеру (вкладка Общие)?

seregasher
20.02.2017, 10:04
Назначен ли объект компьютеру (вкладка Общие)?

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

Oak
20.02.2017, 10:36
Во первых кнопка должна быть создана как контрол команды - вытаскиваете ее на мнемосхеме, она становится кнопкой.
Затем настраиваете права доступа Система - Операторы - права доступа. Флаг "Подтверждение".

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

SCADAMaster
20.02.2017, 11:01
В правах доступа - переменная - установить значение?
В таком случае все нажатия и вводы для должности оператора будут требовать подтверждения? Правильно понимаю?

Да


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

Pimpl
20.02.2017, 11:11
У меня есть шаблонный датчик который нарисован как окно объекта. Я изменил изображение объекта и обновил полностью все экземпляры. Так же в меню Сервис обновил Изображения объекта. Одна при перетаскивании изображения объекта от экземпляра всё равно сохраняется предыдущее изображение датчика. что ещё можно сделать?

SCADAMaster
20.02.2017, 11:28
Сохранили ли вы перед этим проект?
Изображения объектов нужно обязательно сохранять, иначе будут добавляться старые.

Pimpl
20.02.2017, 11:55
Да, всё сохранил. Самое интересное что и в шаблоне и в экземпляре открывается нужное изображение. Проблема возникает именно во время перетаскивания изображения на схему через правую кнопку. Именно в этот момент я получаю не то что нужно.

SCADAMaster
20.02.2017, 12:28
Приложите ваш проект, и скриншоты демонстрирующие проблему. Укажите путь к проблемному изображению и мнемосхеме

energvk
20.02.2017, 13:28
Во всех режимах

SCADAMaster
20.02.2017, 14:28
Приложите проект и скриншоты демонстирующие проблему.

seregasher
20.02.2017, 14:45
Подскажите, если я, физ. или юр. лицо внедряю автоматизацию на предприятии, могу ли получать скидки на продукцию ИнСат, при покупках платных версий?
И еще, как можно потестить отправку СМС в демо версии?
SCADAMaster

SCADAMaster
20.02.2017, 15:02
По вопросам получения скидок вам нужно обратится в отдел продаж - scada@insat.ru
По отправке SMS у нас есть два способа:
1. Канал SMS - Система - Сообщения - Каналы - SMS
2. ФБ "Отправка SMS" - раздел Служебные палитры ФБ.
Работа с ними описана в справке.

aplot33
20.02.2017, 21:08
Добрый день! Подскажите, пожалуйста, что я делаю не так. Есть ТРМ202, OPC-сервер OWEN beta (новый). Привязываю команду из дерева объектов к тегу OPC-сервера, связанному с уставкой регулятора ТРМ (SP1, адрес Modbus=0x0005). В качестве обратной связи для команды использую другой тег OPC-сервера (SP1, адрес Modbus=0x1011). Запускаю мнемосхему, на которой выведена команда в виде поля для ввода значения. Команда принимает значение, полученное по обратной связи от OPC-сервера, все хорошо. Но когда я изменяю значение команды, на мнемосхеме через некоторое время команда принимает старое значение обратной связи, а потом снова становится тем, что я вводил. На вкладке "Опрос" устанавливал и убирал флаг "Не передавать данные обратной связи" - результат тот же.
И как можно отследить момент между вводом команды и принятием ее в ТРМ, чтобы оператору было понятно, что его уставка принимается оборудованием.
P.S. В системе 36 ТРМок по 9 на один порт, опрос не самый шустрый.
Спасибо!

Кулаков Андрей
21.02.2017, 07:20
Если в редакторе отчетов добавить второй источник данных (опять архив мастер-скада) и попытаться перетащить данные из первого источника во второй - в словаре полностью пропадает содержимое и не появляется до перезапуска мастера отчетов.

Кулаков Андрей
21.02.2017, 07:52
Испытываю проблему с построением графика внутри отчета. Добавляю источник данных (значение, в котором архивно записаны значения, их видно во вкладке данные), привязываю время начала и конца выборки, ставлю в свойствах словаря периодический опрос, запускаю мастер диаграмм. Тип диаграммы - линия, в качестве аргумента указываю параметр "время" из источника данных, в качестве значения нашу переменную из источника данных. В итоге у меня строится ровно одна точка, которая по времени лежит в конце выбранного временного интервала, а по значению равна максимуму из всех архивных значений переменной. Что я делаю неправильно? Видео еще раз пересмотрю ваши по отчетам, но вроде все так же делаю.

SCADAMaster
21.02.2017, 08:49
Добрый день! Подскажите, пожалуйста, что я делаю не так. Есть ТРМ202, OPC-сервер OWEN beta (новый). Привязываю команду из дерева объектов к тегу OPC-сервера, связанному с уставкой регулятора ТРМ (SP1, адрес Modbus=0x0005). В качестве обратной связи для команды использую другой тег OPC-сервера (SP1, адрес Modbus=0x1011). Запускаю мнемосхему, на которой выведена команда в виде поля для ввода значения. Команда принимает значение, полученное по обратной связи от OPC-сервера, все хорошо. Но когда я изменяю значение команды, на мнемосхеме через некоторое время команда принимает старое значение обратной связи, а потом снова становится тем, что я вводил. На вкладке "Опрос" устанавливал и убирал флаг "Не передавать данные обратной связи" - результат тот же.
И как можно отследить момент между вводом команды и принятием ее в ТРМ, чтобы оператору было понятно, что его уставка принимается оборудованием.
P.S. В системе 36 ТРМок по 9 на один порт, опрос не самый шустрый.
Спасибо!
При работе с Modbus Universal данная проблема не проявляется. Попробуйте на нем.

SCADAMaster
21.02.2017, 08:50
Если в редакторе отчетов добавить второй источник данных (опять архив мастер-скада) и попытаться перетащить данные из первого источника во второй - в словаре полностью пропадает содержимое и не появляется до перезапуска мастера отчетов.
Не надо перетаскивать переменные из одного источника данных в другой - перетаскивайте переменные из дерева объектов.

SCADAMaster
21.02.2017, 08:52
Испытываю проблему с построением графика внутри отчета. Добавляю источник данных (значение, в котором архивно записаны значения, их видно во вкладке данные), привязываю время начала и конца выборки, ставлю в свойствах словаря периодический опрос, запускаю мастер диаграмм. Тип диаграммы - линия, в качестве аргумента указываю параметр "время" из источника данных, в качестве значения нашу переменную из источника данных. В итоге у меня строится ровно одна точка, которая по времени лежит в конце выбранного временного интервала, а по значению равна максимуму из всех архивных значений переменной. Что я делаю неправильно? Видео еще раз пересмотрю ваши по отчетам, но вроде все так же делаю.
Какой способ формирования у источника данных?
Сначала лучше вытащить на страницу сам источник как бэнд данных и убедится что в нем действительно есть данные, и они выводятся. Потом уже можно переходить к графикам.

Andrew_Stranger
21.02.2017, 12:15
Добрый день. Не могу найти в MasterScada таймера наподобие TON, TOF, TP из Codesys. Существуют ли такие вообще? Есть задача организовать мигание ВБФ "Задвижка мнемоническая" в течение нескольких секунд по сигналам открытие и закрытие.

SCADAMaster
21.02.2017, 14:39
Все подобные ФБ находятся в разделе "Работа со временем".
Если вам нужно организовать мигание, то используйте ФБ "Пульсатор" из раздела "Генераторы значений".

Andrew_Stranger
21.02.2017, 15:58
Спасибо. Проблема еще в следующем. Вытащил на мнемосхему сообщение как зону выбора с фиксацией. Как сделать так чтобы при нажатии и отжатии на эту зону ФБ "Пульсатор" работал 2-3 секунды.

SCADAMaster
21.02.2017, 16:12
Что значит "нажатии и отжатии"? По щелчку запустить пульсатор на 2-3 секунды?
Или же нужна фиксация?

Andrew_Stranger
21.02.2017, 16:43
Неточно написал. Правильнее при нажатии(или по щелчку, что тоже самое), то есть по переднему или заднему фронту запускать пульсатор.

SCADAMaster
21.02.2017, 16:46
ФБ "Выдержка времени", ФБ "Пульсатор" и событие с логическим И.

Кулаков Андрей
22.02.2017, 06:34
Какой способ формирования у источника данных?
Сначала лучше вытащить на страницу сам источник как бэнд данных и убедится что в нем действительно есть данные, и они выводятся. Потом уже можно переходить к графикам.
Данные точно были, возможно я чего-то напутал со способом формирования. В любом случае я просто удалил отчет и создал с нуля, все появилось.

В целом сейчас решаю такую задачу, может подскажете чего: есть архивируемое мгновенное значение объёма в ёмкости, нужно высчитать расход за период. При это за этот же период ёмкость могут неоднократно дозаправлять. На данный момент я высчитываю мгновенный расход через дифференциал давления (приращение одна секунда). Хотел бы высчитывать дифференциал за бОльший период, но тогда он и будет считаться один раз за этот период, не вижу способа считать, скажем, каждую секунду дифференциал за последние десять секунд. Ставить 10 ФБ дифференциалов и запускать каждый следующий с задержкой в одну секунду - мракобесие.

Отрицательный дифференциал - мгновенный расход топлива, положительный дифференциал - заправка ёмкости, разношу в две разные переменные, отрицательный беру по модулю. Далее в отчете считаю интеграл расхода за период и в принципе получаю полный расход за период. Погрешность - 35 литров на 8 тонн. Правильно ли я в целом делаю, нет ли более простого способа/способа с меньшей погрешностью посчитать расход за период?

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

(Vstart - Vi1) + (Vj1 - Vi2) + (Vj2 - Vi3) + ... + (Vjn - Vin+1) + (Vjn+1 - Vstop), где

Vstart - объём на момент старта выборки
Vjn - объём на момент завершения n-ной заправки
Vin+1 - объём на момент начала n+1-ой заправки
Vstop - объём на момент завершения выборки
При этом член (Vstart - Vi1) не существует, если Tstart приходится на период заправки и член (Vjn+1 - Vstop) не существует, если Tstop приходится на период заправки.
Для наглядности прикладываю картинку.
29690

Я подозреваю, что логику подобной сложности можно реализовать в отчете, но не имею ни малейшего представления как это сделать. Это ведь не фильтрация по условию, буду благодарен, если подскажете, в какую сторону копать.

SCADAMaster
22.02.2017, 09:34
Штатными средствами редактора отчетов задачу точно решить не получится - нужно писать скрипты, находить метки времени когда начиналась заправка, когда заканчивалась и т.д.
Вам нужно найти почасовой расход или просто общий за период? Если общий, то можно обойтись без отчета и решить задачу просто скриптом.

Кулаков Андрей
22.02.2017, 10:55
Штатными средствами редактора отчетов задачу точно решить не получится - нужно писать скрипты, находить метки времени когда начиналась заправка, когда заканчивалась и т.д.
Вам нужно найти почасовой расход или просто общий за период? Если общий, то можно обойтись без отчета и решить задачу просто скриптом.

Я уже нахожу штатными средствами самой мастерСкада метки времени начала и конца заправки. На конец каждой заправки у меня обновляются (перезаписываются) три переменные - время начала заправки, время конца заправки, объём заправки (то есть они сами принадлежат одной временной метке). Я вывожу отчетом построчно начало заправки/конец заправки/объем заправки на каждую заправку.

Мне нужно находить расход за произвольный период. Насколько я понимаю все необходимые данные уже есть (метки времени, архивы мгновенного объёма и мгновенного расхода) и редактор отчетов поддерживает скрипты на C#, осталось понять где вбивать указанные в предыдущем посте условия.
Скриптом вне отчета не хочу делать, потому что надо будет разбираться с работой с переменными временного формата и загрузкой/выгрузкой данных из архива, а хотелось бы пока обойтись малой кровью.

По дифференциалу я правильно понял, что нет возможности находить его каждую секунду за предыдущие n секунд? Скользящий дифференциал или что-нибудь вроде?

SCADAMaster
22.02.2017, 12:57
Мне нужно находить расход за произвольный период. Насколько я понимаю все необходимые данные уже есть (метки времени, архивы мгновенного объёма и мгновенного расхода) и редактор отчетов поддерживает скрипты на C#, осталось понять где вбивать указанные в предыдущем посте условия.

Какие именно условия вас интересуют? Сформулируйте как вы хотите обратится к данным отчетам, чтобы получить нужный результат.

Кулаков Андрей
22.02.2017, 14:17
Какие именно условия вас интересуют? Сформулируйте как вы хотите обратится к данным отчетам, чтобы получить нужный результат.

Я полностью сформулировал в предыдущем посте, но могу повторить:

(Vstart - Vi1) + (Vj1 - Vi2) + (Vj2 - Vi3) + ... + (Vjn - Vin+1) + (Vjn+1 - Vstop), где

Vstart - объём на момент старта выборки (имеется периодический архив #1 объемов, нужно взять первый объем в выборке + определить, находится он перед началом или концом заправки)
Vjn - объём на момент завершения n-ной заправки (имеется архив #2 объёмов на момент завершения заправок с временными отметками завершения заправок)
Vin+1 - объём на момент начала n+1-ой заправки (имеется архив #3 [#4] объёмов на момент начала заправок с временными метками на момент начала или завершения заправок [два архива, можно так или так записывать])
Vstop - объём на момент завершения выборки (имеется архив #1 объемов, нужно взять последний объем в выборке + определить, находится он перед началом или концом заправки)
При этом член (Vstart - Vi1) не существует, если Tstart приходится на период заправки и член (Vjn+1 - Vstop) не существует, если Tstop приходится на период заправки. (простое логическое условие)

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

SCADAMaster
22.02.2017, 14:45
Стройте отчет по изменению, у которого параметр "Основной" будет включен только у колонки статуса залива жидкости (клапана). Когда значение колонки True - в этот момент началась заливка жидкость, когда False - закончилась.
Затем с помощью событий бэнда выполняйте обработку остальных колонок - значения уровня.
Чтобы обратится к предыдущему значению используйте функцию Previous из раздела PrintState. Пример оформления функции :
{Previous(ИсточникДанных1,"Время")}
ИсточникДанных1 - имя источника, "Время" - имя колонки.

energvk
24.02.2017, 23:27
Какой-то сбой в сервисе внешних связей. Версия Мастерскады: 3.8.0.57303 3.8(DemoReleaseMin)_17_02_14_15_04. При нажатии на установку галочки окно остается серым. При этом связи в дереве объектов появляются. Если щелкнуть в том же месте мышкой - связи убираются.
29728

29729

SCADAMaster
25.02.2017, 09:29
Во всех проектах? Если сделать новый проект с одной внешней связью - появится содержимое вкладки?
Тренды и журналы у вас нормально открываются?
Попробуйте переустановить MasterSCADA по администратором.

SCADAMaster
25.02.2017, 13:54
Вы ошиблись разделом форума

energvk
25.02.2017, 17:08
Во всех проектах? Если сделать новый проект с одной внешней связью - появится содержимое вкладки?
Тренды и журналы у вас нормально открываются?
Попробуйте переустановить MasterSCADA по администратором.

Нет, проверял только с одним проектом. Журналы открывались нормально, трендов пока нет. Спасибо за рекомендации, вечером проверю

energvk
25.02.2017, 21:29
Проверил на новом тестовом проекте. Такое происходит, когда вставляешь Multi-Proticol MasterOPC Server (протокол Profinet). Если не вставлять его или вставить UniversalModbus, всё нормально работатет. После переустановки - всё то же самое

Евгений_Котов
26.02.2017, 16:56
Пользуюсь версией 3.8. Большая проблема с реинициализацией ОРС сервера. Сервер используем WinCoDeSysOPC. При обрыве и восстановлении связи (просто выдёргиваю сетевой шнур) пытаюсь восстановить поток данных. Убиваю в процессах WinCoDeSysOPC затем пытаюсь принудительно переподключиться по условию. Стандартная кнопка вообще почему-то не срабатывает. Добавил кнопку условия. Не переподключается. То есть пишет либо ошибка либо нет связи с контроллером. Спустя минуты три , может и сработать принудительное переподключение. Что я мог упустить? какие строгие промежутки времени нужно выдержать? Спасибо

DrUrl
27.02.2017, 03:51
Здравствуйте, Уважаемые.
Подскажите пожалуйста, откуда можно подчерпнуть знания о структуре папки с проектом ? Интересует приблизительное описание файлов и директорий. Версия скады 3.8 RT32.

Кулаков Андрей
27.02.2017, 07:21
Стройте отчет по изменению, у которого параметр "Основной" будет включен только у колонки статуса залива жидкости (клапана). Когда значение колонки True - в этот момент началась заливка жидкость, когда False - закончилась.
Затем с помощью событий бэнда выполняйте обработку остальных колонок - значения уровня.
Чтобы обратится к предыдущему значению используйте функцию Previous из раздела PrintState. Пример оформления функции :
{Previous(ИсточникДанных1,"Время")}
ИсточникДанных1 - имя источника, "Время" - имя колонки.

Ни черта не понял. Решил забить и делать как изначально делал, если точности не будет хватать - вернусь к этому вопросу.

Сейчас пытаюсь в данных отфильтровать повторяющиеся строчки. В моем понимании должен работать фильтр по выражению Заправки.НачалоЗаправки = Previous(Заправки,НачалоЗаправки). Однако в понимании программы НачалоЗаправки внутри функции Previous не существует в текущем контексте. Почему? Как отфильтровать повторяющиеся строчки с разными временными метками?

SCADAMaster
27.02.2017, 08:45
Проверил на новом тестовом проекте. Такое происходит, когда вставляешь Multi-Proticol MasterOPC Server (протокол Profinet). Если не вставлять его или вставить UniversalModbus, всё нормально работатет. После переустановки - всё то же самое
Приложите проект MasterSCADA, скриншоты демонстрирующие проблему, а также конфигурацию ОРС сервера.

SCADAMaster
27.02.2017, 08:47
Ни черта не понял. Решил забить и делать как изначально делал, если точности не будет хватать - вернусь к этому вопросу.

Сейчас пытаюсь в данных отфильтровать повторяющиеся строчки. В моем понимании должен работать фильтр по выражению Заправки.НачалоЗаправки = Previous(Заправки,НачалоЗаправки). Однако в понимании программы НачалоЗаправки внутри функции Previous не существует в текущем контексте. Почему? Как отфильтровать повторяющиеся строчки с разными временными метками?
Приложите скриншот ошибки и ваш проект.

SCADAMaster
27.02.2017, 08:50
Пользуюсь версией 3.8. Большая проблема с реинициализацией ОРС сервера. Сервер используем WinCoDeSysOPC. При обрыве и восстановлении связи (просто выдёргиваю сетевой шнур) пытаюсь восстановить поток данных. Убиваю в процессах WinCoDeSysOPC затем пытаюсь принудительно переподключиться по условию. Стандартная кнопка вообще почему-то не срабатывает. Добавил кнопку условия. Не переподключается. То есть пишет либо ошибка либо нет связи с контроллером. Спустя минуты три , может и сработать принудительное переподключение. Что я мог упустить? какие строгие промежутки времени нужно выдержать? Спасибо
Переподключение - это отписка от ОРС сервера со стороны OPC клиента. При этом, если у него нет других клиентов, то он должен закрыться. После повторной подписки - должен произойти повторный запуск проекта.
Возможно ваш сервер не закрывается, подвисает.
Как вариант - можно убивать процесс ОРС сервера с помощью скрипта из самой скады, а затем выполнять переподключение.

В приложении пример скрипта убивающего процесс с обвязкой - ОРС сервер опрашивается только когда нажата кнопка на мнемосхеме. Проект можно легко переделать под вашу задачу. Имя OPC процесса ОРС сервера задается в коде скрипта.
Запускать новый ОРС сервер нужно не сразу, а секунды через 2-3, чтобы успел выгрузится старый.
Имя процесса ОРС сервера задается в коде скрипта.

Кулаков Андрей
28.02.2017, 07:53
Приложите скриншот ошибки и ваш проект.
Предыдущая ошибка была потому что название объекта надо передавать в виде строки, заключил в кавычки, теперь другая ошибка. Задача всё та же - убрать повторяющиеся строчки из данных.
Отчёт принадлежит объекту "Ёмкость".

Ошибка компиляции
Выявлена ошибка компиляции в свойстве 'Filter' компонента 'DataЗаправки':
Оператор "!=" не может применяться к операндам типа "object" и "double?"

SCADAMaster
28.02.2017, 09:03
Нужно так
(double)Previous(Заправки,"ОбъемЗаправки") != Заправки.ОбъемЗаправки.Value

Евгений_Котов
02.03.2017, 15:34
Подскажите, есть ли возможность в скаде при запуске проекта отключать запрос пользователя? Например если это МПУ где нет необходимости в выборе пользователя.Спасибо

SCADAMaster
02.03.2017, 15:36
Для того чтобы запустить masterSCADA сразу в режим исполнения нужно создать для MasterSCADA, а затем в свойствах ярлыка указываете запускать MasterSCADA с параметрами - с нужным вам проектом.
Подробнее вы можете прочитать в справке. Раздел "Работа в режиме исполнения - Запуск проекта из командной строки и по ярлыку".

Евгений_Котов
02.03.2017, 15:56
Спасибо разобрался. Подскажите ещё один момент если это конечно не является секретной информацией. Как в своей ФБ, прописать возможность настраивать необходимость квитировать или не квитировать определённое сообщение (как сделано у вас в ФБ событие, только хотелось бы это прописать в своём ФБ)

SCADAMaster
02.03.2017, 16:59
В документации это описано:
<Event – описание обычного сообщения
.....
Flags="Disable, DisableAck"
...
/>
Disable – по умолчанию сообщение не выдается
DisableAck – сообщение не требует квитирования

Oak
03.03.2017, 12:58
как узнать должность текущего залогиненного? Хочется прятать часть контролов мнемосхемы в зависимости от должности. Какие есть способы это сделать?

SCADAMaster
03.03.2017, 14:53
Раздел палитры Служебные - Служебная информация.

MrNobody
04.03.2017, 12:26
Добрый день! Вопрос по трендам.
В MasterScada 3.7 создал переменную (Значение) и закинул её на тренд.
Когда у меня окно с трендом открыто и я изменяю эту переменную, то она на графике отображается и меняется в реальном времени (Всё ОК).
Но если окно тренда закрыто и эту переменную в течении часа изменять, а затем зайти на тренд, то построится график по двум точкам - последнее значение, которое было час назад, и значение на момент открытия графика (т.е. поведение переменной в течении часа не видно).
Что нужно сделать, чтобы не потерять историю с данными?

ASo
04.03.2017, 12:49
Архивирование для значения включено?

MrNobody
04.03.2017, 13:26
Архивирование для значения включено?

Да галочка "Архивирование" стояла, а вот период стоял 1 час, поменял на 1 минуту. Спасибо!

ASo
04.03.2017, 13:29
Зачем по времени? Ставьте по изменению.

Oak
06.03.2017, 10:38
Как в ФБ список строк заблокировать возможность удаления строк для определнных должностей ?

Уже нашел. По входам на мнемосхеме есть разрешения.

SCADAMaster
06.03.2017, 13:48
Можно еще контрол с возможностью удаления разместить на окне, к которому ограничивать доступ.

za9c
07.03.2017, 10:13
Подскажите как пож-та? при наведении на график тренда курсора мышки и нажав на правую кнопку мыши крутить скроллинг - изменяется маштаб шкалы Y. Пытался запретить в правах доступа изменение настроек тренда, управление разметкой - не помогает! Есть ли возможность где-то это заблокировать?

SCADAMaster
07.03.2017, 10:49
Если только совсем запретить изменение шкалы. Продвинутый уровень - Общие настройки - Запрет вертикального сдвига

nenaika
07.03.2017, 14:34
Добрый день. Подскажите, пожалуйста, как лучше решить следующую задачу. Есть удаленный прибор к нему подключен GSM-модем. Соответственно на стороне компьютера есть тоже GSM-модем и OPC-сервер этого прибора, способный подключаться к прибору через gsm. Как организовать опрос допустим раз в час? В MasterSCADA есть старт опроса OPC-сервера по условию т.е. происходит включение опроса сервера, который набирает номер и устанавливает связь. Как потом отключить опрос, а затем опять включить и есть ли возможность переподключаться, если связь оборвалась (режим работы CSD)? Сейчас восстановить связь получается или перезапуском целиком программы, или физическим переподключением модема.

SCADAMaster
07.03.2017, 14:55
Какой ОРС сервер у вас используется?
В наших ОРС серверах после того как опрос завершен ОРС сервер кладет трубку (если не включена настройка удержания).

nenaika
07.03.2017, 16:32
OPC сервер к приборам Исток ТМ3, РБ, Витебск. В папке сервера есть, видимо, файлы конфигурации модемов (прикрепил). Соединяется-дозванивается нормально. Но вопрос с подключением и отключением опроса ОРС-сервера в скдаде. Или это функция сервера? Как можно вообще сделать (не зависимо от способа подключения), т.е. допустим периодический опрос сервера - старт по условию - кнопку нажал - опрос пошел - это сделано, а как сделать кнопку прекратить опрос? В случае с модем - это повесть трубку? А в случае ethernet? Есть ли функция отключить ОРС сервер, а потом подключить?

SCADAMaster
07.03.2017, 17:49
Это должно решаться на стороне сервера.
Если у него такой возможности нет, то тогда единственный вариант - отписываться от него (старт по условию), а затем убивать процесс если сервер не закроется сам.
Вам лучше уточнить данный вопрос у производителя сервера - возможно есть сервисные теги для решения данной задачи

nenaika
08.03.2017, 16:26
Вопрос как можно в MasterSCADA отписаться от сервера, а затем на него подписаться. Т.е. старт по условию - опрос начался и идет, а как отписаться?

zetx16
09.03.2017, 08:45
Добавил запись данных в базу данных через блок функции. На одном компьютере работает нормально. На другом пишет "Нет связи".
В логах проекта нашел такую строку: Диспетчер.Arc.f_insert - Поддержка баз данных Sybase не включена в данную версию.;Ошибка
В ODBC настройки одинаковые. Windows XP.

SCADAMaster
09.03.2017, 09:32
Вопрос как можно в MasterSCADA отписаться от сервера, а затем на него подписаться. Т.е. старт по условию - опрос начался и идет, а как отписаться?
Убрать сигнал старта по по условию.

SCADAMaster
09.03.2017, 09:33
У вас ключевая версия (MSRT32) или Demo?
Если ключевая - то у вас может не быть данной опции. Она входит в специальную опцию:
http://insat.ru/products/?category=221

Александер2008
09.03.2017, 10:29
Вопрос по ST
есть ли тип данных ENUM?
есть ли конструкция ELSEIF?

SCADAMaster
09.03.2017, 10:57
Данные операторы не поддерживаются

Pimpl
09.03.2017, 13:21
Подскажите по нескольким вопросам. 1)Как писать (или куда пишется) попытку заведомо ложного входа в систему (неправильно указан пароль). 2) Как писать или куда пишется - если нажали кнопку с подтверждением , а при этом вместо подтвердить "ДА" нажали "НЕТ". Как написать об этом сообщение? 3)Как написать в журнал кто залогинился? через ФБ "Служебная информация" или можно через настройки Журнала событий? Спасибо

SCADAMaster
09.03.2017, 14:44
1)Как писать (или куда пишется) попытку заведомо ложного входа в систему (неправильно указан пароль).
В версии 3.8 данные сообщения выводятся в журнал действий оператора.
Для того чтобы они выводились нужно включить Система - Операторы- Безопасность (раньше называлась Настройки) - запись успешных событий в журнал и действий и не успешных.


2) Как писать или куда пишется - если нажали кнопку с подтверждением , а при этом вместо подтвердить "ДА" нажали "НЕТ". Как написать об этом сообщение?
Данная информация в журнал не выводится


3)Как написать в журнал кто залогинился? через ФБ "Служебная информация" или можно через настройки Журнала событий? Спасибо
В версии 3.8 можно включить у действия "Включить режим исполнения" флаг "Сообщение" и тогда такое действие будет записываться в основной журнал компьютера.
В более ранних версиях выводилось в журнал действий.

mixfix86
09.03.2017, 17:56
Есть 6 контроллеров, связаны по rs485 со скадой через opc, мне нужно сделать так, чтобы при нажатии на одну кнопку отправлялась единица на них, а потом сразу 0 (как это сделано на кнопке, когда нажата одно значение, отпускаю, другое). Как это сделать, подскажите, пожалуйста.

nenaika
09.03.2017, 19:27
Убрать сигнал старта по по условию.
Есть ключевая версия, но в данном конкретном случае DEMO И RT32. Как его убирать и ставить в режиме исполнения? Т.е. подписался на сервер, опросил, отписался от сервера? Пока происходит следующее: стоит старт по условию, нажимаем кнопку - модем соединяется, идет опрос пока или не потеряет сигнал, или его (модем) физически не выключить.

SCADAMaster
09.03.2017, 19:31
Есть 6 контроллеров, связаны по rs485 со скадой через opc, мне нужно сделать так, чтобы при нажатии на одну кнопку отправлялась единица на них, а потом сразу 0 (как это сделано на кнопке, когда нажата одно значение, отпускаю, другое). Как это сделать, подскажите, пожалуйста.
Привязать к команде типа дискретный и сделать ее кнопкой (вытащить на мнемосхему).
Нажмете - пойдет 1, а потом сразу 0.

SCADAMaster
09.03.2017, 19:34
Есть ключевая версия, но в данном конкретном случае DEMO И RT32. Как его убирать и ставить в режиме исполнения? Т.е. подписался на сервер, опросил, отписался от сервера? Пока происходит следующее: стоит старт по условию, нажимаем кнопку - модем соединяется, идет опрос пока или не потеряет сигнал, или его (модем) физически не выключить.
Что именно вы хотите сделать? Чтобы сервер полностью закрывался по вашему условию?

nenaika
09.03.2017, 20:40
Да. Что бы можно было закрывать и открывать его.

SCADAMaster
09.03.2017, 22:10
Отключение опроса ОРС сервера не вызывает отписку от него - то есть продолжит работу. Поэтому нужно будет:
1. Отключить опрос.
2. Убить процесс с помощью скрипта - пример в приложении
Когда снова запустить:
Включить опрос и выполнить переподключение.

В приложении пример скрипта убивающего процесс с обвязкой - ОРС сервер опрашивается только когда нажата кнопка на мнемосхеме. Проект можно легко переделать под вашу задачу. Имя OPC процесса ОРС сервера задается в коде скрипта.

nenaika
09.03.2017, 22:41
Спасибо. Буду пробовать.

Andrew_Stranger
10.03.2017, 12:58
Добрый день. Скажите как решить следующую проблему. В проекте есть два почти одинаковых объекта. Хочу их заставить работать согласно определенному набору рецептов. Пробовал делать согласно примера "Пример рецепта", но там объект один. Можно ли одновременно двум объектам работать с одним файлом рецептур или как можно это "обыграть"?

SCADAMaster
10.03.2017, 13:38
Пример в приложении на основе скрипта "Сохранение и загрузка наборов команд".
Папку D:/Рецепты нужно сделать вручную (но можно и доработать скрипт чтобы создавал автоматически).

Andrew_Stranger
10.03.2017, 16:32
Спасибо испытаем.

Andrew_Stranger
11.03.2017, 22:09
Пример в приложении на основе скрипта "Сохранение и загрузка наборов команд".
Папку D:/Рецепты нужно сделать вручную (но можно и доработать скрипт чтобы создавал автоматически).
Пример ваш работает, но мне надо немного другое. Необходимо к примеру на одном объекте создавать и редактировать рецпты. И еще на двух объектах загружать рецепты и "работать" с ними. Пытался переделать Ваш пример, но как понял нельзя все же на одном объекте записывать в файл, а на другом объекте его читать

SCADAMaster
12.03.2017, 09:24
А зачем так делать?
Возьмите скрипт "Сохранение и загрузка наборов команд" из библиотеки скриптов. Расположите его в каждом объекте. У объекта сделайте изображение объекта, на котором расположите элементы ввода (контролы команд). Изображение вытащите на объект верхнего уровня - тогда хранится рецепты будут на уровне каждого объекта, загрузку можно будет производить также на уровне конкретного объекта, а ввод будет осуществляться с объекта верхнего уровня.

Andrew_Stranger
12.03.2017, 12:41
А зачем так делать?
Возьмите скрипт "Сохранение и загрузка наборов команд" из библиотеки скриптов. Расположите его в каждом объекте. У объекта сделайте изображение объекта, на котором расположите элементы ввода (контролы команд). Изображение вытащите на объект верхнего уровня - тогда хранится рецепты будут на уровне каждого объекта, загрузку можно будет производить также на уровне конкретного объекта, а ввод будет осуществляться с объекта верхнего уровня. Спасибо за быстрый ответ. Попытался сделать как вы сказали, но проблема осталась. Если я пишу значения в одном объекте, то на другом объекте я их прочитать не могу, скрипт выдает ошибку.

SCADAMaster
12.03.2017, 20:19
Скрипт из этого проекта не подойдет - он перенастроен на другую задачу (общий файл хранения настроек).
Вам нужно удалить скрипты и добавить из библиотека скриптов - сохранение и загрузка наборов команд.
При этом на вход Путь нужно будет подавать просто имя набора - например с выхода ФБ "Список строк".

Andrew_Stranger
12.03.2017, 21:48
Опять не совсем то что надо. Получается у каждого объекта есть своя папка с рецептами (файл *.csv), но опять же эти файлы не пересекаются, а мне бы хотелось иметь общую папку с рецептами чтобы с ней могли работать одновременно два разных аппарата по своей программе.

SCADAMaster
13.03.2017, 08:53
А зачем вам общая папка? Рецепты и объекты полностью совпадают? Одна база рецептов на два объекта?
Ну тогда используйте скрипт который вам дали вначале, только добавьте еще один объект с таким же скриптом - этим объектом вы будете создавать рецепты, они будут складываться в общую базу, а затем у каждого из объектов подгружайте нужный файл. Имена переменных в объектах должны совпадать.

Pimpl
13.03.2017, 10:53
Подскажите , если пользоваться стандартным архивированием Журнала событий в файл, то где этот файл лежит и как его можно просмотреть? Спасибо

Andrew_Stranger
13.03.2017, 13:22
А зачем вам общая папка? Рецепты и объекты полностью совпадают? Одна база рецептов на два объекта?
Ну тогда используйте скрипт который вам дали вначале, только добавьте еще один объект с таким же скриптом - этим объектом вы будете создавать рецепты, они будут складываться в общую базу, а затем у каждого из объектов подгружайте нужный файл. Имена переменных в объектах должны совпадать.
Да все верно. Только ошибки возникают при чтении файлов, причем ошибки появляются после добавления новых команд в рецепт.

$18 &Команда 1 1
$14798 &Команда 2 2
$14999 &Команда 3 3
$585411 &Команда 5 4
$585413 &Команда 6 5

$18 &Команда 1 6
$14798 &Команда 2 7
$14999 &Команда 3 8
$585412 &Команда 5 9
$585414 &Команда 6 10

SCADAMaster
13.03.2017, 13:38
Попробуйте в скрипте заменить строчку 49:
var pin = Obj.GetChild(path, false) as ITreePinHlp; //установление связи
на
var pin = Obj.GetChild(name, false) as ITreePinHlp; //установление связи

Pimpl
13.03.2017, 14:55
Подскажите , если пользоваться стандартным архивированием Журнала событий в файл, то где этот файл лежит и как его можно просмотреть? Спасибо

SCADAMaster
13.03.2017, 15:41
Журнал ничего не архивирует, архив ведется системой архивации. При станданой архивации в файловый архив, сообщения пишутся в файл специальной структуры. Прочитать ее извне нельзя.
Можно экспортировать журнал средствами журнала в HTML, или с помощью специальных ФБ в Access.
Либо использовать архивацию в СУБД

Pimpl
14.03.2017, 09:02
В режиме исполнения под разработчиком свернул проект и попробовал настроить права доступа, изменить комбинации галочек. Система не даёт этого сделать. Как в режиме исполнения изменять права доступа? Подскажите где в справке описаны скрипты (или иной функционал) позволяющие вызывать конкретное окно настроек (например права доступа)? Спасибо.

SCADAMaster
14.03.2017, 10:34
Данные изменнеия нельзя делать в режиме исполнения.

Pimpl
14.03.2017, 11:44
Хорошо. А если у меня есть основной АРМ и резервный. То чтобы изменить права доступа системы, мне необходимо каждый АРМ остановить и произвести изменения, или же достаточно на одном?

SCADAMaster
14.03.2017, 12:06
Если включена синхронизация, то обновить можно на сервере проекта, а остальные с ним синхронизируются.

Pimpl
14.03.2017, 12:30
Как настроить смены операторов? выставил галочки "посменно", настроил время, назначил оператора для 1 смены. Смена не происходит. Что я упустил?

SCADAMaster
14.03.2017, 12:51
Смена автоматически не завершается. Просто оператор не сможет зайти не в свою смену.

nenaika
14.03.2017, 17:30
Отключение опроса ОРС сервера не вызывает отписку от него - то есть продолжит работу. Поэтому нужно будет:
1. Отключить опрос.
2. Убить процесс с помощью скрипта - пример в приложении
Когда снова запустить:
Включить опрос и выполнить переподключение.

В приложении пример скрипта убивающего процесс с обвязкой - ОРС сервер опрашивается только когда нажата кнопка на мнемосхеме. Проект можно легко переделать под вашу задачу. Имя OPC процесса ОРС сервера задается в коде скрипта.
Здравствуйте. ОРС сервер убивается по кнопке и стартует по ней. Переподключение стоит по условию. Однако, при отключении, через некоторое время появляется сообщение "Ошибка опроса состояния OPC DA сервера...." и сервер сам автоматически стартует. Опрос при этом в состоянии выкл.

Pimpl
15.03.2017, 08:11
А можно как-то завершить смену в определённое время? Только например через событие, посчитав нужное время?

SCADAMaster
15.03.2017, 09:32
Можно через действие (вкладка у события).

Oak
15.03.2017, 10:06
Версия 3,8. Изменяем размер мнемосхемы в свойства общие размер. Ставим 900х900. Сохраняем, закрываем.
Снова открываем в редактировании - видим размер разрешения монитора - 1920х1080.
Что не так делаю? Как установить и сохранить размер?
Мнемосхема в режиме новое окно.

SCADAMaster
15.03.2017, 10:45
Проверьте Система (компьютер) - Окна - у мнемосхемы не должно быть галки Все.

Oak
15.03.2017, 10:56
Точно. Спасибо.
Можно ли у шкалы динамически менять начало конец шкалы и предупредительные границы?
Например шкала температуры у которой может меняться уставка целевой температуры, соответсвенно менять и размер шкалы и предупредительные границы хотелось бы в зависимости от уставки.

SCADAMaster
15.03.2017, 11:06
Шкалу менять нельзя.
Аварийные границы - только у каждой конкретной переменной - на вкладке "Конроль значений" (в поля перетаскивают команды, которые и будут границами).

lectorleo
15.03.2017, 13:28
Добрый день. а в MasterScada возможно считывать отдельный бит из слова? знаю что такое возможно в ОРС сервере сделать, а если приходит слово от сервера и отдельно его разбить на составляющие? заранее спасибо

SCADAMaster
15.03.2017, 14:10
Палитры ФБ - Вычисления - Распаковка 32-битного значения.

Andrew_Stranger
15.03.2017, 20:10
Попробуйте в скрипте заменить строчку 49:
var pin = Obj.GetChild(path, false) as ITreePinHlp; //установление связи
на
var pin = Obj.GetChild(name, false) as ITreePinHlp; //установление связи
Спасибо, все получилось. Еще вопрос, как нам получить один общий файл для двух
ФБ "Список строк" Почитал в справке "Если требуется привязать ФБ к файлу находящегося уровнем выше (например чтобы привязать несколько ФБ к одному файлу), то нужно прописать в поле ../file.txt " . Не совсем понял что означает ../file.txt.

SCADAMaster
16.03.2017, 09:14
Если напишите file, то файл сохранится в папке объекта в папке с именем ФБ (Выбор строки). Если напишите ../file.txt то в папке объекта, если ../../file.txt то в папке объекта выше по уровню и т.д.

Pimpl
16.03.2017, 10:46
30057 Выставил настройки чтобы было ограничено количество ввода неправильных паролей, однако защита не срабатывает.

SCADAMaster
16.03.2017, 11:50
У нас все корректно.
У вас ключевая версия или Demo?

Pimpl
16.03.2017, 11:55
Скачал с вашего FTP Демо версию. В ней не работает?

SCADAMaster
16.03.2017, 12:51
Тогда приложите ваш проект и последовательность действий. Действия запишите на видео:
http://www.bbflashback.ru

Pimpl
16.03.2017, 12:59
Попробую. Скажите, а где в проекте находится файл с установленными в проекте паролями. Как убедиться что они зашифрованы и не доступны для просмотра?

SCADAMaster
16.03.2017, 14:05
Данные хранятся в vav файле в шифрованном виде.
Если правка происходит в режиме исполнения accounts в котором сохраняются введеныне пароли - также в шифрованом виде.

Pimpl
16.03.2017, 15:21
Здесь видео где я пытаюсь проверить ограничение на количество неверных паролей.

SCADAMaster
16.03.2017, 15:51
Сперва в режим исполнения зайдите (под sa например), а уже затем проверяйте.

Pimpl
17.03.2017, 08:34
Спасибо заработало. Подскажите как можно автоматически ограничить срок действия пароля? Есть ли скрипт или средствами мастер скады? Например если нужно чтобы пароль у оператора автоматически сбросился через месяц.

Oak
17.03.2017, 10:06
Демо проект - пример рецепта.
Если на мнемосхеме в свойствах таблицы снять галку видимости, например с воды, то при работе ввод праметра в первую строку таблицы - теперь сахар- попадает в значение выходов таблицы вода. Спирт в сахар попадает соответсвенно.
Так и задумано?
Как правильно можно скрыть в таблице на мнемосхеме параметр?

SCADAMaster
17.03.2017, 11:17
Спасибо заработало. Подскажите как можно автоматически ограничить срок действия пароля? Есть ли скрипт или средствами мастер скады? Например если нужно чтобы пароль у оператора автоматически сбросился через месяц.
Пока что такого функционала нет. Можно из скрипта:
var comp = HostFB.TreeItemHlp.Project.Computers[0];
* ** var opers = comp.Operators;
* ** opers[Имя].Password=НовыйПароль;
* ** opers.SaveRTChanges();

SCADAMaster
17.03.2017, 11:20
Демо проект - пример рецепта.
Если на мнемосхеме в свойствах таблицы снять галку видимости, например с воды, то при работе ввод праметра в первую строку таблицы - теперь сахар- попадает в значение выходов таблицы вода. Спирт в сахар попадает соответсвенно.
Так и задумано?

Это ошибка. Мы с этим разберемся



Как правильно можно скрыть в таблице на мнемосхеме параметр?
На данный момент никак.
Используйте отдельные команды - включите и них видимостьи границ (получится псевдотаблица). Их можно скрывать как угодно.
Ну или написать свой ВФБ

Pimpl
17.03.2017, 11:30
Сделал заработало. Теперь другая проблема. Скачал новую версию скады и установил. Работаю в ней с проектом написанным в предыдущей версии. Проверяю функцию "Контроль целостности проекта", если выставить истина то проект при запуске с ярлыка выдаёт ошибку и не запускается,если запустить со среды разработки тоже без проблем. Если выставить ложь то всё работает нормально, проблема возникает именно с этим. С чем это может быть связано?

SCADAMaster
17.03.2017, 13:14
Приложите ваш проект (выполните Проект - Экспортировать).

Pimpl
17.03.2017, 13:47
Вот не работающий проект

SCADAMaster
17.03.2017, 14:32
В присланном вами проекте контроль целостности выключен. При его включении все запускается и работает нормально

Pimpl
17.03.2017, 14:45
30100 может моя проблема быть связана с данной ошибкой?

SCADAMaster
17.03.2017, 15:49
Это у вас включен контроль целостности ПО
Попробуйте переустановить MasterSCADA.
Если используете какие то сторонние библиотеки - они должны сразу лежать в папке MasterSCADA

mixfix86
20.03.2017, 17:49
Здравствуйте. Есть 6 контроллеров, подключены через преобразователь ethernet-rs485. на них по 2реле. Если я привязываю, выход opc каждого контроллера к своей кнопке Открыть или Закрыть, то всё работает. Если делаю команду, связываю её с кнопкой и со всеми выходами всех контроллеров Открыть или Закрыть. То реле очень быстро щёлкают и не успевают запустить устройство (или какие-то срабатывают, а какие-то нет, всегда разные, я так понимаю нужно задержку делать какую-то). Можно ли увеличить время работы реле при нажатии на кнопку или сделать так, что когда я нажимаю сначала единица отправлялась на 1 потом на 2 потом на 3 и тд. контроллер? Управление шторами делаю, по отдельности каждая штора закрывается-открывается, а все вместе нет, что-то не успевает сработать=(

SCADAMaster
20.03.2017, 19:18
Вам нужно чтобы команда подольше держала?
На вкладке "Опрос" - "Продолжительность импульса".

mixfix86
20.03.2017, 19:45
это же для дискретной команды, скажите пожалуйста, а как с помощью дискретной команды, передать значение 1 или 2, я добавляю кнопку, к ней привязываю команду по нажатию, а там нельзя значение вставить, галочки ставятся, не как на обычной кнопке. А в дискретных значениях - нет такого. =(
Как сделать, нажимаю открыть, во все входы контроллеров отправляется значение 2 и с большой продолжительностью импульса. Не могу понять как через команду - тип дискретная отправить значение 2, а только там есть на вкладке "опрос" - продолжительность импульса.

SCADAMaster
20.03.2017, 22:09
это же для дискретной команды, скажите пожалуйста, а как с помощью дискретной команды, передать значение 1 или 2,
В модуле расчет анализируете ваше значение команды и в зависимости от него возвращаете нужные вам значения (с помощью оператора ЕСЛИ)

Pimpl
21.03.2017, 09:41
Подскажите, как можно сделать. Стоит следующая задача. Нужно экспортировать в файл все события в проекте с соответствующими сообщениями. Ну и соответственно ФБ которые сами генерируют в себе сообщения в журнал. То есть возможно ли в режиме DoAction создать список с перечнем Названий ФБ и СОБЫТИЙ, только чтобы ещё была графа с сообщением которое я вбил для журнала?

mixfix86
21.03.2017, 11:00
Подскажите как можно сделать задержку. Чтобы сначала команда отправлялась на 1 потом на второй и тд. контроллеры через промежуток времени.

SCADAMaster
21.03.2017, 11:40
Подскажите как можно сделать задержку. Чтобы сначала команда отправлялась на 1 потом на второй и тд. контроллеры через промежуток времени.
По цепочке - через ФБ "Задний фронт". Подали сигнал на первый ФБ, от него подаете на следующий и так по цепочке.

SCADAMaster
21.03.2017, 12:06
Подскажите, как можно сделать. Стоит следующая задача. Нужно экспортировать в файл все события в проекте с соответствующими сообщениями. Ну и соответственно ФБ которые сами генерируют в себе сообщения в журнал. То есть возможно ли в режиме DoAction создать список с перечнем Названий ФБ и СОБЫТИЙ, только чтобы ещё была графа с сообщением которое я вбил для журнала?
Только что обсуждали
http://www.owen.ru/forum/showthread.php?t=26343

mixfix86
21.03.2017, 13:49
Когда делаю через задний фронт, то 2ка не проходит, либо 0 либо 1. Как в задний фронт можно вставить 2. У меня командой 2 меняется направление реле.

SCADAMaster
21.03.2017, 13:55
Когда делаю через задний фронт, то 2ка не проходит, либо 0 либо 1. Как в задний фронт можно вставить 2. У меня командой 2 меняется направление реле.
Ваш вопрос не понятен

Pimpl
21.03.2017, 13:56
Спасибо. Только там описано как заменить сообщения. Мне не совсем понятно как вытянуть Уже настроенный текст. Я начинающий и в шарпе не тащу. Если вам не трудно могли бы разжевать. Спасибо

mixfix86
21.03.2017, 14:03
Создаю команду, тип дискретный, делаю расчёт, через если: если команда = 1, тогда +1 иначе 0, привязываю результат к входу заднего фронта, задний фронт, к входу следующего и тд. 6 раз, но на взоде заднего фронта при запуске значение Вкл, Выкл. Значения расчётного 2 там нет, вкл это 1 выкл 0, соответственно не в ту сторону двигается штора. Как сделать так, чтобы на вход заднего фронта поступила 2 и на выход 2. Выход заднего фронта связан у меня со следующим ЗФ и с выходом opc сервера.

mixfix86
21.03.2017, 14:04
Как его сделать не логическим, а чтобы цифры там были, хоть 100 хоть 50 хоть 49 на входе и выходе.

mixfix86
21.03.2017, 14:21
Или чтобы вкл соответствовал двойке, а не 1

SCADAMaster
21.03.2017, 14:35
Вы неправильно сделали.
Вам нужно выход ФБ "Задний фронт" приводить к нужным вам числа в расчете, и результат расчета пускать куда вам нужно.

mixfix86
21.03.2017, 16:27
Большое спасибо!!!

Aleksandr_Sorokin
22.03.2017, 01:23
Здравствуйте!

У меня накопилось некоторое количество вопросов по разным нюансам работы с MasterSCADA. Чтобы не писать их в разных ветках форума, озвучу их здесь, если позволите.

1. Система имеет вид "ПЛК + MasterOPC + MasterSCADA". Программа выполняется в ПЛК. Я запускаю проект, нажимаю все нужные кнопки на мнемосхеме и всё работает. Но если перезапустить MasterSCADA (при этом OPC и ПЛК продолжают работать), то на мнемосхеме все кнопки отображаются в исходном (не нажатом) состоянии. То есть проект не синхронизируется с ПЛК. Нужно всё заново прощёлкивать, чтобы одно другому соответствовало. В чём может быть проблема?

2. Аналогичная трудность. В проекте есть динамизация по входу некоторых кнопок и надписей - блокируется их видимость. Так вот при каждом старте проекта все эти кнопки и надписи видны и приходится также всё прощёлкивать, чтобы они пропадали и получался нужный исходный экран. Почему кнопки и надписи не блокируются сразу при старте?

3. Проблема с откликом проекта. Всё работает хорошо, но часто бывает так, что при нажатии или отпускании какой-нибудь кнопки на мнемосхеме происходит зависание, порой до 5-7 секунд. Время опроса в OPC-сервере, компьютере системы и объекте выставляю одинаковые, причём от его величины ситуация особо не меняется. Раз от раза не угадаешь - то система реагирует на нажатия кнопок на мнемосхеме мгновенно, то начинает задумываться. Не пойму почему?

4. В проекте есть кнопка без фиксации. Она связана с выходом ПЛК. Так вот при её нажатии выход срабатывает и сразу же отключается, то есть физически работает всё как надо. Но вот на мнемосхеме эта кнопка ещё несколько секунд отображается нажатой, хотя выход уже давно отключился. Как от этого избавиться?

5. По технологии есть необходимость организовать в проекте обнуление трендов разных экспериментов. Порядок примерно следующий:
- оператор нажимает первую кнопку и данные должны начинать отображаться на тренде;
- оператор нажимает вторую кнопку и запись (отображение их на тренде) прекращается;
- оператор нажимает третью кнопку и данные удаляются (стираются) с тренда и он может опять нажимать первую и записывать в этот же тренд уже данные следующего эксперимента.
Можно ли это организовать и если да, то каким способом?

Спасибо.

SCADAMaster
22.03.2017, 08:35
1. Система имеет вид "ПЛК + MasterOPC + MasterSCADA". Программа выполняется в ПЛК. Я запускаю проект, нажимаю все нужные кнопки на мнемосхеме и всё работает. Но если перезапустить MasterSCADA (при этом OPC и ПЛК продолжают работать), то на мнемосхеме все кнопки отображаются в исходном (не нажатом) состоянии. То есть проект не синхронизируется с ПЛК. Нужно всё заново прощёлкивать, чтобы одно другому соответствовало. В чём может быть проблема?

Нужно использовать команды с обратной связью.
У команды на вкладке Опрос выхода есть поле Обратная связь, в это поле нужно перетащить OPC переменную или выход ФБ. Тогда команда будет отображать состояние по обратной связи.



2. Аналогичная трудность. В проекте есть динамизация по входу некоторых кнопок и надписей - блокируется их видимость. Так вот при каждом старте проекта все эти кнопки и надписи видны и приходится также всё прощёлкивать, чтобы они пропадали и получался нужный исходный экран. Почему кнопки и надписи не блокируются сразу при старте?

Для внутренних переменных (чьи сигналы не закольцованы с контроллером) используйте восстановление при рестарте.



3. Проблема с откликом проекта. Всё работает хорошо, но часто бывает так, что при нажатии или отпускании какой-нибудь кнопки на мнемосхеме происходит зависание, порой до 5-7 секунд. Время опроса в OPC-сервере, компьютере системы и объекте выставляю одинаковые, причём от его величины ситуация особо не меняется. Раз от раза не угадаешь - то система реагирует на нажатия кнопок на мнемосхеме мгновенно, то начинает задумываться. Не пойму почему?

Неясно что имеется ввиду под откликом.



4. В проекте есть кнопка без фиксации. Она связана с выходом ПЛК. Так вот при её нажатии выход срабатывает и сразу же отключается, то есть физически работает всё как надо. Но вот на мнемосхеме эта кнопка ещё несколько секунд отображается нажатой, хотя выход уже давно отключился. Как от этого избавиться?

Данное поведение кнопки пока что является неотключаемым.



5. По технологии есть необходимость организовать в проекте обнуление трендов разных экспериментов. Порядок примерно следующий:
- оператор нажимает первую кнопку и данные должны начинать отображаться на тренде;
- оператор нажимает вторую кнопку и запись (отображение их на тренде) прекращается;
- оператор нажимает третью кнопку и данные удаляются (стираются) с тренда и он может опять нажимать первую и записывать в этот же тренд уже данные следующего эксперимента.

Кладете тренд на мнемосхему, у него будут входы динамизации Дата с и Дата по. На них подаете время когда процесс начался, и когда он закончится (пока идет подавайте текущее время).

MaxDD
22.03.2017, 10:25
Примерно год назад похожее сообщение было в форуме,
http://www.owen.ru/forum/showthread.php?t=11806&p=207542&viewfull=1#post207542
но я прошу SCADAMaster обновить ответ.

Суть моего вопроса
Я хочу создать и протестировать свой проект на, примерно, 400 тегов: контроллер(3-4шт.однотипных) + Modbus MasterOPC + MasterSCADA до покупки Modbus Universal MasterOPC Server 500, после тестирования мне будет понятно хватит ли мне 500 тегов или нет и дальнейшие требования к MasterSCADA.
Возможно ли это?
Ранее я пробовал бесплатный OPC-сервер Modbus на одно рабочее место на 32 тега + MasterSCADA Demo с вашего Демодиска.
Спаибо. С уважением, Максим.

SCADAMaster
22.03.2017, 10:43
Суть моего вопроса
Я хочу создать и протестировать свой проект на, примерно, 400 тегов: контроллер(3-4шт.однотипных) + Modbus MasterOPC + MasterSCADA до покупки Modbus Universal MasterOPC Server 500, после тестирования мне будет понятно хватит ли мне 500 тегов или нет и дальнейшие требования к MasterSCADA.
Возможно ли это?

Напишите на support

Aleksandr_Sorokin
22.03.2017, 13:31
Спасибо! Буду пробовать.

По п. 3 имеется в виду, что иногда при нажатии/отжатии кнопок, расположенных на мнемосхеме, они срабатывают с задержкой. То есть я нажимаю кнопку на мнемосхеме, а физический выход срабатывает и изменение изображения кнопки происходит только через несколько секунд после нажатия. Это происходит не постоянно, а в примерно в 20-30 % случаев нажатия/отжатия. В остальных 70-80 % случаев всё срабатывает сразу же как надо.

По п. 4 получается, что пока это исправить никак нельзя?

SCADAMaster
22.03.2017, 14:32
По п. 3 имеется в виду, что иногда при нажатии/отжатии кнопок, расположенных на мнемосхеме, они срабатывают с задержкой. То есть я нажимаю кнопку на мнемосхеме, а физический выход срабатывает и изменение изображения кнопки происходит только через несколько секунд после нажатия. Это происходит не постоянно, а в примерно в 20-30 % случаев нажатия/отжатия. В остальных 70-80 % случаев всё срабатывает сразу же как надо.

Кнопки сделаны как контролы команд?
Что значит изменение изображения? Сама кнопка нажимается с задержкой?

za9c
24.03.2017, 09:09
Если только совсем запретить изменение шкалы. Продвинутый уровень - Общие настройки - Запрет вертикального сдвига
Спасибо помогло! А можно ли сделать так чтоб тренд всегда открывался с периодом в 1 сутки(день), ну а дальше мышкой прокручивать как хочешь. Потом тренд закрываешь, открываешь и опять период - 1 день!
Поясню зачем это нужно - у сетевых пользователей - два три дня всё нормально, потом тренды начинают очень долго открываться, а если накрутить просмотр за месяц или два и тренд закрыть- так потом он будет минут 20 открываться! Вкл-выкл сетевую скаду(не сервер) - и опять полёт нормальный на два три дня! И так у всех - сетевых! С сетью проблем нет - пинг отличный!

Pimpl
24.03.2017, 10:21
Подскажите, как в скаде можно фиксировать факт нажатия мыши?

SCADAMaster
24.03.2017, 10:24
Спасибо помогло! А можно ли сделать так чтоб тренд всегда открывался с периодом в 1 сутки(день), ну а дальше мышкой прокручивать как хочешь. Потом тренд закрываешь, открываешь и опять период - 1 день!
Поясню зачем это нужно - у сетевых пользователей - два три дня всё нормально, потом тренды начинают очень долго открываться, а если накрутить просмотр за месяц или два и тренд закрыть- так потом он будет минут 20 открываться! Вкл-выкл сетевую скаду(не сервер) - и опять полёт нормальный на два три дня! И так у всех - сетевых! С сетью проблем нет - пинг отличный!
По правильному - нужно использовать архивацию в СУБД, тогда тренд будет загружаться мгновенно (за счет использования слоев).
А так можно - только нужно обновиться до последней версии. С помощью ФБ "Управление документом", теперь можно задавать Начало и конец при открытии.

SCADAMaster
24.03.2017, 10:25
Подскажите, как в скаде можно фиксировать факт нажатия мыши?
Такой возможности нет. Зачем вам это требуется?

Pimpl
24.03.2017, 10:28
Решить одну проблему так сказать путём костыля. У меня имеется своя ФБ которая отображает ход алгоритмов. При нажатии на определённый блок алгоритма необходимо вызвать определённое окно. Но к сожалению своя ФБ всегда находится поверх других элементов, и поэтому прозрачная кнопка вызова окна не срабатывает.

SCADAMaster
24.03.2017, 11:00
Так может проще из самого ФБ вызывать окно? Самый простой вариант - сделать выход и подавать сигнал на Событие, которое откроет окно.
Можно конечно и из кода.

Andrew_Stranger
25.03.2017, 09:23
Добрый день. Столкнулся со следующей проблемой. Добавил из OPС-сервера Codesys массив переменных как "Группу". Переменные нормально передаются из контроллера в Скаду, но запись переменной из Cкады в OPC не производится. Когда происходит добавление переменной из OPC не через группу, а просто как элемент массива то с записью проблем уже нет.

Aleksandr_Sorokin
25.03.2017, 19:11
Кнопки сделаны как контролы команд?
Что значит изменение изображения? Сама кнопка нажимается с задержкой?

Да, кнопки вставлены через контекстное меню "Вставить -> Команда" Объекта и связаны с соответствующими OPC-переменными типа "Read/Write".
Именно. Кнопки на мнемосхеме нажимаются с задержкой, а иногда (что редко) вообще не реагируют на клики мыши.

SCADAMaster
26.03.2017, 08:22
Если добавлено через контекстное меню, то такого не может быть.
Приложите ваш проект и укажите путь к проблемной переменной.

SCADAMaster
26.03.2017, 08:56
Добрый день. Столкнулся со следующей проблемой. Добавил из OPС-сервера Codesys массив переменных как "Группу". Переменные нормально передаются из контроллера в Скаду, но запись переменной из Cкады в OPC не производится. Когда происходит добавление переменной из OPC не через группу, а просто как элемент массива то с записью проблем уже нет.
Речь идет про OPC Codesys 2.3 или 3.5?

Andrew_Stranger
26.03.2017, 10:51
OPC в дистрибутиве Codesys 2.3

Aleksandr_Sorokin
26.03.2017, 16:20
Если добавлено через контекстное меню, то такого не может быть.
Приложите ваш проект и укажите путь к проблемной переменной.

Дело в том, что в режиме эмуляции всё работает как надо. Проблемы начинаются на реальном объекте. Ноутбук к системе подключается через преобразователь интерфейсов USB/RS-485. Может быть в этом проблема?

SCADAMaster
26.03.2017, 20:52
Задержка возникает в какой момент? Когда нажимаете на кнопку?
Приложите проект и видео с демонстрацией проблемы. Для записи можно использовать
http://www.bbflashback.ru

SCADAMaster
26.03.2017, 21:42
Добрый день. Столкнулся со следующей проблемой. Добавил из OPС-сервера Codesys массив переменных как "Группу". Переменные нормально передаются из контроллера в Скаду, но запись переменной из Cкады в OPC не производится. Когда происходит добавление переменной из OPC не через группу, а просто как элемент массива то с записью проблем уже нет.
Мы проверили у себя - запустили ОРС сервер Codesus в тестовом режиме (командой CoDeSysOPC.exe/TestMode), добавили переменные из массива - запись прошла нормально.

Andrew_Stranger
27.03.2017, 09:31
Мы проверили у себя - запустили ОРС сервер Codesus в тестовом режиме (командой CoDeSysOPC.exe/TestMode), добавили переменные из массива - запись прошла нормально.
Насколько я понимаю проблемы с ограничением количества элементов массива. В проекте у меня массив на 160 элементов. Пробовал сделать 100 элементов и все заработало.

SCADAMaster
27.03.2017, 09:48
Ограничение на стороне скады или сервера?
Попробуйте выполнить запись при помощи другого клиента - например Matrikon OPC Explorer.
https://yadi.sk/d/VNFQzC59e9GSp

Andrei1401
28.03.2017, 15:54
Здравствуйте. Подскажите пожалуйста. При использовании ФБ кнопка без фиксации при её нажать приходится некоторое время удерживать её чтобы она сработала. Можно ли как то убрать или уменьшить эту задержку?

SCADAMaster
28.03.2017, 16:15
Вы неправильно делаете кнопку.
Создайте команду типа Дискретный и вытащите на мнемосхему - она станет кнопкой. Ее удерживать не надо

Andrei1401
28.03.2017, 17:20
Спасибо, попробую

Oak
30.03.2017, 10:50
В операции ИЛИ в формулах вычисления, событиях и фб ИЛИ - если один из входов не определен а другой переходит в ВКЛ, то результат переходит во ВКЛ - это, вроде, логично.
Но потом, если тот, который был ВКЛ опять перейдет в ВЫКЛ, а другой по прежнему не определен, результат остается ВКЛ - не очень логично. Так и должно быть?

S_Oleg
30.03.2017, 11:32
Здравствуйте. Извините за глупый вопрос, только начинаю разбираться с Вашим софтом и приборами. Есть ТРМ138 подключен к преобразователю AC4 который подключен к ноутбуку win8, при запуске ОВЕН ОРС сервер все значения (температура) нулевые. В Owen Process Manager все работает. В чем может быть проблема?

Oak
30.03.2017, 13:37
Как запретить использовать кнопку в тулбаре "перейти к документу родительского объекта". Какие права за это отвечают?

Oak
30.03.2017, 13:39
Возможно ли посмотреть журнал действий оператора на сетевом АРМ с сервера проекта?

SCADAMaster
30.03.2017, 13:50
Здравствуйте. Извините за глупый вопрос, только начинаю разбираться с Вашим софтом и приборами. Есть ТРМ138 подключен к преобразователю AC4 который подключен к ноутбуку win8, при запуске ОВЕН ОРС сервер все значения (температура) нулевые. В Owen Process Manager все работает. В чем может быть проблема?
Судя по всему некорректно настроен ОРС сервер. Лучше задать данные вопрос в разделе "Сервисное ПО".

SCADAMaster
30.03.2017, 13:52
Как запретить использовать кнопку в тулбаре "перейти к документу родительского объекта". Какие права за это отвечают?
Для данной кнопки прав доступа нет.
Вы можете блокировать доступ к определенным окнам (через права доступа).

SCADAMaster
30.03.2017, 14:01
Возможно ли посмотреть журнал действий оператора на сетевом АРМ с сервера проекта?
На данный момент нельзя.
В версии 3.8 появилась возможность выводить сообщения о действиях в обычный журнал. Вы можете использовать его.

osc
04.04.2017, 13:22
Здравствуйте
Есть ли возможность "форсировать" отправку значения команды в контроллер с помощью:
1) скрипта C#?
2) выхода функционального блока?

Необходимость возникла в связи со следующими проблемами:
1) скрипт используется для копирования настроек одного блока на несколько других. Если в момент выполнения скрипта с одним из блоков нет связи, то после восстановления связи повторное выполнение скрипта не приводит к передаче настроек в контроллер блока;
2) при вводе настроек времени используется ФБ "Разбор времени". Выходы ФБ связаны с OPC-переменными. Если установить какое-то время в MasterSCADA (например 12:00), а затем другое время с панели оператора, то при повторном вводе 12:00 в MasterSCADA время в контроллер не передаётся

SCADAMaster
05.04.2017, 08:26
Вот так можно
var item=HostFB.OutputGroup.GetPin("Параметр1").TreePinHlp;
item.AddAssignValueTask(ВашеЗначение,null);

Oak
05.04.2017, 10:57
версия 3,8 значение при размещении на мнемосхеме как значение не меняет цвет при выходе в аварийные границы. Границы заданы шкалой. Цвета в свойствах установлены, галочки установлены. Кстати, при попытке изменения цвета границ в свойствах значения на мнемосхеме, цветовая шкала не открывается (нажимаю на квадратик цвета), цвет не меняется (в индикаторе тоже цвет нельзя изменить).
Что не так делаем?

SCADAMaster
05.04.2017, 11:42
Приложите ваш проект и несколько скриншотов демонстрирующих проблему.

osc
05.04.2017, 12:49
Вот так можно
var item=HostFB.OutputGroup.GetPin("Параметр1").TreePinHlp;
item.AddAssignValueTask(ВашеЗначение,null);

Оказалось, что последствия установки значения команды при отсутствии связи с контроллером отличаются в зависимости от используемого OPC-сервера.
Сейчас мы используем Lectus и ожидаем пока прибудет USB-ключ MasterOPC

Lectus ведёт себя так:
связь пропала -> присвоили скриптом значение команде -> связь восстановилась -> значение в контроллере не изменилось -> присвоили скриптом то же значение команде -> значение в контроллере не изменилось.

MasterOPC:
связь пропала -> присвоили скриптом значение команде -> связь восстановилась -> значение в контроллере изменилось на ранее введённое.

Желаемое поведение:
связь пропала -> присвоили скриптом значение команде -> связь восстановилась -> значение в контроллере не изменилось - > присвоили скриптом то же значение команде -> значение в контроллере изменилось.

Так как Lectus мы меняем на MasterOPC, то вопрос изменяется - как сделать так, чтобы при использовании MasterOPC значения в контроллер после восстановления связи отправлялись только после явных действий оператора?
Во вложении тестовый проект.

SCADAMaster
05.04.2017, 13:01
Не удалось посмотреть ваш проект - некорректно заархивировался. Заархивируйте другим архиватором (7z например)

osc
05.04.2017, 13:10
Не удалось посмотреть ваш проект - некорректно заархивировался. Заархивируйте другим архиватором (7z например)

Не получается загрузить файл на форум.
Вот ссылка на dropbox: https://www.dropbox.com/s/9vibsgubcnaqdag/settings.7z?dl=0

SCADAMaster
05.04.2017, 13:10
MasterOPC:
связь пропала -> присвоили скриптом значение команде -> связь восстановилась -> значение в контроллере изменилось на ранее введённое.

У нас данное поведение не проявляется - в сервере висит значение которое скада прислала в последние раз, оно же и будет записано когда связь будет восстановлена.

SCADAMaster
05.04.2017, 13:12
Не получается загрузить файл на форум.
Вот ссылка на dropbox: https://www.dropbox.com/s/9vibsgubcnaqdag/settings.7z?dl=0
dest.GetRTPin().Value = source.GetRTPin(PinTypes.PT_PIN).Value;
Мы не так писали делать.

osc
05.04.2017, 13:52
dest.GetRTPin().Value = source.GetRTPin(PinTypes.PT_PIN).Value;
Мы не так писали делать.

Если я правильно понял:
dest.AddAssignValueTask(source.GetRTPin(PinTypes.P T_PIN).ObjectValue,null);

Lectus'у это помогло, спасибо. В исходном проекте функция AddAssignValueTask была неправильно использована и не работала, поэтому в тестовый проект перенесли вариант из исходного.

Вопрос с MasterOPC остался.
Значения присвоенные команде во время отсутствия связи при восстановлении связи самопроизвольно передаются в контроллер.
Возможно это поведение заложено в OPC-сервере?
Есть ли способ это исправить?

SCADAMaster
05.04.2017, 14:15
Значения присвоенные команде во время отсутствия связи при восстановлении связи самопроизвольно передаются в контроллер.

Как они могут передаваться в контроллер если нет связи?
ОРС сервер пытается выполнить запись - если не проходит, пытается снова. Если поступит новое значение - будет уже пытаться записать его.

osc
05.04.2017, 15:59
У нас данное поведение не проявляется - в сервере висит значение которое скада прислала в последние раз, оно же и будет записано когда связь будет восстановлена.

Так как раз проблема в том и состоит, что значение переданное в OPC-сервер и не переданное OPC-сервером в контроллер из-за отсутствия связи при восстановлении связи самопроизвольно передаётся в контроллер.
К моменту восстановления связи в контроллере могут быть уже совсем другие настройки, введённые, например, с помощью панели оператора. А MasterOPC (в отличие от Lectus'а) установит другие значения по факту восстановления связи, а не по команде оператора.

osc
05.04.2017, 16:05
Как они могут передаваться в контроллер если нет связи?
ОРС сервер пытается выполнить запись - если не проходит, пытается снова. Если поступит новое значение - будет уже пытаться записать его.

Вот именно это поведение можно отключить? Чтобы, если запись не была выполнена, то больше не пытаться.
Восстановление связи может произойти, например, через несколько дней. И запись в контроллер значений, введённых несколько дней назад, может привести к неприятным последствиям

SCADAMaster
05.04.2017, 16:24
Нет, так сделать нельзя.
Если только реализовать запись скриптами на SendAndReciveDataByMask

energvk
08.04.2017, 13:21
В какой-то момент при открытии проекта стала выскакивать предупреждение:
30455

При этом на другом ПК такого окна не выскакивает. Технически не вижу отличий в открытых проектах на обоих компьютерах. В чём может быть проблема?

SCADAMaster
08.04.2017, 14:26
Версии совпадают? В одной из версий была такая ошибка - она была связана с журналом компьютера.

energvk
08.04.2017, 15:28
Нет, версии не совпадают:
3.8.1.57951 17Apr05(Demo)_17_04_05_03_00 - нет ошибки
3.8.1.57719 17Mar18(Demo)_17_03_18_13_09 - есть ошибка

Ясно в чем причина. Спасибо

P.S. на версии 3.8.0.58019 3.8(DemoReleaseMin)_17_04_08_09_36 проект вообще не открывается:confused:

Нормально открылось на последней бете

ScooloV
11.04.2017, 07:37
Добрый день,

На сайте у вас имеется большое количество примеров с использованием C# скриптов и вашим форматом сигналов типа "bool?", "int?". Интересует то, что идёт после точки, например X.Value / X.HasValue и прочее. В блоге вы рассматриваете лишь часть из них, но полный список я, к сожалению, не нашёл (вместе с описанием). Скажите, где это можно найти?