TNCcmd Kurzbeschreibung 
=======================

Version 4.5

Inhalt
======

1. Allgemein
2. TNCcmd Betriebsarten
3. Programmaufruf
4. TNCcmd Kommandos
5. Beispiele

6. Was ist neu


1. Allgemein
============

TNCcmd ist ein Kommandozeilentool fr die Dateibertragung
TNC <-> PC fr Windows 95, 98, Me sowie Windows NT, 2000 und XP
ber Ethernet (bei TNC 426/430 ab NC Software 280476 01) bzw. 
die serielle Schnittstelle.


Mit ? erhalten Sie im dialogorientierten Betrieb (s.u.) eine 
bersicht der enthaltenen Funktionen.
Mit ?? erhalten Sie eine bersicht der brigen, seltener
verwendeten Funktionen.
Mit HELP <Kommando> erhalten Sie detaillierte Information zum
Aufruf der Funktionen.

Beispiel:

TNC:\> HELP cd

CD <directory path>

Changes the active directory on the TNC
In local mode: Changes the active directory on PC


2. TNCcmd Betriebsarten
=======================

Es gibt 3 TNCcmd Betriebsarten:

- Kommandozeilenbetrieb
  Sie geben das Kommando und die Parameter komplett in der
  Kommandozeile ein. Am besten setzen Sie Befehl und Parameter
  dabei in Anfhrungszeichen.

- Dialogorientierter Betrieb (Command shell)
  Sie rufen TNCcmd auf (evtl. mit Schaltern)
  TNCcmd baut die Verbindung auf und wartet auf Kommandos, die
  Sie an einer Eingabeaufforderung eingeben knnen.
  Mit HELP <Kommando> erhalten Sie detaillierte Information 
  zu den einzelnen Funktionen.
  Notwendige Parameter werden je nach Kommando von TNCcmd
  abgefragt. Mit dem Kommando "EXIT" beenden Sie TNCcmd.

- Batchbetrieb
  Sie rufen TNCcmd unter Angabe einer Kommandodatei auf
  (@<Kommandodateiname>).
  TNCcmd arbeitet die darin enthaltenen Kommandos selbstttig
  ab.


3. Programmaufruf
=================

TNCCMD [Schalter] [Kommando [Parameter]|@Kommandodatei]

@Kommandodatei   : Kommandos werden aus Kommandodatei gelesen (Batchbetrieb)

Schalter:
-I<IP address|host> : Verbindung ber TCP/IP (Ethernet)
                      nur NC Software > 280476 03!

-P<port number>     : serielle Schnittstelle (default 1: COM1)
-B<baud rate>       : Baudrate (Standard: Automatisch)
-F<code number>     : "PLC:" Zugang (nur TNC 426/430) freigeben
-C "<caption>"      : Verbindungsbeschreibung (Fenstertitel)
-L<x>               : Fehlermeldungen in 0:    Englisch (default)
                                         1, D: Deutsch
                                         2, I: Italienisch
                                         3, E: Spanisch
                                         4:    Franzsisch
                                         5:    Schwedisch
                                         6:    Finnisch
                                         7:    Tschechisch
                                         8:    Polnisch
                                         9:    Dnisch
                                         10:   Ungarisch
                                         11:   Niederlndisch
-W               : Warten nach Fehler (Nur fr Batchbetrieb) 

4. TNCcmd Kommandos
===================

Im folgenden wird eine bersicht ber die mglichen Kommandos gegeben, 
die Ihnen mit TNCcmd zur Verfgung stehen.
Wenn Sie detaillierte Informationen zu einem Kommando bentigen,
nutzen Sie bitte das Kommando HELP.

Dateikommandos
--------------               
DEL        Datei lschen       
PUT        Datei(en) senden        
GET        Datei(en) empfangen     
RENAME     Datei umbenennen    
COPY       Datei kopieren
FILEINFO   Datei Information   
UPLOAD     Aufgelistete Dateien senden
UPDATE     Aufgelistete genderte Dateien senden
DOWNLOAD   Aufgelistete Dateien empfangen
PROTECT    Datei schreibschtzen
UNPROTECT  Schreibschutz entfernen

