Jump to content
OMRON Forums

Eric Hotchkiss

Omron
  • Posts

    558
  • Joined

  • Last visited

  • Days Won

    8

Everything posted by Eric Hotchkiss

  1. Can you successfully read the PDO if that device is the only slave plugged into your master? Is that PDO, or any other PDO you're mapping on that slave, greater than 32 bits?
  2. Can you look at your motor status for the motor you jogged and see if it has an I2tFault? If so I may have some notes on the issue I can dig up. You might as well look for any other bad status bits while you're at it.
  3. For the online command, all you have to do is type the whole word "out" #1out50 The in program version of the command would be: Cout 1:50 see page 1238 of the October 2017 Software Reference Manual: You can still use command quotes: cmd "#1out50" Max allowable torque is in Motor[x].MaxDac, which can still be addressed as ixx69 just like most other legacy I-Variables. I'm not sure which variable you are looking for with Ixx79. For a brushed motor, you would bias the DAC output with Motor[x].DacBias. For a brushless motor, you would bias the ADCs with Motor[x].IaBias and Motor[x].IbBias. Motor[x].IbBias is the one that translates directly to Ixx79. For open loop, it looks like we traded that status bit for the closed loop status bit: Motor[x].ClosedLoop For motor status bits in general, open up the status window, click the motor tab, choose the status bit you need and put Motor[x]. in front. I have a feeling you will also find addressing multiple motors helpful: #1..4J+ #1,3,7J- #1,3..5,10J:10
  4. What IDE and firmware version are you using? Just to make sure we are on the same page here, please confirm that you can follow this procedure and at the end the default values of 2 and 1 are returned. Each line should be one line in your terminal. $$$*** Sys.WpKey=$AAAAAAAA PowerBrick[0].Chan[0].PackInData=0 PowerBrick[0].Chan[0].PackOutData=0 PowerBrick[0].Chan[0].PackInData PowerBrick[0].Chan[0].PackOutData
  5. Well your variable should be set to nan (not a number). Conditional checks should make sense, nan is never going to evaluate equal a number. Feel free to test any condition you're worried about. There is also a isnan() function. See page 1395 of the October 2017 SRM for more details, but it just returns 0 for real numbers and 1 for nan. Almost forgot to add, put this in the terminal to see that 0/0 evaluates to nan: p0=0/0 p0
  6. Are you saying the IDE reports the value as 0/0 or your plc attempts to set the value to 0/0? In either case, I would expect the value to be reported as "nan".
  7. Dear Lovu, I am also assuming your velocity is being limited. There is a small chance it can be a position that is limited since I am not sure what variables are plotted. Lets try lowering the feedrate to try to get below any velocity limits and if that doesn't work multiply the amplitude of your cosine by 1/2 to get away from position limits. I am not sure of the configuration of your two axes. I think one motor is slaved off another. If that's the case it could be a limit on either motor.
  8. If you want cosine in degrees on power pmac, then use the function cosd(). I believe I saw a picture on here with a velocity graph that is horizontal line, that takes a slightly smaller value when position is at a min/max. Now it says the attachment has been removed. I was assuming the issue was special lookahead or PMAC otherwise limiting your speed/position. Are you currently using special look ahead or software limits? Could you re-upload the plot and specify what a "good" plot would look like?
  9. If you are going to use a PLC, you might want to look at Motor[x].FltrVel or Motor[x].FltrVel2 to get something that's averaged over a longer time. Note that scaling is needed, I think a factor of 16 or 16*Sys.ServoPeriod.
  10. What are you trying to accomplish? I ask because I have a feeling there is an easier method that will not require fooling the PMAC. You can set CompTable[1].Target[0]=Motor[x].CompPos.a, where x is an unused motor structure. (This will not require Motor[x].ServoCtrl=1) Then you can grab the value of Motor[x].CompPos in some kind of program. If timing is critical, you will probably have to grab the values in a custom phase or servo algorithm. Take a look at page 65 and 66 of the Users Manual for the order of phase/servo tasks. Otherwise you should be able to use a PLC.
  11. We believe unsigned is the normal default for char. Every character in the ascii tables is represented by a positive integer.
  12. To clarify, we are working to fix the arm task manager bug for our next IDE release.
  13. I believe your reported RTI time is including your Servo time. While this is properly subtracted out on 465 CPUs, there is a bug in the task manager for ARM. For a more accurate RTI time, use one of these equations in a plc. The difference is whether the values on the right side of the equal sign have already been filtered. GLOBAL RtIntTaskTime, FltrRtIntTaskTime; RtIntTaskTime=Sys.RtIntTime-(int(Sys.RtIntTime/Sys.ServoDeltaTime)+1)*Sys.ServoTime FltrRtIntTaskTime=Sys.FltrRtIntTime-(int(Sys.FltrRtIntTime/Sys.ServoDeltaTime)+1)*Sys.FltrServoTime
  14. Where did you get these execution times? From the task manager? From Sys.RtIntTime and Sys.ServoTime? Sys.RtIntTime is time from the start of servo tasks to the end of real time tasks. It needs to have the servo time removed to be accurate. I want to make sure you're getting both sets of numbers from the same place.
  15. Can you give some information about what this system is doing? What ethercat slaves does it have? Are you doing anything in foreground or C plcs? Are you using lookahead? Do you have a low segmentation time? Are you using kinematics?
  16. What IDE version and how did you close the IDE? It usually remembers that information only when closed properly. If it crashes, the information is gone.
  17. PowerPC, APM86xxx means it's a 465. Just make sure it's a Clipper or a UMAC.
  18. Just to be clear, if you decide to go the route of installing a linux package, that is not something we support and there are risks involved. I wouldn't attempt it unless you know linux well and make an image first.
  19. I haven't seen fortran on a PMAC before, but it looks like it just boils down to installing and using a linux package. Take a look at our network time app note for a description of how to install packages on a PMAC. http://forums.deltatau.com/filedepot/download.php?f=Power%20PMAC/Application%20Notes/Network%20Time%20on%20Power%20PMAC.PDF [FILE REMOVED] And remember to take an image of your PMAC before you try.
  20. Mike: I don't see that pop-up. Just to be sure I turned off my ck3e, closed the ide, turned on my ck3e and then opened the ide. Do you actually have a project, or just ENI and config files? Navin: If you can still talk to linux (ping or putty) I would try the "PowerPmacFirmwareInstall" folder before giving up on the flash memory.
  21. That link didn't work right in the most recent post. http://www.deltatau.com/DT_SoftwareDownload/SoftwareUpdates.aspx
  22. Are you saying you swapped out the mezzanine boards yourself or you want to buy a version with different mezzanine boards?
  23. 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.
  24. Please send an email about this issue to support@deltatau.com I thought the issue had been resolved for your coworker, so I just want to make sure we're on the same page and get you software's solution.
  25. 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
×
×
  • Create New...