MBShift

PLCopen motion icon

 Function - Multi-byte shift / rotate.

Inputs

Input

Data Type

Range

Unit

Default

Description

Buffer

SINT / USINT

 

 

 

Array of bytes.

Pos

DINT

 

 

 

Base position in the array.

NbByte

DINT

 

 

 

Number of bytes to be shifted or rotated.

NbShift

DINT

 

 

 

Number of shifts or rotations.

ToRight

BOOL

FALSE, TRUE

 

 

  • TRUE for right.
  • FALSE for left.

Rotate

BOOL

FALSE, TRUE

 

 

  • TRUE for rotate.
  • FALSE for shift.

InBit

BOOL

FALSE, TRUE

 

 

Bit to be introduced in a shift.

Outputs

Output

Data Type

Range

Unit

Description

Q

BOOL

FALSE, TRUE

 

TRUE if successful.

Remarks

  • Use the ToRight argument to specify a shift to the left (FALSE) or to the right (TRUE).
  • Use the Rotate argument to specify either a shift (FALSE) or a rotation (TRUE).
  • In case of a shift, the InBit argument specifies the value of the bit that replaces the last shifted bit.

FBD Language Example

FFLD Language Example

  • In the FFLD Language, the input rung (EN) enables the operation.
  • The rung output is the result (Q).
  • The function is called only if EN is TRUE.

IL Language Example

Not available.

ST Language Example

Q := MBShift (Buffer, Pos, NbByte, NbShift, ToRight,
Rotate, InBit);