Lenze DDS Function library Drive Manual do Utilizador Página 21

  • Descarregar
  • Adicionar aos meus manuais
  • Imprimir
  • Página
    / 103
  • Índice
  • MARCADORES
  • Avaliado. / 5. Com base em avaliações de clientes
Vista de página 20
Function library LenzeDrive.lib
Analog signal processing
2.2.6 Arithmetic (L_ARIT)
2−11
L
LenzeDrive.lib EN 1.7
2.2.6 Arithmetic (L_ARIT)
This FB can arithmetically combine two analog signals.
L_ARIT
±32767
nOut_a
byFunction
nIn1_a
x/(1-y)/
+
-
*
x
y
nIn2_a
Fig. 2−9 Arithmetic (L_ARIT)
VariableName DataType SignalType VariableType Note
nIn1_a Integer analog VAR_INPUT
nIn2_a Integer analog VAR_INPUT
nOut_a Integer analog VAR_OUTPUT The signal is limited to ±32767.
byFunction Byte VAR CONSTANT RETAIN Selection of the function
Parameter codes of the instances
VariableName L_ARIT1 L_ARIT2 SettingRange Lenze
byFunction C0338 C0600 0 ... 5 1
Function
Selection of the function Arithmetic function Notes
byFunction = 0 nOut_a = nIn1_a
byFunction = 1 nOut_a = nIn1_a + nIn2_a
byFunction = 2 nOut_a = nIn1_a − nIn2_a
byFunction = 3
nOut_a +
(nIn1_a) @ (nIn2_a)
16384
byFunction = 4
nOut_a +
nIn1_a
|
nIn2 a
|
@ 164
If the denominator = 0,
the denominator is set = 1.
byFunction = 5
nOut_a +
nIn1_a
16384 * nIn2
_
a
@ 16384
Function in ST
CASE byFunktion OF
0: nOut_a:=nIn1_a;
1: nOut_a:= DINT_TO_INT ( LIMIT (−32767,( INT_TO_DINT (nIn1_a)+ INT_TO_DINT (nIn2_a)),32767));
2: nOut_a:= DINT_TO_INT ( LIMIT (−32767,( INT_TO_DINT (nIn1_a)− INT_TO_DINT (nIn2_a)),32767));
3: nOut_a:= DINT_TO_INT ( LIMIT (−32767,(( INT_TO_DINT (nIn1_a)* INT_TO_DINT (nIn2_a))/16384),32767));
4: IF (nIN2_a=0) THEN
nOut_a= DINT_TO_INT ( LIMIT (−32767,(( INT_TO_DINT (nIn1_a)*164)),32767));
ELSE
nOut_a= DINT_TO_INT ( LIMIT (−32767,(( INT_TO_DINT (nIn1_a)*164)/ ABS (nIn2_a)),32767));
END_IF
5: IF (16384− INT_TO_DINT (nIn2_a)=0) THEN
nOut_a= DINT_TO_INT ( LIMIT (−32767,(( INT_TO_DINT (nIn1_a)*16384),32767));
ELSIF (16384− INT_TO_DINT (nIn2_a)>32767) THEN
nOut_a= DINT_TO_INT ( LIMIT (−32767,(( INT_TO_DINT (nIn1_a)*16384/32767),32767));
ELSIF (16384− INT_TO_DINT (nIn2_a)<−32767) THEN
nOut_a= DINT_TO_INT ( LIMIT (−32767,(( INT_TO_DINT (nIn1_a)*16384/−32767),32767));
ELSE
nOut_a= DINT_TO_INT ( LIMIT (−32767,(( INT_TO_DINT (nIn1_a)*16384)/(16384− INT_TO_DINT (nIn2_a)))
END_IF
END_CASE ;
Vista de página 20
1 2 ... 16 17 18 19 20 21 22 23 24 25 26 ... 102 103

Comentários a estes Manuais

Sem comentários