Стартовая страница › Форумы › Новые идеи › Rapid SCADA 6.х
- В этой теме 139 ответов, 13 участников, последнее обновление 1 год назад сделано Mikhail.
-
АвторСообщения
-
17.01.2022 в 22:13 #21443RomirosУчастник
Тогда много типов данных должно поддерживаться скадой. Например в драйвере, который сейчас пишу char, byte, string, Int32, Int16, float, double, short, ushort. Не знаю, есть ли в этом смысл на уровне скады?
17.01.2022 в 22:26 #21444manjey73Участник@Romiros при создании структуры на основе каналов, даже если они все будут double смысл есть. Преобразования на уровне ядра достаточно делать только в моменты вызова или передачи структуры.
17.01.2022 в 22:31 #21445RomirosУчастникПреобразование на уровне ядра т.е. в формуле? Или ещё какой-то промежуточный слой? Типа отдельная таблица со структурами из номеров каналов, где можно указать тип данных?
17.01.2022 в 22:52 #21446manjey73УчастникДа, создаем структуру, с указанием типов данных. Если это отображение на мнемосхеме, ну и пусть себе выводит канал как есть с указанием D.D или DD не важно.
Но если надо передать в устройство как данные команды, сделать преобразование согласно указанного типа, даже возможно как в Modbus с настройкой перестановки байт например. Так же и при приеме структуры из устройства.18.01.2022 в 11:36 #21452manjey73Участник@Mikhail по поводу поддержки массивов можно подробнее?
А то у меня тут и массивы образовались в ПЛК, каким образом их читать и писать в ПЛК и взаимодействовать со Scada ?
18.01.2022 в 11:40 #21453manjey73УчастникНапример вот такие есть
ARRAY [0..255] OF WORD указано BitSize 4096 — соответственно 512 байт, как раз 256 значений Word. Если я ее скачаю из ПЛК, то каким образом мне, зная, что это Word запихнуть это в идеале в один канал, чтобы потом из него выводить на мнемосхему, или например изменять ?Еще есть ARRAY [0..3, 0..11] OF BOOL а это уже не однорядный массив — как быть с таким ?
18.01.2022 в 16:32 #21460manjey73УчастникВ КП на линии связи неплохо бы добавить столбцы таблиц
| Сигнал | Наименование | Значение | Канал |
Которые можно было бы генерировать из драйвера. Мне например не хватает в некоторых случаях здесь столбца с типом переменной в приборе
Bool, Int, UInt, DWord и так далее. При чем с возможностью отключения и включения хотя бы и не на лету а при перезапуске драйвера. При отладке и в целом было бы полезно.
18.01.2022 в 16:38 #21462MikhailМодераторМассив — это последовательность каналов, например, 101…110. При этом в базе просто указывается канал 101 длины 10. Канал может иметь тип Double, Int64, DateTime или строка. Элемент массива 8 байт. Массивы строк не поддерживаются, т.к. длина означает количество каналов, выделяемое на строку.
Чтобы получить массив из ПЛК, драйвер Коммуникатора тоже должен поддерживать массивы. В частности это будет реализовано в драйвере OPC UA, если OPC-тег является массивом.
Какой у Вас протокол для обмена данными с ПЛК?18.01.2022 в 16:39 #21463MikhailМодераторВы можете сами выдавать информацию по КП, которая будет выводиться в файл, переопределив соответствующий метод. Правда формировать табличку из символов не самое приятное занятие.
18.01.2022 в 16:47 #21464manjey73УчастникПротокол TwinCatAds, хотя какой там протокол не знаю, просто это их библиотека, которая читает в виде Stream данные из ПЛК и есть пример чтения и записи массивов.
Формирование таблички требует дополнительных пробелов, чтобы не расползалось?
Собственно если есть намеки на реализацию, поделитесь кодом, как в Коммуникаторе передать в Scada массив С и ПО такой-то каналы.
Так понимаю, просто надо, чтобы массив был 8-ми байтовым и только?
Или это только в версии 6 уже будет ?- Этот ответ был изменен 2 года, 3 месяца назад от manjey73.
19.01.2022 в 12:22 #21467MikhailМодераторТабличка склывается из символов — | + и пробелов. Наверное на данном этапе нет смысла заморачиваться, потому что в 6-й версии код формирования таблички сильно изменился.
> Собственно если есть намеки на реализацию, поделитесь кодом
Очень просто:DeviceData.SetDoubleArray(TagCode.RA, randomArray, CnlStatusID.Defined);
Взято отсюда
19.01.2022 в 12:25 #21468MikhailМодераторПоясню: тег КП может быть массивом с заданной длиной. Этот тег автоматически привязывается сразу к диапазону каналов. В коде драйвера Вы записываете массив в тег либо по индексу тега, либо по строковому коду тега.
19.01.2022 в 13:04 #21470manjey73Участникхм, попробую разобраться, но скорее всего не поможет, так как я могу отключить из опроса переменную, точнее она все равно продолжит читаться, так как находится в Stream, просто не будет выдаваться в Scada
08.04.2022 в 06:16 #22896Madiyar BakytulyУчастникДобрый день! Прошу Вас добавить след.опций:
1. Компонент динамический надпись дополнить условием обозначение верхних и нижних пределов и соответственно выбора цвета текста. Данная опция очень важна для контроля критических параметров В Скада системе.
2. Нужно проработать использование формул с БД PostgreSQL. Данный момент мы используем SQL скрипты. ПО этому прошу расширить возможность использование формул.
3. Прошу проработать вопрос использование двух Скада системы с возможностями ссылночного перехода и привязки авторизаций 1 Скада системы по всем другим.
4. Автоматизировать расчет среднего значение для выбранного периода в графике про или в таблице.08.04.2022 в 11:15 #22902 -
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.