ReceiveMessage
The ReceiveMessage
is a block used to receive messages. One or more message types can be received by using added MessageArgument
inputs.
Usage
ReceiveMessage can be used to receive messages and data from other parts of the system with the ability to detect new messages in cyclically running logic without losing messages when multiple messages are received during a single cycle.
ReceiveMessage supports adding multiple MessageArgument inputs and multiple Argument outputs.
When user-added output arguments exist, the values are extracted from the data partition of the message if available. Depending on the received message Command the data partition is converted to argument values as follows:
- for any CM_TEXTCOMMAND the data is decoded as semicolon-separated argument name and value key-value pairs "
Speed=10;Distance=15
". - for any binary command the data is decoded as network byte-ordered raw data bytes in the current argument order.
Object API
AffectTrigger | Selection option defining how the received message is indicated. High sets Trigger argument high for one cycle, Low sets Trigger argument low for one cycle, RisingEdge creates a rising edge on Trigger argument (note that it will also cause a falling edge on the next cycle to be ready for the next rising edge and so with this option indicating a single message takes two cycles) FallingEdge creates a falling edge on Trigger argument (note that it will also cause a rising edge on the next cycle to be ready for the next falling edge and so with this option indicating a single message takes two cycles) BothEdges creates either a falling or rising edge depending on the current value of the Trigger argument to indicate a message. |
Trigger | Argument that is used to indicate a message has been received. Its behavior is defined by the AffectTrigger property. |
QueueFull | Argument indicating that more messages have been received than fits the queue size set by QueueLimit property. |
QueueLimit | Limits how many messages the ReceiveMessage object will store to be able to unroll them one by one. |
See also MessageArgument, SendMessage, and MessageProxy.
Get started with CDP Studio today
Let us help you take your great ideas and turn them into the products your customer will love.