Data Streaming (inkrementelles NC-Programm) (C19)

1.1 EinleitungPAGEREF _Toc304467784 \h2

1.2 Beschreibung: Data Streaming 3

1.2.1 Allgemein 3

1.2.2 Grundlegende Eigenschaften 6

1.2.3 Erweiterte Eigenschaften 7

1.2.3.1 Ausnahmesituationen, Fehlerfälle 7

1.2.3.2 NC-Kanal leeren (#FLUSH CONTINUE) 7

1.2.3.3 Unterprogrammaufruf 8

1.2.3.4 Schleifen, Verzweigungen 9

1.2.3.5 Kommentare 10

1.2.3.6 Bedingte Interpretierung 11

1.2.3.7 Satzvorlauf 12

1.2.3.8 Sprung zu Label 12

1.2.3.9 Werkzeugradiuskorrektur, Überschleifen, Splines 13

1.2.4 Vergleich Data Streaming versus Automatikprogrammbeauftragung 15

1.3 Parameter 16

1.3.1 Übersicht 16

1.3.2 Beschreibung 16

1.4 Beispiele 18

1.4.1 Test : Treiber für Datei in Datenstrom 18

1.5 Fehlermeldungen 18

Mehr:

button Einleitung

button Beschreibung: Data Streaming

button Parameter

button Beispiele

button Fehlermeldungen


Einleitung

Beauftragungsarten

Data Streaming

Bei der Kommandierung der NC-Bearbeitung kann zwischen unterschiedlichen Schnittstellen/ Funktionalitäten unterschieden werden.

1. Automatikprogramm: Starten eines vorab erstellten Programms

2. Handsatz: Vorgabe eines evtl. mehrzeiligen NC-Kommandos

3. Streaming: Online-Vorgabe von sequentiellen Teilkommandos

4. SPS: Beauftragung gemäß PLCopen über SPS-Schnittstelle

Viele Benutzerkommandos werden erst online, d.h. bei bereits in Bearbeitung befindlichem Werkstück, festgelegt. Benutzeraktionen werden interaktiv mit der Programmierumgebung und der SPS an die Steuerungen kommandiert. Dies betrifft u.a. :

· das Erstellen der Geometrie

· die Benutzerkommandos wie Vorwärts / Rückwärts fahren

· das Unterbrechen der Bearbeitung mit späterem Fortsetzen

Durch die inkrementelle Vorgabe der Programmteile kann der Anwender den Ablauf sehr zeitnah bestimmen und beeinflussen.


Beschreibung: Data Streaming

Mehr:

button Allgemein

button Grundlegende Eigenschaften

button Erweiterte Eigenschaften

button Vergleich Data Streaming versus Automatikprogrammbeauftragung


Allgemein

Data streaming

Bei der schrittweisen Vorgabe von Bewegungskommandos (Streaming) wird durch das CAD/CAM-System oder die SPS jeweils das nächste (oder auch mehrere) zu verfahrende Wegstück vorgegeben. Noch nicht vorgegebene Verfahrinformationen können so noch geändert werden.


Grundlegende Eigenschaften

Aktivierung

In der Kanalparameterliste kann ein Programmname angegeben werden, bei welchem, falls dieses Programm gestartet wird, auf den Streaming-Betrieb umgeschaltet wird.

D.h. wird dieses virtuelle Streaming-NC-Programm als Hauptprogramm (Automatikbetrieb) oder als globales Unterprogramm gestartet, so werden die Daten automatisch aus der Streaming-Schnittstelle gelesen.

Für den Anwender verhält sich dieses Programm dann so, als wäre es als reale Datei auf der Festplatte verfügbar.

Beenden

Der Streaming-Betrieb kann entsprechend durch ein Hauptprogrammende (M2/M30) oder Unterprogrammende (M17/M29) regulär beendet werden.

Nach einem regulären Streaming-Programmende bleibt der restliche Inhalt der Schnittstelle weiter bestehen, wobei bereits mit dem Programmende-Datenpaket gelesenen Daten nicht mehr berücksichtigt, also verworfen werden.

D.h. nach dem Schreiben eines Programmendes M2/M30/M17/M29 sollte zunächst gewartet werden, bis die Streamingschnittstelle komplett leer gelesen wurde.

Der in obiger Abbildung rot markierte Bereich eines Programmstarts wird nicht berücksichtigt.

Erst danach ist sichergestellt, dass das nächste Streaming-Programm korrekt von Anfang an abgearbeitet wird.

 | Beispiel : Aktivieren des Streamings beim Programmaufruf
Kanalparameterliste Einschalten des Streamings über globales Unterprogramm | # **************************************** # #TC_CHANNEL_DESC_1: SDA-Daten # # **************************************** streaming_prog_file streaming.nc N10 G01 X200 F1000 N20 X240 Y100 N30 X200 Y0 N40 L streaming.nc

Beschreiben,
zeitliche Sequenz

Der Datenstrom kann über ein entsprechendes Schnittstellenobjekt beschrieben werden, wobei ein Datenpaket eine oder mehrere NC-Zeilen umfassen kann.

Bei mehreren aufeinanderfolgenden Schreibzugriffen werden die einzelnen Datenpakete gemäß dem zeitlichen Zugriff eingereiht und stehen der CNC als mehrzeiliges Datenpaket zum Lesen bereit.

Bei der Entnahme werden die Datenpakete nicht mehr einzeln entnommen, sondern es werden alle zum Zeitpunkt des Lesezugriffs verfügbaren Daten als ein gemeinsames Datenpaket (Programmabschnitt) entnommen.

Jede NC-Zeile muss mit Wagenrücklauf (carriage-return , ASCII-Wert = 13) und Zeilenvorschub (line feed, ASCII-Wert = 10) abgeschlossen werden.

Unterbrechen

Wird der Datenstrom nicht weiter beschrieben, so führt dies zu einem temporären Unterbrechen der Bewegung. Die Bewegung kann nachfolgend durch Beschreiben des Datenstroms wieder fortgesetzt werden.

Abbrechen / Reset / Löschen

Der Streamingbetrieb wird bei einem NC-Reset ausgeschaltet. Zusätzlich wird der seitherige Inhalt der Streaming-Schnittstelle gelöscht.


Erweiterte Eigenschaften

Mehr:

button Ausnahmesituationen, Fehlerfälle

button NC-Kanal leeren (#FLUSH CONTINUE)

button Unterprogrammaufruf

button Schleifen, Verzweigungen

button Kommentare

button Bedingte Interpretierung

button Satzvorlauf

button Sprung zu Label

button Werkzeugradiuskorrektur, Überschleifen, Splines


Ausnahmesituationen, Fehlerfälle

NC-Zeile falsch abgeschlossen | Jede NC-Zeile muss mit Wagenrücklauf (carriage-return , ASCII-Wert = 13) und Zeilenvorschub (line feed, ASCII-Wert = 10) abgeschlossen werden. Ist dies nicht der Fall, so wird die Bearbeitung mit der Fehlermeldung 21476 Streaming-Datenpaket enthält keine korrekte Zeilenendemarke. abgebrochen. (P-ERR-21476)
Syntaxfehler | Sonstige syntaktische Fehler im Datenstrom werden wie ein vergleichbarer Fehler im NC-Programm gemeldet.


NC-Kanal leeren (#FLUSH CONTINUE)

Satzübergreifende Betrachtungen

NC-Kanal leeren

#FLUSH CONTINUE

Geschwindigkeit

Da bei der Betrachtung des Satzübergängen und bei speziellen NC-Funktionalitäten (z.B. Konturüberschleifen, Werkzeugradiuskorrektur, etc.) über mehrere Geometriesätze geplant wird und diese hierzu intern zunächst gespeichert und gemeinsam betrachtet werden müssen, werden die Sätze nach der Beauftragung zunächst nicht unmittelbar ausgeführt.

Die Anweisung #FLUSH CONTINUE bewirkt, dass alle momentan im NC-Kanal gespeicherten NC-Sätze ausgeführt werden, d.h. die Speicherwirkung des NC-Kanals kurzfristig aufgehoben wird. Der letzte vor dem #FLUSH CONTINUE programmierte Verfahrsatz wird damit sofort zur Ausgabe freigegeben.

Wenn im Look-Ahead bereits der nächste Verfahrsatz vorliegt, so wird ohne anzuhalten die Bewegung fortgesetzt. Liegt noch kein weiterer Verfahrsatz vor, so wird kurzfristig angehalten.

Durch das Kommando NC-Kanal leeren können satzübergreifende Funktionen (z.B. aktive Werkzeugradiuskorrektur) bei der Streamingvorgabe nicht mehr genutzt werden.

Programmierbeispiel : Mehrzeilige Streaming-Vorgabe mit #FLUSH

N10 G01 X200 F1000

N20 X240 Y100

N30 X200 Y0

N40 #FLUSH CONTINUE


Unterprogrammaufruf

L <subprogram>

Der Aufruf eines globalen Unterprogramms aus der inkrementellen Programmsequenz ist möglich.

· Aufruf Unterprogramm

· Verwaltung der Schachtelungen

· Rücksprung in Streaming (M17, M29)

· Verwaltung der Cache-Elemente (Streaming, Programm)

Programmierbeispiel: Streaming-Vorgabe mit Unterprogrammaufruf

N10 G01 X200 F1000

N20 X240 Y100

N30 X200 Y0

N40 L subprogram.nc


Schleifen, Verzweigungen

Kontrollstrukturen

Kontrollstrukturen mit wiederholter Positionierung des Dateizeigers in zurückliegender Richtung (Schleifen) sind nicht erlaubt. Solche Schleifen müssen in Streamingprogrammen aufgelöst und durch linearisierte NC-Satzsequenzen ersetzt werden. Die folgenden Kontrollstrukturen verursachen die Ausgabe einer Fehlermeldung und den Abbruch des Streamingbetriebs:

· $FOR - $ENDFOR

· $DO - $ENDDO

· $REPEAT - $UNTIL

· $WHILE - $ENDWHILE

Dagegen können Kontrollstrukturen, die nur eine sequentielle Programmverzweigung in Vorwärtsrichtung beinhalten, entsprechend voll auch über mehrere Datenpakete hinweg genutzt werden.

· $SWITCH - $CASE - $DEFAULT  $ENDSWITCH

· $IF - $ELSE - $ELSEIF - $ENDIF

 | Programmierbeispiel : Sprungverteiler in Vorwärtsrichtung
1. Datenpaket 2. Datenpaket | %switchstream N010 G00 X0 Y0 Z0 N020 P1=10 N030 N040 $SWITCH P1 N050 $CASE 1 N060 X10 N070 $BREAK N080 $CASE 5 N090 X50 N100 $BREAK N110 $CASE 9 N120 X90 N130 $BREAK N140 $CASE 10 N150 X100 N160 $ENDSWITCH : M30


Kommentare

Kommentare

Kommentarzeilen bzw. Kommentarblöcke im Streamingbetrieb sind erlaubt und können im vollem Umfang auch über mehrere Datenpakete hinweg verwendet werden.

· ( <Kommentartext in Klammern>)

· ( <Kommentartext nach Klammerauf bis Satzende>

· ; <Kommentartext nach Semikolon bis Satzende>

· Kommentarblöcke zwischen #COMMENT BEGIN / END

Programmierbeispiel : mehrzeiliger Kommentarblock

1. Datenpaket

2. Datenpaket

%commentstream

N010 G00 X0 Y0 Z0 (Move to start position)

N17 G53 G90 (Absolute dimension

N18 G00 X0

N19 G00 Y0

N20 G00 Z0

N21 G54 G90 ;Zero offsets

#COMMENT BEGIN

#HSC ON [OPMODE 2]

N22 ( ================= )

N23 (PROG NAME : Test.nc)

N24 (DATE : 24.02.2010 )

N25 (HISTORY :...)

N26 ( ================= )

N27 G00 X17.021 Z-90.0

N28 Y1.036

N29 S30000 M03

N30 G01 X17.021 Y6.036 F300

N31 G01 X17.021 Y8 .062 F4000

N32 G01 X14.4 Y9.216

#COMMENT END

N33 G01 X14.4 Y9.216 F30000

N34 G01 X14.174 Y9.313

N35 G01 X13.987 Y9.39

N36 G01 X13.845 Y9.442

N37 G01 X13.755 Y9.468

N38 G01 X13.718 Y9.468

N39 G01 X13.718 Y9.468

N40 G01 X13.718 Y9.464 Z-88.029

N41 G01 X13.718 Y9.456 Z-86.51

N42 G01 X13.718 Y9.443 Z-84.787

N43 G01 X13.718 Y9.425 Z-83.063

N44 G01 X13.718 Y9.403 Z-81.339

N45 G01 X13.718 Y9.379 Z-79.615

N46 G01 X13.718 Y9.354 Z-77.892

N47 G01 X13.718 Y9.329 Z-76.168

N48 G01 X13.718 Y9.306 Z-74.444

N49 G01 X13.718 Y9.286 Z-72.721

N50 G01 X13.718 Y9.271 Z-70.997

N51 G01 X13.718 Y9.262 Z-69.273

N52 G01 X13.718 Y9.261 Z-67.549

N53 G01 X13.718 Y9.261 Z-65.825

N54 G01 X13.718 Y9.261 Z-64.102

:

M30


Bedingte Interpretierung

Bedingte
Interpretierung

Die NC-Befehle für die bedingte Interpretierung erlauben ebenfalls eine sequentielle Programmverzweigung (in Vorwärtsrichtung) und können entsprechend voll auch über mehrere Datenpakete hinweg genutzt werden.

· #IF - #ELSE - #ENDIF

Programmierbeispiel : Kommentarblock

1. Datenpaket

2. Datenpaket

%bedintprstream

N0020 P1=10 F40000

#IF P1 == 20

N0050 G00 X0 Y0 Z0

N0060 G01 X17.021 Y6.036 F300

N0070 G01 X17.021 Y8.062 F4000

N0080 G01 X14.4 Y9.216

N0090 G01 X14.4 Y9.216 F30000

N0100 G01 X14.174 Y9.313

N0110 G01 X13.987 Y9.39

N0120 G01 X13.845 Y9.442

N0130 G01 X13.755 Y9.468

N0140 G01 X13.718 Y9.468

N0150 G01 X13.718 Y9.468

N0160 G01 X13.718 Y9.464 Z-88.029

:

N0210 G01 X13.718 Y9.379 Z-79.615

N0220 G01 X13.718 Y9.354 Z-77.892

N0230 G01 X13.718 Y9.329 Z-76.168

#ELSE

N0260 G01 X13.718 Y9.306 Z-74.444

N0270 G01 X13.718 Y9.286 Z-72.721

N0280 G01 X13.718 Y9.271 Z-70.997

N0290 G01 X13.718 Y9.262 Z-69.273

N0300 G01 X13.718 Y9.261 Z-67.549

N0310 G01 X13.718 Y9.261 Z-65.825

N0320 G01 X13.718 Y9.261 Z-64.102

N0330 G01 X13.718 Y9.261 Z-62.378

N0340 G01 X13.718 Y9.261 Z-60.654

N0350 G01 X13.718 Y9.261 Z-58.93

N0360 G01 X13.718 Y9.261 Z-57.206

N0370 G01 X13.718 Y9.261 Z-55.483

N0380 G01 X13.718 Y9.261 Z-53.759

:

N0560 G01 X13.718 Y9.269 Z-19.283

N0570 G01 X13.718 Y9.283 Z-17.559

N0580 G01 X13.718 Y9.303 Z-15.836

N0590 G01 X13.718 Y9.325 Z-14.112

N0600 G01 X13.718 Y9.429 Z6.57

#ENDIF

:

N0810 M30


Satzvorlauf

Satzvorlauf

Die Verwendung des Satzvorlaufs im Streaming auf die Fortsetzposition über die Angabe von

· Satznummer

· Satzzähler

· Fileoffset

zur Restaurierung interner Zustände (z.B. Kühlmittel ein, Spindel ein etc.) ist zulässig.

Grundsätzlich ist der Streamingbetrieb auch in Kombination mit dem Satzvorlauf [FCT-C6] möglich. Jedoch kann die Satzvorlauffunktion auch über das Streaming selbst abgehandelt werden, d.h. die überlesenen Sätze werden dann einfach beim Streaming ausgelassen.

Das Herstellen des internen Zustands nach der übersprungenen Programmsequenz und das Wiederanfahren an die Kontur muss dann ebenso im Streaming selbst abgehandelt werden.


Sprung zu Label

$GOTO

Bei einem Sprung über den $GOTO-Befehl darf nur in Vorwärtsrichtung gesprungen werden.

· Sprung innerhalb Datenpaket

· Sprung auf folgendes Datenpaket, Nachladen

Sprünge in Rückwärtsrichtung sind nicht erlaubt und führen zur Ausgabe einer Fehlermeldung und dem Abbruch des Streamingbetriebs.

 | Programmierbeispiel : Sprung in Vorwärtsrichtung
1. Datenpaket 2. Datenpaket 3. Datenpaket | N01 G01 X0 Y0 Z0 F1000 N10 G01 X20 N20 $GOTO N40 N30 G01 Z40 N40: G01 X40 N50 $GOTO N80 N60 G01 Y20 N70 G01 Y40 N80: G01 X-20 N90 G01 X-40 : M30


Werkzeugradiuskorrektur, Überschleifen, Splines

Satzübergreifende Funktionalitäten

Satzübergreifende Funktionen sind möglich falls kein implizites / explizites Leeren des Kanals (#FLUSH) bei aktiver Funktion kommandiert ist.

Programmierbeispiel

%streaming-spline

#SET SPLINETYPE BSPLINE

G151

G134 50

N05 #INFO [TO TRACE_ON]

#INFO [TO PRE_SEG_TRACE_ON S0=\test.txt]

N36335 X-1.5586 Y-16.3853 (M122

N36336 X-1.5666 Y-16.4702 Z2.9971

N36337 X-1.5749 Y-16.5569 Z2.9881

N36338 X-1.5832 Y-16.6448 Z2.9725

N36339 X-1.5917 Y-16.7332 Z2.9501

N36340 X-1.6 Y-16.8214 Z2.9207

N36341 X-1.6083 Y-16.9086 Z2.8841

N36342 X-1.6164 Y-16.9939 Z2.8403

N36343 X-1.6243 Y-17.0764 Z2.7895

N36344 X-1.6318 Y-17.1553 Z2.732

N36345 X-1.6389 Y-17.2298 Z2.6681

N36346 X-1.6455 Y-17.2992 Z2.5983

N36347 X-1.6515 Y-17.3629 Z2.5235

N36348 X-1.657 Y-17.4202 Z2.4442

N36349 X-1.6618 Y-17.4707 Z2.3613

N36350 X-1.6659 Y-17.5143 Z2.2757

N36351 X-1.6694 Y-17.5508 Z2.1881

N36352 X-1.6722 Y-17.5801 Z2.0995

N36353 X-1.6743 Y-17.6023 Z2.0107

N36354 X-1.6758 Y-17.6178 Z1.9224

N36355 X-1.6766 Y-17.6268 Z1.8353

.


Vergleich Data Streaming versus Automatikprogrammbeauftragung

Automatikprogramm

Im Automatikbetrieb wird das Programm durch den Anwender vorab generiert, wobei . wesentliche Abläufe (Geometrie) darin definiert werden. Nach dem Starten des NC-Programms darf / kann dieses nicht mehr verändert werden.

Über die Abfrage von Variablen/Parametern kann der Ablauf zum Zeitpunkt der Programmdekodierung noch durch die Oberfläche oder SPS beeinflusst werden (bedingte Verzweigungen).

Zum Zeitpunkt der Programmausführung werden die Achsen entsprechend der programmierten Geometrie bewegt und Informationen an die SPS gesendet bzw. die Bearbeitung mit der SPS synchronisiert.

Über bestimmte NC-Funktionen kann die SPS den Ablauf noch online beeinflussen:

· Geschwindigkeit : Feedhold, Override, reduzierte Geschwindigkeit (Safety)

· Unterbrechen / fortsetzen, abbrechen, rückwärts fahren

Funktion/ Aktion | Automatikprogramm | Data Streaming
Start / Initialisierung der NC-Zustandsdaten | Bei jedem Programmstart werden die Defaulteinstellungen des Kanals wieder hergestellt, d.h. Programme beeinflussen sich nicht übergreifend (Ausnahme: haltenden Parameter, etc.). | Nur bei Streamingbeginn, d.h. Zustandsdaten der NC bleiben über die komplette Streamingdauer gültig
Verhalten nach Fehler | NC-Reset mit Rücksetzen der NC-Zustandsdaten | NC-Reset mit Rücksetzen der NC-Zustandsdaten Ein NC-Reset ohne Rücksetzen der NC ist derzeit noch nicht möglich.
Datendurchsatz | Implizit durch Zugriff auf Dateisytem gegeben | Durch rechtzeitiges Füllen des Datenstroms gegeben, d.h. durch Verzögern des Füllens kann die Achsbewegung unterbrochen werden.
Geschwindigkeitsplanung, Look-Ahead (HSC) | Satzübergreifende Geschwindigkeitsplanung in vollem Umfang möglich | Planung eingeschränkt, evtl. nur über die vorgegebenen Sätze möglich
Änderungen des Ablaufs | Nach Programmstart nicht mehr möglich, sofern Verzweigungen (z.B. über externe Variablen) nicht schon im Programm berücksichtigt sind. | Noch nicht vorgegebene Programmteile können noch geändert werden.
Sprünge / Schleifen | Sprünge zu Programmarken möglich, Hochsprachenkonstrukte mit Schleifen beliebig möglich | Keine Rücksprungmöglichkeit, keine Schleifenprogrammierung möglich
Schneller Vorlauf | Über Satzvorlauf (Sprung zu Satznummer, Satzzähler, Dateiposition) -> Systemzustand bei Vorlaufposition wird automatisch hergestellt | Durch Programmiersystem mit entsprechendem Auslassen von Vorlaufbereichen -> Systemzustand bei Vorlaufposition muss manuell hergestellt werden.
Rückwärtsfahren | NC-Funktionalität, jederzeit durch SPS-Kommando möglich | Über NC-Funktionalität oder Vorgabe eines invertierten Datenstroms
Automatische Geometrieänderungen an den Satzübergängen (Phasen, Radien, Überschleifen, Splines, etc.) | Über Standard NC-Funktionen möglich | Durch CAD/CAM-System, keine Betrachtung von mehreren Wegstücken in der NC, da Ausführung immer unmittelbar freigegeben wird. Ohne implizites #FLUSH auch durch NC möglich
Werkzeug-radiuskorrektur | Standard NC-Funktion | Durch CAD/CAM-System durchzuführen, ohne implizites #FLUSH auch durch NC möglich


Parameter

Mehr:

button Übersicht

button Beschreibung


Übersicht

Konstante | Beschreibung
MAX_PROGRAM_STREAM_SIZE | 4094 : Maximale Größe des Datenstroms in Bytes
MAX_PROGRAM_STREAM_INPUT_SIZE | 992 : Maximale Größe eines Datenpakets in Bytes, welches pro Schreibzugriff übertragen wird.

ID | Parameter | Beschreibung
P-CHAN-00158 | streaming_prog_file | Name der Datei (Hauptprogramm / globales Unterprogramm), bei dessen Start automatisch in den Streamingbetrieb gewechselt wird.
COM-Interface | mc_program_stream_w | ADS-COM-Objekt, über welches der Datenstrom beschrieben werden kann.


Beschreibung

P-CHAN-00158 | Programmname für automatische Aktivierung des Streamings
Parameter | streaming_prog_file
Beschreibung | Wird dieses Programm als Haupt- oder Unterprogramm geöffnet, so werden die ASCII-Daten nicht vom Dateisystem eingelesen, sondern von der Datenstromschnittstelle (Streaming) angefordert. Der Dateneingang wird somit transparent auf das Streaminginterface umgelenkt. Ist dieser Programmname nicht belegt, so kann die Streamingfunktionalität nicht aktiviert werden.
Datentyp | String
Datenbereich | <Leerstring> ≤ P-CHAN-00158 ≤ Stringlänge ist applikationsabhängig String(83) (s. Konstante LAENGE_NAME)
Dimension | translatorisch: | rotatorisch:
Standardwert | <Leerstring> : Streamingfunktionalität abgeschaltet
Anmerkungen | -

Datenstrom für inkrementelle Programmbeauftragung

Beschreibung

Über dieses COM-Schnittstellenobjekt kann der Datenstrom mit inkrementellen NC-Kommandos beschrieben werden.

Es muss immer eine komplette NC-Zeile geschrieben werden. Wobei in einem Schreibzugriff auch mehrere NC-Zeilen gemeinsam geschrieben werden können.

Jede NC-Zeile muss mit Wagenrücklauf (carriage-return , ASCII-Wert = 13) und Zeilenvorschub (line feed, ASCII-Wert = 10) abgeschlossen werden.

Typ

String, die Stringlänge ist applikationsabhängig
STRING(992), siehe MAX_PROGRAM_STREAM_INPUT_SIZE

Wertebereich

ASCII Character

HMI Elemente

mc_program_stream_w

Zugriff

Read, write

IndexOffsetADS

0x90

(IndexGroupADS = 0x000201<ii> mit <ii> = Kanal)


Beispiele

Mehr:

button Test : Treiber für Datei in Datenstrom


Test : Treiber für Datei in Datenstrom

C-Beispiel

#define ISGPORT_COMTASK 553

#define IDS_OFFSET_COM_DATA_STREAM 0x90

idx_group = 0x20100 + channel_nr;

idx_offset = IDS_OFFSET_COM_DATA_STREAM;

BOOLEAN write_line_to_stream( char * p_source, unsigned length)

{

int result;

result = AdsSyncWriteReq( p_amsAddr,

idx_group,

idx_offset,

length,

p_source);

if (0 != result)

return FALSE;

return TRUE;

}

while (NULL != fgets( inLine, MAX_LINE_LEN, pInFile))

{

unsigned long length = strlen( inLine);

// Attention : ensure line closed with "carriage return" & "line feed" !

if (inLine[length-1] == '\n')

{

inLine[length-1] = '\r';

inLine[length++] = '\n';

}

f_ret = write_line_to_stream( inLine, length);

while (FALSE == f_ret)

{

Sleep(500);

f_ret = write_line_to_stream( inLine, length);

printf(".");

}

inLine[length] = 0; // just for correct print

printf("%d/%d) %s", length, c_written_sum, inLine);

c_written_sum += length;

}


Fehlermeldungen

Datentransport über COM-Objekt

Über das COM-Objekt "mc_program_stream_w" werden Daten an die CNC geschrieben. Ist nicht mehr genügend Speicher vorhanden, um den Stream auch in der Steuerung zu speichern, wird die Meldung 11012  "Fehler beim Schreiben des Objektes" (Warnung) ausgegeben. Gleichzeitig wird auch das Schreiben des Objektes über ADS negativ quittiert.

Das Objekt muss in einem der nächsten Zyklen erneut geschrieben werden.

Diese Meldung wird bei Verwendung der Streaming-Schnittstelle immer wieder auftreten, wenn viele Daten in kurzen Zeitabständen geschrieben werden.

Die Meldung ist bei korrekter Realisierung des Client unkritisch und ist deswegen als Warnung eingestuft.