Omron Fins
Introduction
The Fins Omron MQTT Asset Connector is a specialized Flux Asset designed for seamless integration within the Coreflux ecosystem. It acts as a bridge, connecting FINS protocol-based devices, such as PLCs (Programmable Logic Controllers) from Omron, with a MQTT client. This facilitates real-time data exchange and management, leveraging the MQTT Broker's robust capabilities within the Coreflux platform. The connector primarily serves system integrators, application developers, and IoT device manufacturers who are looking to enhance interoperability and streamline data communication across their IoT solutions.
By embedding the Fins Omron MQTT Asset Connector into their systems, users can effortlessly manage and configure their FINS devices via the Coreflux HUB. This setup not only simplifies the integration of diverse IoT assets but also guarantees secure and efficient data traffic through Cloud Coreflux's deployment capabilities, including support for WebSocket over SSL Port and MQTT over TLS Port. Aimed at optimizing operational efficiency and easing the configuration process, this connector is an essential tool for industry professionals seeking to exploit the full potential of the Coreflux architecture without compromising on simplicity or functionality.
Features and Benefits
The Fins Omron MQTT Asset Connector serves as a bridge, enabling seamless communication between FINS protocol-based devices and MQTT clients. This connector is designed to integrate devices easily within the Coreflux ecosystem, leveraging the lightweight MQTT protocol for efficient data exchange. Its key features and advantages include:
Seamless Integration: The connector simplifies the integration process of FINS devices into the Coreflux ecosystem or any MQTT-compatible system. This breaks down the barriers between different protocols, allowing for more straightforward network architectures and easier management of devices.
Real-time Data Exchange: It enables real-time data exchange between devices and the MQTT broker. This feature ensures that data from the operational environment is readily available for analysis, monitoring, and decision-making, contributing to quicker response times and more informed decisions.
Operational Efficiency: By facilitating swift and reliable data exchange, the connector enhances operational efficiency. It reduces the need for manual data handling and complex integrations, allowing systems to communicate directly with each other. This reduction in manual intervention and the streamlining of processes save time and resources.
Flexibility and Scalability: The use of MQTT as a transport protocol offers flexibility and scalability. MQTT is known for its lightweight overhead and efficient delivery mechanisms, making it ideal for a wide range of devices, from high-powered industrial equipment to low-power IoT sensors. This means the connector can easily adapt to the changing scale and requirements of projects.
Enhanced Security: Given the importance of security in data communication, especially in industrial environments, the connector supports the inherent security features of MQTT. This includes the use of TLS/SSL for encryption, ensuring that data exchanged between FINS devices and MQTT clients is protected against unauthorized access.
Reduced Development Time: Developers have noted that the connector significantly reduces the time and effort required to connect FINS devices to a MQTT client. This benefit arises from the connector’s ability to abstract the complexity of the FINS protocol and MQTT, providing a straightforward way to achieve connectivity without deep protocol expertise.
Prerequisites
To use the Fins Omron MQTT Asset connector effectively, ensure you have the following prerequisites:
- A Coreflux Central account for managing your IoT devices and data.
- Coreflux MQTT Broker is recommended for optimal compatibility with the Fins Omron MQTT Asset connector, although other MQTT brokers may also work.
- A MQTT Client, such as MQTT Explorer, for monitoring and interacting with MQTT messages.
- Coreflux Hub installed and configured, serving as the central point for your IoT infrastructure within the Coreflux ecosystem.
- Software dependencies related to the protocol of the connector (besides MQTT) need to be addressed. This includes any libraries or frameworks necessary for the Fins Omron protocol.
- Hardware that is compatible with the Fins Omron protocol to ensure seamless communication between the device and the MQTT Asset connector.
Asset Installation
To install the Fins Omron MQTT Asset connector in the Coreflux environment, the setup process can be executed either through the Coreflux HUB for a UI-driven approach or directly through the MQTT broker for users preferring command-line operations. Below is the outline of both methods:
Using Coreflux Hub:
- Access the Coreflux HUB on a Linux or Windows device. The HUB serves as the central interface for the Coreflux ecosystem.
- Navigate to the asset installation section within the Coreflux HUB UI.
- Follow the UI prompts to install the desired assets. For assistance on getting started with your first asset installation, refer to the guide available at Getting Started with Your First Asset.
- The installation process through the HUB will handle the necessary configurations and set up the Fins Omron MQTT Asset connector seamlessly.
Without Using Coreflux Hub:
If you're opting to proceed without utilizing the Coreflux Hub, these steps focus on using the MQTT broker directly for asset installation.
- Connect to the Coreflux MQTT Broker using your preferred MQTT client.
- Login with your Coreflux account credentials by publishing to the
$SYS/Coreflux/Command
topic with the payload:-L myname@mydomain.com password
. - To check your available assets, publish the
-l
command to the$SYS/Coreflux/Command
topic. This action retrieves a list of assets, indicating how many you have available and how many are currently utilized (e.g.,coreflux_fins2mqtt 2/3
). - Install an asset by publishing the
-I coreflux_fins2mqtt
command to the$SYS/Coreflux/Command
topic. This executes the installation of the Fins Omron MQTT Asset connector. - Upon successful installation, a message will be received on the
$SYS/Coreflux/Command/Output
topic indicating the successful installation of your Fins Omron MQTT Asset connector, including the version and asset GUID.
Ensure your MQTT client is configured to interact effectively with the Coreflux MQTT Broker, and follow any prompts or documentation for any additional configuration that may be required for your specific client.
Asset Configuration
MQTT Parameters Configuration
Parameter | Description | Required | Example |
---|---|---|---|
Port | MQTT broker port | Yes | 1883 |
Address | IP address of the MQTT broker | Yes | 127.0.0.1 |
IsAnonymous | If the connection is anonymous | Yes | false |
Username | Username for MQTT broker (if not anonymous) | No | `` |
Password | Password for MQTT broker (if not anonymous) | No | `` |
EnableTLS | If TLS is enabled for the connection | Yes | false |
EnableDebugTopic | If debug topics are enabled | Yes | true |
DebugTopic | MQTT topic for debugging purposes | Yes | fins2mqtt/DebugTopic |
FINS Parameters Configuration
Parameter | Description | Required | Example |
---|---|---|---|
Address | IP address of the Omron device | Yes | 192.168.100.201 |
Port | Port for FINS protocol | Yes | 9600 |
LocalNode | Local node address | Yes | 176 |
RemoteNode | Remote node address | Yes | 201 |
Timeout | Timeout for FINS communication in seconds | Yes | 2 |
Retries | Number of retries for FINS communication | Yes | 5 |
Polling | Polling interval in milliseconds | Yes | 200 |
Example JSON Configuration
{
"MQTTParameters": {
"Port": 1883,
"Address": "127.0.0.1",
"IsAnonymous": false,
"Username": "",
"Password": "",
"EnableTLS": false,
"EnableDebugTopic": true,
"DebugTopic": "fins2mqtt/DebugTopic"
},
"FINSParameters": {
"Address": "192.168.100.201",
"Port": 9600,
"LocalNode": 176,
"RemoteNode": 201,
"Timeout": 2,
"Retries": 5,
"Polling": 200
},
"Tags": [
{
"Name": "BoolExample",
"WriteDirection": 1,
"MQTTTopic": "exampleTopic/bool",
"MQTTQoS": 0,
"MQTTRetain": false,
"DataAddress": 400,
"BitAddress": 6,
"DataType": 0,
"MemoryType": 0,
"StringSize": 0
},
{
"Name": "IntExample",
"WriteDirection": 1,
"MQTTTopic": "exampleTopic/int",
"MQTTQoS": 0,
"MQTTRetain": false,
"DataAddress": 420,
"BitAddress": 6,
"DataType": 2,
"MemoryType": 0,
"StringSize": 0
},
{
"Name": "RealExample",
"WriteDirection": 1,
"MQTTTopic": "exampleTopic/real",
"MQTTQoS": 0,
"MQTTRetain": false,
"DataAddress": 410,
"BitAddress": 6,
"DataType": 8,
"MemoryType": 1,
"StringSize": 0
},
{
"Name": "StringExample",
"WriteDirection": 1,
"MQTTTopic": "exampleTopic/string",
"MQTTQoS": 0,
"MQTTRetain": false,
"DataAddress": 500,
"BitAddress": 6,
"DataType": 11,
"MemoryType": 1,
"StringSize": 0
}
]
}
Tags
Tag Parameters Explanation
Parameter | Description | Required | Example |
---|---|---|---|
Name | The name of the tag | Yes | BoolExample |
WriteDirection | The direction of data flow | Yes | 1 (ToMQTT) |
MQTTTopic | The MQTT topic to publish or subscribe to | Yes | exampleTopic/bool |
MQTTQoS | Quality of Service for MQTT | Yes | 0 |
MQTTRetain | Retain flag for MQTT messages | Yes | false |
DataAddress | The address of the data in the Omron device | Yes | 400 |
BitAddress | The bit address (for bit-specific data types) | Yes | 6 |
DataType | The type of data | Yes | 0 (BOOL) |
MemoryType | The memory area of the Omron device | Yes | 0 |
StringSize | Size of the string (for string data types) | Yes | 0 |
Write Direction Parameter detail
WriteDirection Value | Description |
---|---|
0 - ToAll | Data is read from the Omron device and published to the MQTT topic, and data received on the MQTT topic is written to the Omron device. |
1 - ToMQTT | Data is read from the Omron device and only published to the MQTT topic. |
2 - ToFINS | Data received on the MQTT topic is only written to the Omron device. |
DataType Parameter detail
DataType Value | Data Type |
---|---|
0 | BOOL |
1 | BYTE |
2 | INT |
3 | UINT |
4 | DINT |
5 | UDINT |
6 | LINT |
7 | ULINT |
8 | REAL |
9 | LREAL |
10 | ASCII |
11 | String |
Example JSON for Tag Configuration
Remember that the config should be together with the tags.
{
"Tags": [
{
"Name": "BoolExample",
"WriteDirection": 1,
"MQTTTopic": "exampleTopic/bool",
"MQTTQoS": 0,
"MQTTRetain": false,
"DataAddress": 400,
"BitAddress": 6,
"DataType": 0,
"MemoryType": 0,
"StringSize": 0
},
{
"Name": "IntExample",
"WriteDirection": 1,
"MQTTTopic": "exampleTopic/int",
"MQTTQoS": 0,
"MQTTRetain": false,
"DataAddress": 420,
"BitAddress": 0, // Updated according to standard use case, assuming BitAddress not used for INT
"DataType": 2,
"MemoryType": 0,
"StringSize": 0
},
{
"Name": "RealExample",
"WriteDirection": 1,
"MQTTTopic": "exampleTopic/real",
"MQTTQoS": 0,
"MQTTRetain": false,
"DataAddress": 410,
"BitAddress": 0, // Updated according to standard use case, assuming BitAddress not used for REAL
"DataType": 8,
"MemoryType": 1,
"StringSize": 0
},
{
"Name": "StringExample",
"WriteDirection": 1,
"MQTTTopic": "exampleTopic/string",
"MQTTQoS": 0,
"MQTTRetain": false,
"DataAddress": 500,
"BitAddress": 0, // Assuming BitAddress not applicable for String
"DataType": 11,
"MemoryType": 1,
"StringSize": 0
}
]
}
Note: This JSON provides an example of how to configure four different tags ("BoolExample", "IntExample", "RealExample", and "StringExample") with varying data types to be read from an Omron device and published to specific MQTT topics.
Saving the Configuration
Instructions for properly saving the final configuration for the Fins Omron MQTT Asset connector via coreflux_fins2mqtt are detailed below. Ensuring the accuracy of this process is crucial for the connector to function as expected. The focus here is on the payload that needs to be sent for managing and controlling assets via the MQTT protocol. Please ensure you are logged in and have an asset installed before proceeding.
Save configuration:
To save your configuration, use the following command format. Replace <asset_guid>
with your asset's unique identifier and <configuration>
with your JSON configuration details.
To find your asset GUID, consult the $SYS/Coreflux/Assets
topic.
Example:
Check if the configuration was saved (optional):
After saving your configuration, you may optionally verify that the configuration has been successfully saved by loading it. Use the command below, replacing <asset_guid>
with your asset's unique identifier.
Following these steps with attention to detail is fundamental to ensure that the connector runs smoothly and as intended.