Backupkommandos
---------------
SCAN       Liste von Steuerungsdateien empfangen
BACKUP     Steuerungsdateien sichern (Backup)
RESTORE    Einzelne Dateien aus einem Backup wiederherstellen
EXTRACT    Einzelne Datei aus einem Backup extrahieren
SETUP      Liste von Steuerungsdateien wiederherstellen
SCANFILTER Einstellen von nicht zu bercksichtigenden Dateitypen

bertragungskontrolle
---------------------
BIN        Schaltet Binr-bertragungsmodus ein/aus
MERGE      Schaltet Tabellenmerge-bertragungsmodus ein/aus
BLOCKSIZE  Stellt die Blockgre ein
INSTALL    Installiert den HEIDENHAIN-Online-Binrwandler
STAT       bertragungsstatistik anzeigen 

Verzeichniskommandos
--------------------
DIR        Verzeichnis anzeigen
DRIVEINFO  Zeigt Informationen zum gerade aktuellen Laufwerk
CD         Verzeichnis wechseln
MKDIR      Verzeichnis erstellen
RMDIR      Verzeichnis entfernen

Verbindungskontrolle
--------------------
CONNECT    Verbindung herstellen (Wenn TNCcmd offline ist)
DISCONNECT Verbindung trennen (Wenn TNCcmd online ist)
ACCESS     Erweiterten Dateizugriff freigeben
LOCAL      Switch to local (PC) view
REMOTE     Switch to remote (TNC) view 

Sonstige Kommandos
------------------
SCREEN     Screendump empfangen
LOG        Logbuch empfangen
KEY        Tastensimulation
KEYSTR     Tastensimulation Zeichenfolge
MOUSE      Maussimulation
VER        Versionsnummern der Steuerung anzeigen
TIME       Datum/Uhrzeit der Steuerung anzeigen
SYNCTIME   Datum/Uhrzeit der Steuerung setzen
SERVER     Startet den Mini Fileserver (LSV-2)
RESET      Steuerung rcksetzen
REPLAY     Tasten-/Mausereignisse aus Log-Datei simulieren

MPGET      Maschinenparameter lesen
MPSET      Maschinenparameter schreiben

PSGET      Aktiven Preset empfangen
PSSET      Preset berechnen/schreiben

RUNINFO    Informationen ber Steuerungszustand empfangen:
           Achskonfiguration
           Achspositionen
           Betriebszustand
           Ausfhrungspunkt
           Override-Werte
           Programzustand
           Aktive Fehler
           Betriebszeiten

HELP       Hilfe zu einem bestimmten Kommando
EXIT       Beenden des Programms

Kommandodatei-Kommandos
-----------------------
*                            Kommentarzeile
:<label>                     Labelmarke
>, >>                        Ausgabeumleitung in Datei
@                            Unterdrckung der Anzeige des Kommandos
#include <file name>         Einbetten von weiteren Kommandodateien
PAUSE                        wartet auf Tastendruck
SLEEP                        wartet angegebene Anzahl von Sekunden
QUERY <string>               Fragt nach einer Antwort  
                             Die Antwort kann mit ON OUTPUT 1 ausgewertet 
                             werden
ECHO <string>                gibt Echo aus
ECHO OUTPUT <l>              zeigt gespeicherte Ausgabezeile an
ECHO.                        gibt Leerzeile aus 

