На форуме обязательно:
  1. Заполнить свой профиль НА РУССКОМ ЯЗЫКЕ КИРИЛИЦЕЙ. См. Правила, п.2.d.
  2. Не писать свой вопрос в первую попавшуюся тему, а вместо этого создать свою. См. Правила, п.3.a.

Рекламу мы не размещаем ни на каких условиях.

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

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

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

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

Сообщение Barsik » 13 янв 2018, 00:29

Мне понадобилось создать процедуру редактирования большого числа редко используемых параметров. В 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
осмотрелся
осмотрелся
Сообщения: 133
Зарегистрирован: 31 янв 2017, 08:44
Имя: Маркушин Андрей Геннадьевич
Благодарил (а): 4 раза
Поблагодарили: 21 раз

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

Сообщение winb » 15 янв 2018, 09:06

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


LexSL
здесь недавно
здесь недавно
Сообщения: 83
Зарегистрирован: 16 дек 2011, 14:13
Имя: Михайлов Алексей
Поблагодарили: 9 раз

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

Сообщение LexSL » 15 янв 2018, 15:58

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

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

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

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

Сообщение Barsik » 17 янв 2018, 22:32

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»