Setup PFC Integration#
Overview#
This feature is responsible for handling the connection setup between our Automation Driver and the PFC Equipment.
Protocol Overview#
The Product Flow Controller (PFC+) protocol is a TCP/IP-based communication protocol used to control and validate the movement of products (PCBs) in an automated production line.
| Property | Value |
|---|---|
| Transport Layer | TCP/IP |
| Default Port | 1024 |
| Connection Model | Single host connection (one client at a time) |
| Communication Type | Request/response + event-driven messages |
| Message Encoding | Text-based (ASCII) |
| Message Terminator | CR+LF (\r\n) |
The protocol supports board tracking and validation, control of product flow between machines, handshake between PFC and host to authorize or reject transfers, device configuration and monitoring, and keep-alive supervision via Ping/Pong.
How To Configure#
To configure the connection between our Automation Driver and the PFC Equipment a set of keys must be configured in the IoTMetadataDefinition Smart Table.
Relevant Artifacts#
The table below describes the properties for this entity type:
| Name | Type | Is Mandatory | Data Type | Description |
|---|---|---|---|---|
| IoTMetadataDefinition | SmartTable | Yes | Metadata configuration for equipment integration |
IoTMetadataDefinition Resource Level Configuration#
At the Resource level, there are several configuration we can make to set our connection with the PFC Equipment.
| Resource | Resource Type | Area | Name | Value | Description |
|---|---|---|---|---|---|
| MES PFC Resource | PFC_Address | IP Address | IP address of the PFC Equipment. Default: 0.0.0.0. | ||
| MES PFC Resource | PFC_Port | Port Number | Port number used to communicate with the PFC Equipment. Default: 1024. | ||
| MES PFC Resource | PFC_Heartbeat_Timer | Interval in ms | Interval in milliseconds between PING messages sent to the equipment. Default: 30s | ||
| MES PFC Resource | PFC_LocalAddress | IP Address | Local IP address used by the Automation Driver to communicate with the PFC Equipment. Default: 0.0.0.0. |
How To Use#
On Automation startup we will retrieve the information on IoTMetadataDefinition related to the linked Resource and set the retrieved configuration parameters as connection values.
Every time you change these values you must restart the Automation Controller.
Implementation Details#
During Equipment Setup we will resolve IoTMetadataDefinition and configure the TCP/IP connection parameters to communicate with the PFC Equipment. All resolved keys are saved in persistency for use during processing.
The equipment must be in STATUS = SCAN to begin the communication process. If not, the command MSGBEEP will be sent to the equipment with message STATUS NOT SCAN.
Driver Configuration#
The Automation Controller acts as a Active (Client) TCP/IP endpoint. On start up Connect IoT will connect to PFC Equipment as a client.
| Parameter | Value | Description |
|---|---|---|
| Mode | Active | Controller acts as a TCP Client connecting to the PFC device. |
| Keep Alive Time | 10000 ms | Keeps the socket alive between messages. |
| Parser Type | Readline | Emits a complete message only when the \r\n delimiter is received, handling TCP fragmentation. |
| Delimiter | \r\n | Matches the CR+LF message terminator used by the PFC protocol. |
| Encoding | ASCII | Protocol uses ASCII text encoding. |
| Convert Non-Printable ASCII on Send | True | Allows token names such as \r\n to be used in configuration fields instead of raw bytes. |
| Convert Non-Printable ASCII on Receive | True | Correctly handles non-printable characters in incoming messages. |
| Default Command Message Start | #! | Automatically prepended to all outgoing command messages. |
| Default Command Message End | \r\n | Automatically appended to all outgoing command messages. |
PING/PONG Heartbeat#
The controller maintains the connection with the PFC Equipment through a PING/PONG handshake mechanism.
- After the equipment sends a STATUS message, the controller initiates the heartbeat by sending a PING message.
- The equipment is expected to reply with a PONG message.
- Subsequent PING messages are sent at the interval defined by
PFC_Heartbeat_Timer.
The PFC_Heartbeat_Timer value defines the interval in milliseconds between consecutive PING messages. A 30000ms default value is set.