A4: Digital and analog NCK I/Os for SINUMERIK 840D sl
1.3 Access via PROFIBUS
Extended Functions
64 Function Manual, 03/2013, 6FC5397-1BP40-3BA1
Programming
Program code Comment
$A_DPB_OUT[5,6]=128 ; Write (8 bit) to RangeIndex=5, RangeOffset=6
$A_DPW_OUT[5,5]='B0110' ; Write (16 bit) to RangeIndex=5, RangeOffset=5
; Little Endian format
; Notice: RangeData of byte 6 are overwritten
$A_DPSD_OUT[5,3]=’8FHex’ ; Write (32 bit) to RangeIndex=5, RangeOffset=3
; Little Endian format
; Notice: RangeData of byte 5.6 are overwritten
$AC_MARKER[0]=5
$AC_MARKER[1]=3
$A_DPSD_OUT[$AC_MARKER[0],$AC_MARKER[1]]=’8FHex’
; Write (32 bit) to RangeIndex=5, RangeOffset=3
; Little Endian format
; indirect programming
R1=$A_DPB_OUT[5,6] ; Read (8 bit) to RangeIndex=5, RangeOffset=6
; Little Endian format
; Result: 0xFF
ID=1 WHENEVER TRUE DO $A_DPB_OUT[5,0]=123
; Cyclic output (per IPO cycle)
$A_DPB_OUT[5.255]=128 ; Alarm 17030 because the RangeOffset is invalid.
$A_DPB_OUT[6.10]=128 ; Alarm 17020 because this range of the part program
; cannot be written.
$A_DPB_OUT[7.10]=128 ; Alarm 17020 because this range is not defined.
$A_DPB_OUT[16.6]=128 ; Alarm 17020 because RangeIndex >= max. available
; number of ranges.