SoftPlc7.ini

| ALPHA-VISION® SoftPlc7

# SoftPlc7.ini

Durch die Kommandozeilenoption `/ini=...` kann eine Datei mit anderem Namen angegeben werden.

Sektion/ Eintrag | Beschreibung | Default
--- | --- | ---
[HLL-Functions]

Programmbaustein

Syntax:

    (FB|FC|SFB|SFC)num=dll, function

Beispiel:

    FC13=MyDll, MyFunction

Der angegebene Programmbaustein (im Beispiel FC 13) wird durch die Funktion (MyFunction aus der DLL MyDll.dll) ersetzt.

Peripherieein-/ausgabe

Syntax:

    PYstart,len[,part]=dll, function

Fehlt der Parameter part, wird dieser auf den Wert 0 gesetzt.

Beispiel:

    PY0,256=MyDll, MyFunction

Die angegebene Funktion (MyFunction aus der DLL MyDll.dll) versorgt die PE/PA-Bytes 0 bis 255.

Durch diesen Eintrag wird eine Zuordnung von Peripherie-Bytes zu einem Teilprozessabbild gemacht. Die Aktualisierung der Teilprozessabbilder wird entweder systemseitig nach den OB-Zyklen oder explizit über die SFC 26 und SFC 27 angestoßen. Bei einer solchen Aktualisierung wird immer zuerst geschrieben und anschließend gelesen. Vor dem Start des jeweils ersten Zyklus werden keine Werte geschrieben, sondern nur gelesen.

Datenbausteine oder Peripherieein-/ausgabe

Syntax:

    DBnum,start,len[,(R|W|RW) [,part] ]=dll, function

Beispiel:

    DB100,10,40,RW=MyDll, MyFunction

Wird als DB-Nummer die 0 angegeben, bezieht sich der Eintrag auf die Peripherie. Der Parameter part hat den Defaultwert 0 und wird wie oben verwendet (siehe PY=...).

Die angegebene Funktion (MyFunction aus der DLL MyDll.dll) versorgt vor Zyklusbeginn des OB 1 die Bytes 10 bis 49 des Datenbausteins 100, lesend und schreibend. Defaultwert für den vierten Parameter ist RW.

Dieser Eintrag sorgt dafür, daß vor jedem Zyklusbeginn eines OB mit passendem Teilprozessabbild die angegebene Funktion zum Schreiben (bei W oder RW) und anschließend zum Lesen (bei R oder RW) aufgerufen wird. Wird als Parameter part der Wert 0 oder kein Wert eingetragen, findet die Aktualisierung nur vor dem OB 1-Zyklus statt. Vor dem Start des jeweils ersten Zyklus werden keine Werte geschrieben, sondern nur gelesen.

OPC-Server

Syntax:

    PYstart-dummy,0=SoftPlc7OPCServerDll,DoDataExchangeUDP

Beispiel:

    PY0,0=SoftPlc7OPCServerDll,DoDataExchangeUDP

Dieser Eintrag sorgt dafür, daß in jedem TimeSlice die angegebene Funktion aufgerufen wird, über die die SoftPlc7 mit dem SoftPlc7OPCServer kommuniziert.

[OBx]
CycleTime | Die Zykluszeit des OB in Millisekunden. | OB1: 500 > OB30-38: entsprechend der S7-Beschreibung. > OB100,101,102: 500
Priority | Die Priorität. | Siehe S7-Beschreibung
InitLStackBlockCount | Max. Verschachtelungstiefe des Lokaldatenstacks. | 10
InitLStackBlockSize | Max. Größe des Lokaldatenbereichs für einen FB oder FC - Aufruf. | 1024
ToggleByte | Definiert ein Merkerbyte, das vor jedem Aufruf des OB invertiert wird, sofern das Byte im Bereich 0..16383 liegt. | -1
PeripheryPart | Legt ein Teilprozessabbild fest, das systemseitig über diesen OB x aktualisiert wird. Mögliche Werte: 0 .. 15. Der Wert 0 steht für das Teilprozessabbild des OB 1, für andere OB x bedeutet der Wert, dass kein Teilprozessabbild projektiert ist. | 0
FreezeBlock | Legt fest, welcher Baustein im FREEZE-Zustand an Stelle des OB aufgerufen werden soll. Erlaubt sind FB oder FC ohne Eingangs- und Ausgangsparameter. Format: FreezeBlock=(FB|FC)<Nummer>, z.B. FreezeBlock=FB100 Wird ein solcher Ersatzbaustein angegeben, so wird auch das Teilprozessabbild weiterhin aktualisiert. | ""
[OB1]
CycleMonitoring | Die Zeit in Millisekunden für die Zykluszeitüberwachung (noch nicht implementiert). | 10000
[Snapshot]

IgnoreDB

Gibt an, welche Datenbausteine von Snapshots nicht tangiert werden:
1. Solche DBs werden nicht im Snapshot gespeichert.
2. Beim Einspielen eines Snapshot werden solche DBs nicht überschrieben oder gelöscht.
Format: IgnoreDB=<Nummern>(,<Nummern>)* oder leer, wobei Nummern=(Zahl | ZahlVon-ZahlBis).
Es lassen sich also Intervalle angeben, z.B. IgnoreDB=1,3-7,10,100-200

