Accessing Card Resources
3
External communications use this same bus to access the serial, CANbus, or Ethernet communication ports. This
means that commands to card resources may originate from outside the card via the serial, CANbus, or Ethernet ports,
or internally, via the C-Motion Engine.
A powerful feature of the Prodigy/CME PC/104 card's communication bus is that it can process multiple
communication requests simultaneously. For example the C-Motion Engine can be used to send motion commands
to the on-card Magellan Motion Processor, while an external host controller can communicate to the same Magellan
via the Ethernet port to monitor progress of the moves, and display results on a remote capture/analysis program
such as PMD's Pro-Motion software.
While it is allowed to have more than one communications channel send motion commands to the Prodigy/CME
PC/104 card's Magellan Motion Processor and another channel send monitoring-related requests, it is not advis-
able to have multiple communication channels send motion commands to the Magellan at the same time. This may
result in unexpected or unsafe motion.
3.2.1
The Prodigy/CME PC/104 card provides four different programmable network connection types, PC/104 bus,
Serial, CANbus, and Ethernet. These communication resources are represented in PRP by a construct called a
peripheral connection. A peripheral is a resource (resource ID: 4), and is provided, or utilized, by various PRP actions
to send and receive messages to network connections.
Obtaining access to either the PC/104 bus, Serial, CANbus, or Ethernet port is accomplished via the PRP
action. This action opens a peripheral by specifying a sub-action of
OpenUDP
peripheral connection. Each new open peripheral connection receives an automatically assigned address. The
application code that requests the new peripheral connection must record that provided address for future use, and it
is this address that is used within the PRP message to reference the newly created peripheral connection.
Automatically assigned addresses generally increment by one each time they are assigned, however this should
not be assumed. The exact return address value should be stored and only that value should be used to reference
that specific peripheral. Each Peripheral Open action is specific to the type of connection being requested. For
example there is an 'open peripheral' command for CANbus communications, one for Serial communications, and
so on.
To send a message to the new peripheral connection, a timeout parameter and the desired message is loaded into the
PRP message body and the
action is used. The
message body. If a message is not received in the specified amount of time an error is returned.
60
Peripheral Connections
, as well as the detailed connection parameters that will be used during communications with that specific
Send
action is specified. To retrieve messages from that peripheral connection the
Receive
action requires that an amount of time (the communication timeout) be loaded into the
OpenISA
,
OpenSerial
,
OpenCAN
Prodigy/CME PC/104 User's Guide
Open
, or
OpenTCP
or
Receive
Need help?
Do you have a question about the Prodigy Series and is the answer not in the manual?