Jump to content
OMRON Forums

lovu

Members
  • Posts

    32
  • Joined

  • Last visited

Posts posted by lovu

  1. Oh I see, #define Slave_0_6040_0_Controlword is repeated, even though it's using different ECAT registers. Could you compare the values in ECAT[0].IO[0].Data, ECAT[0].IO[4135].Data and ECAT[0].IO[4136].Data? Like stick them all in the watch window.

     

    Yes, They are:

    ECAT[0].IO[0].Data
    ECAT[0].IO[0].Data=15
    ECAT[0].IO[4135].Data
    ECAT[0].IO[4135].Data=5175
    ECAT[0].IO[4136].Data
    ECAT[0].IO[4136].Data=5175
    ECAT[0].IO[4144].Data
    ECAT[0].IO[4144].Data=5175
    ECAT[0].IO[4152].Data
    ECAT[0].IO[4152].Data=5175
    

     

    I just set ECAT[0].Enable=1 and do "#1j/" "#1j=0" in terminal.

     

    It's strange these do not appear on my friend's IDE, but do I...

  2. Once I comment it up, I don't think there are any repeats. It's just that each slave has 2 sections, one for inputs one for outputs.

     

    The last number on each line seems to only increase.

     

    //Slave 0 Ouput
    #define Slave_0_6040_0_Controlword ECAT[0].IO[0].Data
    #define Slave_0_607A_0_Targetposition ECAT[0].IO[1].Data
    #define Slave_0_6081_0_Profilevelocity ECAT[0].IO[2].Data
    #define Slave_0_6083_0_Profileaccelerati ECAT[0].IO[3].Data
    #define Slave_0_6084_0_Profiledecelerati ECAT[0].IO[4].Data
    #define Slave_0_60FF_0_Targetvelocity ECAT[0].IO[5].Data
    #define Slave_0_6071_0_Targettorque ECAT[0].IO[6].Data
    #define Slave_0_60B8_0_Touchprobefunctio ECAT[0].IO[7].Data
    #define Slave_0_60FE_1_Digitaloutputs ECAT[0].IO[8].Data
    
    //Slave 1 Ouput
    #define Slave_1_6040_0_Controlword ECAT[0].IO[9].Data
    #define Slave_1_607A_0_Targetposition ECAT[0].IO[10].Data
    #define Slave_1_6081_0_Profilevelocity ECAT[0].IO[11].Data
    #define Slave_1_6083_0_Profileaccelerati ECAT[0].IO[12].Data
    #define Slave_1_6084_0_Profiledecelerati ECAT[0].IO[13].Data
    #define Slave_1_60FF_0_Targetvelocity ECAT[0].IO[14].Data
    #define Slave_1_6071_0_Targettorque ECAT[0].IO[15].Data
    #define Slave_1_60B8_0_Touchprobefunctio ECAT[0].IO[16].Data
    #define Slave_1_60FE_1_Digitaloutputs ECAT[0].IO[17].Data
    
    //Slave 2 Ouput
    #define Slave_2_6040_0_Controlword ECAT[0].IO[18].Data
    #define Slave_2_607A_0_Targetposition ECAT[0].IO[19].Data
    #define Slave_2_6081_0_Profilevelocity ECAT[0].IO[20].Data
    #define Slave_2_6083_0_Profileaccelerati ECAT[0].IO[21].Data
    #define Slave_2_6084_0_Profiledecelerati ECAT[0].IO[22].Data
    #define Slave_2_60FF_0_Targetvelocity ECAT[0].IO[23].Data
    #define Slave_2_6071_0_Targettorque ECAT[0].IO[24].Data
    #define Slave_2_60B8_0_Touchprobefunctio ECAT[0].IO[25].Data
    #define Slave_2_60FE_1_Digitaloutputs ECAT[0].IO[26].Data
    
    //Slave 3 Ouput
    #define Slave_3_6040_0_Controlword ECAT[0].IO[27].Data
    #define Slave_3_607A_0_Targetposition ECAT[0].IO[28].Data
    #define Slave_3_6081_0_Profilevelocity ECAT[0].IO[29].Data
    #define Slave_3_6083_0_Profileaccelerati ECAT[0].IO[30].Data
    #define Slave_3_6084_0_Profiledecelerati ECAT[0].IO[31].Data
    #define Slave_3_60FF_0_Targetvelocity ECAT[0].IO[32].Data
    #define Slave_3_6071_0_Targettorque ECAT[0].IO[33].Data
    #define Slave_3_60B8_0_Touchprobefunctio ECAT[0].IO[34].Data
    #define Slave_3_60FE_1_Digitaloutputs ECAT[0].IO[35].Data
    
    //Slave 4 Ouput
    #define Slave_4_6040_0_Controlword ECAT[0].IO[36].Data
    #define Slave_4_607A_0_Targetposition ECAT[0].IO[37].Data
    #define Slave_4_6081_0_Profilevelocity ECAT[0].IO[38].Data
    #define Slave_4_6083_0_Profileaccelerati ECAT[0].IO[39].Data
    #define Slave_4_6084_0_Profiledecelerati ECAT[0].IO[40].Data
    #define Slave_4_60FF_0_Targetvelocity ECAT[0].IO[41].Data
    #define Slave_4_6071_0_Targettorque ECAT[0].IO[42].Data
    #define Slave_4_60B8_0_Touchprobefunctio ECAT[0].IO[43].Data
    #define Slave_4_60FE_1_Digitaloutputs ECAT[0].IO[44].Data
    
    //Slave 5 Ouput
    #define Slave_5_6040_0_Controlword ECAT[0].IO[45].Data
    #define Slave_5_607A_0_Targetposition ECAT[0].IO[46].Data
    #define Slave_5_6081_0_Profilevelocity ECAT[0].IO[47].Data
    #define Slave_5_6083_0_Profileaccelerati ECAT[0].IO[48].Data
    #define Slave_5_6084_0_Profiledecelerati ECAT[0].IO[49].Data
    #define Slave_5_60FF_0_Targetvelocity ECAT[0].IO[50].Data
    #define Slave_5_6071_0_Targettorque ECAT[0].IO[51].Data
    #define Slave_5_60B8_0_Touchprobefunctio ECAT[0].IO[52].Data
    #define Slave_5_60FE_1_Digitaloutputs ECAT[0].IO[53].Data
    
    //Slave 0 Input
    #define Slave_0_6041_0_Statusword ECAT[0].IO[4096].Data
    #define Slave_0_2100_0_Statusword1 ECAT[0].IO[4097].Data
    #define Slave_0_6064_0_Positionactualval ECAT[0].IO[4098].Data
    #define Slave_0_606C_0_Velocityactualval ECAT[0].IO[4099].Data
    #define Slave_0_6077_0_Torqueactualvalue ECAT[0].IO[4100].Data
    #define Slave_0_60F4_0_Followingerroract ECAT[0].IO[4101].Data
    #define Slave_0_60B9_0_Touchprobestatus ECAT[0].IO[4102].Data
    #define Slave_0_60BA_0_Touchprobepositio ECAT[0].IO[4103].Data
    #define Slave_0_60BB_0_Touchprobepositio ECAT[0].IO[4104].Data
    #define Slave_0_60FD_0_Digitalinput ECAT[0].IO[4105].Data
    #define Slave_0_1001_0_Errorregister ECAT[0].IO[4106].Data
    #define Slave_0_6061_0_Modesofoperationd ECAT[0].IO[4107].Data
    #define Slave_0_6041_0_Statusword ECAT[0].IO[4108].Data
    #define Slave_0_6061_0_Modesofoperationd ECAT[0].IO[4109].Data
    #define Slave_0_1001_0_Errorregister ECAT[0].IO[4110].Data
    #define Slave_0_6064_0_Positionactualval ECAT[0].IO[4111].Data
    #define Slave_0_606C_0_Velocityactualval ECAT[0].IO[4112].Data
    #define Slave_0_6077_0_Torqueactualvalue ECAT[0].IO[4113].Data
    #define Slave_0_60F4_0_Followingerroract ECAT[0].IO[4114].Data
    #define Slave_0_60FD_0_Digitalinput ECAT[0].IO[4115].Data
    #define Slave_0_6041_0_Statusword ECAT[0].IO[4116].Data
    #define Slave_0_60B9_0_Touchprobestatus ECAT[0].IO[4117].Data
    #define Slave_0_6061_0_Modesofoperationd ECAT[0].IO[4118].Data
    #define Slave_0_1001_0_Errorregister ECAT[0].IO[4119].Data
    #define Slave_0_6064_0_Positionactualval ECAT[0].IO[4120].Data
    #define Slave_0_606C_0_Velocityactualval ECAT[0].IO[4121].Data
    #define Slave_0_6077_0_Torqueactualvalue ECAT[0].IO[4122].Data
    #define Slave_0_60F4_0_Followingerroract ECAT[0].IO[4123].Data
    #define Slave_0_60BA_0_Touchprobepositio ECAT[0].IO[4124].Data
    #define Slave_0_60BB_0_Touchprobepositio ECAT[0].IO[4125].Data
    #define Slave_0_60FD_0_Digitalinput ECAT[0].IO[4126].Data
    #define Slave_0_6041_0_Statusword ECAT[0].IO[4127].Data
    #define Slave_0_6061_0_Modesofoperationd ECAT[0].IO[4128].Data
    #define Slave_0_1001_0_Errorregister ECAT[0].IO[4129].Data
    #define Slave_0_6064_0_Positionactualval ECAT[0].IO[4130].Data
    #define Slave_0_606C_0_Velocityactualval ECAT[0].IO[4131].Data
    #define Slave_0_6077_0_Torqueactualvalue ECAT[0].IO[4132].Data
    #define Slave_0_60F4_0_Followingerroract ECAT[0].IO[4133].Data
    #define Slave_0_60FD_0_Digitalinput ECAT[0].IO[4134].Data
    #define Slave_0_6040_0_Controlword ECAT[0].IO[4135].Data
    #define Slave_0_6040_0_Controlword ECAT[0].IO[4136].Data
    #define Slave_0_607A_0_Targetposition ECAT[0].IO[4137].Data
    #define Slave_0_60FF_0_Targetvelocity ECAT[0].IO[4138].Data
    #define Slave_0_6071_0_Targettorque ECAT[0].IO[4139].Data
    #define Slave_0_6081_0_Profilevelocity ECAT[0].IO[4140].Data
    #define Slave_0_6083_0_Profileaccelerati ECAT[0].IO[4141].Data
    #define Slave_0_6084_0_Profiledecelerati ECAT[0].IO[4142].Data
    #define Slave_0_60FE_1_Digitaloutputs ECAT[0].IO[4143].Data
    #define Slave_0_6040_0_Controlword ECAT[0].IO[4144].Data
    #define Slave_0_60B8_0_Touchprobefunctio ECAT[0].IO[4145].Data
    #define Slave_0_607A_0_Targetposition ECAT[0].IO[4146].Data
    #define Slave_0_60FF_0_Targetvelocity ECAT[0].IO[4147].Data
    #define Slave_0_6071_0_Targettorque ECAT[0].IO[4148].Data
    #define Slave_0_6081_0_Profilevelocity ECAT[0].IO[4149].Data
    #define Slave_0_6083_0_Profileaccelerati ECAT[0].IO[4150].Data
    #define Slave_0_6084_0_Profiledecelerati ECAT[0].IO[4151].Data
    #define Slave_0_6040_0_Controlword ECAT[0].IO[4152].Data
    #define Slave_0_607A_0_Targetposition ECAT[0].IO[4153].Data
    #define Slave_0_60FF_0_Targetvelocity ECAT[0].IO[4154].Data
    #define Slave_0_6071_0_Targettorque ECAT[0].IO[4155].Data
    #define Slave_0_6081_0_Profilevelocity ECAT[0].IO[4156].Data
    #define Slave_0_6083_0_Profileaccelerati ECAT[0].IO[4157].Data
    #define Slave_0_6084_0_Profiledecelerati ECAT[0].IO[4158].Data
    
    //Slave 1 Ouput
    #define Slave_1_6041_0_Statusword ECAT[0].IO[4159].Data
    #define Slave_1_2100_0_Statusword1 ECAT[0].IO[4160].Data
    #define Slave_1_6064_0_Positionactualval ECAT[0].IO[4161].Data
    #define Slave_1_606C_0_Velocityactualval ECAT[0].IO[4162].Data
    #define Slave_1_6077_0_Torqueactualvalue ECAT[0].IO[4163].Data
    #define Slave_1_60F4_0_Followingerroract ECAT[0].IO[4164].Data
    #define Slave_1_60B9_0_Touchprobestatus ECAT[0].IO[4165].Data
    #define Slave_1_60BA_0_Touchprobepositio ECAT[0].IO[4166].Data
    #define Slave_1_60BB_0_Touchprobepositio ECAT[0].IO[4167].Data
    #define Slave_1_60FD_0_Digitalinput ECAT[0].IO[4168].Data
    #define Slave_1_1001_0_Errorregister ECAT[0].IO[4169].Data
    #define Slave_1_6061_0_Modesofoperationd ECAT[0].IO[4170].Data
    #define Slave_1_6041_0_Statusword ECAT[0].IO[4171].Data
    #define Slave_1_6061_0_Modesofoperationd ECAT[0].IO[4172].Data
    #define Slave_1_1001_0_Errorregister ECAT[0].IO[4173].Data
    #define Slave_1_6064_0_Positionactualval ECAT[0].IO[4174].Data
    #define Slave_1_606C_0_Velocityactualval ECAT[0].IO[4175].Data
    #define Slave_1_6077_0_Torqueactualvalue ECAT[0].IO[4176].Data
    #define Slave_1_60F4_0_Followingerroract ECAT[0].IO[4177].Data
    #define Slave_1_60FD_0_Digitalinput ECAT[0].IO[4178].Data
    #define Slave_1_6041_0_Statusword ECAT[0].IO[4179].Data
    #define Slave_1_60B9_0_Touchprobestatus ECAT[0].IO[4180].Data
    #define Slave_1_6061_0_Modesofoperationd ECAT[0].IO[4181].Data
    #define Slave_1_1001_0_Errorregister ECAT[0].IO[4182].Data
    #define Slave_1_6064_0_Positionactualval ECAT[0].IO[4183].Data
    #define Slave_1_606C_0_Velocityactualval ECAT[0].IO[4184].Data
    #define Slave_1_6077_0_Torqueactualvalue ECAT[0].IO[4185].Data
    #define Slave_1_60F4_0_Followingerroract ECAT[0].IO[4186].Data
    #define Slave_1_60BA_0_Touchprobepositio ECAT[0].IO[4187].Data
    #define Slave_1_60BB_0_Touchprobepositio ECAT[0].IO[4188].Data
    #define Slave_1_60FD_0_Digitalinput ECAT[0].IO[4189].Data
    #define Slave_1_6041_0_Statusword ECAT[0].IO[4190].Data
    #define Slave_1_6061_0_Modesofoperationd ECAT[0].IO[4191].Data
    #define Slave_1_1001_0_Errorregister ECAT[0].IO[4192].Data
    #define Slave_1_6064_0_Positionactualval ECAT[0].IO[4193].Data
    #define Slave_1_606C_0_Velocityactualval ECAT[0].IO[4194].Data
    #define Slave_1_6077_0_Torqueactualvalue ECAT[0].IO[4195].Data
    #define Slave_1_60F4_0_Followingerroract ECAT[0].IO[4196].Data
    #define Slave_1_60FD_0_Digitalinput ECAT[0].IO[4197].Data
    #define Slave_1_6040_0_Controlword ECAT[0].IO[4198].Data
    #define Slave_1_6040_0_Controlword ECAT[0].IO[4199].Data
    #define Slave_1_607A_0_Targetposition ECAT[0].IO[4200].Data
    #define Slave_1_60FF_0_Targetvelocity ECAT[0].IO[4201].Data
    #define Slave_1_6071_0_Targettorque ECAT[0].IO[4202].Data
    #define Slave_1_6081_0_Profilevelocity ECAT[0].IO[4203].Data
    #define Slave_1_6083_0_Profileaccelerati ECAT[0].IO[4204].Data
    #define Slave_1_6084_0_Profiledecelerati ECAT[0].IO[4205].Data
    #define Slave_1_60FE_1_Digitaloutputs ECAT[0].IO[4206].Data
    #define Slave_1_6040_0_Controlword ECAT[0].IO[4207].Data
    #define Slave_1_60B8_0_Touchprobefunctio ECAT[0].IO[4208].Data
    #define Slave_1_607A_0_Targetposition ECAT[0].IO[4209].Data
    #define Slave_1_60FF_0_Targetvelocity ECAT[0].IO[4210].Data
    #define Slave_1_6071_0_Targettorque ECAT[0].IO[4211].Data
    #define Slave_1_6081_0_Profilevelocity ECAT[0].IO[4212].Data
    #define Slave_1_6083_0_Profileaccelerati ECAT[0].IO[4213].Data
    #define Slave_1_6084_0_Profiledecelerati ECAT[0].IO[4214].Data
    #define Slave_1_6040_0_Controlword ECAT[0].IO[4215].Data
    #define Slave_1_607A_0_Targetposition ECAT[0].IO[4216].Data
    #define Slave_1_60FF_0_Targetvelocity ECAT[0].IO[4217].Data
    #define Slave_1_6071_0_Targettorque ECAT[0].IO[4218].Data
    #define Slave_1_6081_0_Profilevelocity ECAT[0].IO[4219].Data
    #define Slave_1_6083_0_Profileaccelerati ECAT[0].IO[4220].Data
    #define Slave_1_6084_0_Profiledecelerati ECAT[0].IO[4221].Data
    
    //Slave 2 Ouput
    #define Slave_2_6041_0_Statusword ECAT[0].IO[4222].Data
    #define Slave_2_2100_0_Statusword1 ECAT[0].IO[4223].Data
    #define Slave_2_6064_0_Positionactualval ECAT[0].IO[4224].Data
    #define Slave_2_606C_0_Velocityactualval ECAT[0].IO[4225].Data
    #define Slave_2_6077_0_Torqueactualvalue ECAT[0].IO[4226].Data
    #define Slave_2_60F4_0_Followingerroract ECAT[0].IO[4227].Data
    #define Slave_2_60B9_0_Touchprobestatus ECAT[0].IO[4228].Data
    #define Slave_2_60BA_0_Touchprobepositio ECAT[0].IO[4229].Data
    #define Slave_2_60BB_0_Touchprobepositio ECAT[0].IO[4230].Data
    #define Slave_2_60FD_0_Digitalinput ECAT[0].IO[4231].Data
    #define Slave_2_1001_0_Errorregister ECAT[0].IO[4232].Data
    #define Slave_2_6061_0_Modesofoperationd ECAT[0].IO[4233].Data
    #define Slave_2_6041_0_Statusword ECAT[0].IO[4234].Data
    #define Slave_2_6061_0_Modesofoperationd ECAT[0].IO[4235].Data
    #define Slave_2_1001_0_Errorregister ECAT[0].IO[4236].Data
    #define Slave_2_6064_0_Positionactualval ECAT[0].IO[4237].Data
    #define Slave_2_606C_0_Velocityactualval ECAT[0].IO[4238].Data
    #define Slave_2_6077_0_Torqueactualvalue ECAT[0].IO[4239].Data
    #define Slave_2_60F4_0_Followingerroract ECAT[0].IO[4240].Data
    #define Slave_2_60FD_0_Digitalinput ECAT[0].IO[4241].Data
    #define Slave_2_6041_0_Statusword ECAT[0].IO[4242].Data
    #define Slave_2_60B9_0_Touchprobestatus ECAT[0].IO[4243].Data
    #define Slave_2_6061_0_Modesofoperationd ECAT[0].IO[4244].Data
    #define Slave_2_1001_0_Errorregister ECAT[0].IO[4245].Data
    #define Slave_2_6064_0_Positionactualval ECAT[0].IO[4246].Data
    #define Slave_2_606C_0_Velocityactualval ECAT[0].IO[4247].Data
    #define Slave_2_6077_0_Torqueactualvalue ECAT[0].IO[4248].Data
    #define Slave_2_60F4_0_Followingerroract ECAT[0].IO[4249].Data
    #define Slave_2_60BA_0_Touchprobepositio ECAT[0].IO[4250].Data
    #define Slave_2_60BB_0_Touchprobepositio ECAT[0].IO[4251].Data
    #define Slave_2_60FD_0_Digitalinput ECAT[0].IO[4252].Data
    #define Slave_2_6041_0_Statusword ECAT[0].IO[4253].Data
    #define Slave_2_6061_0_Modesofoperationd ECAT[0].IO[4254].Data
    #define Slave_2_1001_0_Errorregister ECAT[0].IO[4255].Data
    #define Slave_2_6064_0_Positionactualval ECAT[0].IO[4256].Data
    #define Slave_2_606C_0_Velocityactualval ECAT[0].IO[4257].Data
    #define Slave_2_6077_0_Torqueactualvalue ECAT[0].IO[4258].Data
    #define Slave_2_60F4_0_Followingerroract ECAT[0].IO[4259].Data
    #define Slave_2_60FD_0_Digitalinput ECAT[0].IO[4260].Data
    #define Slave_2_6040_0_Controlword ECAT[0].IO[4261].Data
    #define Slave_2_6040_0_Controlword ECAT[0].IO[4262].Data
    #define Slave_2_607A_0_Targetposition ECAT[0].IO[4263].Data
    #define Slave_2_60FF_0_Targetvelocity ECAT[0].IO[4264].Data
    #define Slave_2_6071_0_Targettorque ECAT[0].IO[4265].Data
    #define Slave_2_6081_0_Profilevelocity ECAT[0].IO[4266].Data
    #define Slave_2_6083_0_Profileaccelerati ECAT[0].IO[4267].Data
    #define Slave_2_6084_0_Profiledecelerati ECAT[0].IO[4268].Data
    #define Slave_2_60FE_1_Digitaloutputs ECAT[0].IO[4269].Data
    #define Slave_2_6040_0_Controlword ECAT[0].IO[4270].Data
    #define Slave_2_60B8_0_Touchprobefunctio ECAT[0].IO[4271].Data
    #define Slave_2_607A_0_Targetposition ECAT[0].IO[4272].Data
    #define Slave_2_60FF_0_Targetvelocity ECAT[0].IO[4273].Data
    #define Slave_2_6071_0_Targettorque ECAT[0].IO[4274].Data
    #define Slave_2_6081_0_Profilevelocity ECAT[0].IO[4275].Data
    #define Slave_2_6083_0_Profileaccelerati ECAT[0].IO[4276].Data
    #define Slave_2_6084_0_Profiledecelerati ECAT[0].IO[4277].Data
    #define Slave_2_6040_0_Controlword ECAT[0].IO[4278].Data
    #define Slave_2_607A_0_Targetposition ECAT[0].IO[4279].Data
    #define Slave_2_60FF_0_Targetvelocity ECAT[0].IO[4280].Data
    #define Slave_2_6071_0_Targettorque ECAT[0].IO[4281].Data
    #define Slave_2_6081_0_Profilevelocity ECAT[0].IO[4282].Data
    #define Slave_2_6083_0_Profileaccelerati ECAT[0].IO[4283].Data
    #define Slave_2_6084_0_Profiledecelerati ECAT[0].IO[4284].Data
    
    //Slave 3 Ouput
    #define Slave_3_6041_0_Statusword ECAT[0].IO[4285].Data
    #define Slave_3_2100_0_Statusword1 ECAT[0].IO[4286].Data
    #define Slave_3_6064_0_Positionactualval ECAT[0].IO[4287].Data
    #define Slave_3_606C_0_Velocityactualval ECAT[0].IO[4288].Data
    #define Slave_3_6077_0_Torqueactualvalue ECAT[0].IO[4289].Data
    #define Slave_3_60F4_0_Followingerroract ECAT[0].IO[4290].Data
    #define Slave_3_60B9_0_Touchprobestatus ECAT[0].IO[4291].Data
    #define Slave_3_60BA_0_Touchprobepositio ECAT[0].IO[4292].Data
    #define Slave_3_60BB_0_Touchprobepositio ECAT[0].IO[4293].Data
    #define Slave_3_60FD_0_Digitalinput ECAT[0].IO[4294].Data
    #define Slave_3_1001_0_Errorregister ECAT[0].IO[4295].Data
    #define Slave_3_6061_0_Modesofoperationd ECAT[0].IO[4296].Data
    #define Slave_3_6041_0_Statusword ECAT[0].IO[4297].Data
    #define Slave_3_6061_0_Modesofoperationd ECAT[0].IO[4298].Data
    #define Slave_3_1001_0_Errorregister ECAT[0].IO[4299].Data
    #define Slave_3_6064_0_Positionactualval ECAT[0].IO[4300].Data
    #define Slave_3_606C_0_Velocityactualval ECAT[0].IO[4301].Data
    #define Slave_3_6077_0_Torqueactualvalue ECAT[0].IO[4302].Data
    #define Slave_3_60F4_0_Followingerroract ECAT[0].IO[4303].Data
    #define Slave_3_60FD_0_Digitalinput ECAT[0].IO[4304].Data
    #define Slave_3_6041_0_Statusword ECAT[0].IO[4305].Data
    #define Slave_3_60B9_0_Touchprobestatus ECAT[0].IO[4306].Data
    #define Slave_3_6061_0_Modesofoperationd ECAT[0].IO[4307].Data
    #define Slave_3_1001_0_Errorregister ECAT[0].IO[4308].Data
    #define Slave_3_6064_0_Positionactualval ECAT[0].IO[4309].Data
    #define Slave_3_606C_0_Velocityactualval ECAT[0].IO[4310].Data
    #define Slave_3_6077_0_Torqueactualvalue ECAT[0].IO[4311].Data
    #define Slave_3_60F4_0_Followingerroract ECAT[0].IO[4312].Data
    #define Slave_3_60BA_0_Touchprobepositio ECAT[0].IO[4313].Data
    #define Slave_3_60BB_0_Touchprobepositio ECAT[0].IO[4314].Data
    #define Slave_3_60FD_0_Digitalinput ECAT[0].IO[4315].Data
    #define Slave_3_6041_0_Statusword ECAT[0].IO[4316].Data
    #define Slave_3_6061_0_Modesofoperationd ECAT[0].IO[4317].Data
    #define Slave_3_1001_0_Errorregister ECAT[0].IO[4318].Data
    #define Slave_3_6064_0_Positionactualval ECAT[0].IO[4319].Data
    #define Slave_3_606C_0_Velocityactualval ECAT[0].IO[4320].Data
    #define Slave_3_6077_0_Torqueactualvalue ECAT[0].IO[4321].Data
    #define Slave_3_60F4_0_Followingerroract ECAT[0].IO[4322].Data
    #define Slave_3_60FD_0_Digitalinput ECAT[0].IO[4323].Data
    #define Slave_3_6040_0_Controlword ECAT[0].IO[4324].Data
    #define Slave_3_6040_0_Controlword ECAT[0].IO[4325].Data
    #define Slave_3_607A_0_Targetposition ECAT[0].IO[4326].Data
    #define Slave_3_60FF_0_Targetvelocity ECAT[0].IO[4327].Data
    #define Slave_3_6071_0_Targettorque ECAT[0].IO[4328].Data
    #define Slave_3_6081_0_Profilevelocity ECAT[0].IO[4329].Data
    #define Slave_3_6083_0_Profileaccelerati ECAT[0].IO[4330].Data
    #define Slave_3_6084_0_Profiledecelerati ECAT[0].IO[4331].Data
    #define Slave_3_60FE_1_Digitaloutputs ECAT[0].IO[4332].Data
    #define Slave_3_6040_0_Controlword ECAT[0].IO[4333].Data
    #define Slave_3_60B8_0_Touchprobefunctio ECAT[0].IO[4334].Data
    #define Slave_3_607A_0_Targetposition ECAT[0].IO[4335].Data
    #define Slave_3_60FF_0_Targetvelocity ECAT[0].IO[4336].Data
    #define Slave_3_6071_0_Targettorque ECAT[0].IO[4337].Data
    #define Slave_3_6081_0_Profilevelocity ECAT[0].IO[4338].Data
    #define Slave_3_6083_0_Profileaccelerati ECAT[0].IO[4339].Data
    #define Slave_3_6084_0_Profiledecelerati ECAT[0].IO[4340].Data
    #define Slave_3_6040_0_Controlword ECAT[0].IO[4341].Data
    #define Slave_3_607A_0_Targetposition ECAT[0].IO[4342].Data
    #define Slave_3_60FF_0_Targetvelocity ECAT[0].IO[4343].Data
    #define Slave_3_6071_0_Targettorque ECAT[0].IO[4344].Data
    #define Slave_3_6081_0_Profilevelocity ECAT[0].IO[4345].Data
    #define Slave_3_6083_0_Profileaccelerati ECAT[0].IO[4346].Data
    #define Slave_3_6084_0_Profiledecelerati ECAT[0].IO[4347].Data
    
    //Slave 4 Ouput
    #define Slave_4_6041_0_Statusword ECAT[0].IO[4348].Data
    #define Slave_4_2100_0_Statusword1 ECAT[0].IO[4349].Data
    #define Slave_4_6064_0_Positionactualval ECAT[0].IO[4350].Data
    #define Slave_4_606C_0_Velocityactualval ECAT[0].IO[4351].Data
    #define Slave_4_6077_0_Torqueactualvalue ECAT[0].IO[4352].Data
    #define Slave_4_60F4_0_Followingerroract ECAT[0].IO[4353].Data
    #define Slave_4_60B9_0_Touchprobestatus ECAT[0].IO[4354].Data
    #define Slave_4_60BA_0_Touchprobepositio ECAT[0].IO[4355].Data
    #define Slave_4_60BB_0_Touchprobepositio ECAT[0].IO[4356].Data
    #define Slave_4_60FD_0_Digitalinput ECAT[0].IO[4357].Data
    #define Slave_4_1001_0_Errorregister ECAT[0].IO[4358].Data
    #define Slave_4_6061_0_Modesofoperationd ECAT[0].IO[4359].Data
    #define Slave_4_6041_0_Statusword ECAT[0].IO[4360].Data
    #define Slave_4_6061_0_Modesofoperationd ECAT[0].IO[4361].Data
    #define Slave_4_1001_0_Errorregister ECAT[0].IO[4362].Data
    #define Slave_4_6064_0_Positionactualval ECAT[0].IO[4363].Data
    #define Slave_4_606C_0_Velocityactualval ECAT[0].IO[4364].Data
    #define Slave_4_6077_0_Torqueactualvalue ECAT[0].IO[4365].Data
    #define Slave_4_60F4_0_Followingerroract ECAT[0].IO[4366].Data
    #define Slave_4_60FD_0_Digitalinput ECAT[0].IO[4367].Data
    #define Slave_4_6041_0_Statusword ECAT[0].IO[4368].Data
    #define Slave_4_60B9_0_Touchprobestatus ECAT[0].IO[4369].Data
    #define Slave_4_6061_0_Modesofoperationd ECAT[0].IO[4370].Data
    #define Slave_4_1001_0_Errorregister ECAT[0].IO[4371].Data
    #define Slave_4_6064_0_Positionactualval ECAT[0].IO[4372].Data
    #define Slave_4_606C_0_Velocityactualval ECAT[0].IO[4373].Data
    #define Slave_4_6077_0_Torqueactualvalue ECAT[0].IO[4374].Data
    #define Slave_4_60F4_0_Followingerroract ECAT[0].IO[4375].Data
    #define Slave_4_60BA_0_Touchprobepositio ECAT[0].IO[4376].Data
    #define Slave_4_60BB_0_Touchprobepositio ECAT[0].IO[4377].Data
    #define Slave_4_60FD_0_Digitalinput ECAT[0].IO[4378].Data
    #define Slave_4_6041_0_Statusword ECAT[0].IO[4379].Data
    #define Slave_4_6061_0_Modesofoperationd ECAT[0].IO[4380].Data
    #define Slave_4_1001_0_Errorregister ECAT[0].IO[4381].Data
    #define Slave_4_6064_0_Positionactualval ECAT[0].IO[4382].Data
    #define Slave_4_606C_0_Velocityactualval ECAT[0].IO[4383].Data
    #define Slave_4_6077_0_Torqueactualvalue ECAT[0].IO[4384].Data
    #define Slave_4_60F4_0_Followingerroract ECAT[0].IO[4385].Data
    #define Slave_4_60FD_0_Digitalinput ECAT[0].IO[4386].Data
    #define Slave_4_6040_0_Controlword ECAT[0].IO[4387].Data
    #define Slave_4_6040_0_Controlword ECAT[0].IO[4388].Data
    #define Slave_4_607A_0_Targetposition ECAT[0].IO[4389].Data
    #define Slave_4_60FF_0_Targetvelocity ECAT[0].IO[4390].Data
    #define Slave_4_6071_0_Targettorque ECAT[0].IO[4391].Data
    #define Slave_4_6081_0_Profilevelocity ECAT[0].IO[4392].Data
    #define Slave_4_6083_0_Profileaccelerati ECAT[0].IO[4393].Data
    #define Slave_4_6084_0_Profiledecelerati ECAT[0].IO[4394].Data
    #define Slave_4_60FE_1_Digitaloutputs ECAT[0].IO[4395].Data
    #define Slave_4_6040_0_Controlword ECAT[0].IO[4396].Data
    #define Slave_4_60B8_0_Touchprobefunctio ECAT[0].IO[4397].Data
    #define Slave_4_607A_0_Targetposition ECAT[0].IO[4398].Data
    #define Slave_4_60FF_0_Targetvelocity ECAT[0].IO[4399].Data
    #define Slave_4_6071_0_Targettorque ECAT[0].IO[4400].Data
    #define Slave_4_6081_0_Profilevelocity ECAT[0].IO[4401].Data
    #define Slave_4_6083_0_Profileaccelerati ECAT[0].IO[4402].Data
    #define Slave_4_6084_0_Profiledecelerati ECAT[0].IO[4403].Data
    #define Slave_4_6040_0_Controlword ECAT[0].IO[4404].Data
    #define Slave_4_607A_0_Targetposition ECAT[0].IO[4405].Data
    #define Slave_4_60FF_0_Targetvelocity ECAT[0].IO[4406].Data
    #define Slave_4_6071_0_Targettorque ECAT[0].IO[4407].Data
    #define Slave_4_6081_0_Profilevelocity ECAT[0].IO[4408].Data
    #define Slave_4_6083_0_Profileaccelerati ECAT[0].IO[4409].Data
    #define Slave_4_6084_0_Profiledecelerati ECAT[0].IO[4410].Data
    
    //Slave 5 Ouput
    #define Slave_5_6041_0_Statusword ECAT[0].IO[4411].Data
    #define Slave_5_2100_0_Statusword1 ECAT[0].IO[4412].Data
    #define Slave_5_6064_0_Positionactualval ECAT[0].IO[4413].Data
    #define Slave_5_606C_0_Velocityactualval ECAT[0].IO[4414].Data
    #define Slave_5_6077_0_Torqueactualvalue ECAT[0].IO[4415].Data
    #define Slave_5_60F4_0_Followingerroract ECAT[0].IO[4416].Data
    #define Slave_5_60B9_0_Touchprobestatus ECAT[0].IO[4417].Data
    #define Slave_5_60BA_0_Touchprobepositio ECAT[0].IO[4418].Data
    #define Slave_5_60BB_0_Touchprobepositio ECAT[0].IO[4419].Data
    #define Slave_5_60FD_0_Digitalinput ECAT[0].IO[4420].Data
    #define Slave_5_1001_0_Errorregister ECAT[0].IO[4421].Data
    #define Slave_5_6061_0_Modesofoperationd ECAT[0].IO[4422].Data
    #define Slave_5_6041_0_Statusword ECAT[0].IO[4423].Data
    #define Slave_5_6061_0_Modesofoperationd ECAT[0].IO[4424].Data
    #define Slave_5_1001_0_Errorregister ECAT[0].IO[4425].Data
    #define Slave_5_6064_0_Positionactualval ECAT[0].IO[4426].Data
    #define Slave_5_606C_0_Velocityactualval ECAT[0].IO[4427].Data
    #define Slave_5_6077_0_Torqueactualvalue ECAT[0].IO[4428].Data
    #define Slave_5_60F4_0_Followingerroract ECAT[0].IO[4429].Data
    #define Slave_5_60FD_0_Digitalinput ECAT[0].IO[4430].Data
    #define Slave_5_6041_0_Statusword ECAT[0].IO[4431].Data
    #define Slave_5_60B9_0_Touchprobestatus ECAT[0].IO[4432].Data
    #define Slave_5_6061_0_Modesofoperationd ECAT[0].IO[4433].Data
    #define Slave_5_1001_0_Errorregister ECAT[0].IO[4434].Data
    #define Slave_5_6064_0_Positionactualval ECAT[0].IO[4435].Data
    #define Slave_5_606C_0_Velocityactualval ECAT[0].IO[4436].Data
    #define Slave_5_6077_0_Torqueactualvalue ECAT[0].IO[4437].Data
    #define Slave_5_60F4_0_Followingerroract ECAT[0].IO[4438].Data
    #define Slave_5_60BA_0_Touchprobepositio ECAT[0].IO[4439].Data
    #define Slave_5_60BB_0_Touchprobepositio ECAT[0].IO[4440].Data
    #define Slave_5_60FD_0_Digitalinput ECAT[0].IO[4441].Data
    #define Slave_5_6041_0_Statusword ECAT[0].IO[4442].Data
    #define Slave_5_6061_0_Modesofoperationd ECAT[0].IO[4443].Data
    #define Slave_5_1001_0_Errorregister ECAT[0].IO[4444].Data
    #define Slave_5_6064_0_Positionactualval ECAT[0].IO[4445].Data
    #define Slave_5_606C_0_Velocityactualval ECAT[0].IO[4446].Data
    #define Slave_5_6077_0_Torqueactualvalue ECAT[0].IO[4447].Data
    #define Slave_5_60F4_0_Followingerroract ECAT[0].IO[4448].Data
    #define Slave_5_60FD_0_Digitalinput ECAT[0].IO[4449].Data
    #define Slave_5_6040_0_Controlword ECAT[0].IO[4450].Data
    #define Slave_5_6040_0_Controlword ECAT[0].IO[4451].Data
    #define Slave_5_607A_0_Targetposition ECAT[0].IO[4452].Data
    #define Slave_5_60FF_0_Targetvelocity ECAT[0].IO[4453].Data
    #define Slave_5_6071_0_Targettorque ECAT[0].IO[4454].Data
    #define Slave_5_6081_0_Profilevelocity ECAT[0].IO[4455].Data
    #define Slave_5_6083_0_Profileaccelerati ECAT[0].IO[4456].Data
    #define Slave_5_6084_0_Profiledecelerati ECAT[0].IO[4457].Data
    #define Slave_5_60FE_1_Digitaloutputs ECAT[0].IO[4458].Data
    #define Slave_5_6040_0_Controlword ECAT[0].IO[4459].Data
    #define Slave_5_60B8_0_Touchprobefunctio ECAT[0].IO[4460].Data
    #define Slave_5_607A_0_Targetposition ECAT[0].IO[4461].Data
    #define Slave_5_60FF_0_Targetvelocity ECAT[0].IO[4462].Data
    #define Slave_5_6071_0_Targettorque ECAT[0].IO[4463].Data
    #define Slave_5_6081_0_Profilevelocity ECAT[0].IO[4464].Data
    #define Slave_5_6083_0_Profileaccelerati ECAT[0].IO[4465].Data
    #define Slave_5_6084_0_Profiledecelerati ECAT[0].IO[4466].Data
    #define Slave_5_6040_0_Controlword ECAT[0].IO[4467].Data
    #define Slave_5_607A_0_Targetposition ECAT[0].IO[4468].Data
    #define Slave_5_60FF_0_Targetvelocity ECAT[0].IO[4469].Data
    #define Slave_5_6071_0_Targettorque ECAT[0].IO[4470].Data
    #define Slave_5_6081_0_Profilevelocity ECAT[0].IO[4471].Data
    #define Slave_5_6083_0_Profileaccelerati ECAT[0].IO[4472].Data
    #define Slave_5_6084_0_Profiledecelerati ECAT[0].IO[4473].Data

     

    Eric, thank you for your kindly reply.

     

    But what do you mean by that "It's just that each slave has 2 sections"?

     

    I know there are input pdos and output pdos. But if the same token is defined for many different values, which one will it replace when pre-processing?

     

    eg:

     

    //Slave 0 Ouput

    #define Slave_0_6040_0_Controlword ECAT[0].IO[0].Data

     

    //Slave 0 Input

    #define Slave_0_6040_0_Controlword ECAT[0].IO[4135].Data

    #define Slave_0_6040_0_Controlword ECAT[0].IO[4136].Data

    #define Slave_0_6040_0_Controlword ECAT[0].IO[4144].Data

    #define Slave_0_6040_0_Controlword ECAT[0].IO[4152].Data

  3. Hello there,

     

    As is told, "#define Slave_XX ECAT.IO[k].Data" is created when "export ethercat variables" is doing. The problem is that tokens following "#define" are always incorrectly repeatly created, which causes misunderstanding!

     

    Just like:

    "
    #define Slave_0_6040_0_Controlword  ECAT[0].IO[0].Data
    #define Slave_0_607A_0_Targetposition  ECAT[0].IO[1].Data
    #define Slave_0_6081_0_Profilevelocity  ECAT[0].IO[2].Data
    #define Slave_0_6083_0_Profileaccelerati  ECAT[0].IO[3].Data
    #define Slave_0_6084_0_Profiledecelerati  ECAT[0].IO[4].Data
    #define Slave_0_60FF_0_Targetvelocity  ECAT[0].IO[5].Data
    #define Slave_0_6071_0_Targettorque  ECAT[0].IO[6].Data
    #define Slave_0_60B8_0_Touchprobefunctio  ECAT[0].IO[7].Data
    #define Slave_0_60FE_1_Digitaloutputs  ECAT[0].IO[8].Data
    #define Slave_1_6040_0_Controlword  ECAT[0].IO[9].Data
    #define Slave_1_607A_0_Targetposition  ECAT[0].IO[10].Data
    #define Slave_1_6081_0_Profilevelocity  ECAT[0].IO[11].Data
    #define Slave_1_6083_0_Profileaccelerati  ECAT[0].IO[12].Data
    #define Slave_1_6084_0_Profiledecelerati  ECAT[0].IO[13].Data
    #define Slave_1_60FF_0_Targetvelocity  ECAT[0].IO[14].Data
    #define Slave_1_6071_0_Targettorque  ECAT[0].IO[15].Data
    #define Slave_1_60B8_0_Touchprobefunctio  ECAT[0].IO[16].Data
    #define Slave_1_60FE_1_Digitaloutputs  ECAT[0].IO[17].Data
    #define Slave_2_6040_0_Controlword  ECAT[0].IO[18].Data
    #define Slave_2_607A_0_Targetposition  ECAT[0].IO[19].Data
    #define Slave_2_6081_0_Profilevelocity  ECAT[0].IO[20].Data
    #define Slave_2_6083_0_Profileaccelerati  ECAT[0].IO[21].Data
    #define Slave_2_6084_0_Profiledecelerati  ECAT[0].IO[22].Data
    #define Slave_2_60FF_0_Targetvelocity  ECAT[0].IO[23].Data
    #define Slave_2_6071_0_Targettorque  ECAT[0].IO[24].Data
    #define Slave_2_60B8_0_Touchprobefunctio  ECAT[0].IO[25].Data
    #define Slave_2_60FE_1_Digitaloutputs  ECAT[0].IO[26].Data
    #define Slave_3_6040_0_Controlword  ECAT[0].IO[27].Data
    #define Slave_3_607A_0_Targetposition  ECAT[0].IO[28].Data
    #define Slave_3_6081_0_Profilevelocity  ECAT[0].IO[29].Data
    #define Slave_3_6083_0_Profileaccelerati  ECAT[0].IO[30].Data
    #define Slave_3_6084_0_Profiledecelerati  ECAT[0].IO[31].Data
    #define Slave_3_60FF_0_Targetvelocity  ECAT[0].IO[32].Data
    #define Slave_3_6071_0_Targettorque  ECAT[0].IO[33].Data
    #define Slave_3_60B8_0_Touchprobefunctio  ECAT[0].IO[34].Data
    #define Slave_3_60FE_1_Digitaloutputs  ECAT[0].IO[35].Data
    #define Slave_4_6040_0_Controlword  ECAT[0].IO[36].Data
    #define Slave_4_607A_0_Targetposition  ECAT[0].IO[37].Data
    #define Slave_4_6081_0_Profilevelocity  ECAT[0].IO[38].Data
    #define Slave_4_6083_0_Profileaccelerati  ECAT[0].IO[39].Data
    #define Slave_4_6084_0_Profiledecelerati  ECAT[0].IO[40].Data
    #define Slave_4_60FF_0_Targetvelocity  ECAT[0].IO[41].Data
    #define Slave_4_6071_0_Targettorque  ECAT[0].IO[42].Data
    #define Slave_4_60B8_0_Touchprobefunctio  ECAT[0].IO[43].Data
    #define Slave_4_60FE_1_Digitaloutputs  ECAT[0].IO[44].Data
    #define Slave_5_6040_0_Controlword  ECAT[0].IO[45].Data
    #define Slave_5_607A_0_Targetposition  ECAT[0].IO[46].Data
    #define Slave_5_6081_0_Profilevelocity  ECAT[0].IO[47].Data
    #define Slave_5_6083_0_Profileaccelerati  ECAT[0].IO[48].Data
    #define Slave_5_6084_0_Profiledecelerati  ECAT[0].IO[49].Data
    #define Slave_5_60FF_0_Targetvelocity  ECAT[0].IO[50].Data
    #define Slave_5_6071_0_Targettorque  ECAT[0].IO[51].Data
    #define Slave_5_60B8_0_Touchprobefunctio  ECAT[0].IO[52].Data
    #define Slave_5_60FE_1_Digitaloutputs  ECAT[0].IO[53].Data
    #define Slave_0_6041_0_Statusword  ECAT[0].IO[4096].Data
    #define Slave_0_2100_0_Statusword1  ECAT[0].IO[4097].Data
    #define Slave_0_6064_0_Positionactualval  ECAT[0].IO[4098].Data
    #define Slave_0_606C_0_Velocityactualval  ECAT[0].IO[4099].Data
    #define Slave_0_6077_0_Torqueactualvalue  ECAT[0].IO[4100].Data
    #define Slave_0_60F4_0_Followingerroract  ECAT[0].IO[4101].Data
    #define Slave_0_60B9_0_Touchprobestatus  ECAT[0].IO[4102].Data
    #define Slave_0_60BA_0_Touchprobepositio  ECAT[0].IO[4103].Data
    #define Slave_0_60BB_0_Touchprobepositio  ECAT[0].IO[4104].Data
    #define Slave_0_60FD_0_Digitalinput  ECAT[0].IO[4105].Data
    #define Slave_0_1001_0_Errorregister  ECAT[0].IO[4106].Data
    #define Slave_0_6061_0_Modesofoperationd  ECAT[0].IO[4107].Data
    #define Slave_0_6041_0_Statusword  ECAT[0].IO[4108].Data
    #define Slave_0_6061_0_Modesofoperationd  ECAT[0].IO[4109].Data
    #define Slave_0_1001_0_Errorregister  ECAT[0].IO[4110].Data
    #define Slave_0_6064_0_Positionactualval  ECAT[0].IO[4111].Data
    #define Slave_0_606C_0_Velocityactualval  ECAT[0].IO[4112].Data
    #define Slave_0_6077_0_Torqueactualvalue  ECAT[0].IO[4113].Data
    #define Slave_0_60F4_0_Followingerroract  ECAT[0].IO[4114].Data
    #define Slave_0_60FD_0_Digitalinput  ECAT[0].IO[4115].Data
    #define Slave_0_6041_0_Statusword  ECAT[0].IO[4116].Data
    #define Slave_0_60B9_0_Touchprobestatus  ECAT[0].IO[4117].Data
    #define Slave_0_6061_0_Modesofoperationd  ECAT[0].IO[4118].Data
    #define Slave_0_1001_0_Errorregister  ECAT[0].IO[4119].Data
    #define Slave_0_6064_0_Positionactualval  ECAT[0].IO[4120].Data
    #define Slave_0_606C_0_Velocityactualval  ECAT[0].IO[4121].Data
    #define Slave_0_6077_0_Torqueactualvalue  ECAT[0].IO[4122].Data
    #define Slave_0_60F4_0_Followingerroract  ECAT[0].IO[4123].Data
    #define Slave_0_60BA_0_Touchprobepositio  ECAT[0].IO[4124].Data
    #define Slave_0_60BB_0_Touchprobepositio  ECAT[0].IO[4125].Data
    #define Slave_0_60FD_0_Digitalinput  ECAT[0].IO[4126].Data
    #define Slave_0_6041_0_Statusword  ECAT[0].IO[4127].Data
    #define Slave_0_6061_0_Modesofoperationd  ECAT[0].IO[4128].Data
    #define Slave_0_1001_0_Errorregister  ECAT[0].IO[4129].Data
    #define Slave_0_6064_0_Positionactualval  ECAT[0].IO[4130].Data
    #define Slave_0_606C_0_Velocityactualval  ECAT[0].IO[4131].Data
    #define Slave_0_6077_0_Torqueactualvalue  ECAT[0].IO[4132].Data
    #define Slave_0_60F4_0_Followingerroract  ECAT[0].IO[4133].Data
    #define Slave_0_60FD_0_Digitalinput  ECAT[0].IO[4134].Data
    #define Slave_0_6040_0_Controlword  ECAT[0].IO[4135].Data
    #define Slave_0_6040_0_Controlword  ECAT[0].IO[4136].Data
    #define Slave_0_607A_0_Targetposition  ECAT[0].IO[4137].Data
    #define Slave_0_60FF_0_Targetvelocity  ECAT[0].IO[4138].Data
    #define Slave_0_6071_0_Targettorque  ECAT[0].IO[4139].Data
    #define Slave_0_6081_0_Profilevelocity  ECAT[0].IO[4140].Data
    #define Slave_0_6083_0_Profileaccelerati  ECAT[0].IO[4141].Data
    #define Slave_0_6084_0_Profiledecelerati  ECAT[0].IO[4142].Data
    #define Slave_0_60FE_1_Digitaloutputs  ECAT[0].IO[4143].Data
    #define Slave_0_6040_0_Controlword  ECAT[0].IO[4144].Data
    #define Slave_0_60B8_0_Touchprobefunctio  ECAT[0].IO[4145].Data
    #define Slave_0_607A_0_Targetposition  ECAT[0].IO[4146].Data
    #define Slave_0_60FF_0_Targetvelocity  ECAT[0].IO[4147].Data
    #define Slave_0_6071_0_Targettorque  ECAT[0].IO[4148].Data
    #define Slave_0_6081_0_Profilevelocity  ECAT[0].IO[4149].Data
    #define Slave_0_6083_0_Profileaccelerati  ECAT[0].IO[4150].Data
    #define Slave_0_6084_0_Profiledecelerati  ECAT[0].IO[4151].Data
    #define Slave_0_6040_0_Controlword  ECAT[0].IO[4152].Data
    #define Slave_0_607A_0_Targetposition  ECAT[0].IO[4153].Data
    #define Slave_0_60FF_0_Targetvelocity  ECAT[0].IO[4154].Data
    #define Slave_0_6071_0_Targettorque  ECAT[0].IO[4155].Data
    #define Slave_0_6081_0_Profilevelocity  ECAT[0].IO[4156].Data
    #define Slave_0_6083_0_Profileaccelerati  ECAT[0].IO[4157].Data
    #define Slave_0_6084_0_Profiledecelerati  ECAT[0].IO[4158].Data
    #define Slave_1_6041_0_Statusword  ECAT[0].IO[4159].Data
    #define Slave_1_2100_0_Statusword1  ECAT[0].IO[4160].Data
    #define Slave_1_6064_0_Positionactualval  ECAT[0].IO[4161].Data
    #define Slave_1_606C_0_Velocityactualval  ECAT[0].IO[4162].Data
    #define Slave_1_6077_0_Torqueactualvalue  ECAT[0].IO[4163].Data
    #define Slave_1_60F4_0_Followingerroract  ECAT[0].IO[4164].Data
    #define Slave_1_60B9_0_Touchprobestatus  ECAT[0].IO[4165].Data
    #define Slave_1_60BA_0_Touchprobepositio  ECAT[0].IO[4166].Data
    #define Slave_1_60BB_0_Touchprobepositio  ECAT[0].IO[4167].Data
    #define Slave_1_60FD_0_Digitalinput  ECAT[0].IO[4168].Data
    #define Slave_1_1001_0_Errorregister  ECAT[0].IO[4169].Data
    #define Slave_1_6061_0_Modesofoperationd  ECAT[0].IO[4170].Data
    #define Slave_1_6041_0_Statusword  ECAT[0].IO[4171].Data
    #define Slave_1_6061_0_Modesofoperationd  ECAT[0].IO[4172].Data
    #define Slave_1_1001_0_Errorregister  ECAT[0].IO[4173].Data
    #define Slave_1_6064_0_Positionactualval  ECAT[0].IO[4174].Data
    #define Slave_1_606C_0_Velocityactualval  ECAT[0].IO[4175].Data
    #define Slave_1_6077_0_Torqueactualvalue  ECAT[0].IO[4176].Data
    #define Slave_1_60F4_0_Followingerroract  ECAT[0].IO[4177].Data
    #define Slave_1_60FD_0_Digitalinput  ECAT[0].IO[4178].Data
    #define Slave_1_6041_0_Statusword  ECAT[0].IO[4179].Data
    #define Slave_1_60B9_0_Touchprobestatus  ECAT[0].IO[4180].Data
    #define Slave_1_6061_0_Modesofoperationd  ECAT[0].IO[4181].Data
    #define Slave_1_1001_0_Errorregister  ECAT[0].IO[4182].Data
    #define Slave_1_6064_0_Positionactualval  ECAT[0].IO[4183].Data
    #define Slave_1_606C_0_Velocityactualval  ECAT[0].IO[4184].Data
    #define Slave_1_6077_0_Torqueactualvalue  ECAT[0].IO[4185].Data
    #define Slave_1_60F4_0_Followingerroract  ECAT[0].IO[4186].Data
    #define Slave_1_60BA_0_Touchprobepositio  ECAT[0].IO[4187].Data
    #define Slave_1_60BB_0_Touchprobepositio  ECAT[0].IO[4188].Data
    #define Slave_1_60FD_0_Digitalinput  ECAT[0].IO[4189].Data
    #define Slave_1_6041_0_Statusword  ECAT[0].IO[4190].Data
    #define Slave_1_6061_0_Modesofoperationd  ECAT[0].IO[4191].Data
    #define Slave_1_1001_0_Errorregister  ECAT[0].IO[4192].Data
    #define Slave_1_6064_0_Positionactualval  ECAT[0].IO[4193].Data
    #define Slave_1_606C_0_Velocityactualval  ECAT[0].IO[4194].Data
    #define Slave_1_6077_0_Torqueactualvalue  ECAT[0].IO[4195].Data
    #define Slave_1_60F4_0_Followingerroract  ECAT[0].IO[4196].Data
    #define Slave_1_60FD_0_Digitalinput  ECAT[0].IO[4197].Data
    #define Slave_1_6040_0_Controlword  ECAT[0].IO[4198].Data
    #define Slave_1_6040_0_Controlword  ECAT[0].IO[4199].Data
    #define Slave_1_607A_0_Targetposition  ECAT[0].IO[4200].Data
    #define Slave_1_60FF_0_Targetvelocity  ECAT[0].IO[4201].Data
    #define Slave_1_6071_0_Targettorque  ECAT[0].IO[4202].Data
    #define Slave_1_6081_0_Profilevelocity  ECAT[0].IO[4203].Data
    #define Slave_1_6083_0_Profileaccelerati  ECAT[0].IO[4204].Data
    #define Slave_1_6084_0_Profiledecelerati  ECAT[0].IO[4205].Data
    #define Slave_1_60FE_1_Digitaloutputs  ECAT[0].IO[4206].Data
    #define Slave_1_6040_0_Controlword  ECAT[0].IO[4207].Data
    #define Slave_1_60B8_0_Touchprobefunctio  ECAT[0].IO[4208].Data
    #define Slave_1_607A_0_Targetposition  ECAT[0].IO[4209].Data
    #define Slave_1_60FF_0_Targetvelocity  ECAT[0].IO[4210].Data
    #define Slave_1_6071_0_Targettorque  ECAT[0].IO[4211].Data
    #define Slave_1_6081_0_Profilevelocity  ECAT[0].IO[4212].Data
    #define Slave_1_6083_0_Profileaccelerati  ECAT[0].IO[4213].Data
    #define Slave_1_6084_0_Profiledecelerati  ECAT[0].IO[4214].Data
    #define Slave_1_6040_0_Controlword  ECAT[0].IO[4215].Data
    #define Slave_1_607A_0_Targetposition  ECAT[0].IO[4216].Data
    #define Slave_1_60FF_0_Targetvelocity  ECAT[0].IO[4217].Data
    #define Slave_1_6071_0_Targettorque  ECAT[0].IO[4218].Data
    #define Slave_1_6081_0_Profilevelocity  ECAT[0].IO[4219].Data
    #define Slave_1_6083_0_Profileaccelerati  ECAT[0].IO[4220].Data
    #define Slave_1_6084_0_Profiledecelerati  ECAT[0].IO[4221].Data
    #define Slave_2_6041_0_Statusword  ECAT[0].IO[4222].Data
    #define Slave_2_2100_0_Statusword1  ECAT[0].IO[4223].Data
    #define Slave_2_6064_0_Positionactualval  ECAT[0].IO[4224].Data
    #define Slave_2_606C_0_Velocityactualval  ECAT[0].IO[4225].Data
    #define Slave_2_6077_0_Torqueactualvalue  ECAT[0].IO[4226].Data
    #define Slave_2_60F4_0_Followingerroract  ECAT[0].IO[4227].Data
    #define Slave_2_60B9_0_Touchprobestatus  ECAT[0].IO[4228].Data
    #define Slave_2_60BA_0_Touchprobepositio  ECAT[0].IO[4229].Data
    #define Slave_2_60BB_0_Touchprobepositio  ECAT[0].IO[4230].Data
    #define Slave_2_60FD_0_Digitalinput  ECAT[0].IO[4231].Data
    #define Slave_2_1001_0_Errorregister  ECAT[0].IO[4232].Data
    #define Slave_2_6061_0_Modesofoperationd  ECAT[0].IO[4233].Data
    #define Slave_2_6041_0_Statusword  ECAT[0].IO[4234].Data
    #define Slave_2_6061_0_Modesofoperationd  ECAT[0].IO[4235].Data
    #define Slave_2_1001_0_Errorregister  ECAT[0].IO[4236].Data
    #define Slave_2_6064_0_Positionactualval  ECAT[0].IO[4237].Data
    #define Slave_2_606C_0_Velocityactualval  ECAT[0].IO[4238].Data
    #define Slave_2_6077_0_Torqueactualvalue  ECAT[0].IO[4239].Data
    #define Slave_2_60F4_0_Followingerroract  ECAT[0].IO[4240].Data
    #define Slave_2_60FD_0_Digitalinput  ECAT[0].IO[4241].Data
    #define Slave_2_6041_0_Statusword  ECAT[0].IO[4242].Data
    #define Slave_2_60B9_0_Touchprobestatus  ECAT[0].IO[4243].Data
    #define Slave_2_6061_0_Modesofoperationd  ECAT[0].IO[4244].Data
    #define Slave_2_1001_0_Errorregister  ECAT[0].IO[4245].Data
    #define Slave_2_6064_0_Positionactualval  ECAT[0].IO[4246].Data
    #define Slave_2_606C_0_Velocityactualval  ECAT[0].IO[4247].Data
    #define Slave_2_6077_0_Torqueactualvalue  ECAT[0].IO[4248].Data
    #define Slave_2_60F4_0_Followingerroract  ECAT[0].IO[4249].Data
    #define Slave_2_60BA_0_Touchprobepositio  ECAT[0].IO[4250].Data
    #define Slave_2_60BB_0_Touchprobepositio  ECAT[0].IO[4251].Data
    #define Slave_2_60FD_0_Digitalinput  ECAT[0].IO[4252].Data
    #define Slave_2_6041_0_Statusword  ECAT[0].IO[4253].Data
    #define Slave_2_6061_0_Modesofoperationd  ECAT[0].IO[4254].Data
    #define Slave_2_1001_0_Errorregister  ECAT[0].IO[4255].Data
    #define Slave_2_6064_0_Positionactualval  ECAT[0].IO[4256].Data
    #define Slave_2_606C_0_Velocityactualval  ECAT[0].IO[4257].Data
    #define Slave_2_6077_0_Torqueactualvalue  ECAT[0].IO[4258].Data
    #define Slave_2_60F4_0_Followingerroract  ECAT[0].IO[4259].Data
    #define Slave_2_60FD_0_Digitalinput  ECAT[0].IO[4260].Data
    #define Slave_2_6040_0_Controlword  ECAT[0].IO[4261].Data
    #define Slave_2_6040_0_Controlword  ECAT[0].IO[4262].Data
    #define Slave_2_607A_0_Targetposition  ECAT[0].IO[4263].Data
    #define Slave_2_60FF_0_Targetvelocity  ECAT[0].IO[4264].Data
    #define Slave_2_6071_0_Targettorque  ECAT[0].IO[4265].Data
    #define Slave_2_6081_0_Profilevelocity  ECAT[0].IO[4266].Data
    #define Slave_2_6083_0_Profileaccelerati  ECAT[0].IO[4267].Data
    #define Slave_2_6084_0_Profiledecelerati  ECAT[0].IO[4268].Data
    #define Slave_2_60FE_1_Digitaloutputs  ECAT[0].IO[4269].Data
    #define Slave_2_6040_0_Controlword  ECAT[0].IO[4270].Data
    #define Slave_2_60B8_0_Touchprobefunctio  ECAT[0].IO[4271].Data
    #define Slave_2_607A_0_Targetposition  ECAT[0].IO[4272].Data
    #define Slave_2_60FF_0_Targetvelocity  ECAT[0].IO[4273].Data
    #define Slave_2_6071_0_Targettorque  ECAT[0].IO[4274].Data
    #define Slave_2_6081_0_Profilevelocity  ECAT[0].IO[4275].Data
    #define Slave_2_6083_0_Profileaccelerati  ECAT[0].IO[4276].Data
    #define Slave_2_6084_0_Profiledecelerati  ECAT[0].IO[4277].Data
    #define Slave_2_6040_0_Controlword  ECAT[0].IO[4278].Data
    #define Slave_2_607A_0_Targetposition  ECAT[0].IO[4279].Data
    #define Slave_2_60FF_0_Targetvelocity  ECAT[0].IO[4280].Data
    #define Slave_2_6071_0_Targettorque  ECAT[0].IO[4281].Data
    #define Slave_2_6081_0_Profilevelocity  ECAT[0].IO[4282].Data
    #define Slave_2_6083_0_Profileaccelerati  ECAT[0].IO[4283].Data
    #define Slave_2_6084_0_Profiledecelerati  ECAT[0].IO[4284].Data
    #define Slave_3_6041_0_Statusword  ECAT[0].IO[4285].Data
    #define Slave_3_2100_0_Statusword1  ECAT[0].IO[4286].Data
    #define Slave_3_6064_0_Positionactualval  ECAT[0].IO[4287].Data
    #define Slave_3_606C_0_Velocityactualval  ECAT[0].IO[4288].Data
    #define Slave_3_6077_0_Torqueactualvalue  ECAT[0].IO[4289].Data
    #define Slave_3_60F4_0_Followingerroract  ECAT[0].IO[4290].Data
    #define Slave_3_60B9_0_Touchprobestatus  ECAT[0].IO[4291].Data
    #define Slave_3_60BA_0_Touchprobepositio  ECAT[0].IO[4292].Data
    #define Slave_3_60BB_0_Touchprobepositio  ECAT[0].IO[4293].Data
    #define Slave_3_60FD_0_Digitalinput  ECAT[0].IO[4294].Data
    #define Slave_3_1001_0_Errorregister  ECAT[0].IO[4295].Data
    #define Slave_3_6061_0_Modesofoperationd  ECAT[0].IO[4296].Data
    #define Slave_3_6041_0_Statusword  ECAT[0].IO[4297].Data
    #define Slave_3_6061_0_Modesofoperationd  ECAT[0].IO[4298].Data
    #define Slave_3_1001_0_Errorregister  ECAT[0].IO[4299].Data
    #define Slave_3_6064_0_Positionactualval  ECAT[0].IO[4300].Data
    #define Slave_3_606C_0_Velocityactualval  ECAT[0].IO[4301].Data
    #define Slave_3_6077_0_Torqueactualvalue  ECAT[0].IO[4302].Data
    #define Slave_3_60F4_0_Followingerroract  ECAT[0].IO[4303].Data
    #define Slave_3_60FD_0_Digitalinput  ECAT[0].IO[4304].Data
    #define Slave_3_6041_0_Statusword  ECAT[0].IO[4305].Data
    #define Slave_3_60B9_0_Touchprobestatus  ECAT[0].IO[4306].Data
    #define Slave_3_6061_0_Modesofoperationd  ECAT[0].IO[4307].Data
    #define Slave_3_1001_0_Errorregister  ECAT[0].IO[4308].Data
    #define Slave_3_6064_0_Positionactualval  ECAT[0].IO[4309].Data
    #define Slave_3_606C_0_Velocityactualval  ECAT[0].IO[4310].Data
    #define Slave_3_6077_0_Torqueactualvalue  ECAT[0].IO[4311].Data
    #define Slave_3_60F4_0_Followingerroract  ECAT[0].IO[4312].Data
    #define Slave_3_60BA_0_Touchprobepositio  ECAT[0].IO[4313].Data
    #define Slave_3_60BB_0_Touchprobepositio  ECAT[0].IO[4314].Data
    #define Slave_3_60FD_0_Digitalinput  ECAT[0].IO[4315].Data
    #define Slave_3_6041_0_Statusword  ECAT[0].IO[4316].Data
    #define Slave_3_6061_0_Modesofoperationd  ECAT[0].IO[4317].Data
    #define Slave_3_1001_0_Errorregister  ECAT[0].IO[4318].Data
    #define Slave_3_6064_0_Positionactualval  ECAT[0].IO[4319].Data
    #define Slave_3_606C_0_Velocityactualval  ECAT[0].IO[4320].Data
    #define Slave_3_6077_0_Torqueactualvalue  ECAT[0].IO[4321].Data
    #define Slave_3_60F4_0_Followingerroract  ECAT[0].IO[4322].Data
    #define Slave_3_60FD_0_Digitalinput  ECAT[0].IO[4323].Data
    #define Slave_3_6040_0_Controlword  ECAT[0].IO[4324].Data
    #define Slave_3_6040_0_Controlword  ECAT[0].IO[4325].Data
    #define Slave_3_607A_0_Targetposition  ECAT[0].IO[4326].Data
    #define Slave_3_60FF_0_Targetvelocity  ECAT[0].IO[4327].Data
    #define Slave_3_6071_0_Targettorque  ECAT[0].IO[4328].Data
    #define Slave_3_6081_0_Profilevelocity  ECAT[0].IO[4329].Data
    #define Slave_3_6083_0_Profileaccelerati  ECAT[0].IO[4330].Data
    #define Slave_3_6084_0_Profiledecelerati  ECAT[0].IO[4331].Data
    #define Slave_3_60FE_1_Digitaloutputs  ECAT[0].IO[4332].Data
    #define Slave_3_6040_0_Controlword  ECAT[0].IO[4333].Data
    #define Slave_3_60B8_0_Touchprobefunctio  ECAT[0].IO[4334].Data
    #define Slave_3_607A_0_Targetposition  ECAT[0].IO[4335].Data
    #define Slave_3_60FF_0_Targetvelocity  ECAT[0].IO[4336].Data
    #define Slave_3_6071_0_Targettorque  ECAT[0].IO[4337].Data
    #define Slave_3_6081_0_Profilevelocity  ECAT[0].IO[4338].Data
    #define Slave_3_6083_0_Profileaccelerati  ECAT[0].IO[4339].Data
    #define Slave_3_6084_0_Profiledecelerati  ECAT[0].IO[4340].Data
    #define Slave_3_6040_0_Controlword  ECAT[0].IO[4341].Data
    #define Slave_3_607A_0_Targetposition  ECAT[0].IO[4342].Data
    #define Slave_3_60FF_0_Targetvelocity  ECAT[0].IO[4343].Data
    #define Slave_3_6071_0_Targettorque  ECAT[0].IO[4344].Data
    #define Slave_3_6081_0_Profilevelocity  ECAT[0].IO[4345].Data
    #define Slave_3_6083_0_Profileaccelerati  ECAT[0].IO[4346].Data
    #define Slave_3_6084_0_Profiledecelerati  ECAT[0].IO[4347].Data
    #define Slave_4_6041_0_Statusword  ECAT[0].IO[4348].Data
    #define Slave_4_2100_0_Statusword1  ECAT[0].IO[4349].Data
    #define Slave_4_6064_0_Positionactualval  ECAT[0].IO[4350].Data
    #define Slave_4_606C_0_Velocityactualval  ECAT[0].IO[4351].Data
    #define Slave_4_6077_0_Torqueactualvalue  ECAT[0].IO[4352].Data
    #define Slave_4_60F4_0_Followingerroract  ECAT[0].IO[4353].Data
    #define Slave_4_60B9_0_Touchprobestatus  ECAT[0].IO[4354].Data
    #define Slave_4_60BA_0_Touchprobepositio  ECAT[0].IO[4355].Data
    #define Slave_4_60BB_0_Touchprobepositio  ECAT[0].IO[4356].Data
    #define Slave_4_60FD_0_Digitalinput  ECAT[0].IO[4357].Data
    #define Slave_4_1001_0_Errorregister  ECAT[0].IO[4358].Data
    #define Slave_4_6061_0_Modesofoperationd  ECAT[0].IO[4359].Data
    #define Slave_4_6041_0_Statusword  ECAT[0].IO[4360].Data
    #define Slave_4_6061_0_Modesofoperationd  ECAT[0].IO[4361].Data
    #define Slave_4_1001_0_Errorregister  ECAT[0].IO[4362].Data
    #define Slave_4_6064_0_Positionactualval  ECAT[0].IO[4363].Data
    #define Slave_4_606C_0_Velocityactualval  ECAT[0].IO[4364].Data
    #define Slave_4_6077_0_Torqueactualvalue  ECAT[0].IO[4365].Data
    #define Slave_4_60F4_0_Followingerroract  ECAT[0].IO[4366].Data
    #define Slave_4_60FD_0_Digitalinput  ECAT[0].IO[4367].Data
    #define Slave_4_6041_0_Statusword  ECAT[0].IO[4368].Data
    #define Slave_4_60B9_0_Touchprobestatus  ECAT[0].IO[4369].Data
    #define Slave_4_6061_0_Modesofoperationd  ECAT[0].IO[4370].Data
    #define Slave_4_1001_0_Errorregister  ECAT[0].IO[4371].Data
    #define Slave_4_6064_0_Positionactualval  ECAT[0].IO[4372].Data
    #define Slave_4_606C_0_Velocityactualval  ECAT[0].IO[4373].Data
    #define Slave_4_6077_0_Torqueactualvalue  ECAT[0].IO[4374].Data
    #define Slave_4_60F4_0_Followingerroract  ECAT[0].IO[4375].Data
    #define Slave_4_60BA_0_Touchprobepositio  ECAT[0].IO[4376].Data
    #define Slave_4_60BB_0_Touchprobepositio  ECAT[0].IO[4377].Data
    #define Slave_4_60FD_0_Digitalinput  ECAT[0].IO[4378].Data
    #define Slave_4_6041_0_Statusword  ECAT[0].IO[4379].Data
    #define Slave_4_6061_0_Modesofoperationd  ECAT[0].IO[4380].Data
    #define Slave_4_1001_0_Errorregister  ECAT[0].IO[4381].Data
    #define Slave_4_6064_0_Positionactualval  ECAT[0].IO[4382].Data
    #define Slave_4_606C_0_Velocityactualval  ECAT[0].IO[4383].Data
    #define Slave_4_6077_0_Torqueactualvalue  ECAT[0].IO[4384].Data
    #define Slave_4_60F4_0_Followingerroract  ECAT[0].IO[4385].Data
    #define Slave_4_60FD_0_Digitalinput  ECAT[0].IO[4386].Data
    #define Slave_4_6040_0_Controlword  ECAT[0].IO[4387].Data
    #define Slave_4_6040_0_Controlword  ECAT[0].IO[4388].Data
    #define Slave_4_607A_0_Targetposition  ECAT[0].IO[4389].Data
    #define Slave_4_60FF_0_Targetvelocity  ECAT[0].IO[4390].Data
    #define Slave_4_6071_0_Targettorque  ECAT[0].IO[4391].Data
    #define Slave_4_6081_0_Profilevelocity  ECAT[0].IO[4392].Data
    #define Slave_4_6083_0_Profileaccelerati  ECAT[0].IO[4393].Data
    #define Slave_4_6084_0_Profiledecelerati  ECAT[0].IO[4394].Data
    #define Slave_4_60FE_1_Digitaloutputs  ECAT[0].IO[4395].Data
    #define Slave_4_6040_0_Controlword  ECAT[0].IO[4396].Data
    #define Slave_4_60B8_0_Touchprobefunctio  ECAT[0].IO[4397].Data
    #define Slave_4_607A_0_Targetposition  ECAT[0].IO[4398].Data
    #define Slave_4_60FF_0_Targetvelocity  ECAT[0].IO[4399].Data
    #define Slave_4_6071_0_Targettorque  ECAT[0].IO[4400].Data
    #define Slave_4_6081_0_Profilevelocity  ECAT[0].IO[4401].Data
    #define Slave_4_6083_0_Profileaccelerati  ECAT[0].IO[4402].Data
    #define Slave_4_6084_0_Profiledecelerati  ECAT[0].IO[4403].Data
    #define Slave_4_6040_0_Controlword  ECAT[0].IO[4404].Data
    #define Slave_4_607A_0_Targetposition  ECAT[0].IO[4405].Data
    #define Slave_4_60FF_0_Targetvelocity  ECAT[0].IO[4406].Data
    #define Slave_4_6071_0_Targettorque  ECAT[0].IO[4407].Data
    #define Slave_4_6081_0_Profilevelocity  ECAT[0].IO[4408].Data
    #define Slave_4_6083_0_Profileaccelerati  ECAT[0].IO[4409].Data
    #define Slave_4_6084_0_Profiledecelerati  ECAT[0].IO[4410].Data
    #define Slave_5_6041_0_Statusword  ECAT[0].IO[4411].Data
    #define Slave_5_2100_0_Statusword1  ECAT[0].IO[4412].Data
    #define Slave_5_6064_0_Positionactualval  ECAT[0].IO[4413].Data
    #define Slave_5_606C_0_Velocityactualval  ECAT[0].IO[4414].Data
    #define Slave_5_6077_0_Torqueactualvalue  ECAT[0].IO[4415].Data
    #define Slave_5_60F4_0_Followingerroract  ECAT[0].IO[4416].Data
    #define Slave_5_60B9_0_Touchprobestatus  ECAT[0].IO[4417].Data
    #define Slave_5_60BA_0_Touchprobepositio  ECAT[0].IO[4418].Data
    #define Slave_5_60BB_0_Touchprobepositio  ECAT[0].IO[4419].Data
    #define Slave_5_60FD_0_Digitalinput  ECAT[0].IO[4420].Data
    #define Slave_5_1001_0_Errorregister  ECAT[0].IO[4421].Data
    #define Slave_5_6061_0_Modesofoperationd  ECAT[0].IO[4422].Data
    #define Slave_5_6041_0_Statusword  ECAT[0].IO[4423].Data
    #define Slave_5_6061_0_Modesofoperationd  ECAT[0].IO[4424].Data
    #define Slave_5_1001_0_Errorregister  ECAT[0].IO[4425].Data
    #define Slave_5_6064_0_Positionactualval  ECAT[0].IO[4426].Data
    #define Slave_5_606C_0_Velocityactualval  ECAT[0].IO[4427].Data
    #define Slave_5_6077_0_Torqueactualvalue  ECAT[0].IO[4428].Data
    #define Slave_5_60F4_0_Followingerroract  ECAT[0].IO[4429].Data
    #define Slave_5_60FD_0_Digitalinput  ECAT[0].IO[4430].Data
    #define Slave_5_6041_0_Statusword  ECAT[0].IO[4431].Data
    #define Slave_5_60B9_0_Touchprobestatus  ECAT[0].IO[4432].Data
    #define Slave_5_6061_0_Modesofoperationd  ECAT[0].IO[4433].Data
    #define Slave_5_1001_0_Errorregister  ECAT[0].IO[4434].Data
    #define Slave_5_6064_0_Positionactualval  ECAT[0].IO[4435].Data
    #define Slave_5_606C_0_Velocityactualval  ECAT[0].IO[4436].Data
    #define Slave_5_6077_0_Torqueactualvalue  ECAT[0].IO[4437].Data
    #define Slave_5_60F4_0_Followingerroract  ECAT[0].IO[4438].Data
    #define Slave_5_60BA_0_Touchprobepositio  ECAT[0].IO[4439].Data
    #define Slave_5_60BB_0_Touchprobepositio  ECAT[0].IO[4440].Data
    #define Slave_5_60FD_0_Digitalinput  ECAT[0].IO[4441].Data
    #define Slave_5_6041_0_Statusword  ECAT[0].IO[4442].Data
    #define Slave_5_6061_0_Modesofoperationd  ECAT[0].IO[4443].Data
    #define Slave_5_1001_0_Errorregister  ECAT[0].IO[4444].Data
    #define Slave_5_6064_0_Positionactualval  ECAT[0].IO[4445].Data
    #define Slave_5_606C_0_Velocityactualval  ECAT[0].IO[4446].Data
    #define Slave_5_6077_0_Torqueactualvalue  ECAT[0].IO[4447].Data
    #define Slave_5_60F4_0_Followingerroract  ECAT[0].IO[4448].Data
    #define Slave_5_60FD_0_Digitalinput  ECAT[0].IO[4449].Data
    #define Slave_5_6040_0_Controlword  ECAT[0].IO[4450].Data
    #define Slave_5_6040_0_Controlword  ECAT[0].IO[4451].Data
    #define Slave_5_607A_0_Targetposition  ECAT[0].IO[4452].Data
    #define Slave_5_60FF_0_Targetvelocity  ECAT[0].IO[4453].Data
    #define Slave_5_6071_0_Targettorque  ECAT[0].IO[4454].Data
    #define Slave_5_6081_0_Profilevelocity  ECAT[0].IO[4455].Data
    #define Slave_5_6083_0_Profileaccelerati  ECAT[0].IO[4456].Data
    #define Slave_5_6084_0_Profiledecelerati  ECAT[0].IO[4457].Data
    #define Slave_5_60FE_1_Digitaloutputs  ECAT[0].IO[4458].Data
    #define Slave_5_6040_0_Controlword  ECAT[0].IO[4459].Data
    #define Slave_5_60B8_0_Touchprobefunctio  ECAT[0].IO[4460].Data
    #define Slave_5_607A_0_Targetposition  ECAT[0].IO[4461].Data
    #define Slave_5_60FF_0_Targetvelocity  ECAT[0].IO[4462].Data
    #define Slave_5_6071_0_Targettorque  ECAT[0].IO[4463].Data
    #define Slave_5_6081_0_Profilevelocity  ECAT[0].IO[4464].Data
    #define Slave_5_6083_0_Profileaccelerati  ECAT[0].IO[4465].Data
    #define Slave_5_6084_0_Profiledecelerati  ECAT[0].IO[4466].Data
    #define Slave_5_6040_0_Controlword  ECAT[0].IO[4467].Data
    #define Slave_5_607A_0_Targetposition  ECAT[0].IO[4468].Data
    #define Slave_5_60FF_0_Targetvelocity  ECAT[0].IO[4469].Data
    #define Slave_5_6071_0_Targettorque  ECAT[0].IO[4470].Data
    #define Slave_5_6081_0_Profilevelocity  ECAT[0].IO[4471].Data
    #define Slave_5_6083_0_Profileaccelerati  ECAT[0].IO[4472].Data
    #define Slave_5_6084_0_Profiledecelerati  ECAT[0].IO[4473].Data
    "
    

    Many of the tokens are reused!

    What's wrong with it? IDE or ?

  4. lovu,

     

    Can you redefine your axes? If you were to scale them differently, then draw a circle, your result would be an ellipse.

     

    Alternately, if you can generate a list of points along your elliptical path, you could use a SPLINE move and simply command the tool tip to move through all of the points.

     

    We're trying to think of if there's a better way...theoretically, drawing a circle in 3D space, projecting it into 2D space to get an ellipse, and then performing an axis transformation to rotate it would lead to your tool tip truly being commanded along an ellipse, but I don't feel it's particularly elegant.

     

    Hello AAnikstein,

     

    Many thanks for your kindly reply.

    Yes, I know the desired ellipse can be got from a projected translated spacial circle.

    Do you mean PPMAC cannot draw ellipse directly? I want to draw it with a robot .

  5. Maybe the attached application note from the Delta Tau website will help.

     

    my motion prog:

     

    open prog 4

     

    ts 100;

    ta 210;

    F10;

    inc

    inc(I,J,K);

    normal k-1 j(-tan(60));

    circle1;

    i-10 j0;

     

    close

     

    I have learnt that.

    By gatering x-y-z pos with a plc, the tcp path is a true circle in space.

    what I need is an ellipse in space, not a true circle. :)

  6. In Example 1, the NORMAL command is used.

    However, because of wrong break in the command line, the command got into the comment.

    This is a typo.

     

    If you look at that example again, you will see what I mean.

    The command line should be:

     

    NORMAL k-1 j (-TAN(60))

     

     

    I have been looking over the ellipse example in the circular interpolation.pdf file but I have some questions about it. First the example talks about the use of a NORMAL command but this command is not listed in the example program. Second the example has a couple of blocked out areas in the example that i am guessing are important to the example.

     

    Does anyone else have any examples on how to draw ellipses?

     

    Thanks in advance

     

    Seems no effect on power pmac, only circle in x-y-z space is made, what I need is an ellipse in x-y-z space. Anyone can help?

×
×
  • Create New...