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

Тема: Modbus-мастер в Visual Studio (.NET)

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

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

    По умолчанию

    Цитата Сообщение от greenwod Посмотреть сообщение
    Да, спасибо!

    master.WriteSingleRegister(1, 0, 96)
    1 - адрес слейва
    0 - адрес регистра
    96 - значение


    Продолжаю усложнять себе задачи
    Пытаюсь подать/считать сигнал с входа/выхода.
    Как я понимаю, для этого нужно использовать Writesinglecoil Readcoilstatus
    Но не могу найти адреса для входов/выходов - в инструкции не нашел (у меня ПЛК110-24.60.Р.М).
    Не подскажете как обращатся к входу/выходу ПЛК. Я так понимаю должны быть какая-то таблица "Вход/выход ПЛК" соответствует "Номер бита"?
    greenwod
    можешь выложить проект , интересно как ты справился с задачей
    "Пытаюсь подать/считать сигнал с входа/выхода."
    спасибо
    и еще вопрос: не возникают ли у тебя проблемы как тут http://www.cyberforum.ru/csharp-net/thread388326.html
    , т.е опрос идет исправно, а вот ответы на запросы, происходят только первые 35

  2. #2

    По умолчанию

    Цитата Сообщение от voale Посмотреть сообщение
    greenwod
    можешь выложить проект , интересно как ты справился с задачей
    "Пытаюсь подать/считать сигнал с входа/выхода."
    спасибо
    и еще вопрос: не возникают ли у тебя проблемы как тут http://www.cyberforum.ru/csharp-net/thread388326.html
    , т.е опрос идет исправно, а вот ответы на запросы, происходят только первые 35
    Здравствуйте!
    Я еще не успел написать что-то, что не стыдно выложить на форум

    Вы присваиваете имя входу ПЛК (например in1).
    Создаете в MODBUS (slave) регистр (например reg0).

    В коде ПЛК присваиваете в нужный бит регистра значение своего входа:
    reg0.2:=in1; (где .2 номер бита регистра).
    Важно помнить, что сигнал может быть коротким и Ваша программа может не успеть его считать - я делал дополнительный регистр в котором контролировал сигнал.

    В коде программы считываете значение регистра:
    bool[] coilstatus = master.ReadCoils(1 , Bit , 1) [0]
    Где Bit – адрес бита (в нашем случае будет 2).

    Насчет проблем с первыми 35 запросами не стыкался. Используйте Nmodbus как описано вначале данной темы и проблем быть не должно.
    Последний раз редактировалось Kish; 24.05.2019 в 14:29.

  3. #3

    По умолчанию

    Цитата Сообщение от greenwod Посмотреть сообщение
    Важно помнить, что сигнал может быть коротким и Ваша программа может не успеть его считать - я делал дополнительный регистр в котором контролировал сигнал.
    как именно контролировал подскажи подробнее?

Похожие темы

  1. Помогите с ActiveX в Microsoft Visual Studio 2005
    от Alex_31 в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 06.10.2013, 09:55
  2. ModBUS TCP ПЛК100(мастер) и Lectus(слейв)
    от GSK в разделе Сетевые технологии
    Ответов: 4
    Последнее сообщение: 14.09.2012, 11:35
  3. Modbus Universal MasterOPC Server и ПЛК мастер
    от smk1635 в разделе Master SCADA 3
    Ответов: 7
    Последнее сообщение: 13.09.2011, 22:22
  4. СМИ1, modbus-rtu, мастер. Команда 4. КАК?
    от Matysik в разделе Панели оператора (HMI)
    Ответов: 2
    Последнее сообщение: 26.05.2011, 15:32

Ваши права

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