Skip to content

4.3 Collector

This page explains the collector components.

4.3.1 Resource Collector#

This component collects system resources of Operating machine.
It collects and registers CPU utilization, memory consumption, and other resource utilization information of the device on which this application is running.

4.3.1.1 Basic Information#

The basic information of the Resource Collector is as follows:

Item Description
Base name Resource Collector
Description Collects system resources of Operating machine.
Consumption points 0
Port Input: 0

Output: 1
Outputs the collected system resources of Operating machine. For details on output data, see Output Data Items.

System: 1
Outputs the component’s operating status and error information. For details on the output error information, see List of Error Codes.

4.3.1.2 Settings#

The Resource Collector settings are as follows:

Item Description
Name Enter a name for the component.
Note: Must be different from any other component name.
Autostart disable Set to ON to disable the component’s Autostart.
Interval (sec) Enter the interval at which the collector gets data.
I/O device Select the I/O device from which data is collected.
NET device Select the network device from which data is collected.
CPU usage Set to ON to enable the collection of Operating machine’s CPU utilization information.
CPU clock rate Set to ON to enable the collection of Operating machine’s CPU clock rate information.
Note: Not available on Windows
Note: Also may not be available on Linux
CPU temp Set to ON to collect CPU temperature information.
Note: Not available on Windows
Note: Also may not be available on Linux
I/O Set to ON to collect the I/O status information for the device selected in [I/O device].
Note: If I/O status collection is enabled in the Windows version, the processing may not be able to keep up with the acquisition interval of 1 second. (If delay occurs, make an adjustment by setting the interval to 5 seconds or more.)
Memory Set to ON to enable the collection of Operating machine’s used memory information.
Network Set to ON to collect the network status information for the device selected in [NET device].

4.3.1.3 Output Data Items#

The Resource Collector outputs the following data:

Item Column name Data type Description
CPU usage cpu_usage double Collects the CPU utilization information. Unit is % with a range from 0.000 to 100.000.
Utilization rate per CPU core cpu_core_usage double[n] Collects the utilization information of each CPU core. Unit is % with a range from 0.000 to 100.000.
CPU execution frequency cpu_core_freq int32[n] Collects the execution frequency information of each CPU core. Unit is kHz.
CPU temp cpu_temp double Collects the CPU temperature information. Unit is ℃.
I/O information collection device name I_O string Name of device whose I/O information is being collected (physical only)
Average number of read requests processed kb_r_s double Collects the average number of read requests processed. Unit is KB.
Average number of write requests processed kb_w_s double Collects the average number of write requests processed. Unit is KB.
Average read/write count IOPS double Collects the average read/write count. Unit is KB.
Free disk space (MB) storage_free_space_mb double Collects information on free space on the specified disk. Unit is MB.
Disk usage (%) storage_usage double Collects information on rate of usage of the specified disk. Unit is % with a range from 0.0 to 100.0.
Total memory mem_total int32 Collects total memory space information. Unit is KB.
Memory used mem_used int32 Collects information on memory space used. Unit is KB.
Memory usage rate mem_usage double Collects information on rate of memory used. Unit is % with a range from 0.0 to 100.0.
Total SWAP space swap_total int32 Collects total SWAP space information. Unit is KB.
SWAP space used swap_used int32 Collects information on SWAP space used. Unit is KB.
SWAP usage rate swap_usage double Collects information on rate of SWAP space used. Unit is % with a range from 0.0 to 100.0.
Total bytes received rx_bytes1 uint64 Collects the number of bytes received. Unit is byte.
Total packets received rx_pckt1 uint64 Collects the number of packets received.
Total bytes sent tx_bytes1 uint64 Collects the number of bytes sent. Unit is byte.
Total packets sent tx_pckt1 uint64 Collects the number of packets sent.

4.3.2 PLC Collector#

This component collects data from PLC register/variable information.
It is connected to PLCs of various manufacturers such as Omron and Mitsubishi to collect and register data from register/variable information.
For some PLCs, you can set register information by importing the file output using the ladder editing tool.

4.3.2.1 Basic Information#

The basic information of the PLC Collector is as follows:

Item Description
Base name PLC Collector
Description Collects data from PLC register/variable information.
Consumption points 0
Port Input: 0

Output: 1
Outputs data collected from the PLC according to Settings.

System: 1
Outputs the component’s operating status and error information. For details on the output error information, see List of Error Codes.
Other - You can test connection with a PLC. For more information, see Test Connection.
- Addresses can be set automatically. For more information, see Auto address setting.

4.3.2.2 Settings#

The PLC Collector settings are as follows:

