20 years of experience accumulation: Introduction to Modbus Debugging Assistant

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

20 years of experience accumulation: Introduction to Modbus Debugging Assistant

I used 3 months to turn my 20 years of industrial debugging experience into a WeChat mini program

High point: 20mA → 10bar


[5] Principle and Implementation of CRC16 Algorithm

I am an industrial automation engineer, Employment 20 Year, Waiting for equipment manufacturers, Integrators, I have also worked as the first party.

These years, I have seen too many engineers on site feeling embarrassed":

  • carrying a computer weighing over ten pounds on their backs, running to the site just to debug a device Modbus forgetting to bring it
  • switching to a serial port cable USB the entire project being suspended for half a day, the software on the computer being charged
  • the cracked version being afraid of viruses, the parameters not being adjusted
  • PID calling the manufacturer to ask, waiting for half a day to reply, sensor calibration relying on manual calculation
  • the calculator pressing the wrong button once, starting all over again, the most painful one

it was a late night repair, the customer's. communication failure PLC when I arrived, it was already late at night, I found that I forgot to bring the computer 10 I had to call my colleague to deliver it. I had to tinker until early in the morning, it was not resolved until midnight, at that moment, I thought to myself 3 why can't I just bring my phone to the site? I spent a whole month developing this debugging assistant and WeChat mini program in my spare time. It is not just a debugging tool, but also the crystallization of my years of experience. Firstly, it has core functions and professional tools.

Install it into the phone: Debugging the whole family bucket?

The core function of mini programs, exactly. complete 3 Protocol stack support, Main station polling tool Modbus This is the most frequently used function Not one of them.

Supported function codes, Function code 20 name.


Use Read coil status, core functionality: 20+ professional tools, Install into mobile phone

1.1 Modbus Debugging the whole family bucket

The core function of mini programs, exactly. complete Modbus Protocol stack support.

(1) Modbus Poll - Main station polling tool

This is the most frequently used function, second to none.

Supported Function Codes:

function codeNamePurpose
FC01Read CoilsRead coil status (Switching output)
FC02Read Discrete InputsRead discrete inputs (Switching input)
FC03Read Holding RegistersRead and hold registers (The most commonly used)
FC04Read Input RegistersRead the input register (Read only)
FC05Write Single CoilWrite into a single coil
FC06Write Single RegisterWrite into a single register
FC15Write Multiple CoilsWrite multiple coils
FC16Write Multiple RegistersWrite multiple registers
FC17Report Slave IDNotify the client ID
FC22Mask Write RegisterMask write register (Change individual bit)
FC23Read/Write MultipleSimultaneously read/write multiple registers
FC43/14Read Device IDRead device identification

Connection method:

  • Modbus TCP: Support any IP And ports, Automatically save connection history
  • Bluetooth connection: Supports regular Bluetooth conversion 485 Modules and PACO Bluetooth adapter
  • Port forwarding: Support router port mapping (As external 1502 → Internal 502)

Data display format:

The original data of the same register, support 7 Display format One click switching:

Signed(有符号)   →  -32768 ~ 32767
Unsigned(无符号) →  0 ~ 65535
Hex(十六进制)    →  0x0000 ~ 0xFFFF
Long(长整型)     →  32 位整数
Float(浮点型)    →  IEEE 754 单精度
Float Swapped      →  字节反转浮点
Binary(二进制)   →  0000 0000 0000 0001

💡 Actual cases: A temperature sensor returns 0x4248 0x0000, If pressed 16 It appears to be a bit integer 17480 And 0, Completely wrong. Switch to Float Format, Display 50.0, This is the actual temperature value.

Advanced tools:

  • Communication monitoring panel: Real time recording of all Tx/Rx Original message, Support pause/continue, One click sharing
  • TC Testing Center: Manual input Hex String sending, View the original response, Debugging custom protocols
  • Real time charts: Enter the register address to be monitored, Real time display of numerical changes in bar charts
  • Request message preview: Real time display of upcoming messages on the settings interface RTU/ASCII frame structure (Including CRC/LRC Verification)

(2) Modbus Slave - Slave station simulator

This feature is often overlooked by many people, But it is actually very practical.

Usage scenarios:

  • Test the upper computer software (Like Kingview, WinCC)
  • verification PLC Program logic
  • Training new employees (No need for real equipment)
  • Simulate slave response during the development phase

