Показано с 1 по 10 из 17

Тема: помогите разобраться с universal devise ModBus

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Я бы был щаслив если так .. но регистры записаны правильно ... неделю до этого долбал производителя контроллера темзодатчика ((( с заменой 8 бит на 2 байта тоже врядли получиться ((( так как неизвесно какие я еще регистры по пути захвачу (( + функция неизвестно реализована ли вообще функция Preset single register ... функция 0х0F точно рабочая ...

    Проблема все равно не решается этим ... просто не идет обмен вообще ... проверил с помощью терминала ... если ставишь параметр Working Mode со значением by command не передает ничего ... если ставишь by poll time наблюдается нормальный обмен между контроллерами ... не пойму где набочинил в проге ...

  2. #2

    По умолчанию

    Обмен пошел ... конечно хорошо когда читают документацию но могли бы и в таргете прописать в коментах universal modbus device не только 0xff to start ... а хотя бы смотри документацию ... кто ж может подумать что старт имеется введу старт опроса переменной ... а последующая отсылка 0xff есть сама передача ...

    ЗЫ : Спасибо всем кто отозвался )
    Последний раз редактировалось GAD; 22.07.2009 в 15:58. Причина: Дополнение

  3. #3

    По умолчанию

    Приветствую.
    Не совсем понял, как пользоваться режимом работы modbus мастера Work mode - by command.
    Для записи или считывания регистров слейва мне достаточно записать 0xFF в регистр %QB8.2.0? Как будет это работать, если я каждый цикл ПЛК буду писать это значение?
    Спасибо.
    Screenshot_4.jpg

  4. #4

    По умолчанию

    Цитата Сообщение от xapymam6ypoji Посмотреть сообщение
    Приветствую.
    Не совсем понял, как пользоваться режимом работы modbus мастера Work mode - by command.
    Для записи или считывания регистров слейва мне достаточно записать 0xFF в регистр %QB8.2.0? Как будет это работать, если я каждый цикл ПЛК буду писать это значение?
    Спасибо.
    Screenshot_4.jpg
    Добрый день.
    Для работы UMD по команде необходимо, чтобы значение команды изменялось с 0x00 на 0xFF.
    Если все время записывать FF в поле команды, то чтение/запись произойдет только один раз.
    Иными словами, чтение/запись происходит по переднему фронту команды.

  5. #5

    По умолчанию

    Почему то не работает
    Screenshot_11.png
    команда Read Holding Register, контроллер ПЛК110

  6. #6

    По умолчанию

    Делаю так:
    IF q_MbReadCmd=16#00 THEN
    q_MbReadCmd:=16#FF;
    ELSE
    q_MbReadCmd:=16#00;
    END_IF;

    Делал и в ручном режиме - в Last Addr и Last Err стоит "0"

  7. #7

    По умолчанию

    Цитата Сообщение от xapymam6ypoji Посмотреть сообщение
    Делаю так:
    IF q_MbReadCmd=16#00 THEN
    q_MbReadCmd:=16#FF;
    ELSE
    q_MbReadCmd:=16#00;
    END_IF;

    Делал и в ручном режиме - в Last Addr и Last Err стоит "0"
    Всё верно за исключением добавленного подэлемента.
    Нужно добавить Register input module State.
    Инженер по продуктам «ПЛК и модули»
    e-mail: i.masterenko@owen.ru | skype: i.masterenko_owen

Ваши права

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