Цитата Сообщение от msagent Посмотреть сообщение
Здравствуйте. СПК110+ТРМ148. Протокол овен. Читаю с помощью owenlib. Прицепленны термопары на первые 2 входа. Owen_get_Real читает их, а потом затык. Что делать?

Кусок кода :

<...>
// [3.0.2] если ФБ чтения завершил работу...
IF TRM1_GetReal_1.Complete THEN
// ...и ошибки отсутствуют, то забираем считанное значение
IF TRM1_GetReal_1.Error=0 THEN
CH[iChannel]:=TRM1_GetReal_1.Value;
counter2:=counter2+1;

END_IF
// завершаемработублока
TRM1_GetReal_1(Enable:=FALSE);



т.е. TRM1_GetReal_1.Complete зависает в состояние FALSE и программа встает. а ошибка TRM1_GetReal_1.Error пишет 64768 (0xFD00). Что это за ошибка?. И как понять, что это действительно обрыв термопары??

Могу ли я завершить принудительно работу блока TRM1_GetReal_1(Enable:=FALSE) и перейти к опросу следующего канала не дожидаясь TRM1_GetReal_1.Complete ???
Вам надо завершение работы блока делать только по флагу Complete (т.е. внести это внутрь условия iF). См. пример:
http://ftp.owen.ru/index.html/CoDeSy...owen_v.1.1.pdf