capzap, вот не лень Вам городьбой сообщений заниматься? Не проще ли составить ответ из одного слова "Да" или "Нет"? И я быстрее получу конкретный ответ на свой вопрос - не высиживая еще цать минут ожидая очередного поста с ответом.
capzap, вот не лень Вам городьбой сообщений заниматься? Не проще ли составить ответ из одного слова "Да" или "Нет"? И я быстрее получу конкретный ответ на свой вопрос - не высиживая еще цать минут ожидая очередного поста с ответом.
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Теперь более чем понятно. Гарчев Евгений, capzap, спасибо большое за помощь.
Переделал блок из примера для опроса модуля МВА8 по протоколу ModBus. Опрашиваю 45 регистров, начиная с 3-го. Поставил дополнительную проверку на количество запрошенных и принятых байт. Худо-бедно, хоть и не очень быстро, но работает.
Добавил блок в проект - засада. Уменьшаю кол-во считываемых регистров до 3-х - работает, начинаю увеличивать - начинаются проблемы. Больше 15- уже полный затык.
Куда копать?
Всем доброго времени суток. Возникла проблема с MB_WR_REGS. Не пойму в чем затык: с 15 регистрами ФБ работает нормально, ставлю количество регистров >= 16, начинают сыпаться 254 Exception'ы и значения в слейв перестают записываться. Пробовал "играться" со значениями всевозможных таймаутов - результат нулевой. Связка ПЛК73/GE Fanuc 90-30, протокол Modbus RTU. В чем может быть проблема?
какое время цикла у контроллера?
Фанук нормально опрашивается если закидывать в него 16+ регистров? лог обмена снимали?
В GE Fanuc используется коммуникационный управляющий модуль - время цикла ЦПУ ему безразлично, можно хоть вообще остановить ЦПУ, обмен будет продолжаться.какое время цикла у контроллера?
В этом-то и заключается моя проблема. У меня мастером является ПЛК73. При количестве регистров для записи меньше 16, все запросы на запись завершаются без ошибок. Как только я ставлю Quantity, например, равное 16, все запросы на запись заканчиваются 254 Exception'ом и по факту значения в регистры ПЛК GE Fanuc 90-30 не пишутся.Фанук нормально опрашивается если закидывать в него 16+ регистров?
"Копаем" дальше...
Скорее всего какое-то ограничение самого ПЛК GE Fanuc 90-30 (коммуникационного модуля), хотя в документации про это ни слова. Будем писать по 15 шт.
Последний раз редактировалось Spawn; 29.06.2018 в 06:16.
Артем, проясните, пожалуйста, еще одну ситуацию. Писать группой (более одной 4-х байтовой переменной) в ПЛК73, как я понял, возможности нет?
Последний раз редактировалось Spawn; 29.06.2018 в 06:53.
Как Вы будете отрабатывать условия на переменную?
Aso, не понял Вашего вопроса.
Мне нужно, например, группой передать значения 10-ти регистров из одного ПЛК73 (Master) в другой ПЛК73 (Slave) по Modbus RTU, с использованием ФБ MB_WR_REGS за один раз, т.е., например, FirstAddr := 90, Quantity := 10. Или придется цикл использовать? В РП про групповое чтение по протоколу Modbus RTU более-менее расписано, про групповую запись как-то не очень понятно.