Item Description
Name Enter a name for the component.
Note: Must be different from any other component name.
Autostart disable Set to ON to disable the component’s Autostart.
Manufacturer Select the manufacturer of the connecting PLC.
Note: You can select from the following manufacturers:
- Mitsubishi
- Jtekt
- Omron
- Keyence
- Panasonic
Machine type Select the machine type of the connecting PLC.
Note: Machine types that can be selected depend on the manufacturer.
Host Enter the host name or IP address of the connecting PLC.
Port Enter the port for connecting PLC
Connect timeout(ms) Enter the timeout duration for connecting.
Read timeout(ms) Enter the timeout duration for reading.
Keep connect Set to ON if PLC connection is not disconnected each time a query is made.
Group read Set to ON to read multiple word registers at one time.
Block read Set to ON to read multiple bit registers and word registers at one time.
Strict timestamp Set to ON to set a strict timestamp based on collected data.
  • The PLC Collector output data is defined by the following settings:
Item Description
Data Name Enter name of data.
Address Enter the PLC register address.
Program Select the register program number.
Note: Available only when the manufacturer is Jtekt.
Data type Select the data type of the register value to be acquired.
Num array Enter the range from which value is retrieved from among the consecutive registers starting from the input address.
Interval(ms) Enter the interval for retrieving register values.
Enable Set to ON to retrieve register values.

4.3.2.3 Settings (Serial Connection)#

The PLC Collector (Serial Connection) settings are as follows:

Item Description
Device Enter the serial communication device to use.
Baud rate Select the baud rate for serial communication.
Data bit Select the data bit for serial communication.
Stop bit Select the stop bit for serial communication.
Parity bit Select the parity bit for serial communication.
Bureau no Enter the bureau number for Mitsubishi 3C frame.
Sum check Set to ON to perform checksum for Mitsubishi 3C frame.
  • The PLC Collector output data is defined by the following settings:
Item Description
Data Name Enter name of data.
Address Enter the PLC register address.
Program Select the register program number.
Note: Available only when the manufacturer is Jtekt.
Data type Select the data type of the register value to be acquired.
Num array Enter the range from which value is retrieved from among the consecutive registers starting from the input address.
Interval(ms) Enter the interval for retrieving register values.
Enable Set to ON to retrieve register values.

4.3.2.4 Test Connection#

You can test connection with the specified destination by following the steps below:

  1. Open the settings screen for the registered PLC Collector.

  2. Press [Test].

  3. Test connection is attempted with the specified destination, and the result is displayed at the bottom of the settings screen.

4.3.2.5 Auto address setting#

With some PLCs, you can set addresses automatically at once by reading the file output by the ladder editing tool.

  1. In the ladder editing tool, output the created ladder as a file. The output file format differs depending on the PLC manufacturer and machine type. Sample files are provided below:

  2. Press [Auto address setting].

  3. Select the file that you output with the ladder editing tool.

  4. The address is automatically set based on the file.

4.3.3 Modbus Collector#

This component collects data from Modbus compatible devices.
This component is the Modbus master and collects and registers data from Modbus slave devices.

4.3.3.1 Basic Information#

The basic information of the Modbus Collector is as follows:

Item Description
Base name Modbus Collector
Description Collects data from Modbus compatible devices.
Consumption points 2
Port Input: 0

Output: 1
Outputs data collected from Modbus compatible devices according to Settings.

System: 1
Outputs the component’s operating status and error information. For details on the output error information, see List of Error Codes.
Other You can test connection with Modbus compatible devices. For more information, see Test Connection.

4.3.3.2 Settings#

The Modbus Collector settings are as follows:

  • When TCP is selected as the communication method

  • When RTU is selected as the communication method

Item Description
Name Enter a name for the component.
Note: Must be different from any other component name.
Autostart disable Set to ON to disable the component’s Autostart.
Communication method Select TCP or RTU
Host Enter the host name or IP address of the connecting Modbus device.
Note: Only available when the communication method is TCP.
Port Enter the port for connecting to the PLC.
Note: Only available when the communication method is TCP.
Device Enter the serial communication device to use.
Note: Only available when the communication method is RTU.
Baud rate Select the baud rate for serial communication.
Note: Only available when the communication method is RTU.
Serial mode Select the serial communication mode.
Note: Only available when the communication method is RTU.
Data bit Select the data bit for serial communication.
Note: Only available when the communication method is RTU.
Stop bit Select the stop bit for serial communication.
Note: Only available when the communication method is RTU.
Parity bit Select the parity bit for serial communication.
Note: Only available when the communication method is RTU.
Endian Select a byte order.
Connect timeout(ms) Enter the timeout duration for connecting.
Read timeout(ms) Enter the timeout duration for reading.
Slave ID Enter the Slave ID of the connecting device.
Group read Set to ON to read multiple word registers at one time.
Strict timestamp Set to ON to set a strict timestamp based on collected data.
  • The Modbus Collector output data is defined by the following settings:
