SINUMERIK 840D sl / 828D Grundfunktionen

SINUMERIK 840D sl / 828D Grundfunktionen
FC 21: Transfer Datenaustausch PLC-NCK
FC 21: Transfer Datenaustausch PLC-NCK
Funktion
Mit Aufruf des Bausteins Transfer werden Daten zwischen PLC und NCK entsprechend des
angewählten Funktionscodes ausgetauscht. Die Daten werden sofort bei Aufruf des FC 21
übertragen, nicht erst am Zyklusbeginn.
Die Aktivierung des Bausteins erfolgt über das "Enable" - Signal.
Der FC 21 wird nur bei "Enable" = "1" durchlaufen.
Folgende Funktionen für den Datenaustausch zwischen PLC und NCK werden unterstützt:
1.
Signale Synchronaktionen an NCK - Kanal
2.
Signale Synchronaktionen von NCK - Kanal
3.
Schneller Datenaustausch PLC-NCK (Funktion lesen im NCK)
4.
Schnellen Datenaustausch PLC-NCK (Funktion schreiben im NCK)
5.
Steuerungssignale an NCK - Kanal aktualisieren
6.
Steuerungssignale an Achsen aktualisieren (Datenbyte 2 der Anwender Nahtstelle)
7.
Steuerungssignale an Achsen aktualisieren (Datenbyte 4 der Anwender Nahtstelle)
Deklaration der Funktion
AWL-Darstellung
VAR_INPUT
Enable : BOOL ;
Funct : BYTE ;
S7Var : ANY ;
IVar1 : INT ;
IVar2 : INT ;
END_VAR
VAR_OUTPUT
Error : BOOL ;
ErrCode : INT ;
END_VAR
Erläuterungen der Formalparameter
Die folgende Tabelle zeigt alle Formalparameter der Funktion "Transfer":
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=53351851147&Language=de-DE&TopicId=18114596619
11.07.2016
SINUMERIK 840D sl / 828D Grundfunktionen
FC 21: Transfer Datenaustausch PLC-NCK
Signal
Art
Typ
Enable
E
BOOL
Funct
E
BYTE
Wertebereich
Bemerkung
1 = FC 21 aktiv
1 ... 7
1:
Synchronaktionen an Kanal
2:
Synchronaktionen von Kanal
3:
Daten lesen
4:
Daten schreiben
5:
Steuersignale an Kanal
6, 7: Steuersignale an Achse
S7Var
E
ANY
S7-Datenbereich
Abhängig von "Funct"
IVAR1
E
INT
0 ...
Abhängig von "Funct"
IVAR2
E
INT
1 ...
Abhängig von "Funct"
Error
A
BOOL
ErrCode
A
INT
Abhängig von "Funct"
Funktion 1, 2: Signale Synchronaktionen an / von Kanal
Synchronaktionen können von PLC verriegelt bzw. freigegeben werden.
Der Datenbereich liegt in der Anwender-Nahtstelle DB21, ... .DBB300 ...307 (an Kanal) und
DB21, ... .DBB308 ...315 (von Kanal). Der Parameter "S7Var" wird bei dieser Funktion nicht
ausgewertet, muss aber mit einem Aktualparameter belegt werden (siehe Aufrufbeispiel). Die
Daten werden sofort während des FC 21-Durchlaufs an/von NC übergeben.
Folgende Signale sind relevant:
Signal
Art
Typ
Enable
E
BOOL
Funct
E
BYTE
Wertebereich
Bemerkung
1 = FC 21 aktiv
1, 2
1: Synchronaktionen an Kanal
2: Synchronaktion von Kanal
S7Var
E
ANY
S7-Datenbereich
nicht genutzt
IVAR1
E
INT
1..MaxKanal
Kanal-Nummer
Error
A
BOOL
ErrCode
A
INT
1:
"Funct" ungültig
10:
Kanal-Nr. ungültig
Aufrufbeispiel:
FUNCTION FC 100: VOID
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=53351851147&Language=de-DE&TopicId=18114596619
11.07.2016
SINUMERIK 840D sl / 828D Grundfunktionen
FC 21: Transfer Datenaustausch PLC-NCK
VAR_TEMP
myAny : ANY ;
END_VAR
BEGIN
NETWORK
//Synchronaktionen mit ID3, ID10 und ID31 deaktivieren im NC-Kanal 1:
SYAK :
AUF
DB21;
SET;
S
DBX 300.2;
//ID3
S
DBX 301.1;
//ID10
S
DBX 303.6;
//ID31
L
B#16#1;
T
MB11;
SPA
TRAN;
//Synchronaktionen von NCK-Kanal 1:
SYVK :
L B#16#2;
T MB11;
TRAN:
CALL
FC
21 (
Enable
:= M 10.0,
//wenn True, FC 21 aktiv
Funct
:= MB 11,
S7Var
:= #myAny,
//nicht genutzt
IVAR1
:= 1,
//Kanal-Nr
IVAR2
:= 0,
Error
:= M 10.1,
ErrCode
:= MW 12);
END_FUNCTION
Funktion 3, 4: Schneller Datenaustausch PLC-NCK
Allgemeines
Für den schnellen Austausch von Informationen zwischen PLC und NCK existiert ein eigener
interner Datenbereich. Die Dimension des internen Datenfeldes ist auf 4096 Bytes festgelegt.
Die Zugriffe (Lesen/Schreiben) von PLC aus erfolgen über FC 21. Die Belegung dieses
Bereichs (Struktur) muss im NC-Teileprogramm und PLC-Anwenderprogramm identisch
vereinbart werden.
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=53351851147&Language=de-DE&TopicId=18114596619
11.07.2016
SINUMERIK 840D sl / 828D Grundfunktionen
FC 21: Transfer Datenaustausch PLC-NCK
Vom NC-Teileprogramm kann auf diese Daten mit den Befehlen $A_DBB[x], $A_DBW[x],
$A_DBD[x], $A_DBR[x] zugegriffen werden (siehe Listenhandbuch Systemvariablen).
Die konkrete Adresse im Datenfeld wird über einen Byte-Offset (0 bis 4095) im Parameter
IVAR1 angegeben. Dabei muss die Ausrichtung entsprechend dem Datenformat gewählt
werden, d. h. ein Dword beginnt auf einer 4-Byte-Grenze und ein Word auf einer 2-ByteGrenze. Bytes können auf einem beliebigen Offset innerhalb des Datenfeldes liegen,
Einzelbitzugriffe werden nicht unterstützt und vom FC 21 als Bytezugriff umgesetzt. Die
Datentypinformation und Anzahl der Daten wird aus dem über S7Var übergebenen ANYParameter entnommen.
Die Datenkonsistenz wird nur für 1- und 2-Byte Zugriffe sowohl beim NCK als auch bei der PLC
ohne zusätzliche programmiertechnische Maßnahmen sichergestellt. Bei der 2-Byte
Konsistenz trifft dies nur beim Datentyp WORD bzw. INT zu, nicht aber beim Datentyp BYTE.
Bei Verwendung größerer Datentypen oder Übertragung von Feldern, die konsistent
übertragen werden sollen, muss ein Semaphor-Byte im Parameter IVAR2 angegeben werden,
über das der FC 21 die Gültigkeit bzw. Konsistenz eines Blockes erkennen kann. Dieses
Handling muss auf der NC-Seite, d. h. im Teileprogramm, durch schreiben bzw. löschen des
Semaphor-Bytes unterstützt werden. Das Semaphor-Byte liegt auch in dem gleichen
Datenfeld, wie die eigentlichen Nutzdaten.
Ein Wert zwischen 0 und 4095 im IVAR2 bezeichnet das Semaphor-Byte.
Bei der PLC wird über den FC 21 in dem gleichen Aufruf, in denen die Nutzdaten übertragen
werden sollen, das Semaphorbyte gelesen und beschrieben. Der PLC Programmierer muss
nur für die Bereitstellung einer Semaphor-Variablen sorgen. Bei dem Zugriff von der NC über
das Teileprogramm muss der Semaphor-Mechanismus entsprechend dem unten abgebildeten
Flussdiagramm über Einzelanweisungen programmiert werden. Die Sequenz muss für Lesen
bzw. Schreiben von Variablen unterschiedlich ausgeführt sein.
Es werden nur Einzelvariable bzw. ARRAYs direkt durch die Semaphortechnik unterstützt. Eine
Übertragung von Strukturen ist in Einzelaufträge zu zerteilen. Hierbei ist für die
Datenkonsistenz dieser Struktur mit einem, vom Anwender zu programmierenden,
Semaphormechanismus selber zu sorgen.
Wird IVAR2 = -1 gesetzt, erfolgt die Datenübertragung ohne Semaphor.
Datenaustausch mit Semaphor in PLC (Prinzipschaltung des FC21)
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=53351851147&Language=de-DE&TopicId=18114596619
11.07.2016
SINUMERIK 840D sl / 828D Grundfunktionen
FC 21: Transfer Datenaustausch PLC-NCK
Prinzipieller Aufbau im NCK:
Variablen-Wertebereiche
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=53351851147&Language=de-DE&TopicId=18114596619
11.07.2016
SINUMERIK 840D sl / 828D Grundfunktionen
FC 21: Transfer Datenaustausch PLC-NCK
Folgende Signale sind relevant:
Signal
Art
Typ
Enable
E
BOOL
Funct
E
BYTE
Wertebereich
Bemerkung
= FC 21 aktiv
3, 4
3: Daten lesen
4: Daten schreiben
S7Var
E
ANY
S7-Datenbereich,
außer Lokaldaten
Quell-/Ziel-Datenbereich
IVAR1
E
INT
0 ... 4095
Positionsoffset
IVAR2
E
INT
-1 ... 4095
Semaphor-Byte
Transfer ohne Semaphor: -1
Error
A
BOOL
ErrCode
A
INT
20:
Ausrichtungsfehler
21:
unerlaubter Positionsoffset
22:
unerlaubtes Semaphor-Byte
23:
keine neue Daten zu lesen
24:
kann keine Daten schreiben
25:
Lokaldaten bei S7Var
parametriert
Aufrufbeispiel:
1. Doppelwort vom Positionsoffset 4 mit Semaphor im Byte 0 lesen und im MD100 speichern:
Datentyp Dword (4 Byte)
Positionsoffset 4
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=53351851147&Language=de-DE&TopicId=18114596619
11.07.2016
SINUMERIK 840D sl / 828D Grundfunktionen
FC 21: Transfer Datenaustausch PLC-NCK
CALL
FC
21 (
Enable
:= M 10.0,
//wenn TRUE, FC 21 aktiv
Funct
:= B#16#3,
//Daten lesen
S7Var
:= P#M 100.0 DWORD 1,
IVAR1
:= 4,
IVAR2
:= 0,
Error
:= M 10.1,
ErrCode
:= MW12);
UN
M10.1;
R
M10.0;
//Enable so lange 1, bis Wert gelesen
Beispiele: NCK-Programmierung aus Synchronaktionen
Datentransfer von NC zu PLC mit Schreiben der Daten aus Synchronaktionen heraus,
Byte0 dient als Semaphore:
ID=1 WHENEVER $A_DBB[0] == 0 DO $A_DBR[4] = $AA_IM[X] $A_DBB[0] = 1
Datentransfer von PLC zu NC mit Lesen der Daten aus Synchronaktionen heraus,
Byte1 dient als Semaphore:
ID=2 WHENEVER $A_DBB[1] == 1 DO $R1 = $A_DBR[12] $A_DBB[1] = 0
2. Wort vom Positionsoffset 8 ohne Semaphor lesen und im MW 104 speichern:
CALL
FC
21 (
Enable
:=M 10.0,
//wenn TRUE, FC 21 aktiv
Funct
:=B#16#3,
//Daten lesen
S7Var
:=P#M 104.0 WORD 1,
IVAR1
:=8,
IVAR2
:=-1,
Error
:=M 10.1,
ErrCode
:=MW12);
Funktion 5: Steuersignale an Kanal aktualisieren
Diese Funktion dient einer schnellen Übertragung von wichtigen Steuersignalen, zwischen der
zyklischen Datenübertragung. Die Datenbytes 6 und 7 der Anwender-Nahtstelle DB21, ...
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=53351851147&Language=de-DE&TopicId=18114596619
11.07.2016
SINUMERIK 840D sl / 828D Grundfunktionen
FC 21: Transfer Datenaustausch PLC-NCK
werden an die NC übertragen. Der Kanal wird im Parameter "IVAR1" angegeben. Hiermit kann
z. B. die Vorschubsperre, Einlesesperre außerhalb des PLC Zyklus übertragen werden.
Folgende Signale sind relevant:
Signal
Art
Typ
Wertebereich
Bemerkung
Enable
E
BOOL
Funct
E
BYTE
5
5: Steuersignale an Kanal
S7Var
E
ANY
S7-Datenbereich
nicht genutzt
IVAR1
E
INT
1. MaxKanal
Kanal - Nummer
Error
A
BOOL
ErrCode
A
INT
1= FC 21 aktiv
1:
"Funct" ungültig
10:
Kanal - Nr. ungültig
Funktion 6: Steuersignale an Achsen aktualisieren
Die Funktion 6 dient einer schnellen Übertragung von wichtigen Steuersignalen, zwischen der
zyklischen Datenübertragung. Das Datenbyte 2 der Anwender-Nahtstelle DB31, ... wird an die
NC übertragen. Die Übertragung wird für alle aktivierten Achsen vorgenommen. Hiermit kann
z. B. die Reglerfreigabe außerhalb des PLC-Zyklus übertragen werden.
Folgende Signale sind relevant:
Signal
Art
Typ
Wertebereich
Bemerkung
Enable
E
BOOL
Funct
E
BYTE
6
6: Steuersignale an Achsen
S7Var
E
ANY
S7-Datenbereich
nicht genutzt
IVAR1
E
INT
0
Error
A
BOOL
ErrCode
A
INT
1= FC 21 aktiv
1: "Funct" ungültig
Funktion 7: Steuersignale an Achsen aktualisieren
Die Funktion 7 dient einer schnellen Übertragung von wichtigen Steuersignalen, zwischen der
zyklischen Datenübertragung. Das Datenbyte 4 der Anwender-Nahtstelle DB31, ... wird an die
NC übertragen. Die Übertragung wird für alle aktivierten Achsen vorgenommen. Hiermit kann
z. B. der Vorschubhalt außerhalb des PLC-Zyklus übertragen werden.
Folgende Signale sind relevant:
Signal
Art
Typ
Enable
E
BOOL
Wertebereich
Bemerkung
1= FC 21 aktiv
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=53351851147&Language=de-DE&TopicId=18114596619
11.07.2016
SINUMERIK 840D sl / 828D Grundfunktionen
FC 21: Transfer Datenaustausch PLC-NCK
Signal
Art
Typ
Wertebereich
Bemerkung
Funct
E
BYTE
7
7: Steuersignale an Achsen
S7Var
E
ANY
S7-Datenbereich
nicht genutzt
IVAR1
E
INT
0
Error
A
BOOL
ErrCode
A
INT
1: "Funct" ungültig
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=53351851147&Language=de-DE&TopicId=18114596619
11.07.2016