Показано с 1 по 9 из 9

Тема: Чтение и запись в один и тот же регистр по MODBUS TCP

  1. #1

    По умолчанию Чтение и запись в один и тот же регистр по MODBUS TCP

    Уважаемые форумчане, подскажите пожалуйста!
    Есть следующая задача: контроллер PLC-100, с его помощью необходимо читать регистр по MODBUS TCP с устройства и прочитав обнулять его на удаленном устройстве (записывать туда 0).
    Организовал с помощью стандартных средств (Universal Modbus Device), завел регистр на чтение, и регистр на запись с таким же адресом.
    Проблема в том что данные от чтения не успевают отслеживаться программой, т.к. сразу же перезаписываются нулем.
    Подскажите как лучше решить задачу.. По сути нужна запись по требованию, т.е. прочитали регистр, если отличный от нуля, запомнили значение и выдали на запись 0.

    Заранее Спасибо!

  2. #2
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,246
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  3. #3

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    спасибо за ссылку, только ничего не удалось найти по моему вопросу.. наверное стандартными средствами этого сделать нельзя (

  4. #4
    Пользователь Аватар для Ryzhij
    Регистрация
    15.04.2013
    Адрес
    Рязань
    Сообщений
    918

    По умолчанию

    А что, скопировать прочтённое во внутреннюю переменную по условию ненулевого значения прочтённого, а уж потом только отправлять в удалённый регистр ноль, так сложно догадаться?

  5. #5

    По умолчанию

    Цитата Сообщение от Ryzhij Посмотреть сообщение
    А что, скопировать прочтённое во внутреннюю переменную по условию ненулевого значения прочтённого, а уж потом только отправлять в удалённый регистр ноль, так сложно догадаться?
    Догадаться не сложно, но дело в том что регистр созданный для записи, отправляется на запись при каждом цикле, независимо от того, пишем что то в него или нет. Таким образом, получается ситуация, когда полученный при чтении регистр тут же перетирается значением регистра на запись, и в программе значение регистра для чтения всегда равно значению регистра для записи, в моем случае=0

  6. #6
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,246

    По умолчанию

    Цитата Сообщение от Simin Посмотреть сообщение
    спасибо за ссылку, только ничего не удалось найти по моему вопросу.. наверное стандартными средствами этого сделать нельзя (
    Ну не виноват я что в документе либо куда то делось, либо еще какой то казус, тогда добавляете в мастер Universal Modbus Device, в нем открываете вкладку Параметры модуля и ищите пункт work mode и анализируем аргументы в списке, ну и соответственно догадываемся что здесь можно использовать для записи по условию

    PS Ищите в документе либо поиском ключевые слова work modeлибо сразу отправляйтесь в описалово протокола DCON 78-79 стр.
    Последний раз редактировалось capzap; 10.07.2014 в 23:05.

  7. #7

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Ну не виноват я что в документе либо куда то делось, либо еще какой то казус, тогда добавляете в мастер Universal Modbus Device, в нем открываете вкладку Параметры модуля и ищите пункт work mode и анализируем аргументы в списке, ну и соответственно догадываемся что здесь можно использовать для записи по условию

    PS Ищите в документе либо поиском ключевые слова work modeлибо сразу отправляйтесь в описалово протокола DCON 78-79 стр.

    Огромное спасибо, добрый человек!!

  8. #8

    По умолчанию

    Очередная проблема (( . У меня уже есть один Universal Modbus Device. Второй (для записи двух регистров в тот же MODBUS слэйв) почему то не работает. Отключаю первый, начинает работать второй.. видимо нельзя создать два Universal Modbus Device к одному и тому же устройству..

  9. #9

    По умолчанию

    Все получилось! через выходные регистры с поддержкой Command. Управление выводом оказывается можно организовать не только целым устройством Universal Modbus Device, но и отдельными регистрами.

Похожие темы

  1. Чтение и запись в Universal Modbus device
    от super100 в разделе ПЛК1хх
    Ответов: 20
    Последнее сообщение: 30.10.2013, 13:18
  2. регистр чтение-запись
    от Денис_NTS в разделе ПЛК1хх
    Ответов: 24
    Последнее сообщение: 26.02.2013, 11:54
  3. Ответов: 1
    Последнее сообщение: 26.11.2012, 10:54
  4. Чтение и запись файлов по протоколу ModBus
    от Денис_NTS в разделе Помощь Разработчикам
    Ответов: 23
    Последнее сообщение: 09.08.2011, 07:30
  5. Ответов: 23
    Последнее сообщение: 17.10.2007, 08:35

Ваши права

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