Jump to content
OMRON Forums

About Macro and UMAC!


prbt
 Share

Recommended Posts

Hi, We want to use UMAC to operate our minimally invasive medical apparatus. There are totally 30 axes under control in our system, where 12 axes are served for two Master manipulators-the left one(6 axes) and the right one(6 axes), 14 axes are served for two Slave manipulators-the left one(7 axes) and the right one(7 axes)-each corresponding to one of the Master manipulators respectively, and the rest 4 axes are served for a video arm. A control system is needed to construct for controlling movement of arms according to user manipulation of the master manipulators. Our questions are: 1. If one UMAC turbo as a master node(connected to the master manipulators-12 axes) and one UMAC Macro as a slave node(connected to the slave manipulators-14 axes) are applied based on Macro with fiber optic, the positions and postures of the Master manipulators needed to be gathered to the UMAC turbo and do some caculation in it, then send control commands to the UMAC Macro over Macro network so that the slave manipulators can perform as the masters do. Since Macro is a real-time network control system and the control loop is closed by fiber-optic cable, we wonder if the motors connected to the slave node(UMAC Macro) will run away when the fiber-optic cable is damaged or broken by accident. 2. If we use the other UMAC turbo as a substitute for the UMAC Macro mentioned in question 1( There are actual two master nodes-each connecting to the Master manipulators and the Slave manipulators respectively), will the runaway speed of the motors connected to UMAC Macro be avoided? And we wonder if it is feasible for UMAC turbo to perform as two Macro master nodes and share their data such as postions and postures by Node 14 Ring Master-to-master Communication (type 1 MACRO). We are looking forward your reply. Thank you! Tony
Link to comment
Share on other sites

  • Replies 10
  • Created
  • Last Reply

Top Posters In This Topic

Tony, In any MACRO system, in case of a ring failure (broken fiber, power loss along the ring, etc.) each station will shutdown all outputs (digital and analog) and first station which detects the ring failure, it relays the information down to downstream station and each station will perform its error handling routine. If connection between the slave unit (lets say UMAC) and amplifiers which are connected to servo motors are designed to the spec. (a.e. amplifier enable lines are used) them amplifiers are going to be disabled as soon as a ring break happens, preventing any runaway. In addition automatic procedure explained above, UMAC MACRO CPU can run a local PLCC which means you can design your own local logic in order to perform additional tasks in case of a ring failure. In other case where you mentioned having two Turbo UMAC systems instead of a MASTER-SLAVE scheme, although it is possible to communicate on Node14, however, this communication is not realtime and happens in background time, which I believe wouldn't be useful for you. However there is a another solution: If you use two Turbo UMAC systems, you can use one of the new features of the MACRO which allows the second UMAC (your slave manipulators) to be commanded directly over MACRO servo nodes as if it was a MACRO station, however in case of a macro failure, by having a safety PLC in the second UMAC, the control of the axis can be taken over by its local CPU, allowing further control on the manipulators. Other solutions are also possible depending on sizing of the motors and feedback type. One of these solutions is having a [url=http://www.deltatau.com/manuals/pdfs/TURBO PMAC2 ETH ULTRALITE.pdf]Turbo PMAC2 Ethernet Ultralite[/url] as a master commanding four 8-axis [url=http://www.deltatau.com/manuals/pdfs/GEO%20BRICK%20USER.pdf]Geo Bricks[/url] or [url=http://www.deltatau.com/manuals/pdfs/BRICK%20CONTROLLER%20HRM.pdf]Brick Controllers[/url] as slaves. Each Brick or Brick controller can turn into its own controller in case of a failure which allows full control over the manipulator and user can communicate which each of them (master and all slaves) independently over Ethernet.
Link to comment
Share on other sites

Mr Sattari, Thank you very much for your prompt and detailed reply. There are some further questions about the scheme.(By the way, if it is possilbe, we want to use some general-purpose drives instead of Geo MACRO Drives) 1. What kind of signals or varibles of the second Turbo UMAC should be detected in the safety PLC so that the control of the axes for the slave manipulators can be taken over by its local CPU? 2. Sometimes, the mapping relationship between the master manipulators and slave manipulators need to be changed by the external I/O signals.(ie, the left slave manipulator should be controlled according to the movement of the right master manipulator instead of the left master manipulator, and the right slave manipulator should be controlled according to the movement of the left master manipulator instead of the right master manipulator). 3. We wonder if the PLC programs running in UMAC Macro can only deal with the I/O signals or some communication matters instead of some simple program commands such as Home, Jog, even CMD"&1B1R". Thank you! Best Regards! Tony Liu
Link to comment
Share on other sites

