L_MC1P - MC_Touchprobe: Using a digital input of EPM-S202 as TP (TouchProbeSource=3) only works with global variables (no correction intended)

Corrected from:
Library:  L_MC1P_MotionControlBasic  (FAST Motion)    (no correction intended)
 
Response of the new version:
Since the function restriction does not occur when using global variables (see "Short-term measures'), there is no correction planned.
 
 
What happens?
The 'MC_Touchprobe' does not identify a rising edge at a simple digital input as a TP event. 
 
When does this behaviour occur?
The behaviour only occurs if no global variable is used under 'Module I/O Mapping' to transfer the TP input to the 'MC_Touchprobe' FB, but a locally declared variable of the EPM-S202 I/O module, as shown in the following example:
- Variable 'xDI1' declared in the I/O mapping of EPM-S202 at address %IX8.0
- Transfer to the MC_Touchprobe FB:  TriggerRef.ExternalTPDigIn := ADR( xDI1 );
==> Touch probe is not detected.
 
Which products are affected?
Library:  L_MC1P_MotionControlBasic  (FAST Motion)

Short-term measures:
Use a global variable to transfer the digital input to the 'MC_Touchprobe' FB:
1. Declare the global variable in a global variable list:  GVL_HardwareSignals.g_xDI1
2. Enter the global variable 'GVL_HardwareSignals.g_xDI1' under EPM_S202 / 'Module I/O Mapping' (the indicated address is crossed out).  
3. Transfer to MC_Touchprobe FB: TriggerRef.ExternalTPDigIn := ADR(GVL_HardwareSignals.g_xDI1);
==> OK, touch probe is detected.
  
Evaluation/recommendations:
Usually, global variables are used to transfer process data (recommended).
For this reason, the described function restriction will not be relevant in practical applications.
 

URL for linking this AKB article: https://www.lenze.com/en-de/go/akb/201700080/1/
Contact form