PDA

Просмотр полной версии : Вопросы по MasterSCADA 4D



Страницы : [1] 2 3 4 5 6

b_aleks
03.03.2019, 11:30
Добрый день!
Начал осваивать MasterSCADA 4D, возникли несколько вопросов:
1. В третьей версии программы для минимизации связей между деревом системы и деревом объекта можно было использовать принцип клеммника - сервис внешних связей (СВС) или ФБ повторитель. В MasterSCADA 4D в третьем уроке быстрого старта об этом было сказано, однако, как я понял, сам СВС отсутствует, просто в дереве объектов необходимо использовать параметр с доступом чтение/запись, а от этого параметра уже устанавливать связи с другими параметрами, окнами и т.д. Так ли это?
2. В третьей версии были 4 основных переменных (команда, значение, расчет, событие). В 4D теперь за это отвечают параметры. Параметром доступ можно определить назначение переменной (команда или значение). Как реализовать модуль расчета и события в 4D?
3. Будут ли на сайте компании добавлены методические материалы по MasterSCADA 4D?
4. Как у объекта создать тренд (несколько трендов)?
5. Журнал сообщений. Тоже непонятно как его создать у объекта.

SCADAMaster4D
04.03.2019, 12:14
1. Это не совсем то же самое, что СВС, но пользоваться этим можно. Самого сервиса на данный момент нет, но его разработка планируется.
2. Для этого можно использовать программы.
3. На данный момент все что есть, Вы можете найти в справке программы, но в будущем планируется увеличение числа методических материалов.
4. Создайте в объекте окно, на окно добавьте элемент Библиотеки.HMI.Окна.Контролы.График.
5. Аналогично п.4: Библиотеки.HMI.Окна.Контролы.Журнал

satar15
27.05.2019, 10:07
Добрый день!
Хочу поднять тему связи дерева системы и дерева объектов.

Не могу разобраться как сделать обмен по протоколам Modbus между АРМ и ПЛК. Мне нужно принять переменную (например, Coil) от ПЛК, поменять ее на АРМ и отправить обратно. И наоборот, когда меняю на ПЛК, чтобы менялась и в MasterSCADA 4D.
Пробовал три варианта параметров:
1. методом Drag&Drop перетаскиваю вход канала модуля TCP на параметр;
2. параметр перетаскиваю на выход канала модуля TCP;
3. делаю перекрестные ссылки (параметр на выход канала, вход канала на параметр).

В итоге:
1. Когда меняю состояние на ПЛК, параметр объекта также меняется. Но при нажатии кнопки на АРМ выход канала модуля TCP не меняется
2. Могу поменять состояние на АРМ. При этом поменяется на ПЛК. Но когда меняю на ПЛК, параметр объекта остается на месте.
3. Когда меняю состояние на ПЛК, параметр объекта также меняется. Но при нажатии кнопки на АРМ происходит 4-5 переходов состояние true/false и замирает на случайном состоянии.
42916

SCADAMaster4D
03.06.2019, 12:30
Во-первых, не используйте двусторонние связи, т.е. один параметр для связи со входом, другой для связи с выходом. И данные параметры объекта сделайте библиотечного типа SYSTEM_*_PARAM.

gom
11.07.2019, 14:08
MasterSCADA 4D какие есть способы связать с плк 150 220 и м? только начал изучать поэтому простые вопросы) в третьей версии я делал связь через MasterOPC Universal Modbus Server , там очень удобно импорт через .CSV . В 4й версии можно ли без опс-сервера, и если можно как такой же импорт выполнить?

SCADAMaster4D
12.07.2019, 13:08
В узел добавьте протокол Modbus TCP или RTU, добавьте модуль, каналы, сконфигурируйте настройки и опрашивайте.

VladGC
16.07.2019, 17:42
Добрый день!
В Скачал с сайта версию со средой разработки и отдельно исполнительную версию.
Разработка идет с одного ПК, исполнительная среда на другом,
Все в принципе работает, но выскакивает окно о том что исполнительная среда RT устарела(на другом пк)
Скачано в один день, а RT новее там где идет среда разработки.
Возможно ли обновлять саму RT удаленного пк из среды разработки ?

SCADAMaster4D
17.07.2019, 10:55
Устаревшая среда - RT32?

VladGC
17.07.2019, 11:18
Устаревшая среда - RT32?

Да, RT
Это связано с тем что среда исполнения триал и демо разные версии ?

SCADAMaster4D
17.07.2019, 12:40
RT32? На 32 точки или нет? Если да, то это нормально.

VladGC
17.07.2019, 13:07
RT32? На 32 точки или нет? Если да, то это нормально.

Да, исполнительная RT32, среда разработки демо.
Понял спасибо

akphantom
12.08.2019, 07:36
Добрый день!

Каким образом можно разработанный проект в Windows загрузить на исполнение в режиме эмуляции в исполнительную среду под LINUX.

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

SCADAMaster4D
12.08.2019, 12:38
В режиме эмуляции редактор сам запускает среду исполнения с ограничением в 1 час опроса устройств на той же машине, где установлен он сам. На Linux нужно сначала установить и запустить среду исполнения, а затем уже загружать проект. Если рантайм уже запущен, то в свойствах узла (АРМ, например) укажите ip-адрес машины с Linux и нажмите Подключить с загрузкой конфигурации.

akphantom
20.08.2019, 04:59
В режиме эмуляции редактор сам запускает среду исполнения с ограничением в 1 час опроса устройств на той же машине, где установлен он сам. На Linux нужно сначала установить и запустить среду исполнения, а затем уже загружать проект. Если рантайм уже запущен, то в свойствах узла (АРМ, например) укажите ip-адрес машины с Linux и нажмите Подключить с загрузкой конфигурации.

Таким образом среда разработки, установленная на компьютере с Windows и АРМ с LINUX должны быть объединены в одну сеть, только в этом случае возможен запуск в режиме эмуляции (без запрограммированного ПЛК). А как запустить проект автономно на АРМ с Linux без участия компа со средой разработки? Контроллер я прошью в среде разработки, но как сделать чтобы при загрузке системы Линукс на АРМ проект стартовал сразу с автозагрузки? По сути в таком виде всё должно быть передано заказчику.

KrAssor
20.08.2019, 09:17
Таким образом среда разработки, установленная на компьютере с Windows и АРМ с LINUX должны быть объединены в одну сеть, только в этом случае возможен запуск в режиме эмуляции (без запрограммированного ПЛК). А как запустить проект автономно на АРМ с Linux без участия компа со средой разработки? Контроллер я прошью в среде разработки, но как сделать чтобы при загрузке системы Линукс на АРМ проект стартовал сразу с автозагрузки? По сути в таком виде всё должно быть передано заказчику.

В настройках рантайма есть "Автозапуск исполнительной системы" и "Автозапуск клиента при запуске ОС"

Для загрузки проекта на узел с Linux посмотрите разделы "Ручная загрузка проекта в среду исполнения" и "Автоматическая загрузка проекта в среду исполнения" в хелпнике среды разработки.

akphantom
21.08.2019, 11:40
Спасибо за ответ! Автоматически исполнительная среда под LINUX не обновилась из под более новой среды разработки под Виндой (пишет об ошибке загрузки файла new\aggregation.so). Где можно скачать последнюю версию под Линукс для обновления в ручном режиме?

KrAssor
21.08.2019, 11:59
Спасибо за ответ! Автоматически исполнительная среда под LINUX не обновилась из под более новой среды разработки под Виндой (пишет об ошибке загрузки файла new\aggregation.so). Где можно скачать последнюю версию под Линукс для обновления в ручном режиме?

Да, на фтп действительно исполнительная система под линукс более старая. Я думаю, Вам лучше написать письмо в саппорт с просьбой выслать более новую версию под линукс.

akphantom
22.08.2019, 05:12
Получил от разработчиков актуальную версию под линукс. Выгрузил проект на компьютер (АРМ), запустил на нём с мозиллы по адресу 127.0.0.1/index.html. Всё тормозит безбожно. Просто нереально работать. Хотя оперативной памяти 4Гб на машине, не слабая, да и линукс сильно не грузит компьютер. Как-то можно ускорить работу MS4D? На компе со средой разработки в режиме эмуляции всё работало намного быстрее. Проект разрабатывался на компе с виндой и использовался встроенный браузер в MS4D, в Мозилле поведение такого элемента как выпадающий список во всплывающих окнах другое (некорректное). Какой браузер посоветуете под линукс?

UPD: На компьютере АРМ (Intel J1900, 1280x1024, 4Gb DDR3L, 128Gb SSD) при запуске в браузере проекта оперативная память загружена на 50%, процессор 4х ядерный, ядра грузятся по-очереди под 100%.

KrAssor
22.08.2019, 09:34
Мне кажется, что слабоват проц. У меня на Core-i5-4400 все норм. А вот у заказчика стоит один из арм с amd a4 6300apu - там тоже подтормаживает проект.

akphantom
23.08.2019, 09:50
Мне кажется, что слабоват проц. У меня на Core-i5-4400 все норм. А вот у заказчика стоит один из арм с amd a4 6300apu - там тоже подтормаживает проект.

Непонятно почему тормозит. Там никакой серьёзной графики нет, каких-то серьёзных расчётов тоже нет. Помню проекты под WinCC летали на куда более слабых машинах. Даже и в голову не пришло под проект брать компьютер с i5 процессором.

Трофимов Артем
23.08.2019, 11:09
приложите лог рантайма MPLC - сделать это можно подключившись по телнет к АРМ по порту 31550

akphantom
23.08.2019, 11:34
приложите лог рантайма MPLC - сделать это можно подключившись по телнет к АРМ по порту 31550

Отправил проект в ИнСат, подожду что скажут. А что можно увидеть из лога рантайма касательно быстродействия?

Трофимов Артем
23.08.2019, 11:55
можно посмотреть нагрузку по задачам и время выполнения.

akphantom
26.08.2019, 14:06
Добрый день! Подскажите как передать параметры от одного узла к другому (например от параметров АРМ к параметрам ПЛК)? Просто связав их передача не получается. Вроде как за это отвечает служба межузловой связи, однако она доавбена в каждый узел по-умолчанию, а связи нет.

SCADAMaster4D
26.08.2019, 14:11
В чем конкретно заключается проблема? Параметры какого типа пытаетесь передать?

KrAssor
26.08.2019, 14:23
Добрый день! Подскажите как передать параметры от одного узла к другому (например от параметров АРМ к параметрам ПЛК)? Просто связав их передача не получается. Вроде как за это отвечает служба межузловой связи, однако она доавбена в каждый узел по-умолчанию, а связи нет.

Данный функционал точно работает, у меня крутится обмен между 2 ПЛК ОВЕН ПЛК110-60 и АРМ. Скорее всего у вас неправильно где-то выставлены настройки конфигурации. Киньте проект, попробуем разобраться.

akphantom
27.08.2019, 05:42
В чем конкретно заключается проблема? Параметры какого типа пытаетесь передать?

Пытаюсь передать данные типа UINT от АРМ к ПЛК. В качестве АРМ до выгрузки в специально выделенный ПК выступает компьютер со средой разработки..Его IP адрес 127.0.0.1 Адрес ПЛК - адрес в локальной сети 192.168.1.151. ПЛК пингуется с компа, брэндмацэр на компьютере отключен. В режиме симуляции связь есть, при работе на реальном оборудовании межузловой связи нет.

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

VladGC
27.08.2019, 08:54
При вытаскивании на окно параметра Модуль modbus TCP > канал AI > настройки
Тип значения и тип ячейки выпадающий список не предлагается
44310

Так же нельзя вытащить настройки масштабирования
44311

Если перетащить адрес ячейки в окно как инкремент, то это окно виснет.
Если же создать переменную в дереве(ai) перетащить инкремент и связать с адресом, то окно грузится, но значения не применяются

KrAssor
27.08.2019, 09:42
Его IP адрес 127.0.0.1 Адрес ПЛК - адрес в локальной сети 192.168.1.151
В свойствах узла укажите действительный IP адрес АРМ в сети (т.е. тот адрес, который прописан в сетевых настройках компа), а не локалхост. Также необходимо убедится, что АРМ и ПЛК находятся в одной подсети.

сразу меняется и там и там.
Не очень понятно, что мешает поменять адрес и что такое "и там и там". Чуть подробнее, пожалуйста.

akphantom
27.08.2019, 10:47
Не очень понятно, что мешает поменять адрес и что такое "и там и там". Чуть подробнее, пожалуйста.

Если я поставлю действительный IP адрес АРМ в сети, то узел не подключится с загрузкой конфигурации, так как среда разработки находится на самом АРМ. Я попытался в свойствах узла указать адрес локалхост, а в свойствах межузловой связи действительный IP адрес в сети, но если меняешь айпи в одном месте,то он меняется тут же и в другом. Т.е. поля с айпи в свойствах узлах и межузловой связи связаны. Как выйти из такой ситуации? Получается что поэтому межузловая связь и не работает, что там прописан локалхост, но иначе я не могу загрузить проект в среду исполнения на той же машине.

KrAssor
27.08.2019, 11:12
Если я поставлю действительный IP адрес АРМ в сети, то узел не подключится с загрузкой конфигурации, так как среда разработки находится на самом АРМ. Я попытался в свойствах узла указать адрес локалхост, а в свойствах межузловой связи действительный IP адрес в сети, но если меняешь айпи в одном месте,то он меняется тут же и в другом. Т.е. поля с айпи в свойствах узлах и межузловой связи связаны. Как выйти из такой ситуации? Получается что поэтому межузловая связь и не работает, что там прописан локалхост, но иначе я не могу загрузить проект в среду исполнения на той же машине.

Понял.Установите отдельно исполнительную среду MasterSCADA4DRT (настроек там минимум и интуитивно понятны) и тогда сможете нормально подключиться средой разработки

SCADAMaster4D
27.08.2019, 11:56
Если я поставлю действительный IP адрес АРМ в сети, то узел не подключится с загрузкой конфигурации, так как среда разработки находится на самом АРМ.
Если Вы грузите проект из редактора, то в любом случае запустится демо-версия исполнительной системы, на которую загрузится конфигурация узла АРМ.


Я попытался в свойствах узла указать адрес локалхост, а в свойствах межузловой связи действительный IP адрес в сети, но если меняешь айпи в одном месте,то он меняется тут же и в другом. Т.е. поля с айпи в свойствах узлах и межузловой связи связаны. Как выйти из такой ситуации?
IP-адрес в свойствах межузловой связи и должен наследовать адрес самого узла, всё верно.

