# VB Befehle für Win CE MP277, Ping über Script



## sd1 (9 Mai 2011)

Hallo,

suche eine Liste über VB Befehle für Win CE. (MP277, WinCCflex)
Hab schon Tage damit verbracht. Bin aber nicht fündig geworden. 

1. Ist es möglich über ein script einen ping auszuführen (ob Datenserver erreichbar)?

2. Will meine Rezeptdatensätze auf einem Server sichern, dies funktioniert soweit auch über Datensatzexport. Dieser muss aber manuell vom Bediener durchgeführt werden (Export Button)
    Kann dies auch automatisiert durchgeführt werden, wenn ein neuer Datensatz angelegt wird bzw. wenn ein Datensatz geändert wird?
    Gibt es eine Funktion die das überwacht oder ein Statuswort in dem das steht?

Danke schon mal
sd


----------



## PN/DP (10 Mai 2011)

sd1 schrieb:


> suche eine Liste über VB Befehle für Win CE. (MP277, WinCCflex)
> Hab schon Tage damit verbracht. Bin aber nicht fündig geworden.


Dann hast Du wohl an den falschen Stellen gesucht oder nicht die richtigen Suchbegriffe benutzt?
Wenn Du hier im Forum in die Abteilung FAQ schaust, dann findest Du gleich als drittes Thema dieses:
Protool/WinCCflex Daten lesen / schreiben mit VB-Script
Am Ende des ersten Beitrags ist eine VBScript_WinCE.pdf angehängt, die die für WinCE abweichenden Datei-Befehle erklärt.
Alle anderen VB-Befehle sind in der WinCCflex-Hilfe erklärt. Da gibt es auch ein VB-Sprachverzeichnis.



sd1 schrieb:


> 1. Ist es möglich über ein script einen ping auszuführen (ob Datenserver erreichbar)?


Im zweiten Beitrag der genannten FAQ findest Du eine Function FolderExist(Path), mit der man prüfen kann, ob ein Netzwerk-Pfad (freigegebener Ordner) erreichbar ist. Das Prüfen der Erreichbarkeit eines Netzwerkpfades kann aber mehrere Sekunden dauern.

Wenn es denn unbedingt Ping sein muß:
Ping prüft nicht, ob ein Datenserver zum Datenemfpang bereit ist, sondern testet nur, ob im Netzwerk ein Gerät mit einer bestimmten IP-Adresse (oder Rechnername) vorhanden ist.
Ping kann man z.B. so ausführen lassen: 

```
Dim cmdline
cmdline = "/c ping 192.168.0.1 > \TEMP\pingresult.txt"
StartProgram "CMD.EXE", cmdline, hmiShowMinimized, hmiYes
```
Es gibt da aber noch einige Probleme:
- Ping dauert ziemlich lange! Welche Ping-Kommandozeilen-Optionen Siemens im WinCE noch drin gelassen hat, müsstest Du selber ausprobieren
- an das Ergebnis des Ping-Befehls kommt man nur ran, wenn man die Ausgaben in eine Datei umlenkt und dann die Datei ausliest. Das ist aber viel kniffliger zu bewerkstelligen als es klingt.
- auf das Beenden des CMD muß in einer zeitüberwachten Schleife gewartet werden
- man sieht die Ausführung des Ping-Befehls im CMD auf dem Bildschirm. CMD kann imho in WinCE nicht minimiert gestartet werden.



sd1 schrieb:


> 2. Will meine Rezeptdatensätze auf einem Server sichern, dies funktioniert soweit auch über Datensatzexport. Dieser muss aber manuell vom Bediener durchgeführt werden (Export Button)
> Kann dies auch automatisiert durchgeführt werden, wenn ein neuer Datensatz angelegt wird bzw. wenn ein Datensatz geändert wird?
> Gibt es eine Funktion die das überwacht oder ein Statuswort in dem das steht?


Kann man bestimmt in gewissen Grenzen. Fertige Funktionen, die entsprechende Ereignisse auslösen, gibt es meines Wissens aber nicht.
Du könntest an eine Speichern-Schaltfläche Dein Export-Skript anbinden. Wenn aber die Rezepturanzeige ohne Speichern verlassen wird und dann die Nachfrage nach dem Speichern doch noch mit ja beantwortet wird, dann erhält man kein Ereignis.
Relativ sicher kann man das automatische Speichern/Exportieren wohl nur mit einer eigenen Benutzerführung gestalten.

Möglicherweise kennen andere Rezeptur-Experten bessere Möglichkeiten.

Harald


----------



## sd1 (10 Mai 2011)

Danke für die schnelle Antwort, Harald.

werd die Abfrage (Ordner vorhanden) machen, damit ist eine bessere Auswertung möglich als auf den ping request zu warten. Zumal ich das in einem Script gut auswerten und dann auch visualisieren kann.

zum Rezept export, muss ich wohl manuell machen!
oder weiß jemand was besseres?

sd


----------

