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

Тема: 4 датчика DS18B20 +плк150

  1. #1

    Question 4 датчика DS18B20 +плк150

    Добрый день. Помогите пожалуйста разобраться. Задача измерить температуру в четырёх точках и отправить значение на плк. Нашёл решение в интернете человек подключал датчики к ардуино которое являлось
    модбас слейв устройством. Он передавал данные на комп. в опс сервер , а мне нужно на плк. Добавил конвертер в rs485, подкорректировал скетч ардуино чтобы переключала приём передачу.
    Потом создал проект в кодесис , настроил модбас рту подключился и появилась проблема .Данные с трёх датчиков поступают а с четвёртого ноль. Создал проект в MasterOPC Universal Modbus Server подключаю к компьютеру
    через переходник rs485 в usb и там вижу данные с четырёх датчиков из чего делаю вывод что ардуино передаёт всё правильно. Проекта для плк практически нет , там только конфигурация .
    Вложения Вложения

  2. #2

    По умолчанию

    Просьба проверить нумерацию регистров.
    В папке, которая называется "Файл конфигурации OPC сервера", она начинется с нуля: 0, 2, 4, 6
    А в проекте ПЛК начинается с единицы: 1, 3, 5, 7. Если моя догадка верна, то в последнем случае ПЛК пытается читать регистры 7-8, а при нумерации с нуля их будет 0...7.
    У самого ПЛК там есть в ветке Modbus флаги ошибок "Last address" и "Last error". Если бы читалось всё верно, то "Last error" был бы равен нулю. А тут, скорее всего, будут какие-то другие значения, указывающие на ошбки.
    Последний раз редактировалось Cs-Cs; 22.11.2022 в 23:24.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  3. #3

    По умолчанию

    Цитата Сообщение от g.alexsandr Посмотреть сообщение
    Добрый день. Помогите пожалуйста разобраться. Задача измерить температуру в четырёх точках и отправить значение на плк. Нашёл решение в интернете человек подключал датчики к ардуино которое являлось
    модбас слейв устройством.
    через переходник rs485 в usb и там вижу данные с четырёх датчиков из чего делаю вывод что ардуино передаёт всё правильно. Проекта для плк практически нет , там только конфигурация .
    После изменения адресов на 0, 2, 4, 6 в ПЛК, должны читаться все 4.
    А для правильного отображения, последнюю настройку в UMD (универсал модбас девайс) возможно придётся поставить Native.

    зы: И ещё, заданные переменные в конфигурации di1, do1 и так глобальные, не надо повторять их в программе PLC_PRG (тут они локальные). Иначе переменные входов, выходов не будут работать в программе и наоборот.1 Локольные переменные.jpg
    Последний раз редактировалось kondor3000; 23.11.2022 в 10:48.

  4. #4

    По умолчанию

    Нумерация адресов 0,2,4,6 я сделал изначально ,но тогда значения были бредовые поэтому я и изменил . А вот при значении Native и адресах 0,2,4,6 всё заработало. Всем спасибо.
    И ещё один вопрос . ПЛК150 использовался для теста а проект будет на СПК107. Вопрос в кодесис 3.5 Native тоже где-то надо ставить?

  5. #5

    По умолчанию

    g.alexsandr
    проект будет на СПК107. Вопрос в кодесис 3.5 Native тоже где-то надо ставить
    Не, там такого уже нет. Там можно сделать более интересно и круто:
    а) Прочитать все регистры с 0 по 7 одним запросом: указать стартовый адрес 0, количество регистров = 8 штук. Такой запрос будет работать быстрее (если его Arduino поддержит, по идее поддержит).
    б) В результате этого получится массив WORD'ов, из которых при помощи функций можно склеить Float (Real) в нужном порядке байт.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  6. #6

    По умолчанию

    Цитата Сообщение от g.alexsandr Посмотреть сообщение
    Нумерация адресов 0,2,4,6 я сделал изначально ,но тогда значения были бредовые поэтому я и изменил . А вот при значении Native и адресах 0,2,4,6 всё заработало. Всем спасибо.
    И ещё один вопрос . ПЛК150 использовался для теста а проект будет на СПК107. Вопрос в кодесис 3.5 Native тоже где-то надо ставить?
    Надо будет склеивать, пример склейки REAL из двух WORD есть тут, в виде ФБ (функц. блока), блок на ST, достаточно скопировать текст в Codesys 3.5 https://owen.ru/forum/showthread.php?t=35094#10

  7. #7

    По умолчанию

    Всё понял спасибо.

Похожие темы

  1. Ответов: 10
    Последнее сообщение: 12.08.2022, 13:42
  2. DS18B20 и прочие датчики 1wire (iButton)
    от ASZ в разделе Разработки
    Ответов: 0
    Последнее сообщение: 06.03.2013, 01:31
  3. Ответов: 3
    Последнее сообщение: 22.04.2010, 10:44
  4. параллельное подключение датчика 0-10v к плк150
    от dani1978 в разделе Эксплуатация
    Ответов: 0
    Последнее сообщение: 17.04.2010, 02:03
  5. Подключение датчика по RS485 к ПЛК150
    от Vyacheslav в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 30.03.2009, 16:40

Ваши права

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