Укажите в свойствах узла АРМ IP-адрес ПК, где есть исполнительная система, или машины с редактором, и тогда редактор сам запустит исполнительную систему. А в свойствах узла контроллер пропишите IP-адрес контроллера.

akphantom
27.08.2019, 12:15
Укажите в свойствах узла АРМ IP-адрес ПК, где есть исполнительная система, или машины с редактором, и тогда редактор сам запустит исполнительную систему. А в свойствах узла контроллер пропишите IP-адрес контроллера.

Да всё верно, так заработало. Видимо когда впервый раз пробовал ошибся айпишником. Спасибо!

akphantom
27.08.2019, 12:17
Понял.Установите отдельно исполнительную среду MasterSCADA4DRT (настроек там минимум и интуитивно понятны) и тогда сможете нормально подключиться средой разработки

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

gom
27.08.2019, 21:56
Плк110-220.30К м02 связал с MasterSCADA 4D через modbus tcp передавать аналоговые значения в обе стороны получилось, а с дискретными непонятно. Пытаюсь через массивы: в плк slave создал 2 byte=16 бит, а как в скаде это оформить? подобным образом делал через MasterOPC Universal Modbus Server и вин сс флекс - получалось, а тут ошибки при компиляции. Если можно пример с картинками :o

VladGC
28.08.2019, 07:43
Плк110-220.30К м02 связал с MasterSCADA 4D через modbus tcp передавать аналоговые значения в обе стороны получилось, а с дискретными непонятно. Пытаюсь через массивы: в плк slave создал 2 byte=16 бит, а как в скаде это оформить? подобным образом делал через MasterOPC Universal Modbus Server и вин сс флекс - получалось, а тут ошибки при компиляции. Если можно пример с картинками :o

Если вы в плк запаковали дискретные сигналы через int переменную, то ее в скаде надо получить как аналоговый вход. Далее уже работаете с отдельными битами.
(на картинке: 1 задали DI как аналоговый вход с int или uint. 2 извлекаем нужный бит и пишем в новую переменную типа bool. )
На картинке пример получения состояния DI модуля дискретных вводов, состояния в модуле задаются битовой маской UINT16. Я так понял это ваш случай.
44338

VladGC
29.08.2019, 14:18
Добрый день!
Как добавить собственный шаблон модуля ввода вывода или канала ?
Если добавить его в библиотеку, в узле> протоколы > модули его не добавить
В справке есть отсылка
"Рекомендации по созданию новых типов протоколов, модулей" но ссылка не работает
44373

akphantom
02.09.2019, 11:29
Добрый день!

Как выполнить команду в функции SysProcessCreateWithResult под Linux? Например запустить какую-нибудь программу. Просто прописав название программы в свойстве "command" не срабатывает.

Трофимов Артем
02.09.2019, 11:56
попробуйте к аргументам вызова команды подставить пустую строку. + проверьте, что программа имеет атрибут на выполнение и у вас есть разрежение на её запуск

akphantom
02.09.2019, 12:28
В качестве аргумента передаю строку с выхода "PATH" блока ReportFB. Строка эта вида "/home/user/Документы/Protocol.pdf". Программа из терминала запускается, также проверил её запуск с аргументом, всё отлично открывается. (из терминала). Не понятно работает ли функция SysProcessCreateWithResult вообще под линукс, может она рассчитана на вызов командной строки Windows только.

Трофимов Артем
02.09.2019, 14:54
попробуйте для начала команду их дропбира - например простой ifconfig
у меня получалось кооректно отображать нужные данные при вызове системных команд на ПЛК110-MS4

melky
02.09.2019, 15:20
Установил MasterScada4D, оно вообще может работать ?

Из общения с техподдержкой. Язык, на котором написана MasterScada С/С++ а работает, как будто писали на древнем Бейсике. Вечное "Окно не отвечает".

Ноут на AMD A8-6410, графика AMD Radeon R5, память 8 Гб, Windows 10-64x

VladGC
02.09.2019, 15:27
Установил MasterScada4D, оно вообще может работать ?

Из общения с техподдержкой. Язык, на котором написана MasterScada С/С++ а работает, как будто писали на древнем Бейсике. Вечное "Окно не отвечает".

Ноут на AMD A8-6410, графика AMD Radeon R5, память 8 Гб, Windows 10-64x

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

melky
02.09.2019, 15:42
Я просто пока пытаюсь открыть проекты Демо различные, которые есть в ней. По идее, программисты должны были позаботиться о том, что нет реального оборудования для Демо проектов. Простите, но это такой ТРЕШ при запуске на указанном ПК......

Хочется посмотреть в глаза тому программисту, который все это делал, как у него хватило на это терпения вообще ??????? Какой мощности необходим в реальности ПК чтобы ЭТО работало быстро ?

akphantom
03.09.2019, 05:31
попробуйте для начала команду их дропбира - например простой ifconfig
у меня получалось кооректно отображать нужные данные при вызове системных команд на ПЛК110-MS4

Подожду ответа разработчиков на этот вопрос. Функция не возвращает никакого значения при любых командах. Code = 0, Output = нет значения.

UPD: Убедился в работоспособности функции. Ввёл команду "echo "password" | sudo -s reboot" и система успешно перезагрузилась. Непонятно чего не хватает для запуска приложения.

Ещё такой вопрос: кто как решает проблему с нажатием кнопок. Кнопку надо подержать, чтобы успела запустится программа, обрабатывающая её значение, иначе нажатие на кнопку не срабатывает. Единственное верное решение - это установка бита по событию (клик мыши, например)?

VladGC
03.09.2019, 10:21
Так и должно быть ?
44431

Трофимов Артем
03.09.2019, 10:30
Подожду ответа разработчиков на этот вопрос. Функция не возвращает никакого значения при любых командах. Code = 0, Output = нет значения.

UPD: Убедился в работоспособности функции. Ввёл команду "echo "password" | sudo -s reboot" и система успешно перезагрузилась. Непонятно чего не хватает для запуска приложения.

Ещё такой вопрос: кто как решает проблему с нажатием кнопок. Кнопку надо подержать, чтобы успела запустится программа, обрабатывающая её значение, иначе нажатие на кнопку не срабатывает. Единственное верное решение - это установка бита по событию (клик мыши, например)?

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

akphantom
03.09.2019, 10:34
Так и должно быть ?
44431

Если локальное совпадает со всемирным, то да. Надо, видимо, задать часовой пояс.

SCADAMaster4D
03.09.2019, 10:36
SysProcessCreate на linux точно работает, потому что reboot отрабатывает нормально, но некоторые другие команды - нет. Скорей всего есть какая-то особенность с вызовом. Взяли на проверку.

SCADAMaster4D
03.09.2019, 10:37
GET_LOCAL_TIME пока что не рекомендуется к использованию.

VladGC
03.09.2019, 10:46
GET_LOCAL_TIME пока что не рекомендуется к использованию.

На сколько временное явление?
Что бы GET_UTC_TIME внезапно не показал UTC время?

akphantom
03.09.2019, 10:52
SysProcessCreate на linux точно работает, потому что reboot отрабатывает нормально, но некоторые другие команды - нет. Скорей всего есть какая-то особенность с вызовом. Взяли на проверку.

Жду от вас ответа. Задача - автоматически открывать сформированный отчёт в просмотровщике PDF. Под виндой всё работало чётко.

SCADAMaster4D
03.09.2019, 11:07
На сколько временное явление?
Что бы GET_UTC_TIME внезапно не показал UTC время?

Точно не скажу, но не очень временное.

akphantom
03.09.2019, 13:18
Хотел бы поднять ещё один вопрос:

Как контролировать введённые данные в поле ввода? Маска не является спасением, так как она жёстко задаёт количество введённых цифр, а число может иметь разное количество цифр. Использую сенсорный экран в проекте. Появляется всплывающая виртуальная цифровая клавиатура, но она имеет знаки / * % + -, что приведёт к ошибке ввода данных. Существует ли функция чтобы проверить число ли введено?

VladGC
03.09.2019, 13:24
Хотел бы поднять ещё один вопрос:

Как контролировать введённые данные в поле ввода? Маска не является спасением, так как она жёстко задаёт количество введённых цифр, а число может иметь разное количество цифр. Использую сенсорный экран в проекте. Появляется всплывающая виртуальная цифровая клавиатура, но она имеет знаки / * % + -, что приведёт к ошибке ввода данных. Существует ли функция чтобы проверить число ли введено?

Для ввода чисел надо использовать "инкремент" там +-% нельзя вводить . У меня по крайней мере так.
У вас наверное просто текстовый ввод.

Bigcrash
03.09.2019, 14:54
Добрый день.
А в окно можно делать ссылки по http, т.е. грубо говоря из окна сделать микробраузер. Нужно при запуске системы чтоб подгружался сайт одностраничник.
Или как вариант сделать масштабируемую графику. Задача состоит в том, чтоб на карте можно отображать объекты, или хотя бы флаги, что типа тут объект А, а тут объект Б, а при клике по этим флагам открывалось уже основное окно объекта.

KrAssor
03.09.2019, 15:44
Добрый день.
А в окно можно делать ссылки по http, т.е. грубо говоря из окна сделать микробраузер. Нужно при запуске системы чтоб подгружался сайт одностраничник.
Или как вариант сделать масштабируемую графику. Задача состоит в том, чтоб на карте можно отображать объекты, или хотя бы флаги, что типа тут объект А, а тут объект Б, а при клике по этим флагам открывалось уже основное окно объекта.
Выбираете событие "Открыть адрес". Можно открыть как в новом окне, так и в своем контейнере.

melky
03.09.2019, 19:58
хотелось бы услышать от пользователей характеристики их ПК, количество мнемосхем и их загруженность, скорость работы.

Открытие демо проекта "Цифровая подстанция" у меня занимает более 20 секунд. Судя по графике на ней, там простые примитивы.
Еще такой вопрос - а все хотелки на мнемосхеме надо полностью создавать самому ? нет готовых шаблонов ?
Ну если брать как пример "Цифровая подстанция", на много элементов просто нет никакой реакции, либо я не дождался реакцию на нажатия элементов...

b_aleks
03.09.2019, 21:04
хотелось бы услышать от пользователей характеристики их ПК, количество мнемосхем и их загруженность, скорость работы.

Открытие демо проекта "Цифровая подстанция" у меня занимает более 20 секунд. Судя по графике на ней, там простые примитивы.
Еще такой вопрос - а все хотелки на мнемосхеме надо полностью создавать самому ? нет готовых шаблонов ?
Ну если брать как пример "Цифровая подстанция", на много элементов просто нет никакой реакции, либо я не дождался реакцию на нажатия элементов...

Доделал проект, в котором имеется порядка 40 объектов. В каждом из объектов по 8 окон (одно основное, остальные вспомогательные - графики, различные окна управления и т.п.). В некоторых объектах окон больше, но структура та же. Также есть стартовое окно, на которое выведены все эти объекты в виде кнопок с небольшими значками, отображающими различные события на объекте. При предварительном просмотре стартового окна происходит аварийное зависание, соответственно, просмотреть это окно в режиме разработки не представляется возможным. Окна некоторых объектов при предварительном просмотре также подгружаются достаточно долго. В режиме исполнения открытие новых окон объектов из стартового занимает порядка 10 секунд, что не очень-то и быстро.

Плюс ко всему достаточно неудобно редактировать окна (в режиме разработки), в которых много элементов. Например, буквально вчера потратил уйму времени на то, чтобы заменить некоторые элементы новыми. Просто по тому что при перемещении объекта нагрузка на ПК возрастает до предела.

ПК, на котором разрабатываю проект: i3-7100, 8Gb RAM, Win10 x64, HDD, видеокарты нету (без нее тяжеловато).
Как это будет работать на серваке (в плане быстродействия) - пока нет времени протестировать.

По поводу "хотелок" на мнемосхеме. Очень много SVG-элементов рисовал сам (а затем и настраивал атрибуты внутри этого SVG для динамизации), в том числе и трубопроводы, т.к. если "собирать" из того, что есть по умолчанию, смотрится не совсем красиво (как бы не перемещал их друг на друга и в разных направлениях - при компиляции окна все равно все будет вкривь да вкось).

В целом, сама скада понравилась, хоть в ней и не мало косяков.

melky
03.09.2019, 21:28
b_aleks понятно, спасибо за инфу. Буду уговаривать не использовать данную скаду. у меня только счетчики займут порядка 15 тысяч тегов, не считая состояния АВ всех щитов, включая модульку, даже не представляю сколько там еще тысяч тегов...

Сколько у вас на одном экране svg получилось в максимуме ?

В описании сказано, что размеры экранов разработки должны соответствовать потом размерам экранов АРМ. Но то ли демо режимы делались на отшибись, то ли вообще проблемы с масштабированием. По крайней мере у меня сложилось такое ощущение.
Наползающие символы на непонятных графиках, отрисовка при изменении масштабов очень длительная и т.д.

Очень сильно был удивлен скоростью работы после ответа техподдержки, что приложение написано на C/C++

b_aleks
03.09.2019, 21:53
Да, 15к тегов это конечно не мало. У меня в моем около 1к. Ну по сравнению с третьей версией этой же скады, в четвертой некоторые вещи реализовать достаточно проще за счет программ. Возможно еще, что не будет так тормозить, если реализовать типовой объект сначала в библиотеке, а потом наследовать его в дереве объектов. Это подойдет если много однотипных объектов.

По поводу вопроса - есть один объект, на котором около 180 SVG-элементов. Вот как раз про него я писал в предыдущем ответе.

А по поводу масштабирования и наползающих элементов - возможно в разделе "Экран" у свойств элементов или окон стоят значения "Абсолютные", а не "Относительные". По крайней мере, я пробовал запускать свой проект на ПК с разными разрешениями мониторов - все масштабировалось нормально. Даже пробовал с телефона подключаться - вроде бы тоже проблем не было.

melky
03.09.2019, 22:24
Спасибо, попробую для проверки накидать однотипных svg штук 200.
Сейчас посмотрел свой другой проектик в другой системе, 144 однотипных SVG, плюс некоторое количество дополнительных элементов. Загрузка да, занимает некоторое время, но не 20 секунд точно. примерно секунды 3. А вот изменение масштабов практически сразу.

Точно надо для сравнения повторить какой-нибудь экран.
Написал в личку, если не сложно поделиться для пробы.

