RobotStudio event

ReadCfgData Guidance

Options
In this facility there are a number of different mechanical unit configurations for ABB systems. The goal for deployment is RAPID that can be dropped and read calibration offsets regardless of the number of axes, anywhere from 1 to 18 additional axes WITHOUT a single TCP manipulator in the lot. The naming conventions are wildly varied.

Grabbing the calibration data and writing it to a file server with all the particulars has been accomplished. The next step is trying to avoid custom RAPID for the different configurations.  

The spot where I am stuck is trying to fill an array with only the names of what is needed from a TOPIC. InstancePath problems regardless of variations tried are never-ending.

WHILE list_index<>END_OF_LIST DO
            !
            ReadCfgData "WHAT_GOES","_HERE",tempstring,\ListNo:=list_index;
            IF list_index<>END_OF_LIST strMCnames{list_index}:=tempstring;
        ENDWHILE

In essence "WHAT_GOES", "_HERE" is what I am looking to replace with Item_1, Item_2. etc.

SINGLE:

      -name "Item_1" -use_single_type "XXX" -use_joint "YYY"

      -name "Item_2" -use_single_type "XXX" -use_joint "YYY"

      -name "Item_3" -use_single_type "XXX" -use_joint "YYY"
...
      -name "Item_last" -use_single_type "XXX" -use_joint "YYY"


Any ideas are most welcome.
Tagged:

Comments

  • lemster68
    Options
    ReadCfgData "/MOC/SINGLE","name",tempstring,\ListNo:=list_index;
    Lee Justice
  • Micky
    Micky ✭✭✭
    Options
    Hello,

    it is not possible to get a list of instances without using an Attribute and an AttributeValue in the path.
    Only attributes that contain a string as an attribute value can be used. Numeric or Boolean attributes cannot be searched for.

    The following statement searches for all singles that are of type "XXX":
    ReadCfgData "/MOC/SINGLE/use_single_type/XXX","name",tempstring,\ListNo:=list_index;



  • SomeTekk
    SomeTekk
    edited September 2019
    Options
    Micky said:
    Hello,

    it is not possible to get a list of instances without using an Attribute and an AttributeValue in the path.
    Only attributes that contain a string as an attribute value can be used. Numeric or Boolean attributes cannot be searched for.

    The following statement searches for all singles that are of type "XXX":
    ReadCfgData "/MOC/SINGLE/use_single_type/XXX","name",tempstring,\ListNo:=list_index;



    Thank you for the information, Micky.

    As I suspected creating universal RAPID for this purpose will not be a simple, quick process. 
  • lemster68
    Options
    Well, you could read the serial number and use TEST CASE to decide what needs to be read for that system.
    Lee Justice
  • SomeTekk
    Options
    Thanks Micky, Lemster - I think I have a working solution!