Tony, Let me explain how you can turn a Turbo CPU into a slave on MACRO rings and this should answer most of your questions. In any Turbo PMAC controller with firmware version 1.945 and later, each motor can be setup to get its command from a MACRO node, instead of PMAC's local servo/commutation routines (Ixx44). Using this setting, each motor on the Turbo PMAC can receive either their torque command or Direct PWM command over the MACRO. In your case, the Turbo UMAC which controls the slave manipulators will be setup as if it was a complete independent controller. You can even implement the forward and inverse kinematics in the slave controller unit in order to allow the user to locally control the slave manipulators. In the slave controller, you'll also implement a PLC which switches the value of Ixx44 for each motor from a 0 (disable) to the correct value (as an example $178423 for node 0 in torque mode) depending on a local variable, lets say P1000. A safety PLC in the slave controller also, constantly checks for any MACRO Ring errors (Lower 4 bits of I6840/I6890/I6940/I6990 and Y:$343B MACRO Error counter) and in case of detecting any error, it will switch the mode from remote controlled to local control by changing the P1000 and let the other PLC do the correct switching of all Ixx44 and other required tasks. In Master controller you'll set up all your local motors for master manipulators as local axis including the camera axis, and also setup the slave manipulators over the macro ring. (You can send commands from master to slave such as mx0,P1000=1 which will set P1000 on the slave to 1). Since the slave was setup in torque mode, you have to actually have tuning for the slave motors in both the slave and the master. The tuning in slave is used when it is controlling the axis locally and the tuning in the master will be used if the slave motors are in MACRO mode (Ixx44>0). Also, you have to implement the kinematics and calculations for your slave manipulators in the master to command them in MACRO mode. Now lets answer your questions: 1. As mentioned above, the slave can always check for MACRO error counters. Just make sure I80, I81 and I82 are setup properly to detect the MACRO errors. (Any Turbo PMAC with firmware 1.945 or newer has these features) 2. Any change in the relationship between the master and slave is simply a logic change in the master and all it matters is how the master inputs are translated into slave movements. Switching between modes can be done in the master. A word of caution: be careful when you change the master/slave relationship since switching masters for a slave manipulator without stopping in between can result in sudden movement of the slave since the master position has changes from master(1) to master(2) in a split second. 3. You're correct. The UMAC MACRO CPU can only run a simple PLCC and nothing more than that. It can't control the axis locally and it has to be commanded through MACRO. It can only control logic and IO points.
Link to comment
Share on other sites

Mr Sattari, We really appreciate your patient explanation which made us at once become enlightened. Perhaps there are some details about the first two questions we want to confirm. 1. If we adopt two Turbo UMAC systems on a MACRO ring, should the master UMAC be ordered with 30 axes, and the other UMAC as a servo node be ordered with 14 axes? 2. Does this mean that the change in the relationship between the master and slave cannot be realized technically if the two slave manipulators are All connected to a single slave node of UMAC turbo or UMAC Macro? Incidentally, the caution for the change is quite advisable! Thank you! Best Regards! Tony Liu
Link to comment
Share on other sites

Tony, 1. The master UMAC only needs to have axis cards required for its own locally controlled axis (12+4=16 axis that is 4 ACC-24E2A+OPT1A) plus MACRO interface to support 14 slave servo nodes, which means an ACC-5E (16 servo node, PN: 3-3437A-00-A001-R100) and on the slave UMAC, you need identical ACC-5E to communicate with the master UMAC and get the data over MACRO ring and also local axis cards for slave manipulators (14 axis = 3 ACC-24E2A+OPT1A + 1 ACC-24E2A). 2. The change in which master manipulator is controlling which slave manipulator is simply a logic change in your logic programming and it is completely independent of hardware/master-slave implementation. Regards,
Link to comment
Share on other sites

Mr Sattari, Thank you for your reply. We need to confirm the following things: 1. How many master nodes and slave nodes on the master UMAC turbo and second UMAC turbo respectively? 2. We check many manuals but fail to find the meaning of "-00-A001-R100" for ACC-5E ordered by PN:3-3437A-00-A001-R100. 3. If we use only a single UMAC turbo(30 axes) without MACRO ring, can we realize the system? 4. We wonder if 2 ACC-68Ms and 2 ACC-28E(8 channels) can be added to one UMAC station at the same time. If so, how many slave nodes will they represent respectively? Thank you! Best Regards! Tony Liu
Link to comment
Share on other sites

