L_MC1P - MC_Touchprobe: dig. Eingang vom EPM-S202 als TP (TouchProbeSource=3) funktioniert nur mit globaler Variablen (keine Änderung vorgesehen)

Behoben ab:
Bibliothek:  L_MC1P_MotionControlBasic  (FAST Motion)    (keine Änderung vorgesehen)
 
Verhalten der neuen Version:
Eine Behebung der beschriebenen Funktionseinschränkung ist nicht vorgesehen, da sie bei Verwendung von globalen Variablen nicht zum Tragen kommt, wie unter 'kurzfristige Maßnahmen' beschrieben.
 
 
Beschreibung des Verhaltens:
Der 'MC_Touchprobe' erkennt eine steigende Flanke am einfachen Digitaleingang nicht als TP-Ereignis. 
 
Unter welchen Bedingungen tritt das Verhalten auf?
Tritt nur in dem speziellen Fall auf, dass unter 'Module I/O Mapping' keine globale Variable verwendet wird, um den TP-Eingang an den FB 'MC_Touchprobe' zu übergeben, sondern nur eine lokal deklarierte Variable des IO-Modul EPM-S202, wie in folgendem Beispiel:
- Variable 'xDI1' deklariert im I/O Mapping des EPM-S202 auf Adresse %IX8.0
- Übergabe an den MC_Touchprobe:  TriggerRef.ExternalTPDigIn := ADR( xDI1 );
==> Touch-Probe wird nicht erkannt.
 
Betroffene Produkte:
Bibliothek:  L_MC1P_MotionControlBasic  (FAST Motion)
 
Kurzfristige Maßnahmen:
Eine globale Variable zur Übergabe des digitalen Einganges an den FB 'MC_Touchprobe' verwenden:
1. Globale Variable in globaler Variablenliste deklarieren:  GVL_HardwareSignals.g_xDI1
2. unter EPM_S202 / 'Module I/O Mapping' die globale Variable 'GVL_HardwareSignals.g_xDI1' eintragen (angezeigte Adresse ist durchgestrichen).  
3. Übergabe an MC_Touchprobe: TriggerRef.ExternalTPDigIn := ADR(GVL_HardwareSignals.g_xDI1);
==> ok, Touchprobe wird erkannt.
  
Bewertung/Empfehlungen:
Üblicherweise werden globale Variablen zur Übergabe von Prozessdaten verwendet (zu empfehlen).
In der praktischen Anwendung wird daher die hier beschriebene Funktionseinschränkung nicht relevant sein.
 

URL zur Verlinkung dieses AKB-Artikels: https://www.lenze.com/de-de/go/akb/201700080/0/
Kontaktformular