Professional Documents
Culture Documents
"Measurement..."
"f01 ;Start measurement"
"f02 ;XY RUN"
"f93 ;Continuous XY RUN (ATTENTION: Never end !)"
"f05 Cu_b.spe ; Or absolute C:\\Programme\\XDAL_FTM2... Load Spectra and
calculate"
"f80 ;Open Shutter"
"f81 ;Close Shutter"
"f82 ;Fast measure"
"f83 ;Fast measure, export '#' or '!' after Meas."
"f84 ;Fast measure with step next XY-Pos."
"f86 0;0=Transmit Spectra complete, 1=Spectra only in ROI1..ROI2,
2=FastMeasure with Spectra complete"
"f88 ;Start primary beam"
"f89 ;Stop primary beam"
"f40 5 ;Change measuring time"
"f41 ;Ready for measuring ?"
"f69 ;Check XYZ-Axis security system"
"Product handling..."
"f10 17 ;Loads product No. ..."
"f11 Fischer 17 ;Load from dir. ... product No. ... or delete product if
para 3 = delete"
"f12 Zn/Fe ;Loads product ..."
"f13 Fischer Zn/Fe ;Load from dir. ... product ..."
"f14 10 20 DestDir;Copy product No. 10 to 20 in DestDir..".
"f15 9991 ;Loads Stabi Test product No. ..."
"f16 Stabi Test ;Loads Stabi Test product ..."
"f17 1 ;load other (compatible) application No. to product"
"f18 1 14.9 ;Set density (channel value)"
"f19 1 0 14.9 ;Set fixed concentration/thickness value (layer no,
concentration no (0 = thickness), value)"
"f60 ;Switch Measure Cal.Standard on"
"f61 ;Switch Measure Cal.Standard off"
"p84 Test1 20.5 2; Search best Class of Material in Directory with
Threshold and Coll. No. (ev. I_Anode, Meas.time, IntCorr, Spk-Filename)"
"p85 ClassDir1.Acl 20 ; Search best Application in Directory with
MeasTime "
"p18 Fischer ; Transmit product list from directory"
"p87 10 20 CopyLabel; Copy Application: No.Source No.Destin.
LabelDestin"
"f75 10 Fischer Destination Art Mode ; Transfer product No in
directory to(Art=1)/from(Art=2) destination-path, with Mode"
"Block handling..."
"f20 123 ;Set Order No.=..."
"f21 456 ;Set Lot No.= ..."
"f22 Maier ;Set Operator = ..."
"f23 987a;Set Label 1 = ..."
"f24 654x;Set Label 2 = ..."
"f25 ;Close block"
"f26 0;(Input Focus) Dialog input: Order No... Operator"
"f27 ;Write Order No. ... Lot No. to last bock"
"f28 Changed xx 1;Set Event = ... 2. Para = Colortyp 0..7"
"X-Y-stage..."
"f30 10.0 10.0 10.0 ;Move to XY(Z)-position (abs.), or use para = s for
saved pos with f34, if Para == -1 use actual position"
"f31 5.0 5.0 5.0 ;Move to XY(Z)-position (rel.)"
"f32 ;Set XY(Z)-offset"
"f29 ;Set XY(Z)-offset (2.datum)"
"f33 ;Clear XY(Z)-offset"
"f34 s; Save actual XYZ-Pos to WinFTM"
"f35 ;Clear all XY(Z) coordinates"
"f36 10.0 10.0 10.0 ;Append XY(Z) coordinates (abs.)"
"f37 5.0 5.0 5.0 ;Append XY(Z) coordinates (rel.)"
"f38 ;Test coordinates, no para = next pos., or use pos.no. or V1...V3"
"f39 ;Reset Test coordinates counter"
"f44 ;Test prev. coordinates"
"f45 Filename.xyz ;Load XY(Z) coordinates from file ... "
"p30 5 -5 0 ;Velocity XY(Z) "
"p31 ;Stop Velocity XY(Z) "
"p32 ;Set XY(Z)-coordinates relative"
"p33 ;Set XY(Z)-coordinates absolute"
"p34 1 50 100 60 350;Define search rect, 1=horizontal,
2=vertical, top,left,width,high"
"p35 1;Search bar 1=horizontal, 2=vertical, 0=close, no 2.para = move to
middle, or move to 2.para-pos."
"p36 ;Move tongue 0= in, 1=out"
"p37 ;XY(Z) Home position"
"p38 ;Enable Joystick"
"p39 ;Disable Joystick"
"p42 0;0 = No Autofocus, 1 = with Autofocus after move to position"
"p45 ;Check XYZ-Axis HOME executed (if no autom. home)"
only XDV-mue
"f68 100 3 50; Rastermode size, points, scalefactor, if size 0 then disable
rastermode"
"f78 V1; Save Videopos-X-RAY beam distance, use V1..V3 or Pos.No., -1
=delete file, -2=Driftvalue, -3=Disable, -4=Enable, -5=No Driftkorr."
only XDV-mue
"Accessories..."
"f42 Hello ;Create message ... dialog"
"f43 Message ;Create message window"
"f49 ;Close message window"
"f46 ;Start Autofocus"
"f47 1 0.9 ;Set Tol-Lim UGW channel value"
"f48 1 2.5 ;Set Tol-Lim OGW channel value"
"f50 ;Start Ref1. Measurement Ag"
"f52 ;Start Ref2. Measurement Cu"
"f51 ;Aktuelle Geraetestatus des XRAY abfragen"
"f53 ;RUN Normalize"
"f54 ;RUN Calibration"
"f94 0; Para = actual state of the sensor lines, export the new state of the
sensor lines, 0=no action, 1=set, 2=or , 3=and the next para"
"f95 ;Check the status of the Signal-Lamps"
No PC-Communication = 10
XYZ HOME missing = 15
Schwerwiegender Fehler aufgetreten (Secure System) > 0x00ffffff
100 or 1000 Winftm befindet sich in der Kalibrier Seite
200 or 2000 Winftm creats new Prodoct
300 or 3000 Winftm befindet sich in der XY-Programmier Seite
400 or 4000 Winftm creats new Application
500 or 5000 Winftm befindet sich in der Kundenprotokoll-Seite
600 or 6000 Winftm befindet sich in der 3-Dim-Seite
700 or 7000 Winftm befindet sich in der Spektrums-Seite
Wenn ein Dialog ge�ffnet ist, und WinFTM dadurch nicht bereit ist, wird jeweils 1
dazu addiert
"p25 ;Store current spectrum, no para = auto Filename, or use path for
manual Filename"
"p27 VideoXX.jpg ;Store current Video (path + Filename.jpg or .bmp)"
"f99 ;Versions Nr. anzeigen"
"p40 50;Set Illumination (0..100)"
or if LED illumination with banks
"p40 10 12 8 15;Set Illumination (0..15) i1, i2, i3,
Flags(IBBB=0..15)"
of if illumination with mask (XDV-mue wafer)
"p40 10 12 31;Set Illumination (0..15) i1, i2, Flags(00AM I0BB=0..63)"
Evaluation...
"p01 ;Open block report"
"p02 ;Print block report"
"p03 ;Save block report, no para = auto Filename, or use path for manual
Filename"
"p05 ;Close block report"
"p06 ;Print simple block report"
"p07 ;No para:Set start block No. to actual block No., 1= increment Start
block No. by 1"
- Messung starten
"f01"
Rueckmeldung "AKf01" + "OKf01" oder "ERf01"
Das Kommando f01 (Start Messung) mit Parameter -1, f�hrt eine
Messung ohne anschlie�ende Auswertung aus. Das gemessene Spektrum
kann dann mit dem p25 Task-Kommando abgespeichert werden (z.B.
f�r autom. Kalibrierung usw.)
f01 -1 = Messung ohne anschliessende Auswertung
(positive Werte definieren die Anzahl der Messungen, aber mit Auswertung).
- Dauerlauf stop
"f04"
Rueckmeldung "AKf04" + "OKf04"
- Blockabschluss
"f25"
Rueckmeldung "AKf25" + "OKf25" oder "ERf25" (wenn nicht moeglich)
- XY(Z)-Offset setzen
"f32"
Rueckmeldung "AKf32" + "OKf32" oder "ERf32"
- XY(Z)-Offset loeschen
"f33"
Rueckmeldung "AKf33" + "OKf33"
- Start Autofocus
"f46"
Rueckmeldung "AKf46" + "OKf46" oder "ERf46"
- Referenzmessung starten:
"f50"
Rueckmeldung "AKf50" +
"O1f50" wenn keine Referenzmessung notwendig war
"OKf50" oder "ERf50"
- Onlineexport einschalten
"f62"
Rueckmeldung "AKf62" + "OKf62" oder "ERf62"
- Onlineexport ausschalten
"f63"
Rueckmeldung "AKf63" + "OKf63" oder "ERf63"
- Alle Messwerte der Block Nr. ... exportieren (0 = der aktuelle (letzte) Block)
"p24 0"
Rueckmeldung "AKp24" + "OKp24" or "ERp24"
- Set Illumination:
if no LED Banks: Set Illumination (Para1 = 0..100)
"p40_50"
Rueckmeldung "AKp40" + "OKp40" or "ERp40"
if 2 LED Banks with Autofocus Mask: Set Illumination (0..15) i1, i2, Flags(00AM
I0BB=0..63) A= Autofocus M=Maske B=Bank
"p40_10_12_31"
Rueckmeldung "AKp40" + "OKp40" or "ERp40"
----------------------------------------------------------------------------------
Wenn WinFTM nicht im Messbild ist, oder wenn ein anderer Dialog
ge�ffnet ist, dann werden die Kommandos nicht bearbeitet und es
wird die Meldung "ERfxx" zur�ckgesendet.
Zyklisch (ca alle 500 ms) pr�ft WinFTM, ob auf dem Importpfad die
Flag-Datei "NET_CMD.RUN" existiert.Der Steuerrechner sollte diese Datei
erzeugen, nachdem er die Kommandodatei "NET_CMD.TXT" geschrieben hat.
WinFTM liest dann auf dem Importpfad die Datei "NET_CMD.TXT" ein.
Hier stehen die entsprechenden Kommandos "f01...f99" mit oder ohne
Parameter, die spezielle Funktionen in WinFTM aufrufen
(siehe Beschreibung der einzelnen Funktionen).
Wenn das Kommando fertig abgearbeitet ist, werden die Daten f�r die
R�ckmeldung ("OKfxx" oder "ERfxx oder weitere Parameter") von WinFTM
in die Datei "NET_RET.TXT" und dann die Flag-Datei "NET_CMD.END" auf
den Exportpfad geschrieben.
Der Steuerrechner sollte diese Datei ("NET_CMD.END" ) abfragen und
dann l�schen. Daran kann der Steuerrechner erkennen, wann das Kommando
von WinFTM abgearbeitet wurde und wann er auf die Datei "NET_RET.TXT"
zugreifen kann.
Auch beim Export �ber Files ist ein "Filehandshake" vorhanden.Wenn die
Exportdaten eines Messwertes oder mehrer Messwerte in die Exportdatei
�bertragen sind, wird anschliessend die Flag-Datei "NET_EXPT.END",
auf den Exportpfad geschrieben. Der Steuerrechner sollte zuerst die
Flag-Datei "NET_EXPT.END" auf Vorhandensein testen.Wenn diese vorhanden
ist, die Exportdatei lesen, und dann die Flag-Datei "NET_EXPT.END" l�schen.
---
Ab der Version 6.04 ist ein "erweiterter FileHandshake" bei den
Export-Einstellungen moeglich. Wenn dieser aktiviert ist, exportiert
WinFTM erst dann einen neuen Wert, wenn das Steuerprogramm die
Flagdatei "NET_CMD.END" geloescht hat.
Somit ist gewaehrleitet, dass WinFTM eine noch nicht abgeholte
Exportdatei nicht ueberschreibt. Wenn "NET_CMD.END" nach ca. 3 Sec.
immer noch nicht geloescht wurde, kommt eine MessageBox mit einem
entsprechenden Hinweis. Diese verschwindet aber wieder automatisch,
wenn die Falgdatei "NET_CMD.END" geloescht wurde.
127.0.0.1 localhost
- Abbruch-Kommando p91 ist jetzt auch bei Fernsteuerung �ber TCP-IP verf�gbar.
Dieses Kommando wird bei Fernsteuerung �ber TCP-IP nur dann unterst�tzt,
wenn in der Registry unter "Settings" ein DWORD "TCP_IP_STOP_CHECK" mit
dem Wert 1 eingetragen ist.
�nderungen am Wert (0 oder 1) an "TCP_IP_STOP_CHECK" sind erst nach einem
Neustart der WinFTM wirksam. Wenn "TCP_IP_STOP_CHECK" auf 1 gesetzt ist,
wird das p91 Abbruch Kommando sofort ausgef�hrt und das aktuelle
Kommando und eine eventuell laufende Task unterbrochen.
Nur das Abbruch-Kommando darf hier zus�tzlich gesendet werden.
Wenn "TCP_IP_STOP_CHECK" auf 0 gesetzt wird, werden weitere ankommende
Kommandos erst bearbeitet, wenn das vorhergehende Kommando abgearbeitet
wurde. Aber dann funktioniert das Abbruch-Kommando nicht.
@TL1.... Wenn @TL1 ...@TL24 in der Exportmaske gesetzt ist, wird nicht der
Toleranzgrenzwert exportiert, sondern eine Zahl, an der erkennbar ist, ob der
Messwert innerhalb oder ausserhalb der aktuellen Toleranzgrenzen ist.
--------------------------------------------------------------------------------
Wenn die Exportdatei die Erweiterung ".csv" aufweist, wird durch einen
Doppelklick auf diese Datei automatisch eine Excel-Tabelle mit den Werten
aus dieser Datei geoeffnet.
Tragen sie in der Exportmaske das Komma "," als Separator fuer die Spalten
ein (hinter jede Variable "," setzen), dann sind die Werte gleich in
aufeinanderfolgenden Spalten in der Tabelle eingetragen.
--------------------------------------------------------------------------------
Beispiel fuer ein Excel Macro, mit dem von Excel aus auf eine Exportdatei von
WinFTM zugegriffen wird.
Es wird geprueft, ob die FlagDatei "NET_EXPT.END" existiert.
Wenn ja, werden alle Daten in der Exportdatei "ToExcel1.txt" in die
aktuelle Exceltabelle eingelesen.
Ausserdem wird WinFTM waehrend der Bearbeitung ueber die
Flagdatei "NET_CLIENT.ACT" angehalten. Zum Schluss werden die Files
"NET_EXPT.END", ToExcel1.txt" und "NET_CLIENT.ACT" geloescht.
Das Makro kann in die Toolbar von Excel gelegt und von dort aus gestartet werden.
Option Explicit
Sub VonWinFTM()
'
' VonWinFTM Makro
' Makro am 27.08.2003 aufgezeichnet
' Exportwerte BlockNr, MesswertNr, Kanal1, Kanal2, Kanal3, X-Koord. Y-Koord. Datum,
Uhrzeit
' mit Anpassen->Befehle->Macros das Smyli Symbol auf die Toolbar ziehen, dann
rechte
' Maustaste auf das Symbol und "Macro zuweisen" anklicken, "VonWinFTM" auswaehlen
OK
FlagFileName = "L:\soft\Example\NET_EXPT.END"
FlagActFileName = "L:\soft\Example\NET_CLIENT.ACT"
ExportFileName = "L:\soft\Example\ToExcel1.txt"
i = 1
objBereich.Cells(i, 1) = "Block Nr."
objBereich.Cells(i, 2) = "Messwert Nr."
objBereich.Cells(i, 3) = "Ag"
objBereich.Cells(i, 4) = "Au"
objBereich.Cells(i, 5) = "Cu"
objBereich.Cells(i, 6) = "Pos. X"
objBereich.Cells(i, 7) = "Pos. Y"
objBereich.Cells(i, 8) = "Datum"
objBereich.Cells(i, 9) = "Uhrzeit"
i = i + 1
Do While theFile.AtEndOfStream <> True ' solange noch Zeilen im Exportfile
stehen
Zeile = theFile.Readline ' lese eine Exportzeile aus dem Exportfile
If Len(Zeile) > 4 Then
fso.DeleteFile (ExportFileName)
If (fso.FileExists(FlagFileName)) Then
fso.DeleteFile (FlagFileName)
fso.DeleteFile (FlagActFileName)
End If
Else
MsgBox "Keine Messwerte vorhanden !"
End If
End Sub
--------------------------------------------------------------------------------
1 1
2 ---------\/---------------- 2 TXD
3 ---------/\---------------- 3 RXD
4 -\ /- 4 Bruecke 4..6
5 --------------------------- 5 GND
6 -/ \- 6
7 -\ /- 7 Bruecke 7..8
8 -/ \- 8
9 9