Стартовая страница › Форумы › Понять, как работает ПО › Массивы, коммуникатор, названия каналов.
- В этой теме 16 ответов, 4 участника, последнее обновление 5 дней, 14 часов назад сделано saprin8.
-
АвторСообщения
-
26.11.2024 в 10:30 #35792OlegУчастник
Здравствуйте. Вопрос такой:
Например, коммуникатор через OPC получает данные. В OPC создана подписка с одной строчкой Bool_array_1500, в настройках устройства коммуникатора стоит галочка массив, значение 1500.
В каналах устройства создан один канал через мастер с указанной длиной данных 1500.
Соответственно у нас получается массив каналов Bool_array_1500 с размером 1500 и названиями Bool_array_1500[0], Bool_array_1500[1] и т.д.
Названия эти ни о чем не говорят, поэтому мы потом создаем каналы с кодами тега (Bool_array_1500[0], Bool_array_1500[1] и т.д.) для связи с устройством коммуникатора и называем каналы по человечески, например Канал_1_ток, Канал_2_напряжение, Канал_3_скорость и т.д.
Проблема заключается в том, что для таблиц можно убрать галочку Автотекст, и в веб-интерфейсе будет отображаться название канала «Канал_1_ток» тега коммуникатора Bool_array_1500[0].
А вот если построить график по этому тегу/каналу, то название все равно будет «Bool_array_1500[0]»?
Это как-то можно победить?26.11.2024 в 11:10 #35798manjey73УчастникВы в таблицу добавили все 1500 каналов для отображения?
26.11.2024 в 12:38 #35828OlegУчастникДа, я добавил устройство целиком в таблицу — и увидел, что отображение идет в виде Bool_array_1500[0], Bool_array_1500[1] …
Потом в таблице каналов вместо канала Bool_array_1500 с длиной данных 1500 сделал несколько каналов Имя/Тег: Имя_1/Bool_array_1500[0], Имя_2/Bool_array_1500[1].
В таблице убрал галочку «автотекст» и названия каналов в таблице стали отображаться как надо: Имя_1, Имя_2 …
Но при открытии графика и в выборе каналов для отображения в графиках имена каналов те же: Bool_array_1500[0], Bool_array_1500[1] ..26.11.2024 в 14:14 #35836MikhailМодераторДобрый день!
Скриншоты, иллюстрирующие написанное, помогут ответить на вопрос.26.11.2024 в 17:13 #3586026.11.2024 в 17:28 #35861manjey73УчастникТак у вас стоит галочка Авто текст.
Удалите, и пропишите другое имя.Единственное, там надо перейти на другую ячейку после смены имени, бывает «проскальзывает» применение параметра и смены имени.
26.11.2024 в 17:29 #35862manjey73Участникааа. потому что имя канала на самом деле так и осталось именем массива…
Похоже тут надо делать дубли и уже называть как вам надо.Графики не берут имена из таблиц представлений похоже.
26.11.2024 в 18:41 #35863OlegУчастникПохоже тут надо делать дубли и уже называть как вам надо.
Просто это лишняя работа и лишняя нагрузка на сервер, копировать значения входных каналов в рассчетные. Если их 50 — ладно, а если 5000…
Графики не берут имена из таблиц представлений похоже.
В этом и проблема
Я пробовал задать код тега в качестве привязки к данным коммуникатора вместо Real_array_4 и длины данных = 4 использовать каналы с тегами Real_array_4[0], Real_array_4[1], … и длиной данных 1. Тогда теряется привязка у коммуникатора.
26.11.2024 в 19:06 #35864manjey73УчастникЭто уже не первая доработка, которая просится в Графиках Про точно.
Раз Таблицы научили подставлять свои мена в каналах, то Графики должны брать из таблиц эти имена.
Имхо. Но это скорее всего в список задач Разработчику 😀Причем как-то это разруливать даже для мнемосхем.
- Этот ответ был изменен 1 неделя, 4 дня назад от manjey73.
27.11.2024 в 11:56 #35880MikhailМодераторКанал 210000 имеет длину 4, поэтому каналы 210001…210003 игнорируются Сервером. То есть их нет в базе практически.
27.11.2024 в 13:38 #35885OlegУчастникКанал 210000 имеет длину 4, поэтому каналы 210001…210003 игнорируются Сервером. То есть их нет в базе практически.
Это уже ясно конечно, только получается, что если мы по OPC получаем массив, но свои имена каналам массива не дать для графиков? Только если создавать дублирующие каналы типа расчётный с копией значений оригинальных каналов?
28.11.2024 в 12:34 #35896MikhailМодераторИмя канала 210000 общее для элементов массива.
30.11.2024 в 09:17 #35910OlegУчастникМихаил, здравствуйте.
Как можно дать другие имена для отдельных элементов массива для отображения/подписи на Графикам Про?
В Таблицах можно дать любое название канала для отображения на веб странице.30.11.2024 в 09:51 #35911manjey73УчастникНу вероятно никак. Графики Про ведь не знают (хотя почему не знают, что его открывают из таблицы?).
Ну смысл вы поняли — Графики получают номер канала и должны его вывести. А откуда, с таблицы, с мнемосхемы их видимо мало волнует.Интересный у вас набор данных, массив из 1500 булевых переменных 🙂
01.12.2024 в 12:49 #35916OlegУчастникДа, получается пока никак. Может в новых версиях появится возможность..
Ну ничего, все равно OPC оптимизирует связь, и если в подписку добавить не массив в 1500 единиц, а 1500 переменных — сервер OPC все равно получает массив. Важно, чтобы адреса в PLC шли подряд.Там не только булевые, но и 500 INT, 500 DINT, 500 REAL (большая часть резерв).
1500 это с запасом (из них 1200 это ошибки с HMI). Можно конечно читать с OPC не побитно, а 4х8 (DWORD) сразу, но тогда в SCADA нужно формулами биты выделять. Особо нет разницы.
- Этот ответ был изменен 6 дней, 16 часов назад от Oleg.
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.