Вот код:не MATLAB оценить состояние
clear;
channel = ddeinit('view','tagname');
temperature = ddereq(channel,'temperature');
poistka = 0;
time = 0;
kvas = 0;
ohrev= 1;
steam=300;
pressure=100;
steam2= 50;
tempom = 1;
pom = 0;
while time<3600
ventil = ddereq(channel,'ventil');
pause(0.1);
time= time+1;
pom = pom+1;
if (kvas<=100)
kvas = kvas+1;
end;
if (kvas>=100 && temperature<95 && ohrev==1)
temperature = temperature+1;
tempom=0;
end;
if (temperature==95)
ohrev=0;
end;
if (ohrev==0)
temperature = temperature -0.1;
tempom = 1;
end;
if (temperature==70)
ohrev=1;
end;
end;
Я comunnicating с MATLAB и делать визуализацию в InTouch, но я не могу понять, почему переменная ohrev
не стал 1
когда temperature
достигает 70
значение. Он поднимается до 95
, затем идет до 0
, но он должен остановиться на 70
и снова перейти к 95
и так далее, но он не работает. Какие-нибудь советы? Большое спасибо
ваш код неполный - переменная температура не запускается. – 16per9
Мое предположение: [не выполнять точные совпадения с числами с плавающей запятой] (http://stackoverflow.com/questions/686439/why-is-24-0000-not-equal-to-24-0000-in-matlab), особенно если они не рассчитаны. – TroyHaskin
Я запускаю ваш код, и когда kvas становится 100, переменная температура поднимается до 70 и достигает его значения. – 16per9