Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Modbus.lib и МДВВ

  1. #1

    По умолчанию Modbus.lib и МДВВ

    Здравствуйте.

    Прошу подсказать решение следующей проблемы.
    Имеется контроллер ПЛК100 к которому необходимо подключить по rs485 МДВВ, МВА8, а также оборудование "умного дома" INSYTE по Modbus. Использовать стандартные средства конфигуратора ПЛК не имеет возможности, так как оборудование INSYTE, а именно модули дискретного ввода-вывода R1000 и R1000D, требуют запросы на чтение (функция 02) и запись (05) с точным указанием количества бит, а именно 1 или 2. В конфигураторе ПЛК чтение и запись возможна только по 8 бит сразу. Было принято решение использовать библиотеку Modbus.lib. При опросе с использованием данной библиотеки отдельно одного регистра каждого прибора - все читается и записывается правильно. При опросе регистров по порядку для каждого прибора начинаются проблемы с приемом данных от МДВВ при чтении входной битовой маски и модулей ввода вывода INSYTE R1000 при чтении состояния дискретных входов. Решил для начала разобраться с проблемой для МДВВ. Оставил в опросе только битовые маски на чтение входов (регистр 51) и запись выходов (регистр 50) МДВВ. На входы МДВВ подключены кнопки. Проблема в следующем: при нажатии кнопок иногда на входе МДВВ появляется число 259 (иногда но редко появлялись другие числа), которое не соответствует нажатой кнопке. Из задействованных 7 входов МДВВ данное число чаще всего выпадает при нажатии кнопок соответствующих входам 6 и 7 (32 и 64), с чем это связано не могу понять. Если этот же МДВВ описать в конфигураторе ПЛК то все прекрасно работает. Если же опрашиваю с помощью Modbus.lib только входную битовую маску, то тоже все правильно работает. При записи выходов и чтении входов начинается вышеописанная проблема. Менял таймауты функциональных блоков на чтение и запись modbus, а также задержки между вызовами функциональных блоков - не помогло. Получается что эта проблема связана с использование библиотеки Modbus.lib, возможно я что-то не так делаю в программе при использовании данной библиотеки.
    Помогите пожалуйста решить данную проблему.

    Проект программы находиться в прикрепленном файле.
    Вложения Вложения
    • Тип файла: rar MDVV.rar (14.0 Кб, Просмотров: 41)

  2. #2

    По умолчанию

    За все время ни разу не понадобилось считать именно 1 бит. Тем более что работа с битами одна из главных задач ПЛК и разобрать хоть весь массив из 250 байт вообще не проблема. Даже работая с сименсами по MPI тоже в панель принимаю тэг байта, а вывожу как байт-номер бита.
    Может стоит пересмотреть свои предпочтения в области работы с портами?

  3. #3

    По умолчанию

    Я, честно говоря, сам впервые встретил такие устройства для которых нужно читать или записывать именно 1 или 2 бит.
    Не понятен вопрос: "Может стоит пересмотреть свои предпочтения в области работы с портами?"

  4. #4

    По умолчанию

    Ну я про то что в этом проекте читать и писать побайтно.
    Разобрать байт побитно легко. Например var.0 - нулевой бит и тд.., т.е. при чтении вообще никаких проблем, а с записью чуть посложнее:
    считали байт, установили/сбросили бит, записали байт обратно. Тогда достаточно будет и хардварного modbus. Да и читать и писать группой как-то быстрее и выгоднее...

  5. #5

    По умолчанию

    То что вы предлагаете не работает, я все это проверял. В библиотеке Modbus.lib есть функция записи и чтения бит, где указывается количество бит. Данное решение вроде как подходит, но возникает вышеописанная проблема чтения с некоторых устройств modbus сети.

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

    По умолчанию

    Цитата Сообщение от ПРОЕКТ-П Посмотреть сообщение
    То что вы предлагаете не работает, я все это проверял. В библиотеке Modbus.lib есть функция записи и чтения бит, где указывается количество бит. Данное решение вроде как подходит, но возникает вышеописанная проблема чтения с некоторых устройств modbus сети.
    Возможно перед запросом следет чистить буффер, скорее всего там остается мусор

  7. #7

    По умолчанию

    Как не работает???
    Я всю жизнь так и делаю - некогда мне с битами разбираться.

  8. #8

    По умолчанию

    Цитата Сообщение от JIexa21 Посмотреть сообщение
    Как не работает???
    Я всю жизнь так и делаю - некогда мне с битами разбираться.
    Не работает в случае с оборудованием INSYTE. А в других случаях я делаю также как вы и писали.

  9. #9

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Возможно перед запросом следует чистить буффер, скорее всего там остается мусор
    Смысла чистить буфер нет, так как при запросе на запись МДВВ я зваписываю два байта в буфер их же и отправляю. При чтении читаю два байта (1 регистр), ничего другого не читаю. Мусора не должно быть, только если мусор от самой библиотеки Modbus.lib - что, я думаю, маловероятно.

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

    По умолчанию

    ПРОЕКТ-П совсем даже не маловероятно. Сам вот сейчас читаю регистры этой библиотекой и наблюдаю ахинею в буфере, даже близко не похожую на правду. Я вижу физически включенные выходы, а значения получаю с неба.
    Когда же отлавливаю свои выходы, то в буфере они меняют свое положение, так как две FB из библиотеки RD_COIL и RD_HOLD_REGS при чтении параметра крутят цикл. Достаточно на EN библы поставит R_Trig и понаблюдать на значения буфера и состояние выхода ByteCnt FB.

    В чем причина и как лечить пока не понимаю.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. МДВВ нет связи по MODBUS
    от serega_nf в разделе Сетевые технологии
    Ответов: 14
    Последнее сообщение: 23.10.2011, 10:35
  2. МДВВ - опрос по ModBus
    от Андрей Косоротов в разделе Сетевые технологии
    Ответов: 4
    Последнее сообщение: 28.05.2010, 19:03
  3. МДВВ версия 1.09 и modbus RTU
    от Vasily_A в разделе Мх110
    Ответов: 4
    Последнее сообщение: 22.01.2010, 20:53
  4. ПЛК-150 - modbus RTU - МДВВ
    от Diman87 в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 28.10.2009, 14:03
  5. Подключение ПЛК и МДВВ по Modbus
    от Антон12345 в разделе ПЛК1хх
    Ответов: 12
    Последнее сообщение: 23.10.2009, 13:50

Ваши права

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