ASo
04.09.2019, 07:20
А зачем Вам MS именно для подстанции? Возьмите специализированные системы.

Bigcrash
04.09.2019, 08:16
Возможно ли масштабирование обычной графики. Т.е. добавил картинку высокого разрешения, но через хром размер окна никак не меняется, соответственно картинка всегда одного размера. Как сделать привычное масштабирование?

akphantom
04.09.2019, 08:59
Добрый день! Много пишут про тормознутость системы в чём и я убедился. Для разработки серьёзного проекта нужен мощный комп, тут ничего не поделаешь. НО какие есть способы оптимизации быстродействия системы в режиме исполнения?

Возникли вопросы применительно к задаче ускорения быстродействия проекта (в среде исполнения):

1. Что даёт возможность "заменить наследников на экземпляры" для объекта, помещённого в библиотеку?
2. Какой эффект даёт "инкапсуляция связей" окна?
3. Объект можно назначить в узел и можно назначить в задачу. Какая разница?
4. Как можно определить время выполнения программ и загруженность CPU этими процессами? Что если замарочиться и более медленные процессы назначить в задачи с бОльшим периодом исполнения?
5. Заметил, что использование окна с трендами очень серьёзно затормаживает скорость исполнения, выкинул этот контрол из проекта. Какие ещё процессы тормозят систему? Как их лучше настроить?

KrAssor
04.09.2019, 11:47
Могу ошибаться, пусть SCADAMaster4D меня поправит:
1. Назначение в узел заставляет весь объект крутиться в основной задаче узла.
2. Для меньших тормозов оптимизируйте выполнение ваших объектов. Для менее приоритетных алгоритмов создавайте отдельные задачи с большим временем выполнения. Не запихивайте все программы и объекты в основную задачу - в 90% случаев они там крутятся и обрабатываются просто так. Например: есть контрол со значением температуры. По клику появляется всплывающее окно с графиком, расчетами, контролами регулировки оборудования - это все можно засунуть в задачу по вызову, не нужно это крутить в периодической задаче, тем более в высокоприоритетной основной.
3. Если я правильно понимаю, то каждая задача - это отдельный поток. Соответственно выполнение всех алгоритмов в одном потоке снижает эффективность использования проца.

VladGC
04.09.2019, 12:36
Добрый день!
Что означает эта ошибка в отчете ?
Column 'Параметр 1' from data source 'Архив_данных' not found in table 'table1'
Что надо сделать что бы исправить?

Надо сделать параметр архивируемым.
А вот с этим непонятно что делать:

Column 'Архив_данных_Начало' from data source 'Переменные' not found in table 'table1'

SCADAMaster4D
04.09.2019, 17:00
Могу ошибаться, пусть SCADAMaster4D меня поправит:
1. Назначение в узел заставляет весь объект крутиться в основной задаче узла.
2. Для меньших тормозов оптимизируйте выполнение ваших объектов. Для менее приоритетных алгоритмов создавайте отдельные задачи с большим временем выполнения. Не запихивайте все программы и объекты в основную задачу - в 90% случаев они там крутятся и обрабатываются просто так. Например: есть контрол со значением температуры. По клику появляется всплывающее окно с графиком, расчетами, контролами регулировки оборудования - это все можно засунуть в задачу по вызову, не нужно это крутить в периодической задаче, тем более в высокоприоритетной основной.
3. Если я правильно понимаю, то каждая задача - это отдельный поток. Соответственно выполнение всех алгоритмов в одном потоке снижает эффективность использования проца.

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

Быстродействие серверной части.
Фактическое время и период выполнения прикладных задач сервера можно посмотреть через диагностический порт 31550 (более подробно в справке в разделе «Как получить диагностическую информацию среды исполнения»). По умолчанию период задачи установлен 100 миллисекунд. Разработчик проекта должен проследить, чтобы фактическое время выполнения задачи даже в крайнем случае не превышало бы 80% от периода. А лучше – не более 50%. Если время фактического выполнения приближается к периоду или превышает его (что недопустимо), то необходимо увеличить период вызова задачи. Например, если все компоненты проекта назначены для исполнения в основную задачу и время её фактического выполнения составляет в среднем 300 миллисекунд, то период исполнения основной задачи желательно установить не менее 500 миллисекунд. При этом, те части системы управления, для которых время реакции 500 миллисекунд недопустимо велико (например, защиты и блокировки), то их выделяют в отдельную задачу с более частым периодом исполнения (например, 50 миллисекунд). У этой более быстрой задачи так же необходимо следить, чтобы фактическое время не превышало бы периодичность вызова. Чтобы обеспечить возможность сокращения периода вызова, более быстрая задача должна содержать как можно меньше программных компонентов. Теоретически, задачи запускаются в разных потоках параллельно и не должны влиять друг на друга. На практике же это сильно зависит от разных факторов, в том числе от работы диспетчера потоков операционной системы и общего количества потоков. Поэтому нужно следить не только за фактическим временем выполнения каждой задачи, но за фактическим периодом вызова – следить, чтобы он не увеличивался относительно заданного.

Теперь о быстродействии визуализации.
Насколько мы видим, основная часть нареканий относится именно к ней. Быстродействие большинства происходящих на экране изменений– открытие новых окон, появление всплывающих, анимация различных элементов - обусловлена скоростью исполнения скриптов в среде визуализации. За последнее время мы проделали большую работу по оптимизации их исполнения. В частности, был полностью переписан движок визуализации с учётом современных технологий. Это позволило увеличить быстродействие визуализации по некоторым показателям до 10 раз. Новая версия движка визуализации будет доступна в тестовом режиме в версии 1.2.7.

SCADAMaster4D
04.09.2019, 17:01
Добрый день!
Что означает эта ошибка в отчете ?
Column 'Параметр 1' from data source 'Архив_данных' not found in table 'table1'
Что надо сделать что бы исправить?

Надо сделать параметр архивируемым.
А вот с этим непонятно что делать:

Column 'Архив_данных_Начало' from data source 'Переменные' not found in table 'table1'

Пришлите проект на support.ms4d@insat.ru

melky
04.09.2019, 22:44
ASo контроль состояния АВ в ТП всего лишь часть, ставить на каждый чих специализированное ПО нет смысла, его даже заказчик не видит.
Оптимально применение именно Scada какой-нибудь.

SCADAMaster4D а что касательно драйверной части, которая должна опрашивать приборы в цикле без остановки и периода ? какова будет нагрузка на сервер при чтении более 300-х счетчиков Меркурий ?
Количество счетчиков на одной линии связи не более 5-ти. Опять же, выяснил, что MS не умеет работать с COM портом поверх TCP как клиент. ТО есть это 300/5=60 или более виртуальных COM портов... интересно, столько возможно создать на одном экземпляре Windows ?

akphantom
05.09.2019, 05:24
В целом, Вы правы. Но это касается только серверной части. Здесь нужно разделять быстродействие прикладных программ, исполняемых сервером, и быстродействие визуализации – кода JS, исполняемого графическим клиентом. Скорости исполнения этих задач почти не связаны между собой.

Быстродействие серверной части.
Фактическое время и период выполнения прикладных задач сервера можно посмотреть через диагностический порт 31550 (более подробно в справке в разделе «Как получить диагностическую информацию среды исполнения»).

Добрый день!

M05/09 02:20:53.494 N=3692 A=1065 O0=46(3004,e46) U0=1389(100,100,115)(10,6,18)(,0,4,8) U1=1390(100,100,109)(0,0,3)(,0,0,1) HR=1(60) M=21280Kb L=2045Kb

M05/09 02:21:03.521 N=3957 A=1161 O0=49(3004,e49) U0=1489(100,100,115)(10,6,18)(,0,4,7) U1=1490(100,100,109)(0,0,3)(,0,0,0) HR=1(60) M=21280Kb L=2045Kb

M05/09 02:21:13.547 N=4222 A=1256 O0=53(3003,e53) U0=1589(100,100,115)(10,6,18)(,0,4,7) U1=1589(100,100,109)(0,0,3)(,0,0,0) HR=1(60) M=21280Kb L=2044Kb

Вот строчка диагностической информации из моего проекта. Правильно ли я понимаю, что исходя из параметра U0 при заданном времени цикла 100мс реальное максимальное время выполнения одного цикла не превышает 18мс? Параметр U0 постоянно увеличивается, прибывая на 100 циклов каждые 10 секунд, что соответствует времени выполнения 100мс одного цикла. В данном случае я ничего не оптимизировал и все задачи крутятся в основной. А что означает параметр U1? Это время выполнения чего?

ASo
05.09.2019, 06:30
ASo контроль состояния АВ в ТП всего лишь часть, ставить на каждый чих специализированное ПО нет смысла, его даже заказчик не видит.
Оптимально применение именно Scada какой-нибудь.


Проверять небалансы по счётчикам, генерить получасовки тоже в рукопашную? Или это не обычные электросети?

KrAssor
05.09.2019, 09:48
ASo Опять же, выяснил, что MS не умеет работать с COM портом поверх TCP как клиент.
Пожалуйста
44464

ASo
05.09.2019, 10:08
Это не то. Надо для произвольного протокола.

KrAssor
05.09.2019, 11:27
Это не то. Надо для произвольного протокола.
Это, в принципе, не особо относится к функционалу SCADA систем. Поставьте OPC сервера, в них реализуете все протоколы опросов устройств, которые нужны. В скаду отдаете унифицированными OPC DA, UA. Для этих целей это все как раз и было придумано.

melky
06.09.2019, 14:40
ASo Это просто людям нужно понимать энергопотребление своего "предприятия".
KrAssor - а кто вам сказал, что у меня Modbus RTU ????

НЕ НАДО предлагать OPC там где они нафик не нужны... пожалуйста

Вот пример, у MasterScada4D есть драйвер для Меркурий 230, а для однофазников НЕТ.
Ну и так далее в том же духе... я как раз выяснял возможность написания драйверов под нее для недостающего, но и тут не все "сахар"...

SCADAMaster
06.09.2019, 15:33
Опять же, выяснил, что MS не умеет работать с COM портом поверх TCP как клиент.
Конечно же умеет. Это обычный запрос по TCP/IP.
Текущий драйвер меркурия действительно работает только через COM. Но сейчас ведется разработка нового драйвера (который будет поддерживать и новые модели Меркуриев), где будет и COM и TCP.
Счетчики СЭТ и ПСЧ от НЗИФ уже сделаны. Также скоро будет добавлена энергомера. Все они будут работать как через COM, так и через TCP.

KrAssor
06.09.2019, 15:34
KrAssor - а кто вам сказал, что у меня Modbus RTU ????

НЕ НАДО предлагать OPC там где они нафик не нужны... пожалуйста


А причем тут именно Modbus RTU? Я про него не сказал ни слова. OPC сервера есть разные. Multi-Protocol MasterOPC Server - вот для примера, если необходимо реализовать обмен по своему протоколу. В этом вообще вся суть, ради которой создали технологию OPC - предоставить разработчику фиксированный интерфейс для работы с устройствами, которые имеют различные протоколы и стандарты обмена.

melky
06.09.2019, 15:59
SCADAMaster вопрос, почему для ВСЕХ приборов не сделать работу с COM портом поверх TCP ?
Независимо на какой прибор я буду писать драйвер ? То есть в API или как у вас там устроено предусмотреть возможность работы линии связи COM, COM over TCP (UDP)
Что значит новые модели Меркуриев ? речь о банальном 230-м, сидящем за преобразователем интерфейса Ethernet - RS485.
Как выше написал, не уверен что система переварит 300 овер дофига виртуальных COM портов... насколько помню на это было ограничение в ОС.

KrAssor - OPC DA и т.д. кроме UA работают только в Windows среде, меня это не устраивает.
И опять же, если есть возможность писать драйвера в самой среде, зачем прибегать к OPC даже универсальным ?
Момент номер 2, за Универсальный OPC от Инсат, написав для него драйвер для устройства я еще должен платить ? вот с пуркуа бы ?

SCADAMaster
06.09.2019, 16:15
SCADAMaster вопрос, почему для ВСЕХ приборов не сделать работу с COM портом поверх TCP ?

Это реализация делается на уровне каждого конкретного драйвера. В целом это правильно, потому что прибор может вообще работать только по UDP, и ни COM, ни TCP использовать уже нельзя.
В ОРС сервере кстати примерно также - на этапе разработки указывается какие интерфейсы может использовать тот или иной драйвер. Правда с MPS сделать реализацию различных интерфейсов значительно проще.



Что значит новые модели Меркуриев ? речь о банальном 230-м, сидящем за преобразователем интерфейса Ethernet - RS485.

Имеющийся драйвер Меркурия - перенесенный из MS3, достаточно старый. Сейчас мы его переделываем, и само собой нужны новые модели счетчиков которые появились у Инкотекс - 234, 236.



Как выше написал, не уверен что система переварит 300 овер дофига виртуальных COM портов... насколько помню на это было ограничение в ОС.

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



Момент номер 2, за Универсальный OPC от Инсат, написав для него драйвер для устройства я еще должен платить ? вот с пуркуа бы ?

Не за него, а за плагин User Protocol, но цена на него смешная.
И вообще логично, что раз вы используете инструментарий который реализуют большую часть функций, и от вас по сути требуется только послать что-то в порт, а потом обработать, то за этот инструментарий нужно платить.

melky
06.09.2019, 16:54
Так протокол 234, 236 тот же самый, есть конечно отличия, но это не отменяет их предназначение по работе с портом или с портом поверх TCP в зависимости от условий подключения.
Получается сейчас у вас по два драйвера на один прибор ? глупо. Прибор, который работает по COM может быть подключен так же и через преобразователь интерфейса, последовательность посылок данных при работе со стороны драйвера не меняется. По крайней мере я в своих драйверах пакеты никак не меняю, просто указываю системе, что линия у меня TCP клиент, с таким то IP и таким то портом.

Цена у него не смешная, так как зависит не от наличия единицы плагина а за количество тегов - 300 счетчиков да на 25 - 7,5 тысяч тегов.
Или вы изменили с тех пор политику ценовую для данного решения ? Ну и само по себе, я пишу драйвер и я же еще кому-то должен платить за это ? весело...

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

SCADAMaster
06.09.2019, 17:17
Так протокол 234, 236 тот же самый, есть конечно отличия, но это не отменяет их предназначение по работе с портом или с портом поверх TCP в зависимости от условий подключения.

Отличия есть, в чтении архивов.


