====== Integer shift register ====== {{:en:mervis-ide:35-help:b111.png}} ===== Block name ===== B111_INTEGER_SHIFT_REGISTER ===== ST call ===== PROGRAM TEST B111 VAR REAL1: REAL; BOOL1: BOOL; ARRAYINT: ARRAY[1..24] OF INT; FB : LIB.CORE.V1_0.B110_SHIFT_REGISTER; END_VAR FB(IN:=INT1,BR:=BOOL1,OUT=>ARRAYINT); END_PROGRAM ===== Library ===== LIB\CORE ===== Version ===== V1.0 ===== Description ===== Shift register containing up to 24 integer values. ===== Inputs ===== |Input|Type|Description |Default value| |IN |INT |Input value |0 | |BR |BOOL|Shift by one (at rising edge)|False | ===== Outputs ===== |Output |Type |Description | |OUT |ARRAY[1..24] OF INT|Array 1..24 of outputs| |SHIFTTIME|DT |Time of last shift | ===== Function ===== The block is a shifting register; at each rising edge on the //br// input the input value //in// is saved at the first output //out//, and the output values are moved by one position higher. The value of the output 24 is lost. The //shifttime// output returns the time of the last shift. ===== Application example ===== {{:en:mervis-ide:35-help:b111_example.png}} The block is used for averaging, bar graphs, consumption calculations, etc.