Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 22

Тема: Прошу дать пример реализации на CDS2.3 MODBUS RTU485 мастер.(или помочь разобраться)

  1. #1

    По умолчанию Прошу дать пример реализации на CDS2.3 MODBUS RTU485 мастер.(или помочь разобраться)

    Работаю с контроллером управления ДГУ DSE, мастер ПЛК100. Сколько не работал с ними(DSE), ни разу не было проблем с модбасом. С ОВЕНом столкнулся первый раз. И что-то не могу осилить. Делаю как в скаченных примерах. Что-то получается, а что то нет. Потом нахожу какие то другие способы работы с модбасом, через конфигуратор, но действия приминимые для TCP не применимы к RTU. Библиотеки modbusa изучил.

    Задача условно говоря. Есть устройство с адресом 10, бод 19200, 8бит, none, 1.
    Нужно получать данные из регистра 32 бита (1000(16 int)-1001(16 int)) = мощность генератора
    данные из регистра 32 бита (2000(16 int)-2001(16 int)) = мощность сети

    после некоторых манипуляций записать значение типа INT в регистр 3000.

    Казалось бы куда проще. Когда я работаю только с 1 регистром все гуд, но как только начинаю работать с 2 регистрам висят оба. Работаю через библиотеку modbus.lib и с помощью примеров. (кстати не могу понять почему con_num ***INVALID 0*** при работе) но при этом какая то связь идет (так и должно быть).

    Пример по читке похожий составил (скорее всего отличается от того что на работе закончил)
    Прошу помогите разобраться, очень хотелось бы полную последовательность действий знать при работе с MODBUS RTU

    Спасибо.
    Вложения Вложения

  2. #2
    Пользователь Аватар для smk1635
    Регистрация
    06.09.2010
    Адрес
    Брянск
    Сообщений
    1,241

    По умолчанию

    А можно вот с этого места:
    Цитата Сообщение от apushashkov Посмотреть сообщение
    Потом нахожу какие то другие способы работы с модбасом, через конфигуратор, но действия приминимые для TCP не применимы к RTU.
    поподробнее.
    На сколько я в курсе к DSE есть же RS485 с поддержкой протокола MODBUS RTU ?
    Последний раз редактировалось smk1635; 18.11.2013 в 22:12.
    Теория и практика иногда сталкиваются. Когда это случается, теория проигрывает. Всегда. (Закон Линуса)

  3. #3
    Пользователь
    Регистрация
    03.03.2008
    Адрес
    Новосибирск
    Сообщений
    238

    По умолчанию

    Могу ошибаться, так как с FBD не работаю, но первое что бросается в глаза - каждый раз открывается порт. Но ведь он открыт уже.
    Попробуйте через конфигурацию - с тремя регистрами это не трудно.

  4. #4

    По умолчанию

    Цитата Сообщение от kgsh82 Посмотреть сообщение
    Могу ошибаться, так как с FBD не работаю, но первое что бросается в глаза - каждый раз открывается порт. Но ведь он открыт уже.
    Попробуйте через конфигурацию - с тремя регистрами это не трудно.
    Вот я так и не понял как это делать через конфигурацию... про TCP и 232 вроде понятно, а про RTU 485 нет.
    поподробнее.
    На сколько я в курсе к DSE есть же RS485 с поддержкой протокола MODBUS RTU ?
    Да есть, вот только по нему связаться и не получается. Точнее качествено настроить читку регистров

  5. #5
    Пользователь
    Регистрация
    03.03.2008
    Адрес
    Новосибирск
    Сообщений
    238

    По умолчанию

    Цитата Сообщение от apushashkov Посмотреть сообщение
    Вот я так и не понял как это делать через конфигурацию... про TCP и 232 вроде понятно, а про RTU 485 нет.
    В чем загвоздка именно?

  6. #6

    По умолчанию

    Цитата Сообщение от apushashkov Посмотреть сообщение
    ... мастер ПЛК100...
    У вас ПЛК 100 с какой лицензией (L или М).

  7. #7

    По умолчанию

    Цитата Сообщение от YuriBel Посмотреть сообщение
    У вас ПЛК 100 с какой лицензией (L или М).
    Пардон, затупил, уже увидел в примере.

    Попробуйте вот это, и отпишитесь о результатах. В зависимости от того, что именно будет не так, продолжим...
    Вложения Вложения
    • Тип файла: pro DSE.pro (37.8 Кб, Просмотров: 23)

  8. #8

    По умолчанию

    Цитата Сообщение от kgsh82 Посмотреть сообщение
    В чем загвоздка именно?
    В том что 232 и ТСП настраиваетс в кофигураторе, и РТУ нет

    Цитата Сообщение от YuriBel Посмотреть сообщение
    Пардон, затупил, уже увидел в примере.

    Попробуйте вот это, и отпишитесь о результатах. В зависимости от того, что именно будет не так, продолжим...
    попробовал, не работает. Я там понял по той причине что в конфигураторе UMD находится не в теле 485 слота. оба значения присылает 0

    1000 и 2000 я дал для примера, разумеется в примере опробовал свои значения.

    Ниже выкладываю почти рабочую версию программы.

    Проблемы начинаются с 10 строчки блога DSE_MODBUS_READ

    если первые 2 значения я читаю единой командой а потом как мне надо компаную DWORD(ответ получаю верный). То второй командой мне я пытась прочитать другое значение... но по мимо того что программа не читает его, так еще и начинает переодически портить значение dse_value_second значение постоянно переключается с правильного на 512. (когда убираю эту строку читка работает отлично). В этом же блоке реализовал запись регистра в DSE но не вижу что бы значение приходило в контроллер.
    Вложения Вложения

  9. #9

    По умолчанию

    Цитата Сообщение от apushashkov Посмотреть сообщение
    попробовал, не работает. Я там понял по той причине что в конфигураторе UMD находится не в теле 485 слота. Ниже выкладываю почти рабочую версию программы.
    Библиотека и конфигурация - вещи разные, и смешивать и х в проекте не следует. Про работу с библиотекой я вам не помогу, если хотите разобраться с конфигурацией, давайте попробуем.
    В тело "слота 485" ничего не вставляется, поэтому не работает не поэтому, а потому, что , например:
    а) прибор не поддерживает групповое чтение регистров (тогда младший и старший регистры нужно читать по одному, а в программе вычислять значение)
    б) команда для чтения, установленная в конфигурации, не соответствует команде, на которую прибор будет отвечать
    в) адрес регистра указан неверно (например, нумерация регистров в приборе ведется в соответствии с стандартным подходом (input registers, holding registers, coils, и т.д. ) и начальный регистр имеет номер 1 )
    г) неправильно установлены таймауты.

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

  10. #10

    По умолчанию

    Цитата Сообщение от YuriBel Посмотреть сообщение
    Библиотека и конфигурация - вещи разные, и смешивать и х в проекте не следует. Про работу с библиотекой я вам не помогу, если хотите разобраться с конфигурацией, давайте попробуем.
    В тело "слота 485" ничего не вставляется, поэтому не работает не поэтому, а потому, что , например:
    а) прибор не поддерживает групповое чтение регистров (тогда младший и старший регистры нужно читать по одному, а в программе вычислять значение)
    б) команда для чтения, установленная в конфигурации, не соответствует команде, на которую прибор будет отвечать
    в) адрес регистра указан неверно (например, нумерация регистров в приборе ведется в соответствии с стандартным подходом (input registers, holding registers, coils, и т.д. ) и начальный регистр имеет номер 1 )
    г) неправильно установлены таймауты.

    Проше всего попробовать получить-таки данные из одного регистра, а потом двигаться дальше.
    Каюсь ибо замыленый глаз не уловил ошибку, да с конфигуратором я читаю 32 битные регистры, но возник вопрос как прочитать 16-битный... и что еще более важно, записать 16-битный регистр?

    Кстати подскажите как мне теперь доставать эти значения в программе? (уже настолько затерся что очевидные вещи тяжелы для понимания)

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

Похожие темы

  1. Modbus/TCP пример или библиотека
    от HokumOracle в разделе Помощь Разработчикам
    Ответов: 15
    Последнее сообщение: 06.02.2015, 00:14
  2. Ответов: 27
    Последнее сообщение: 07.03.2013, 10:40
  3. Ответов: 7
    Последнее сообщение: 30.11.2010, 10:02
  4. пример реализации
    от kucherik в разделе Наши проекты
    Ответов: 3
    Последнее сообщение: 26.02.2009, 17:08
  5. пример реализации
    от kucherik в разделе Трёп (Курилка)
    Ответов: 3
    Последнее сообщение: 26.02.2009, 17:08

Ваши права

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