MThings User ManualManual usagePlease read this manual carefully before using this product. The content of the manual will be continuously updated and revised, but there may be occasional inconsistencies or errors with the actual use. Please feel free to leave us a message on the WeChat official account "MThings Technical Service" in a timely manner.
1 Software Overview
MThings is an upper computer software based on the MODBUS protocol stack, designed for operation and maintenance personnel in industrial control sites.
2 Maintenance and installation
2.1 Download
Download link:http://gulink.cn/download
2.2 Installation
2.2.1 prepare

Personal computer or server.
2.2.2 Install
1. Download the software package MThings_Pack.exe;
|
| If the program fails to run normally after installation, please enter the installation directory, double-click the "VC_redist.x86.exe" file, and then reopen MThings. |
3 Detailed function description
3.1 Basic Concepts
3.1.1 Device
Devices are communication nodes, and MThings includes two types: simulated master devices and simulated slave devices.Simulated host deviceWhen MThings serves as a host to connect multiple slave devices, users need to create a corresponding simulated host for each slave device in the software, and different simulated hosts are distinguished by device addresses.Figure 1 Schematic diagram of simulated host device
Simulate slave deviceWhen MThings is used as a slave to simulate data, users need to create different devices in the software based on different simulated slave addresses.
3.1.2 Data
In the MODBUS standard, four types ofdata blocksare defined:Table 1 MODBUS Data Definition
| Data Block |
Unit Length |
Access Type |
Preamble |
Read Function Code |
| Coil Status |
1 Bit |
RW |
0 |
0X01 |
| Discrete Input |
1 Bit |
RO |
1 |
0X02 |
| Hold Register |
2 Bytes |
RW |
4 |
0X03 |
| Input Register |
2 Bytes |
RO |
3 |
0X04 |
Based on the unit length of data blocks, four types of data blocks can be divided into two categories: Bit (BIT) data and Register (REG) data. Combining read and write attributes, the relationship between data blocks is as follows:Figure 2 Relationship between different data block types
Datais a specific definition within a data block, and data definitions in different data blocks are independent of each other.A data definition can contain multiple consecutive BIT/REG data addresses.The attributes of a piece of data include: the data block it belongs to, the data name, the data address, the data size, the data type (protocol type), the data coefficient (involved when floating-point data is transmitted in a fixed-point format), the byte order (involved when the register data size is 1, 2, or 4), and the word order (involved when the register data size is 2 or 4).
3.1.3 Transmission type and presentation type
MThings provides a user-friendly data visualization method, supporting the display of message data inactual business formats.Figure 3 Schematic diagram of intuitive visualization effect of equipment data
When configuring data entry, MThings provides four parameters: transmission type, presentation type, coefficient, and unit. Their meanings are as follows:Table 2: Explanation of the meanings of relevant configuration parameters presented in the data
| Floating point type (FLOAT) |
| Rounding (Decimal System) (INT-DEC) |
| Format (Hexadecimal) (INT-HEX) |
| Register data type supports data sizes of 2 and 4 |
| BIT data type supports a data volume of 1 |
| parameter |
Meaning |
| Transmission type |
Signed integer (INT), unsigned integer (UINT), floating point (FLOAT), byte stream (BYTES), bit data (BIT) |
| Presentation type |
Decimal integer (INT-DEC), hexadecimal integer (INT-HEX), floating point (FLOAT), byte stream (BYTES), string (STRING), epoch seconds (TIME) |
| Coefficient |
If the presentation data type is floating point and the transmission type is integer, it needs to be used with a coefficient. The software automatically multiplies the received data by the coefficient to convert it into floating point data for display |
| unit |
Description of auxiliary data meaning, directly presented on the interface |
MThings supports the conversion between multiple transmission types and presentation types, with the corresponding relationships as follows:Figure 4: Conversion between Transmission Type and Presentation Type
Transmission Type
| Floating-point type (FLOAT) |
|
3.1.4 Word order/byte order
In communication debugging,byte orderis a common concept, such as local byte order and network byte order. The MODBUS protocol also has the concept ofword order.Word orderrequires and explicitly states that the word order should be little-endian, meaning that when the original data is 0X12345678, the transmitted packet byte stream should be as follows:
3.2 Interface function partitioning
Figure 5 Schematic diagram of interface function partitions
1. Main menu: Used to switch to the "main function page".
3.3 Configuration file management
3.3.1 Configuration data content
The configuration file contains complete configuration information for the MThings usage process, mainly including: link list, link parameters, device list, device advanced parameters, and data configuration.
3.3.2 Common Operations
Figure 6 Common Operations for Configuration Files
1. New: Used to create a new project configuration file. For first-time use, you can skip creating a new configuration file
|
| When multiple MThings software instances are opened and point to the same configuration file, the configuration data will be overwritten repeatedly, and the final content of the configuration file will be consistent with the content saved most recently. |
|
| It is prohibited to place configuration files within the software package path to prevent them from being mistakenly deleted during software upgrades! |
3.4 Channel Management
| Device |
|
|
|
|
Device Type |
|
Device Address |
|
MThings software supports establishing communication with the target device through serial ports, TCP connections, and UDP unicast.These three communication methods are collectively referred to as channels.Figure 7 Logical relationship between channels and devices
3.4.1 Serial Port Channel
Figure 8 Serial Port Channel Operation
Access the channel management page through the "Channel" option in the auxiliary menu to view the list of serial ports actually present on the current PC. After MThings is launched, the serial port list will be automatically updated once. As shown in the figure above, the operations related to serial ports are as follows:Table 3: Definition of Serial Port Channel Status
| channel status |
meaning |
| Closed |
The software has not enabled this serial port or it has been manually closed |
| Connected |
The software successfully opened and initialized the serial port |
| Fault |
The software failed to open the serial port. The reason may be that the serial port is occupied by other software or the set serial port parameters are invalid |
Table 4 Definition of Serial Port Link Parameters
| Parameter |
Meaning |
| Channel Name |
Operating System Allocation Information, non-editable |
| Transmission Mode |
Used to specify the type of transmission protocol running on the current serial port, with options available |
| character type |
When the transmission mode is set to "MODBUS-ASCII", this parameter specifies whether the protocol characters should be in uppercase or lowercase. The default is the uppercase format required by the standard protocol |
| Baud rate |
Supports 1200, 2400, 4800, 9600, 19200, 38400, 57600, and 115200bps. Setting to other values will result in serial port opening failure |
| verification method |
Specify the data verification method in serial port bytes |
| data bit |
Specifies the number of data bits in the serial port byte data. If the data bits are required to be 7 bits in the MODBUS-ASCII protocol, please modify this parameter |
| stop bit |
Specify the length of the stop bit in the serial port bytes |
| Fluid control type |
No flow control by default, modify as needed based on actual application |
|
| If virtual serial ports are used, the master and slave device software should use paired serial ports |
3.4.2 Network channels
Figure 9 Network channel operation
Access the channel management page through the "Channels" option in the auxiliary menu to view the list of network channels. When using for the first time, there are no network channels, and users need to create them according to their needs. As shown in the above figure, network-related operations such asTable 5: Definition of network channel status
| channel status |
meaning |
| Closed |
The software has not enabled this link |
| Connected |
The network channel has been successfully chained |
| Connecting |
TCP client: Connecting to server |
| Fault |
TCP server: Local port is occupied |
Table 6: Definition of network channel parameters
| parameter |
meaning |
| Channel Name |
MThings are allocated uniformly and are not modifiable |
| Link mode |
Select MThings's role in the network layer, and choose from TCP client, TCP server, or UDP unicast |
| Re-establish link period (seconds) |
When the link mode is set to "TCP Client", by setting the reconnection period, MThings can be instructed to reconnect at specified intervals, which can simulate short links. The default period is 0, representing a long link. |
| Link idle protection |
When the link mode is set to "TCP Client" or "TCP Server", the link |
| duration |
After the connection is established, if there is no data interaction within the specified time period, |
| (seconds) |
MThings will proactively close the link. |
| Transmission mode |
Used to specify the type of transmission protocol running on the current link, selectable |
(Synchronous)”, “MODBUS-TCP (Asynchronous)”Figure 10: Application method of TCP client connectionTCP server192.168.0.20, 502)
TCP server192.168.0.30, 502)Figure 11: Application method of TCP server link
This device: 192.168.0.20 |
This device: 192.168.0.30 |
Figure 12: Application method of UDP unicast link
This device: 192.168.0.20 |
| UDP Unicast -1192.168.0.10Target port: 502 |
This device: 192.168.0.30 |
| UDP unicast - 1192.168.0.10Target port: 503 |
3.5 system parameters
The system parameter page provides global control parameters for the MThings software, which users can modify during runtime and have them take effect immediately. The parameter values will be saved locally.Figure 13 System Parameter Page
Table 7 System Parameter Definitions
| Parameter |
Meaning |
| Auto-start |
Function Switch, used to control whether MThings starts automatically with the operating system, disabled by default. |
| Historical Data Storage Interval |
Historical data function auxiliary parameter, used to control the interval time for refreshing and storing historical data. |
| Historical data is on the rise |
The historical data function has an auxiliary parameter. After the user configures this parameter, the header information will be printed and output along with the historical data report. |
| Data page refresh |
Function switch: To avoid wasting CPU computing resources, when users enable the "System" page for data browsing, they can use this switch to |
| Operation Mode |
supports both desktop and PAD modes, ensuring better display effects for the software across different terminals. |
3.6 User Management
The user management page offers two types of users: administrators and end users. Administrators can perform all functions provided by MThings, while end users are only allowed to operate certain functions. The tuning and testing functions are not displayed, and they are prohibited from modifying device data, alarms, system configurations, etc.Table 8 User Permission Assignment
| Page |
Administrator |
End User |
| System Page |
✔ |
✔ |
| Historical Data Page |
✔ |
✔ |
| Alarm Data Page |
✔ |
✔ |
| Data Page |
✔ |
✔ |
| Custom Page |
✔ |
✘ |
| Statistics Page |
✔ |
✘ |
| Auxiliary Page |
✔ |
✘ |
| About Page |
✔ |
✔ |
The default password for administrators is none. When using MThings for the first time, the default is a password-less administrator account, which supports password modification by the administrator. Once the administrator sets a non-empty password, MThings will log in as the end user after restart. Users need to enter the administrator password to switch to the administrator user.Figure 14 User Management
3.7 Authorization Management
For commercial (paid) features in MThings, users need to obtain authorization before use. Before purchasing authorization, users need to enter the authorization management page to generate a machine identification code. After obtaining the authorization certificate, enter the authorization management page to import the certificate and activate the commercial features.Figure 15 Authorization Management
1. Upon clicking, a unique machine code will be automatically generated, which can be used to purchase an authorization certificate;
|
| Reinstalling the operating system, replacing the disk, and other actions may cause changes to the system's key identification information, resulting in authorization failure and requiring the purchase of a new license.
Operating systems that fail to properly obtain key system identification information will be unable to generate machine code, and thus will not be able to obtain authorization. |
3.8 Device management
The device is a local image or service object of the communication debugging target device, and the device is responsible for everything
3.8.1 Add Device
Figure 16 Schematic of adding a device
1. Add device entry;0~255The starting address should be less than or equal to the ending address. By setting the starting and ending addresses, multiple devices can be added at once. If the starting address is equal to the ending address, it indicates that only one device is added.You can click "add" multiple times.
|
| If the newly added device address already exists in the device list, it will not be created repeatedly.
If a simulated master machine already exists in the link, adding a simulated slave machine is not allowed, and vice versa. |
3.8.2 Remove device
Figure 17 Schematic of removing equipment
1. Check the equipment that needs to be removed.
|
| Removing the device will delete all data configuration information under it. Please proceed with caution! If the device is mistakenly removed, please reload the project configuration and remember not to save the current configuration. |
3.8.3 View device information
Figure 18 Schematic diagram of device information viewing
1. Click the ">>" button, and the device list will automatically expand the page, displaying key device information: device type, device ID, channel, and device address.Table 9: Meaning of Device Name Status
| Device name status |
meaning |
| Blue background [M]COM1-001 |
The current device is activated |
| Font color: red [M]COM1-001 |
The device stops running, the associated link is disconnected, or the device is disabled. |
|
| The above states can occur simultaneously. |
Figure 19: Explanation of the meaning of device status identifiers.Factory
After adding a device, MThings assigns a default name, and its format is described as follows:Figure 20: Meaning of the default device name format.
[M]COM1-001 |
[Device Type]: Link Name Device Address
3.8.4 Device disabled
If it is necessary to temporarily stop the operation of a device, the device can be disabled, instructing it to cease all operations and communications. Device disabling is often used to suspend the operation of a simulated slave device, simulating a device going offline.Figure 21 Schematic diagram of device disablement
1. Check the devices that need to be disabled, and double-click the "Sequence Number" header to select all.
|
| Device disablement is only used as a temporary measure. During the device disablement period, if the link to which it belongs is disconnected and subsequently restored, the device will automatically recover. |
3.8.5 Device recovery
Figure 22 Schematic diagram of device recovery operation
1. Check the device that needs to be recovered, and double-click the "Sequence Number" in the header to select all.
|
| If the device you want to restore has its connection closed, clicking "Restore" will keep the device name in red. Once its connection status returns to "Connected", the device will automatically be restored. |
3.8.6 Device attribute modification
For the created devices, it supports modifying key device attributes, including device name, associated link, and device address.Figure 23 Schematic diagram of device attribute modification
1. Double-click the device row that needs to be modified.
|
| The device name cannot be empty and must be globally unique; otherwise, a modification failure prompt will be displayed.
If the newly set affiliate link already has other device types, it will prompt a modification failure.
If the newly set device address already exists on the associated link, a prompt will indicate that the modification has failed. |
|
| The added device does not support modifying the device type.
If the type selection is incorrect when adding a device and a large amount of data configuration has already been completed, it is recommended to export the data template under the device, delete the incorrect device, add a device of the correct type again, and import the data template. |
3.9 Device Data Configuration
Device data configuration involves converting MODBUS data protocol definitions into MThings configurations. After completing device data configuration, simple button operations can quickly initiate polling, batch read/write, and single read/write without manual packet assembly and data conversion. MThings supports intuitive visualization of protocol data information, which can significantly improve tuning and testing efficiency.
|
| Before configuring device data, please confirm in the device list on the left whether the correct device to be configured has been selected. |
3.9.1 Adding Data Configuration
Method 1:Figure 24 Schematic of Adding Data Configuration
1. Click the "Data" menu.
3.9.2 Delete data configuration
Figure 25 Schematic diagram of deleting data configuration
1. Click on the "ID" column to select the data configuration you wish to delete. Double-click the "ID" header to select all or cancel all selections.
|
| After deleting data and clicking "Save" on the configuration file, the data configuration information will be lost. Please proceed with caution! |
3.9.3 Edit Configuration Item
Table 10 Configuration Item Operation Instructions
| Configuration Item |
Purpose & Configuration Method |
| ID |
Non-editable; the software assigns them sequentially. |
| Name |
Data Name, which can be defined arbitrarily and cannot be empty. |
| Value |
Non-editable; in operation mode,double-clickingcan trigger a single read-write operation. |
| Command |
Double-click to start editing. Enter the write command data to be issued. If there is no background color, it indicates that the data does not support the issuance of write commands. |
| Write |
In operation mode,double-clickto trigger the issuance of write commands. |
| Unit |
Data unit, which can be defined arbitrarily. |
| Range |
Data value range, used to assist in debugging, can be defined arbitrarily, and does not participate in the verification process. |
| Block |
After double-clickingthe cell, select to modify the data block type. Refer to the block definition for reference |
| Address |
Starting address of the current data item, no leading digits required.Note:Combined with the address offset in the advanced parameters, this address is the protocol (interface) address |
| quantity |
The number of consecutive data addresses currently occupied by the data item. |
If the data item is an input register, it must not exceed 125.Note:The changes will take effect after MThings is restarted.
| Transmission Type |
double-clickSelect and modify the data type defined in the MODBUS data protocol after the cell. For detailed instructions, please refer to Sectionin the data chapter. |
| Presentation Type |
Double-click thecell and select the data type presented in the modified software interface to achieve a more user-friendly experienceData chapterFestival. |
| decimal places |
If the presentation type is a floating-point number, this parameter takes effect; otherwise, it is forced to be 0. |
| endianness |
For registering data, if the data quantity is 1, 2, or 4, byte order needs to be specified. Please refer to the MODBUS data protocol requirements. If there are no special requirements, select big-endian. |
| Word order |
For registering data, if the data quantity is 2 or 4, the word order needs to be specified. Please refer to the MODBUS data protocol requirements. If there are no special requirements, select big-endian. |
| interval |
Used to control the interval time between read and write requests. |
| timeout period |
Used for simulating the host, it indicates the maximum allowable response delay for data read and write requests. If the delay exceeds this time, it is considered a timeout, and the next request is proceeded. |
If data items are combined into one request with other data items, the timeout value should be the maximum among them.Figure 26 Schematic diagram of timeout and interval time for simulated host
Figure 27 Schematic diagram of the interval time for simulating the slave machine
Figure 28: Example of Bit Offset & Bit Count
| The highest bit (Bit: 63) |
4 Reg (8 Bytes)
300001
300002
300003
300004
|
| If too many curves are checked in the data configuration items, and the checked data undergoes high-frequency refreshing for a long period of time, it will inevitably lead to a continuous increase in computer memory. It is recommended to be cautious when associating too many data curves. |
3.9.4 Batch editing configuration
If you need to quickly edit the "Name", "Unit", "Address", "Quantity", "Bit Offset", "Bit Count", "Factor", "Offset", and "Range" of data configuration, MThings supports users to copy multiple rows of Excel data and paste them into the designated position of the data configuration table.Figure 29 Example of batch filling configuration
3.9.5 Mark the background color of the data
Figure 30 Schematic of marking data background color
1. long pressFor the "Name" cell of data that requires background color marking, the "Set Data Name Background Color" page will pop up.
3.9.6 Manual data sorting
You can rearrange the data configuration rows by dragging the "address" cell of the data.
|
| Supports dragging to any position, either downwards or upwards.
The data configuration row will be added above the row where dragging stops.
To drag to the last row, you should drag the configuration row to a blank area in the table. |
3.9.7 One-click data sortingFigure 31 Schematic of one-click data sorting
1. Double-click the "Sort" button to complete the one-click sorting function.
The data blocks are sorted in the following order: coil status, discrete input, hold register, and input register.
Within the same data block, sort by "data starting address" from small to large.
When the data starting addresses are the same, they are sorted from small to large with reference to the "bit offset".
When the bit offsets are the same, sort them from small to large with "bit number" as the reference.
3.9.8 Advanced parameter settings
The software provides advanced device parameter configuration for controlling public functions related to device reading and writing.Figure 32 Schematic diagram of advanced parameter settings for equipment
1. Click on the "Advanced Parameter Configuration" icon to enter the page.Table 11: Definition of Device Data Page Status
| parameter |
Purpose & Configuration Method |
| Address offset |
Message data address = protocol (interface) data address + address offset. |
Used to specify the display format of data addresses, with options of "Decimal" or "Hexadecimal". When "Hexadecimal" is selected, the address format is
| By default, a write request for the status of a single coil is made using the 0X05 function code according to standard requirements. |
| Broadcasting equipment |
It is only used for simulating a host, indicating whether the current device is a broadcast device. If "Yes" is selected, all requests issued by the device will not wait for response messages. |
| Broadcast address -1 |
Only used for simulating a slave device and indicating the broadcast address, with a default value of 0. |
| Broadcast Address-2 |
Ditto |
| Immediately perform batch read after startup |
Only used for simulating the host, indicating whether to initiate a one-time or recurring batch read operation after the device link is established or the device resumes operation. |
| Immediately perform batch write after startup |
Only used for simulating the host, indicating whether to initiate a one-time or recurring batch write operation after the device link is established or the device resumes operation. |
|
| Advanced device parameters can be synchronously copied to other devices. |
3.9.9 Copy Data Configuration
When multiple devices follow the same MODBUS data protocol, if the data configuration of one device has been completed, the current device data configuration can be fully copied to other selected devices through a copy operation.Figure 33 Schematic of Copying Data Configuration
1. Click the "Copy Configuration to Other Devices" icon button to enter the "Select Devices" page.
|
| Data configurations can be copied between the simulated master and simulated slave. |
|
| Copying data configuration will overwrite the existing configuration of the target device. Please proceed with caution! |
3.9.10 Create and export data templates
The data configuration workload in MODBUS is significant. To facilitate the transfer and sharing of data configurations, MThings supports the function of exporting data templates, making them independent of specific debugging environments, links, devices, and other differentiating factors. The recipient can quickly set up their own debugging environment through the data template, eliminating the need to reconfigure the data again.Figure 34 Schematic of creating and exporting data templates
1. Click the "Export" button to enter the "Export Device Data Configuration" page.Figure 35 Schematic of exported data template file
3.9.11 Import data template
Figure 36 Schematic of importing data template
1. Click the "Import" button to enter the "Select Device Configuration Template File" page.
|
| The simulated master and simulated slave can import each other's data templates, but it is recommended to carefully confirm the differences in data configurations between the two device types before proceeding. |
3.10 Simulate data operations on host devices
3.10.1 Single data read
Figure 37 Schematic of Single Data Reading Operation
1. Double-clickto read the "Value" cell of the data row.double-clickThe "Numerical" header allows for batch reading of all rows of data at once.
|
| When the device is disabled or the connection is closed, it will not be able to successfully initiate a single read.
A single operation is not limited to a single register. If the data consists of multiple consecutive registers, it is also supported for a single operation. |
3.10.2 Batch read (polling) data
Figure 38 Schematic diagram of batch data reading operation
1. Confirm the scope of data to be read in batch.
|
| If you wish to initiate batch reading immediately after the device is started, you can modify the "Batch Read Immediately After Startup" option in the device's advanced parameters.
If you need to change the data range for batch reading, please re-check the data combination for "Batch Reading".
When the device is disabled or the link is closed, it will not be able to successfully initiate batch reading.
After changes are made to the parameters related to "batch reading" on the device, a restart of polling is required for the changes to take effect. |
3.10.3 Single data writing
Figure 39 Schematic diagram of single data writing operation
1. Double-clickto trigger the editing of the "instruction" cell, and enter the target value of the issued data.double-clickWrite button, immediately issue the command to write data.
|
| Only the coil state and hold register support this operation.
When the device is disabled or the connection is closed, it will not be able to successfully initiate a single write operation.
A single operation does not necessarily refer to a single register. If the data consists of multiple consecutive registers, it is also supported for single operation. |
3.10.4 Write data in batch
Figure 40 Schematic of batch write operation
1. Confirm the selected range for batch data writing.
|
| Only the coil state and the hold register support this operation.
If you wish for the device to initiate batch writing immediately upon startup, you can modify the "Batch Write Immediately After Startup" setting in the device's advanced parameters.
When the device is disabled or the connection is closed, it will not be able to successfully initiate batch writing.
After changing the parameters related to "batch write" on the device, a restart of "batch write" is required for the changes to take effect. |
3.10.5 View data curve
If the curve is checked in the data configuration item and the data has been read and operated for a period of time, you can enter the "Data Curve Display" to view the changes in data values.Figure 41: Viewing the data curve diagram
1. Confirm the selected range of the data curve.
3.10.6 Parse message
To facilitate the analysis of response messages for read data and request messages for write data, MThings supports mapping BIT and register data from the original messages to a data table based on existing device data configurations. This eliminates the need for users to perform byte-by-byte analysis and calculation, allowing them to intuitively view the content of transmitted data.Figure 42 Schematic diagram of parsing message operation
1. Click the "Parse Message" button to open the parsing message input page.Figure 43 PDU Definition
3.10.7 Data search
When there are numerous data configuration rows and users need to quickly locate a specific data row, they can scroll to the designated position in the table quickly by searching for the data name.Figure 44 Schematic diagram of data search operation
1. Enter a partial keyword (case-sensitive) in the name of the data to be searched.Figure 45 Schematic diagram of widening row height operation
1. Click on the cell in the "Name" column to increase the height of the current row.
|
| If there are multiple matches, the user can click the search button multiple times, and the search function will continue to traverse other rows in the table and identify matching items.
The search scope only includes the "Name" column. |
3.10.8 Data Filtering
The data page provides multiple methods for filtering information, facilitating users to focus on key information more quickly and effectively.Figure 46 Schematic diagram of data filtering
1. Clicking the "Filter Blocks" button can hide/display specified data block types.
|
| The operation of filtering blocks is only a temporary action. After restarting the software, all blocks will be redisplayed.
The operations of filtering rows and columns will store the configuration file, and the display/hide status of the last selection will be retained after restarting the software. |
3.11 Simulate data operation of slave devices
The process of simulating the response from the slave device data does not require manual triggering. Upon receiving a request from the master, the software automatically packages and responds. The simulated slave also supports data curves and parsing of messages. For operation methods, refer to the previous chapter.Figure 47 Schematic diagram of preset simulation data method
1. Double-click the "Value" cell that requires simulated data to open the "Select Simulated Data Method" page.
|
| You can drag a row of "numeric" cells to another row of "numeric" cells to quickly copy simulated data configurations. |
Table 12: Definition of parameters for simulated data method
| parameter |
Usage & Configuration Method |
| Strategy |
Define simulation method, default is fixed value |
| Refresh interval (ms) |
Interval for numerical update, during which the value remains unchanged. |
| Time axis starting point |
Define the origin position of the curve time axis. |
| Upper and lower limits of random interval |
Based on existing curve values, when a valid random interval is defined, random numbers within the range are superimposed. If the upper and lower limits are the same, it represents no randomness. |
| Maximum/minimum value |
Based on existing curve values, when a valid extreme value range is defined, the curve values will be constrained within this range, which can generally be used for curve peak shaving and filling |
| Table 13: Configuration of Slave Register Data Strategy |
| Strategy |
Usage & Configuration Method |
| Fixed Value / Linear / Parabolic |
Refer to the description in the software interface |
| / Sine Curve / Square Wave |
|
| Preset Data |
Each piece of data is separated by a newline character; Supports copying entire columns of data from Excel to the data window; When the refresh interval is set to 0, requests from the host are replied to in a row-by-row manner; When the software is restarted or the round-robin reading is reinitiated, the data reply will also be reset. |
| Association Mode |
Associate any data from other simulated hosts to integrate key information and forward it to northbound devices. |
3.12 Data Curve Display
The Data Curve Display is a container for multiple data curves, serving multiple important functional areas. Each curve represents a legend, and the display provides legend customization, data statistics, and export functions.
3.12.1 Curve Viewing
Figure 48 Schematic of Curve Viewing
The curve view includes a list of data curves (legends) and a legend display area. The legend list on the left contains legends in the display state, with the background color matching the curve color. The legend display can show multiple legends simultaneously. By default, different legends are associated with the left Y-axis, but some legends can be configured to be associated with the right Y-axis.
3.12.2 Maintain the legend
Figure 49 Schematic diagram of maintenance legend
1. Click the "Maintain Legend" button to open the legend editing page.
3.12.3 Coordinate axis management
The data curve displayer supports multiple modes for viewing data curves, including: normal mode, fixed mode, and oscilloscope mode.Figure 50 Axis parameters
Table 14 Definition of coordinate axis parameters
| Parameter |
Purpose & Configuration Method |
| Update Interval (ms) |
Controls the data refresh interval of the curve displayer. |
| Time Axis Mode |
Switches the time axis display mode. |
| Maximum Duration (Hours) |
Controls the maximum retention time for all data in the curve. After exceeding this time, the curve data will be automatically removed. |
| Window Duration (Seconds) |
Takes effect in the "Oscilloscope" mode of the time axis, specifying the length of the time axis that can be displayed. This value should be less than the "Maximum Duration" parameter. |
| Left Y-Axis Adaptation |
Controls whether the left Y-axis automatically adjusts with the curve data range. |
| Right Y-axis Adaptation |
Controls whether the right Y-axis automatically adjusts with the curve data range. |
| Left Y-axis Warning Line 1 |
Switch |
| Left Y-axis Warning Value 1 |
Displayed as a dashed line on the curve displayer according to the set value |
| Left Y-axis Warning Line 2 |
Switch |
| Left Y-axis Warning Value 2 |
Displayed as a dashed line on the curve displayer according to the set value |
| Right Y-axis Warning Line 1 |
Switch |
| Right Y-axis Warning Value 1 |
Displayed as a dashed line on the curve displayer according to the set value |
| Right Y-axis Warning Line 2 |
Switch |
| Right Y-axis Warning Value 2 |
Displayed as a dashed line on the curve displayer according to the set value |
3.12.4 Data Export
Figure 51 Data Export Demonstration
1. Click the "Export" button, select the path to store the exported data, and you're done.
|
| The exported data file contains all curve data in csv format, which can be directly opened using EXCEL. |
3.12.5 Filter Devices
If there are too many data curves, to facilitate viewing all data curves under the same device, you can use the device filtering function to hide data curves that are not needed for the moment (legend).Figure 52 Schematic of Filtering Device
1. Click the "Filter" button to open the device filtering page.
3.13 Channel message management
As channel messages serve as crucial debugging information, MThings provides a comprehensive and user-friendly approach for message management.
3.13.1 View channel messages
Figure 53: Schematic diagram of viewing channel messages
1. By default, the software does not enable the message browsing window. To enable it, you need to check "Message", and then the message window will be embeddedTable 15: Definition of Message Colors
| color |
meaning |
| blue |
Send messages normally |
| Green |
Normal received message |
| Red |
Abnormal message |
| Purple |
Link status event |
|
| For user identification, when receiving a MODBUS-TCP message, the first 6 bytes of the MBAP, including the sending sequence number, protocol type, and data length, are enclosed in a pair of "[ ]" during message display. |
3.13.2 Channel message control
Figure 54 Schematic of channel message control
1. By default, the software starts receiving all link messages upon startup. Checking the "Receive" option allows you to enable or disable message reception.
|
| After filtering the links, the filtered messages will not be saved.
Scheduled or manual clearing will not affect the saved data. |
3.13.3 Serial port packet capture
To perform serial port packet capture, simply create any simulated host device within the target serial port connection,
|
| It is not recommended to use MThings for serial port packet capture. It is advisable to choose a general-purpose serial port tool. |
3.14 system data
The system data page provides configuration functionality, enabling users to flexibly and intuitively display and manipulate data based on existing device data. This feature requires authorization to use.Figure 55 Schematic of system data page
3.14.1 Enter configuration editing
Figure 56: Schematic of entering configuration editing
3.14.2 Exit configuration editing
Double-click the system data canvas again to exit the configuration editing.
3.14.3 Overall page parameters
After entering the configuration editing mode, the "Page Parameter Settings" dialog box will automatically pop up, allowing users to modify the overall page parametersTable 16 Overall Parameter Definition for Page
| Parameter |
Purpose & Configuration Method |
| Title |
Controls the display of the title content in the center of the canvas header. |
| Background Color |
If the canvas has no background image, you can double-click this parameter to fill it with a uniform background color. |
| Canvas Width |
Controls the width of the display area of the canvas, with the value in the same unit as the resolution. |
| Canvas Height |
Controls the height of the display area of the canvas, with the value in the same unit as the resolution. |
| Canvas Background Image |
Set a user-defined background image. After double-clicking in the parameter area, select the path of the background image. The image should be in .png format. |
3.14.4 Add graphic control
Figure 57: Adding a Graphic Control
The process of adding a graphical control involves completing four configuration steps:Drag inIn the canvas;
3.14.5 Modify graphical controls
After entering the configuration editing mode, clicking on an existing graphical control will result in the appearance of a blue wireframe. Users can quickly resize the graphical control by dragging it with the mouse.Figure 58 Modify Graphic Control
1. Adjust the alignment of the selected control
3.14.6 Control description
| Name |
Effect diagram |
Function description |
| Data label |
 |