Получается сейчас у вас по два драйвера на один прибор ? глупо.
Пока что один.
Когда выпустим новый, старый уберем (скроем)


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

Обмен по TCP и COM имеет существенные отличия. Не ясно какие драйверы имеются ввиду, но очевидно эти отличия реализуются на уровне самого драйвера.



Цена у него не смешная, так как зависит не от наличия единицы плагина а за количество тегов - 300 счетчиков да на 25 - 7,5 тысяч тегов.

Верно, только градация по тегам идет 500, 2500 и безлимитная. При этом безлимитная стоит 5000 рублей.
Учитывая вы получаете DA, HDA и UA сервер это очень низкая цена



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

Политика не менялась.
Пишите то вы драйвер себе, вот только на нашем готовом инструментарии, который упрощает вашу работу до банальных посылок в порт и последующей обработки. Да еще наверняка и в техподдержку будете обращаться, в процессе разработки. ПО (в том числе инструменты разработки) такой же товар как контроллеры, приборы, компьютеры и прочие инструменты которые облегают работу разработчика. Странно что это приходится объяснять.
А написать с нуля OPC DA, а тем более HDA или UA сервер - очень непростая задача.

melky
06.09.2019, 20:54
драйвера устройств под другую систему, где разработчики позаботились о том, чтобы конечному пользователю не пришлось заморачиваться как именно работает линия связи - Com или Com поверх TCP. Думал в MasterScada аналогично, но как оказалось ошибался. Пока еще не изучал API, что вообще в ней можно а что нет.

з.ы. конечно буду мучать техподдержку, когда доберусь :)

На счет цены принято, действительно не сильно дорого, думал дороже.. Еще нет пока желания использовать Универсальный OPC из-за языка, там только LUA и C++. А на счет 4D обещали C# еще пару лет назад, только если правильно понял, воз и ныне там... Опять же пока только C++ при использовании API в 4D

Кстати вопрос по архивам, куда в MasterScada4D они попадают ? так же в теги основной БД ?
Просто не первый раз сталкиваюсь с красивыми рекламными лозунгами разных систем, но вот технической документации по архитектуре практически нет ни у кого. Имеет ввиду как именно все устроено и как взаимодействует.

Для понимания, в качестве примера смотреть функциональную схему. Вот что-то вроде такой функциональной схемы хотелось бы видеть и для ПО. Очень редкие продукты могут этим похвастаться. А такие схемы как правило снимают часть лишних вопросов.

https://owen.ru/product/plk63

SCADAMaster
06.09.2019, 21:38
драйвера устройств под другую систему, где разработчики позаботились о том, чтобы конечному пользователю не пришлось заморачиваться как именно работает линия связи - Com или Com поверх TCP. Думал в MasterScada аналогично, но как оказалось ошибался. Пока еще не изучал API, что вообще в ней можно а что нет.

В Multi-Protocol так и сделано - есть функция sendandrecive, в которую нужно передать данные, а потом обработать полученные. Какой тип связи роли не играет - она сама со всем разбирается.
В MS4D действительно отдельные функции, но обернуть все в одну функцию, которая сама уже определять по какому интерфейсу идет обмен - дело 15 строк кода.

melky
06.09.2019, 22:01
Ага, чувствуется подход программиста и с вашей стороны ��
Почему вы вдруг решили, что остальные пользователи вашей системы тоже
программисты? Вот и обернули бы в 15 строк кода для остальных.
Я вот "шашки" в руки взял всего пару-тройку лет назад. В смысле вообще занялся программированием.
Из-за этого нет желания прыгать с одного языка на другой.
А C# в 4D вы обещаете к концу года уже не первый год.

SCADAMaster
07.09.2019, 11:26
Почему вы вдруг решили, что остальные пользователи вашей системы тоже программисты?

Если беретесь писать драйвер, значит объявляете себя программистом. Ну а раз назвался груздем...



Вот и обернули бы в 15 строк кода для остальных.

Вот как начнете драйвер писать - напишите нам, мы вам дадим пример.

Евгений_1
07.09.2019, 21:04
Ощущение, что "руль" где-то рядом.
MS4D 1.2.6.11895, ПЛК110-MS4 ver. 5.562
Пытаюсь открыть всплывающее окно по нажатию кнопки мыши. Как в видосе по "MS4D.Быстрый старт.Часть 2".
В режиме эмуляции все работает - окно открывается.
После загрузки в контроллер - нифига. Причем в разных браузерах. На разных компах. И даже в браузере телефона при заходе с внешнего IP.
Т.е. с адреса 127.0.0.0 работает. С 192.168.0.105(такой у ПЛК адрес во внутренней сети) - нет.

В какую сторону копать?

Спасибо.

З.Ы. Сейчас даже тупо демонстрационный проект из "Быстрый старт.Урок 2" в контроллер загрузил. Та же фигня.
Все антивирусы, фаерволы и блокировщики рекламы отключены. Да и не должно это, по идее, влиять.

KrAssor
09.09.2019, 13:40
Ощущение, что "руль" где-то рядом.
MS4D 1.2.6.11895, ПЛК110-MS4 ver. 5.562
Пытаюсь открыть всплывающее окно по нажатию кнопки мыши. Как в видосе по "MS4D.Быстрый старт.Часть 2".
В режиме эмуляции все работает - окно открывается.
После загрузки в контроллер - нифига. Причем в разных браузерах. На разных компах. И даже в браузере телефона при заходе с внешнего IP.
Т.е. с адреса 127.0.0.0 работает. С 192.168.0.105(такой у ПЛК адрес во внутренней сети) - нет.

В какую сторону копать?

Спасибо.

З.Ы. Сейчас даже тупо демонстрационный проект из "Быстрый старт.Урок 2" в контроллер загрузил. Та же фигня.
Все антивирусы, фаерволы и блокировщики рекламы отключены. Да и не должно это, по идее, влиять.

Скиньте ваш проект посмотреть.

VladGC
09.09.2019, 15:40
Добрый день коллеги, кто нибудь пользовался темами ? Как создавать свою произвольную тему? Или хотя бы как применить тему из библиотеки?

44531

SCADAMaster4D
09.09.2019, 16:24
Добрый день коллеги, кто нибудь пользовался темами ? Как создавать свою произвольную тему? Или хотя бы как применить тему из библиотеки?

44531

Темы скоро будут изъяты из MS4, так что никак.

SCADAMaster4D
09.09.2019, 16:25
Ощущение, что "руль" где-то рядом.
MS4D 1.2.6.11895, ПЛК110-MS4 ver. 5.562
Пытаюсь открыть всплывающее окно по нажатию кнопки мыши. Как в видосе по "MS4D.Быстрый старт.Часть 2".
В режиме эмуляции все работает - окно открывается.
После загрузки в контроллер - нифига. Причем в разных браузерах. На разных компах. И даже в браузере телефона при заходе с внешнего IP.
Т.е. с адреса 127.0.0.0 работает. С 192.168.0.105(такой у ПЛК адрес во внутренней сети) - нет.

В какую сторону копать?

Спасибо.

З.Ы. Сейчас даже тупо демонстрационный проект из "Быстрый старт.Урок 2" в контроллер загрузил. Та же фигня.
Все антивирусы, фаерволы и блокировщики рекламы отключены. Да и не должно это, по идее, влиять.

Ответили по почте.

VladGC
09.09.2019, 17:00
Темы скоро будут изъяты из MS4, так что никак.
То есть даже шаблона окна не создать ?
Или какие то параметры по умолчанию(как в MS3, размеры окон и т.п.)
хочется для всех окон поставить нормальный серый efefef, вместо фиолетового оттенка #F5F0F5

akphantom
11.09.2019, 06:34
Добрый день! В журнале аварийных сообщений при одновременном появлении нескольких активных сообщений отображается только одно. Если они появляются по-очереди,то отображаются нормально. Остальные видно только в архивном журнале. В чём может быть причина? В журнале применён только один фильтр - активность == TRUE.

SCADAMaster4D
11.09.2019, 14:37
То есть даже шаблона окна не создать ?
Или какие то параметры по умолчанию(как в MS3, размеры окон и т.п.)
хочется для всех окон поставить нормальный серый efefef, вместо фиолетового оттенка #F5F0F5

Сейчас нет.

SCADAMaster4D
11.09.2019, 14:40
Добрый день! В журнале аварийных сообщений при одновременном появлении нескольких активных сообщений отображается только одно. Если они появляются по-очереди,то отображаются нормально. Остальные видно только в архивном журнале. В чём может быть причина? В журнале применён только один фильтр - активность == TRUE.

Это сообщения с разных тревог имеются в виду? Не с одной?

akphantom
11.09.2019, 15:01
Это сообщения с разных тревог имеются в виду? Не с одной?

Да, с разных тревог. Тревоги находятся в разных объектах, объекты исполняются в одном узле.

SCADAMaster4D
11.09.2019, 21:43
Да, с разных тревог. Тревоги находятся в разных объектах, объекты исполняются в одном узле.

Пришлите проект на support.ms4d@insat.ru

akphantom
16.09.2019, 06:33
Добрый день! Можно ли каким-нибудь образом менять ширину столбцов таблиц в редакторе отчётов? При её создании она растягивается от края до края и больше не поддаётся редактированию.

VladGC
18.09.2019, 13:29
Добрый день! Можно ли каким-нибудь образом менять ширину столбцов таблиц в редакторе отчётов? При её создании она растягивается от края до края и больше не поддаётся редактированию.
Точно ширина столбцов таблиц, не бенд на всю ширину растягивается?

akphantom
19.09.2019, 10:25
Точно ширина столбцов таблиц, не бенд на всю ширину растягивается?

Таблица - это и есть бенд данных. Я таблицу размещаю в панели, она растягиваются на всю ширину панели. Ширина столбцов при этом делится равномерно по количеству столбцов. Хотелось бы подредактировать ширину столбцов: одни сделать шире другие уже.

VladGC
19.09.2019, 10:32
Таблица - это и есть бенд данных. Я таблицу размещаю в панели, она растягиваются на всю ширину панели. Ширина столбцов при этом делится равномерно по количеству столбцов. Хотелось бы подредактировать ширину столбцов: одни сделать шире другие уже.
У меня все меняется, тыкнул на нужный столбец и двигаешь
Либо выбираешь столбец, затем shift + стрелки влево вправо
44679

akphantom
19.09.2019, 11:43
Речь идёт о бэнде данных, организованных в форме таблицы. Для примера сделал скрин с размером который не знаю как поменять.44680

VladGC
19.09.2019, 12:12
Речь идёт о бэнде данных, организованных в форме таблицы. Для примера сделал скрин с размером который не знаю как поменять.44680

Походу нельзя, на вкладке формат нельзя отменить замок. У меня тоже не получилось изменить размер

SCADAMaster4D
19.09.2019, 12:25
Есть вариант. Сохранить шаблон отчета в файл .mrt, затем найти нужные элементы Table1_Cell и вручную прописать значения <ClientRectangle>. Затем открыть отредактированный шаблон отчета в проекте.

VladGC
19.09.2019, 16:33
SCADAMaster4D, подскажите пожалуйста,
1. Есть вариант сгенерировать архив? для отработки отчетов, допустим на год, с шагом 1 с.
Сейчас выглядит так:
с шагом в минуту.
44690
2.Как удалить архив переменной? В MS3 можно было удалить одним нажатием.

KrAssor
23.09.2019, 14:49
Добрый день! В проекте есть несколько узлов. Можно ли как-то изменить наименование закладки в браузере для каждого узла отдельно? А то закладка каждого узла называется одинаково по имени проекта.

VladGC
23.09.2019, 17:05
Здравствуйте!
Как оставить ось Y по одному параметру? При отображении нескольких графиков, пользоваться осью невозможно.
44751

SCADAMaster4D
24.09.2019, 16:59
SCADAMaster4D, подскажите пожалуйста,
1. Есть вариант сгенерировать архив? для отработки отчетов, допустим на год, с шагом 1 с.
Сейчас выглядит так:
с шагом в минуту.
44690
2.Как удалить архив переменной? В MS3 можно было удалить одним нажатием.

1. Можно так.
2. Средствами MS4D не удалить, только вручную из базы.

SCADAMaster4D
24.09.2019, 17:00
Здравствуйте!
Как оставить ось Y по одному параметру? При отображении нескольких графиков, пользоваться осью невозможно.
44751

Записана задача на реализацию, сейчас никак.

SCADAMaster4D
24.09.2019, 17:12
Добрый день! В проекте есть несколько узлов. Можно ли как-то изменить наименование закладки в браузере для каждого узла отдельно? А то закладка каждого узла называется одинаково по имени проекта.

На данный момент нельзя.

akphantom
26.09.2019, 09:52
Добрый день!

Товарищи нужна срочно помощь. Пытался недели две заставить функцию SysProcessCreateWithResult запускать приложения под Linux. Из этого ничего не получилось, т.к. Линукс не стартует GUI приложения из-под Рута (система исполнения работает с рут правами). Приянл решение - снёс Линукс. Поставил Windows 10, но проблема никуда не ушла. Если на компе в системе разработки в режиме эмуляции всё работает и запускается нормально, но на удалённом АРМ возникли проблемы. Пробовал разные сборки Win10, в том числе Win10 IoT Enterprise, сейчас поставил обычную LTSB-версию Enterprise, и проблемы возникли две:

1. Разлиные приложения стартуют только в фоновом режиме. Попытка запустить explorer.exe, чтобы открыть папку где лежат отчёты приводит к зависанию рантайма.
2. Кнопки не нажимаются мышью. У меня сенсорный дисплей, может это связано с этим. Работает только события типа "клик мышью", но переменные, привязанные к свойству "нажатие" не получают значения TRUE. Кнопка нажимается только пальцем.

VladGC
26.09.2019, 10:26
Добрый день!


2. Кнопки не нажимаются мышью. У меня сенсорный дисплей, может это связано с этим. Работает только события типа "клик мышью", но переменные, привязанные к свойству "нажатие" не получают значения TRUE. Кнопка нажимается только пальцем.До
Попробуйте создать событие "Клик мыши" на кнопке. добавить "установить параметр"
В источнике написать "TRUE" , в приемник перетащить связь с нужной bool переменной.
Так переменная примет TRUE при нажатии на кнопке, у меня на сенсорном так работает.

44794

