# Protocol and Driver Definition ## Overview This section describes the Automation Driver definition used by the ASYS integration, including the underlying transport protocol and the properties, events and commands exposed by the driver. ## Protocol The protocol used by the Automation Driver referenced on the Automation Controller is named **TCPIP_Protocol** and uses the out-of-the-box package `criticalmanufacturing/connect-iot-driver-tcpip`. The protocol is configured to operate in passive mode with the [default driver settings](setup.md#default-driver-settings) documented in the Setup page. Incoming messages are delimited by the `` token. ## Driver Definition The integration uses the Connect IoT **ASYS_DriverDefinition**. The ASYS driver implementation is intentionally generic: a single property, a single event and a single command are used to transport raw XML messages. The parsing and classification of the different messages (`ALIVE_REQ`, `STATE_CHANGE`, `ORDER_REQ`, `PANEL_IN_REQ`, `PANEL_OUT_REQ`, `ITEM_OUT_REQ`, `AUTOMATIC_START_REQ`, etc.) is performed at Controller level. ### Properties | Name | Description | Device Property Id | IsReadable | IsWritable | DataType | | ----------- | --------------- | ------------------ | ---------- | ---------- | -------- | | RawProperty | Global property | 1 | Yes | No | String | ### Events The ASYS implementation uses only one event for all messages received. The event type is parsed at Controller level for each message. | Name | Event Device Id | Property | | ------------ | --------------- | ----------- | | RawDataEvent | 1 | RawProperty | ### Commands The ASYS implementation uses only one command for all messages, with the contents defined at Controller level. | Name | Description | Command Device Id | | ---------- | ------------------------------------ | ----------------- | | RawCommand | Response for all equipment messages | 1 | ### Command Parameters | Parameter | Command | Type | | --------- | ---------- | ------ | | RawString | RawCommand | String | ## Design Specification | Parameter | Value | | ----------------------- | ---------- | | Reconnect Interval (ms) | 1 | | Connecting Timeout (ms) | 30000 | | Mode | Passive | | Host | 0.0.0.0 | | IP Stack | 4 | | Max Clients | 1 | | Parser Type | Delimiter | | Delimiter | `` | ## Requirement Specification - Be able to receive connections from ASYS equipment. - Use the **MES-Socket-Interface v1.7** specification. - Receive equipment messages and reply back. ### Assumptions The integration is built against the specification detailed in the **MES-Socket-Interface** document, revision 1.7.