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