ON <condition> <action>      Bedingter Sprung / Bedingtes Ende:
 <condition>:
  ALWAYS                     Immer
  ERROR <number>             Wenn Fehler <number> auftritt 
  ERROR ALWAYS               Wenn beliebiger Fehler auftritt
  VALUE <env> <comp> <val>   Wenn eine Umgebungsvariable einen bestimmten 
                             Zahlenwert hat
  VALUE <env> [<comp>] <str> Wenn eine Umgebungsvariable mit einem
                             String verglichen TRUE ergibt
  OUTPUT <l> <comp> <val>    Wenn Zahl in Ausgabezeile/Zeichenfolge mit einem
                             Wert verglichen TRUE ergibt
                             mgliche Vergleichsoperatoren 
  OUTPUT <l> [<comp>] <str>  Wenn Ausgabezeile/Zeichenfolge mit einem
                             String verglichen TRUE ergibt
  <l>:
          <line>             Ausgabezeile  
          <line>.<token>     Nummer der zusammenhngenden Zeichenfolge in
                             der Ausgabezeile
          <line>.<token>.<substr>
   <substr>:
            <count>          Anzahl der Zeichen in der Zeichenfolge
            l<left>          Ersten <left> Zeichen in der Zeichenfolge
            r<right>         letzten <right> Zeichen in der Zeichenfolge
            m<start>.<count> <count> Zeichen ab Zeichen <start> in der Zeichen-
                             folge

   Beispiele: 
   2.3.4     Erste 4 Zeichen der 3. Zeichenfolge in der 2. Ausgabezeile 
             (gleichbedeutend mit 2.3.l4)
   2.3.m4.5  5 Zeichen ab dem 4. Zeichen der 3. Zeichenfolge in der 
             2. Ausgabezeile 

  <comp>:
   Zahlenvergleich           <, >, =, ==, <=, >=, !=, <>
   Stringvergleich           EQ, NE, GT, LT, GE, LE (Standard: EQ)
                              
 <action>:
  GOTO <label>                Springt auf mit :<label> bezeichnete
                              Zeile
  EXIT                        Beendet sofort den Batch  

WAIT UNTIL <m> <comp> <val>: Warten bis ein PLC Speicher einen bestimmten Wert bekommt
                             Zulssig sind die M, B, W, D, I, O, T, C Speichertypen.
                             Zulssige Vergleichsoperatoren: =, <, >, <=, >=, <>

                             Beispiel: WAIT UNTIL B8934 > 100
    
WAIT TIMEOUT <time in sec> : Nach dem angegebenen Zeitintervall beendet sich das
                             Kommando WAIT UNTIL und RESET mit Fehlercode 2
                             Der Standardwert fr den WAIT-Timeout ist 0 (unendlich warten).

ENVGET                       Liest den Inhalt von Umgebungsvariablen in Ausgabepuffer 1
ENVSET                       Erzeugt/ndert Umgebungsvariablen

5. Beispiele
============

Beispiele Kommandozeilenaufrufe:
--------------------------------
  TNCCMD -p1 -b19200 GET TEST.A C:\TEMP\TEST.A
 
  TNCCMD -i160.1.247.22 "DELETE TNC:\TEST.H"

  TNCCMD -i180.0.232.12 "PUT TEST.BMP PLC:\TEMP\TEST.BMP /b"

Beispiel Dialogbetrieb:
-----------------------

  C:\JH\PROGRAMS> TNCCMD -i160.1.247.22
  TNCcmd - Version 4.00 - Connecting with IP address 160.1.247.23
  Connection established with TNC 430PA, Software ID 280476 03
  TNC:\> VER
  NC Model:             TNC 430PA
  NC Software Version:  280476 03
  PLC Software Version: PLC42630_5
  NC Options:
  TNC:\> get flansch.h flansch.h
  Source File Name: flansch.h
  Target File Name: flansch.h
  ........................................................................
  ........................................................................
  ........................................................................
  ....................
  TNC:\> exit

  C:\JH\PROGRAMS>



Beispiel Kommandodatei:
-----------------------
  * Loeschen von nicht mehr benoetigtem Verzeichnis bei TNC430
  * Spezialbehandlung ab NC Software 280474 08
  @ECHO OFF
  ECHO "Versionsnummern der Teststeuerung" > %Protokolldatei%
  VER >> %Protokolldatei%
  ON VALUE %REMOVE_TRASH_DIR% NE "Yes" GOTO END
  VER
  ON OUTPUT 2 EQ 280474 GOTO TNC280474
  ON ALWAYS GOTO OTHER
  :TNC280474
  VER
  ON OUTPUT 2.2 < 8 GOTO OTHER
  RMDIR TNC:\TRASH
  ON ALWAYS EXIT
  :OTHER
  RMDIR TNC:\OLD
  ON ERROR ALWAYS GOTO ERR
  ECHO "Alte Verzeichnisse geloescht"
  ECHO "Verzeichnisse geloescht" > %Protokolldatei%
  ON ALWAYS GOTO END
  :ERR
  ECHO "Konnte TNC:\OLD nicht loeschen"
  :END
  PAUSE
  


