если приборы slave все работают чтение идет, если первый по порядку отключить последующие не считывает.
код взят из ранней темы. как правильно написать код, что бы приборы с адресами читали циклично.
если приборы slave все работают чтение идет, если первый по порядку отключить последующие не считывает.
код взят из ранней темы. как правильно написать код, что бы приборы с адресами читали циклично.
В соседней теме также опрашивал модули по ModBus в основном цикле программы, это не совсем удобно! Побывал вынести в отдельную подпрограмму и запускать ее с помощью Конфигурация задач так у меня основной цыкал перестал работать. Также побывал вызывать подпрограмму из основной программы через задержку, появились ошибки связи с модулями. Подскажите как наиболее оптимально и грамотно осуществлять связь с модулями.
Желательно с примерами.
Вы основной цикл (PLC_PRG) в конфигурацию задач вносили?
Конечно же нет.
polling_modules — производит опрос модулей.
При добавлении его в Конфигурация задач все остальное становиться серым.
01.png
Я не волшебник, я только учусь...
Сложно всё у вас как-то...
Я при создании нового проекта, конфигурацию задач не трогаю. Т.е. по умолчанию PLC_PRG в "свободном плавании". Работу Modbus выношу в отдельные POU (с добавлением соответствующих FB) и вставляю их вызов в тело PLC_PRG, если нужно, то по условиям. Все нормально работает.