Support functions:

  • Simulated coil, Discrete input, Maintain registers, Input register
  • Customize initial values
  • Support batch setting of address range
  • Real time display of main station request messages

(3) Modbus RTU/TCP/ASCII - Detailed explanation of the agreement

The mini program provides detailed explanations and practical examples for all three transmission modes.

RTU vs ASCII contrast:

characteristicRTUASCII
Encoding methodBinaryASCII Text
Verification methodCRC16LRC
Frame lengthShort (Efficient) Approximately RTU 2 Double
Frame identification3.5 Character silence interval":" start + CR LF ending
Applicable scenariosMost industrial equipmentOld equipment/modems

CRC16 Algorithm implementation (Core code) :

// MODBUS CRC-16 (低字节在前)
calcCRC16(bytes) {
  let crc = 0xFFFF;
  for (let i = 0; i < bytes.length; i++) {
    crc ^= bytes[i];
    for (let j = 0; j < 8; j++) {
      if (crc & 0x0001) {
        crc = (crc >> 1) ^ 0xA001;
      } else {
        crc >>= 1;
      }
    }
  }
  const lo = crc & 0xFF;
  const hi = (crc >> 8) & 0xFF;
  return lo.toString(16).toUpperCase().padStart(2, '0') + ' ' + 
         hi.toString(16).toUpperCase().padStart(2, '0');
}

LRC Algorithm implementation:

// MODBUS ASCII LRC
calcLRC(bytes) {
  let sum = 0;
  for (let i = 0; i < bytes.length; i++) {
    sum += bytes[i];
  }
  const lrc = ((~sum) + 1) & 0xFF;
  return lrc.toString(16).toUpperCase().padStart(2, '0');
}

1.2 Serial port debugging assistant

This is the second high-frequency function used.

Core characteristics:

  • Three connection methods: Bluetooth / TCP / UDP
  • Full parameter configuration: Baud rate (9600/19200/38400/57600/115200) , Data bits, Stop position, Checksum
  • Independent setting of receiving and transmitting areas:
    • Reception area: ASCII/HEX Switching, Timestamp, Automatic line wrapping, set number, Automatic scrolling
    • Sending area: ASCII/HEX Switching, Automatically parse escape characters (rn t) , Circular transmission
  • Four verification methods: CRC-16, Accumulated sum, LRC, XOR verification
  • Real time statistics: RX/TX Byte count, One click reset

Practical cases 1: Bluetooth debugging PACO Equipment

PACO It is a commonly used Bluetooth 485 Adapter, The mini program has been deeply optimized for it.

// 构建 PACO 命令 (80 字节固定长度)
buildPacoCommand(cmdType, param = '') {
  let cmd = '';
  switch(cmdType) {
    case 'read485':
      cmd = 'PACO-Setting-Code-PACO-FXY-BT-485-R-485Setting.';
      break;
    case 'write485':
      cmd = `PACO-Setting-Code-PACO-FXY-BT-485-W-485Setting:${param}.`;
      break;
    case 'readName':
      cmd = 'PACO-Setting-Code-               -R-PartNumber.';
      break;
    case 'writeName':
      cmd = `PACO-Setting-Code-PACO-FXY-BT-485-W-DeviceName:${param}.`;
      break;
  }
  // 补齐到 76 字符,末尾加 PACO
  const paddedCmd = cmd.padEnd(76, ' ') + 'PACO';
  return paddedCmd;
}

Can read and write PACO Equipment:

  • 485 Parameters (Baud rate/data bits/stop bits/parity bits)
  • Equipment name (maximum 7 Characters)

Practical cases 2: TCP Port restriction issue

WeChat mini programs have strict restrictions on ports, This is a big pit.

// 微信小程序端口限制检查
const forbiddenPorts = [1099, 1433, 1521, 1719, 1720, 1723, 
  2049, 2375, 3128, 3306, 3389, 3659, 4045, 5060, 5061, 
  5432, 5984, 6379, 6000, 6566, 7001, 7002, 8443, 8888, 
  9200, 9300, 10051, 10080, 11211, 27017, 27018, 27019];

if (portNum < 1024) {
  // 禁止连接 1024 以下端口(如 502)
  uni.showModal({ 
    title: '端口受限', 
    content: '微信小程序禁止连接 1024 以下端口,请使用 APP 版本或更换端口', 
    showCancel: false 
  });
  return;
}

