¿Cómo podemos ayudar?
Comunicación con Siemens S7-400 y función de redundancia con S7-400H
Configuración IP Ethernet S7-400/300 y HMI
Utilice HMI-Tool V7.0.0.14 o superior
Seleccione el protocolo correcto y configure la dirección IP Ethernet de la HMI. Si es necesario, véase también Dirección IP Ethernet de la HMI
Configure la IP Ethernet del S7-400. Si hay redundancia, configure la segunda dirección IP.
Configure los números de estación, rack y ranura en los registros LW especiales para el protocolo S7-400.
- Número de estación «plcsta»
- Rango del número de estación «plcsta» (0-255), si excede este rango, entonces el valor por defecto será 2.
- Número de rack
- LocalWord[45000 plcsta*2]: Contiene el número de rack de la estación. El rango es de 0 a 7, si es mayor, el valor por defecto será 0.
- Número de ranura
- LocalWord[45001 plcsta*2]: Contiene el número de ranura de la estación. El rango es de 1 a 31, si es mayor, el valor por defecto será 1.
Ejemplo, para el número de estación 2 : Introduzca el número de estación en LW[45004] y el número de ranura en LocalWord[45005]
Estos LocalWord[45xxx] se pueden configurar con una macro en «Init Script»:

Ejecutar el script una vez al inicio

Función de redundancia, para CPU en caso de S7-400H
Utilice la Herramienta HMI V7.0.0.14 o superior y «actualización forzada de HMI» antes de descargar el proyecto para todas las HMI Ethernet
La función de redundancia permite cambiar automáticamente de una IP a otra si falla la comunicación.
Pero para S7-400, es necesario cambiar al menos el número de Slot. Para ello, utilizaremos una macro para cambiar también el número de Slot si cambia la IP actual.
Macro en «Global Script», llamar macro cada 1000 ms como ejemplo:
#include "MacroInit.h"
void Macro_main(IN *p)
{
MarcoInit
/Hacer
int plcsta=0; Número de estación PLC
if(192 == LocalWord
{
// 192.168.10.1
LocalWord[45000 plcsta*2] = 0; // Número de rack
LocalWord[45001 plcsta*2] = 2; // Número de ranura
}
else if(192 == LocalWord
{
// 192.168.10.2
LocalWord[45000 plcsta*2] = 1; // Número de rack
LocalWord[45001 plcsta*2] = 2; // Número de ranura
}
}