6. Was ist neu 
==============


Version 4.5
===========
Die Funktion DRIVEINFO zeigt ab NC Software iTNC 530 34049x 04 alle verfgbaren 
Laufwerke an

Die Funktion ACCESS untersttzt jetzt auch die Partition PLCE: 
(Verschlsselter PLC Bereich)

Neue Funktionen ENVGET und ENVSET

Output-Puffer wird nur noch vor Befehlen abgelscht, die selbst einen Output 
erzeugen

Die KEY und REPLAY Funktionen untersttzen die Simulation von Softkeys ber 
Identifier

Die KEY Funktion untersttzt die Eingabe von Tastennamen (KEY IDENT <name>)

Funktion RUNINFO: neuer Infotyp ToolInfo

Neue Funktionen GETVALUE, SETVALUE, SUBSCRIBE, OBSERVE

Neue Funktion EXTRACT

Funktion RUNINFO um Modus X (ToolInfo) erweitert. (Ab NC Software 34049x 04)

Funktion PUT mit Wildcards verbessert: 
- In Quelle/Ziel drfen jetzt auch Verzeichnisse vorkommen
- Als Ziel darf jetzt auch ein Verzeichnis angegeben werden

Funktion SETUP: Auch NC-Kern Konfigurationsdateien (*.CFG) werden 
jetzt vor dem automatischen Reset bertragen.

Version 4.4
===========

Funktion RMDIR um Modus S erweitert: 
Damit knnen Verzeichnisse einschlielich Dateien und Unterverzeichnissen 
gelscht werden.

Funktion RESTORE Modus C (Complete restore) erweitert: 
Wenn die Besttigungsanforderung "Alle Dateien werden ohne Nachfrage ersetzt"
mit P anstelle von Y beantwortet wird, werden auch schreibgeschtzte Dateien
ohne Nachfrage ersetzt.

Mit der Funktion SCANFILTER legen Sie Dateitypen fest, die in der mit der 
Funktion SCAN erzeugten Scanliste auskommentiert und damit nicht aktiv sind.

UPLOAD: Dateien werden nicht mehr gelscht, wenn Quelle und Ziel identisch sind.

Version 4.3
===========

Funktion ON um verschiedene Stringvergleiche erweitert
Funktion ON um ON VALUE erweitert 

Achtung nicht-kompatible nderung: 
ON OUTPUT verwendet nur die Textausgabe des Befehls unmittelbar vor 
des ON Befehls!

Funktion ECHO um ECHO OUTPUT erweitert

Funktion UPLOAD um /k Flag (Keep if exist) in der Dateiliste erweitert: 
Falls derartig markierte Dateien auf Steuerung bereits existieren, 
werden sie nicht mehr bertragen.

Funktion MOUSE neu

Funktion REPLAY neu

Version 4.2
===========

#include Anweisung zum Einbetten von weiteren Kommandodateien

Neue Funktion KEYSTR sendet Zeichen aus String als Tastensimulation 
zur Steuerung

Neue Funktion RUNINFO 

Neue Funktionen PSSET und PSGET fr Zugriff auf Preset-Eintrge

UPLOAD Funktion berprft/erzeugt Zielverzeichnis nur noch einmal 
und nicht bei jedem Dateieintrag

Pfadsyntax fr NC Kern basierte Steuerungen (%PLC%, %SYS%) wird auch 
untersttzt

Wartezeit bei SLEEP Funktion kann jetzt auch in 1/10 Sekunden genau 
angegeben werden (z.B. SLEEP 1.5)


Version 4.1
===========

