Страница 8 из 9 ПерваяПервая ... 6789 ПоследняяПоследняя
Показано с 71 по 80 из 83

Тема: ПЛК63 Modbus Master

  1. #71

    По умолчанию

    Про код знаю, меня больше всего волнует не его расшифровка, а отсутствие GetModbus.Exception = 0.
    С чтением все нормально. Проблемы только с записью.

  2. #72

    По умолчанию

    Либа стандартная Modbus.lib, та, которая идет на диске вместе с ПЛК73. Изменений в нее никаких не вносилось, и, честно сказать, как в ней образуется 254 Exception я не знаю, еще не озадачивался этим вопросом.

  3. #73

    По умолчанию

    А чем пользуетесь, если не секрет?

  4. #74

    По умолчанию

    посмотрел начинку, 254й эксепнш - аппаратная ошибка применения. возникает, когда контроллер пытается отправить в порт данные но... ввиду технических ограничений - не может.
    из за того что каждый байт данных разбивается на два байта ASCII символов приходится отправлять в 2 раза больше посылки. к сожалению, это аппаратное ограничение обойти не получится, упираемся в максимальный выделенный размер буфера, на 15 регистров хватает, а на 16й уже нет. Вам придётся ограничиться пачками до 15 регистров. в этом режиме всё должно быть стабильно. либо переходите на RTU и сможете передавать пачки до 30 регистров за раз

  5. #75

    По умолчанию

    Так проблема как раз с Modbus RTU.

  6. #76

    По умолчанию

    хм...
    тогда видимо придётся оставаться на этом уровне , разбить пулинг данных на шаги и по почереди обрабатывать.
    у Вас задача критичная к скорости обмен

  7. #77

    По умолчанию

    у Вас задача критичная к скорости обмен
    Нет, не критичная. Нужно писать 21 регистр. Думал, что получится разом это делать, но и в 2 подхода вполне приемлемый вариант.

  8. #78

    По умолчанию

    Цитата Сообщение от Spawn Посмотреть сообщение
    Aso, не понял Вашего вопроса.

    Мне нужно, например, группой передать значения 10-ти регистров из одного ПЛК73 (Master) в другой ПЛК73 (Slave) по Modbus RTU, с использованием ФБ MB_WR_REGS за один раз, т.е., например, FirstAddr := 90, Quantity := 10. Или придется цикл использовать? В РП про групповое чтение по протоколу Modbus RTU более-менее расписано, про групповую запись как-то не очень понятно.
    А если в этой группе регистров один выходит за границы, заданные в контроллере - как будем обрабатывать?

  9. #79

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Что за вопрос ? Да ни как. Девайс ответит - таких тут нету. Придецца сначала у дворника поспрашать о жильцах. Вот им и писать.
    А в оставшиеся будем писать или нет? Почему?

  10. #80

    По умолчанию

    Не принят по какой причине?
    В ПЛК63/73 есть ограничения на диапазон переменной. Допустим, в запросе записи 2-х переменных все регистры существуют, но значение для регистра А соответствует диапазону, а для регистра Б - не соответствует. Что должен сделать ПЛК?

Страница 8 из 9 ПерваяПервая ... 6789 ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •