MC-Basic:IDNVALUEARRAY
This function works only for IDNs containing more than one Long Type value in array method .
It fills the preliminary declared Long Type Array by IDN data, and returns the number of IDN values introduced into the array.
Short form
IVALA
Syntax
IdnValueArray (<drive address>, <IDN>, <element>, <long_type_array_name>,{<ring>}, {<connection>} )
Availability
Since Version 4.7.12 for SERCOS III
Type
<returned value>: Long (number of IDN values introduced into the array ).
Range
<drive address>: 1 to 254
<IDN>: 1 to 65536
<element>: 1 to 7
<ring>:1
<connection>:0 to 2 for normal systems (0 = chose automatically, 1 = first AT connection, 2 = first MDT connection)
Scope
Configuration, Task or Terminal
Limitations
- Read only
- Executed only in SERCOS communication phases 2, 3 and 4.
- The IDN must be defined
- The Long Type Array should be declared preliminary, its size should be enough to contain the IDN data.
- Not supported in EtherCAT system
Examples
? IDNVALUEARRAY (<drive>, <idn>, <element>, <long_type_array_name>)
? IDNVALUEARRAY (<drive>, <idn>, <element>, <long_type_array_name>, <ring>)
? IDNVALUEARRY (<drive>, <idn>, <element>, <long_type_array_name>, , <connection>) --> Translator note: Ring number is zero
? IDNVALUEARRAY (<drive>, <idn>, <element>, <long_type_array_name>, <ring>, <connection>)
Example For Bosch Rexroth drive :
-->?istr(Ax1.dadd,0x8000+1120,7)
1 3 6 5
-->common shared VelFilterType[10] as long
-->? IDNVALUEARRAY (Ax1.dadd, 0x8000+1120, 7, VelFilterType)
4
-->?VelFilterType[1]
1
-->?VelFilterType[2]
3
-->?VelFilterType[3]
6
-->?VelFilterType[4]
5