akphantom
26.09.2019, 10:31
До
Попробуйте создать событие "Клик мыши" на кнопке. добавить "установить параметр"
В источнике написать "TRUE" , в приемник перетащить связь с нужной bool переменной.
Так переменная примет TRUE при нажатии на кнопке, у меня на сенсорном так работает.

44794

Все кнопки у меня так и работают. Иначе пропуск нажатия может быть. Но я написал потому, что они в принципе не нажимались. Самой анимации нажатия даже не было. Это глюк встроенного клиента. Попробовал гугл хром - всё в порядке.

akphantom
26.09.2019, 10:33
Добрый день!

Товарищи нужна срочно помощь. Пытался недели две заставить функцию SysProcessCreateWithResult запускать приложения под Linux. Из этого ничего не получилось, т.к. Линукс не стартует GUI приложения из-под Рута (система исполнения работает с рут правами). Приянл решение - снёс Линукс. Поставил Windows 10, но проблема никуда не ушла. Если на компе в системе разработки в режиме эмуляции всё работает и запускается нормально, но на удалённом АРМ возникли проблемы. Пробовал разные сборки Win10, в том числе Win10 IoT Enterprise, сейчас поставил обычную LTSB-версию Enterprise, и проблемы возникли две:

1. Разлиные приложения стартуют только в фоновом режиме. Попытка запустить explorer.exe, чтобы открыть папку где лежат отчёты приводит к зависанию рантайма.
2. Кнопки не нажимаются мышью. У меня сенсорный дисплей, может это связано с этим. Работает только события типа "клик мышью", но переменные, привязанные к свойству "нажатие" не получают значения TRUE. Кнопка нажимается только пальцем.

ПО поводу этого вопроса добавлю, что службу MS4DService я запускаю от имени пользователя, а не от СИСТЕМЫ

VladGC
26.09.2019, 11:42
ПО поводу этого вопроса добавлю, что службу MS4DService я запускаю от имени пользователя, а не от СИСТЕМЫ
У меня тоже не выходит открыть папку, на удаленном арм(сам клиент тоже на удаленном арм)
Еще огорчает тот факт что ссылки вида file:///C:/ или C:/ не открываются
iexplore и edge сами открывают проводник.

akphantom
26.09.2019, 12:35
У меня тоже не выходит открыть папку, на удаленном арм(сам клиент тоже на удаленном арм)
Еще огорчает тот факт что ссылки вида file:///C:/ или C:/ не открываются
iexplore и edge сами открывают проводник.

К сожалению это так. Я пытался открывать ссылки типа file:///C:/ через панель "контейнер окна". Думал получится браузер.
Как вариант можно поднять ftp сервер и вводить адрес типа ftp://имя:пароль@адрес .Однако мне это не поможет, через контейнер окна такой адрес не открывается,
только на полный экран. У меня браузер работать будет в режиме "киоск", т.е. вернуться потом назад никак не получится оператору АРМ

Спорягин Кирилл
30.09.2019, 15:10
Добрый день, есть несколько вопросов по МастерСкада 4Д:
1. как создать константу (глобальную, локальную)?
2. создал тип перечисление, но как им воспользоваться в MasterST? Не хочет воспринимать текст вида if Mode = Auto then, где Auto одно из значений перечисления Mode.

VladGC
30.09.2019, 16:50
Добрый день, есть несколько вопросов по МастерСкада 4Д:
1. как создать константу (глобальную, локальную)?
2. создал тип перечисление, но как им воспользоваться в MasterST? Не хочет воспринимать текст вида if Mode = Auto then, где Auto одно из значений перечисления Mode.

1. В проекте или в ST ?
2. перечисление это ENUM на выходе которого целое число, в ST надо сравнивать тип INT(UDINT и т.п.), а не string

Спорягин Кирилл
30.09.2019, 17:21
1. В проекте или в ST ?
2. перечисление это ENUM на выходе которого целое число, в ST надо сравнивать тип INT(UDINT и т.п.), а не string

1. Объявить в проекте, а пользоваться где хочу. В ST или FBD. С локальными разобрался. Как глобальную объявить?
2. Тогда какой от него смысл, если я в ST или FBD вынужден писать if Mode = 1 then ... , вместо if Mode = Auto then... Ведь в этом и смысл перечисления, чтобы дать труднозапоминаемым значениям (0, 1, 2 и т.д.) осмысленные названия.

VladGC
30.09.2019, 17:29
1. Объявить в проекте, а пользоваться где хочу. В ST или FBD. С локальными разобрался. Как глобальную объявить?
2. Тогда какой от него смысл, если я в ST или FBD вынужден писать if Mode = 1 then ... , вместо if Mode = Auto then... Ведь в этом и смысл перечисления, чтобы дать труднозапоминаемым значениям (0, 1, 2 и т.д.) осмысленные названия.
1. По глобальной тоже интересно, но думаю из двух мест записать не получится
2. Если пользоваться фб "выпадающий список", который в палитре для экранов, то будет то что вы хотите.
Там в переменную будет передаваться текущая выбранная строка.
Я с enum работал только в ПЛК segnetics, там он тоже передает номер строки, по этому это решение у меня боли не вызывает :)

KrAssor
30.09.2019, 18:02
Добрый день, есть несколько вопросов по МастерСкада 4Д:
1. как создать константу (глобальную, локальную)?
2. создал тип перечисление, но как им воспользоваться в MasterST? Не хочет воспринимать текст вида if Mode = Auto then, где Auto одно из значений перечисления Mode.

1. В свойствах параметра, если не ошибаюсь, выбирается свойство "константа". Вроде в свойстве "сохранять"
2.Mode - ваш тип перечисления. Mode1 - ваша переменная в программе типа Mode. If Mode1 = Mode#Auto then...

Спорягин Кирилл
30.09.2019, 18:12
1. В свойствах параметра, если не ошибаюсь, выбирается свойство "константа". Вроде в свойстве "сохранять"
2.Mode - ваш тип перечисления. Mode1 - ваша переменная в программе типа Mode. If Mode1 = Mode#Auto then...

1. А, видимо, может быть глобальная константа для некого объекта.
2. О, то, что надо в справке про это ни слова.

VladGC
30.09.2019, 18:18
1. В свойствах параметра, если не ошибаюсь, выбирается свойство "константа". Вроде в свойстве "сохранять"
2.Mode - ваш тип перечисления. Mode1 - ваша переменная в программе типа Mode. If Mode1 = Mode#Auto then...

Сколько же ещё неописанных возможностей.
Это я про перечисление. Или это стандартная вещь для ST?

Спорягин Кирилл
30.09.2019, 18:21
2. Хорошо. Но еще бы лучше было бы если бы при вводе "Mode." редактор ST предлагал бы варианты значений Mode.

KrAssor
01.10.2019, 10:25
1. А, видимо, может быть глобальная константа для некого объекта.
2. О, то, что надо в справке про это ни слова.

Перечисления оговорены в стандарте МЭК (структуры и безразмерные массивы тоже были введены МЭК буквально недавно). Я порядок работы с перечислениями взял из демок. Там вообще много интересных фишек.
Выпадающий список с вариантами перечислений - это уже надо выражать пожелания к конкретной среде разработки.

KrAssor
02.10.2019, 11:30
Добрый день. Известна ли примерная дата выхода версии 1.2.7?

SCADAMaster4D
04.10.2019, 14:30
На данный момент 14 октября.

akphantom
04.10.2019, 18:10
На данный момент 14 октября.

Жду с нетерпением. Я так понимаю мы получим новый движок вывода графики и проект должен полететь на селеронах J1900. Из текущих замечаний много исправлений выйдут в этой версии?

Карбофос
17.10.2019, 09:38
Добрый день!

В MS 3.х была обширная библиотека ФБ (обработки сигналов, вычислений, генераторов значений и проч.) - есть этому всему аналоги в 4Д?

В MS 3.х был параметр "расчет", в котором можно было использовать большое количество функций, например для работы с архивом - есть им аналоги в 4Д?

SCADAMaster4D
17.10.2019, 12:22
В MS 3.х была обширная библиотека ФБ (обработки сигналов, вычислений, генераторов значений и проч.) - есть этому всему аналоги в 4Д?
В 4D тоже есть библиотека ФБ.


В MS 3.х был параметр "расчет", в котором можно было использовать большое количество функций, например для работы с архивом - есть им аналоги в 4Д?
Да, программы FBD, ST, SFC, LD.

Карбофос
17.10.2019, 12:54
В 4D тоже есть библиотека ФБ.
Ну, как-то их совсем мало. Или есть подключаемые?


Да, программы FBD, ST, SFC, LD.
Ну вот например мне нужно получить архивное значение параметра по состоянию на час назад - где мне взять функцию для получения этого в ST? Есть где-то перечень функций с описаниями?

KrAssor
17.10.2019, 13:22
Ну, как-то их совсем мало. Или есть подключаемые?
OSCAT

Ну вот например мне нужно получить архивное значение параметра по состоянию на час назад - где мне взять функцию для получения этого в ST? Есть где-то перечень функций с описаниями?
в хелпнике поглядите READ_ARCHIVE_DATA и забирайте массив данных. Также элемент "График" умеет показывать архивные данные параметра + Генератор отчетов

VladGC
17.10.2019, 14:51
Добрый день!
SCADAMaster4D Будет ли обновлен WhatsNew и справка к версии 1.2.7 ?

SCADAMaster4D
25.10.2019, 11:24
В понедельник 28 числа будет.

akphantom
26.10.2019, 06:14
Добрый день коллеги! кто-нибудь исполнительную среду под линукс использовал? У меня под линуксом есть проблемы с загрузкой проектов в исполнительную среду. Нажимаю загрузку конфигурации, проект загружается, но при этом происходит подвисание узла с ошибкой ZeroLength, автозапуска проекта не происходит. При этом нужно на целевом компе (АРМ) закрыть браузер с проектом и запустить заново вручную. Тогда всё запускается. Второй вопрос: в настройказ узла указан порт WEB-сервера 8043. Под виндой именно такой порт и будет в исполнительной истеме. Под линукс устанавливается 80 порт. Как же мне WEB-сервер заставить работать через порт 8043 под линукс?
Третий момент: есть подвисания генератора отчётов (пока не понял когда и как это происходит). Проявляется это в том, что на выходе функц.блока ReportFB выходная переменная building переходит в вечный TRUE. Помогает только перезапуск АРМ. Логи выслал разработчкам. Хочу понимать - это происходит только у меня или это системная пробема MS4D?

VladGC
26.10.2019, 10:56
Добрый день коллеги! кто-нибудь исполнительную среду под линукс использовал? У меня под линуксом есть проблемы с загрузкой проектов в исполнительную среду. Нажимаю загрузку конфигурации, проект загружается, но при этом происходит подвисание узла с ошибкой ZeroLength, автозапуска проекта не происходит. При этом нужно на целевом компе (АРМ) закрыть браузер с проектом и запустить заново вручную. Тогда всё запускается. Второй вопрос: в настройказ узла указан порт WEB-сервера 8043. Под виндой именно такой порт и будет в исполнительной истеме. Под линукс устанавливается 80 порт. Как же мне WEB-сервер заставить работать через порт 8043 под линукс?
Третий момент: есть подвисания генератора отчётов (пока не понял когда и как это происходит). Проявляется это в том, что на выходе функц.блока ReportFB выходная переменная building переходит в вечный TRUE. Помогает только перезапуск АРМ. Логи выслал разработчкам. Хочу понимать - это происходит только у меня или это системная пробема MS4D?
У меня ответ переходит в вечный true, когда большой диапазон стоит при маленьком интервале.
Допустим диапазон год с интервалом секунда — недождаться и через сутки.
Очень нахватает кнопки stopBuilding

akphantom
26.10.2019, 17:06
У меня ответ переходит в вечный true, когда большой диапазон стоит при маленьком интервале.
Допустим диапазон год с интервалом секунда — недождаться и через сутки.
Очень нахватает кнопки stopBuilding

У меня в отчёте нет архивируемых переменных. Все переменные хранят текущие значения.

VladGC
01.11.2019, 17:59
Коллеги , кто нибудь делал выполнение программы reportFB в задаче экрана ? Что бы разные клиенты могли построить одни и те же отчеты, но с разными входными параметрами(начало, конец, интервал)

KrAssor
06.11.2019, 14:16
Добрый день! SCADAMaster4D, можете провести небольшой ликбез по формированию собственного дерева выбора? Желательно в разрезе применения к тренду.

Vitaliy
07.11.2019, 10:30
Добрый день!
На компьютере заказчика при запуске проекта на исполнение ошибка 404?

KrAssor
07.11.2019, 10:42
Добрый день!
На компьютере заказчика при запуске проекта на исполнение ошибка 404?

Структура сети какая? Сетевые настройки? Пинг идет? Адрес и порт правильно указываете? Номер экземпляра в параметрах запуска RT какой стоит?

Vitaliy
08.11.2019, 06:20
Структура сети какая? Сетевые настройки? Пинг идет? Адрес и порт правильно указываете? Номер экземпляра в параметрах запуска RT какой стоит?

Локальный проект, ip 127.0.0.1:8043, пингуется, номер экземпляра 0.

KrAssor
08.11.2019, 09:10
Локальный проект, ip 127.0.0.1:8043, пингуется, номер экземпляра 0.

Ну так ничего и не будет у Вас работать. 127.0.0.1 - это локалхост. В настройках узла укажите действительный адрес машины, на которой установлен рантайм. и заходите по этому адресу.

Vitaliy
08.11.2019, 10:33
Ну так ничего и не будет у Вас работать. 127.0.0.1 - это локалхост. В настройках узла укажите действительный адрес машины, на которой установлен рантайм. и заходите по этому адресу.
Реальны адрес то же пробовал результат тот же. Или еще где то надо менять? Или дело в чем то другом. (У меня на рабочем ПК с адресом локалхоста работает.)

KrAssor
08.11.2019, 10:42
Реальны адрес то же пробовал результат тот же. Или еще где то надо менять? Или дело в чем то другом. (У меня на рабочем ПК с адресом локалхоста работает.)

Сделайте скриншот настроек узла в среде разработки, скриншот сетевых настроек узла, на котором стоит рантайм, и скриншот сетевых настроек АРМ, с которого нет доступа

KrAssor
11.11.2019, 10:43
Добрый день! SCADAMaster4D, можете провести небольшой ликбез по формированию собственного дерева выбора? Желательно в разрезе применения к тренду.

Подниму еще раз пост. Уж очень интересен элемент.

