тип String
При таком коде, каналы, в которые должны записываться названия ингредиентов постоянно "пролистываются", всегда отображается название последнего
Var Strok: String; //выбор раствора из выпадающего списка
Jid1: String; //переменная в которую записывается 1 ингредиент
Jid2: String; //переменная в которую записывается 2 ингредиент
Begin
Strok:= ReadValue('Список растворов');
If Strok='1' then
Jid1:='Вода';
Jid2:='Ацетат свинца';
WriteValue('1 жидкость',Jid1);
WriteValue('2 жидкость',Jid2);
If Strok='2' then
Jid1:='Вода';
Jid2:='Сульфат алюминия';
WriteValue('1 жидкость',Jid1);
WriteValue('2 жидкость',Jid2);
end.
end
Если выбрать тип Jid1 и Jid2 Integer, и записать в них числа, то все работает как надо, а со строковыми не получается, при этом код одинаков в обоих случаях.В чем проблема?
Проблема решена, цикл for изменен, так как получались числа с огромным остатком и он не находил равные(не останавливался).
Вот конечный результат:
{
double speed=ReadValue("123");
double konc=ReadValue("345");
double massa=ReadValue("567");
double i;
double j;
integer tv1=0;
integer tx1=0;
double koncn=konc/100.0;
double massav=massa*(1.0-koncn);
double tv=massav/speed*1000.0;
for (i=0; i<=tv; i++) {tv1++;};
WriteValue("3 клапан",1);
delay(tv1);
WriteValue("3 клапан",0);
double massax=massa*koncn;
double tx=massax/speed*1000.0;
for (j=0; j<=tx; j++) {tx1++;};
WriteValue("1 клапан",1);
delay(tx1);
WriteValue("1 клапан",0);
}
Отладка не запускается, монитор работает как надо