Step 7 SNMP auf CPU 317F-2PN/DP deaktivieren (Simatic Manager)

Zuviel Werbung?
-> Hier kostenlos registrieren
1730885004067.png1730885107313.png

Die Instanz-DB53 ist als WRREC_DB_1 definiert der die Daten für SNMP Deaktivieren von DB 10m nimmt. die Sind dann direkt in OB100 geschrieben und aufgerufen. Wie unten,
Der SCL-Quelltext ist für TIA.
Für Simatic Manager (Step7 classic V5.x) musst du so schreiben:
Code:
DATA_BLOCK "WRREC_DB_1"
//{InstructionName := 'WRREC';
//LibVersion := '1.1';
//S7_Optimized_Access := 'FALSE' }
AUTHOR : SIMATIC
FAMILY : DP
NAME : WRREC
VERSION : 1.0
WRREC
BEGIN
END_DATA_BLOCK

DATA_BLOCK "Deactivate SNMP"
//{ S7_Optimized_Access := 'FALSE' }
VERSION : 0.1
STRUCT
snmp_deactivate : BOOL;
snmp_record : STRUCT
BlockID : WORD;
BlockLenght : WORD;
_Version : BYTE; //"Version"
Subversion : BYTE;
Reserved : WORD;
SNMP_control : DWORD;
END_STRUCT;
snmp_done : BOOL;
snmp_error : BOOL;
snmp_status : DWORD;
END_STRUCT;
BEGIN
snmp_record.BlockID := 16#F003;
snmp_record.BlockLenght := 16#0008;
snmp_record._Version := 16#0001;
END_DATA_BLOCK

ORGANIZATION_BLOCK "COMPLETE RESTART"
TITLE = 'Complete Restart'
//{ S7_Optimized_Access := 'FALSE' }
VERSION : '0.1'
VAR_TEMP
OB100_EV_CLASS : BYTE; // 16#13, Event class 1
OB100_STRTUP : BYTE; // 16#81/82/83/84 Method of startup
OB100_PRIORITY : BYTE; // Priority of OB Execution
OB100_OB_NUMBR : BYTE; // 100 (Organization block 100, OB100)
OB100_RESERVED_1 : BYTE; // Reserved for system
OB100_RESERVED_2 : BYTE; // Reserved for system
OB100_STOP : WORD; // Event that caused CPU to stop (16#4xxx)
OB100_STRT_INFO : DWORD; // Information on how system started
OB100_DATE_TIME : DATE_AND_TIME; // Date and time OB100 started
END_VAR
BEGIN
"Deactivate SNMP".snmp_deactivate := 1; //Set WRREC Request
"Deactivate SNMP".snmp_record.SNMP_control := 16#0; //act=1 ; deact= 0
REPEAT
//Write data record
  WRREC."WRREC_DB_1"(REQ := "Deactivate SNMP".snmp_deactivate,//Transfer data record
    ID := 2046,//integrated profinet interface
    INDEX := -20367,//Data record number for snmp deactivation
    LEN := 12,
    RECORD := "Deactivate SNMP".snmp_record);//Data record
  "Deactivate SNMP".snmp_done := "WRREC_DB_1".DONE;
  "Deactivate SNMP".snmp_error := "WRREC_DB_1".ERROR;
  "Deactivate SNMP".snmp_status := "WRREC_DB_1".STATUS;
UNTIL "Deactivate SNMP".snmp_done OR "Deactivate SNMP".snmp_error
END_REPEAT;
END_ORGANIZATION_BLOCK
Vorher in der Symboltabelle die Symbole für die Bausteine z.B. so anlegen:
Code:
Symboltabelle:
WRREC_DB_1       DB 53    SFB 53  
Deactivate SNMP  DB 150   DB 150  
COMPLETE RESTART OB 100    OB 100
 
in OB100 ist nur das deklariert.
DATA_BLOCK "WRREC_DB_1"
AUTHOR : SIMATIC
FAMILY : DP
NAME : WRREC
VERSION : 1.0
WRREC
BEGIN
END_DATA_BLOCK

DATA_BLOCK "Deactivate SNMP"
VERSION : 0.1
STRUCT
snmp_deactivate : BOOL;
snmp_record : STRUCT
BlockID : WORD;
BlockLength : WORD;
_Version : BYTE; //TIA = "Version" or S7 = _Version
Subversion : BYTE;
Reserved : WORD;
SNMP_control : DWORD; //SNMP activate =1 ; SNMP deactivate= 0
END_STRUCT;
snmp_done : BOOL;
snmp_error : BOOL;
snmp_status : DWORD;
END_STRUCT;
BEGIN
snmp_record.BlockID := 16#F003;
snmp_record.BlockLength := 16#0008;
snmp_record._Version := 16#0001;
END_DATA_BLOCK

ORGANIZATION_BLOCK "COMPLETE RESTART"
TITLE = 'Complete Restart'
VERSION : '0.1'
VAR_TEMP
OB100_EV_CLASS : BYTE; // 16#13, Event class 1
OB100_STRTUP : BYTE; // 16#81/82/83/84 Method of startup
OB100_PRIORITY : BYTE; // Priority of OB Execution
OB100_OB_NUMBR : BYTE; // 100 (Organization block 100, OB100)
OB100_RESERVED_1 : BYTE; // Reserved for system
OB100_RESERVED_2 : BYTE; // Reserved for system
OB100_STOP : WORD; // Event that caused CPU to stop (16#4xxx)
OB100_STRT_INFO : DWORD; // Information on how system started
OB100_DATE_TIME : DATE_AND_TIME; // Date and time OB100 started
END_VAR
BEGIN
"Deactivate SNMP".snmp_deactivate := 1; //Set WRREC Request
"Deactivate SNMP".snmp_record.SNMP_control := 16#0; //SNMP activate =1 ; SNMP deactivate= 0
REPEAT
//Write data record
WRREC."WRREC_DB_1"(REQ := "Deactivate SNMP".snmp_deactivate,//Transfer data record
ID := 2046,//integrated profinet interface
INDEX := -20367,//Data record number for snmp deactivation
LEN := 12,
RECORD := "Deactivate SNMP".snmp_record);//Data record
"Deactivate SNMP".snmp_done := "WRREC_DB_1".DONE;
"Deactivate SNMP".snmp_error := "WRREC_DB_1".ERROR;
"Deactivate SNMP".snmp_status := "WRREC_DB_1".STATUS;
UNTIL "Deactivate SNMP".snmp_done OR "Deactivate SNMP".snmp_error
END_REPEAT;
END_ORGANIZATION_BLOCK
 
Eben, also kannst du da auch nichts mehr beobachten, da nichts bearbeitet wird.

Keine Ahnung, was ihr da so treibt aber warum wird ein CP "rausgezogen"?
Wenn die SNMP deaktivieren in der CPU nicht richtig funktioniert, dann wird über dem neue CP die SNMP Protkol deaktiviert. Daher kommt dann eine neue CP mit höhere Versionierung, der die SNMP deaktivieren unterstützt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
was ich leider nicht richtig verstehe ist, dass die SNMP zu mindest PG/PC seite bzw. den WRREC hat bis gestern mit dem gleichen Einstellung funktioniert. Aber heute nach CPU stop und start schmeißt es den Fehler
 
Zurück
Oben