Display data name, value, and unit; After double-clicking, edit the value and issue a command; Support multiple name and value layout methods. |
| Static text |
Annotation information |
Display static text information; Font size and color can be set. |
| Multi-row table |
 |
Display data from multiple different devices. |
| During the daytime |
 |
, the local time is displayed. |
| Page tabs |
 |
allow for switching between different interface information displays by clicking on different page tabs. |
| Slider |
 |
provides a quick way to adjust numerical parameters using a slider; supports floating-point instructions; allows for customization of control background and numerical colors. |
| Device status |
 |
displays the communication status of devices in the associated device list. |

| Switch |
 |
visually displays the state quantity; Users can manually trigger the issuance of switch statuses; Supports custom status values (other than 0/1). |
| Separator |
|
Separator for auxiliary control classification display. |
| Flow line |
 |
Based on the base map pipeline, adds dynamic flow direction effects; Supports adjusting line color and width; Supports multiple turning points; Supports triggering flow or stillness based on associated device data. |
| Electricity |
 |
Displays remaining electricity data; Supports defining data range and refresh step size; Supports defining alert values and automatically matching alert colors. |
| Graphic switch |
 |
Intuitively displays state values; Multiple switch styles; Users can manually trigger the issuance of switch states; Supports custom state values (not limited to 0/1). |
| Dashboard |
 |
