Здравствуйте. Помогите, пожалуйста с разрешением следующего вопроса. Написал на Делфи7 прогу. Программа управляет клапанами, через коммутационную колодку. Там 7 рабочих реле. Использую SRV. Помимо этого считываю по таймеру с нескольких каналов сигналы датчиков давления (аналоговый выход до 10В) (тоже через SRV).В принципе простой алгоритм. Все отлажено и работает, но вот, млин, бьюсь с зависоном, который происходит через 20мин-2часа, после запуска программы. Проявляется в том, что считываемые сигналы с датчиков резко падают 0.00000, хотя там напруга точно есть, проверял тестером (да и шум хотя бы должен же быть). Релюшками остаются включенными, не выключаются. Только не управлять ими уже не получается. Сама программа не зависает, все работает, как будто бы ничего не произошло. Грешил на глюки самого АЦП, но приобрели второе Zet-220 и абсолютно то же самое. Помогает только выкл./вкл. АЦП.
Вот код считывания с одного из каналов.
procedure TForm1.FormCreate(Sender: TObject);
begin
form1.SRV1.ConnectVrtCh(1);
mytime:=Srv1.CurrentTime(0);
srv1.SetDigOutEnable(0,65535); //маска записи в порт
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if Srv1.CurrentTime(0)>mytime then
begin
Srv1.GetData(0,0,mytime,200,ff[0]);
mytime:=mytime+1;
b[1]:=0;
for i:=0 to 199 do
begin
b[1]:=b[1]+ff[i];
end;
b[1]:=b[1]/200;
end;
end;
Вот код управления одним из реле.
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if checkbox1.Checked=true then
begin
srv1.SetDigOutput(0,2);
end
else
begin
srv1.SetDigOutput(0,253);
end;
end;
Добрый день! У меня вопрос к разработчикам. Я уже спрашивал на форуме (тема Zet-220 подвисает - почему время от времени Zet-220 виснет, причем второй экземпляр модуля абсолютно идентично подвисает. Но ответа так и не дождался.
Может есть хоть какое-нибудь предположение о причинах сброса АЦП? Привык уже к вашей продукции, неохота на полпути менять производителя и заново все настраивать, переписывать.Да и новые установки делать все же хотелось бы с вашими модулями.