Navigation: Filtering & Collection > Event Bindings > Available Bindings > PLC Automation Bindings >

RFDPLC1

Still need help? Create a Support Ticket with Stratum Support

Send comments on this topic.

← Previous Next →

 

 

Binding Function

RFDPLC1

 

Binding ID

PLC_ROBOTIC_LOAD

 

Binding Description

Sends Part Tag Data to PLC

 

Purpose

This Binding passes an event payload to a PLC Controller (Socket Listener program) that in turn uses ladder logic or similar to manage robotics. RFDPLC1 communicates directly with the PLC gateway controller via an IP address. This Binding was initially developed for paint load use cases but can also be used for other robotic operations such as Stripe, Buff, etc.

Logic

This Binding function performs the following logic:

Collects whatever tags are read during a given read event cycle from a given portal, and sends them in real time.

Supports full GPIO script as a result of standard MATCH / NOMATCH / ERROR / NOTAG variables. Typically a sensor input is used to trigger the read cycle for the specified time period (e.g. 2 seconds) such as paint lines with post indexing.

The chart below shows what 'Core' attributes are sent in the XML and examples of what 'variable' attributes can also be included based on the UDA Grouping  This grouping name is then specified in [UDA Grouping 1] detailed below.

Max Tags in read event cannot be > 6 (the max parts that can be mounted on post fixture), if more in read event cycle (because of signal bounce) then drops tags >6 with the weakest RSSI and does not update TAGVS (for those tags dropped).  The assumption is that the weak tag(s) dropped were seen upstream prematurely and will be seen again when the post gets closer to portal. This modified tag list (from PHLOG) will be now be used for the RFDHDSP logic so both systems are in sync.  Note: PLC side is already dropping more than 6 currently if received. Splits out 'Color Flag' tags from those of parts if the read cycle were to actually see parts in the same payload as the color flag (rogue tag read from upstream signal bounce). So if the Inventory type of tag is ‘COLOR FLAG’ then this will be included in separate XML payload.  However, in order not to confuse the post indexing logic (two) payloads for a single trigger event will not occur. Operationally, whenever there is a paint flag there will be (3) empty posts behind it, therefore the color flag read event will be held back and associated to the next empty post.  So in this case instead of sending an 'no tag' XML payload for an empty post the part tags read will be associated with the previous (correct) Color flag event.

Both PLC1 and HDSP use TAGVS as tag last seen entity (reader/antenna name level) to determine dwell. Note when multiple bindings used together there is a flag that is passed to each binding that dictates whether it is the last Binding to be processed for a given schedule and thus the last binding updates TAGVS at that time. With this in place there is no contention between PEVG and PLC1 or HDSP when used together as bindings associated with a reader schedule.

Once a robotic operation has been performed for a given tag (or tags) sent, the PLC has the option to send back to TagNet an XML [Robotic_Operation] payload of parameters there were associated with the PLC operation (such as Robot ID, Temp, Humidity, Color applied, etc.). This is detailed in the  Web API section found here.

Restrictions

None at this time.

Comments

This binding can be tested with a PLC_LOAD_EMULATOR that will return various reply states. Note: this utility uses Port 10002 and the IP address of your testing machine. So an example would be 192.168.1.140:10002 in the IP address of the Binding.

If triggered the dwell time can be removed

Files Updated

RFDTAGVS

Program Name

URI set to RFDPLC1. The Port # is variable based on what is agreed to by customer to nominate which Robot is consuming the event data.

Binding Setup

Binding Properties

Email Notification Recipient

The email address to send binding specific alerts. Note: This overrides the default SMTP Recipient value under System Settings

 

UDA Grouping

Specifies a UDA grouping (User Defined Attributes) to be included with the XML payload.

 

Dwell Time

This is the time period that TagNet will ignore further read events until the dwell period has expired. For example on a paint conveyor, when a tagged part goes through the read zone and TagNet changes its location state from A to B, the dwell period gives it time to move away from the read zone (ignores it) before it is evaluated again and send to PLC/MES as an event. The dwell time should be long enough to allow the part to move away from the portal read zone but not too long that if it is seen back on the same conveyor (e.g. 55 minutes later) for a 2nd pass through the choke point  it will be not be ignored. Refer to the the Binding Change for detailed explanations of this directive.

 

Terminate With

Indicates to receiving endpoint that XML document is complete. Allows for NULL, CR (Carriage Return), EOT (End-of-Transmission char), LF (Line Feed) or TAB (tab to next column) making it flexible depending on the requirements of the interface.

 

 

Shown below are the XML transaction sets:

 

Action

XML Schemas

Part Paint Example

<?xml version="1.0" encoding="UTF-8"?>

 

<PLC-Robotic-Load>

 

  <Tag>

    <TagID>A000000000000000000016B3</TagID>

    <PartNo>66048-09A</PartNo>

    <TagLocation>KAP_WS_SILVER</TagLocation>

    <PartAttributes>

      <MASK_PGM>001</MASK_PGM>   

    </PartAttributes>

  </Tag>

 

  <Tag>

    <TagID>A000000000000000000018F2</TagID>

    <PartNo>66250-09</PartNo>

    <TagLocation>KAP_WS_SILVER</TagLocation>  *** note: no part attributes to send

   </Tag>

 

</PLC-Robotic-Load>

 

** PartNo is mapped to the GTIN field in the Product Master

** TagLocation is the actual Antenna Name as user defined in Reader profile

** <PartAttributes> tag block will include optional UDA's  specified in the Group Name 

Part Paint Example (Response)

<?xml version="1.0" encoding="UTF-8"?>

 

<PLC-Robotic-Load-Response>

 

  <Tag>

    <TagID>A000000000000000000016B3</TagID>

        <Status>OK</Status>

  </Tag>

 

  <Tag>

    <TagID>A000000000000000000018F2</TagID>

       <Status>OK</Status>

  </Tag>

 

</PLC-Robotic-Load-Response>

 

** It is expected that the PLC mirror the payload sent and include OK Status in the response back to TagNet to close the socket.

Part Paint

(No Tag) Example

<?xml version="1.0" encoding="UTF-8"?>

 

<PLC-Robotic-Load>

 

<TagLocation>KAP_WS_ORANGE</TagLocation>

 

</PLC-Robotic-Load>

 

** This is an example where the read event cycle did not see any tags and informing PLC that it was triggered successfully but no tags were seen.

Paint Line Color Flag example

<?xml version="1.0" encoding="UTF-8"?>

 

<PLC-Robotic-Load>

 

  <Paint_Color>005</Paint_Color>

  <TagLocation>KAP_WS_ORANGE</TagLocation>

 

</PLC-Robotic-Load>

 

** This is an example where a Paint color tag was seen along with its antenna name.

 

Shown below are examples of how different objects (e.g. Parts, Color flags, Fixtures) are setup in TagNet Product master to support this Binding.

 

               

               

 

 

 

 


Copyright © 2023 Stratum Global, Inc.