====== Integer (lint) memory ====== {{:en:mervis-ide:35-help:b106.png}} ===== Block name ===== B106_INTEGERMEMORY ===== ST call ===== PROGRAM TEST B106 VAR LINT0,LINT1,LINT2,LINT3,LINT4,LINT5: LINT; SAVE: BOOL; FB: LIB.CORE.V1_0.B106_INTEGERMEMORY; END_VAR FB(CLOCKRISING := SAVE, IN0:=LINT0, IN1:=LINT1, IN2:=LINT2, OUT0=>LINT3, OUT1=>LINT4, OUT2=>LINT5); END_PROGRAM ===== Library ===== LIB\CORE ===== Version ===== V1.0 ===== Description ===== The block is a register of up to 16 long integer (lint) values. The values are stored at the rising (**//clockrising//**) or falling (**//clockfalling//**) edge of the input signal. ===== Inputs ===== |Input |Type |Description |Default value| |CLOCKRISING |BOOL |Rising edge copies inputs to outputs. |False | |CLOCKFALLING |BOOL |Falling edge copies inputs to outputs. |False | |INITIALIZE |LINT |If //initialize// = true, then the //initvalue// is written to all outputs|False | |IN |[[en:mervis-ide:35-help:035-software_basic:060-libraries:015-proto|MULTIIOLINT]]|Input array from the **//helper_multiinint//** block |[0,0,...,0] | |INITVALUE |LINT |The value set to all outputs when //initialize// = true. |0 | |IN0,IN1,..,IN15|LINT |The inputs as individual values | | ===== Outputs ===== |Output |Type |Description | |OUT |[[en:mervis-ide:35-help:035-software_basic:060-libraries:015-proto|MULTIIOLINT]]|Input array to the **//helper_multioutint//** block| |OUT0,OUT1,..,OUT15|LINT |The outputs as individual values | ===== Function ===== The **//clockrising//** input reacts on the rising edge of the input signal which causes the inputs to propagate to the outputs. Similarly, the **//clockfalling//** input reacts on the falling edge of the input signal which causes the inputs to propagate to the outputs. If **//initialize//** = true, the **//initvalue//** is written to the outputs. Inputs and outputs may be connected in two ways, either through a multireal type to the //in// input, or individually to inputs //in0,in1,...//. ===== Application example ===== {{:en:mervis-ide:35-help:b106_example.png}} A rising edge on the //bool1// input copies the inputs to the outputs, or makes a "snapshot" of the input vector which is available at the outputs. Inputs and outputs are connected individually here, rather than using a multireal variable.