Example Function Block To Shift Buffer And Insert Data

Modified on Mon, 6 Oct, 2025 at 9:19 AM

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

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article