Item Description
Data Name Enter name of data.
Type Select the type of register value.
Address Enter the register address.
Note: According to Modbus specifications, the address range is usually set to "1 to 65536," but when setting in SpeeDBee Synapse, it is necessary to set an address range shorter by 1, specifically, as "0 to 65535."
Data type Select the data type of the register value to be acquired.
Num array Enter the range from which value is retrieved from among the consecutive registers starting from the input address.
Endian Select the byte order in register units.
Interval(ms) Enter the interval for retrieving register values.
Enable Set to ON to retrieve register values.

4.3.3.3 Test Connection#

You can test connection with the specified destination by following the steps below:

  1. Open the settings screen for the registered Modbus Collector.

  2. Press [Test].

  3. Test connection is attempted with the specified destination, and the result is displayed at the bottom of the settings screen.

4.3.4 EtherNet/IP Collector#

This component collects data from EtherNet/IP-enabled devices.
This component acts as an originator and collects and registers data from Ethernet/IP-enabled devices.

4.3.4.1 Basic Information#

The basic information of the EtherNet/IP Collector is as follows:

Item Description
Base name EtherNet/IP Collector
Description Collects data from EtherNet/IP-enabled devices.
Consumption points 2
Port Input: 0

Output: 1
Outputs data collected from EtherNet/IP-enabled devices according to Settings.

System: 1
Outputs the component’s operating status and error information. For details on the output error information, see List of Error Codes.
Other Variables can be set automatically. For more information, see Auto variable setting.

4.3.4.2 Settings#

The EtherNet/IP Collector settings are as follows:

Item Description
Name Enter a name for the component.
Note: Must be different from any other component name.
Autostart disable Set to ON to disable the component’s Autostart.
Host Enter the host name or IP address of the EtherNet/IP-enabled device.
Port Enter the port for the EtherNet/IP-enabled device.
Connect timeout(ms) Enter the timeout duration for connecting.
Get Interval(ms) Enter the interval for retrieving data.
Strict timestamp Set to ON to set a strict timestamp based on collected data.
  • The EtherNet/IP Collector output data is defined by the following settings:
Item Description
Setting Option Select the setting option for the data to be acquired.
Variable Name Enter a tag name.
Note: This item can be entered only when the Setting Option is Variable Name.
Struct Set to ON to register multiple members.
Note: This item can be set only when the Setting Option is Variable Name.
Class ID Enter the Class ID of CIP object.
Note: This can be entered only when the Setting Option is CIPObject.
Instance ID Enter the Instance ID of CIP object.
Note: This can be entered only when the Setting Option is CIPObject.
Attribute ID Enter the attribute ID of CIP object.
Note: This can be entered only when the Setting Option is CIPObject.
Column name Name of member
Data type Data type of member
Array size Array size of member

4.3.4.3 Test Connection#

You can test connection with the specified destination by following the steps below:

  1. Open the settings screen for the registered EtherNet/IP Collector.

  2. Press [Test].

  3. Test connection is attempted with the specified destination, and the result is displayed at the bottom of the settings screen.

4.3.4.4 Auto variable setting#

Variables can be automatically set by converting the global variable information exported by Sysmac Studio to a text file into a specified format and reading it.

  1. Convert the global variable information exported by Sysmac Studio to a text file with the following column information:

    • HOST
    • NAME
    • DATATYPE
    • ADDRESS
    • COMMENT
    • TAGLINK
    • RW
    • POU
    Example
    HOST    NAME    DATATYPE    ADDRESS COMMENT TAGLINK RW  POU
            b_test  BOOL        test1           TRUE    RW  
            i_test  UINT        test2           TRUE    RW  
            s_test  STRING(256) test3           TRUE    RW  
    
  2. Press [Auto variable setting].

  3. Select the prepared text file.

  4. The variable is automatically set based on the file.

4.3.5 MQTT Collector#

This component collects JSON data using the MQTT protocol.
This component subscribes to a specific topic name in MQTT. It parses the received data as JSON data and registers the content as collected data.
The format of JSON data that can be received is the same as that of JSON serializer output.
In addition to connecting with the regular MQTT broker, it can also connect with AWS IoT Core.

4.3.5.1 Basic Information#

The basic information of the MQTT Collector is as follows:

