Страница 13 из 29 ПерваяПервая ... 3111213141523 ... ПоследняяПоследняя
Показано с 121 по 130 из 283

Тема: Индикатор RS485 - СМИ2

  1. #121

    По умолчанию

    Руководство на сайте поменяли.
    Спасибо.

  2. #122

    По умолчанию

    Руководство на сайте поменяли
    очень неожиданно прозвучало

  3. #123
    Пользователь
    Регистрация
    22.03.2012
    Адрес
    Лермонтов
    Сообщений
    381

    По умолчанию

    Цитата Сообщение от LordN Посмотреть сообщение
    очень неожиданно прозвучало
    С чего это вдруг?

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

    По умолчанию

    Цитата Сообщение от Ельцов Андрей Посмотреть сообщение
    Руководство на сайте поменяли.
    У вас такая демократия ? А новое - проффесионалы ?

  5. #125

    По умолчанию

    У нас такая командная работа.

  6. #126

    По умолчанию

    не понимаю.
    модбас рту.
    надо трем индикаторам с адресами 26,27,28 послать три разные числа int.
    например 50, 15 и 65.

    надо писать эти числа по адресу нуль в регистры 1026, 1027 и 1028?

  7. #127

    По умолчанию

    ответа не будет?

  8. #128

    По умолчанию

    RTFM.
    Зачем использовать псевдогрупповое обращение взамен стандартного адресного для записи в ОДИН индикатор?

  9. #129

    По умолчанию

    Добрый день.
    Вот написал как будет выглядеть посылка для 3-х приборов с адресами 1,2,3 по протоколу Modbus, переменные типа int.
    Необходимо в приборы записать значения 35,36,37 соответственно.
    [00][10][03][E9][00][0C][18] (*заголовок со всеми вытекающими*)
    [00][00][00][00][00][00][00][23] (*запись в прибор №1*)
    [00][00][00][00][00][00][00][24] (*запись в прибор №2*)
    [00][00][00][00][00][00][00][25] (*запись в прибор №3*)
    [4A][BC] (*контрольная сумма*)

    Надеюсь, понятно
    to Aso
    Это сделано для того, чтобы сэкономить трафик по сети rs485.

  10. #130

    По умолчанию

    [00][10][03][E9][00][0C][18] (*заголовок со всеми вытекающими*)
    [00][00][00][00][00][00][00][23] (*запись в прибор №1*)
    [00][00][00][00][00][00][00][24] (*запись в прибор №2*)
    [00][00][00][00][00][00][00][25] (*запись в прибор №3*)
    [4A][BC] (*контрольная сумма*)
    дело в том, что я понятия не имею как контроллер раскладывает байты физически, на своем аппаратном уровне.
    у меня есть карта памяти, для СМИ2 она может выглядеть как-то так:
    ;Direction - направление (read & write)
    ;Type - тип (битовые или регистровые)
    ;Baudrate - скорость слэйва
    ;Address - адрес слэйва в сети RS-485
    ;var(0-n) - адрес#тип#символьное имя#комментарий

    [Request0]
    Direction=read
    Type=reg
    Baudrate=9600
    Address=26
    Period=100
    var0=0#long#dev#название прибора
    var1=2#long#ver#версия ПО прибора
    [Request1]
    Direction=read
    Type=reg
    Baudrate=9600
    Address=26
    Period=100
    var0=d#int#n.Err#код сетевой ошибки
    var1=e#int#Status#Байт статуса
    [Request2]
    Direction=read
    Type=reg
    Baudrate=9600
    Address=26
    Period=100
    var0=24#long#O.String#4 байта состояний сементов индикатора
    var1=26#int#O.Ind.Mode#проверка состояния Мигает/Нет
    [Request3]
    Direction=read/write
    Type=reg
    Baudrate=9600
    Address=26
    Period=100
    var0=4#int#bPS#Скорость обмена
    var1=5#int#len#Длина слова данных
    var2=6#int#Parity#контроль четности
    var3=7#int#stopBit#количество стоповых бит
    var4=8#int#rS.dL#задержка ответа прибора
    var5=9#int#t.out#сетевой тайм-аут
    var6=a#int#Addr#сетевой адрес
    var7=b#int#Protocol#тип протокола
    var8=c#int#A.Len#Длина сетевого адреса протокола ОВЕН
    [Request4]
    Direction=read/write
    Type=reg
    Baudrate=9600
    Address=26
    Period=100
    var0=f#int#Apply#Применение настроек
    var1=10#int#Ad.Ad#Код пользовательской функции
    var2=11#int#typ.data#Тип переменной
    var3=12#int#dP#положение десяттичной точки
    var4=13#int#PeriodFlashing#период мигания
    [Request5]
    Direction=read/write
    Type=reg
    Baudrate=9600
    Address=26
    Period=100
    var0=19#int#val.Int#переменная INT
    var1=1a#int#val.Word#переменная WORD
    var2=1b#long#val.Float#переменная Float
    var3=1d#long#val.String1#переменная String1
    var4=1f#long#val.String2#переменная String2
    var5=21#long#val.Portret#переменная Portret
    var6=23#int#Ind.Mode#установка Мигает/Нет
    [Request6]
    Direction=read/write
    Type=reg
    Baudrate=9600
    Address=26
    Period=100
    var0=27#int#OWEN#временный перевод на протокол ОВЕН
    а может и как-то иначе.
    понимаете, как программист я избавлен от лишних подробностей протокола.
    у меня есть необходимый минимум
    адрес прибора, адрес регистра в этом приборе по этому адресу, тип переменной этого регистра и что сделать. я могу выбрать читать его или писать в него. все остальное делает контроллер. он сам выбирает тип функции. и если я указываю "групповые запросы" - он будет делать это групповыми функциями и т.д. и т.п.

    так вот, еще раз повторяю свой вопрос:
    как оформить шировещательную передачу?
    по какому адресу отправлять?
    в какой регистр класть?
    какой тип данных использовать для этого регистра?

    пробовал отправлять по адресу нуль, в регистры 1000+адрес прибора, целое - не получилось.

    что я делаю не так?

Страница 13 из 29 ПерваяПервая ... 3111213141523 ... ПоследняяПоследняя

Ваши права

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