Преобразование

Инженерное программное обеспечение

Преобразование

Сообщение Dmitrey_59 » 24 апр 2019, 18:44

Подскажите пожалуйста как выполнить преобразование 16 битного слова в 2 байта и обратно в Step 7?
Dmitrey_59
Дилетант
 
Сообщения: 8
Зарегистрирован: 29 июл 2016, 12:08

Re: Преобразование

Сообщение mr_Frodo » 25 апр 2019, 09:17

:shock:
Назначение "преобразования" ?!?
Вы в курсе, что слово это уже 2 готовых байта? Вся загвоздка только в том, какой из полученных байтов соотнести старшему или младшему байту слова.
Для наглядности откройте симулятор и сделайте 6 окон с адресами: 4 байта подряд (например MB0, MB1, MB2, MB3) в битовом виде и 2 слова (МW0 и МW2) в двоичном виде и потыкайте биты в байтах. Думаю вы будете приятно удивлены увиденным и поймёте как вам поступить. Если нет - загружаете требуемое входное слово в локальную переменную, и считываете побитно эти локальные биты, относящиеся к этому слову в выходные байты. Это чтобы заморочиться.
А если по- простому, то просто имеющееся слово прочитать побайтно )))))) Word X ( bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0) = Byte X ( 7 6 5 4 3 2 1 0) + Byte [X+1](15 14 13 12 11 10 9 8 )Т.е. фактически биты слова побайтно распределяются задом наперёд - bytex 7 6 5 4 3 2 1 0 и bytex+1 15 14 13 12 11 10 9 8
Вот моя подпись...
Аватара пользователя
mr_Frodo
Специалист
 
Сообщения: 482
Зарегистрирован: 22 июл 2016, 20:38

Re: Преобразование

Сообщение SMax » 02 май 2019, 07:13

Например так:
Код: Выделить всё
//  IN : WORD
//  OUT_L : BYTE - младший байт
//  OUT_H : BYTE - старший байт

      L     #IN
      T     #OUT_L
      SRW   8
      T     #OUT_H
SMax
Дилетант
 
Сообщения: 10
Зарегистрирован: 14 окт 2018, 09:28

Re: Преобразование

Сообщение Dmitrey_59 » 02 май 2019, 17:19

Благодарю за совет. На днях попробую.
Dmitrey_59
Дилетант
 
Сообщения: 8
Зарегистрирован: 29 июл 2016, 12:08


Вернуться в Simatic TIA Portal / Step7

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1