""

[Run]
Project | Das Verzeichnis der SoftPlc7-Dateien des zuletzt geladenen (Menüpunkt `Datei/Öffnen`) SoftPlc7-Projekts. | ""
[Convert]
From | Das Verzeichnis der Offline-Bausteine des zuletzt konvertierten STEP7-Programms. | ""
To | Das Verzeichnis der SoftPlc7-Dateien des zuletzt konvertierten STEP7-Programms. | ""
[StartUp]
Instance | Die Nummer der SoftPlc7-Instanz (wichtig, wenn mehrere Instanzen auf einem Rechner laufen). | 1
Akkus | Die Anzahl der AKKU-Register in der S7. | 4
HSystem | Gibt an, ob die CPU ein H-System ist, z.B. CPU-Typ 417 H. Mögliche Werte: 0 (kein H-System), 1 (H-System). | 0
MLFB | MLFB der CPU; String aus 19 Zeichen, Z.B. für CPU 314: "6ES7 314-0AE01-0AB0". oder für CPU 417 H: "6ES7 417-4HL01-0AB0". | SOFTPLC7
Type | Baugruppentypkennung der CPU für interne Zwecke (Angabe dezimal). Z.B. für CPU 417 H: 129 | 130
VersionFirmware | Ausgabestand der CPU bzw. des Betriebssystems (Angabe dezimal). Z.B. für CPU 417 H: 31 | 5
VersionPG | Ausgabestand des PG-Beschreibungsfiles (Angabe dezimal). | 0
SLevel | Gibt die parametrierte Schutzstufe an. Mögliche Werte: 0 (keine), 1-3. | 0
ManualStartupType | Gibt an, welche Anlaufart bei manuellem Start defaultmäßig aufgeführt werden soll (änderbar über die Menüfunktionen "Extras->Neustartmodus (OB100)" usw.). Mögliche Werte: 0 (Neustart, OB100), 1 (Wiederanlauf, OB101), 2 (Kaltstart, OB102) | 1
TimeSliceMilliSec | Definiert einen Takt in Millisekunden, in dem OB-Zyklen angestoßen werden. Der Wert sollte ein Teiler aller OB-Zykluszeiten sein. | 100

ClockByte

Die angegebene Nummer entspricht einer Adresse im Merker-Baustein (16 K Adressbereich) und definiert einen sog. Taktmerker. Den einzelnen Bits sind Zykluszeiten zugeordnet (Vielfache von 100 ms), nach deren Ablauf diese invertiert werden. Das Überschreiben dieses Bytes vom S7-Programm aus hat keinen Einfluss auf die nächsten zyklisch errechneten Werte.
Ist keine gültige Adresse angegeben, so wird kein Taktmerker versorgt.

-1