Intuitively displays value names, values, and units; Supports adjusting range, display precision, and units; Supports modifying value colors. |
| Speedometer |
 |
Intuitively displays value names, values, and units; Supports adjusting range and units; Supports modifying numerical color; LCD code presents integer data. |
| Progress dial 1 |
 |
Visually displays absolute value and percentage of data; Supports adjusting actual data range. |
| Progress dial 2 |
 |
Visually displays relative range percentage of data; Supports adjusting actual data range. |
| Compass |
 |
Visually displays angle data (0~360); Supports floating-point data. |
| Thermometer |
 |
Visually displays temperature data; Supports customizable range; Supports negative temperatures; Supports floating point numbers; Supports modification of scale color. |
| Background image |
 |
Used for locally adding image display; Supports importing images from any local path; Supports commonly used image file formats. |
| Real-time curve |
 |
Displays up to 3 sets of data curves simultaneously; Supports modifying the display time range; Can display up to 24 hours of data; Supports modifying the colors of curves and coordinate axes. |
| Historical curves |
 |
Displays a historical data curve; Supports modifying the display time range; Can display up to 180 days of data; Supports modifying the colors of curves and coordinate axes. |
| Alarm summary |
 |
Window displays all active alarms; Supports dynamic display changes. |
| Alarm statistics |
 |
