PDA

Просмотр полной версии : СП270. Групповые операции с битами PSB



petera
20.06.2013, 16:21
В дополнение к тому, как одной командой собрать (скопировать) 16(32) бита PSB в один регистр PSW,PFW- в панели или 4х в ПЛК или наоборот одной командой разобрать один регистр PSW,PFW- в панели или 4х в ПЛК в группу из 16(32) бита PSB.
http://www.owen.ru/forum/showthread.php?t=14132&p=113560&viewfull=1#post113560

http://s020.radikal.ru/i703/1306/40/b74ed0464f6at.jpg
К стати одной такой функцией UNPACK можно за одну операцию прочитать из ПЛК два(четыре) элемента 8bits сразу в 16(32) PSB.

Это понравится тем, кто не любит конструкцию типа PSW_NNN.01...PSW_NNN.15 в элементах управления лампами или переключателями . При этом в PSW_NNN находятся два элемента 8bits из ПЛК

Кто не в курсе почему в регистре PSW_NNN должны находиться два элемента 8bits из ПЛК, отправляю к теме от Андрея "СП270 примеры организации связи" http://www.owen.ru/forum/showthread.php?t=10890. Смотреть там описание оптимального режима.
А теперь продолжение про групповые операции с битами PSB.
Как оказалось группу из 16(32) последовательных битов PSB можно использовать как один регистр не только в функциях копирования, но и в других операциях (арифметических и др.). Все работает.
Пример
http://i067.radikal.ru/1306/49/0dce0efe985ft.jpg (http://i067.radikal.ru/1306/49/0dce0efe985f.png)
Можно использовать арифметические операции
Или в функциональной кнопке
http://s019.radikal.ru/i602/1306/13/fde1c0ce8900t.jpg (http://s019.radikal.ru/i602/1306/13/fde1c0ce8900.png) http://s52.radikal.ru/i136/1306/f8/ab1a1e755c79t.jpg (http://s52.radikal.ru/i136/1306/f8/ab1a1e755c79.png)

Или можно использовать кнопку Операции с данными
http://i079.radikal.ru/1306/c6/4dc3153a6dc1t.jpg (http://i079.radikal.ru/1306/c6/4dc3153a6dc1.png) http://s019.radikal.ru/i616/1306/47/4ce36aadef51t.jpg (http://s019.radikal.ru/i616/1306/47/4ce36aadef51.png) http://i047.radikal.ru/1306/4c/ad560f7984b4t.jpg (http://i047.radikal.ru/1306/4c/ad560f7984b4.png)

А работает это все вот так:
http://www.owen.ru/forum/attachment.php?attachmentid=12650&d=1397824461

rekbrjaaa
04.12.2014, 07:53
СПАСИБО!!!

petera
04.12.2014, 10:42
Добавил в пример сдвиг влево, циклические сдвиг влево и вправо

http://www.owen.ru/forum/attachment.php?attachmentid=15563&d=1417678590