SoftPlc7-Daten

| ALPHA-VISION® SoftPlc7

# Funktionsumfang

Das Programm SoftPlc7 ist in der Lage, eine originale Simatic S7-300 oder wahlweise auch Simatic S7-400 auf einem Rechner unter Windows zu emulieren. Mit im Lieferumfang enthaltene DLLs stellen Funktionen zur Verfügung, die die System-Bausteine ersetzen können. Eine spezielle C++ - Hochsprachen-Schnittstelle bietet die Möglichkeit, alle originalen STEP7-Bausteine durch DLL-Funktionen zu ersetzen.
Das Ansprechen der Peripherie oder auch von Datenbausteinen wird über denselben Mechanismus realisiert.
Am Zyklusanfang oder -ende können über eine Plugin-Schnittstelle zyklisch eigene DLL-Funktionen ausgeführt werden.
Details sind den entsprechenden Kapiteln zu entnehmen.

# Systemvoraussetzungen

Das Programm wurde unter Windows NT und Windows 2000 entwickelt und getestet.
Für die Anwendung werden folgende Systemeigenschaften empfohlen:

- CPU-Taktfrequenz >= 1,0 GHz
- mind. 256 MB RAM
- Windows NT oder Windows 2000
- mind. 1 COM-Port
- Integration in einem LAN

# Performance

Im Schnitt übertrifft die SoftPlc7 mit einem konvertierten STEP7-Programm eine originale PLC deutlich an Geschwindigkeit. Eine konsequente Nutzung der Hochsprachen-Schnittstelle zur Ersetzung verschiedener Bausteine kann die Effizienz sogar noch steigern.
Bei der Debug-Schnittstelle wird eine Download-Geschwindigkeit von vier mittelgroßen Bausteinen pro Sekunde erreicht.
Je nach Größe der STEP7-Programme können sogar mehrere SoftPlc7-Instanzen auf einem einzigen Rechner emuliert werden.
Der integrierte Debugger erlaubt es, ohne weitere Installationen schnell einen Einblick in den Programmablauf zu gewinnen.
Eine Zeitmessung hat ergeben, dass beispielsweise der Assembler-Befehl "L MD 0" auf einem Rechner mit der Taktfrequenz von 1,8 GHz in einer Zeitspanne von 4 ns emuliert wird; eine originale Simatic S7-400 benötigt zu dessen Ausführung 160 ns.

# Kompatibilität

Bei der Implementation wurde besonders Wert darauf gelegt, dass die SoftPlc7 möglichst kompatibel zur originalen SIMATIC-S7 ist. So kann etwa eingestellt werden, ob eine S7-300 oder S7-400 emuliert werden soll.
Es werden auch nach Möglichkeit auch Fehler in der SIMATIC nachgebildet, so z.B. ein Fehler bei den 16-Bit-Vergleichsoperationen (==I, <>I, ...): Ein Vergleich mit ==I der Werte DW#16#0000F002 und DW#16#00027002 oder auch anderer Wertepaare liefert fälschlicherweise das Statuswort 0_0000_0111.

# Tests

Um ein Höchstmaß an Fehlerfreiheit zu gewährleisten, werden vor Auslieferung einer jeden Release eine Reihe von Unittests und Integrationstests durchgeführt. In diesen wird die Simulationsweise elementarer Assembleranweisungen und die Implementation von Erweiterungen auf ihre Richtigkeit hin überprüft.