1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

WinCC редактирование большого числа параметров

Модератор: Глоб.модераторы

Ответить
Аватара пользователя

Автор темы
Barsik
не первый раз у нас
не первый раз у нас
Сообщения: 353
Зарегистрирован: 02 фев 2010, 22:28
Имя: Корнеев Дмитрий
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 1 раз
Поблагодарили: 7 раз

WinCC редактирование большого числа параметров

Сообщение Barsik »

Мне понадобилось создать процедуру редактирования большого числа редко используемых параметров. В InTouch в подобной ситуации можно пользовать скрипт, который берет описание параметра и его адрес в контроллере из текстового файла к примеру такого вида:

IOI_V1101_SW,410,0,373,0,PLC1,V1101
IOI_V1102_SW,410,40,373,2,PLC1,V1102
IOI_V1103_SW,410,80,373,4,PLC1,V1103
IOI_V1104_SW,410,120,373,6,PLC1,V1104

При инициализации скрипта названия объектов попадают в ComboBox, далее пользователь выбирает нужный ему объект из списка и при клике на него индерект тегам присваиваются значения выбранного объекта и выводятся в поля для редактирования.

Можно ли нечто подобное изобразить в WinCC?

WinCC версии 7.4, контроллер S7-300
Запуск и модернизация оборудования без проекта и документации. Дорого.

winb
освоился
освоился
Сообщения: 248
Зарегистрирован: 31 янв 2017, 08:44
Имя: Маркушин Андрей Геннадьевич
Страна: Россия
город/регион: Нижегородская обл., Выкса
Благодарил (а): 19 раз
Поблагодарили: 64 раза

WinCC редактирование большого числа параметров

Сообщение winb »

Можно :)
Но лучше использовать UserArchives. Полезная опция, хоть и платная.

LexSL
освоился
освоился
Сообщения: 208
Зарегистрирован: 16 дек 2011, 15:13
Имя: Алексей
Страна: Россия
Благодарил (а): 67 раз
Поблагодарили: 53 раза

WinCC редактирование большого числа параметров

Сообщение LexSL »

Barsik писал(а): 13 янв 2018, 00:29индерект тегам присваиваются значения выбранного объекта
Вам нужно множество однотипных объектов редактировать? Используйте TagPrefix для окон. Список объектов можно загрузить из файла (в Вашем распоряжении языки: Си и VBS).
Аватара пользователя

Автор темы
Barsik
не первый раз у нас
не первый раз у нас
Сообщения: 353
Зарегистрирован: 02 фев 2010, 22:28
Имя: Корнеев Дмитрий
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 1 раз
Поблагодарили: 7 раз

WinCC редактирование большого числа параметров

Сообщение Barsik »

LexSL писал(а): 15 янв 2018, 15:58Используйте TagPrefix для окон
Как я понимаю, в этом случае все равно нужно создавать теги.
Лимит по тегам у меня исчерпан, а доделывать проект надо.

В общем пока что я реализовал похожую процедуру в контроллере, но уж как то совсем коряво получилось.
В СомbоВох ОnRelease взводит бит, по которому прочитывается значение из нужного блока данных

NETWORK
TITLE = если бит установился, запускаем процедуру чтения
A "SWITH_SELECT_RELEASE";
JCN L01;
NETWORK
TITLE = получаем адрес DB
L "SWITH_SELECT";
L 1100; //первый нужный блок
+I ;
T "SW_DB_NO"; //номер блока данных
NETWORK
TITLE = выводим значение требуемой переменной
OPN DB ["SW_DB_NO"];
L DBW [AR1,P#2.0];
T "SWITH_SELECT_DATA_ON";
T "SW_SELECT_DATA_ON_TMP";
NETWORK
TITLE = сбрасываем флаг ОnRelease
L01: R "SWITH_SELECT_RELEASE";

Проверку изменения переменной пользователем проводим по свойству OnChange:

NETWORK
TITLE = проверяем OnChange
A "SWITH_SELECT_DATA_REL_ON";
JCN L03;
NETWORK
TITLE = на всякий случай проверяем отличие введенного значения от ранее сохраненного, если отличается - перезаписываем.
L "SW_SELECT_DATA_ON_TMP";
L "SWITH_SELECT_DATA_ON";
==I ;
JC L03;
OPN DB ["SW_DB_NO"];
L "SWITH_SELECT_DATA_ON";
T DBW [AR1,P#2.0];
L L#0;
L DBW [AR1,P#2.0];
T "SW_SELECT_DATA_ON_TMP";
R "SWITH_SELECT_DATA_REL_ON";
NETWORK
TITLE =
L03: NOP 0
Запуск и модернизация оборудования без проекта и документации. Дорого.
Ответить

Вернуться в «WinCC»