if (portNum >= 8000 && portNum <= 8100) {
  // 禁止连接 8000-8100 端口
  uni.showModal({ 
    title: '端口受限', 
    content: '微信小程序禁止连接 8000-8100 端口,请更换端口', 
    showCancel: false 
  });
  return;
}

Solution:
Perform port forwarding on the router, For example, external 1502 → Internal 502.


1.3 Professional calculator series

This is the part that I have put the most effort into, It is also the place that best reflects the "value of experience".

(1) PID Self tuning calculator

PID Parameter tuning is the core of automatic control systems, It is also a pain point for many engineers.

Supported tuning methods:

methodApplicable scenarioscharacteristic
Ziegler - Nichols' First LawStep response experimentClassical methods, Widely applicable
Ziegler - Nichols' Second LawCritical oscillation methodNeed to find the critical gain
Cohen-CoonLarge lag systemGood effect on lagging systems
IMC (Internal model control) High performance requirementsAdjustable parameters, High flexibility
Pole configurationSpecific dynamic responseNeed a system model

Input parameters:

  • Delay time L (Seconds)
  • Time constant T (Seconds)
  • Process gain K
  • λ Parameters (IMC special-purpose)

Output results:

  • Proportional gain Kp
  • Integral time Ti
  • Differential time Td
  • Recommended configuration (Such as controller type, Control variable selection)

