Наша задача такая чтобы уставки (например температуры) менялись во времени самостоятельно. То есть например первый час было одно значение, потом оно поменялось на другое, потом через 2 часа на 3 значение. И это чтобы делал контроллер самостоятельно.
Вид для печати
Наша задача такая чтобы уставки (например температуры) менялись во времени самостоятельно. То есть например первый час было одно значение, потом оно поменялось на другое, потом через 2 часа на 3 значение. И это чтобы делал контроллер самостоятельно.
ну и меняй в контроллере по таймеру значение переменной...
Знаете нам хотелось бы сделать это в визуализации в виде таблички, где напротив значения уставки стояло время с которое оно должно длиться. И чтобы это все можно было менять во время работы контроллера.
Возможно ли подставлять в заданиях таймера в строке t#20s вместо 20 - имя переменной или маcсива, например t#mas[i]s
Прблем нет. Присвойте значениям температур в визуализации значения в контроллере. (См. справку в среде программирования конфигурирование элементов в визуализации)
Можно прямо с экрана как вводить или присваивать выбранные из таблиц значения переменнх, так и просматривать текущие значения.
На самом деле проблема состоит не в том чтобы в визуализации менять или отображать значение переменной (это то мы сделали без проблем). А именно создать таблицу с уставками которые будут менять через интервал времени. И проблема в том чтобы можно было в визуализации меня значение длительности таймера. Потому что не понятно как подставлять в t#20s вместо 20 (ну может быть любое другое число) подставить переменную (которую можно будет задавать прямо из визуализации).
Преобразовывайте к примеру 20 из визуализации из int в time внутри программы и присваиваейте полученное значение, через косвенную адресацию полученное значение таймеру.
Например А-уставка таймера
В-значение в визуализации, пусть =20
А:=TIME_TO_INT(B)
получите время А=T#20ms
если нужны секунды, то умножте на 1000.
Спасибо большое за данный совет, так действительно мы и будем делать.
Вот еще один вопрос созрел, а как можно будет заполнять массив из визуализации.
Хотелось бы просто профиль уставок сделать с использованием массива, где каждому значению уставок соотвестововало время таймера.
А можно ли вообще поставить таймер в цикл, где с каждым новым кругом будет новое значение уставки времени взятое из массива.
Хотелось чтобы было как то вот так вот:::
ystavki [0]:=35;
ystavki [1]:=40;
ystavki [2]:=45;
Timers [0]:= t#45s
Timers [1]:= t#50s
Timers [2]:= t#55s
i:=0
While
I<=2
DO
Tim1(in:=1, PT:=Timers [i];
q:=tim.q;
IF
q=0
THEN
yst_temp:= ystavki [i];
tim1 (in:=0, PT:=Timers [i]);
ELSE
i:=i+1;
END_IF
END_WHILE
Можете сказать в чем ошибка, или так вообще делать нельзя???
Просто хотелось бы это сделать через циклы и массивы.