Владимир Протопланов
15.11.2019, 08:35
Хотелось бы узнать поддерживаемую разрядность математических функций. В справке такой информации нет.
45621

Владимир Протопланов
15.11.2019, 08:48
Ок, понял, что результат деления не должен превышать 16 бит в случае с целочисленным делением. Но почему так реализовано, если на вход подается параметр типа DINT? В чем смысл?

jack2006
19.11.2019, 14:06
Здравствуйте, у меня проблема:
Версия :1.2.7.13839
Не получается сформировать отчет в режиме "подключить выбранный узел с загрузкой конфигурации", хотя в режиме "Эмуляция" отчет нормально формируется.
В проекте один сервер (сервер диспетчеризации), рантайм запускаю(MASTERSCADA 4D RT) на машине разработчика в настройках сервера указываю 127.0.0.1. Заливка проекта и сам проект работает нормально. На выходе экземпляра ReportFB.Building = FALSE. Стоит подать положительный фронта на ReportFB.Execute и выход ReportFB.Building начинает выдавать TRUE и больше ничего не происходит(ни какая ошибка не высвечивается), повторной подачей различных сигналов на ReportFB.Execute ничего не изменяется блок может "висеть" в таком положении пока не перезагрузиш рантайм. Входы Format InPath положение дел не меняют. Даже если на вход блока подать пустой шаблон тоже ничего не формируется.
И это только в рантайм. В режиме эмуляции все отлично.
Все папки в Roaming\InSat пишутся нормально под текущим пользователем.

b_aleks
23.11.2019, 13:17
Доброго времени суток!
Хотелось бы поднять вопрос по работе с трендами в режиме исполнения. У кого какие возникают трудности и каких функций, на ваш взгляд, не хватает?

nnnn1
01.12.2019, 11:59
Добрый день. Как написать комментарии при квитировании аварии в "журнал" или "журнал архива" (masterscada 4D)?

Владимир Протопланов
03.12.2019, 07:14
45921

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

Vitaliy
04.12.2019, 07:42
Добрый день всем!
Как реализовать открытие того или иного всплывающего окна при помощи выпадающего списка?

KrAssor
04.12.2019, 11:00
Добрый день всем!
Как реализовать открытие того или иного всплывающего окна при помощи выпадающего списка?

Я пока не понял, как можно передать ссылку в параметр "Окно" события "открыть окно". Поэтому предлагаю такой вариант: попробуйте использовать событие "открыть адрес" и передавайте адрес нужного окна в виде "http://127.0.0.1:8043/index.html?№№№№№", ГДЕ №№№№ - id окна. Адрес выбираете в программе исходя из значения выпадающего списка. Адрес можно открывать в Окне или в Панели.

Guchi
05.12.2019, 08:04
Добры день!

есть несколько вопросов
1. по поводу графиков интересно как можно организовать отображение только архивных трендов без прорисовки текущих параметров?
2. вопрос по дереву выбора пока разработчиками не раскрыт...хотелось бы получить какое-либо описание или даже пример реализации.
3. вопрос по таблице...исходные данные: имеем 20 параметров, которые архивируются каждые 5 секунд (даже если параметры не изменялись)... необходимо внедрить в проект таблицу где будет в шапке время, параметр 1 (значение), параметр 2....параметр 20. Соответственно в столбцах будет отображено время и значения параметров...Запилить панель конфигурирования таблицы, так чтобы можно было выводить эти параметры (средние за интервал) как за минуты, так и за часы, сутки.

если у кого есть идеи по этому поводу то прошу отписать.

antonvt
05.12.2019, 09:59
Добрый день, не могу скачать с сайта ИнСАТ demo версию скады 4D, видимо упал FTP. можно ли действующую ссылку на скачивание среды разработки и исполнительной среды ?

melky
05.12.2019, 10:14
Ничего не упало, только что проверил, к ftp подключился...

KrAssor
05.12.2019, 10:26
Добрый день, не могу скачать с сайта ИнСАТ demo версию скады 4D, видимо упал FTP. можно ли действующую ссылку на скачивание среды разработки и исполнительной среды ?

ftp работае. только что качал

KrAssor
05.12.2019, 10:29
Добры день!

есть несколько вопросов
1. по поводу графиков интересно как можно организовать отображение только архивных трендов без прорисовки текущих параметров?
2. вопрос по дереву выбора пока разработчиками не раскрыт...хотелось бы получить какое-либо описание или даже пример реализации.
3. вопрос по таблице...исходные данные: имеем 20 параметров, которые архивируются каждые 5 секунд (даже если параметры не изменялись)... необходимо внедрить в проект таблицу где будет в шапке время, параметр 1 (значение), параметр 2....параметр 20. Соответственно в столбцах будет отображено время и значения параметров...Запилить панель конфигурирования таблицы, так чтобы можно было выводить эти параметры (средние за интервал) как за минуты, так и за часы, сутки.

если у кого есть идеи по этому поводу то прошу отписать.

1. Делаете выборку из архива в массив/массив структур, состоящий из значений и отметок времени. Передаете на график x/y
3. Используйте таблицу данных, куда можно вывести все, что нужно

nnnn1
05.12.2019, 13:19
Добрый день. Если добавить пользователей(безопасность) в среде разработки ,то в режиме эмуляции браузер и ms4d client бесконечно обновляется.Как можно исправить?

компилятор hmi v2
Версия: 1.2.7.14342

Спорягин Кирилл
05.12.2019, 16:02
Добрый день.
Не пойму, какой адрес в веб-браузере необходимо ввести, чтобы получить доступ к проекту загруженному на эту же машину, на которой располагается среда разработки.
Пробовал 127.0.0.1:8043. Пишет, что страница не найдена.

VladGC
05.12.2019, 16:45
Добрый день.
Не пойму, какой адрес в веб-браузере необходимо ввести, чтобы получить доступ к проекту загруженному на эту же машину, на которой располагается среда разработки.
Пробовал 127.0.0.1:8043. Пишет, что страница не найдена.
А у вас точно тот ip в свойствах узла ?
46002

KrAssor
05.12.2019, 17:12
Добрый день.
Не пойму, какой адрес в веб-браузере необходимо ввести, чтобы получить доступ к проекту загруженному на эту же машину, на которой располагается среда разработки.
Пробовал 127.0.0.1:8043. Пишет, что страница не найдена.

В рантайме процесс запущен? Возможно он остановился какой-то ошибкой

Спорягин Кирилл
05.12.2019, 17:27
А у вас точно тот ip в свойствах узла ?
46002

Да, ip проверял. Он точно такой.

Спорягин Кирилл
05.12.2019, 17:27
В рантайме процесс запущен? Возможно он остановился какой-то ошибкой

А как проверить, что в рантайме процесс запущен?
Если я подключаюсь из среды разработки, то подключение происходит!

KrAssor
06.12.2019, 09:36
А как проверить, что в рантайме процесс запущен?
Если я подключаюсь из среды разработки, то подключение происходит!
В трее висит значок монитора рантайм в виде шестеренки
46013

nnnn1
06.12.2019, 12:36
Добрый день.
1. Не подключается к opc.tcp://opc.owencloud.ru:4843 с opc ua client(MS4D)
(для теста можно использовать данные от демо-аккаунта: имя пользователя demo@owen.ru, пароль demo123)
2. При использовании Тренда или График XY основной экран становится нечетким.

nnnn1
06.12.2019, 12:39
Добрый день.
Не пойму, какой адрес в веб-браузере необходимо ввести, чтобы получить доступ к проекту загруженному на эту же машину, на которой располагается среда разработки.
Пробовал 127.0.0.1:8043. Пишет, что страница не найдена.

Добрый день.
Надо назначить стартовый экран.

Guchi
06.12.2019, 17:42
1. Делаете выборку из архива в массив/массив структур, состоящий из значений и отметок времени. Передаете на график x/y
3. Используйте таблицу данных, куда можно вывести все, что нужно

1. Тут очень тяжко зашло...если не трудно простенький пример!!!
пыхчу второй день...не выходит!!!

Спорягин Кирилл
09.12.2019, 08:54
В трее висит значок монитора рантайм в виде шестеренки
46013

Видимо, нужно все же RT устанавливать. Установки среды разработки не достаточно.

Minarion
09.12.2019, 12:22
Здравствуйте! Столкнулся с проблемой в отчетах. В тех. поддержке сказали что пока данный функционал не реализован, и когда будет реализован неизвестно.

Суть:
В отчётах есть возможность обработки данных: счётчик пробега и количество включений
"Счетчик пробега" - определяет время наработки данной переменной, т.е. количество секунд которые переменная была во включенном состоянии, на данном интервале времени.
"Количество включений" – определяет количество переходов из "Ложь" в "Истина" переменной на интервале времени. Из справки MS4D

По факту они не работают. Задал вопрос в разделе CoDeSyS (https://owen.ru/forum/showthread.php?t=10555&page=736&p=318902&viewfull=1#post318902) о возможности реализации данного функционала посредством программы ST. Однако есть некоторые проблемы.
1. Количество отслеживаемых подобным образом параметров - сотни, в дальнейшем тысячи. Писать вручную программу для каждой переменной - вариант, но крайний.
2. Сама программа в скада не обнуляет счетчики через сутки.
3. Интервал начинается после загрузки узла, то есть если исполнение было перезагружено аккурат перед построением отчета - данных соответственно не будет.

Возможно ли реализовать данный функционал действующими инструментами MS4D?

VladGC
09.12.2019, 12:48
Видимо, нужно все же RT устанавливать. Установки среды разработки не достаточно.

А вы назначили стартовое окно как советовали выше?
460734607446075

VladGC
09.12.2019, 13:27
Здравствуйте! Столкнулся с проблемой в отчетах. В тех. поддержке сказали что пока данный функционал не реализован, и когда будет реализован неизвестно.

Суть:
В отчётах есть возможность обработки данных: счётчик пробега и количество включений
"Счетчик пробега" - определяет время наработки данной переменной, т.е. количество секунд которые переменная была во включенном состоянии, на данном интервале времени.
"Количество включений" – определяет количество переходов из "Ложь" в "Истина" переменной на интервале времени. Из справки MS4D

По факту они не работают. Задал вопрос в разделе CoDeSyS (https://owen.ru/forum/showthread.php?t=10555&page=736&p=318902&viewfull=1#post318902) о возможности реализации данного функционала посредством программы ST. Однако есть некоторые проблемы.
1. Количество отслеживаемых подобным образом параметров - сотни, в дальнейшем тысячи. Писать вручную программу для каждой переменной - вариант, но крайний.
2. Сама программа в скада не обнуляет счетчики через сутки.
3. Интервал начинается после загрузки узла, то есть если исполнение было перезагружено аккурат перед построением отчета - данных соответственно не будет.

Возможно ли реализовать данный функционал действующими инструментами MS4D?
В библиотеке OSCAT есть пара блоков
M_T
точность в милисекундах, но нужно самому суммировать значения
ONTIME
точность в секундах, но суммируется все время наработки, надо только поиграться с сохранением переменной, в справке описано
46076

nnnn1
09.12.2019, 19:01
Добрый день. Как можно получить системное время для использования в fbd блоке?

VladGC
10.12.2019, 05:59
Добрый день. Как можно получить системное время для использования в fbd блоке?

В редакторе программы есть вкладка палитра, там в библиотеке выбираете «Функции работы с датой-временем»
там есть блок GET_UTC_TIME, только надо учитывать что это время без учета часовых поясов, GET_LOCAL_TIME не работает пока

Спорягин Кирилл
10.12.2019, 08:51
А вы назначили стартовое окно как советовали выше?
460734607446075

Да. Стартовое окно задавал.
Действительно, оказалось, что установки только среды разработки не достаточно. Когда установил, еще и среду исполнения все заработало.
Спасибо.

Minarion
10.12.2019, 09:51
ONTIME
точность в секундах, но суммируется все время наработки, надо только поиграться с сохранением переменной, в справке описано
46076
Здравствуйте! Спасибо за ответ!
Остановился на ONTIME.

Не подскажите как выход SECONDS(UDINT) преобразовать из секунд в вид часы.минуты.секунды?

b_aleks
10.12.2019, 12:50
Не подскажите как выход SECONDS(UDINT) преобразовать из секунд в вид часы.минуты.секунды?

Возможно получится через функцию UDINT_TO_TIME

Minarion
10.12.2019, 14:07
Возможно получится через функцию UDINT_TO_TIME
Не получается. Возвращает ошибку: Недопустимое присваивание:UDINT := TIME

b_aleks
10.12.2019, 17:38
Не получается. Возвращает ошибку: Недопустимое присваивание:UDINT := TIME

Скиньте строчку кода, где вы преобразуете из одного типа в другой. У меня в проекте есть много мест, где я эту функцию использую, таких ошибок не возникало. Я пишу так:
ПеременнаяТипаTIME := UDINT_TO_TIME(ПеременнаяТипаUDINT);

lttn
10.12.2019, 17:57
Всем день добрый.
Где прочитать про ограничения на количество переменных и занимаемый ими объем? Как контролировать превышение?
Что именно означает сообщение "Невозможно записать [ItemId=217003 Task=0 Path=] = System.Collections.Generic.Dictionary`2[System.Int32,System.Object], так как размер 22920 превышает максимальный 15992" при попытке изменить в отладчике элемент массива?

lttn
10.12.2019, 20:45
1) если взять пустой проект, добавить в него контроллер PLC110_30, добавить массив, скажем, целочисленных переменных со свойством "сохранять=да" и доступом "чтение-запись" - все работает предсказуемо. Меняем с помощью отладчика значения компонентов массива, отключаем отладчик отключаем питание контроллера, включаем питание контроллера, подключаем отладчик и видим те значения компонентов массива, которые были туда перед этим записаны. Все хорошо.
2) теперь создаем структуру вида "десяток целых переменных, пара строковых, несколько битовых". И меняем в проекте из пункта 1 тип переменной - был массив целых чисел, стал массив структур. Повторяем эксперимент с изменением значений и отключением питания. И... после включения питания в массиве структур всегда нули во всех полях.

Вопрос: а какого, собственно, рожна? И существует ли способ это обойти?

Minarion
11.12.2019, 07:07
Скиньте строчку кода, где вы преобразуете из одного типа в другой. У меня в проекте есть много мест, где я эту функцию использую, таких ошибок не возникало. Я пишу так:
ПеременнаяТипаTIME := UDINT_TO_TIME(ПеременнаяТипаUDINT);

