DOXOM / Docs / Modo IEC / Bloques estándar

Bloques estándar IEC

El modo IEC incluye bloques de función estándar conformes a IEC 61131-3. Cada bloque es un rectángulo en el grid con entradas a la izquierda y salidas a la derecha.

Panel de bloques estándar IEC
Panel de bloques estándar IEC: temporizadores, contadores, comparadores y operaciones aritméticas.

Temporizadores

BloqueNombreEntradasSalidasDescripción
TONRetardo a la conexiónIN, PTQ, ETActiva Q después de que IN haya sido TRUE durante PT milisegundos. ET muestra el tiempo transcurrido.
TOFRetardo a la desconexiónIN, PTQ, ETQ se activa inmediatamente con IN. Al desactivar IN, Q permanece activa durante PT ms antes de apagarse.
TPPulsoIN, PTQ, ETGenera un pulso de duración fija PT al detectar flanco de subida en IN.

Memoria de instancia: 12 bytes (start, elapsed, prev_in, running, q, reserved).

Consejo: El valor de PT se especifica en milisegundos. Use constantes como 1000 para 1 segundo, o direcciones de registro como DB1.Tiempo_Retardo.

Contadores

BloqueNombreEntradasSalidasDescripción
CTUAscendenteCU, R, PVQ, CVIncrementa CV con cada flanco positivo en CU. Q se activa cuando CV ≥ PV. R resetea a 0.
CTDDescendenteCD, LD, PVQ, CVDecrementa CV con cada flanco en CD. LD carga PV en CV. Q se activa cuando CV ≤ 0.
CTUDBidireccionalCU, CD, R, LD, PVQU, QD, CVCombo de CTU + CTD: cuenta hacia arriba y abajo. QU = CV ≥ PV, QD = CV ≤ 0.

Memoria de instancia: 12 bytes (cv, prev_cu, prev_cd, qu, qd, reserved).

Comparadores

Los comparadores comparan dos valores (IN1, IN2) y activan OUT si la condición se cumple. La entrada IN es el enable (power flow).

BloqueOperaciónDescripción
EQIN1 == IN2Igual
NEIN1 ≠ IN2Distinto
GTIN1 > IN2Mayor que
GEIN1 ≥ IN2Mayor o igual
LTIN1 < IN2Menor que
LEIN1 ≤ IN2Menor o igual

Operandos: Soportan tipos INT, DINT, WORD, DWORD y REAL. El tipo se infiere del operando asignado.

Aritmética

BloqueOperaciónEntradasSalida
ADDIN1 + IN2IN, IN1, IN2OUT
SUBIN1 − IN2IN, IN1, IN2OUT
MULIN1 × IN2IN, IN1, IN2OUT
DIVIN1 ÷ IN2IN, IN1, IN2OUT

SCALE (Escalado analógico)

El bloque SCALE realiza un escalado lineal de un valor de entrada:

EntradaDescripción
INEnable (power flow)
IN1Valor a escalar
IN2Límite inferior de entrada (raw min)
IN3Límite superior de entrada (raw max)
IN4Límite inferior de salida (eng min)
IN5Límite superior de salida (eng max)

Fórmula: OUT = ((IN1 - raw_min) / (raw_max - raw_min)) × (eng_max - eng_min) + eng_min

Transferencia

BloqueEntradasSalidaDescripción
MOVEIN, IN1OUTCopia el valor de IN1 a OUT cuando IN está activo.

Conversión

BloqueDescripción
W2DWCombina dos WORD (IN1, IN2) en un DWORD.
B2WCombina dos BYTE (IN1, IN2) en un WORD.
B4DWCombina cuatro BYTE (IN1..IN4) en un DWORD.
B2AConvierte BYTE a formato analógico.

Accionamientos de motor

MTR_DIR — Motor arranque directo

Bloque de control para motor con un sentido de giro. Incluye protección y modos manual/automático.

EntradasDescripción
ENEnable general
EPEstado de protección (térmico)
OMOrden de marcha
CMConfirmación de marcha
AUTOModo automático
RReset de fallos
SalidasDescripción
OUTSalida al contactor
AEPAlarma de protección eléctrica
ACMAlarma de confirmación de marcha

MTR_INV — Motor inversor (doble canal)

Bloque para motor con dos sentidos de giro (derecha/izquierda). Incluye interbloqueo automático entre canales.

EntradasDescripción
EN, EPEnable y protección
CM1, CM2Confirmación canal 1 y 2
AUTOModo automático
OMOrden de marcha
SELSelector de canal (0=canal 1, 1=canal 2)
RReset
SalidasDescripción
OUT1, OUT2Salida contactor canal 1 y 2
AEPAlarma protección eléctrica
ACMAlarma confirmación de marcha
Nota: Los bloques MTR_DIR y MTR_INV crean automáticamente un DB de instancia con variables adicionales para control desde HMI (OMM, OPM, RST, TV, AUT).