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

Тема: ПЛК73+чтение данных по modbus rtu.

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

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

    По умолчанию ПЛК73+чтение данных по modbus rtu.

    Всех приветствую. Помогите разобраться новичку или поделиться кодом. Хочу на плк73 опрашивать переменные по протоколу rtu с разных приборов с последующим выводом на жки. Как выводить информацию на экран разобрался, с помощью библиотеки showreal. А вот как опрашивать регистры, не получается. Заранее спасибо.

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

    По умолчанию

    На ПЛК63/73 только через библиотеку, если ПЛК является мастером. Примеры должны быть на сайте

  3. #3

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    На ПЛК63/73 только через библиотеку, если ПЛК является мастером. Примеры должны быть на сайте
    Безымянный.png

    Не подскажешь, что нужно подставлять ко входу Buffer? Выходит ошибка по нему.

  4. #4

    По умолчанию

    Цитата Сообщение от Ильяс94 Посмотреть сообщение
    Безымянный.png

    Не подскажешь, что нужно подставлять ко входу Buffer? Выходит ошибка по нему.
    Безымянный.png

    В описаний так и написано. Я не совсем понимаю предназначение этого входа, инфу пытался найти.

  5. #5

    По умолчанию

    Цитата Сообщение от Ильяс94 Посмотреть сообщение
    Безымянный.png

    В описаний так и написано. Я не совсем понимаю предназначение этого входа, инфу пытался найти.
    Есть же готовые примеры по ПЛК63/73
    10 Обмен через библиотеки Modbus и OwenNet https://owen.ru/product/codesys_v2/example_program

    У вас в программе массив BOOL,
    Buffer: ARRAY[0..255] OF BOOL;
    а в примере массив BYTE
    Buffer: ARRAY[0..255] OF BYTE; (* байтовый буфер данных *)
    вам ведь ответили уже.
    Вот скрин MB_RTU 1 Библиотеки.jpg
    Последний раз редактировалось kondor3000; 23.08.2022 в 10:29.

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

    По умолчанию

    Цитата Сообщение от Ильяс94 Посмотреть сообщение
    ..Я не совсем понимаю предназначение этого входа...
    Для лучшего понимания ответьте на вопрос : а с какой целью используете MB_RD_INP_REGS ?


    ps
    "парамер-значение vs параметр-переменная" (C) Букварь кодера на любом языке/среде/компе/плк/часах/стиральной машине
    Может так легче ?
    Последний раз редактировалось Валенок; 23.08.2022 в 08:52.

  7. #7

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Для лучшего понимания ответьте на вопрос : а с какой целью используете MB_RD_INP_REGS ?


    ps
    "парамер-значение vs параметр-переменная" (C) Букварь кодера на любом языке/среде/компе/плк/часах/стиральной машине
    Может так легче ?
    С целью считать четвёртую функцию с устройства.

  8. #8

    По умолчанию

    Буфер один - байтовый. Регистр состоит из двух байт. С помощью указателя (Ptb) "разбираем" буфер, "склеивая" по два байта в один регистр, в приведённом Вами куске кода, в один INT.
    Последний раз редактировалось Spawn; 25.08.2022 в 14:39.

  9. #9

    По умолчанию

    Цитата Сообщение от Spawn Посмотреть сообщение
    Буфер один - байтовый. Регистр состоит из двух байт. С помощью указателя (Ptb) "разбираем" буфер, "склеивая" по два байта в один регистр, в приведённом Вами куске кода, в один INT.
    А как склеить во float например? У меня конечные данные не совпадают с фактическими показаниями устрйоства.

  10. #10

    По умолчанию

    Цитата Сообщение от Ильяс94 Посмотреть сообщение
    А как склеить во float например? У меня конечные данные не совпадают с фактическими показаниями устрйоства.
    Здесь выкладывал в последнем сообщении пример чтения МВ110-8А, с Функц. блоком склейки двух WORD в REAL. По аналогии склеиваются и байты https://owen.ru/forum/showthread.php?t=35094#10
    Можно склеить прямо в программе из буфера. Это есть в примерах, ссылки давал в начале. Пример первых двух REAL. 1 Чтение МВА8.jpg
    Пример для МВ110-8А, данные перемешаны, поэтому пропуски.

    Код:
    	d: ARRAY [0..23] OF  REAL;						(*считанное значение*)
    	ptr_D:POINTER TO BYTE;
    END_VAR
    __________________________________________________
    		(*   Вставить, в след. шаге  CASE где склеиваете INT (WORD)  *)
           ptr_D:=ADR(d)+8; ptr_D^:=buffer[11];    ptr_D:=ptr_D+1; ptr_D^:=buffer[10];    ptr_D:=ptr_D+1; ptr_D^:=buffer[9];    ptr_D:=ptr_D+1; ptr_D^:=buffer[8];
           ptr_D:=ptr_D+9;   ptr_D^:=buffer[23];    ptr_D:=ptr_D+1; ptr_D^:=buffer[22];    ptr_D:=ptr_D+1; ptr_D^:=buffer[21];   ptr_D:=ptr_D+1; ptr_D^:=buffer[20];
    Для вашего МВ110-8АС, данные REAL подряд (читать с первого адреса REAL) будет так,
    первые 2 REAL, для правильного отображения данные из буфера присваиваем в обратном порядке:
    Код:
    	d: ARRAY [0..7] OF  REAL;						(*считанное значение*)
    	ptr_D:POINTER TO BYTE;
    END_VAR
    __________________________________________________
    		(*   Вставить, в след. шаге  CASE где склеиваете INT (WORD)  *)   
        ptr_D:=ADR(d); ptr_D^:=buffer[3];       ptr_D:=ptr_D+1; ptr_D^:=buffer[2];      ptr_D:=ptr_D+1; ptr_D^:=buffer[1];       ptr_D:=ptr_D+1; ptr_D^:=buffer[0]; 
        ptr_D:=ptr_D+1; ptr_D^:=buffer[9];       ptr_D:=ptr_D+1; ptr_D^:=buffer[8];      ptr_D:=ptr_D+1; ptr_D^:=buffer[7];       ptr_D:=ptr_D+1; ptr_D^:=buffer[6];
    Последний раз редактировалось kondor3000; 25.08.2022 в 23:01.

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

Похожие темы

  1. Ответов: 6
    Последнее сообщение: 23.05.2022, 12:59
  2. ПЛК73: Чтение и запись переменных из конфигурации ПЛК
    от Солнечный заяц в разделе ПЛК63/73
    Ответов: 0
    Последнее сообщение: 02.03.2021, 16:24
  3. ПЛК73 Чтение МВ110-16Д через Modbus
    от Зинец Олег в разделе ПЛК63/73
    Ответов: 3
    Последнее сообщение: 05.11.2020, 18:13
  4. Чтение/запись данных по Modbus панели СП310
    от _Алексей_ в разделе Панели оператора (HMI)
    Ответов: 7
    Последнее сообщение: 29.08.2018, 07:43
  5. Ответов: 5
    Последнее сообщение: 16.09.2016, 00:56

Ваши права

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