Спасибо! Разобрался.
Надо было добавить ещё одну переменную, а я преобразовывал сразу переменную выхода SECONDS.

ONTIME_myVar(IN:= myVar, RST:= RESTART, SECONDS:= timeMyVar, CYCLES:= cycleMyVar);
timeVar:=UDINT_TO_TIME(timeMyVar*1000);

Minarion
11.12.2019, 09:08
Столкнулся с проблемой с переносом значения этого счётчика времени в отчёт.
Имею переменную типа TIME, в нее записывается значение вида "53m35s". Передаю значение в параметр типа TIME. Его в свою очередь добавляю в переменные отчета, она получает тип TIMESPAN. При формировании отчета выводится значение 3215000.
Каким образом можно в отчете получить время вида часы.минуты.секунды?

lttn
11.12.2019, 12:32
1)
... теперь создаем структуру... И меняем в проекте из пункта 1 тип переменной - был массив целых чисел, стал массив структур. Повторяем эксперимент с изменением значений и отключением питания. И... после включения питания в массиве структур всегда нули во всех полях.


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

VladGC
11.12.2019, 17:46
Столкнулся с проблемой с переносом значения этого счётчика времени в отчёт.
Имею переменную типа TIME, в нее записывается значение вида "53m35s". Передаю значение в параметр типа TIME. Его в свою очередь добавляю в переменные отчета, она получает тип TIMESPAN. При формировании отчета выводится значение 3215000.
Каким образом можно в отчете получить время вида часы.минуты.секунды?
Это походу время в миллисекундах пишется, не пробовали задавать формат времени в ячейке, которая в отчете, может она сама пересчитает ?

Minarion
12.12.2019, 07:47
Это походу время в миллисекундах пишется, не пробовали задавать формат времени в ячейке, которая в отчете, может она сама пересчитает ?
Пробовал. Менял на string, datetime, timespan. Не помогло.
Буду писать в ТП.

VladGC
12.12.2019, 10:42
Пробовал. Менял на string, datetime, timespan. Не помогло.
Буду писать в ТП.
Как решите вопрос, напишите сюда пожалуйста, что бы все знали что делать)

nklim
13.12.2019, 14:33
Добрый день!
Можно ли проект, созданный в версии MasterSCADA 3.10 запустить на версии 4D?

SCADAMaster
13.12.2019, 14:44
Добрый день!
Можно ли проект, созданный в версии MasterSCADA 3.10 запустить на версии 4D?

Нет, это две разные программы, между собой они не совместимы.

nklim
13.12.2019, 14:46
Спасибо за оперативный ответ!

lttn
13.12.2019, 17:15
Всем день добрый.
Каким способом можно сопоставить входы-выходы FBD блока с элементами переменной типа "массив" и с компонентами переменной типа "структура"? А с компонентами переменной типа "массив струтур"?

Minarion
16.12.2019, 07:11
Как решите вопрос, напишите сюда пожалуйста, что бы все знали что делать)
В ТП ответили что это ошибка и должны пофиксить.
Попробовал преобразовывать в ST программе TIME в строковые значения, но не получилось. Возвращается общее количество миллисекунд.

Vitaliy
17.12.2019, 10:20
Добрый день!
Не отрисовываются перья в трендах, в минилегенде значения есть и изменяются.
И еще, после увеличения количества трендов стало самопроизвольно запускаться второе окно рантайма.
Извиняюсь если был подобный вопрос.

Владимир Протопланов
19.12.2019, 04:10
4626246263

Такой вопрос: как все же поменять цвета текста и рамки элемента Часы?

VladGC
19.12.2019, 08:10
4626246263

Такой вопрос: как все же поменять цвета текста и рамки элемента Часы?

Вполне себе может и не работать нормально :)
Попробуйте еще цвет шрифта поменять, рамка станет нужного цвета, а потом цвет шрифта такой какой надо поставьте
Лучше напишите в ТП insat
4626446265

Владимир Протопланов
20.12.2019, 06:24
У меня такой вопрос: Работал ли кто-то со средой с большим количеством тегов, тысяч 50-100? Как себя показывает система, все так же стабильно, как и <1000 ?

Minarion
26.12.2019, 15:27
Здравствуйте! Столкнулся с проблемой PlaySound в ST. В FB всё работает.

VAR
PlaySound_1: PlaySound;
END_VAR

PlaySound_1(Play:= STR_WARNING, Rep:=TRUE, Sound:="03269.MP3");

Выдаёт ошибки:

26.12.2019 17:19:36 Ошибка: Недопустимое использование PlaySound в задаче сервера (Программа_ST_1) Источник: Программа_ST_1 Детали: Положение: Код:
26.12.2019 17:19:36 Ошибка: Неизвестный тип PlaySound Источник: Программа_ST_1 Детали: Положение: 3;23 Код: PlaySound_1

Что я просмотрел?(

KrAssor
26.12.2019, 15:38
Здравствуйте! Столкнулся с проблемой PlaySound в ST. В FB всё работает.

VAR
PlaySound_1: PlaySound;
END_VAR

PlaySound_1(Play:= STR_WARNING, Rep:=TRUE, Sound:="03269.MP3");

Выдаёт ошибки:

26.12.2019 17:19:36 Ошибка: Недопустимое использование PlaySound в задаче сервера (Программа_ST_1) Источник: Программа_ST_1 Детали: Положение: Код:
26.12.2019 17:19:36 Ошибка: Неизвестный тип PlaySound Источник: Программа_ST_1 Детали: Положение: 3;23 Код: PlaySound_1

Что я просмотрел?(

Скорее всего надо выполнять программу в задаче экрана

Minarion
26.12.2019, 15:43
Скорее всего надо выполнять программу в задаче экрана

Вы правы. Спасибо!

nnnn1
09.01.2020, 12:48
Добрый день.
Столкнулся с проблемой, не получается считать значение переменных opc da и opc ua (в эмуляции и в режиме исполнения) .
вместо значения это (Value := 0, SourceTime := 0001-01-01-00:00, StatusCode := 2150760448)

b_aleks
09.01.2020, 13:39
Добрый день.
Столкнулся с проблемой, не получается считать значение переменных opc da и opc ua (в эмуляции и в режиме исполнения) .
вместо значения это (Value := 0, SourceTime := 0001-01-01-00:00, StatusCode := 2150760448)

Значение 2150760448 поля StatusCode - Значение еще не получено от источника данных. Используется в случае, если для параметра не задано начальное значение.
Какое качество переменных отображается в OPC-сервере? Настройки узлов и устройств правильные?

nnnn1
10.01.2020, 19:28
Спасибо за отклик! Решил проблему, запустив в среде исполнения.Раньше запускал в режиме эмуляции, был не внимателен.

Vert
15.01.2020, 13:21
Добрый день. Столкнулся с проблемой записи в архив. База sqlite. Данные записываются с периодом в 100мс. При чтении времени из базы остаются только секунды, а миллисекунды пропадают и вместо них нули. Как исправить? Как получить формат дата/время yyyy-MM-dd hh:mm:ss.fff из базы? Подскажите

игорь_иносат
27.01.2020, 16:13
Добрый день,
1.Работаю с библиотекой HVAC, использую свойства динамизации объектов библиотеки.
2.При вызове окна от кнопки, все работает.
3.При использовании следующей структуры страницы:
Главное окно - "панель вкладок" -->
подобъект мнемосхемы -- вложенная "панель вкладок"-->
контейнер окна + ссылка на необходимое окно,
Динамизация объектов библиотеки отсутствует.
Созданные мной локальные объекты, при этом изменяют свойства.
Интересуют свойства: Вкл, Мощность, Авария и т.д.

OlegGEORG
06.02.2020, 11:51
Добрый день.
Разрабатывал объекты в дереве объектов. Объекты поместил в библиотеку Локальная. В папке проекта данная пользовательская библиотека не появилась.
Добавил эти объекты в созданную Мою библиотеку, сохранить изменения и библиотека появилась в папке проекта.
Но теперь все объекты в дереве объектов и в библиотеках связаны между собой.
Удаление объекта в какой либо библиотеке с выбором галочками удаляемых экземпляров приводит к
нарушению окон и программ остающегося объекта в дереве объектов. Пробовал по-всякому. И удалять объекты
в дереве объектов, в библиотеках объекты также ломаются.
Как разорвать эти связи с библиотеками без последствий для объектов в дереве объектов?

b_aleks
06.02.2020, 12:41
Все, что хранится в библиотеке Локальная доступно только в данном проекте и ни в каком другом, т.е. никаких папок создаваться и не должно.
В случае создания новой пользовательской библиотеки происходит создание папки с библиотекой внутри C:\Users\Public\Documents\MasterSCADA4D\Libraries. Эту библиотеку, в отличие от Локальной, уже можно подключать в другие проекты.

Для того чтобы разорвать связь объекта с библиотечным объектом, нажмите ПКМ по объекту, выберите пункт Сменить тип. Далее выберите библиотечный объект, с которым надо разорвать связь, и нажмите Очистить наследование.
47140

OlegGEORG
19.02.2020, 07:24
Добрый день.
Запускаю проект на исполнение в среде разработки с загрузкой конфигурации в Windows 64. Все работает, OPC-сервер подключает, встроенным клиентом вижу данные симулятора.
Переношу скомпилированный проект в Windows x86, запускаю в отдельно установленной среде исполнения, OPC-сервер, симулятор, браузер Yandex.
В браузере вижу мнемосхему, открываются выпадающие окна, но данные OPC -сервера не получаю. В чем может быть ошибка, и чем проверить соединение с OPC-сервером?

KrAssor
19.02.2020, 09:28
Добрый день.
Запускаю проект на исполнение в среде разработки с загрузкой конфигурации в Windows 64. Все работает, OPC-сервер подключает, встроенным клиентом вижу данные симулятора.
Переношу скомпилированный проект в Windows x86, запускаю в отдельно установленной среде исполнения, OPC-сервер, симулятор, браузер Yandex.
В браузере вижу мнемосхему, открываются выпадающие окна, но данные OPC -сервера не получаю. В чем может быть ошибка, и чем проверить соединение с OPC-сервером?

Попробуйте получить данные сторонним OPC клиентом. Можно скачать тот же OPC сервер бесплатную версию у Инсата , в комплекте есть OPC клиент. Там хотя бы есть лог обмена данных, по которым можно проанализировать причину отсутствия данных. Возможно где-то порты не проброшены, или блокирует фаервол/антивирус.

VladGC
19.02.2020, 12:29
Добрый день.
Запускаю проект на исполнение в среде разработки с загрузкой конфигурации в Windows 64. Все работает, OPC-сервер подключает, встроенным клиентом вижу данные симулятора.
Переношу скомпилированный проект в Windows x86, запускаю в отдельно установленной среде исполнения, OPC-сервер, симулятор, браузер Yandex.
В браузере вижу мнемосхему, открываются выпадающие окна, но данные OPC -сервера не получаю. В чем может быть ошибка, и чем проверить соединение с OPC-сервером?
А к какому OPC серверу скада ?
На обоих ПК одинаковые конфигурации OPC серверов?

nnnn1
19.02.2020, 13:22
Добрый день!
Даю команду для сформирования отчета на вход ФБ ReportFB , выход блока Building постоянно в состоянии true и не переходит в false . Подскажите пожалуйста как можно исправить?

Masterscada4dRT linux, OS Debian 64

VladGC
19.02.2020, 14:45
Добрый день!
Даю команду для сформирования отчета на вход ФБ ReportFB , выход блока Building постоянно в состоянии true и не переходит в false . Подскажите пожалуйста как можно исправить?

Masterscada4dRT linux, OS Debian 64
Отчет периодический ?
Если неверно заданы параметра отчета, интервалы, начало и конец, то тоже может долго строится.

Полистайте тему, тут тоже были схожие проблемы с линуксом и отчетом.

OlegGEORG
19.02.2020, 19:01
Попробуйте получить данные сторонним OPC клиентом.

Подключился к своему ОРС серверу (Modbus Universal MasterOPC Server) клиентом
(Multi-Protocol MasterOPC Server). Данные клиентом получаю, все нормально.
Конфигурация ОРС сервера одинаковая на разных ОС. Брандмауэр антивируса отключил.
Пробовал браузерами Yandex и Opera. Мнемосхема открывается, но данные так и не отражаются.
Буду пробовать еще на одном ПК завтра.

nnnn1
20.02.2020, 06:47
Отчет периодический ?
Если неверно заданы параметра отчета, интервалы, начало и конец, то тоже может долго строится.

Полистайте тему, тут тоже были схожие проблемы с линуксом и отчетом.


Пробовал отчет периодический и по изменению разницы нет. В платформе windows отчет формируется нормально.

VladGC
20.02.2020, 09:38
Пробовал отчет периодический и по изменению разницы нет. В платформе windows отчет формируется нормально.

https://owen.ru/forum/showthread.php?t=30695&p=317247&viewfull=1#post317247
Уточните у коллеги по несчастью :)

kait-volga
26.02.2020, 22:56
Добрый день.

Подскажите пожалуйста, почему компилятор выдает ошибку при использовании элементов "IF THEN" внутри "CASE":

CASE {выражение} OF
1:
IF {выражение} THEN
{последовательность предложений}
END_IF
END_CASE



PROGRAM Программа_ST_1
VAR_OUTPUT
EnO: BOOL := True;
END_VAR

VAR
INT1: INT := 0;
COUNT1: INT := 0;
INT2: INT := 0;
END_VAR



CASE INT1 OF

1: INT1:=2;

2:
IF INT2=2 THEN

COUNT1:=COUNT1+1;

END_IF

END_CASE

END_PROGRAM




26.02.20 23:45:25 Ошибка: Ветвь оператора CASE: ожидается оператор после ':' Источник: Программа_ST_1 Детали: Положение: 12;1 Код: CASE INT1 OF 1 : ... + 1 ; END_IF END_CASE
26.02.20 23:45:25 Ошибка: Ожидается оператор Источник: Программа_ST_1 Детали: Положение: 12;1 Код: 2 : IF INT2 = ... + 1 ; END_IF END_CASE
26.02.20 23:45:25 Ошибка: Ожидается оператор Источник: Программа_ST_1 Детали: Положение: 12;1 Код: END_IF END_CASE

KrAssor
27.02.2020, 09:38
Добрый день.

Подскажите пожалуйста, почему компилятор выдает ошибку при использовании элементов "IF THEN" внутри "CASE":

CASE {выражение} OF
1:
IF {выражение} THEN
{последовательность предложений}
END_IF
END_CASE



PROGRAM Программа_ST_1
VAR_OUTPUT
EnO: BOOL := True;
END_VAR

VAR
INT1: INT := 0;
COUNT1: INT := 0;
INT2: INT := 0;
END_VAR



CASE INT1 OF

1: INT1:=2;

2:
IF INT2=2 THEN

COUNT1:=COUNT1+1;

END_IF

END_CASE

END_PROGRAM




26.02.20 23:45:25 Ошибка: Ветвь оператора CASE: ожидается оператор после ':' Источник: Программа_ST_1 Детали: Положение: 12;1 Код: CASE INT1 OF 1 : ... + 1 ; END_IF END_CASE
26.02.20 23:45:25 Ошибка: Ожидается оператор Источник: Программа_ST_1 Детали: Положение: 12;1 Код: 2 : IF INT2 = ... + 1 ; END_IF END_CASE
26.02.20 23:45:25 Ошибка: Ожидается оператор Источник: Программа_ST_1 Детали: Положение: 12;1 Код: END_IF END_CASE



END_IF;
END_CASE;

kait-volga
27.02.2020, 11:13
END_IF;
END_CASE;

Спасибо. Смутило, что при выводе конструкции IF THEN за пределы CASE, компилятор проглатывал, несмотря на отсутствие закрывающих ";"

Minarion
06.03.2020, 08:00
Здравствуйте!

Использую функцию ONTIME.

Если переменных myVar большое количество (тысячи), то для каждой надо объявить свой счетчик наработки, и соответственно прописывать в ST программе каждый раз новый счетчик для каждой переменной.

Возможно ли как-то это оптимизировать? Или придется вручную прописывать счетчики для каждой переменной?

KrAssor
06.03.2020, 10:10
Здравствуйте!

Использую функцию ONTIME.

Если переменных myVar большое количество (тысячи), то для каждой надо объявить свой счетчик наработки, и соответственно прописывать в ST программе каждый раз новый счетчик для каждой переменной.

Возможно ли как-то это оптимизировать? Или придется вручную прописывать счетчики для каждой переменной?

ДОбрый день. Мб загнать в массив? тогда обработчик значительно сократится

manjey73
07.03.2020, 20:59
Пытаюсь создать таблицу данных на мнемосхеме, не выходит.
1. данные от OPC сервера
2. Как создать таблицу данных переменных из OPC сервера сразу скопом ?
3. Если будет необходимо добавить из этого же OPC сервера другие переменные (после их включения в OPC) поплывут ли данные и привязки ?

manjey73
10.03.2020, 10:21
По таблицам данных так и не будет решения ? в справке что-то по данной теме как-то не густо.

Minarion
11.03.2020, 09:28
ДОбрый день. Мб загнать в массив? тогда обработчик значительно сократится

Здравствуйте!
А не могли бы Вы привести пример? А то как загнать в массив я понимаю, а как при этом уменьшить обработчик - не понимаю.

taldikin
11.03.2020, 12:17
создал проект на пк в офисе теперь его необходимо перенести на другой пк который подключен к ПЛК110 ms4 в цеху.Копированием файлов проекта не получается. Раздела в мастер скада 4d импорт \экспорт в закладке управление проектом тоже нет.

KrAssor
11.03.2020, 13:50
Здравствуйте!
А не могли бы Вы привести пример? А то как загнать в массив я понимаю, а как при этом уменьшить обработчик - не понимаю.

объявляете массив структур (либо несколько массивов)
далее прогоняете по циклу
FOR i:= 1 to N do
IF massive[i].struct1 = <какое-то условие> THEN
massive[i].struct 2 := <что-то сделать>;
END_IF;
END_FOR;

KrAssor
11.03.2020, 13:55
создал проект на пк в офисе теперь его необходимо перенести на другой пк который подключен к ПЛК110 ms4 в цеху.Копированием файлов проекта не получается. Раздела в мастер скада 4d импорт \экспорт в закладке управление проектом тоже нет.

Копируете целиком папку проекта. В нем должны быть папка Res (если загружали внешние ресурсы), info.xml и вашфайлпроекта.fdb. на другом компе открываете проект из этой папки. Если использовались внешние библиотеки - соответственно тоже перетаскиваете их на другой комп

taldikin
11.03.2020, 15:10
Копируете целиком папку проекта. В нем должны быть папка Res (если загружали внешние ресурсы), info.xml и вашфайлпроекта.fdb. на другом компе открываете проект из этой папки. Если использовались внешние библиотеки - соответственно тоже перетаскиваете их на другой комп

Так и делаю но при копировании происходит странное файл с fdb уменьшается на несколько кило а xml размер становится (0) и естественно на новом компе мастер скада их не видит!!! Может какая защита стоит не понимаю!!

Трофимов Артем
11.03.2020, 15:24
Так и делаю но при копировании происходит странное файл с fdb уменьшается на несколько кило а xml размер становится (0) и естественно на новом компе мастер скада их не видит!!! Может какая защита стоит не понимаю!!

попробуйте просто заархивировать папку перед переносом. так какой никакой контроль целостности архива будет при переносе.

taldikin
11.03.2020, 15:33
Так и делаю но при копировании происходит странное файл с fdb уменьшается на несколько кило а xml размер становится (0) и естественно на новом компе мастер скада их не видит!!! Может какая защита стоит не понимаю!!

Решено! Глючил total.cmd на новом ПК скопировал средствами win7 все получилось. Спасибо!

Владимир Протопланов
13.03.2020, 11:41
Вопрос по базам данных. В проекте в системе добавил протокол MSSQL, добавил в него базовый канал Ust1. Планировалось периодически обновлять определенную ячейку в БД подобной командой "Update T1 Set STB = {Ust1} Where Name = 'Zaless';", где Ust1 - имя переменной, в которую транслируется значение, которое я хочу записать в БД. Как бы я ни сталася, ничего не получается.

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

Подскажите, как оформить переменную, так, чтобы ее значение писалось в БД?

Вопрос отпал - нужно было использовать не базовый канал.

Minarion
13.03.2020, 12:30
объявляете массив структур (либо несколько массивов)
далее прогоняете по циклу
FOR i:= 1 to N do
IF massive[i].struct1 = <какое-то условие> THEN
massive[i].struct 2 := <что-то сделать>;
END_IF;
END_FOR;

Спасибо! Очень помогло.
Остаётся вопрос использования функции ONTIME. Возможно ли её так же сократить, или надо для каждой переменной отдельно объявлять и прописывать?

KrAssor
13.03.2020, 13:36
Спасибо! Очень помогло.
Остаётся вопрос использования функции ONTIME. Возможно ли её так же сократить, или надо для каждой переменной отдельно объявлять и прописывать?

не используйте онтайм, считайте время сами с помощью T_PLC_MS

manjey73
16.03.2020, 11:03
Народ, выручайте. https://owen.ru/forum/showthread.php?t=30695&p=327800&viewfull=1#post327800

Как подать на Таблицу данных переменные OPC или Modbus устройства все разом ? Что за таинственный "Источник данных" для таблице, по которому в справке нельзя найти информацию ?....

VladGC
16.03.2020, 11:53
Народ, выручайте. https://owen.ru/forum/showthread.php?t=30695&p=327800&viewfull=1#post327800

Как подать на Таблицу данных переменные OPC или Modbus устройства все разом ? Что за таинственный "Источник данных" для таблице, по которому в справке нельзя найти информацию ?....
Источник данных для таблицы это массив структур
В библиотеке создаете
структуру с необходимыми столбцами: Например
Время и значение
Далее создаете массив,
куда в качестве оси 0 подаете структуру которую создали
Далее кидаете этот массив структур в объект или программу и с ним работаете. Либо заполняете массив данных из программы, либо просто привязываете к элементам массива данные.
В структуре получается вы делаете столбцы таблицы
В массиве структур вы создаете для таблицы строки, соответственно строка либо одна, либо нужное количество

manjey73
16.03.2020, 13:21
Если есть возможность снять видео пример, как создавать и главное, как притянуть созданный массив или структуру к Палитре - Таблица данных ?
Уже не первый день бьюсь с этой таблицей, ничего не выходит. Справка в MS4D просто шикардос, будь под рукой кто ее писал, прибил бы.... :)