Parameter knnen jetzt max. 260 Zeichen lang werden (bisher 80 Zeichen)

Befehl KEYSTR untersttzt

Abfrage Errorcode auch mit E<hexnummer> mglich; bisher nur 0x<hexnummer>
(Beispiel: ON ERROR E20001739 GOTO LBL1)

Neue SmarT.NC Tasten untersttzt (Tastenhilfe und Logbuch)

Die Funktionen GENSETUP (Generieren einer Backup-Datei) und SETUP bzw. 
RESTORE S untersttzen jetzt auch Dateien, die Leerzeichen im Namen enthalten


Version 4.0
===========

Funktion PUT verbessert: Es knnen Wildcard-Zeichen (*/?) verwendet werden.

Alternativ zur IP Adresse kann jetzt auch der Host-Name 
als Verbindungsparameter angegeben werden.

Ausgabeumleitung in Datei mit '>' bzw'>>' Zeichen:
'>': Datei neu anlegen, '>>': An bestehende Datei anhngen

Neue Funktion MPGET und MPSET: Maschinenparameter lesen/schreiben.
Neue Funktion RUNINFO: Programmlauf-Informationen abfragen.

Neue Batchfunktion SLEEP: Wartezeit bis zum naechsten Kommando.
Neue Batchfunktion WAIT UNTIL: Warten bis PLC Speicher sich ndert.

Hilfebersicht aufgeteilt (? / ??)

Version 3.8
===========

PROTECT/UNPROTECT Funktion neu

ON ERROR bezieht sich immer auf das letzte ausgefhrte Kommando.

Version 3.4
===========

Die neuen Logbuch Eintrge der iTNC530 werden untersttzt

bertragungsgeschwindigkeit optimiert

Version 3.3
===========

Mit Synctime knnen Sie Datum und Uhrzeit der TNC 426/430 auf den
Wert Ihres PC's setzen.

Del verbessert: Es kann bei Angabe mit Wildcard (*/?) jetzt auch ein Pfad 
angegeben werden.

GENSETUP Funktion: Es kann eine Backupdatei aus lokal auf dem PC vorhandenen 
Dateien fr Setupzwecke erstellt werden.

Version 3.0
=========== 

SETUP Funktion: Es wird jetzt eine Meldung augegeben, wenn das Setup 
fehlerfrei durchgefhrt werden konnte.

Es werden jetzt Umgebungsvariable in den Befehlsparametern untersttzt.

Beispiel: ACCESS P %JHPLCPASSWORD%

Version 2.9
=========== 

Wenn Verbindungsparameter angegeben sind und keine Verbindung zustande kommt,
wird das Programm mit ExitCode 5 verlassen. 
(Bei normalen Ausfhrungsfehlern wird der ExitCode 1 gesetzt; 
 bei Parameterfehlern der ExitCode 3).

Es gibt neue Backup-Modes, die eine Passwort-geschtzte Backupdatei erzeugen.

Es ist jetzt mglich mit dem Tagespasswort Zugriff auf die System-Partition zu 
erhalten.

Bei Setup's, die Daten auf die Systempartition bertragen, wird jetzt zuvor die
Berechtigung fr den Zugriff auf die PLC berprft.


