[?]: Порядок байт в слове управления/состояния (Эндианизм)

Промышленные Логические Контроллеры SIMATIC S7-200/300/400
Post Reply
dyakov72
Posts: 38
Joined: Tue Feb 28, 2006 3:02 pm
Location: Russia

[?]: Порядок байт в слове управления/состояния (Эндианизм)

Post by dyakov72 » Tue Jan 16, 2018 5:57 am

Добрый день...хотелось бы прояснить следующую ситуацию
Имеется допустим ЧП, который принимает и отсылает информацию в виде 32 битных слов. Предположим слово статуса, которое занимает биты с 0 по 15. На ЧП выставлен большой эндианизм, следовательно

31бит............................ 0бит
byte 0 | byte 1 | byte 2 | byte 3 - структура в ЧП....слово статуса в байте 2 и 3

PLC Siemens работает с большим эндианизмом, следовательно при чтении из ЧП в PLC в MD0
MB0 | MB1 | MB2 | MB3 - структура в PLC...слово состояния в MB2 и MB3

Если на ЧП выставлен малый эндианизм, то
31бит............................ 0бит
byte 3 | byte 2 | byte 1 | byte 0 - структура в ЧП....слово статуса в байте 1 и 0
Тогда при чтении в PLC будет ли верно
MB0=byte0 | MB1=byte1 | MB2=byte2 | MB3=byte3...структура в PLC.....слово статуса в MB0 и MB1?

CoMod
Site Admin
Posts: 3406
Joined: Thu Feb 16, 2006 3:25 pm
Location: Russia
Contact:

Порядок байт в слове управления/состояния

Post by CoMod » Tue Jan 16, 2018 6:22 am

Set frequensy converter ready for running

Code: Select all

       L     W#16#47E                    //000.0100.0111.1111
      T     DB34.DBW   14
..... 
//Установка битов управления
.....
      CALL  "DPWR_DAT"
       LADDR  :=W#16#1D8                //272 in HEX 0110
       RECORD :=P#DB34.DBX14.0 BYTE 12  //db34
       RET_VAL:="MH1".ErrorSFC15

Code: Select all

//частотник 5
      CALL  "DPRD_DAT"
       LADDR  :=W#16#1D8                //adress 304 in HEX 0130
       RET_VAL:="MH1".ErrorSFC14
       RECORD :=P#DB34.DBX0.0 BYTE 12   //db34

dyakov72
Posts: 38
Joined: Tue Feb 28, 2006 3:02 pm
Location: Russia

Re: Эндианизм

Post by dyakov72 » Tue Jan 16, 2018 6:36 am

Мне интересно расположение байт в контроллере siemens, если чп работает или с большим или с малым эндианизмом.

CoMod
Site Admin
Posts: 3406
Joined: Thu Feb 16, 2006 3:25 pm
Location: Russia
Contact:

порядок байт

Post by CoMod » Tue Jan 16, 2018 8:01 am

Можешь посмотреть порядок байт в контроллере в симуляторе
Image

А вот при общении с Профибус устройством надо смотреть доку на устройство
Image

dyakov72
Posts: 38
Joined: Tue Feb 28, 2006 3:02 pm
Location: Russia

Re: Эндианизм

Post by dyakov72 » Tue Jan 16, 2018 9:01 am

Да..именно SM Profibus и S7-300...я и имел ввиду

dyakov72
Posts: 38
Joined: Tue Feb 28, 2006 3:02 pm
Location: Russia

Re: Эндианизм

Post by dyakov72 » Tue Jan 16, 2018 9:06 am

То есть если мы имеем в контроллере MD0 куда ЧП присылает свой статус в виде двойного слова, тогда при настройке эндианизма в ЧП будем иметь
при большом...статусное слово будет в MB2 и MB3
при малом.....статусное слово в MB0 и MB1

CoMod
Site Admin
Posts: 3406
Joined: Thu Feb 16, 2006 3:25 pm
Location: Russia
Contact:

Порядок байт в слове управления/состояния

Post by CoMod » Tue Jan 16, 2018 9:21 am

dyakov72 wrote:тогда при настройке эндианизма в ...
ваш консенсус режет глаз
Порядок байт в слове управления/состояния - для сименовского Микромастера и Синамикса привёл выше.
Давай конкретную модель частотника
можешь посмотреть viewtopic.php?f=9&t=16059 (если там ссылки живы)
То есть если мы имеем в контроллере MD0 куда ЧП присылает свой статус в виде двойного слова
Можно напрямую читать просто слова PIW Состояние, PIW Ток, PIW скорость... смысл читать двойное слово и заниматься эндианизмом в нём ?

dyakov72
Posts: 38
Joined: Tue Feb 28, 2006 3:02 pm
Location: Russia

Re: Эндианизм

Post by dyakov72 » Tue Jan 16, 2018 9:33 am

Разбираю чужой проект..вот и возник вопрос..расположения 16 битного слова в 32 битном.

dyakov72
Posts: 38
Joined: Tue Feb 28, 2006 3:02 pm
Location: Russia

Re: [?]: Порядок байт в слове управления/состояния (Эндианиз

Post by dyakov72 » Wed Jan 17, 2018 4:04 am

разобрался

Post Reply