Показано с 1 по 10 из 36

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

Древовидный режим

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

    По умолчанию

    Цитата Сообщение от Ильяс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. Ответов: 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

Ваши права

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