Version 2.8
=========== 
Auch im Kommandozeilenbetrieb wird jetzt das Programm mit einer Fehlernummer
beendet, wenn keine Verbindung zustande kommt. Bisher schaltete
sich das Programm in den interaktiven Dialogmodus um.
Es ist jetzt mglich im Kommandozeilenbetrieb auch Befehle mit Schalterzeichen
aufzurufen. Dazu mssen die Befehle einschliesslich der Befehlsparameter in 
Anfhrungsstriche (") gesetzt werden. 
Beispiel: TNCcmd "PUT Test.h TNC:\TEST.H /c"

Version 2.4/2.5
=============== 
Im Batchbetrieb wird jetzt das Programm mit einer Fehlernummer
beendet, wenn keine Verbindung zustande kommt. Bisher schaltete
sich das Programm in den interaktiven Dialogmodus um.
In diesem Zusammenhang neu eingefhrt:
Schalter -W : Warten nach Fehler

Beim Reset Kommando kann optional eine Wartezeit angegeben werden,
ab wann eine Verbindungsaufnahme wieder versucht wird.


Version 2.2/2.3
===============

Access
------
Sie knnen jetzt auf den privaten TNC Bereich zugreifen (ab 280476-10), wenn Sie das
korrekte Passwort im ACCESS-Kommando eingeben. Wenn ein spezielles OEM-Password 
fr den Zugriff auf die Maschinendaten (PLC:) erforderlich ist, knnen Sie dieses 
ebenfalls im ACCESS-Kommando angeben.

Transfer
--------
Es wurde ein Protokollproblem Fehler beseitigt, das im Zusammenhang mit
der SETUP Funktion auftreten konnte

Version 2.1
===========
Ansicht wechseln
----------------
Sie knnen mit den Kommandos REMOTE und LOCAL zwischen der Ansicht 
des aktuellen TNC Verzeichnisses und des PC Verzeichnisses wechseln.
Die DIR und CD Kommandos wirken auf die jeweils aktive Ansicht.


Version 2.0
===========

TNCcmd starten
--------------
Wenn keine Verbindungsparameter beim Programmaufruf angegeben werden, 
startet TNCcmd zunchst im Offline-Modus. Mit dem Kommando CONNECT wird dann
interaktiv die Verbindung aufgebaut. Mit DISCONNECT kann eine bestehende 
Verbindung getrennt werden.

Scan/Backup/Restore/Setup
-------------------------
Diese Kommandos implementieren die Backup-Funktionen, die aus dem DOS Programm 
TNCBACK.EXE bekannt sind.

Upload/Update
-------------
Diese Kommandos ersetzen die allgemeine Dateibertragungsfunktion, die 
aus PLCdesign (DOS Programm PLCLSV2.EXE: bertragen von Dateien, die in
einer TPJ Datei aufgelistet sind) bekannt ist.

Screendump
----------
Mit dem Kommando Screen kann der TNC Bildschirm als BMP Datei oder direkt in
das Clipboard eingelesen werden.

Online Konvertierung
--------------------
Sie knnen NC Programme (.H und .I) whrend der bertragung zur Steuerung 
bereits auf dem PC binrwandeln lassen. 
Das erhht die bertragungsgeschwindigkeit erheblich.

Rufen Sie hierzu den PUT Befehl mit den Parametern fr die Quell- und Zieldatei
sowie dem Schalter /c auf.
Die Konvertierungsfunktion besorgt sich beim ersten Aufruf die bentigten 
Dateien direkt von der Steuerung und kopiert sie in ein Unterverzeichnis 
des Programmverzeichnisses (der Name wird aus der IP Adresse gebildet). 
Falls das Unterverzeichnis bereits besteht wird nur berprft, ob die 
Dateien bereits in der richtigen Version vorhanden sind.
(Ab NC Software 280476 04)

Verwenden Sie das Kommando INSTALL um die Konvertierungsfunktion explizit
zu installieren. 
Hierbei knnen Sie selbst angeben, in welches Verzeichnis die Konfigurationsdaten 
abgelegt werden sollen. Ab diesem Zeitpunkt ist die Online-Konvertierung fr die
bestehende Verbindung aktiv. Alle folgenden PUT Befehle (auch ohne /c Parameter)
werden mit Online-Konvertierung durchgefhrt.

Block Size
----------
Wenn die TNC eine Ethernet Karte mit dem aktuellsten Controllerchip (LAN91C96) 
hat, kann man mit BLOCKSIZE 4 eine noch etwas hhere bertragungsleistung 
herausholen. (Default ab 280476 04 : 3k Blocksize)

Parameter bergabekonvention
----------------------------
Parameter, die Leerzeichen enthalten, werden jetzt in doppelte 
Anfhrungszeichen eingeschlossen. 
Beispiel: ECHO "Fehler aufgetreten. Bitte kontaktieren Sie den Kundendienst". 



