В любом примере чтения на ST по Модбас для ПЛК63-73, Вложение 82106
10) Обмен через библиотеки Modbus и OwenNet https://owen.ru/product/codesys_v2/example_program
Вы же просто всё выкинули.
Вид для печати
В любом примере чтения на ST по Модбас для ПЛК63-73, Вложение 82106
10) Обмен через библиотеки Modbus и OwenNet https://owen.ru/product/codesys_v2/example_program
Вы же просто всё выкинули.
kondor3000, а что Вы вкладываете в "признак завершения операции"? Это успешная операция по передачи данных по Modbus? Если да, то как Вы это отслеживаете? Это анализ регистра "Last error"?
Снимаю вопрос из-за не корректно поставленного мною вопроса и настроя специалистов.
Отлаживаю программу. Впервые начал использовать "Менеджер просмотров". Вещь оказалась удобная. Можно в одном окне собрать актуальные для отладки переменные программы. Но появился вопрос. Почему когда я вношу в "Менеджер просмотров" регистры от Modbus (slave)[VAR] и хочу изменить их значение, то после изменения в программе эти новые значения не появляются. А если изменяешь значение в регистре непосредственно в окне "Конфигурация ПЛК" , то все изменяется, как положено. На фото указываю конкретный регистр. Я полдня просидел с это непоняткой. Думал, что ошибка в программе.
Вложение 82153
Подскажите, в чем может быть причина?
Большое спасибо! Я понял свою ошибку. Действительно, я не нажимал Ctrl +F7 после изменения значения в переменной. Меня подкупило, что появлялось окно со старым, новым значением и кнопкой "Ok" и "Отмена". Думал что это окошко окончательно прописывает значение в переменную.
Оставил как в примере, но флаг complete не встает все равно.Вложение 82158Вложение 82159
Данные сыпятся в буфер, но постоянно проскакивает запрос в сам UPS, который мы отправляем в UPS.
команда, которую мы отправляем с ПЛК: :010300010050AB
И она время от времени, без какой-либо переодичности и системности вываливается в буфер и из-за этого данные иногда проваливаются. Пытался добавить проверку на значение кол-ва данных в буфере, который возвращает UPS. По типу: :0103A008...., шде А0 это кол-во данных и стояла такая проверка IF BUFFER[2] =16#A0 THEN..., но не помогло.
откройте библиотеку как проект и посмотрите при каких обстоятельствах поднимается флаг Вложение 82161
Зачем что-то открывать?
Это ж на суахили?Цитата:
"Complete: BOOL; (*если = TRUE, обмен завершен*)"