PDA

Просмотр полной версии : Отображение массива в MasterScada



Serge1
16.11.2023, 17:03
Добрый день! Подскажите, пожалуйста, как можно вывести значения массива (есть параметр - массив, в нем 600 значений типа REAL) чтобы их просмотреть в табличном виде?

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

Ready
16.11.2023, 17:53
Возможно как то с помощью таблицы данных?

Здравствуйте. Да, возможно. Для таблицы данных нужен массив структур в качестве источника данных. Вам нужно в библиотеке добавить тип данных "Структура" с полем типа REAL. Потом в программе, например, ST на входной клеммник добавить Ваш массив, на выходной добавить Параметр, вкладка Массивы, тип массива - ранее созданная структура, начальный индекс 1, длина 600. Связать данный параметр с источником данных в таблице данных. В самой программе с помощью цикла наполнить значениями из массива параметр на выходном клемнике. И в таблице данных добавить столбец и указать поле структуры.

Serge1
16.11.2023, 19:46
Cпасибо!

Но столкнулся с проблемой, что программа не компилируется, пишет что происходит недопустимое присваивание REAL := Локальная.Структура_1. Есть ли способ решения? Поле REAL добавлено в структуру.

Ready
16.11.2023, 23:10
Но столкнулся с проблемой, что программа не компилируется, пишет что происходит недопустимое присваивание REAL := Локальная.Структура_1. Есть ли способ решения? Поле REAL добавлено в структуру.

71675

Еще момент.
Если у Вас версия скады 1.3.3.х, возможно в таблице данных не будет вертикального скролла. В версии 1.3.3.15735+, в RC и бете от 30.10.2023, 01.11.2023 его точно нет. Разрабы что-то намудрили.

Временное решение:
- после заливки конфигурации остановить все процессы в мониторе.
- добавить this.style.overflowY = "auto"; в файл C:\ProgramData\MPSSoft\MasterSCADA4DRT1_3\Server\h tdocs\controls\datatable\datatable.js (это контрол "Таблица данных") после этих строк
constructor() {
super();
в итоге должно быть так:
constructor() {
super();
this.style.overflowY = "auto";
<остальной код>
- сохранить, вновь запустить процессы и скролл появится

Serge1
17.11.2023, 11:16
Большое спасибо! Все получилось!)