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

Тема: Передача FLOAT на СМИ2

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь Аватар для Ефремов Николай
    Регистрация
    08.02.2008
    Адрес
    Кемерово
    Сообщений
    122

    По умолчанию Передача FLOAT на СМИ2

    Мастером сети у меня СП310 (протокол MB RTU) - подчиненные 2 ПР200, МВ110 8А, МУ11016Р и СМИ2. Все работают нормально, но передать значение в СМИ ни как не могу- что-то делаю не так. Мне необходимо передать значение давления на СМИ2, которое измеряется одним из ПР200 и отображается на панеле СП310. При конфигурации СМИ2 записал все сетевые уставки и то, что будет передаваться значение FLOAT. В СМИ2 посылается только значение давления в формате FLOAT. В результате на СМИ2 я получаю, то 0.0, то dthh, то dtLL, а иногда и значение не совпадающее с посылаемым значением или отрицательное. То что вся система не виснет, говорит о том что СМИ2 получает и отвечает на посылки, но почему отображается что попало. Порядок слов менял, посылаю 2 регистра с начальным адресом 27. Может надо 2 в 17 адрес постоянно посылать?

  2. #2

  3. #3
    Пользователь Аватар для Ефремов Николай
    Регистрация
    08.02.2008
    Адрес
    Кемерово
    Сообщений
    122

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Добрый день.

    Каким образом вы передаете значение из СП310 в СМИ2?
    Каким образом вы меняли порядок регистров?
    Действительно, как Вы указали на ошибку в определении переменной, сегодня исправил, изменил порядок и все заработало.
    Спасибо.

  4. #4
    Пользователь Аватар для Ефремов Николай
    Регистрация
    08.02.2008
    Адрес
    Кемерово
    Сообщений
    122

    По умолчанию

    Использую протокол Modbus RTU, витой парой по RS-485 происходит обмен.
    Для изменения порядка регистров написал макрос меняющий порядок по значению бита, то есть я могу передавать FLOAT в порядке 1 и 2 регистр либо 2 и 1.
    Всю эту чехарду с порядком регистров мне пришлось делать для всех входящих в систему модулей, так как значения уставок передаются на ПР200, а измеряемые значения с них (ПР200 и МВ110.8А) считываются. Всё это работает нормально уже почти год, но Заказчик попросил вывести давление к месту управления насосом, для того, чтобы аппаратчик мог видеть идёт или нет перекачка продукта ( на щитовой этот параметр видят на экране СП310).
    Скорость обмена 115200, адреса: СМИ2-6; ПР200 №1 -8; ПР200 №2 16; МВ110.8А-24.

  5. #5

    По умолчанию

    Цитата Сообщение от Ефремов Николай Посмотреть сообщение
    В результате на СМИ2 я получаю, то 0.0, то dthh, то dtLL, а иногда и значение не совпадающее с посылаемым значением или отрицательное. То что вся система не виснет, говорит о том что СМИ2 получает и отвечает на посылки, но почему отображается что попало. Порядок слов менял, посылаю 2 регистра с начальным адресом 27. Может надо 2 в 17 адрес постоянно посылать?
    У меня так было когда порядок регистров неправильный. Сделал старшим регистром вперёд,и младшим байтом вперед, и стало нормально. Посылаю с ПР200 значение флоат раз в 5с и константу "2" один раз в минуту.

  6. #6
    Пользователь Аватар для Ефремов Николай
    Регистрация
    08.02.2008
    Адрес
    Кемерово
    Сообщений
    122

    По умолчанию

    Цитата Сообщение от Серёга Букашкин Посмотреть сообщение
    У меня так было когда порядок регистров неправильный. Сделал старшим регистром вперёд,и младшим байтом вперед, и стало нормально. Посылаю с ПР200 значение флоат раз в 5с и константу "2" один раз в минуту.
    Константа 2 это в 17 регистр СМИ2 для подтверждения, что передаётся Float?
    Так как ПР200 работает и с другими участниками сети перетасовка байтов не желательна.
    Благодарю за совет.

  7. #7
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    8,242

    По умолчанию

    Почему бы в INT(UINT)-е не передать, в 2 раза меньше места занимает и проблем никаких!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  8. #8
    Пользователь Аватар для Ефремов Николай
    Регистрация
    08.02.2008
    Адрес
    Кемерово
    Сообщений
    122

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Почему бы в INT(UINT)-е не передать, в 2 раза меньше места занимает и проблем никаких!
    Ёще проще каждые пять секунд посылать гонца из щитовой - совсем не занимает места! (шутка)

  9. #9
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    что значит нельзя оперативно? из программы - в любой момент что угодно.

  10. #10

    По умолчанию

    Оперативно это когда ничего не надо кроме пальца. Или для замены без смены прошивки.
    Про инт не по теме..., интересно нам только про float.

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

Похожие темы

  1. Передача тип REAL ( FLOAT) в конроллер - не получается.
    от lunyov_i в разделе Панели оператора (HMI)
    Ответов: 2
    Последнее сообщение: 16.11.2018, 14:16
  2. Запись переменной типа float в СМИ2
    от Newcomer в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 13.01.2017, 16:16
  3. Передача FLOAT из ПЛК110 в TraceMode
    от UKGRES в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 23.10.2015, 18:11
  4. ПЛК110-30 и Weintek MT8100iE передача float
    от Linker1989 в разделе ПЛК1хх
    Ответов: 12
    Последнее сообщение: 18.10.2014, 20:37
  5. Передача float через Modbus-slave
    от semmi в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 13.12.2010, 13:56

Ваши права

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