Item Description
Base name MQTT Collector
Description Data collection is performed using the MQTT protocol (Subscribe).
Consumption points 2
Port Input: 0

Output: 1
Outputs the data received from the MQTT broker specified in Settings.

System: 1
Outputs the component’s operating status and error information. For details on the output error information, see List of Error Codes.
Other You can test connection with the MQTT broker. For more information, see Test Connection.

4.3.5.2 Settings#

The MQTT Collector settings are as follows:

Item Description
Name Enter a name for the component.
Note: Must be different from any other component name.
Autostart disable Set to ON to disable the component’s Autostart.
Host Enter the host name or IP address of the MQTT broker.
Port Enter the port for the MQTT broker.
MQTT Qos Select the Quality of Service for MQTT.
Anonymous Set to ON to disable user authentication.
User name Enter the authenticated user name.
Note: Can be entered only when Anonymous is disabled.
Password Enter the authenticated password.
Note: Can be entered only when Anonymous is disabled.
Encryption Set to ON to enable encryption.
CA Certificate Upload the CA Certificate to be used for encrypt communication.
Note: You can only upload it when encryption is enabled.
Use a proxy Set to ON to communicate with the MQTT broker via a proxy server.
Proxy server Select a proxy server.
Note: You must configure the server to be used in advance on the Proxy Settings screen.
Topic Enter the topic for collection.
Client ID MQTT Client ID
Note: You may need to specify this item depending on the specifications of the connecting device. If omitted, a random string will be used.
Note: If multiple components are connecting to the same MQTT broker, make sure that there is no duplication in the client IDs. Otherwise, communication will not be performed correctly.
Receive data from AWS Iot Core using custom authorizer Set to ON if you want to use the AWS IoT Core custom authentication feature to receive data from AWS IoT Core.
Note: You must have enabled custom authentication settings in AWS Iot Core. For more information, see here.
Ignore null values This affects the behavior when the value in the received data is null. When this option is selected, NULL is ignored and no error occurs. When this option is not selected, error occurs when a NULL value is received.
Keep Alive(sec) Enter MQTT keepalive interval.
Time out(ms) Enter timeout seconds for MQTT broker connection.
Timestamp error tolerance(sec) Enter timestamp error tolerance.
Dynamic column creation Set to ON to dynamically create columns from data received from the MQTT broker.
Note: 1 Columns are generated only after data is received from the MQTT broker.
Note: 2 Dynamically generated columns disappear when the component stops. If you want to use the data, register it as a fixed column.
Data Name Enter the name of fixed column.
Data type Select the data type of fixed column.
Number of data Enter the array size of the fixed column.

4.3.5.3 Test Connection#

You can test connection with the specified destination by following the steps below:

  1. Open the settings screen for the registered MQTT Collector.

  2. Press [Test].

  3. Test connection is attempted with the specified destination, and the result is displayed at the bottom of the settings screen.

Precautions for MQTT Collector Test Connection

Test connection is only available in the following cases:

  • Component has stopped.
  • Component status is Error.
Note: For more information on status, see Status List.

4.3.5.4 Format of received data#

The format of the data received by MQTT Collector is compatible with the JSON serializer. Check the output data items of the JSON serializer.

Example of Data Transmission Using mosquitto

To receive data with the MQTT Collector, the key must be specified as "records" because the JSON "records" contains the data.
For example, to publish data to a topic using mosquitto_pub, the following command is necessary:

    $ mosquitto_pub -d -h 192.168.1.10 -p 1883 -t "topic" -m '{"records": [{"data1":1, "data2":"Hello,World"}, {"data3":[111,222,333], "data4":3.14}]}'
Data cannot be received if you don't have "records" in the first level of json. Anything other than "records" is ignored.

4.3.5.5 Receiving Data from Cloud Service#

The MQTT Collector can receive data from the following cloud services. See the following notes for each:

AWS IoT Core

In order for the MQTT Collector to receive data sent to AWS IoT Core,
you must use the “Receive data from AWS IoT Core using custom authorizer” option.
You also need to set it up on the cloud side.
For more information, see Custom Authentication and Authorization on the official AWS page.
This information is current as of June 2024.

Azure IoT Hub

To receive data from Azure IoT Hub, you need a setup to meet the IoT Hub specifications. The MQTT Collector can receive data sent as “cloud-to-device.”
The MQTT Collector cannot receive data sent to IoT Hub from other devices.
Data cannot be broadcast to multiple devices in a cloud-to-device setup.
This information is current as of June 2024. For more information, please check the official pages below:

