Konfiguration/Programmierung
3.6 Applikativer Zugriff über logische Adresse
Das Synchronisations-Bit SYNC befindet sich im Bit 8 des Modul-Statusworts:
Bit
Funktion
"-" bedeutet reserviert, darf nicht verwendet werden
Synchronisations-Bit (Bit 8):
SYNC = 0 →
SYNC = 1 →
Wenn Sie die Synchronisation über E/A-Zugriffe überwachen wollen, empfehlen wir Ihnen,
eine Input-WORD-Variable auf das Modul-Statuswort der TM1x mit "Ersatzwert=0" zu
projektieren oder den Zugriff mittels der gesicherten Systemfunktion getSafeValue
durchzuführen.
Falls Sie mit einer SIMOTION SCOUT Version < 4.1 SP2 arbeiten, dürfen Sie über das
Anwenderprogramm nur über eine WORD-Variable auf das Statuswort zugreifen (die
einzelnen Bits müssen dann durch Maskierung isoliert werden).
Sobald das SYNC-Bit = 1 ist, ist das Modul synchronisiert und Zugriffe über E/A Direktzugriffe
bzw. Technologieobjekte sind möglich.
3.6.9.2
Überwachung der Synchronisation mit PeripheralFaultTask
Beim Übergang von ANLAUF nach RUN sind alle Terminal Modules TM1x im Zustand
"NOT_SYNCHRONIZED".
● Mit Erreichen der Synchronisation wird die PeripheralFaultTask mit der Interrupt-ID
"_SC_IO_MODULE_SYNCHRONIZED" (=214) aufgerufen.
● Bei Ausfall der Synchronisation wird die PeripheralFaultTask mit der Interrupt-ID
"_SC_IO_MODULE_NOT_SYNCHRONIZED" (=215) aufgerufen.
Beispiel
Zur Synchronisierung der Anwendertask wird in der StartUpTask eine Anwendervariable
TM_SYNC auf FALSE gesetzt und in der PeripheralFaultTask bei der Interrupt-ID =
SC_IO_MODULE_SYNCHRONIZED auf TRUE gesetzt. In der Anwendertask wird vor dem
(ersten) Direktzugriff der Zustand von TM_SYNC abgefragt.
In der PeripheralFaultTask wird bei jedem Aufruf die folgende Task-Startinfo mitgeliefert:
DINT
DINT
DINT
DWORD
68
15
14
13
12
11
-
-
-
-
-
Modul ist nicht synchronisiert
Modul ist synchronisiert
TSI#logBaseAdrIn
TSI#logBaseAdrOut
TSI#logDiagAdr
TSI#details
10
9
8
7
-
ERR SYNC
-
Terminal Modules TM15 / TM17 High Feature
6
5
4
3
2
-
-
-
-
FPGA
// nur gueltig wenn ungleich
_SC_INVALID_ADDRESS
// nur gueltig wenn ungleich
_SC_INVALID_ADDRESS
// nur gültig, wenn ungleich
_SC_INVALID_ADDRESS
// auf 0 gesetzt
Inbetriebnahmehandbuch, 01/2015
1
0
PS
MF