TIA Get sfb14

SanjaDO

Level-1
Beiträge
177
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo


Ich hab ein kleines Problem. Heute beschäftige ich mich zum erstem mal mit der MPI-Kommunikation, also nicht auslachen!

CPU315-2 DP (MPI-Adresse = 2) soll eine INT-Variable (DB1.DBW 0) aus einer 313C (MPI-Adresse = 4) auslesen und auf den DB10.DBW 0 schreiben. Hier ist mein Code dazu:


Code:
"GET_DB"(REQ:="Takt_100ms",         ID:=W#16#4,
         ADDR_1:=P#DB1.DBX0.0 INT 1,
         RD_1:=P#DB10.DBX0.0 INT 1,ERROR=>#err,STATUS=>#RET);

Error ist true, der Status ist 16#1 bedeutet "Verbindungsbeschreibung nicht geladen" oder Verbindung unterbrochen"


Ich glaube ich mache grundsätzlich was falsch....Hilfe!!!!


Danke!
 
Hallo


Ich hab ein kleines Problem. Heute beschäftige ich mich zum erstem mal mit der MPI-Kommunikation, also nicht auslachen!

CPU315-2 DP (MPI-Adresse = 2) soll eine INT-Variable (DB1.DBW 0) aus einer 313C (MPI-Adresse = 4) auslesen und auf den DB10.DBW 0 schreiben. Hier ist mein Code dazu:


Code:
"GET_DB"(REQ:="Takt_100ms",         ID:=W#16#4,
         ADDR_1:=P#DB1.DBX0.0 INT 1,
         RD_1:=P#DB10.DBX0.0 INT 1,ERROR=>#err,STATUS=>#RET);

Error ist true, der Status ist 16#1 bedeutet "Verbindungsbeschreibung nicht geladen" oder Verbindung unterbrochen"


Ich glaube ich mache grundsätzlich was falsch....Hilfe!!!!


Danke!


Hat sich erledigt...funktioniert so wie es hier steht
 
Hallo SanjaDO,

der SFB14 ist nur in einer S7-400 vorhanden. Bei einer S7-300 muss der FB14 verwendet werden.

Ich bin mir nicht sicher, ob die Angabe "P#DB1.DBX0.0 INT 1" erlaubt ist. Versuche mal "P#DB1.DBX0.0 BYTE 2" (und entsprechend beim Ziel).

Grüße

Ralph
 
Get sfb14

Ich hab ein kleines Problem. Heute beschäftige ich mich zum erstem mal mit der MPI-Kommunikation, also nicht auslachen!

CPU315-2 DP (MPI-Adresse = 2) soll eine INT-Variable (DB1.DBW 0) aus einer 313C (MPI-Adresse = 4) auslesen und auf den DB10.DBW 0 schreiben. Hier ist mein Code dazu:


Code:
"GET_DB"(REQ:="Takt_100ms",         ID:=W#16#4,
         ADDR_1:=P#DB1.DBX0.0 INT 1,
         RD_1:=P#DB10.DBX0.0 INT 1,ERROR=>#err,STATUS=>#RET);
Hat sich erledigt...funktioniert so wie es hier steht

Sehr merkwürdig, weil FB14/SFB14 GET funktioniert gar nicht über MPI. :confused:
Über MPI geht nur Globaldatenkommunikation (GD) oder S7-Basiskommunikation mit X_PUT, X_GET, X_SEND, X_RCV (SFC65..SFC69).

Harald
 
Ich fand die Globaldatenkommunikation in MPI immer ganz schick. Ich wünschte man könnte das wieder für DP und Profinet einführen. :p
 
Hallo SanjaDO,

der SFB14 ist nur in einer S7-400 vorhanden. Bei einer S7-300 muss der FB14 verwendet werden.

Stimmt nicht. Hab ich auch mal geglaubt. Es gibt SFB die nicht als vorhanden angezeigt werden.
und der FB14 nutzt auch die sfb14.

Außerdem ist der FB14 unnötig mit diversen sfb/sfc aufrufen überladen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Stimmt nicht. Hab ich auch mal geglaubt. Es gibt SFB die nicht als vorhanden angezeigt werden.
und der FB14 nutzt auch die sfb14.

Außerdem ist der FB14 unnötig mit diversen sfb/sfc aufrufen überladen.

Kann der als nicht vorhanden angezeigte SFB aufgerufen / verwendet werden?
Ich habe leider keine zwei Steuerungen hier und kann den Versuch leider nicht aufbauen.

Wenn ja, warum könnte Siemens so etwas behaupten? Mussten die den Programmierer des FB hofieren?

Grüße

Ralph
 
Kann der als nicht vorhanden angezeigte SFB aufgerufen / verwendet werden?
getestet an CPU 315-2PN/DP (315-2EH14) V3.2.3

Der SFB14 wird nicht als vorhanden angezeigt, kann aber ohne Fehlermeldungen direkt aufgerufen werden.
Ob eine reale S7-Kommunikation so funktioniert kann ich nicht sagen, ich halte mich an die Siemens-Dokumentation und benutze den/die ladbaren FB14.

Harald
 

Anhänge

  • S7-Kommunikation_Anwenderschnittstellen.JPG
    S7-Kommunikation_Anwenderschnittstellen.JPG
    141,8 KB · Aufrufe: 28
Zurück
Oben