A summary of the settings is provided below. Be sure to check the above official pages for a complete setup.
  • Your IoT Hub must be Standard tier. The IoT Hub cannot be used with Basic or Free tier.
  • Host: {IoT Hub name}.azure-devices.net
  • Port: 8883
  • User name: {IoT Hub name}.azure-devices.net/{Device Id}/?api-version=2021-04-12
  • Password: SAS token
  • Topic: devices/{Device Id}/messages/events/"
  • Client ID: {Device Id}
  • Encryption: Enabled
  • CA Certificate: DigiCert root certificate (DigiCert Global Root G2)

The MQTT broker in Azure Event Grid is not currently supported.

4.3.5.6 Receiving Data from Various Emitters#

Data generated by a JSON serializer can be sent to various emitters and received by other MQTT Collectors.

Sender Receiver Yes/No
MQTT Emitter MQTT Collector
Note: Connection with the same MQTT broker must be set up.
Cloud Emitter for AWS MQTT Collector
Note: The MQTT Collector must have a custom authentication setup.
Cloud Emitter for Azure MQTT Collector ×
Note: Data for devices cannot be received by the MQTT Collector.

Precautions for Receiving Data from Other Emitters

When receiving data from various emitters, note the following:

1. When sending data by the emitter one set at a time:

Example:
Switch the data of the sending JSON serializer at one set.
Set the receiving MQTT Collector error tolerance (in seconds) to 10.

In this case, if the data can be received within 10 seconds from data registration, the data is registered with the original timestamp. However, keep in mind that data is sent to the cloud frequently.

2. When sending aggregated values by the emitter:

Example:
Switch the data of the sending JSON serializer at one set.
The sending JSON serializer takes the average of data aggregated at the input port, with a window width of 60 seconds.
Set the receiving MQTT Collector error tolerance (in seconds) to 10.

In this case, the average of the values is registered and sent at the emitter, with the specified width. The Collector receives this and registers the data with the original timestamp. The load on the network is small because not all data is sent.

3. When the sender stores data for a specified time and sends it by the emitter:

Example:
Switch the data of the sending JSON serializer in 60 seconds.
Set the receiving MQTT Collector error tolerance (in seconds) to 0.

In this case, the data is registered with the current time at which the entire data was received. Note that data is not registered with the original timestamp.

4. When the sender collects data for a specified time and sends it by the emitter (with the timestamp registered without change):

To achieve this, you need at least the following setup:
Example:
Switch the data of the sending JSON serializer in 10 to 30 seconds.
Set the receiving MQTT Collector error tolerance (in seconds) to 60.
Set the delay time to 61000 (milliseconds) on the input port of the component connected to the MQTT Collector.

This setting allows data to be registered if the data timestamp sent falls within 60 seconds. However, check the transmission and reception and make sure that there is no problem with the performance, sufficiently verifying that the received data is being processed as expected.

4.3.6 Compute Collector#

This component performs calculations with any expression.
It receives data output by another component from the input port, and outputs as new data the result of calculating the data by applying any calculation formula.
You can use arithmetic and logical operations, as well as a variety of other functions, in the calculation formula.

4.3.6.1 Basic Information#

The basic information of the Compute Collector is as follows:

Item Description
Base name Compute Collector
Description Receives data from other collectors, performs calculations, and treats it as new data.
Consumption points 2
Port Input: 1
Receives data from other components.

Output: 1
Outputs the calcuation result according to the Settings.

System: 1
Outputs the component’s operating status and error information. For details on the output error information, see List of Error Codes.
Other This component can open the input port settings window and set up aggregation of data received from other components. For more information, see Import setting.

4.3.6.2 Settings#

The Compute Collector settings are as follows:

Item Description
Name Enter a name for the component.
Note: Must be different from any other component name.
Autostart disable Set to ON to disable the component’s Autostart.
Variable Name Name automatically assigned to the input data
Component Name Select a component from the input port data list.
Data Name Select data from the data list for the component selected above.
Aggregation Select aggregate value.
Note: Available only if you have applied the aggregation option to the component’s data. For more information on aggregation, see IN Port.
  • The Compute Collector output data is defined by the following settings:
Item Description
Data Name Enter name of data.
Data type Select a data type.
Trigger variable Variable that triggers the execution of calculation
The variable set in the input data can be selected. Calculation is executed once the selected variable is updated.
Expression Enter the expression to be executed by the Collector.
Note: Click the icon to the right of “Expression” in the title to display an example and a list of elements that can be used in the expression.

4.3.6.3 Import setting#

For added Compute Collectors, you can open the Compute Collector input port settings window by pressing "Import setting" on the setting screen. In the input port settings window, you can set up aggregation of data received from other components. For more information, see IN Port.