Core algorithm (Ziegler - Nichols' First Law) :

// Ziegler-Nichols 第一法(阶跃响应法)
zieglerNichols1st(L, T, K) {
  // Kp = 1.2 * T / (K * L)
  // Ti = 2 * L
  // Td = 0.5 * L
  const kp = 1.2 * T / (K * L);
  const ti = 2 * L;
  const td = 0.5 * L;
  return { kp, ti, td };
}

Practical cases:

A temperature control system, Obtained through step response experiments:

  • Delay time L = 2.5s
  • Time constant T = 8.0s
  • Process gain K = 1.0

Substitute into the formula for calculation:

  • Kp = 1.2 × 8.0 / (1.0 × 2.5) = 3.84
  • Ti = 2 × 2.5 = 5.0s
  • Td = 0.5 × 2.5 = 1.25s

Enter these three parameters PID controller, The system responds quickly and has minimal overshoot.

(2) Sensor calibration calculator

Sensor calibration is a routine task for on-site debugging, But manual calculation is prone to errors.

Support four modes:

① Linear calibration (The most commonly used)

Applicable to 4-20mA, 0-10V Equivalent linear sensor.

标定公式:Y = kX + b

其中:
k = (Y2 - Y1) / (X2 - X1)  // 斜率
b = Y1 - k * X1            // 截距

Quick conversion table:

percentageSignal value (mA)Engineering value (℃)
0%4.000.00
25%8.0025.00
50%12.0050.00
75%16.0075.00
100%20.00100.00

② Multi-point fitting

Suitable for nonlinear sensors (Such as thermocouples, Thermal resistance) .

support:

  • Quadratic curve fitting
  • Cubic curve fitting
  • Least squares method

③ Temperature specific mode

Built in commonly used temperature sensor calibration table:

  • PT100 Thermal resistance
  • K Type thermocouple
  • J Type thermocouple
  • E Type thermocouple
  • T Type thermocouple

④ Error analysis

calculation:

  • Absolute error
  • Relative error
  • Full-scale error
  • Linearity

Practical cases:

A certain pressure transmitter, Range 0-10bar, Output 4-20mA.

Calibration point setting:

  • low point: 4mA → 0bar
  • High point: 20mA → 10bar

Calculation results:

  • k = (10 - 0) / (20 - 4) = 0.625
  • b = 0 - 0.625 × 4 = -2.5

Calibration formula: Y = 0.625X - 2.5

verification:

  • Input 12mA → Y = 0.625 × 12 - 2.5 = 5.0bar ✓
  • Input 20mA → Y = 0.625 × 20 - 2.5 = 10.0bar ✓

(3) Verify calculation tools

This tool integrates 10+ Common verification algorithms for industrial communication protocols.

Support functions:

Verification typeexplainApplicable scenarios
MODBUS RTU CRC-1616 Bit cycle redundancy checkModbus RTU agreement
MODBUS ASCII LRCVertical redundancy checkModbus ASCII agreement
Checksum (16 Position) Accumulate and take low 16 PositionSimple protocol
XOR verification (8 Position) XOR all bytesCustom protocol
Siemens Checksum S7 Dedicated communication protocolS7 Siemens MitsubishiSum up verification PLC
Mitsubishi Communication Protocol FX MitsubishiVerificationBlock verification characters PLC
BCC Serial communicationChecksumNetwork protocol verification
IP/TCP StackOmronTCP/IP Protocol verification
Omron FINS FCSFINS Bus verificationAutomotive electronics PLC
CAN CRCCAN usage methodSelect verification type

Input original:

  1. data Automatically calculate verification codes
  2. Optional HEX Send after attaching the verification code
  3. Practical Case
  4. (Optional) Send with additional verification code

Practical Case: Modbus RTU Command

raw data: 01 03 00 00 00 01

calculation CRC-16:

  • Input 6 Byte
  • Calculated CRC = 0x840A
  • Low byte first: 84 0A

Complete message: 01 03 00 00 00 01 84 0A


1.4 Other professional tools

Mini programs also have 15+ Professional tools, Here is a brief list:

(1) PLC Debugging tools

  • Q06 Switch debugging assistant: Specially targeted Q06 Debugging tools for series switches
  • X160 Debugging tools: X160 Equipment specific debugging
  • ZLAN Device Manager: There is a network of people ZLAN Series equipment management

(2) Debugging of actuators

  • Dimming and debugging assistant: 0-10V/PWM Dimmer debugging
  • 8 Road relay control: Batch control of multi-channel relays
  • Servo pulse calculation: Calculation of servo motor pulse equivalent

(3) Debugging of frequency converter

  • Frequency converter debugging tool: Support mainstream frequency converter parameter settings

(4) Other calculators

  • Debugging of pressure transmitter: Differential pressure/pressure transmitter calculation
  • Remote assistance tools: Real time shared debugging screen

Two, Technical architecture: Mini programs can also be used as professional tools

2.1 Technical selection

Front end framework: uni-app

Reasons for selection:

  • Compile a set of code into a WeChat mini program, H5, APP
  • Rich component library
  • Good Bluetooth/TCP/UDP API support

UI Framework: colorUI + Custom components

Data storage:

  • Local storage: uni.setStorageSync
  • Connection history records
  • Project configuration saving

2.2 Core technical difficulties

(1) Bluetooth BLE connect

Bluetooth of WeChat Mini Program API There are some restrictions, Special handling is required.

Difficulties 1: Search for service characteristic values

Different Bluetooth modules Service UUID And Characteristic UUID Different, Need for intelligent search.

// 遍历所有服务查找可写特征
findWritableCharacteristic() {
  if (this.currentServiceIndex >= this.allServices.length) {
    // 所有服务都遍历完了
    if (this.foundWriteChar) {
      this.finishBluetoothConnection();
    } else {
      uni.showToast({ title: '未找到可写特征', icon: 'none' });
    }
    return;
  }

  const service = this.allServices[this.currentServiceIndex];
  
  uni.getBLEDeviceCharacteristics({
    deviceId: this.connectedDeviceId,
    serviceId: service.uuid,
    success: (res) => {
      const characteristics = res.characteristics;
      
      // 查找策略:
      // 1. 优先找同时支持 write 和 notify 的特征(双向通信)
      // 2. 其次找只支持 write 的特征
      // 3. 最后找支持 writeNoResponse 的特征
      let writeChar = characteristics.find(c =>
        c.properties.write === true &&
        (c.properties.notify === true || c.properties.indicate === true)
      );
      
      if (!writeChar) {
        writeChar = characteristics.find(c => c.properties.write === true);
      }
      
      if (!writeChar) {
        writeChar = characteristics.find(c => c.properties.writeNoResponse === true);
      }
      
      if (writeChar) {
        this.writeCharacteristicId = writeChar.uuid;
        this.foundWriteChar = true;
        this.finishBluetoothConnection();
        return;
      }
      
      // 当前服务未找到,继续下一个
      this.currentServiceIndex++;
      this.findWritableCharacteristic();
    }
  });
}

Difficulties 2: PACO Equipment 80 Single byte packet transmission

PACO The device needs to be sent once 80 Byte, But BLE Default MTU Only 20 Byte.

Solution:

// 设置 BLE MTU(最大传输单元)
setBLEMTU(deviceId, callback) {
  if (wx.setBLEMTU) {
    wx.setBLEMTU({
      deviceId: deviceId,
      mtu: 512,  // 设置为 512 字节
      success: (res) => {
        console.log('MTU 设置成功');
        callback && callback();
      },
      fail: (err) => {
        console.error('MTU 设置失败', err);
        callback && callback();
      }
    });
  } else {
    callback && callback();
  }
}

(2) TCP Socket signal communication

WeChat Mini Program TCP Socket API It is asynchronous, Need to handle connection timeout, Data subcontracting, Adhesive packaging and other issues.

Connection timeout handling:

const connTimeout = setTimeout(() => {
  if (!self.isConnected) {
    uni.hideLoading();
    uni.showToast({ title: '连接超时', icon: 'none' });
    try { tcp.close(); } catch(e) {}
    self.tcpSocket = null;
  }
}, 8000);  // 8 秒超时

tcp.onConnect(function(res) {
  clearTimeout(connTimeout);
  self.isConnected = true;
  // ...
});

Data subcontracting processing:

handleTcpResponse(hexData) {
  const hex = hexData.replace(/s+/g, '');
  
  // 将接收到的数据添加到缓冲区
  for (let i = 0; i < hex.length; i += 2) {
    this.receiveBuffer.push(parseInt(hex.substr(i, 2), 16));
  }

  // 使用 MBAP 头的 Length 字段判断帧完整性
  while (this.receiveBuffer.length >= 7) {
    const mbapLength = (this.receiveBuffer[4] << 8) | this.receiveBuffer[5];
    const totalFrameLength = 6 + mbapLength;

    if (this.receiveBuffer.length >= totalFrameLength) {
      // 提取完整的一帧
      const frame = this.receiveBuffer.splice(0, totalFrameLength);
      this.parseModbusTcpResponse(frame);
    } else {
      // 数据不完整,等待更多数据
      break;
    }
  }
}

(3) Big data processing

During serial port debugging, If running for a long time, It will generate a large amount of data.

Optimization strategy:

// 消息缓冲区管理
maxMessageCount: 800,  // 最多保存 800 条
maxVisibleMessageChars: 240,  // 每条最多显示 240 字符

trimMessageBuffer() {
  const maxTotalChars = this.maxMessageCount * this.maxVisibleMessageChars * 2;
  
  while (this.messages.length > this.maxMessageCount || 
         this.totalMessageChars > maxTotalChars) {
    const removed = this.messages.shift();
    if (removed && removed.data) {
      this.totalMessageChars -= removed.data.length;
    }
  }
}

// 超长消息自动截断,支持展开/收起
isMessageTruncated(msg) {
  return !!(msg && msg.data && 
            msg.data.length > this.maxVisibleMessageChars);
}

getDisplayMessage(msg) {
  if (!msg || !msg.data) return '';
  if (msg.expanded || !this.isMessageTruncated(msg)) {
    return msg.data;
  }
  return msg.data.slice(0, this.maxVisibleMessageChars) + '…';
}

Three, Design concept: Engineers understand engineers

3.1 Win7 Style interface

Many people ask why it is used Win7 Style?

Because Familiar with.

Most industrial engineers face computers every day, Win7 The interface is the most familiar. Seeing this style, It feels like a 'professional tool'.

Design details:

  • Gradient blue title bar
  • Stereoscopic border (Shallow outside and deep inside)
  • Grey background + White content area
  • Display data in equal width font (Courier New)

3.2 Remote assistance function

This feature came to my mind during on-site debugging.

Scene:
On site equipment malfunction, I can't figure it out, Need remote assistance from colleagues. But traditional methods can only be described over the phone, Extremely low efficiency.

Solution:

// 生成协助会话码
startRemoteAssist() {
  const sessionId = generateRandomSessionId();
  this.remoteAssistSessionId = sessionId;
  this.remoteAssistShowPanel = true;
  
  // 实时转发通信数据
  this.remoteAssistForward('tx', 'Tx', data);
  this.remoteAssistForward('rx', 'Rx', data);
  
  // 接收远程命令
  this._executeRemoteCommand(cmd);
}

Usage process:

  1. Click on 'Remote Assistance"
  2. Generate 6 Bit Session Code
  3. Share with WeChat Friends'
  4. After the other party opens it, Real time viewing of communication data
  5. The other party can send commands remotely

Value:

  • No need for screenshot/recording
  • Real time bidirectional communication
  • Support collaboration among multiple people

3.3 Data export and sharing

On site debugging completed, Often need to send data to colleagues or archive it.

Export format:

【串口调试 - 通信记录】
导出时间:2026-04-05 11:00:00
共 50 条记录
发送:1200 字节,接收:800 字节
========================================

[11:00:00.123] 发送:01 03 00 00 00 01 84 0A
[11:00:00.456] 接收:01 03 02 00 0A B9 C8
[11:00:01.123] 发送:01 03 00 00 00 0A C5 CD
...

========================================
来自:Modbus 调试助手 微信小程序

Implementation method:

buildExportLogContent(options = {}) {
  let content = `${options.title || '【串口调试 - 通信记录】'}n`;
  content += `导出时间:${new Date().toLocaleString()}n`;
  content += `共 ${this.messages.length} 条记录n`;
  content += `发送:${this.sentCount} 字节,接收:${this.receivedCount} 字节n`;
  content += `${'='.repeat(40)}nn`;

  this.messages.forEach((msg) => {
    const direction = msg.type === 'sent' ? '发送' : '接收';
    content += `[${msg.time}] ${direction}: ${msg.data}n`;
  });

  content += `n${'='.repeat(40)}n`;
  content += `来自:Modbus 调试助手 微信小程序`;
  
  return content;
}

Four, User feedback: Real voice

go online 2 Months, It already exists 5000+ Engineers are using it.

Feedback 1:

"Too convenient! In the future, only bringing a mobile phone is enough for business trips. Yesterday I went to the scene, Customers are surprised that I was able to handle it with just a phone. "
—— Jiangsu, Automation engineer, Wang Gong

Feedback 2:

"PID The setting calculator has been a great help. Previously, setting parameters required a half day trial, Enter now L/T/K, Directly generate results. "
—— Guangdong, Control engineer, Li Gong

Feedback 3:

"The remote assistance function is too strong. Encountered problems on site, Share directly with colleagues, 5 Done in minutes, Previously, at least half an hour of phone communication was required. "
—— Zhejiang, technical support, Zhang Gong

Feedback 4:

"The sensor calibration calculator is very practical. Our factory has hundreds of sensors, Previously, calibration required manual calculation, Now enter two points, Automatically generate formulas. "
—— Shandong, Instrument engineer, Liu Gong


Five, Future planning

5.1 Short term plan (1-3 Months)

  • Increase OPC UA client
  • Support MQTT Protocol debugging
  • Increase BACnet Protocol support
  • Cloud project synchronization (VIP Function)

5.2 Mid term plan (3-6 Months)

  • APP edition (Breaking through the port restrictions of WeChat mini programs)
  • Support script functionality (Lua/JavaScript)
  • Add chart analysis function (Trend chart, Spectrum analysis)
  • Equipment database (Common equipment parameter templates)

5.3 Long term vision

Be an industrial engineer's "treasure chest"".

any tool that can be used for on-site debugging, all integrated into this mini program.

enable engineers to learn less, go light, work less, go home early, have fewer troubles, increase efficiency:

  • write at the end, the original intention of making this mini program
  • not to make money, just to solve one's own pain points
  • help more peers, years of experience tell me

the value of tools, not in fancy functions

but in truly solving problems, each function is a pain point that I have truly encountered during on-site debugging.

every line of code embodies my love for this industry, if you are also an industrial engineer.

20 I hope this... Mini programs can help you: if you have any suggestions, welcome feedback, let's work together.

make industrial debugging easier, appendix.

usage method, method.

WeChat QR code scanning, method.

WeChat search, Search.

Debugging assistant, Method.


Sharing with friends: Click on the card shared by a friend to enter directly

Regarding the author 1: Years of experience in industrial automation

20 years of experience accumulation: Introduction to Modbus Debugging AssistantFigure

Waiting for equipment manufacturers 2: WeChat Search

Search"Modbus Debug Assistant"

way 3: Sharing with friends

Click on the card shared by a friend to directly enter


About the Author

20 Years of experience in industrial automation, Waiting for equipment manufacturers, Integrators, first party.

Currently focusing on industrial Internet of Things, Edge computing, Intelligent control.

Welcome to communicate:

  • 📧 Email address: support@modbus.cn
  • 💬 WeChat group: Scan the code to add an assistant to the group

reference material

[1] Modbus Application Protocol Specification V1.1b3
[2] Ziegler - Nichols PID Tuning method
[3] WeChat Mini Program Bluetooth Development Document
[4] IEEE 754 Floating point number standard
[5] CRC16 Algorithm Principles and Implementation

Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.