Introduction
Sometimes it is necessary to byte shift data right by one byte to insert a new byte at the head of a buffer. This could be for strings or data. However the current PLC shift instructions don't enable this function easily as data is often byte swapped in a word.
The attached sample CX-Programmer file includes a Function Block (FB) which allows users to shift a 'buffer' of data by one byte. The FB also inserts a new byte at the head of the buffer.
Example
Data in 'buffer' before shift.
| 1122 | 3344 | 5566 | 7788 |
Data in 'buffer' after shift (assuming that new byte to insert at head is 0x99)
| 9911 | 2233 | 4455 | 6677 | 88 |
![]() |
Note: The Function Block is written for CJ1/CS1 V4.x CPU's or CJ2 V1.x |
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article
