Re: CANOpen PDO assignment.
Heinz-Jürgen Oertel <[email protected]>
| Newsgroups | gmane.comp.hardware.bus.can |
|---|---|
| Organization | privat |
| Message-ID | <2149642.eF5RJO9sZe@linux-edhj> |
Am Mittwoch 31 Oktober 2012, 11:33:04 schrieben Sie: > Heinz, > > So my assumption about the Device's point of view is correct. Alright. > That makes sense from a Master/Slave perspective. > > And if a number of Devices also use information from other devices? Then > the model falls apart right? > > For example. Three devices all send 3 PDOs with their digital inputs and > analogue inputs as per 401. One of the inputs on each node is a START > button spread along a long fabrication machine. They each use TPDOs: > 180+node-ID > 280+node-ID > 380+node-ID > > Now the nodes have to use TPDO COBIDs with the respective NodeIDs to > capture this START button event. > > My question and point was I guess, that as long as you maintain a > Master/Slave architecture the TPDO, RPDO concept works. As soon as you > start having inter-device (slave to slave) communications the TPDO, RPDO > concept breaks down. > > What started me thinking about this was when I was at the International > CAN Conference someone mentioned how a CANOpen system could be designed to > be completely masterless with the PDOs serving as the communication > backbone for a system where say an A/D value from one device (TPDO) caused > a motor to run at a certain speed (RPDO) while a third device displayed > both status values from both devices (RPDOs). > > OTOH, with a small master in place it receives the TPDOs from the A/D > device and creates RPDOs for the Motor and Display devices. > > And this brings up a new question. What are CANOpen implementers actually > doing with RPDOs and TPDOs. Are 99.9% of the CANOpen systems really just > Master/Slave? > > No, they aren't. CANopen lives from its configurability. You have to configure, and this is done typically with the RPDOs, The COB-ID and often the mapping too. Most often you have digital Inputs mapped to a Transmit PDO lets say with Id 181. Other nodes that should receive this one, one is putting this input RPDO to relays, another node is only displaying these inputs Node 1 has a (pre-defined) TPDO on 0x181 Node 2 a (configured) RPDO on 0x181 Node 3 a (configured) RPDO on 0x181 > > Thanks > John Dammeyer Regards Heinz I'll send you one of our CANopen training slides in some minutes.