====== Shift register ====== {{:en:mervis-ide:35-help:b110.png}} ===== Block name ===== B110_SHIFT_REGISTER ===== ST call ===== PROGRAM TEST B110 VAR REAL1: REAL; BOOL1: BOOL; ARRAYREAL: ARRAY[1..24] OF REAL; FB : LIB.CORE.V1_0.B110_SHIFT_REGISTER; END_VAR FB(IN:=REAL1,BR:=BOOL1,OUT=>ARRAYREAL); END_PROGRAM ===== Library ===== LIB\CORE ===== Version ===== V1.0 ===== Description ===== Shift register containing up to 24 analogue values.\\ ===== Inputs ===== |Input|Type|Description |Default value| |IN |REAL|Input value |0 | |BR |BOOL|Shift by one (at rising edge)|False | ===== Outputs ===== |Output |Type |Description | |OUT |ARRAY[1..24] OF REAL|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:b110_example.png}}\\ The block is used for averaging, calculating of normalized outside temperature, bar graphs, peak shaving algorithms etc.