Reader Reference

     Previous  Next    Open TOC in new window  Open Index in new window  View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

Controlling RFID Devices via PLC

The following sections describe how the RFID Edge Server communicates with and controls RFID devices by interacting with a programmable logic controller (PLC).

 


Overview

The WebLogic RFID Edge Server allows you to receive information about other devices and control them, by communicating with a programmable logic controller (PLC), which is a specialized industrial computer used for automation of real-world processes. A PLC has a number of registers, which are used to hold information. Registers are sometimes referred to as items or tags (not to be confused with EPC tags). Applications interacting with the PLC can either:

 


Configuring the Edge Server for PLC Communications

Configuring the RFID Edge Server to enable PLC communications requires adding the following items to the edge.props file:

In general, users who want to enable their installation of the RFID Edge Server to control RFID devices using programmable logic controllers will need some custom development effort. The instructions provided below illustrate one possible configuration after custom development work has been completed.

Note: All property names shown in this section should be prefixed with com.connecterra.ale.plc, which is abbreviated [CCAP] in the properties below.
  1. Create a backup copy of edge.props and open the original for editing.
  2. Define a transport to be used for PLC communications. The supported implementations are OPC_XML, StarThis, and ModBus.
  3. # ModBus configuration
    [CCAP].plcTransport.modbus1.metaName = ModBus
    [CCAP].plcTransport.modbus1.hostname = ip_address
    [CCAP].plcTransport.modbus1.socketTimeout = 10000
    [CCAP].plcTransport.modbus1.pollInterval = 500
    # OPC_XML configuration
    [CCAP].plcTransport.opcABC.metaName = OPC_XML
    [CCAP].plcTransport.opcABC.hostname = http://plchost/path
    # StarThis configuration
    [CCAP].plcTransport.ab1756.metaName = StarThis
    [CCAP].plcTransport.ab1756.licenseDir = ..\licenses
    [CCAP].plcTransport.ab1756.storageDir = ..\var\plc-storage
    [CCAP].plcTransport.ab1756.hostname = ab1756
    [CCAP].plcTransport.ab1756.backplanePort = 0
    [CCAP].plcTransport.ab1756.pollInterval = 50
    #Define ModBus PLC stacklight reader. Note that the stack light reader is
    #defined either using the Administration Console or by editing the
    #edge.props file. The default behavior
    #com.connecterra.ale.dynamicConfig.enabled = true, means that you configure
    #the reader using the Administration Console. If you want to define and
    #configure the reader in the edge.props file, set this property to false.
    com.connecterra.ale.reader.stacklight.class = com.connecterra.ale.readertypes.PLCStackLightPhysicalReader
    com.connecterra.ale.reader.stacklight.plcMessage = stacklight
    com.connecterra.ale.reader.stacklight.defaultRate = 0
    com.connecterra.ale.reader.stacklight.stackLightLogicalReaderName = StackLight
  4. Choose a message convention. The types supported are Simple, CounterPair, and Multiple. The notations <var1> and <var2> should be replaced by property names that you choose.
  5. # SimpleTransaction configuration
    [CCAP].plcMessageConvention.<var1>.metaName = Simple
    # The plcTransport name shown below should be a hostname from step 2.
    [CCAP].plcMessageConvention.<var1>.plcTransport = ab1756
    # CounterPairTransaction configuration
    [CCAP].plcMessageConvention.<var2>.metaName = CounterPair
    # Define ModBus PLC message convention for writing
    [CCAP].plcMessageConvention.multiple.metaName = Multiple
    [CCAP].plcMessageConvention.multiple.plcTransport = modbus1
    # The plcTransport name shown below should be a hostname from step 2.
    [CCAP].plcMessageConvention.<var2>.plcTransport = ab1756
    [CCAP].plcMessageConvention.<var2>.restart.receiveCounterItem = PLCRestart[2]
    [CCAP].plcMessageConvention.<var2>.restart.ackCounterItem = PLCRestartAck[2]
    [CCAP].plcMessageConvention.<var2>.restart.dataItems = PLCRestart[0]
    [CCAP].plcMessageConvention.<var2>.restart.prefetch = true
    # Configure the next two properties on ONE client only
    [CCAP].plcMessageConvention.<var2>.restartAckStatusItem = PLCRestartAck[0]
    [CCAP].plcMessageConvention.<var2>.restartDelay = 100
    Note: The array elements shown above and in step 4 refer to PLC registers on the PLCs in use at your organization. Both the register names and element numbers may differ from the sample information shown.
  6. Define the inbound and outbound messages for the message convention chosen in the prior step. The notations <var1> and <var2> should be replaced by the property names you chose in step 3.
  7. # Simple inboundMessage configuration
    [CCAP].inboundMessage.doorOpen.plcMessageConvention = <var1>
    [CCAP].inboundMessage.doorOpen.receiveItem = D2052
    [CCAP].inboundMessage.doorOpen.matchValues = true
    # CounterPair inboundMessage configuration
    [CCAP].inboundMessage.BCRArrival.plcMessageConvention = <var2>
    [CCAP].inboundMessage.BCRArrival.receiveCounterItem = BCRArrival[19]
    [CCAP].inboundMessage.BCRArrival.ackCounterItem = BCRArrivalAck[0]
    [CCAP].inboundMessage.BCRArrival.dataItems = BCRArrival
    # CounterPair outboundMessage configuration
    [CCAP].outboundMessage.SgtinAssign.plcMessageConvention = <var2>
    [CCAP].outboundMessage.SgtinAssign.sendCounterItem = SgtinAssign[59]
    [CCAP].outboundMessage.SgtinAssign.ackCounterItem = SGTINAssignAck[0]
    [CCAP].outboundMessage.SgtinAssign.dataItems = SgtinAssign
    # Multiple outboundMesssage configuration for stacklight
    [CCAP].outboundMessage.stacklight.plcMessageConvention = multiple
    [CCAP].outboundMessage.stacklight.items = c1 c2 c3 c4 c5
  8. Save the changes to edge.props and restart the Edge Server.
  9. Configure your RFID devices to communicate with the PLC by defining devices as shown below using the RFID Devices node in the Administration Console:

  Back to Top       Previous  Next