Tony, 1. Each ACC-5E can be ordered with either 1 MACRO GATE (8 Servo Nodes and 6 IO nodes) or 2 MACRO GATES (16 Servo Nodes and 12 IO nodes). Each Servo node is capable of transferring information required to do Servo control for one motor on the slave. Since you have 14 servo motors on the slave manipulators, you'll be using 14 Servo nodes on both ACC-5E(s). For example Node 0 of the ACC-5E on the MASTER UMAC corresponds to Node 0 of the ACC-5E of the SLAVE UMAC and torque commands for that motor is sent from the CPU of the MASTER UMAC through its own ACC-5E Node 0 to Node 0 of ACC-5E on SLAVE UMAC and then transfered to CPU of the slave UMAC and then written to the Axis card output of the slave UMAC. Since you utilize 2 Gates for 14 axis, you'll be setting up I6840/I6890 on both ACC-5E(s). 2. That's the new part numbering scheme for ACC-5E. Here is the full part number selection scheme: [attachment=1407:name] 3. part A: Yes, you can use a single UMAC system with 30 Axis on the unit and you don't have to have MACRO at all which means you don't have to setup any communications between the parts (I6840/I6841) but based upon your number of axis (30) you'll use up 15 back-plane slots for axis cards, 1 slot for CPU which leaves you only 2 slots available on our maximum 18-slot back-plane. In this case you won't have enough slots for your 2 ACC-28E and 2 ACC-68Es which you mentioned in question 4. However, if you decide to go with this solution, you can use up one of the slots for an ACC-5E and on the second rack, just have 2 ACC-68E and 2 ACC-28E. 3. PART B: if you decide to use a MACRO16 CPU on the second UMAC, instead of Turbo UMAC + ACC-5E as slave, your MACRO Station components will be : MACRO16 CPU with 16 servo node support + 3 ACC-24E2A+OPT1A (12 axis)+ 1 ACC-24E2A (2 axis) + ACC-R2 (12 slot back plane + rack + power supply) 4. You can add 2 ACC-68M on the ring without any problem. Each ACC-68M uses 1 IO node. 2 ACC-28E can be added either on the MASTER UMAC Rack or on the SLAVE UMAC rack (either with Turbo CPU+ACC-5E or MACRO16 CPU) and each ACC-28E will use 2 IO Nodes.
Link to comment
Share on other sites

Mr Sattari, Thank you for your reply. Ok, forget about one single UMAC turbo scheme and please check the other two schemes for the following matters. The 1st scheme(with the master UMAC turbo and second UMAC turbo) 1. The I6840 on the ACC-5E of the master UMAC should be set to $30, and I6840 on the other ACC-5E of the second UMAC should be $90. And I6890 on both ACC-5E(s) should be set to $10. 2. Maybe the phrase "MACRO nodes" mentioned in the manuals of Delta Tau's products usually refers to a set of registers(servo nodes and I/O nodes), whereas it refers to both the master nodes and the slave nodes on the ring in the [i]MACRO Network Specification[/i]. 3. All parts needed to be ordered for this scheme are as follows: ---The master UMAC turbo: CPU(Option 5E3) with Option-2B(DPRAM) + 1 ACC-5E + 4 ACC-24E2A+OPT1A + Power supplies, cables and racks + RS232 and Ethernet Communication ports to a host computer with WinXP OS(without using ACC-PC104) + I/O boards + A/D boards. ---The second UMAC turbo: CPU(Option 5C0) with Option-2B(DPRAM) + 3 ACC-24E2A+OPT1A+1 ACC-24E2A + Power supplies, cables and racks + RS232 and Ethernet communication ports to a host computer with WinXP OS(without using ACC-PC104) + I/O boards + A/D boards. where I/O boards: At least 48 inputs and 48 outputs should be available to meet the requirements of the system and its extension in the future. There are many ways to add I/O resources to the system. However, if possilbe, we tend to add them directly to the two turbo UMACs instead of introducing another slave station by the following 3 ways: a) through JTHW-Multiplexer Port of the ACC-5E with 1 for both sides or 2 ACC-34AAs for each sides b) with 1 ACC-66E(48-Bit Input Board) and 1 ACC-67E(48-Bit Output Board) c) with 2 ACC-65Es(using 2 I/O nodes) or 2 Acc-11Es A/D boards: Our system needs to be extended for the force feedback from the slave manipulators to the master manipulators. So far we have not achieved a feasible scheme for the force feedback, either by contact and non-contact measurement. Therefore, we wonder if 2 ACC-36Es(using 2 I/O nodes)can be added to the UMAC turbo both for master and slave. ------------------------------------------------------------------ The 2nd scheme(with the master UMAC turbo and UMAC MACRO) 1. Only one ACC-5E is needed for the the master UMAC turbo with I6840=$30 and I6890=$10. 2. All parts needed to be ordered for this scheme are as follows: ---The master UMAC turbo: CPU(Option 5E3) with Option-2B(DPRAM) + 1 ACC-5E + 4 ACC-24E2A+OPT1A + Power supplies, cables and racks + RS232 and Ethernet Communication ports to a host computer with WinXP OS(without using ACC-PC104) + I/O boards + A/D boards. ---The UMAC MACRO: MACRO16 CPU with 16 servo node support + 3 ACC-24E2A+OPT1A (12 axis)+ 1 ACC-24E2A (2 axis) + ACC-R2 (12 slot back plane + rack + power supply) + I/O boards + A/D boards. where I/O boards and A/D boards are the same as the scheme 1. But we wonder if UMAC MACRO donot support RS232 or Ethernet communication. Thank you! Best Regards! ------------------ Tony Liu
Link to comment
Share on other sites