VelocityFactor | Definiert einen Geschwindigkeitsfaktor. Alle Zeiten innerhalb der SoftPlc7 werden so gedehnt oder gestaucht, dass die Maschine scheinbar in Zeitlupe (0,0 < Faktor < 1,0) oder im Zeitraffer (Faktor > 1,0) abläuft. Aus Performance-Gründen wird meist nur die Anwendung der Zeitlupe sinnvoll sein. Dezimaltrennzeichen ist das Komma. | 1,0
ControlOBInterruption | Gibt an, ob OB-Unterbrechungen gemäß ihrer Prioritätsklassen gesteuert werden soll. 0: OBs dürfen auch höherpriore OBs unterbrechen. Es können auch mehrmalige Unterbrechungen stattfinden. 1: OBs dürfen nur von gleich- oder höherprioren OBs unterbrochen werden. hochfrequente OBs werden je Timeslice mehrmals hintereinander aufgerufen. | 1
S7Clock | Gibt an, welches Zeitsystem bei der Initialisierung der internen Uhr zugrunde gelegt wird. LT: local time (LT) des Rechners sonst: universal time (UT) des Rechners | UT
RepeatAllPeripheryErrors | Gibt an, ob als Meldeverfahren für die systemseitige Prozessabbildaktualisierung das wiederholte Melden aller Peripheriezugriffsfehler gewählt wird. | 1
RefreshPeripheryPart0 | Gibt an, ob das Teilprozessabbild 0 des OB 1 systemseitig aktualisiert werden soll. | 1
[Memory]
WorkRAM | Größe des flüchtigen Arbeitsspeichers (Default 8 MB). | 8388608
WorkFEPROM | Größe des nicht flüchtigen Arbeitsspeichers (Default 8 MB). | 8388608
LoadInternRAM | Größe des internen Ladespeichers (nur flüchtiger Speicher, Default 8 MB). | 8388608
LoadExternRAM | Größe des externen Ladespeichers (nur flüchtiger Speicher, Default 8 MB). | 8388608
[Aci]
DoFile | Die DO-Datei zum Anmelden bei der ACI. |
[PG]:
Interface | Gibt an, nach welchem Protokoll mit dem Simatic Manager kommuniziert werden soll. 0: PC Adapter (MPI) 1: TCP/IP | 0
ComPort | Gibt die Nummer des COM-Ports an, der beim Aufnehmen der Verbindung geöffnet wird. Eine Verbindung wird über den Dialog "PG-Schnittstelle einstellen" aufgebaut. Ein Wert zwischen 1 und 4 entspricht der Nummer des COM-Ports, bei allen anderen Werten wird keine Verbindung aufgenommen. | 0
Baudrate | Gibt die Baudrate der seriellen Verbindung zum PG an. Mögliche Werte sind 19200 und 38400. | 19200
WaitAfterRecvMPI | Gibt an, wieviele Millisekunden bei der seriellen Kommunikation die State Machine der Schicht 1 nach Empfangen eines Schicht-2-Statements warten soll. Dieser Wert sollte auf 100 oder 150 gesetzt werden, wenn die Verbindung aus nicht ersichtlichen Gründen abgebrochen wird. | 50
WaitAfterRecvTCP | Gibt an, wieviele Millisekunden bei der Kommunikation nach dem TCP/IP-Protokoll die State Machine der Schicht 1 zwischen zwei Telegrammen vom PG warten soll. Dieser Wert sollte auf 100 gesetzt werden, wenn der Rechner stark ausgelastet ist oder mehrere SoftPlc7 gleichzeitig debuggt werden. Bei nur einer SoftPlc7 und niedriger Rechnerauslastung kann 0 ms eingestellt werden. | 40
IP | Gibt an, unter welcher IP-Adresse die SoftPlc7 als Server bereitstehen soll. Ein leerer Eintrag oder "0.0.0.0" ist auch möglich, dann erfolgt keine Einschränkung auf eine spezielle IP-Adresse (nur sinnvoll, wenn nicht mehrere SoftPlc7 gleichzeitig debuggt werden sollen). | 0.0.0.0
[CPUSync]
LocalAddr | Lokale IP-Adresse, für die die Funktion "bind" aufgerufen wird. | 0.0.0.0
IP | IP-Adresse, an die eine Master-CPU Uhrzeittelegramme schickt, um andere Slave-CPUs zu synchronisieren. Beispiel: IP=224.0.1.0 | 224.0.1.0
Port | Port, auf dem eine Master-CPU Uhrzeittelegramme schickt, um andere CPUs zu synchronisieren. | 2000
Type | Legt fest, ob die CPU selbst andere CPUs synchronisiert oder von einer anderen CPU synchronisiert wird. M oder m: Die CPU ist Master und schickt ihre Uhrzeit. S oder s: Die CPU ist Slave und empfängt Uhrzeittelegramme. sonst: Die CPU wird weder durch eine andere CPU synchronisiert noch synchronisiert sie andere CPUs. | N
Cycle | Zeitintervall in Millisekunden, nach dem zyklisch Uhrzeittelegramme verschickt werden (nur für Master-CPU). | 1000
[Watch]
AllCycles | Bestimmt, wie oft die Debug-Werte abgefragt werden sollen. 0: Nur am Ende des OB1-Zyklus 1: Nach jedem OB-Zyklus | 0
[Retentive]
Flags | Gibt die Anzahl der remanenten Merkerbytes an (beginnend mit MB 0). | 16
Timers | Gibt die Anzahl der remanenten Timer an (beginnend mit T 0). | 0
Counters | Gibt die Anzahl der remanenten Zähler an (beginnend mit Z 0). | 8
[OPC]
UpdateTimeFactor | Gibt an, wie oft die Werte aus der CPU aktualisiert werden, bezogen auf den TimeSlice. Der Wert 5 etwa bedeutet bei einem TimeSlice von 200 ms eine Refreshrate von 1/s. | 1
LocalAddr | Definiert eine lokale IP-Adresse, mit der die Funktion "bind" aufgerufen wird. | 0.0.0.0
RemoteAddr | Definiert eine Ziel-IP-Adresse für die UDP-Pakete an den SoftPlc7OPCServer. Die IP-Adresse 255.255.255.255 (Default) steht für BROADCAST und ist in einem LAN verwendbar. Die IP-Adresse 127.0.0.1 steht für LOCALHOST und muss eingestellt werden, wenn das System sich nicht in einem LAN befindet. | 255.255.255.255
[Freeze]

SysTime

Gibt an, ob im Zustand FREEZE die Systemzeit (abzufragen durch die SFC 64 "TIME_TCK") angehalten werden soll und beim Einspielen eines Snapshots überschrieben werden soll.
Mögliche Werte:
0: Die Systemzeit läuft im FREEZE weiter, die Snapshot-Systemzeit wird ignoriert.
1: Die Systemzeit wird im FREEZE angehalten, die Snapshot-Systemzeit wird übernommen.

1

[Exit]
SavePersistent | Gibt an, ob bei Programmbeendigung persistente Daten im Persistent-Ordner gespeichert werden sollen. 0: Keine Daten werden gespeichert. 1: Datenbausteine, Merker, Timer und Zähler werden gespeichert. | 1