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

Тема: modbus RTU, real, swap (перестановка слов)

  1. #1

    По умолчанию modbus RTU, real, swap (перестановка слов)

    ПЛК-100(подчиненный) и панель оператора. Протокол modbus RTU
    как переставлять слова местами (swap) при работе с real на ПЛК-100. Может гдето галочку поставить?

  2. #2

    По умолчанию

    ror на 16 символов

  3. #3

    По умолчанию

    В разделе ПЛК\примеры программ и полезности есть пример, как обойтись работой с INT.

  4. #4

    По умолчанию

    Если там умножить на 10 и передавать или принимать INT то не подходит.
    в панель пересылаю состояния счетчиков по этому больше подходит DWORD. А в DWORD тоже надо переставить слова местами.

  5. #5

    По умолчанию

    В Dword проще.
    b:=dword_to_word (a);
    c:=a/65535;

    Дальше собираем.
    А еще на форуме в примерах был такой пример с алгоритмом пересчета.

  6. #6

    По умолчанию

    modbus RTU должен получть Dword. При настройке в конфигураторе 4байта без перестановки слов он получает только младшее слово, а старшее исчезает. При настройке 2 байта в первый записуется старшее слово а во второй младшее.

    И по большому счету не охота около 120 переменных Real переганять через ф-ию которая разделит их на два байта. это получится около 220 переменных которым надо дать имена. А проще решалось бы если бы разработчики и панели и ПЛК учли эту особенность передачи Real и Dword в алгоритмах передачи и приема.

  7. #7

    По умолчанию

    Byte Sequence (Порядок передачи байтов посылки) – значения выбираются из списка: «Native» (порядок байтов, используемый в ПЛК) и «Trace_mode» (порядок байтов, используемый в программе Trace mode). Значение по умолчанию – «Trace_mode». Параметр определяет, в каком порядке будут передаваться байты посылки протокола Modbus для переменных длиной
    32 бита.

    Жаль, что это предусмотрено только когда ПЛК master. В режиме slave эту функцию забыли положить или хотя бы в slave по умолчанию сделали «Native».
    Последний раз редактировалось vitiali; 15.07.2011 в 22:49.

  8. #8

    По умолчанию

    В один масив или структуру можно загнать когда переменные обладают одним признаком или отвечают за групу однотипных объектов. А когда одна отвечает за счетчик, вторая за температуру, третья за давление, четвертая держит коэфициент соотношений, пятая время, шестая.... и тд. А в HMI я не должен знать, что опрашиваю? Привык иметь одинаковые имена и в панели и в ПЛК.
    Последний раз редактировалось vitiali; 15.07.2011 в 22:47.

  9. #9

    По умолчанию

    Извините, что повторяюсь но хочется ответ от разработчика есть или нет, если будет то когда.

    Byte Sequence (Порядок передачи байтов посылки) – значения выбираются из списка: «Native» (порядок байтов, используемый в ПЛК) и «Trace_mode» (порядок байтов, используемый в программе Trace mode). Значение по умолчанию – «Trace_mode». Параметр определяет, в каком порядке будут передаваться байты посылки протокола Modbus для переменных длиной
    32 бита.

    Жаль, что это предусмотрено только когда ПЛК master. В режиме slave эту функцию забыли положить или я не там ищу?

  10. #10

    По умолчанию

    В режиме Slave этой функции нет, и в контроллерах с CoDeSys v.2 пока не планируем.

Ваши права

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