Просмотр полной версии : Вопросы по MasterSCADA 4D
Страницы :
1
2
3
4
5
6
[
7]
8
Ну надо по справке посмотреть как правильно прописывать порт в Linux, чтобы его RT правильно идентифицировал.
Важно! Для корректной работы функционального блока необходимо добавить протокол Универсальный протокол COM порта. На вход функционального блока нужно подать номер COM-порта, который настроен в протоколе. При работе функциональный блок будет использовать настройки (скорость, четность и др), указанные в протоколе. COM порт остается открытым на протяжении всего процесса работы протокола и функционирует в отдельной задаче, отправляя запросы в очередь для задачи протокола.
Полагаю настройка связи номера и самого порта в Универсальный протокол COM порта находится. А на сам FB уже подается в виде DINT
з.ы. может быть еще где-то надо связь сделать. Потому что в Linux порты по умолчанию не нумеруются как в Windows
https://support.mps-soft.ru/Help-web/index.html?first_first.html
Вот, разбирайтесь что тут намудрили для Linux
ИМХО - кривой подход, так как у устройства могут быть встроенные порты, например /dev/ttyAM0 и еще и порты USB-RS485 дополнительно.
Если шаблон общий на все, то как его настраивать тогда?
Добрый день. У меня похожая ситуация. Создаю проект на win, modbus RTU master - номер порта 1. Запускаю на винде, все хорошо запросы идут.
Теперь запускаю на этот проект на Linux RT, сразу появляются вопросы
1. Какой порт мне слушать? ttyS0? Пробовал его cat /dev/ttyS0...там тишина
2. Если я в проекте хочу задействовать 2 порта, какие тогда порты будут задействованы на lin машине?
Пробовал при создании проекта в номере порта указать ttyS0..ругается, говорит номер давай.
Может нужно в шаблоне имени что-то вставить?
78874
78875
Именно об этом и говорит справка. Ссылку вроде выше написал. Блин. Ссылка на общую справку.
Работа с COM-портом Linux - в поиск справки вот это напишите
Добрый день. У меня похожая ситуация. Создаю проект на win, modbus RTU master - номер порта 1. Запускаю на винде, все хорошо запросы идут.
Теперь запускаю на этот проект на Linux RT, сразу появляются вопросы
1. Какой порт мне слушать? ttyS0? Пробовал его cat /dev/ttyS0...там тишина
2. Если я в проекте хочу задействовать 2 порта, какие тогда порты будут задействованы на lin машине?
Пробовал при создании проекта в номере порта указать ttyS0..ругается, говорит номер давай.
Решена проблема.
1. В MS4D-Сервис-> Настройки среды -> Разное -> Установить галочку "Служебные свойства"
2. В служебных настройках АРМ находим "Шаблон имени последовательного порта"
3. Записываем туда строку /dev/ttyUSB%d (у нас USB преобразователь н Линукс машине определился как /dev/ttyUSB0)
4. В настройках Modbus RTU устройства указываем номер порта 1
Asgardian
25.09.2024, 15:12
Как в отчете сформировать выгрузку данных не интервалу, а по конкретному времени?
В привычной форме выгрузка происходит за интервал от {начало} до {конец} с {шагом}
Получается много строк, с назначенным шагом
Мне нужно 2 строки
Время {начало} ... данные
Время {конец} ... данные
Вопрос к разработчикам. Что необходимо вписать, если есть порты RS485 с именами ttyS0, ttyS1 и еще будут подключены USB-RS485, получающие имена ttyUSB0 и ttyUSB1?
Как в отчете сформировать выгрузку данных не интервалу, а по конкретному времени?
В привычной форме выгрузка происходит за интервал от {начало} до {конец} с {шагом}
Получается много строк, с назначенным шагом
Мне нужно 2 строки
Время {начало} ... данные
Время {конец} ... данные
1) Как вариант сделать начало и конец с разницей в один шаг
2) Возможно подойдут различные способы обработки
Доброго дня!
Хотел спросить можно где-нибудь найти информацию по подключению к
MasterSCADA 4D
МВ210-101 модуля аналогового ввода с универсальными входами
или что то похожее?
и как нужно подключать модуль к компьютеру?
Доброго дня!
Хотел спросить можно где-нибудь найти информацию по подключению к
MasterSCADA 4D
МВ210-101 модуля аналогового ввода с универсальными входами
или что то похожее?
и как нужно подключать модуль к компьютеру?
с документации не пробовали начать? https://support.mps-soft.ru/Help-web/_modbus_tcp_.html
Добрый день. Появился вопрос по элементу Userssetcontrolright
Или впринципе нужен другой подход...
Суть задачи: требуется из под пользователя с полными правами динамически редактировать возможности прав операторов в среде исполнения.
Пока что подход банальный для изучения механики. Кнопка нажата-окно с текстом можно редактировать, не нажата-нельзя.
Как корректно это реализовать?
Текущее состояние: в ФБ Userssetcontrolright прописал все параметры, но управление параметром "разрешить" для окна с текстом не изменяется.
Тимур Назарбоев
10.10.2024, 09:15
Добрый день. Появился вопрос по элементу Userssetcontrolright
Или впринципе нужен другой подход...
Суть задачи: требуется из под пользователя с полными правами динамически редактировать возможности прав операторов в среде исполнения.
Пока что подход банальный для изучения механики. Кнопка нажата-окно с текстом можно редактировать, не нажата-нельзя.
Как корректно это реализовать?
Текущее состояние: в ФБ Userssetcontrolright прописал все параметры, но управление параметром "разрешить" для окна с текстом не изменяется.
Добрый день, не могли бы вы написать нам на почту support@owen.ru по данному вопросу для дальнейшего детального рассмотрения?
Aleksandr_L
12.10.2024, 15:28
Вопрос по базам данных. В проекте в системе добавил протокол MSSQL, добавил в него базовый канал Ust1. Планировалось периодически обновлять определенную ячейку в БД подобной командой "Update T1 Set STB = {Ust1} Where Name = 'Zaless';", где Ust1 - имя переменной, в которую транслируется значение, которое я хочу записать в БД. Как бы я ни сталася, ничего не получается.
Если забить само значение прям в команду без переменной, то запрос проходит без проблем, значение пишется.
Подскажите, как оформить переменную, так, чтобы ее значение писалось в БД?
Вопрос отпал - нужно было использовать не базовый канал.
Добрый день.
такая же проблема. не могу обновить.
В SQL создано столбец RobotStop свойства INT. (рис.1)
Если в MS4D пишем Update [1C_to_QS].[dbo].[Monitor] SET [RobotStop]=123 то результат записывается. (рис.1)
Как прописать, чтобы записывался массив данных? (рис.2)
Aleksandr_L
14.10.2024, 23:44
Так и не смог разобраться, как записать массив данных. разложил на переменные и записываю каждую переменную. Это хорошо, когда переменных мало, а если их много?
Aleksandr_L
22.10.2024, 20:47
Доброго времени суток.
подключил ПР103-24.1610.03 к MS4D. по каждому входу идет циклы с разным временем приблизительно 0,1-0,5 мс.
Значения каждого входа не нашел в "Карта регистров Modbus ПР103-24.1610.03.х.0" в документации , есть только состояние Дискретных входов (скрин.1 и скрин.2)
1. как получить из них значения на каждом входе? тогда мы мог фиксировать время начало каждого цикла и вычитанием определять время цикла.
2. или как посчитать время цикла из этих данных?
3. может еще кто, что посоветует для определения время цикла на каждом входе?
Спасибо.
Такое ощущение, что вы текст сообщения через переводчик пропускаете, сначала на китайский, а потом обратно - на русский.
Если вы про состояние дискретных входов - то, что выделено у вас красным - оно и есть (и смотрите лучше инструкцию на сайте овна), каждому биту этого значения в двоичном виде соответствует состояние одного дискретного входа.
Если нужна частота импульсов на входе, то её надо определять в ПР (https://owen.ru/forum/showthread.php?t=36954&p=392176&viewfull=1#post392176), а не в скаде
Доброго времени всем!
Вопрос по работе с протоколом OPC UA в Masterscada 4d:
Есть устройство, на котором развернут opc ua server. По мимо параметров, в нем используются методы. Есть метод Exec_command, у которого есть InputArgument и OutputArgument.
Когда цепляюсь к этому устройству сторонним клиентом, то в нем вижу этот метод и есть возможность его вызвать (call) и задать входной аргумент (InputArgument), при этом идет обработка и выполнение функции.
Предусмотрена ли возможность вызова метода в Mascerscada 4d? Как это можно реализовать?
Предусмотрена ли возможность вызова метода в Mascerscada 4d?
Обещали еще в прошлом году, но пока не реализовали.
Как это можно реализовать?
Как вариант в программе на C#
Всем привет. Загружаю проект в плк 110-60 MS4D, вношу изменения в окнах визуализации (в главном окне в частности), загружаю, а клиент открывает старый проект без изменений. Подскажите пожалуйста кто что знает.
Всем привет. Загружаю проект в плк 110-60 MS4D, вношу изменения в окнах визуализации (в главном окне в частности), загружаю, а клиент открывает старый проект без изменений. Подскажите пожалуйста кто что знает.
Да, есть такая проблема.
Перед загрузкой проекта попробуй очисти КЭШ (Сервис ---> Очистить Кэш).
Если не поможет, то закрой проект, открой и снова попробуй загрузить...
Спасибо за ответ. Какраз не хотелось плодить сущностей на C#, а использовать штатные средства. Но раз еще не реализовано - будем трудиться.
Добрый день коллеги!
Подскажите в правильности написания команды запроса PostgreSQL (на Masterscada 4d).
Есть БД в PostgreSQL. Для того чтобы выгрузить всю таблицу, использую команду:
SELECT * FROM public."Flow_Table" ORDER BY "id" DESC
Которая выгружает все значения из БД в массив типа struct и при этом сортирует по столбцу id.
Понадобилось выгрузить не всю таблицу, а лишь один столбец "P"
SELECT "P" FROM public."Flow_Table"
В PgAdmin данная команда успешно выполняется и показывает один столбец P вместо всей таблице. Но вот в Masterscada 4d в массив типа REAL у меня записываются только 0, при этом количество элементов массива появляется ровно столько, сколько строк в БД, подключение происходит без ошибок.
SELECT * FROM public."Flow_Table" ORDER BY "id" DESC
SELECT "P" FROM public."Flow_Table"
А какой смысл в кавычках везде? Просто SELECT P FROM public.Flow_Table нельзя?
А какой смысл в кавычках везде? Просто SELECT P FROM public.Flow_Table нельзя?
Без кавычек появляется ошибка, пишет "отношение public.flow_table не существует" , так полагаю это синтаксис именно в masterscada, потому что в pgAdmin нормально проходят запросы без кавычек.
Добрый день коллеги!
Подскажите в правильности написания команды запроса PostgreSQL (на Masterscada 4d).
Есть БД в PostgreSQL. Для того чтобы выгрузить всю таблицу, использую команду:
SELECT * FROM public."Flow_Table" ORDER BY "id" DESC
Которая выгружает все значения из БД в массив типа struct и при этом сортирует по столбцу id.
Понадобилось выгрузить не всю таблицу, а лишь один столбец "P"
SELECT "P" FROM public."Flow_Table"
В PgAdmin данная команда успешно выполняется и показывает один столбец P вместо всей таблице. Но вот в Masterscada 4d в массив типа REAL у меня записываются только 0, при этом количество элементов массива появляется ровно столько, сколько строк в БД, подключение происходит без ошибок.
Нужно в библиотеке создать структуру_1 с одним полем "P" типа REAL. И на входе зарпоса выбрать массив этой структуры.
Нужно в библиотеке создать структуру_1 с одним полем "P" типа REAL. И на входе зарпоса выбрать массив этой структуры.
Именно так и делал, и не выгружает данные. Только если создаешь массив структуры всей таблицы (в которой много столбцов), а не отдельного столбца
Доброго всем дня!
Версия среды разработки : 1.3.6.21392(1.3.6_20241111.2)
На экране расположен архивный журнал. Я хочу управлять видимостью столбцов этого журнала. Для этого я видимость столбца "Квит" вытаскиваю правой кнопкой на экран и создаю связанный контрол "чекбокс" с двусторонней связью (а можно и кнопку с фиксацией, все равно поведение такое же).
Генерирую сообщение (параметром типа Bool)-> сообщение отображается в журнале. Все ок - рис.1
80062
Но если теперь убрать видимость столбца (снять чекбокс), то обновления заголовка таблицы контрола архивного журнала не происходит.
Снимаю тревогу, таблица обновляется, т.е. запись об исчезновении появляется, но! вся строка записи сдвигается влево, как и положено (потому что типа один столбец стал невидим),
но обновления header таблицы так и не происходит.
И получается, что в столбце "Событие" висят даты сообщения (а должны быть записи - "Появление""Исчезновение"), в столбце "Время" - текст сообщения, в столбце "Сообщение" - также текст сообщения.
80063
Почему? недоработка? как правильно управлять видимостью столбцов таблицы журнала в runtime режиме?
И еще, почему MasterSCADA напрочь игнорирует пробелы перед текстом?
80064
У меня в элементе Текст написано : " Столбце "Квитирован"" . в рантайме пробелы перед текстом исчезают.
80065
В настройках контрола "текст" или текстовый ввод нет настроек типа Margin\Padding (как например в .dotnet контролах или web контролах)
Как сделать отступ в тексте?
Доброго всем дня!
...
А если переоткрыть страницу журнала при скрытом столбце - как она выглядит?
По пробелам тоже такое заметил. Если сильно нужно, можно вставить в начало неразрывный пробел - он вроде не убирается
А если переоткрыть страницу журнала при скрытом столбце - как она выглядит?
Если свойство видимость перетащить на экран, то это типа локальная связь (типа temp переменной на экране) - и она сбрасывается когда окна переключаешь.
И даже если "видимость" столбца привязать к параметру (вообще отдельному) , то поведение такое же.
только что проверил..
По пробелам тоже такое заметил. Если сильно нужно, можно вставить в начало неразрывный пробел - он вроде не убирается
Не работает даже с неразрывными пробелами. в Word их навстявлял а потом скопировал в текст. все равно MasterScada их убирает.
Не работает даже с неразрывными пробелами. в Word их навстявлял а потом скопировал в текст. все равно MasterScada их убирает.
Скопировал отсюда
80068
Пробелы на месте
80069
Доброго всем дня!....
Версия среды разработки : 1.3.6.21392(1.3.6_20241111.2)
На экране расположен архивный журнал. Я хочу управлять видимостью столбцов этого журнала. .....
...
Почему? недоработка? как правильно управлять видимостью столбцов таблицы журнала в runtime режиме?
Косяк это - пусть разработчики обратят внимание, надо исправлять.
Но блин как отступ в тексте как сделать то?
Опа-це...у меня MasterSCADA на виртуалке и при копировании неразрывных пробелов с хоста на виртуалке они превращаются в обычные (в код 0x20)..
Вставил правильные символы (0xA0) - да, отступ появился..
и все же...
Подскажите пожалуйста, куда смотреть и где почитать про пользовательские контролы на js или есть какие то мануалы по их разработке?
Подскажите пожалуйста, куда смотреть и где почитать про пользовательские контролы на js или есть какие то мануалы по их разработке?
Вот: 80072
Вот: 80072
хорошо. Способ создавать контролы есть. а вот например я скачал готовый контрол, написанный на js. этот контрол запихнуть в web просто. а в MasterSCADA как его применять?
Пример: встроенный в MasterSCADA DatePicker мне не нравится, хочу использовать другой. Скачал контрол, написанный на js (без всяких там React, Vue.js и прочее) - просто голый код на js.
Как засунуть его в MasterSCADA?
Александр_76
20.11.2024, 19:52
Добрый вечер.
Вопрос по модулю ввода Овен мв110-224.16дн. При добавлении в проект есть 2 доступных модуля с почти одинаковым названием:мв110-224.16дн и мв110-224.16дн(counter). При добавлении модуля с припиской counter модуль работает как счётчик, т.е. каждый раз прибавляет значение ко входу. Мне же нужно, чтобы модуль показывал текущее состояние входа (0 или 1). Как это сделать????
Пробовал добавить модуль мв110-224.16дн, так в нем отдельных входов нет, есть только битовая маска.
Р.с. версия мастерскада 1.29. Пробовал последнюю версию, там модули такие же...
Добрый вечер.
Вопрос по модулю ввода Овен мв110-224.16дн. При добавлении в проект есть 2 доступных модуля с почти одинаковым названием:мв110-224.16дн и мв110-224.16дн(counter). При добавлении модуля с припиской counter модуль работает как счётчик, т.е. каждый раз прибавляет значение ко входу. Мне же нужно, чтобы модуль показывал текущее состояние входа (0 или 1). Как это сделать????
Пробовал добавить модуль мв110-224.16дн, так в нем отдельных входов нет, есть только битовая маска.
Р.с. версия мастерскада 1.29. Пробовал последнюю версию, там модули такие же...
А чем битовая маска не устраивает (и не факт, что модуль вообще поддерживает чтение отдельных входов как битов)
vapik_one
21.11.2024, 09:37
Добрый день.
Подскажите, как проще/логичнее/правильнее вывести на экран битовую маску (тег типа INT) в виде флажков-чекбоксов и ими управлять?
Добрый день.
Подскажите, как проще/логичнее/правильнее вывести на экран битовую маску (тег типа INT) в виде флажков-чекбоксов и ими управлять?
Насчет управлять можно подробнее - это же модуль ВВОДА
vapik_one
21.11.2024, 10:07
Насчет управлять можно подробнее - это же модуль ВВОДА
Нет, просто тег с OPC UA.
Нет, просто тег с OPC UA.
С чтением и записью отдельных битов в одной и то-же переменной-маске можно получить много проблем.
Если нужно и читать и записывать бит - я бы сделал его отдельной булевской переменной
Александр_76
24.11.2024, 09:15
А чем битовая маска не устраивает (и не факт, что модуль вообще поддерживает чтение отдельных входов как битов)
Да, так и сделал (модуль поддерживает). Просто показалось странным, что в среде программирования этот момент не проработан и не сделан за пользователя (как например входа ПЛК М110 30, которые выведены каждый отдельно и сразу готовы к взаимодействию с ними). Вот и подумал, может я чего-то не нашел.
mirazhik74
27.11.2024, 19:14
Добрый день. Как в ST проверить что массив структуры пустой и создать его? Masterscada4d
А пример команды в запросе к БД можно.Хочется в СКАДе иметь тэг который получает последнее значение из item в базе.
(например УСПД записывает в свои таблицы в БД PostgreSQL значения накопленные счётчика а мы в проекте визуализируем)
Спасибо
В СУБД Postgres Запрос:
SELECT value FROM public.data_raw where archive_itemid=907 and source_time=133511652266741142
выполняется и возвращает 3 строки(см скрин Запрос_Postgres_1.jpg) со значением 60000.
В тоже самое время в скада4D Запрос PostgreSQL 2 подобный (параметр команда запроса:
select value FROM public.data_raw where archive_itemid=907 and source_time=133511652266741142 )
тоже выполняется и возвращает тоже 3 строки но всегда нули, независимо от того какой тип я задаю параметру Базовый канал- Вход (array of LREAL или OF BYTE или ...).
(тип столбца value в таблице data_raw----double_precision) и сообщений об ошибках нет.(Кол-во возвращённых строк можно менять
меняя условие where и оно будет совпадать в СУБД и в СКАДА ).Не поскажете что делаю не так?
8043980438
Krevedos
17.12.2024, 09:04
Добрый день, есть куча модулей ICP CON, к модулям i7033, i7024, i7017 подключаюсь без проблем, а вот к модулям i7060D, i7052D, i7065D, i7067D никак не получается подключиться, сразу же в отказ идут, может кто-то сталкивался с такой проблемой? протокол DCON
РусланСемей
25.12.2024, 08:32
Добрый день. Только начал изучать Мастер Скаду 4D. Я вот не понял с установкой дистрибутивов. Есть среда разработки, среда исполнения и клиент для среды исполнения. Получается среду разработку можно скачать только Демо на 1 час. На 32 тега бесплатно нету?
Sergey361
25.12.2024, 10:18
Среда разработки вообще бесплатная. Платная только среда исполнения.
Добрый день!
Начал разбираться по скриптам C#. В 3 версии можно было обращаться через HostFB. Как теперь это реализовано в 4 версии?
Никто не разбирался? Как например, получить значение переменной, которая находится в другой ветке проекта?
Aleksandr_L
29.01.2025, 16:18
Добрый день.
Может кто сталкивался..
Modbus Poll - данные получаю, устанавливаю формат (рис1), для правильного отображения данных.
Как можно сделать так же в MS4d? Данные получаю, но цифры не те....
спасибо
Aleksandr_L
29.01.2025, 19:14
Примерно здесь
81633
Получилось, спасибо огромное!!!
Добрый день!
Как с помощью ФБ GetObjectName() получить информацию об объекте?
Создал объект, в нем программу ST:
PROGRAM State_ID_62795
VAR_INPUT
State: INT := 0;
AutoMode: INT := 0;
Connect: BOOL := False;
StateStatusCode: DINT := 0;
ControlStatusCode: DINT := 0;
AutoModeStatusCode: DINT := 0;
END_VAR
VAR_OUTPUT
EnO: BOOL := True;
StateView: STRING;
Test: STRING;
END_VAR
VAR
_IsConnected: BOOL := False;
NameObject: BaseObjects.GetObjectName;
END_VAR
Test := NameObject.FullName; возвращает нет текста.
Добрый день!
Как с помощью ФБ GetObjectName() получить информацию об объекте?
Создал объект, в нем программу ST:
PROGRAM State_ID_62795
VAR_INPUT
State: INT := 0;
AutoMode: INT := 0;
Connect: BOOL := False;
StateStatusCode: DINT := 0;
ControlStatusCode: DINT := 0;
AutoModeStatusCode: DINT := 0;
END_VAR
VAR_OUTPUT
EnO: BOOL := True;
StateView: STRING;
Test: STRING;
END_VAR
VAR
_IsConnected: BOOL := False;
NameObject: BaseObjects.GetObjectName;
END_VAR
Test := NameObject.FullName; возвращает нет текста.
А где сам вызов ФБ?
Такие простые программы на 1 блок проще сделать ФБД - а уж для тестов и отладки тем более
А где сам вызов ФБ?
Такие простые программы на 1 блок проще сделать ФБД - а уж для тестов и отладки тем более
Вопрос решен
А программа расположена ВНУТРИ этого объекта в дереве?
А программа расположена ВНУТРИ этого объекта в дереве?
нет там надо было прогрузить изменённую конфигурацию. В онлайн перешел, а изменения вступили в силу после загрузки конфигурации.
как отследить изменение переменной? Не используя дополнительные переменные.
как отследить изменение переменной? Не используя дополнительные переменные.
Чтобы увидеть изменение - надо что-то с чем-то сравнить, что обычно подразумевает два значения.
А в чём проблема с переменной?
Чтобы увидеть изменение - надо что-то с чем-то сравнить, что обычно подразумевает два значения.
А в чём проблема с переменной?
С переменной понятно как сделать, думал есть альтернативные способы
Только если заложено в системе. Типа Текущее значение с Предыдущим, которое должна хранить сама система. Но есть ли такое в MS4D не знаю.
Или перед записью в к_а_нал сравнивать с тем значением, которое на данный момент в канале. Фактически у вас есть предыдущее значение, пока вы его не затрете новым.
Какой пункт в журнале сообщений надо выбрать, чтобы отобразить тип сообщения(Авария/Предупреждение/действие оператора)?
И как можно отформатировать текст в столбце (например выравнивание в левому краю)? По умолчанию по середине.
День добрый.
Какой пункт в журнале сообщений надо выбрать, чтобы отобразить тип сообщения(Авария/Предупреждение/действие оператора)?
И как можно отформатировать текст в столбце (например выравнивание в левому краю)? По умолчанию по середине.
А вы справку вообще читаете?
https://support.mps-soft.ru/Help-web/index.html?nastr_jurnala.html
Добрый день! Я разработчик начинающий. Собрала проект, как описано в Руководстве пользователя (п.2 Быстрый старт). И он у меня чудесным образом заработал, цвет менялся, насос крутился. Вечером полюбовалась и выключила компьютер. Утром включила, запускаю на исполнение, на экране браузера появляется сообщение "Загрузка...", и больше ничего не происходит. Что могло случиться при закрытии проекта и перезагрузке компьютера? На что следует обратить внимание?
kondor3000
11.02.2025, 18:51
Добрый день! Я разработчик начинающий. Собрала проект, как описано в Руководстве пользователя (п.2 Быстрый старт). И он у меня чудесным образом заработал, цвет менялся, насос крутился. Вечером полюбовалась и выключила компьютер. Утром включила, запускаю на исполнение, на экране браузера появляется сообщение "Загрузка...", и больше ничего не происходит. Что могло случиться при закрытии проекта и перезагрузке компьютера? На что следует обратить внимание?
Вообще, при запуске проекта на след. день, он довольно долго запускается, почти минуту. 81925
При условии, что вы проект сохранили.
Сегодня (через день) проект снова заработал. Правда, я немного поработала над другим проектом, а потом снова попыталась запустить тот, что не запускался. И он заработал.
И я полагала, что проект автоматически сохраняется при запуске на исполнение?
kondor3000
12.02.2025, 18:23
Сегодня (через день) проект снова заработал. Правда, я немного поработала над другим проектом, а потом снова попыталась запустить тот, что не запускался. И он заработал.
И я полагала, что проект автоматически сохраняется при запуске на исполнение?
Нет, он сохраняется при закрытии проекта, если нажать Да, скрин 81946
либо вы сами сохраните проект.
yurgin_757
16.02.2025, 06:54
Доброго времени суток!
В примере по быстрому старту мастерскада 4д, есть момент когда рассказывают про установку связи из параллельных окон, открывается новое окно из выпадающего меню обьекта по клику правой кнопки мыши, это здорово облегчает задачу установки связи, когда их много! Однако в новых МС-4Д (Версия: 1.3.6.20303(1.3.6_20240909.1)) этот пункт испарился или возможно он скрыт? Может есть возможность как то вернуть его??!
https://rutube.ru/video/d2aa5378713feb628ac8b3a258c132a0/?t=481&r=plwd
Добрый день! Может кто подсказать, не работает код:
trigAlarm1(CLK := GetBit(IN:= Alarm, N:= 0));
IF trigAlarm1.Q THEN
Message(Time:= GET_LOCAL_TIME(),
Message:= CONCAT(NameObject.Name, ". Авария. Авария мотор-автомата насоса / Внутренняя авария насоса"),
Severity:= 10,
ClientUserId:= UserName.Username);
END_IF;
Сообщение генериться каждую секунду, а не 1 раз по фронту. В FBD все нормально работает. Как реализовать фронт на ST?
kondor3000
17.02.2025, 10:11
Добрый день! Может кто подсказать, не работает код:
trigAlarm1(CLK := GetBit(IN:= Alarm, N:= 0));
IF trigAlarm1.Q THEN
Message(Time:= GET_LOCAL_TIME(),
Message:= CONCAT(NameObject.Name, ". Авария. Авария мотор-автомата насоса / Внутренняя авария насоса"),
Severity:= 10,
ClientUserId:= UserName.Username);
END_IF;
Сообщение генериться каждую секунду, а не 1 раз по фронту. В FBD все нормально работает. Как реализовать фронт на ST?
Передний фронт на R_TRIG.
Передний фронт на R_TRIG.
Все верно.
VAR
_IsConnected: BOOL := False;
NameObject: BaseObjects.GetObjectName;
UserName: BaseObjects.GET_CURRENT_USERNAME;
Message: BaseObjects.FireBaseEvent;
OldState: INT := 0;
OldControlCurrent: INT := 0;
trigAlarm1: R_TRIG;
END_VAR
kondor3000
17.02.2025, 13:53
Все верно.
VAR
_IsConnected: BOOL := False;
NameObject: BaseObjects.GetObjectName;
UserName: BaseObjects.GET_CURRENT_USERNAME;
Message: BaseObjects.FireBaseEvent;
OldState: INT := 0;
OldControlCurrent: INT := 0;
trigAlarm1: R_TRIG;
END_VAR
Значит у вас запуск R_TRIG происходит постоянно, смотрите условие запуска trigAlarm1(CLK := GetBit(IN:= Alarm, N:= 0));
Что это за GetBit и почему не просто Alarm
Здравствуйте! В предыдущей версии SCADA при листании окон рекомендовали использовать опцию «Закрывать сверху при открытии нового окна». У меня Master Scada 4, и такой опции я не нашла. Как можно простым способом решить эту проблему. Как без особых ухищрений закрывать окно при открытии следующего?
И еще вопрос, можно ли изменить Z окон нажатием, например, на кнопку? Так чтобы заданное окно выводилось на передний план.
В теме "Возможно ли при работе с web-визуализацией в MasterSCADA 4d, для открытия окна в контейнере, использовать переменные?" я прочитала:
Из службы поддержки подсказали, что вариант с триггером открытия окна позволяет динамизировать (задать переменной типа String) связь с окном.
Не понимаю, как это сделать. В триггере как-то можно указать переменную?
Никто мне не торопится отвечать, а вопросы множатся. Существует ли возможность использовать ID элемента в качестве параметра для сравнения? Его не удается связать ни с параметром, ни с источником. Может есть какая-нибудь в возможность его добыть?
Никто мне не торопится отвечать, а вопросы множатся. Существует ли возможность использовать ID элемента в качестве параметра для сравнения? Его не удается связать ни с параметром, ни с источником. Может есть какая-нибудь в возможность его добыть?
А зачем нужно с чем-то сравнивать ID элемента?
Чтобы выполнить определенные действия, при выборе пользователем элемента в дереве. Т.е. использовать ID в триггере
Не знаю, что имеется в виду под деревом, но не лучше создать в объектах свои "ID" - которые можно контролировать, и не использовать ID системы, которые нельзя контролировать?
BeerTaster
19.02.2025, 10:28
Добрый день! Возможно уже задавали этот вопрос, но найти ответа не удалось.
Вопрос следующий:
Есть связь АРМа с контроллером по протоколу ModBus TCP. Для управления оборудованием, нужно в регистр записывать команды 1,2,3 и т.д.. Команда, после обработки в ПЛК, сбрасывается в 0. Возникает следующая проблема, по нажатию кнопки - событие "Установить параметр" на выход регистра записывается значение. Вход регистра меняется и после обработки команды ПЛК соответственно тоже. Проблема в том, что значение выхода не меняется и следующее нажатие не запишет эту же команду, какие есть пути решения?
Добрый день! Возможно уже задавали этот вопрос, но найти ответа не удалось.
Вопрос следующий:
Есть связь АРМа с контроллером по протоколу ModBus TCP. Для управления оборудованием, нужно в регистр записывать команды 1,2,3 и т.д.. Команда, после обработки в ПЛК, сбрасывается в 0. Возникает следующая проблема, по нажатию кнопки - событие "Установить параметр" на выход регистра записывается значение. Вход регистра меняется и после обработки команды ПЛК соответственно тоже. Проблема в том, что значение выхода не меняется и следующее нажатие не запишет эту же команду, какие есть пути решения?
С подобными задачами беда в MS.
Костыльно - организуйте принудительный сброс команды в MS на 0 (например, с задержкой после последнего изменения значения) - значение 0 конечно при этом уйдет в ПЛК, но как я понимаю, это не критично
Не знаю, что имеется в виду под деревом, но не лучше создать в объектах свои "ID" - которые можно контролировать, и не использовать ID системы, которые нельзя контролировать?
Может, и лучше. Но не я, а вышестоящие инстанции решили использовать в проекте "дерево одиночного выбора" с опцией ProjectTree, которая возвращает ID.
Добрый день!
Создал библиотеку, в нем экземпляр объекта. Как с помощью скрипта добавить его в папку Объекты?
Добрый день!
Создал библиотеку, в нем экземпляр объекта. Как с помощью скрипта добавить его в папку Объекты?
Хотите заставить ИИ делать вашу работу?
Интересны альтернативные решения)
При дублировании объекта новое имя объект присваивается Имя объекта 1. Мне надо Имя объекта1. Как это можно сделать?
При дублировании объекта новое имя объект присваивается Имя объекта 1. Мне надо Имя объекта1. Как это можно сделать?
F2
________
F2
________
Спасибо, но у меня порядка 200 объектов...
Спасибо, но у меня порядка 200 объектов...
День добрый.
Через инструмент - Табличное представление проекта.
Здравствуйте!
Есть массив чисел типа Real.
Можно ли шкалу AI отдельно привязать к каждому элементу массива и можно ли затянуть на график весь массив(сделав его "архивировать"),
чтобы увидеть тренды по каждому элементу или это можно делать только с отдельным параметром через присвоение значения элемента массива этому параметру?
Здравствуйте!
Пытаюсь разобраться с отчётами в MS4D и освоил создание отчётов из архивных тэгов, пытаюсь сделать отчёт из БД Postgres.
Отчёт к БД подключается и судя по окну "просмотр данных" из контекстного меню источника данных правильно читает БД(сравниваю
с подобным запросом в pgAdmin 4) и тоже судя по количеству отображаемых пустых строк(чем больше pgAdmin в таком же запросе возвращает строк
тем больше размер отчёта ), но все строки в отчёте кроме заголовков пустые.Хотя я создал колонки в источнике данных но в хелпе как-то непонятно сказано :"...созданная таким образом колонка данных, является лишь описанием (виртуальной) колонки данных и реальных данных она не содержит. Если в базе данных эта колонка отсутствует, то в момент обращения к базе данных, генератор отчетов выдаст ошибку." Колонки в БД в основном имеют тип bigint.Тип колонки в БД bigint-колонку делаю long, int-->int
Из скриншота-В БД это поле channelid имеет тип bigint а я тип колонки указал long хотя пробовал и другие типы -всё равно пусто.
Может кто подскажет что не так
Добрый день!
Есть пример чтения строк их файла txt с помощью скрипта C#?Или где можно поискать инфу?
А C# чем-то отличается? Примеров в нете как грязи.
А C# чем-то отличается? Примеров в нете как грязи.
Пример, который работает отлично на 3 версии мастерскады, не работает на 4 версии((
Ильнур вам надо понять разницу между 3-й и 4-й версией, как заворачивать скрипт на C# в самой Scada, чтобы это работало. Вроде в документации все есть по данному поводу.
Ну например предупреждение из руководства
Важно! Скрипты C# можно использовать только для создания проектов в среде раз-работки. В среде исполнения скрипты C# не поддерживаются. Для работы в режиме исполнения нужно использовать элементы Программа C# или ФБ С#
Как у вас работало на 3-й версии ?
Спасибо за ответ, разберусь) Если у Вас есть рабочий вариант, скидывайте.
не, нету. я MS4D терпеть не могу :) Просто изучал вопрос по докам как и что там с C#.
Ну и убивает, что на Linux варианте с базовой лицензией C# не доступен. пусть сами пользуются :)
Есть бАльшой документ в pdf - UserGuide, там есть про скрипты и программы на C# и некоторые примитивы. Какие переменные поддерживает и т.д.
К сожалению в UserGuide не все описано, а только поверхностно
ну там описано главное, как заворачивать и как использовать переменные и какие допустимы. Дальше сравниваете разницу между 3 и 4 ну и собственно корректность самого кода C# для программы.
{
// Путь к файлу для чтения
string inputFilePath = "C:\\MSProjectData\\ЯТЭЦData.txt";
double number = 4323.1;
if (Топливная_составляющая != 0)
{
return;
}
// Чтение числа из файла
try
{
// Считываем все строки из файла
string[] lines = File.ReadAllLines(inputFilePath);
// Преобразуем первую строку в число с плавающей точкой
if (lines.Length > 0 && double.TryParse(lines[0], out number))
{
}
}
catch (Exception ex)
{
number = 4323.2;
}
Топливная_составляющая = number;
}
Minarion
02.04.2025, 12:25
Добрый день!
Подскажите пожалуйста по такому вопросу:
В локальной библиотеке написал функцию (на основе HttpClient). Вызываю функцию в ST программе. Если условия в программе выполняются, то на вход Run функции подается TRUE и функция отрабатывает.
Проблема: все это работает в автоматическом режиме. Мне надо иметь возможность вручную заблокировать выполнение данной функции. Т.е. даже если все условия для подачи TRUE на Run выполнились, функция не отработала.
kondor3000
02.04.2025, 13:17
Добрый день!
Подскажите пожалуйста по такому вопросу:
В локальной библиотеке написал функцию (на основе HttpClient). Вызываю функцию в ST программе. Если условия в программе выполняются, то на вход Run функции подается TRUE и функция отрабатывает.
Проблема: все это работает в автоматическом режиме. Мне надо иметь возможность вручную заблокировать выполнение данной функции. Т.е. даже если все условия для подачи TRUE на Run выполнились, функция не отработала.
На ST одна строка
Вход функции:= Переменная управления AND разрешение из программы ;
Minarion
02.04.2025, 13:55
На ST одна строка
Вход функции:= Переменная управления AND разрешение из программы ;
То что надо. Спасибо!
Minarion
03.04.2025, 06:45
Здравствуйте!
Вопрос по SqlRequestWithResult. Когда этот ФБ добавляю в протокол, то запрос выполняется циклично. Пробовал сделать выполнение по кнопке (подавая TRUE на вход En), но работает это крайне криво: в подключенном редакторе видно что параметр изменился уже на TRUE, а на входе ФБ он все ещё болтается как FALSE, и может переключиться на TRUE секунд через 5 только. Или вообще не переключится. Можно ли как реализовать выполнение SQL запрос не циклично, а по условию?
ЗЫ MS4D версии 1.2.18
Здравствуйте!
Вопрос по SqlRequestWithResult. Когда этот ФБ добавляю в протокол, то запрос выполняется циклично. Пробовал сделать выполнение по кнопке (подавая TRUE на вход En), но работает это крайне криво: в подключенном редакторе видно что параметр изменился уже на TRUE, а на входе ФБ он все ещё болтается как FALSE, и может переключиться на TRUE секунд через 5 только. Или вообще не переключится. Можно ли как реализовать выполнение SQL запрос не циклично, а по условию?
ЗЫ MS4D версии 1.2.18
По Клику мыши, допустим, на кнопке какой-либо....Вызвать программу ... а программа - это запрос SQL!
Добрый день.
AstraLinux 1.8.1
MasterSCADA 4D Runtime 1.3.7.23610(1.3.7_20250316.1) установлена с опцией "--i386-dep --with-monitor" как и положено по мануалу.
Аппаратный ключ USB установлен и работает, по крайней мере runtime не ругается.
runtime стартует (служба):
op@panelC:~$ sudo systemctl status mplc4.service
● mplc4.service - LSB: Start the MasterSCADA 4D RT server.
Loaded: loaded (/etc/init.d/mplc4; generated)
Active: active (running) since Fri 2025-04-11 13:49:18 +04; 4min 35s ago
Docs: man:systemd-sysv-generator(8)
Process: 745 ExecStart=/etc/init.d/mplc4 start (code=exited, status=0/SUCCESS)
Tasks: 64 (limit: 18934)
Memory: 114.2M
CPU: 27.197s
CGroup: /system.slice/mplc4.service
├─1660 /opt/mplc4/mplc_daemon
├─1661 ./mplc_monitor
├─1764 /opt/mplc4/mplc /new-service /restart /ea:0
├─1765 "nginx: master process /opt/mplc4/nginx/sbin/nginx -p . -c ../nginx/conf/nginx-mplc.conf -e /var/lo>
└─1766 "nginx: worker process"
апр 11 13:49:17 panelC systemd[1]: Starting mplc4.service - LSB: Start the MasterSCADA 4D RT server....
апр 11 13:49:17 panelC mplc4[745]: Starting MasterSCADA 4D RT... OK
апр 11 13:49:18 panelC systemd[1]: Started mplc4.service - LSB: Start the MasterSCADA 4D RT server..
После загрузки проекта из среды разработки в окне системных сообщениях среды разработки пишет:
"Ошибка исполнения АРМ 1 Основная задача хххх : Charp fb is not loaded. Key runinng"
где ххх - увеличивающееся число.
В проекте есть функциональные блоки, написанные на C#.
dotnet и netcore на Linux установился вместе с mplc4 (по крайней мере в папке /opt/mpc4/ есть папки и dotnet и netcore).
В чем проблема?
Также установлен MasterSCADA4DClient-linux-x64 version 31.7.5 и проект не отображается
Дополнение.
На другом компе установил виндовый MasterSCADA4D Client. Цепляюсь к 192.168.0.120:8043. Цепляется к серверу, проект отображается, но такое ощущение, что ничего не выполняется (например, есть функциональный блок экспорта архивных данных на C#, он начинает выполняться по нажатию кнопки на мнемосхеме. так вот статусы этого блока вообще не меняются (статусы вывел на мнемосхему)).
Также, на том компе, где установлен runtime - при подключении через браузер также подключается и проект отображается.
А вот через линуксовый клиент (запуск /opt/MasterSCADA4DClient-linux-x64/MasterSCADA4DClient -u 127.0.0.1:8043 или -u 192.168.0.120:8043) окно клиента открывается но оно пустое.
//192.168.0.120 - IP адрес сервера (где установлен runtime)
.......
После загрузки проекта из среды разработки в окне системных сообщениях среды разработки пишет:
"Ошибка исполнения АРМ 1 Основная задача хххх : Charp fb is not loaded. Key runinng"
где ххх - увеличивающееся число.
В проекте есть функциональные блоки, написанные на C#.
Отбой тревоги.
В одном из функциональных блоков была загрузка файла с диска, там был прописан путь как в винде...После исправления все стало в порядке, ошибок нет,
проект исполняется корректно.
Добрый день! Как вывести количество использованных тэгов в скаде? Конфигурация узла показывает количество точек 0.
Добрый день! Как вывести количество использованных тэгов в скаде? Конфигурация узла показывает количество точек 0.
Посмотрите здесь какие точки и как учитываются, возможно поможет ответить на Ваш вопрос:
https://support.masterscada.ru/ru/knowledge_base/article/25/category/3/
kyzzechka
15.04.2025, 12:05
Добрый день! Как вывести фиксированное количество осей Y в тренде? у меня есть 30 перьев, и три диапазона значений Y. для каждого пера выводить ось неудобно
Добрый день! Как вывести фиксированное количество осей Y в тренде? у меня есть 30 перьев, и три диапазона значений Y. для каждого пера выводить ось неудобно
У контрола "тренд" есть опция группировка перьев - наверное это то, что нужно.
https://support.mps-soft.ru/Help-web/sv_grafika.html
(Поищите на странице "Главное перо в группе")
senat892
18.04.2025, 11:13
Добрый день!
Есть вопрос по версиям библиотек
Собрал проект на 1.3.6, в проекте несколько элементов со ссылкой на Библиотеки.HMI.Окна.Контролы.Таблица данных.
При работе с таблицами используется событие "Клик по ячейке" с возвратом параметра "Номер строки", все работает, все норм.
Обновился до 1.3.7, выполняю конвертацию проекта, отклоняю (или принимаю, без разницы) обновления библиотек BaseObjects и Protocols, запускаю проект без ошибок, но данный контрол начинает возвращать Номер строки на 1 меньше чем в предыдущей версии, первая строка имеет номер 0.
Как лучше поступить в этом случае, дописывать скрипт для всех Таблиц в проекте или можно как-то откатить библиотеку?
Sergey361
18.04.2025, 11:40
С библиотеками вряд ли уже что-то получится сделать
kyzzechka
21.04.2025, 14:15
добрый день! как задать перьям количество делений оси Y? в соответствующем свойстве задаю - ничего не меняется. перья находятся в группах, меняю свойства для главного пера или для всех, в любом случае не работает
Александр Пинэко-Скворцов
22.04.2025, 09:41
добрый день! как задать перьям количество делений оси Y? в соответствующем свойстве задаю - ничего не меняется. перья находятся в группах, меняю свойства для главного пера или для всех, в любом случае не работает
Добрый день.
Уточните, пожалуйста, на какой версии проверяете?
В 1.3.7.23610 задал 2 группы по 2 пера. Свойство "Количество делений Y" главных перьев применяется для соответствующих групп.
8332483325
kyzzechka
23.04.2025, 07:48
версия 1.3.7. делаю аналогично Вашим скринам - не работает. в чем может быть дело?
Здравствуйте.
В среде разработки создал проект: АРМ, окно с текстом (это всё).
В режиме эмуляции всё ОК, а в режиме исполнения в DT, браузер выдаёт ошибка страница не найдена 404.
Подскажите пожалуйста, сам не смог.
Спасибо.
Здравствуйте, проект в версии 1.3.7 управление водяным насосом через ПР100 . Проблема в кнопке сброса аварии (тэг ОРС через кнопку), залипает через 7-10 нажатий. Лечится только принудительным нажатием. В чем может быть причина?
Здравствуйте, проект в версии 1.3.7 управление водяным насосом через ПР100 . Проблема в кнопке сброса аварии (тэг ОРС через кнопку), залипает через 7-10 нажатий. Лечится только принудительным нажатием. В чем может быть причина?
Как организована привязка кнопки к тегу?
После выполнения сброса не можете сами тег обнулить внутри ПР?
Как организована привязка кнопки к тегу?
После выполнения сброса не можете сами тег обнулить внутри ПР?
Тэг (логический, чтение/запись) на мнемосхему правой кнопкой, выбор кнопка без фиксации.
Внутри ПР этот тэг обнулить не дает, т.к. он залипает (true) на уровне Мастер-скады.
Поставил таймер на залипание 3 сек, как на выходе имитировать нажатие кнопки Сброса?
Тэг (логический, чтение/запись) на мнемосхему правой кнопкой, выбор кнопка без фиксации.
Внутри ПР этот тэг обнулить не дает, т.к. он залипает (true) на уровне Мастер-скады.
Поставил таймер на залипание 3 сек, как на выходе имитировать нажатие кнопки Сброса?
"Залипнуть" на уровне скады он никак не может, т.к. команда на запись значения отправляется только при изменении состояния кнопки (а не отправляется постоянно - если, например, кнопку долго удерживать).
Вообще для отправки команды лучше привязывать к кнопке событие - выдать импульс, указать длительность импульса, и привязать туда тег
МихаилГл
06.05.2025, 04:51
Обычная ошибка во всех скада системах (например WinCC, factorytalk и пр.), при рисовании кнопок, это привязка к ним функции изменения бита типа: изменить пока нажато и подобные. Для кнопок всегда надо делать тоггл (переключить) бит, а возврат его в противоположное положение делается на уровне контроллера или ПР. А так просто или до контроллера не доходит, из-за быстрого нажатия, или другие артефакты.
Обычная ошибка во всех скада системах (например WinCC, factorytalk и пр.), при рисовании кнопок, это привязка к ним функции изменения бита типа: изменить пока нажато и подобные. Для кнопок всегда надо делать тоггл (переключить) бит, а возврат его в противоположное положение делается на уровне контроллера или ПР. А так просто или до контроллера не доходит, из-за быстрого нажатия, или другие артефакты.
Спасибо, да проблема в ПР100.
поставил таймер на обнуление тэга, все работает.
МихаилГл
07.05.2025, 07:41
Спасибо, да проблема в ПР100.
поставил таймер на обнуление тэга, все работает.
Вот кстати напомнили мне подобную проблему в связке ИП320 - ПЛК210 без орс серверов и скада. Там тоже, посылка команды с ИП320 то проходила, то нет. Оказалось что контроллер сбрасывал бит почти сразу, а ИП320 повторно посылал уже ненужную команду. Также пришлось таймер на сброс втыкать.
JakeGolder
07.05.2025, 17:24
Добрый день, никак не пойму как добавить шкалу к горизонтальному прогрессу. На фото пример83674
Basil11 вы бы изучили лицензии на MS4D где и когда могут запускаться клиенты.
СмирноваЛС
13.05.2025, 16:52
Добрый день! Пытаюсь с помощью блока GetActualEvents вытащить активные аварии в структуру типа "время активации + Сообщение".
MyFields := "ActiveTime, Message";
FilterActive := '["Active=TRUE"]';
GetActualEvents_1(Fields:= MyFields, Filter:=FilterActive, Count => CountEvents, Events => newEvents );
newEvent - динамический массив [DT, String].
Сообщения в динамическом массиве newEvents появляются, а вот дата у каждого элемента остается 0001-01-01-00:00.
Если пробовать вытащить одну дату активации - выдает ошибку "Attempt to index FileTime event".
Что у меня пошло не так?
kimfrost
14.05.2025, 21:40
Коллеги, добрый день! Возникла необходимость получить график скорости изменения параметра. Я понимаю, что можно пойти по сложному пути: написать скрипт, который будет "выцеплять" параметр из архива на заданное время от текущего (например минуту назад) и сравнивать его с текущим и записывать в архив эту скорость. Но зачем делать еще лишние вычисления и лишнюю запись в архив, если мы уже имеем архив этого параметра. Может быть есть какие-то решения "из коробки", которые имеют возможность показать скорость изменения параметра по заданному интервалу времени?
Здравствуйте!
В предыдущей версии MS4D 1.3.4.17698 работала настройка в таблицах данных"запрет изменения сортировки",
а в новой версии 1.3.4.23610 эта настройка не работает-хотя галка стоит, сортировка доступна и активна в мнемосхеме.
Мне приходится стыковать 2 таблицы на мнемосхеме -одна формируется в программе(и поэтому изменение её вручную недоступно)
и вторую я задаю вручную(адрес, вес импульса). Но т.к. запрет сортировки сейчас не работает, то пользователи путают стыковку таблиц
и получается аброкадабра -адрес и вес импульса отсюда а объект другой.
Что делать?
...а в новой версии 1.3.4.23610
Новой версией в настоящий момент считается 1.3.8, по косякам старых версий лучше всего обращаться сразу в ТП.
Добрый день!
Прошу разъяснения по Пользовательскому элементу (Script).
Все сделал как написано в pdf.
Сначала пытался на версии 1.3.7 запустить все это дело.
В логах c:\ProgramData\MPSSoft\MasterSCADA4DRT1_3\Server\ error.log
записи вот такого типа:
2025/05/14 10:26:23 [error] 6264#5256: *2 CreateFile() "C:\ProgramData\MPSSoft\MasterSCADA4DRT1_3\Server/htdocs/controls/basic.js" failed (3: The system cannot find the path specified), client: 127.0.0.1, server: _, request: "GET /controls/basic.js HTTP/1.1", host: "127.0.0.1:8043", referrer: "http://127.0.0.1:8043/resources/custom1.js"
Контрол не работает, на экране пишет что -то типа "Не удалось установить параметр flag".
Я так понимаю , что в с версии 1.3.7 не генерируются в папке htdocs папки controls, actions и тому подобное (а именно там находятся javascript файлы - в том числе и basic.js, от которого наследуются свои пользовательские контролы).
В более ранних версиях они были...
Обновился до новой версии (Версия: 1.3.8.24492(1.3.8_20250513.1)) - поменялось расположение самого рантайма (теперь в c:\ProgramData\MPSSoft\MasterSCADA4D_RT\rt\ и проект загружается в подпапку server). Папка logs есть , но там в файлах логов нет инфы касаемо визуализации.
И также нет controls (basic.js и прочего).
Вопрос: пользовательских элементов теперь не будет? наследоваться от HTMLElement? а параметры в контролах для привязок со стороны MS4D как делать в таком случае?
Я пытался делать простой элемент-наследник HTMLElement без импорта {Basic} из basic.js. Заводил поле flag в js, в MS4D также парметр добавлял flag - не работает.
export class msscript extends HTMLElement {
constructor() {
super();
this._flag = false;
}
/**
* flag
* @type {bool}
*/
get flag() {
console.log("Current flag state is:" + this._flag);
return this._flag;
}
set flag(value) {
this._flag = this._toBool(value);
console.log("Current flag state is:" + this._flag);
}
_toBool(value) {
if (value) {
if (typeof value == "boolean") {
return value;
} else {
switch (value.toString().toLowerCase().trim()) {
case "true":
case "yes":
case "1":
return true;
case "false":
case "no":
case "0":
case null:
return false;
default:
return Boolean(value);
}
}
} else {
return false;
}
}
}
Добрый день!
В проекте есть несколько объектов, в каждом из которых осуществляется занесение аварий в журнал. Также с помощью скрипта на языке ST, использующего блок EventsCounter, выходная переменная устанавливается в TRUE, если в журнале присутствует неквитированное сообщение.
Проблема заключается в том, что при срабатывании тревоги в любом из объектов, выход каждого скрипта становится TRUE, несмотря на то, что параметр IsGlobal установлен в FALSE.
Подскажите, пожалуйста, как можно решить эту проблему.
Пример скрипта приведён ниже:
VAR
filterSeverityWarning : STRING;
myEventsCounter : EventsCounter;
END_VAR
filterSeverityWarning := '["Active=TRUE","Acked=FALSE","Severity=555"]';
myEventsCounter(
Filter := filterSeverityWarning,
IsGlobal := FALSE,
Ack := FALSE,
UserName := '',
Comment := ''
);
ERROR := myEventsCounter.Exists;
Добрый день!
В проекте есть несколько объектов, в каждом из которых осуществляется занесение аварий в журнал. Также с помощью скрипта на языке ST, использующего блок EventsCounter, выходная переменная устанавливается в TRUE, если в журнале присутствует неквитированное сообщение.
Проблема заключается в том, что при срабатывании тревоги в любом из объектов, выход каждого скрипта становится TRUE, несмотря на то, что параметр IsGlobal установлен в FALSE.
Подскажите, пожалуйста, как можно решить эту проблему.
Пример скрипта приведён ниже:
VAR
filterSeverityWarning : STRING;
myEventsCounter : EventsCounter;
END_VAR
filterSeverityWarning := '["Active=TRUE","Acked=FALSE","Severity=555"]';
myEventsCounter(
Filter := filterSeverityWarning,
IsGlobal := FALSE,
Ack := FALSE,
UserName := '',
Comment := ''
);
ERROR := myEventsCounter.Exists;
Делал аналогично - всё работало:
84019
BorschovAN
02.06.2025, 19:41
Прошу извинить, есть лицензия на ключе, где скачать актуальные дистрибутивы сред разработки и исполнительную? Работал сначала в демо, после удалил и скачал https://download.mps-soft.ru/support/Updates/Installation/MasterSCADA_4D/DesignTime/MasterSCADA4D_x64.exe
(только для Windows) и https://download.mps-soft.ru/support/Updates/Installation/MasterSCADA_4D/RunTime/Windows/MasterSCADA4D_RT_Key.exe.
Установил ключ, в среде разработки видит ключ и его ограничения, и в режиме исполнения вылетает с сообщение что это демо версия и работает в ограниченном режиме...
ПОМОГИТЕ!!!
Завтра должен рабочую версию представить, с накопленными данными по графикам и т.д.... но.... не могу решить примитивный вопрос...
Александр Пинэко-Скворцов
03.06.2025, 00:04
Прошу извинить, есть лицензия на ключе, где скачать актуальные дистрибутивы сред разработки и исполнительную? Работал сначала в демо, после удалил и скачал https://download.mps-soft.ru/support/Updates/Installation/MasterSCADA_4D/DesignTime/MasterSCADA4D_x64.exe
(только для Windows) и https://download.mps-soft.ru/support/Updates/Installation/MasterSCADA_4D/RunTime/Windows/MasterSCADA4D_RT_Key.exe.
Установил ключ, в среде разработки видит ключ и его ограничения, и в режиме исполнения вылетает с сообщение что это демо версия и работает в ограниченном режиме...
ПОМОГИТЕ!!!
Завтра должен рабочую версию представить, с накопленными данными по графикам и т.д.... но.... не могу решить примитивный вопрос...
Добрый день.
Дистрибутивы выложены на FTP-сервере производителя ПО - МПС софт. Инструкция по скачиванию, см. стр. 3: https://owen.ru/uploads/465/instrukcziya_po_klyucham_guardant.pdf
есть лицензия на ключе... в среде разработки видит ключ и его ограничения
Лицензия давно приобреталась? Какая дата в графе "Техническое сопровождение"?
BorschovAN
08.06.2025, 17:35
Добрый день, что включает в себя:
MSRT4D-TRN: расширенные настройки трендов ???
Не могу найти информацию, проект судя по всему версии лайт, т.к. при загрузке выдает не совпадение конфигурации по MSRT4D-TRN (отсутствует).
Какие галки снять...
Александр Пинэко-Скворцов
08.06.2025, 21:35
Добрый день, что включает в себя:
MSRT4D-TRN: расширенные настройки трендов ???
Не могу найти информацию, проект судя по всему версии лайт, т.к. при загрузке выдает не совпадение конфигурации по MSRT4D-TRN (отсутствует).
Какие галки снять...
Добрый день.
Вероятнее всего, Вы используете бесплатную исполнительную среду на 32 точки. Ограничения перечислены в статье: https://support.masterscada.ru/ru/knowledge_base/art/251/cat/3/tip-licenzii-lite-32-funkcionalnie-ogranichenija
См. поиском по странице "MSRT4D-TRN"
BorschovAN
09.06.2025, 12:25
Спасибо за скорый ответ, нет, в Lite скорее всего, по памяти что то MPS-MSRT4D-IK-L, в ней нет расширенных трендов и на отчетах водяной знак "Демо".
Спасибо за скорый ответ, нет...
Если вам просто избавиться от использования опции MSRT4D-TRN, то смотрите по ссылке, которую коллега предоставил выше:
84247
Для начала убедитесь в отсутствии трендов указанных типов и элемента Легенда в окнах проекта.
Как только вы уберете их из всех окон, и количество перьев будет не более 3-х - данное требование перестанет применяться.
BorschovAN
12.06.2025, 21:17
Если вам просто избавиться от использования опции MSRT4D-TRN, то смотрите по ссылке, которую коллега предоставил выше:
84247
Для начала убедитесь в отсутствии трендов указанных типов и элемента Легенда в окнах проекта.
Как только вы уберете их из всех окон, и количество перьев будет не более 3-х - данное требование перестанет применяться.
Спасибо! Я нашел, просят более 10 трендов на график.
Докупили уже графики и отчеты,
в связи с этим возник вопрос, как в Диаграмме (Графике, Тренде), в редакторе отчета, для простой линии сделать несколько осей для оси Y, градусы и паскали?
Задача совместить тренды температуры и давления по 10 значений.
В хелпе для отчетов эти штуки они называют "Добавление полос". Приводится последовательность выполнения, но самих полос в свойствах я ни где не нашел...
Возможно ли это вообще?
Bogdan12
12.06.2025, 22:45
Всем добрый вечер, коллеги!
Я не так давно начал разбираться в MS4D и мне нужна помощь, ранее при работе с MS3 в OPC сервере все было довольно легко, но сейчас возник вопрос по поводу участия ОВЕН МКОН 230.
У меня в сети ModbusRTU 33 устройства подключенных шлейфом по rs485, шлейф приходит в МКОН230, сам Овен МКОН 230 в режиме Master в сети ModbusRTU, Slave в сети ModbusTCP. Я не понимаю как мне добавить сам овен в MS4D и внутрь него RTU устройства... Добавлять ли протокол, или нужно оба протокола внести в MS4D и использовать какую-то связь... Подскажите, если знаете.
Bogdan12
12.06.2025, 23:42
UPD: не знаю насколько корректно использовать протокол Modbus Over TCP, но я сейчас сделал такую версию проекта - завтра попробую, но с удовольствием послушаю ваши советы
Протокол - Modbus TCP. Без "over". IP - адрес шлюза (МКОН). ID в описании устройств - адреса Modbus RTU за шлюзом, каждое устройство отдельно добавляется. Сам МКОН добавлять не нужно. Вот только 33 устройства на одном шлюзе многовато будет, пмсм.
адреса устройств в RTU должны начинаться со 2-ого. 1-й адрес зарезервирован за самим МКОН.
При запросах по Modbus TCP необходимо указывать ID устройства.
DanilGlige
13.06.2025, 19:07
Добрый вечер! Существуют ли какие то готовые решения для masterScada 4d, чтобы управлять пч danfoss fc51(или аналогами). Может есть библиотеки готовые для реализации разных проектов?
ДмитрийМ
15.06.2025, 10:33
Здравствуйте.
Хочу сделать подсветку навигационной кнопки перехода на экран при нахождении на данном экране. В настоящее время я использую цвета как параметры, и по событию "Нажатие мыши" для одних кнопок записываю цвет ненажатой кнопки, а для нажатой- цвет нажатой кнопки. Но при таком подходе наблюдаю какие-то странное поведение: после нажатия на кнопку она сперва переходит в другой цвет (не знаю какой), а потом в требуемый. Происходит это очень быстро, но не настолько, что бы не было видно.
Направьте, пожалуйста, как правильно сделать, что бы кнопки перехода на другой экран подсвечивались в соответствии с выбранным экраном.
ДмитрийМ
15.06.2025, 10:33
На устройстве тип данных INT. Что бы получить актуальное значение параметра, надо INT разделить на 10, т.е. получим REAL.
Как получить это значение, если в Masterscada есть только параметр "Тип данных на устройстве", и нет параметра "Тип данных на Masterscada", что бы указать тип данных REAL, применить масштабирование и не потерять в точности при переводе?
На устройстве тип данных INT. Что бы получить актуальное значение параметра, надо INT разделить на 10, т.е. получим REAL.
Как получить это значение, если в Masterscada есть только параметр "Тип данных на устройстве", и нет параметра "Тип данных на Masterscada", что бы указать тип данных REAL, применить масштабирование и не потерять в точности при переводе?
При использовании Modbus масштабирование можно настроить для каждого тега отдельно. В свойствах тега включайте масштабирование и указывайте масштабы для Source и Target: 0..10 и 0...1. Выход тега будет типа LREAL (точнее SYSTEM_LREAL_PARAM)
При использовании Modbus масштабирование можно настроить для каждого тега отдельно.
А если не Modbus, то нельзя? Мне чистА любопытнА.
А если не Modbus, то нельзя? Мне чистА любопытнА.
Подозреваю, что данные настройки тегов присутствуют во всех протоколах.
Ну а если сильнА любопытнА - поставьте себе MS4 и попробуйте )
Подозреваю, что данные настройки тегов присутствуют во всех протоколах.
Тогда зачем всуе поминать?
Ну а если сильнА любопытнА - поставьте себе MS4 и попробуйте )
Я не из числа последователей Леопольда.
BigBelka
17.06.2025, 14:23
Добрый день, почему могут быть отличия во внешнем виде окна трендов - не отображается панель инструментов в режиме подключения к узлу. Если включен режим имитации, то панель отображается полностью.
84394
84393
Sergey361
17.06.2025, 14:40
Может быть из-за версии RT. С ограничением на 32 тега не поддерживает весь функционал.
BigBelka
18.06.2025, 14:42
Установлена версия с ограничением по времени. Ранее была проблема, что не было прав администратора на папку - тренд вообще не показывался
ДмитрийМ
19.06.2025, 19:01
Здравствуйте.
Хочу писать из функции в свойство "Активность" объекта класса "Тревога". Компилятор пишет "Неизвестная переменная". Система сама строит путь к свойству при перетаскивании. Почему так происходит?
Sergey361
19.06.2025, 21:09
Писать в выходную переменную функции. Эту переменную привязать к Активности. А так непонятно, она может входная сейчас
ДмитрийМ
19.06.2025, 21:24
300 точек измерений. У каждой HiHi, LoLo, Hi, Lo тревоги. Получается делать функцию с 1200 выходами, или 120 функций с 10 выходами, или еще дробить?
Мастерскада конечно "хороша", но не настолько же
ДмитрийМ
19.06.2025, 21:28
она может входная сейчас
Есть объект "Тревога", у него есть свойство "Активность". Входная в каком смысле?
Sergey361
20.06.2025, 06:50
Входная это не про объект, а про функцию.
Sergey361
20.06.2025, 06:52
В функции на скрине присвоено значение TRUE. У функции есть входные и выходные переменные. Вот эта переменная какая? В дереве разверните функцию, там переменные ее.
Македонский
20.06.2025, 09:17
Прошу подсказать каким образом сделать при делении DIV чтобы значение на экране было с сотыми и десятыми
отображение форматов смотрите, что-то вроде fххх, можно в справке посмотреть, наверняка есть.
ДмитрийМ
20.06.2025, 09:27
В функции на скрине присвоено значение TRUE. У функции есть входные и выходные переменные. Вот эта переменная какая? В дереве разверните функцию, там переменные ее.
Эта переменная не входная и не выходная. Она- внешняя.
Если вы имеете ввиду, что нельзя обращаться к переменным не через интерфейс, то это не так. Например, код в приложении компилируется без ошибок
Здравствуйте.
Хочу сделать подсветку навигационной кнопки перехода на экран при нахождении на данном экране. В настоящее время я использую цвета как параметры, и по событию "Нажатие мыши" для одних кнопок записываю цвет ненажатой кнопки, а для нажатой- цвет нажатой кнопки. Но при таком подходе наблюдаю какие-то странное поведение: после нажатия на кнопку она сперва переходит в другой цвет (не знаю какой), а потом в требуемый. Происходит это очень быстро, но не настолько, что бы не было видно.
Направьте, пожалуйста, как правильно сделать, что бы кнопки перехода на другой экран подсвечивались в соответствии с выбранным экраном.
1. Создаем параметр UINT с Начальным значением 1 (допустим)
2. По клику мыши (Переход на другой экран) меняем этот параметр на 2....след экран - на 3 и т д
3.Т е к каждой кнопке перехода на Экран привязываем к этому параметру свою цифру
4. Ну и дальше все просто. Заливка фона ---> Точечная конвертация ---> ...и к каждой кнопке при False ничего не меняешь, при True - нужный тебе цвет!
Все!
84497
2.
Добрый день!
Можно ли импортировать переменные в разделе протоколы из Excel? Или их только вручную добавлять?
Добрый день!
Можно ли импортировать переменные в разделе протоколы из Excel? Или их только вручную добавлять?
Можно - потыкайте в устройство в протоколе - должно открыться такое окно:
84506
Я так и сделал. Но в дереве проекта они не добавились(
Можно - потыкайте в устройство в протоколе - должно открыться такое окно:
84506
Здесь я сделал Экспорт, потом в Excel добавил переменные, затем Импорт. В списке появились, а в дереве нет.
Здесь я сделал Экспорт, потом в Excel добавил переменные, затем Импорт. В списке появились, а в дереве нет.
Надо выделить и применить.
Подскажите, как MS4D работает с устройствами RS485, расположенные за преобразователями интерфейса Ethernet-RS485 - какие есть режимы ?
Александр Пинэко-Скворцов
26.06.2025, 09:24
Подскажите, как MS4D работает с устройствами RS485, расположенные за преобразователями интерфейса Ethernet-RS485 - какие есть режимы ?
RTU over TCP поддержан. Аналогичный режим есть в протоколах тепло- и электросчётчиков.
См. в веб-справке (https://support.mps-soft.ru/Help-web/index.html) раздел Проект в MasterSCADA 4D - Дерево системы - Получение и отправка данных - Дополнительные протоколы.
На странице конкретного протокола см. упоминание по типу: " Работа с этими устройствами возможна через последовательные интерфейсы (RS-232, RS-485, GSM, CAN), а при использовании конвертеров Ethernet-COM (Moxa NPort 5150 и т.п.) также и по сетям TCP/IP (Ethernet, Wi-Fi)."
Александр Пинэко-Скворцов спасибо, нашел. Удивительно, что поддержка данного режима не общая для системы, а только в части протоколов. Но в целом мне пойдет, так как преимущественно Modbus RTU будет, там где оборудование с RS485 интерфейсом.
Удивительно, что поддержка данного режима не общая для системы, а только в части протоколов.
С чего бы? Оно там не в дополнительных протоколах, а в Modbus. "Modbus over TCP" обозвано, хотя тут же в описании свойств протокола называется "Modbus RTU over TCP"
Проект в MasterSCADA 4D - Дерево системы - Получение и отправка данных - Стандартные протоколы - Modbus - Modbus over TCP
imaex Александр Пинэко-Скворцов правильно написал, потому что там есть еще Логика over TCP (я видел в справке) то есть это реализовано на уровне драйверов, а не на уровне системы.
Предположим я через преобразователь хочу опрашивать прибор, которого нет в списке и напишу код самого опроса - то привет виртуальный COM порт. Ну либо надо писать по аналогии с поддержанными протоколами, чтобы самостоятельно реализовывать режим COM Over TCP.
Значит, просто я неверно понял исходный посыл насчёт "системы". Хотя, тут, кмк, правильнее об общей архитектуре говорить. Т.е. драйвера монолитны - уровень собственно протокола неотделим от транспорта. Потому и имеем зверинец в виде пары протоколов отдельно для последовательного интерфейса и отдельно для TCP.
Да, монолитность драйверов так себе затея. Могли бы за столько лет и изменить подход в этой части ядра системы.
ДмитрийМ
29.06.2025, 11:59
1. Создаем параметр UINT с Начальным значением 1 (допустим)
2. По клику мыши (Переход на другой экран) меняем этот параметр на 2....след экран - на 3 и т д
3.Т е к каждой кнопке перехода на Экран привязываем к этому параметру свою цифру
4. Ну и дальше все просто. Заливка фона ---> Точечная конвертация ---> ...и к каждой кнопке при False ничего не меняешь, при True - нужный тебе цвет!
Все!
84497
2.
Спасибо! Так действительно проще, но все равно есть тот же эффект. Но я уже успокоился- есть и есть
ДмитрийМ
29.06.2025, 12:00
Подскажите, как можно программно выключить клиент визуализации? Надо добавить кнопку, и по нажатию что бы он выключился
Подскажите, как можно программно выключить клиент визуализации? Надо добавить кнопку, и по нажатию что бы он выключился
Да, через Клик мыши на любую кнопку и выбрать параметр Закрыть основное окно
ДмитрийМ
30.06.2025, 09:49
Работает. Спасибо!
Добрый день!
Как можно обратиться в параметру объекта из программы ST (без локальных переменных)?
Добрый день!
Как можно обратиться в параметру объекта из программы ST (без локальных переменных)?
Здесь расписано:
https://support.mps-soft.ru/Help-web/index.html?imena_peremennwh_programmnogo_komponent a.html
Учтите, что механизм зависит от версии MS4D, ранее требовалось установить галку для прямого доступа, с 1.3.8 - нет.
Здесь расписано:
https://support.mps-soft.ru/Help-web/index.html?imena_peremennwh_programmnogo_komponent a.html
Учтите, что механизм зависит от версии MS4D, ранее требовалось установить галку для прямого доступа, с 1.3.8 - нет.
У меня версия Версия: 1.3.7.23610(1.3.7_20250316.1)
Прямое обращение к параметрам проекта из программ
Если в настройках среды на вкладке Редакторы схем снять флаг Создавать промежуточный параметр при перетаскивании на FBD-схему, то связи между параметром проекта и входом или выходом функционального блока или функции будут создаваться без промежуточного параметра программы в клеммниках.
У меня нет флага Создавать промежуточный параметр при перетаскивании на FBD-схему.
И когда в ST пишу ИмяОбъекта.ИмяПараметра := Value; ругается Неизвестная переменная ИмяОбъекта.ИмяПараметра.
Даже так Объекты.Hardware.NG1.Value := 56; ругается Неизвестная переменная. Хотя через точку дает прописать переменную.
У меня версия Версия: 1.3.7.23610(1.3.7_20250316.1)
Прямое обращение к параметрам проекта из программ
Если в настройках среды на вкладке Редакторы схем снять флаг Создавать промежуточный параметр при перетаскивании на FBD-схему, то связи между параметром проекта и входом или выходом функционального блока или функции будут создаваться без промежуточного параметра программы в клеммниках.
У меня нет флага Создавать промежуточный параметр при перетаскивании на FBD-схему.
И когда в ST пишу ИмяОбъекта.ИмяПараметра := Value; ругается Неизвестная переменная ИмяОбъекта.ИмяПараметра.
Даже так Объекты.Hardware.NG1.Value := 56; ругается Неизвестная переменная. Хотя через точку дает прописать переменную.
Проблема была в версии MasterScada
Newcomer
03.07.2025, 11:47
Добрый день
На ПК установлена MasterSCADA 4D + MasterSCADA 4D RT Demo. Если создать новый проект, сохранить и закрыть, то потом его можно открыть (вложение 1 и 3). Но почему-то не получается открыть проект, созданный несколько лет назад (вложение 2 и 4). В чем причина ?
Newcomer версия? вроде для 1.8 надо делать импорт, там много изменений в БД
Newcomer
03.07.2025, 12:05
Newcomer версия? вроде для 1.8 надо делать импорт, там много изменений в БД
Что значит делать импорт ?
Был вебинар по новой версии 1.8 там говорили, что была оптимизация БД и проекты из 1.8 не совместимы с 1.7
Но вроде как при открытии должно было предложить сделать импорт.
Покопайтесь в документации по данному поводу, я не силен в MS4D, просто предположил, что связано с этим.
Newcomer
03.07.2025, 12:41
Был вебинар по новой версии 1.8 там говорили, что была оптимизация БД и проекты из 1.8 не совместимы с 1.7
Но вроде как при открытии должно было предложить сделать импорт.
Покопайтесь в документации по данному поводу, я не силен в MS4D, просто предположил, что связано с этим.
Никакого предложения об импорте при попытке открыть старый проект не нет.
Добрый день
На ПК установлена MasterSCADA 4D + MasterSCADA 4D RT Demo. Если создать новый проект, сохранить и закрыть, то потом его можно открыть (вложение 1 и 3). Но почему-то не получается открыть проект, созданный несколько лет назад (вложение 2 и 4). В чем причина ?
Уберите "/BAS" на втором скрине - надо выбирать не саму папку проекта, а папку, В КОТОРОЙ лежит папка проекта
Newcomer
03.07.2025, 13:05
Уберите "/BAS" на втором скрине - надо выбирать не саму папку проекта, а папку, В КОТОРОЙ лежит папка проекта
Спасибо. А то я голову сломал.
Кто в курсе, можно ли сюда привязать программу через какой-либо параметр или ссылку?
84739
У меня есть библиотечный компоненты, в которых есть кнопки и мне нужно после того как я создам экземпляры этих компонентов привязать разные программы из дерева объектов.
Реально ли из среды исполнения менять номер универсального COM-порта? Я попытался на него перенести переменную которая бы меняла номер, но устройство работало только с портом которое было прописано изначально? устройства на портах рабочие.
Коллеги приветствую. ПОдскажите пожалуйста как сделать сообщения в журнале аварий другого цвета? Чисто забыл...
Приоритет постаивл 750, а вот где настройки по нему не могу вспомнить. причём сам же делал когда-то....)))
Инсат конечно молодцы выложили тут https://insat.ru/products/?category=1282, но ролики в ютубе - не работает, а скачать расширение .swf надо качать какие-то спец плееры, а их не даёт скачать защитник виндовс, который отключить не могу. Короче вопрос на 2 предложения, а получается какой-то квест на пол дня из-за мелочи.
Инсатовцы - вы форум читайте иногда - почему надо делать всё через "сложно" чего нельзя было ролики в .avi например напилить? Залить на рутуб тоже происходит автоматически. Ну или на vk к примеру....:(
https://support.mps-soft.ru/Help-web/index.html?graficheskiy_element__indikator_sobwtiy .html вот тут написано в "стиль строки" -> "заливка фона" выбрать в поле "активность", а у меня ничего не выбирается СОВСЕМ!:eek:
Аллилуйа получилось.
Оно просто не показывает "активность" оно где-то там у себя в глубине души об этом знает и надо будет просто ставить красный цвет и усё...в который раз уже "без комментариев"...
Нет...оно так не работает....нет выбора между TRUE/FALSE получается только один цвет можно сделать либо красный либо никакой.
Коллеги приветствую. ПОдскажите пожалуйста как сделать сообщения в журнале аварий другого цвета? Чисто забыл...
Приоритет постаивл 750, а вот где настройки по нему не могу вспомнить. причём сам же делал когда-то....)))
Как я помню, там в журналах - в архивном и обычном, настраивается цвет по приоритету. Например, для 750 указываете красный, 500 - желтый. Как-то так
Как я помню, там в журналах - в архивном и обычном, настраивается цвет по приоритету. Например, для 750 указываете красный, 500 - желтый. Как-то так
Да да да, где-то было, физически не могу найти!!!
https://rutube.ru/video/44d4718d7978568383f6fb6f109d3781/?utm_source=embed&utm_medium=referral&utm_campaign=main_logo&utm_content=44d4718d7978568383f6fb6f109d3781&utm_term=support.mps-soft.ru&t=0 вот тут показано на 2:30 минуте, но у меня в новой версии не выбирается ничего!
Перенеся проект на ноут в старую версию - всё есть. Снова косячная версия даром тестируемая обычными пользователями..точнее не даром - а нервами
Да да да, где-то было, физически не могу найти!!!
https://rutube.ru/video/44d4718d7978568383f6fb6f109d3781/?utm_source=embed&utm_medium=referral&utm_campaign=main_logo&utm_content=44d4718d7978568383f6fb6f109d3781&utm_term=support.mps-soft.ru&t=0 вот тут показано на 2:30 минуте, но у меня в новой версии не выбирается ничего!
Перенеся проект на ноут в старую версию - всё есть. Снова косячная версия даром тестируемая обычными пользователями..точнее не даром - а нервами
Архивный журнал - Стиль строки - Заливка фона - Приоритет - Конвертация (на вкус и цвет)
МихаилГл
14.07.2025, 13:04
А можно как то архивировать данные как события? Или в базе вылавливать нужный тег на изменение и по нему триггер делать...?
PS Как в MSSQL крякозябры кириллицы расшифровать для использования вне скады?
Архивный журнал - Стиль строки - Заливка фона - Приоритет - Конвертация (на вкус и цвет)
вот оно-то и не работает. её тупо нет. Я картинку выше выкладывал.
Техподдержка только что подтвердила что были ошибки в данной версии..
Попробуйте обновиться, в версии 1.3.8.24492 были определенные ошибки и они были исправлены. Ваш проект открывается и Активность выбирается и все нормально.
Логин: GuestSupport
Пароль: guest
Среда разработки MS4D 1.3
https://download.mps-soft.ru/support/Updates/Installation/MasterSCADA_4D/DesignTime/MasterSCADA4D_x64.exe
Исполнительная система MS4D 1.3 RT Windows x64 демо на 1 час
https://download.mps-soft.ru/support/Updates/Installation/MasterSCADA_4D/DesignTime/MasterSCADA4D_RT_Demo.exe
Исполнительная система MS4D 1.3 RT Linux x64 демо на 1 час
https://download.mps-soft.ru/support/Updates/Installation/MasterSCADA_4D/RunTime/linux-x64/
Исполнительная система MS4D 1.3 RT Linux x86 демо на 1 час
https://download.mps-soft.ru/support/Updates/Installation/MasterSCADA_4D/RunTime/linux-x86/
Исполнительная система MS4D 1.3 RT Windows x64 демо на 32 точки
https://download.mps-soft.ru/demo/MasterSCADA_4D_Free/RT/MasterSCADA4DRT_x64_RT32.exe
Номер версии дистрибутивов MS4D, загруженных по указанным ссылкам в режиме реального времени
https://download.mps-soft.ru/support/Updates/Installation/MasterSCADA_4D/DesignTime/version.txt
вот оно-то и не работает. её тупо нет. Я картинку выше выкладывал.
Техподдержка только что подтвердила что были ошибки в данной версии..
84847
вот тут не было, получается? Ну это MS4D, херня случается)
Добрый день!
Как можно изменить начальное значение параметра через скрипт?
Добрый день!
Как можно изменить начальное значение параметра через скрипт?
А какая цель?
А какая цель?
Скриптом из файла задать начальное значение для строковой переменной
Но изменится же текущее значение, а при следующем запуске исполнения значение опять будет таким, как задано в проекте (если конечно это значение не сохраняемое)?
Но изменится же текущее значение, а при следующем запуске исполнения значение опять будет таким, как задано в проекте (если конечно это значение не сохраняемое)?
Оно не меняется в рантайме. В связи с этим вопрос, как можно поменять начальной значение в скрипте?
Оно не меняется в рантайме. В связи с этим вопрос, как можно поменять начальной значение в скрипте?
День добрый.
Если нужно подставлять значения в переменные в онлайне, то может проще функцию и выполнять ее, например, при старте.
А если ищите способ изменять проект в конструкторе через скрипт, то проще это сделать через табличное представление проекта.
84847
вот тут не было, получается? Ну это MS4D, херня случается)
как на скрине, так и в натуре было. Хороший слоган случился!
Добрый день! Нашел скрипт по изменению шкалы у параметра:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using Controllers.Protocols.ModbusMaster;
using InSAT.Framework.Core.Common;
using InSAT.Framework.Core.DataModel.Instances;
using InSAT.Framework.Core.DataModel.Types;
using InSAT.Framework.Core.Services.Item.LinksManagement ;
using InSAT.Framework.MasterSCADA.Types;
using InSAT.Framework.Script.UI.Services;
using InSAT.Library;
using MasterSCADA.Controllers.Adapters;
using MasterSCADA.Controllers.Adapters.ChannelsMaps;
using MasterSCADA.Scheme.Common;
using MasterSCADA.Scheme.Services.ValueType;
using MasterSCADA.Scheme.Types;
using InSAT.Framework.Core.Services.Item.ScaleType;
public override void DoAction()
{
// Находим шкалу в библиотеке
var scale = LibraryRoot.FindChildByFullDisplayName("Локальная.Шкалы.Шкала AI 1");
// !!!ВНИМАНИЕ!!!
// Шкалы поддержаны только у параметров "Объекта",
// а у параметров программ не поддержаны.
// Параметрам программ их можно задать в панели свойств, но это ничего не даст
// Находим параметр "Объекта"
var param = ObjectRoot.FindChildByFullDisplayName("ETLCEMS.archive.raw.Qms");
// Получаем сервис "Шкал"
var scaleService = param.GetService<ScaleTypeService>();
// Устанавливаем шкалу параметру
scaleService.ScaleType = scale;
// Присваиваем значения параметрам шкалы
scaleService.ItemInstance.SetProperty(SchemeRefNam es.Scale.Minimum, 555);
scaleService.ItemInstance.SetProperty(SchemeRefNam es.Scale.Maximum, 999);
}
Ругается 22.07.2025 17:28:18 Ошибка
Сообщение: "SchemeRefNames" не содержит определение для "Scale". (строка 27, позиция 65)
В чем может быть проблема?
Добрый день! Нашел скрипт по изменению шкалы у параметра:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using Controllers.Protocols.ModbusMaster;
using InSAT.Framework.Core.Common;
using InSAT.Framework.Core.DataModel.Instances;
using InSAT.Framework.Core.DataModel.Types;
using InSAT.Framework.Core.Services.Item.LinksManagement ;
using InSAT.Framework.MasterSCADA.Types;
using InSAT.Framework.Script.UI.Services;
using InSAT.Library;
using MasterSCADA.Controllers.Adapters;
using MasterSCADA.Controllers.Adapters.ChannelsMaps;
using MasterSCADA.Scheme.Common;
using MasterSCADA.Scheme.Services.ValueType;
using MasterSCADA.Scheme.Types;
using InSAT.Framework.Core.Services.Item.ScaleType;
public override void DoAction()
{
// Находим шкалу в библиотеке
var scale = LibraryRoot.FindChildByFullDisplayName("Локальная.Шкалы.Шкала AI 1");
// !!!ВНИМАНИЕ!!!
// Шкалы поддержаны только у параметров "Объекта",
// а у параметров программ не поддержаны.
// Параметрам программ их можно задать в панели свойств, но это ничего не даст
// Находим параметр "Объекта"
var param = ObjectRoot.FindChildByFullDisplayName("ETLCEMS.archive.raw.Qms");
// Получаем сервис "Шкал"
var scaleService = param.GetService<ScaleTypeService>();
// Устанавливаем шкалу параметру
scaleService.ScaleType = scale;
// Присваиваем значения параметрам шкалы
scaleService.ItemInstance.SetProperty(SchemeRefNam es.Scale.Minimum, 555);
scaleService.ItemInstance.SetProperty(SchemeRefNam es.Scale.Maximum, 999);
}
Ругается 22.07.2025 17:28:18 Ошибка
Сообщение: "SchemeRefNames" не содержит определение для "Scale". (строка 27, позиция 65)
В чем может быть проблема?
А вы целиком этот скрипт у себя запустили?
У вас есть этот параметр объекта?:
// Находим параметр "Объекта"
var param = ObjectRoot.FindChildByFullDisplayName("ETLCEMS.archive.raw.Qms");
PS:
А где вы его нашли? Узнаю свой скрипт
А вы целиком этот скрипт у себя запустили?
У вас есть этот параметр объекта?:
// Находим параметр "Объекта"
var param = ObjectRoot.FindChildByFullDisplayName("ETLCEMS.archive.raw.Qms");
PS:
А где вы его нашли? Узнаю свой скрипт
Мне его скинули как пример. Вместо // Находим параметр "Объекта"
var param = ObjectRoot.FindChildByFullDisplayName("ETLCEMS.arc hive.raw.Qms"); я подкинул свой объект. Но ругается на то, что "SchemeRefNames" не содержит определение для "Scale". Вроде все библиотеки подкинул.
А вы целиком этот скрипт у себя запустили?
У вас есть этот параметр объекта?:
// Находим параметр "Объекта"
var param = ObjectRoot.FindChildByFullDisplayName("ETLCEMS.archive.raw.Qms");
PS:
А где вы его нашли? Узнаю свой скрипт
А у вас в версии Версия: 1.3.8.24492(1.3.8_20250513.1) работает?
Мы работаем в 1.3.5
Как раз из за таких приколов, когда одно обновление ломает наработки других версий.
Попробую проверить,
попробуйте вместо SchemeRefNames.Scale.Minimum поставить строковое значение "Minimum" потому что в SetProperty подают строку
Возможно в очередной раз что то куда то переехало в ms4
84964
Мы работаем в 1.3.5
Как раз из за таких приколов, когда одно обновление ломает наработки других версий.
Попробую проверить,
попробуйте вместо SchemeRefNames.Scale.Minimum поставить строковое значение "Minimum" потому что в SetProperty подают строку
Возможно в очередной раз что то куда то переехало в ms4
84964
Ясно, спасибо, попробую. То что нет преемственности версии это конечно беда...
Ясно, спасибо, попробую. То что нет преемственности версии это конечно беда...
84968
1.3.8
В том примере был библиотечный тип шкалы
Поменяйте на стандартный
Свойства можно указать строкой
Все работает
84968
1.3.8
В том примере был библиотечный тип шкалы
Поменяйте на стандартный
Свойства можно указать строкой
Все работает
Я так и сделал, все работает.Спасибо
84847
вот тут не было, получается? Ну это MS4D, херня случается)
Аналогичная ситуация. Надеюсь MPS исправит ее в будущих версиях. Вообще довольно часто при выходе новых версий, ломается, то что работало в прошлых...
Добрый день! Есть одноплатный компьютер с процессором на архитектуре ARM. На нем установлены debian linux и среда исполнения masterSCADA 4D. Также есть тестовый проект, созданный в среде разработки на windows. Вопрос: как загрузить проект в среду исполнения?
P.S. Монитора под архитектуру arm не существует.
Вопрос: как загрузить проект в среду исполнения?
Чем не устраивает загрузка проекта из DT?
https://support.mps-soft.ru/Help-web/index.html?zapusk_uzla_iz_sredw_razrabotki.html
МихаилГл
04.08.2025, 12:10
Я "очень рад" функциональности среды исполнения, просто "счастлив"...
Сдохла мастер скада и проект покрашился... Хорошо сохранился 3 часа назад, теперь все заново.
Да, не ожидал, что это второй овенлоджик...
PS
Предпосылки 1го бага: если что-то изменили, а иконка "СОХРАНИТЬ" не активировалась, перезагружайте среду, иначе ничего не сохраните после этого...
Из-за чего 2ой баг, который по.ерил проект, не знаю, но при проверке целостности ошибка .nand или что то в этом роде...
Я "очень рад" функциональности среды исполнения, просто "счастлив"...
Сдохла мастер скада и проект покрашился... Хорошо сохранился 3 часа назад, теперь все заново.
Да, не ожидал, что это второй овенлоджик...
PS
Предпосылки 1го бага: если что-то изменили, а иконка "СОХРАНИТЬ" не активировалась, перезагружайте среду, иначе ничего не сохраните после этого...
Из-за чего 2ой баг, который по.ерил проект, не знаю, но при проверке целостности ошибка .nand или что то в этом роде...
Это у вас в какой версии такое поведение?
у нас 1.3.5 все проекты, вроде работает
МихаилГл
05.08.2025, 01:55
Последняя версия.
Последняя версия.
Проект в Firebird или PostgreSQL?
У нас единственный раз крашнулся проект в давние времена, еще до того как перевели все на PostgreSQL. С тех пор не наблюдали подобного.
Резервные копии в любом случае всегда оправданы.
МихаилГл
05.08.2025, 11:04
Проект в Firebird или PostgreSQL?
У нас единственный раз крашнулся проект в давние времена, еще до того как перевели все на PostgreSQL. С тех пор не наблюдали подобного.
Резервные копии в любом случае всегда оправданы.
Я тока с 1 июля этой чудой занимаюсь.
Версия 1.3.8-25173.
Теперь проект всегда с этим багом. После функции "очистить историю" он тупо перестает сохранять. И архивную копию делает через раз. Где то косяк в проекте создался, да и пофиг, вроде работает. Проект по умолчанию в фаирберд. Переделывать не хочется, сегодня копипастил в новый проект, но немного не так сделал, ладно, работаю с этим косяком и матерюсь. Нормально!
it.lenin@preforma.ru
05.08.2025, 11:23
Добрый день.
данные выводятся в переменную и на экран 12345 Вт., можно выводить на экран 12 345 Вт или 12'345 Вт? т.е. необходимо разделение тысячных. Может можно как то сделать без программы (переменная делить на 1000) чтобы показывало 12,345 кВт?
МихаилГл
05.08.2025, 11:29
Добрый день.
данные выводятся в переменную и на экран 12345 Вт., можно выводить на экран 12 345 Вт или 12'345 Вт? т.е. необходимо разделение тысячных. Может можно как то сделать без программы (переменная делить на 1000) чтобы показывало 12,345 кВт?
А через формат {f3} или типа того нельзя? Может там и разделиьель в виде пробела есть... Надо поискать.
it.lenin@preforma.ru
05.08.2025, 11:45
А через формат {f3} или типа того нельзя? Может там и разделиьель в виде пробела есть... Надо поискать.
{f3} только ограничивает три знака после запятой. и все...
МихаилГл
05.08.2025, 11:48
{f3} только ограничивает три знака после запятой. и все...
Я же сказал, например. Может эта скада поддерживает разделители майкрософт {#0 000}. Надо искать эти данные в сети и пробовать, может проканает.
PS Походу не умеет так
PS2 Используйте {N} может такое отображение пойдет?
it.lenin@preforma.ru
05.08.2025, 12:10
Я же сказал, например. Может эта скада поддерживает разделители майкрософт {#0 000}. Надо искать эти данные в сети и пробовать, может проканает.
PS Походу не умеет так
PS2 Используйте {N} может такое отображение пойдет?
Спасибо!!!!
https://support.mps-soft.ru/Help-web/index.html?svoystvo__format_znacheniy.html
Может можно как то сделать без программы (переменная делить на 1000) чтобы показывало не 12345 Вт, а 12,345 кВт?
или по любому выводить в программу, делать вычисления и полученный результат уже на окно?
Спасибо!!!!
https://support.mps-soft.ru/Help-web/index.html?svoystvo__format_znacheniy.html
Может можно как то сделать без программы (переменная делить на 1000) чтобы показывало не 12345 Вт, а 12,345 кВт?
или по любому выводить в программу, делать вычисления и полученный результат уже на окно?
Можете при выводе на экран масштабировать прямо в элементе (https://support.mps-soft.ru/Help-web/index.html?konvertaciya_znacheniy.html)
Codesyser
05.08.2025, 13:29
Ребята, подскажите - заменил ПЛК с 200го на 210, обновил таргет в проекте cds3.5, загрузил символьную конфигурацию в новый ПЛК, затем прочитал ее в Мастерскаде 4D, и у меня в МС создался новый раздел в OPC, привязки не работают, можно это как то победить без перепривязок переменных?
Добрый день! Возникла следующая ситуация:
Есть кнопка с фиксацией, которая при нажатии передаёт 1 в opc. Необходимо сделать так, что бы в opc передавалась 1 при выполнении нескольких условий (в том числе и состояние кнопки). Сделал программу на ST, она отрабатывает корректно. Связал выходную переменную программы с переменной opc, но ничего не записывается в opc переменную. Запись единицы происходит только если привязать свойство "нажата" кнопки с opc переменно. Такая же ситуация с текстовым вводом. Если кто-то знает как решить проблему, подскажите, пожалуйста.
kondor3000
07.08.2025, 10:07
Добрый день! Возникла следующая ситуация:
Есть кнопка с фиксацией, которая при нажатии передаёт 1 в opc. Необходимо сделать так, что бы в opc передавалась 1 при выполнении нескольких условий (в том числе и состояние кнопки). Сделал программу на ST, она отрабатывает корректно. Связал выходную переменную программы с переменной opc, но ничего не записывается в opc переменную. Запись единицы происходит только если привязать свойство "нажата" кнопки с opc переменно. Такая же ситуация с текстовым вводом. Если кто-то знает как решить проблему, подскажите, пожалуйста.
Программа на ST должна выглядеть примерно так
Выход:= Условие 1 AND Условие 2 AND Нажата кнопка;
Какая должна быть программа — я знаю. Вопрос в том, почему значения из программы не передаются в OPC-тег
Добрый день!
Как можно поменять размер текста и шрифт заголовка всплывающего окна?
Добрый день!
Как можно поменять размер текста и шрифт заголовка всплывающего окна?
В шаблоне экрана (https://support.mps-soft.ru/Help-web/index.html?sv_shablon_ekrana.html) вроде были такие настройки
Добрый день!
Как можно поменять размер текста и шрифт заголовка всплывающего окна?
Система > АРМ > Шаблон экрана. Справа, в свойствах, "Заголовок окна". Там же, во вкладке "Экран" можно настроить высоту заголовка всплывающих окон.
Система > АРМ > Шаблон экрана. Справа, в свойствах, "Заголовок окна". Там же, во вкладке "Экран" можно настроить высоту заголовка всплывающих окон.
Эта настройка получается ко всем вплывающим окнам применяется?
Система > АРМ > Шаблон экрана. Справа, в свойствах, "Заголовок окна". Там же, во вкладке "Экран" можно настроить высоту заголовка всплывающих окон.
У меня вплывающее окно вызывается по кнопке85247
Тут как поменять?
У меня вплывающее окно вызывается по кнопке85247
Тут как поменять?
Тут можно поменять только то, что есть в списке (цвет), остальные настройки - общие для всех окон
Добрый день!
Необходимо вывести последнее активное сообщение.
Пробую через программу ST:
_FIELDS:="ActiveTime, Message";
_FILTER:='["Active=TRUE", "Severity = 10 OR Severity = 20"]';
GetActEvents(Fields:= _FIELDS, Filter:= _FILTER, IsGlobal:= TRUE, Archive:= , Count => LatsCount);
При формировании аварийного сообщения (Severity равно 10) в архивном журнале сообщение появляется, а LatsCount равно 0. В чем может быть проблема?
Сообщения тоже создаются через программу ST через FireBaseEvent.
Добрый день!
Необходимо вывести последнее активное сообщение.
Пробую через программу ST:
_FIELDS:="ActiveTime, Message";
_FILTER:='["Active=TRUE", "Severity = 10 OR Severity = 20"]';
GetActEvents(Fields:= _FIELDS, Filter:= _FILTER, IsGlobal:= TRUE, Archive:= , Count => LatsCount);
При формировании аварийного сообщения (Severity равно 10) в архивном журнале сообщение появляется, а LatsCount равно 0. В чем может быть проблема?
Сообщения тоже создаются через программу ST через FireBaseEvent.
Как вытащить данные из GetActEvents.Events в отдельные переменные?
ilham345
11.08.2025, 23:38
Здравствуйте! Подскажите пожалуйста новичку! Есть Пр-205 8 шт., и Пр-200 2 шт., все подключены в сеть Modbus RTU. Заказчик хочет Master Scada 4D ко всему этому подключить - 1 АРМ. В дальнейшем возможно расширение. Вопрос: какую модель сети построить? хотелось ethernet порт одной ПР205 использовать, но не нашел как организовать опрос потом по RTU. Скаду не программировал до этого, только Лоджик и панели оператора. Много видео посмотрел, но все равно вопросов много чувствую. В Скаде нужно АРМ только организовать или Сервер тоже надо?
ilham345 там сервер может выступать в качестве АРМ. Собственно любая scada так может.
заказчик готов платить сразу за scada ? или это все хотелки? 10 устройств надо очень постараться запихнуть в халявные 32 тега :)
ilham345
12.08.2025, 00:48
Купить хочет, не халява. А есть что почитать про это, АРМ, сервер...
Здравствуйте! Подскажите пожалуйста новичку! Есть Пр-205 8 шт., и Пр-200 2 шт., все подключены в сеть Modbus RTU. Заказчик хочет Master Scada 4D ко всему этому подключить - 1 АРМ. В дальнейшем возможно расширение. Вопрос: какую модель сети построить? хотелось ethernet порт одной ПР205 использовать, но не нашел как организовать опрос потом по RTU. Скаду не программировал до этого, только Лоджик и панели оператора. Много видео посмотрел, но все равно вопросов много чувствую. В Скаде нужно АРМ только организовать или Сервер тоже надо?
Подключайте все 205 по ModbusTCP, а 200 - либо через одну-две ПР205, либо через шлюз напрямую к АРМ.
Читайте (https://support.mps-soft.ru/Help-web/first_first.html)
ilham345
12.08.2025, 10:50
Подключайте все 205 по ModbusTCP, а 200 - либо через одну-две ПР205, либо через шлюз напрямую к АРМ.
Читайте (https://support.mps-soft.ru/Help-web/first_first.html)
А нельзя Пр205 использовать как шлюз? Не делал так кто нибудь?
Добрый день! Где можно почитать про отключения функциональных клавиш masterscada 4d?
А нельзя Пр205 использовать как шлюз? Не делал так кто нибудь?
Прямо прозрачный шлюз наверно не сделать, но пр205 может читать данные пр200 по 485 и отправлять по TCP, и наоборот - получать по TCP и передавать по 485
Добрый день! При запуске проекта на стартовом экране показывается ошибка "404 not found" и надпись nginx. Когда создаю новый проект, то всё работает. В чем может быть проблема?
ilham345
12.08.2025, 12:26
Прямо прозрачный шлюз наверно не сделать, но пр205 может читать данные пр200 по 485 и отправлять по TCP, и наоборот - получать по TCP и передавать по 485
Вы имеете ввиду когда ПР205 Мастер и собирает переменные у себя, а Пр200 слейв? Эта схема понятна.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot