Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 14

Тема: СМИ2 - порядок байтов

  1. #1

    По умолчанию СМИ2 - порядок байтов

    На индикатор СМИ2 мне необходимо вывести поочередно сообщение, затем значение переменной. Все находится в string. После связи с ПЛК-150 и СМИ2 на индикаторе слова и цифры отображаются наоборот - с права на лева. Помогите разобраться.
    Вложения Вложения

  2. #2
    Пользователь
    Регистрация
    18.03.2013
    Адрес
    Канаш
    Сообщений
    130

    По умолчанию

    Доброго времени суток! Неужели никто не сталкивался с этой проблемой? Я начинающий, для меня это актуально. Может поделитесь простым примером отображение слов на СМИ2 ?

  3. #3

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Стринг. Байты ПЛК/СМИ2 - 1234/2143
    Было и так тоже ).

  4. #4

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Ну так переставьте перед отправкой
    Я уже отмахнулся от стринга, перевел в реал значения переменных. В стринге - перевертыши. Буквы можно было в ПЛК вывернуть под СМИ2, но проделать такое же с переменными не хватило духу ).

  5. #5

    По умолчанию

    ПЛК110 + СМИ2 такая же проблема вывожу 'Err ' а выходи на экран 'rE' при перестановке по принципу (Байты ПЛК/СМИ2 - 1234/2143)
    вывожу 'rE' а выходит 'Er' .. тупик

  6. #6

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Мужик, тебе сказали 2143, значит 2143. К сетевому порядку это никаким боком. И почитай про asciiz.
    да согласен 2143
    но такая конструкция
    IF temp1>=28 THEN datA:=3; chr1:='1d '; chr2:=WORD_TO_STRING(temp1); ELSE ; datA:=0; END_IF; (* chr1,chr2 -29,30 регистры СМИ2 *)
    дает на выходе цифры менянные местами, а надо по нормальному

  7. #7

    По умолчанию

    не очень понял вопрос.. chr2 это переменная сконфигурированная в настройках проекта codesys как 29 регистр устройства universal Modbus Device->string output module (точное название не припомню но где то так)

  8. #8

    По умолчанию

    Не очень понял вопрос.. chr2 это переменная сконфигирированная в проекте codesys как 29 регистр СМИ2 universal modbus device-string output module ( не припомню точное название пишу с телефона но где то так

  9. #9

    По умолчанию

    2 переменных использовал потому что если записывать в одну всю строку например chr1:='abcd' то ничего путного не получается выходит что то типа 'ba -' или типа того пробовал разные комбинации.. а вот если записать так chr1:='ba';chr2:='dc'; то тогда выходит на экран 'abcd'

  10. #10

    По умолчанию

    Цитата Сообщение от Гамзат Посмотреть сообщение
    2 переменных использовал потому что если записывать в одну всю строку например chr1:='abcd' то ничего путного не получается выходит что то типа 'ba -' или типа того пробовал разные комбинации.. а вот если записать так chr1:='ba';chr2:='dc'; то тогда выходит на экран 'abcd'
    Для корректной передачи строки необходимо менять местами не регистры, а байты. Создаете строковую переменную из 8 байт, привязываете к 29-ому регистру, в программе меняете местами байты в этой переменной перед отправкой на панель.
    байты
    ПЛК - СМИ
    0 - 1
    1 - 0
    2 - 3
    3 - 2
    4 - 5
    5 - 4
    6 - 7
    7 - 6

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

Похожие темы

  1. SysLibCom.lib (SysComRead) потеря байтов.
    от AlexPC1 в разделе ПЛК1хх
    Ответов: 19
    Последнее сообщение: 13.10.2014, 22:38
  2. ПЛК63 + SysLibCom, потеря байтов
    от monteg в разделе ПЛК63/73
    Ответов: 202
    Последнее сообщение: 18.04.2013, 10:11
  3. потеря байтов в ответной посылке с периодом 4-5 с.
    от Смирнов Роман в разделе ПЛК1хх
    Ответов: 44
    Последнее сообщение: 23.04.2009, 08:16

Ваши права

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