Hi Tony, Ok, on the first set of questions: 1. Since setting up 2 Turbo PMACs to act as master and slave on a ring was primarily targeted for Brick products, if you check the manual for Geo Brick ([url=http://www.deltatau.com/manuals/pdfs/GEO%20BRICK%20USER.pdf]link[/url]), under the section called [b]MACRO CONNECTIVITY[/b] it explains all the settings you need to do in order to achieve the master/slave setup. 2. Each MACRO node is consists of 4 registers, one 24-bit register and three 16-bit registers. Nodes are numbered from 0 to 15 on each MACRO IC. Nodes 0,1,4,5,8,9,12 and 13 are servo nodes, meaning they are intended for transferring servo data such as position feedback, torque or PWM commands and flags and status. Nodes 2,3,6,7,10,11 are meant for IO transfer and there are some automatic IO transfer capabilities in MACRO16 CPU since these IO nodes have open architecture and there is no predefined meaning for each IO bit on them and the assignment from IO accessories to IO nodes has to be defined by the user. Nodes 14 and 15 are used for synchronizing the slaves to the master and also communication between the master-slave and master-master. 3. The parts that you outlined are correct for this application. I would suggest that you always keep track of number of slots that you're using on the backplane since these slots are limited in numbers to a maximum of 18 slots in one rack. 1st UMAC RACK : (10 slots used before IO and AD/DA cards) 1x CPU (Option [b]5F3[/b]) with option 2B (I would recommend a 240 CPU since this CPU should be able to handle 30 axis and additional task that you have. You can start with a 240 CPU and set the CPU speed to 160MHz and see if it still can handle the load of your application and if it does, then for next build of the machine, you'll use 160MHz CPU) The CPU has RS-232/USB and Ethernet connectivity (1 Slot) 1x ACC-5E (32 Nodes) (1 Slot) 4x ACC-24E2A+OPT-1A (4x2=8 Slots) 1x ACC-R3 (18-slot backplane with power supply and rack) 2ns UMAC RACK: (9 Slots used before IO and AD/DA cards) 1x CPU (5C0)+ OPT2B (1 Slot) 1x ACC-5E (32 Nodes) (1 Slot) 3x ACC-24E2A+OPT1 (3x2=6 Slots) 1x ACC-24E2A (1 Slot) 1x ACC-R3 (18-slot backplane with power supply and rack) For digital IO boards that you mentioned: ACC-34AA series are multiplexed IOs and can be used with ACC-5E on either UMAC Rack. These boards can be addressed using their on-board DIP switch and you can have a total of 32 ACC-34AA to each PMAC, which will provide you with 1024 inputs and 1024 outputs. Each input can be wired to be either sinking or sourcing and each set of 8 of outputs can be either sinking or sourcing depending on the driver chip installed on the accessory and since these chips are socketed, you can change them in the field. However, ACC-34AA is a multiplexed IO board, hence it would be slow compared to direct IO boards installed on the backplane. The ACC-65/66/67 and 68 have almost the same speed on IO and they are limited to about 1kHz input frequency because of RC filters on the input lines. Unlike ACC-34AA and ACC-11E the drivers on the ACC-65/67/68 can not be changed and they are always sinking/sourcing depending on accessory number. If you have enough backplane slots available to you, I would recommend using ACC-65/68 instead of ACC-11E or ACC-34AA since they can provide more current and both are much faster. On A/D boards, ACC-34E and ACC-59E are again multiplexed A/D boards, so the data for each ADC is not updated every phase/servo cycle, compared to ACC-28E which this data is updated every phase cycle. If you need the torque measurement on the motor as a feedback, we can provide you with that data by using internal registers of the PMAC. If you decide to use amplifiers that would close the current loop for you and do the commutation then assuming that they have a good tuning on current loop, you can use the servo command register of each motor, to represent its torque. If the PMAC is closing the current loop (direct PWM control), then PMAC can actually measure the amount of current going to the motor and this can be used as your torque feedback. Direct PWM control, requires use of Direct PWM amplifiers and they are usually used with brushless motors. (Check [b]Motor commanded quadrature current[/b] and [b]Motor (Quadrature/torque) command value[/b] registers in memory map section of Turbo SRM) on the Turbo UMAC + MACRO UMAC scheme: 1. Only one ACC-5E with 32 nodes is required (I6840=$4030 and I6890=$10) 2. Parts needed: 1st UMAC RACK : (10 slots used before IO and AD/DA cards) 1x CPU (Option [b]5F3[/b]) with option 2B (I would recommend a 240 CPU since this CPU should be able to handle 30 axis and additional task that you have. You can start with a 240 CPU and set the CPU speed to 160MHz and see if it still can handle the load of your application and if it does, then for next build of the machine, you'll use 160MHz CPU) The CPU has RS-232/USB and Ethernet connectivity (1 Slot) 1x ACC-5E (32 Nodes) (1 Slot) 4x ACC-24E2A+OPT-1A (4x2=8 Slots) 1x ACC-R3 (18-slot backplane with power supply and rack) 2ns UMAC RACK: (8 Slots used before IO and AD/DA cards) 1x MACRO 16 CPU (1 Slot) 3x ACC-24E2A+OPT1 (3x2=6 Slots) 1x ACC-24E2A (1 Slot) 1x ACC-R3 (18-slot backplane with power supply and rack) MACRO16 supports RS-232 communication, but only for troubleshooting purpose.
Link to comment
Share on other sites

Mr Sattari, Thank you for your reply. It is necessary for us to talk about the drive modes and motors we have chosen for the system. The drive for the motors are made by Accelnet Micro Pannel supporting for +/-10V position/velcocity/torque command and PWM velcocity/torque command. The motors for slave manipulators are made by Maxon, where ten of them are brushless 24V DC motors and the rest are brushed 24V DC motors. Our questions are: 1. Without considering force feedback, we wonder if the drive for slave manipulators can operate both in the control mode of velocity and torque with the analog output of Acc-24E2A under MACRO ring, because, as you said, servo data such as position feedback, torque or PWM commands(without velocity commands)and flags and status can be transferred over the MACRO. In this case, maybe the drive cannot close the velocity loop, although Acc-24E2A supports the interfaces of Analog +/-10V velocity commands(we are not very sure about this). And it is impossible to use direct PWM control because of the exist of brushed DC motors. 2. We plan to build two control cabinets, one for the master manipulators and video arm, the other for the slave manipulators, connected by 2 fiber optical cables lying on the ground between them. We are afraid that the fiber optical cable(with the color of yellow) shown in your company website is not strong enough to resist the external force. We wonder if it can be packaged on the outside by some jacket or something like that provided by Delta Tau. 3. There are four motors on the slave manipulators for the surgical instruments with different dof. Therefore, we need to determine the type of the instruments by reading a chip installed in them and inform the UMAC so that it can execute the corrsponding motion programs for the instrument. If the serial port of UMAC(RS232) is used, an independent circuit board has to be designed to read the information from the chip and send it to the UMAC(Our system does not have any computers). So we wonder if serial RS232 is reliable enough to transimit over long distant more than 5 meters(when using UMAC MACRO , the distant may be more longer). Is there any other communication ports more reliable for this application(of course, the interface the chip needs to be changed accordingly)? Thank you! Best Regards! ------------------ Tony Liu
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share


×
×
  • Create New...