Как добавить массив, созданный на основе структуры на Объект, программу и т.д. ? При перетягивании всегда ЗАПРЕТ... куда и как бы не тянул...

VladGC
16.03.2020, 14:07
Если есть возможность снять видео пример, как создавать и главное, как притянуть созданный массив или структуру к Палитре - Таблица данных ?
Уже не первый день бьюсь с этой таблицей, ничего не выходит. Справка в MS4D просто шикардос, будь под рукой кто ее писал, прибил бы.... :)

Как добавить массив, созданный на основе структуры на Объект, программу и т.д. ? При перетягивании всегда ЗАПРЕТ... куда и как бы не тянул...
Вот, посмотрите, что то вроде этого

http://recordit.co/EGjiyUEEbJ

Minarion
16.03.2020, 14:15
Как добавить массив, созданный на основе структуры на Объект, программу и т.д. ? При перетягивании всегда ЗАПРЕТ... куда и как бы не тянул...
Посмотрите в справке раздел: массивы структур в окнах.

manjey73
16.03.2020, 14:34
VladGC Ок, спасибо, подготовил массив, вроде вывел в таблицу данных. Данные ессно по нулям, Как скопом связать данные из OPC и массивом ?
Как при добавлении очередного устройтсва через тот же OPC продублировать новый массив или его расширить ?

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

Minarion пошел копать дальше.

wellguy
17.03.2020, 07:43
Здравствуйте. Только начинаю изучать MS4D. Подскажите, как подключить базу PostgreSQL? Есть где-то инструкция подробная? В справке все сжато. Каналы добавить не понимаю как. Спасибо.

VladGC
17.03.2020, 07:53
Здравствуйте. Только начинаю изучать MS4D. Подскажите, как подключить базу PostgreSQL? Есть где-то инструкция подробная? В справке все сжато. Каналы добавить не понимаю как. Спасибо.

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

VladGC
17.03.2020, 07:59
VladGC Ок, спасибо, подготовил массив, вроде вывел в таблицу данных. Данные ессно по нулям, Как скопом связать данные из OPC и массивом ?
Как при добавлении очередного устройтсва через тот же OPC продублировать новый массив или его расширить ?

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

Minarion пошел копать дальше.
В справке есть описание скриптов c# что бы всякие такие вещи делать, но один раз поковыряв, что то там не до конца заработало, в итоге забил
Если узнаете как, напишите сюда, будем все знать:)

wellguy
17.03.2020, 08:01
Вам надо что бы скада сама туда архив писала или вы хотите сами писать запросы?

Для начала простейших архив параметров. Автоматом по изменению, либо периодический.

VladGC
17.03.2020, 08:32
Для начала простейших архив параметров. Автоматом по изменению, либо периодический.
1. В самой postgre создать пользователя
2. Создать бд > назначить пользователя бд
3. В MS4 в выбранном архиве, у меня в примере "Основной архив данных" вписать параметры для подключения скады к бд
4. Создать переменную, установить галочку "архивировать"

При первом подключении, скада сама создаст таблицы и пр.
Дальше, MS4 будет сама туда все писать и извлекать данные , например для трендов, отчетов и т.д.

Данные будут хранится в таблице data_raw
Каждой переменной из скады в таблице item назначается свой внутренний id. По нему можно будет найти все данные в data_raw
В таблице projects хранятся названия и id проектов


479234792447925

wellguy
17.03.2020, 09:12
1. В самой postgre создать пользователя
2. Создать бд > назначить пользователя бд
3. В MS4 в выбранном архиве, у меня в примере "Основной архив данных" вписать параметры для подключения скады к бд
4. Создать переменную, установить галочку "архивировать"

При первом подключении, скада сама создаст таблицы и пр.
Дальше, MS4 будет сама туда все писать и извлекать данные , например для трендов, отчетов и т.д.

Данные будут хранится в таблице data_raw
Каждой переменной из скады в таблице item назначается свой внутренний id. По нему можно будет найти все данные в data_raw
В таблице projects хранятся названия и id проектов


479234792447925

То есть протокол PostgreSQL создавать не надо?

manjey73
17.03.2020, 10:18
VladGC может я дурак, но такие механизмы должны быть в ядре системы без привлечения скриптов и программирования. Иначе как потребитель, далекий к языкам программирования должен ввести по 25-30 переменных с 300-от однотипных устройств. Годик так потратить времени ? В то время как в других системах я потрачу не больше пары дней для добавления в БД без графиков а уже потом буду сидеть и отрисовывать мнемосхемы с картинками...

Minarion
17.03.2020, 10:56
То есть протокол PostgreSQL создавать не надо?

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

VladGC
17.03.2020, 11:14
VladGC может я дурак, но такие механизмы должны быть в ядре системы без привлечения скриптов и программирования. Иначе как потребитель, далекий к языкам программирования должен ввести по 25-30 переменных с 300-от однотипных устройств. Годик так потратить времени ? В то время как в других системах я потрачу не больше пары дней для добавления в БД без графиков а уже потом буду сидеть и отрисовывать мнемосхемы с картинками...
Я с вами согласен, это надо адресовать в insat, они подскажут как сделать быстрее :) Вы еще до графиков в MS4 не дошли? Там вас то же будут ждать сюрпризы
А другие системы это какие ?

manjey73
17.03.2020, 11:31
VladGC RapidScada, табличные данные создаются только в путь, дублировать каналы легко в БД, предусмотрено ядром. Редактирование и WEB работает быстрее. Но тут заказчик "ХОЧЕТ"..... а я сижу и разбираюсь со справкой :(

VladGC
17.03.2020, 11:53
VladGC RapidScada, табличные данные создаются только в путь, дублировать каналы легко в БД, предусмотрено ядром. Редактирование и WEB работает быстрее. Но тут заказчик "ХОЧЕТ"..... а я сижу и разбираюсь со справкой :(

Попробуйте переубедить :) Может получится
Графики в MS4 убогие

manjey73
17.03.2020, 13:08
На счет графиков смотрел примеры в MS4D, расползаются не пойми куда... Вообще заказчик на словах выразился так, "надеемся что за пару лет допилят" :)
з.ы. а в плане переубеждения будет запуск 2-х систем в бесплатном варианте. 32 точки (1 счетчик) на MS4D и все остальные (14 счетчиков) на RS :)