Display key statistical data for activity alarms; Automatic alarm correlation function. |
3.15 Historical data
The historical data page provides persistent storage, display, printing, and export functions for device data, and supports generating independent data files daily, as well as statistical data summary information. This function requires authorization for use.Figure 59 Schematic diagram of associated device data storage
The operation of historical data is strongly associated with device data. Users need to first check the "Store" option for the data items to be stored on the "Data" page.
|
| To avoid frequent modifications to storage configurations, it is recommended to debug the data configuration until it is stable before enabling the historical data storage function.
Any changes to the configuration related to historical data require a software restart! |
Figure 60 Schematic diagram of historical data function
Refreshing the historical data display table: The backend historical data will not automatically update the table on the page. If you remain on the current page for an extended period, you will need to manually click the "Refresh" button to view the latest historical data records.
3.16 Data gateway
The data gateway function provides protocol conversion and data aggregation capabilities, enabling bidirectional conversion of different channel types, protocol types, device addresses, register addresses, data blocks, data types, and data lengths. This function requires authorization for use.Figure 61 Schematic Diagram of Data Flow in Transparent Transmission Mode
Figure 62 Schematic Diagram of Data Flow in Caching Mode
3.16.1 Application of Transparent Transmission ModePreparatory work:1) Create a simulated host in MThings and connect it to a southbound serial device;Figure 63 Device configuration in transparent transmission mode
1. double-clickNewly established slave device.double-clickAfter binding the mode, select the transparent transmission mode.double-clickBind the device.
|
| In transparent transmission mode, the slave device can be configured without device data. |
3.16.2 Cache mode application
MThings supports associating two different devices (simulated slave and simulated master) through cache mode to achieve channel, protocol, and device address conversion functions.Preparation:1) Create a simulated master device in MThings and connect it to a southbound serial device;Figure 64 Cache mode configuration and device binding
1. double-clickFrom the machine equipment.double-clickBinding mode.
|
| In the caching mode, the slave device can be configured without device data, but its associated simulated master device should be configured with valid data and initiate polling.
In caching mode, if the request data from the northbound device exceeds the configuration of the southbound device, zeros will be automatically padded. |
3.17 Alarm Data
The alarm data page provides functions such as device alarm generation, storage, configuration, display, export, and voice prompts. It supports the generation of alarm information based on multiple conditions and across devices, referring to the standard: "IEC 62682:2014"Figure 65 Schematic diagram of alarm data function
1. Switch the alarm record type. The active alarms are divided into two categories: "Need to Confirm" and "No Need to Confirm"Figure 66 Schematic diagram of alarm configuration function
1. Add a new alarm configuration.Table 17: Parameter definitions for the alarm information configuration table
| parameter |
Purpose & Configuration Method |
| Name |
Specify the alarm name. |
| Type |
Select the type of the current configuration based on the pre-configured alarm type table. |
| Level |
Optional: Important, Minor, Warning. |
| Voice Warning |
Checking the option will trigger different voice warnings based on the fault level. |
| Manual Confirmation |
Specify whether the current alarm configuration requires user confirmation. |
| Generation Delay (seconds) |
To prevent alarm chatter, set the alarm generation delay. An active alarm record can only be generated when the alarm condition persists for this duration. |
| Recovery Delay (seconds) |
| Recovery delay (seconds) |
To prevent alarm chatter, set the alarm recovery delay. An active alarm can only be marked as recovered when the alarm condition does not persist for this duration. |
| Condition 1 |
Alarm Triggering Condition 1 |
| Relationship |
Logical Relationship between Alarm Triggering Conditions 1 and 2 |
| Condition 2 |
Alarm Triggering Condition 2 |
| Relationship |
Logical Relationship between Alarm Triggering Conditions 2 and 3 |
| Condition 3 |
Alarm Triggering Condition 3 |
Table 18 Alarm Condition Configuration Table Parameter Definition
| Parameter |
Purpose & Configuration Method |
| Enable |
Turn on this switch after enabling the trigger condition. |
| Device |
Select the associated device. |
| Data |
Select the associated device data. |
| Trigger Mode |
Select the trigger type, options include: greater than, greater than or equal to, equal to, not equal to, less than or equal to, less than, between, not between. |
| Threshold 1 |
The threshold for conditional judgment that matches the trigger mode. |
| Hysteresis 1 |
The magnitude of the return difference when the condition is not met. |
| Threshold 2 |
Only applicable to triggering modes of "between" and "not between". |
| Return difference 2 |
Only works with the triggering methods of "between" and "not between". |
3.18 Custom request
MThings supports users in sending custom messages based on the created simulated host devices, and the messages must comply with the MODBUS protocol requirements.
|
| The custom request function is exclusively for the simulated host, and can be accessed using either standard function codes or custom function codes.
Before customizing the request operation, please confirm on the left device list whether the current device is correct. |
Figure 67 Schematic diagram of custom request operation
1. Click on the "Customization" main menu to enter the customization request page.
3.19 Message statistics
MThings supports synchronous statistics of message interaction data during the communication interaction process between simulated master devices and simulated slave devices.Figure 68 Schematic diagram of statistical operation
1. Click on the "Statistics" main menu to access the statistics page.Table 19 Definition of statistical data items
| data |
meaning |
| Sent normally |
Successfully sent to the link |
| Received normally |
Received a normal host request or slave reply data |
| packet loss rate |
Only applicable to analog hosts |
| Send failed |
Due to an abnormal link, data could not be sent |
| Response abnormal |
The slave device replied with an abnormal frame (request function code + 0X80) |
| Response timeout |
Did not receive a normal response frame from the slave device |
| Frame length abnormal |
The received data could not be parsed normally |
| Checksum abnormal |
The received message has the following check sum error: |
|
| Device communication messages are required during the statistical process, and packet capture process statistics are not supported.
If there are abnormal messages in the link and their corresponding device addresses cannot be identified, such abnormal messages will be classified as belonging to "other" devices.
It is recommended to store the original messages synchronously during the statistical process to facilitate problem analysis. |
3.20 Auxiliary tools
MThings, as a commonly used MODBUS testing tool, provides multiple auxiliary tools to assistFigure 69 Schematic diagram of auxiliary gadget operation
1. Click on the "Auxiliary" main menu to enter the auxiliary page.
666
第一次使用,应该能满足我的需求!
不错