СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk
Добрый вечер.
Я понял, спасибо.
Подскажите плиз, как организовать опрос 13-ти счетчиков наибыстрейшим способом?
Что то никак не получается(
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk
Меркурий 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) ловлю завершение опроса и таймер паузы, а также таймер перезапуска предыдущего счетчика
Вроде опрос идет, но первый счетчик опрашивается гораздо быстрее чем все остальные. Третий очень медленно, хотя все лежат на столе рядышком(
Выложите ваш проект, посмотрим.
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk
Правда в txt, что бы не захломляться)
Есть вариант через цикл For еще. Но думаю если в этом отчетливо разобраться по наилучшей скорости, то в For нет необходимости.