Topic: DMD0303 STREAMIN - Stream in Data from Device |
|
The Stream in Data from Device (STREAMIN) instruction is used to retrieve data from the internal buffer of a stream-capable input device (like a serial port or an Ethernet port), then store the data in either a String or a numeric data block. As its name implies, a stream-capable device is continually collecting input data from the port and storing it in an internal buffer. Each time this instruction is executed, up to 1024 bytes of data can be retrieved from that buffer, based on either a number of bytes, OR a set of termination delimiters, OR a timeout value.
Once retrieved from the internal buffer, the data is then stored in PLC memory. If the data destination is a String, up to 64 bytes can be placed into system-defined Short Strings (SS), or system-defined Long Strings (SL), and up to 1024 bytes can be placed in user-defined Strings. If the data destination is a Numeric Data Block (byte buffer), up to 1024 bytes can be placed in the data block (a new data block of Bytes can be created in the instruction editor).
|
|
Element References:Note: Use the F9 key or click the 'three dot box' at the right edge of the parameter field to open the Default Element Selection Tool (the Element Picker or the Element Browser) or use the Down-Arrow key (Auto-Complete) on any parameter field to see a complete list of the memory locations that are valid for that parameter of the instruction.
Device specifies which stream device to read the input data from.
Complete When ... is a group of options that set conditions that will signal the completion of the STREAMIN instruction. Any combination of the following three options can be used to signal the completion of the instruction:
Data Destination selects where to store the data that has been read from the stream device. The option chosen will depend on the type of data that is received from the Stream Device. If the data is ASCII text the appropriate choice is String Structure. If the data is binary, or simple bytes of data the appropriate choice is a numeric block of bytes.
Endian Settings specify any optional processing to handle the Byte and Word ordering of the data, typically to handle big-endian / little-endian issues:
The On Success and On Error parameters specify what action to perform when this instruction completes. You do not have to use the same type of selection for both On Success and On Error.
If the Set Bit selection is used for either On Success or On Error, the specified BIT location will be SET OFF when the instruction is first enabled and will remain OFF until the instruction completes. Once complete, the appropriate Success or Error bit location ON. The specified Bit location is enabled with a SET (Latch) operation meaning that it will remain ON even if the input logic for the instruction goes OFF.
If the JMP to Stage selection is used for either On Success or On Error the target Stage must be in the same Program code-block as this instruction, you cannot specify a target Stage that exists in a different Program code-block. When the operation finishes, the target Stage will be enabled the same way as a standalone Jump to Stage (JMP) instruction would do it. The JMP to Stage option will only be available if this instruction is placed in a Program code-block.
On Success selects which of the following actions to perform if the operation is successful:
On Error selects which of
the following actions to perform if the operation is unsuccessful:
If either the On Success or On Error selections are set to JMP to Stage, Automatically create the SG box for any NEW stage number will be enabled which will automatically create any target stage that does not already exist.
|
|
Stream Device Structure Fields:A STREAMIN instruction will reference a Stream Device A pre-configured device that is capable of communicating via connection-oriented protocols like Modbus TCP/IP (over Ethernet) or Modbus/RTU (over serial). . Each Stream device has an associated structure which contains the following member fields:
|
|
Status Display:
The red triangle in the upper left corner of the status display indicates this is a Fully Asynchronous instruction.
The gray triangle at the right end of the input leg indicates the input is edge-triggered, meaning this instruction will execute each time the input logic transitions from OFF to ON.
The Status display for the String or Numeric Block will only display as many of the characters of the destination location as will fit within the borders of the instruction, typically this is about 50 characters.
|
|
See Also:STREAMIN - Stream In Data from Device
STREAMOUT - Stream Out Data to Device
|
|
Related Topics:PACKETIN - Input Data from Packet Device
PACKETOUT - Output Data to Packet Device
|
|
Example Using Stages:If the PLC is a TCP ASCII Slave use (TCPLISTEN) Start Listening a TCP Port to open the port, and if that instruction completes successfully, use a STREAMIN to just receive data, or STREAMIN / STREAMOUT pair to receive, then respond.
If the PLC is a TCP ASCII Master use an OPENTCP Open TCP Connection to open the port, and if that instruction completes successfully, use a STREAMOUT to just send data, or STREAMOUT / STREAMIN pair to send then receive.
Rung Example:
|
|