Добрый день.
Вы, видимо, имеете в виду исходники.
Они не распространяются.
Для некоторых из приборов, поддержанных в библиотеке, можно найти примеры опроса на Github на различных языках.
Добрый вечер.
Я понял, спасибо.
Подскажите плиз, как организовать опрос 13-ти счетчиков наибыстрейшим способом?
Что то никак не получается(
Меркурий 234
Взял Ваш пример и в теле условия
IF fb_ComControl.xActive THEN // Если COM-порт открыт, настраиваем и запускаем обмен
fb_Mercury23xPoll_1 (); //Опрос счетчика
Case eCurrentParameter_2 OF
End_Case
fb_DoneTrig (CLK := fb_Mercury23xPoll_1.xDone); // Ловим окончание работы ФБ
fb_ErrorTrig (CLK := fb_Mercury23xPoll_1.xError);
fb_DelayBetweenPoll_1( IN := fb_DoneTrig.Q OR fb_ErrorTrig.Q, PT := c_tDelayBetweenRequests); // Задержка между запросами
fb_PollingPeriodTimer_1 (IN := NOT fb_PollingPeriodTimer_1.Q,PT := c_tPollingPeriod); // Задержка запуска новой цепочки опроса
IF fb_PollingPeriodTimer_1.Q THEN
xIsPollingChainEnd := FALSE; // Сбрасываем признак окончания цепочки обмена
END_IF
fb_Mercury23xPoll_2();
--------------------- //Тоже самое
End_If
И так далее. Пытался через цикл сделать For, но не понял как ловить окончание опроса предыдущего счетчика, поэтому вернулся c copy-pass)
В fb_Mercury23xPoll_1 () в качестве условия запуска xExecute:= (NOT fb_DelayBetweenPoll_2.Q) AND (NOT xIsPollingChainEnd_2 AND fb_PollingPeriodTimer_1.Q) ловлю завершение опроса и таймер паузы, а также таймер перезапуска предыдущего счетчика
Вроде опрос идет, но первый счетчик опрашивается гораздо быстрее чем все остальные. Третий очень медленно, хотя все лежат на столе рядышком(
Выложите ваш проект, посмотрим.
Правда в txt, что бы не захломляться)
Есть вариант через цикл For еще. Но думаю если в этом отчетливо разобраться по наилучшей скорости, то в For нет необходимости.