PDA

Просмотр полной версии : несколько наборов параметров



Dom13
18.10.2012, 13:57
есть некая переменная в которой хранится номер набора параметров.
набор параметров это допустим две переменные.
необходимо сделать так чтобы в зависимости от значения переменной с номером набора, с панели ип320 можно было изменять именно те две переменные которые входят в набор.

если просто сделать условие в зависимоти от номера набора на присваивание, то затираются старые значения, а нужно чтобы на панели отображались значения именно с переменных соответствуещего набора.

плодить экраны для каждого набора параметров как то не очень хочется.

lara197a
18.10.2012, 14:15
Создайте структуру и из структуры создайте массив и через них записывайте и присваивайте значения.
к примеру так:
- С панели вводите номер или название программы
-в структуре одной из переменных имеете этот номер или название.
-при вводе номера программы в контроллере организуете поиск нужного.
как нашли присваиваете значения остальных переменных значениям текущей программы.

Я где-то месяц назад кому-то в сообщениях выкладывал пример.

Dom13
18.10.2012, 15:34
я наверное неправильно обяснил
на панель два поля для переменных из набора.
если номер набора 1 то, значения переменных из первого набора отображаются в этих двух полях, и в случае если мы нажмем кнопку SET то изменим знаения переменных из первого набора.
если номер набора 2 то из второго набора. ну и так далее.

отображать на панели значения переменных не проблема.

а вот как заставить панель писать в определенный набор - вот проблема, либо наоборот.записывать не проблема. а отображать..

как вариант можно создать например три аналогичных экрана (для трех наборов) по два поля на каждом, и работать с теми регистрами с конфигурации, которыео тносятся к тому или другому экрану, но так не хотельсь бы делать..

lara197a
18.10.2012, 15:47
Ну а какая разница.
Напиши проще:
IF "номер программы" =1 THEN
"параметр1":=N1;
"параметр2":=N2;
ELSIF "номер программы" =2 THEN
"параметр1":=N3;
"параметр2":=N4;
и т.д.
END_IF

Dom13
18.10.2012, 16:17
...
на панели есть один элемент "регистр" с галочкой настройка.

в конфигурации ПЛК в этому регистру прописана RETAIN переменная ПЕРЕМЕННАЯ_С_ПАНЕЛИ.

если использовать переменной с панели то все считывается и записывается.

но нужно две RETAIN переменных ПРОСТОПЕРЕМЕННАЯ1 и ПРОСТО ПЕРЕМЕННАЯ2, одна из которых в нужный момент как бы сами прописивались бы вместо ПЕРЕМЕННАЯ_С_ПАНЕЛИ, так как насколько я знаю можно одновременно отображать на панели и изменять с панели так, чтобы при следующем включении значение сохранялось.

lara197a
18.10.2012, 16:41
Панель используйте по назначению- как устройство ввода-вывода.
Хранение переменных организуйте в ПЛК. Благо места там хватает.