Hoe kunnen we helpen?

Print

Communicatie met Siemens S7-400 en redundantiefunctie met S7-400H

 

Ethernet IP-configuratie S7-400/300 en HMI

Gebruik HMI-Tool V7.0.0.14 of hoger

Selecteer het juiste protocol en stel het Ethernet IP-adres van de HMI in. Zie indien nodig ook Ethernet IP-adres HMI

Stel de Ethernet IP van de S7-400 in. Stel bij redundantie het tweede IP-adres in.

Stel de stations-, rek- en slotnummers in in de speciale LW-registers voor het S7-400 protocol.

  • Stationnummer “plcsta
    • Stationnummerbereik “plcsta” (0-255), als dit bereik wordt overschreden, is de standaardwaarde 2.
  • Reknummer
    • LocalWord[45000 plcsta*2]: Bevat het racknummer van het station. Het bereik is 0 tot 7, indien hoger is de standaardwaarde 0.
  • Slotnummer
    • LocalWord[45001 plcsta*2]: Bevat het slotnummer van het station. Het bereik is 1 tot 31, indien hoger, is de standaardwaarde 1.

Voorbeeld, voor Station nummer 2 : Voer het stationnummer in in LW[45004] en het slotnummer in LocalWord[45005]

Deze LocalWord[45xxx] kunnen worden ingesteld met een macro in “Init Script”:

Voer het script één keer uit bij het opstarten

Redundantiefunctie voor CPU in geval van S7-400H

Gebruik HMI-Tool V7.0.0.14 of hoger en gebruik “forced update HMI” (HMI geforceerd bijwerken) voordat u het project voor alle Ethernet-HMI’sdownloadt

Met de redundantiefunctie kan automatisch van de ene IP naar de andere worden overgeschakeld als de communicatie uitvalt.

Maar voor S7-400 moet ten minste het slotnummer worden gewijzigd. Hiervoor gebruiken we een macro die ook het slotnummer wijzigt als de huidige IP verandert.

Macro in “Global Script”, roep de macro bijvoorbeeld elke 1000 ms op:

#include "MacroInit.h"
void Macro_main(IN *p)
{
MarcoInit
//ToDo
int plcsta=0; PLC-stationnummer
if(192 == LocalWord[63192] && 168 == LocalWord[63193] && 10 == LocalWord[63194] && 1 == LocalWord[63195])
{
// 192.168.10.1
LocalWord[45000 plcsta*2] = 0; // Rack nummer
LocalWord[45001 plcsta*2] = 2; // Slotnummer
}
else if(192 == LocalWord[63192] && 168 == LocalWord[63193] && 10 == LocalWord[63194] && 2 == LocalWord[63195])
{
// 192.168.10.2
LocalWord[45000 plcsta*2] = 1; // Rack nummer
LocalWord[45001 plcsta*2] = 2; // Slotnummer
}
}