- 1. 前言:一个工程师的”执念”
- 2. 一、核心Funktion:20+ 专业Werkzeuge,装进手机
- 3. 1.1 Modbus Tests全家桶
- 4. 1.2 Serien-TestAssistenten.
- 5. 1.3 专业Rechner系列
- 6. 1.4 其他专业Werkzeuge
- 7. 二、Techniken架构:小程序也能做专业Werkzeuge
- 8. 2.1 Techniken选型
- 9. 2.2 核心Techniken难点
- 10. 三、设计理念:工程师懂工程师
- 11. 3.1 Win7 风格界面
- 12. 3.2 Fern entfernt协助Funktion
- 13. 3.3 DatenExportierenTeilen
- 14. 四、用户反馈:真实的声音
- 15. 五、未来规划
- 16. 5.1 短期计划(1-3 个月)
- 17. 5.2 中期计划(3-6 个月)
- 18. 5.3 长期愿景
- 19. 六、写在最后
- 20. 附录:使用方式
我用 3 个月,把 20 Jahr的工业Tests经验做成了Kleine Mikro-Verfahren
从 Modbus Testszu PID 整定,从Serielle KommunikationzuDer Sensor标定,这款Werkzeuge集成了工程师am häufigsten verwendet的 20+ 专业Rechner
前言:一个工程师的”执念”
我是一名Industrielle Automatisierung工程师,从业 20 Jahr,待过Ausrüstung厂商、集成商,也做过甲方。
这些Jahr,我见过太多工程师在现场的”狼狈”:
- 背着十几斤重的电脑跑现场,就为了Tests一个 Modbus Ausrüstung
- 忘带 USB 转Die Serie线,整个项目停工半天
- 电脑上的软件要收费,破解版还怕有病毒
- PID Parameter不会整,打Telefon.问厂家,等半天回复
- Der Sensor标定靠手算,Rechner按错一次,Alles重来
最痛苦的一次,是某次深夜抢修。客户的 PLC Kommunikation故障,我赶zu时已经是晚上 10 点。Ergebnis发现忘带电脑,只能打Telefon.让同事送,折腾zu凌晨 3 点才Erledigt.
那一刻我就想:为什么不能只带手机就去现场?
于是,我花了整整 3 个月,利用业余Zeit开发了这款 Modbus TestsAssistenten. Kleine Mikro-Verfahren。
它不仅仅是一个Debugging-Tools,更是我 20 Jahr经验的结晶。
一、核心Funktion:20+ 专业Werkzeuge,装进手机
1.1 Modbus Tests全家桶
小程序最核心的Funktion,就是 vollständig的 Das Modbus-Protokoll栈支持。
(1)Modbus Poll – Hauptstation轮询Werkzeuge
这是使用频率最高的Funktion,没有之一。
支持的Funktionscode:
| Funktionscode | Name | 用途 |
|---|---|---|
| FC01 | Read Coils | Lesen Sie den Zustand der Spule(Schalter!Quantität输出) |
| FC02 | Read Discrete Inputs | Lesen von diskreten Eingaben(Schalter!Quantität输入) |
| FC03 | Read Holding Registers | Lesen und halten Register(am häufigsten verwendet) |
| FC04 | Read Input Registers | Eingangsregister lesen(只读) |
| FC05 | Write Single Coil | Schreiben Sie in eine einzelne Schleife |
| FC06 | Write Single Register | Schreiben in ein einzelnes Register |
| FC15 | Write Multiple Coils | Schreiben Sie mehrere Schleife |
| FC16 | Write Multiple Registers | Schreiben in mehrere Register |
| FC17 | Report Slave ID | 通报客户端 ID |
| FC22 | Mask Write Register | 掩码写Register.(改单个 bit) |
| FC23 | Read/Write Multiple | 同时读/Schreiben mehrerer Register |
| FC43/14 | Read Device ID | LesenAusrüstung标识 |
Verbindung方式:
- Modbus TCP:支持任意 IP 和端口,自动保存Verbindung历史
- 蓝牙Verbindung:支持普通蓝牙转 485 模块和 PACO 蓝牙适配器
- 端口转发:支持路由器端口映射(如外部 1502 → 内部 502)
DatenFormat zeigen:
同一ein Register.的Originaldaten,支持 7 种Format zeigen 一键Wechseln:
Signed(有符Nr.) → -32768 ~ 32767 Unsigned(无符Nr.) → 0 ~ 65535 Hex(16. System) → 0x0000 ~ 0xFFFF Long(长整型) → 32 位整数 Float(浮点型) → IEEE 754 单精度 Float Swapped → Bytes反转浮点 Binary(Binärsystem) → 0000 0000 0000 0001
💡 实际案例:某Temperatur-Sensor返回 0x4248 0x0000,如果按 16 位整数看是 17480 和 0,完全不对。Wechselnzu Float Das Format,显示 50.0,这才是实际Temperatur值。
高级Werkzeuge:
- 通讯监视面板:实时记录所有 Tx/Rx Original-Meldung,支持暂停/继续,一键Teilen
- TC 测试中心:manuell importiert. Hex Charaktere串Senden Sie,Überprüfen原始Antwort,TestsCustom Vereinbarung
- 实时图表:输入要监控的Register-Adresse,柱状图实时显示Zahlenwert变化
- BitteMeldung预览:在设置界面实时显示即将Senden Sie的 RTU/ASCII 帧结构(含 CRC/LRC Prüfungen)
(2)Modbus Slave – Von der Station模拟器
这个Funktion很多人忽略,但其实非常实用。
使用Szene:
- 测试上位机软件(如Strukturen王、WinCC)
- 验证 PLC 程序逻辑
- 培训新员工(无需真实Ausrüstung)
- 开发阶段模拟Von der StationAntwort
支持Funktion:
- 模拟线圈、离散输入、保持Register.、输入Register.
- Custom definiert初始值
- 支持批Quantität设置Adresse范围
- 实时显示HauptstationBitteMeldung
(3)Modbus RTU/TCP/ASCII – Vereinbarung详解
小程序对三种传输模式都有详细说明和实战Beispiel。
RTU vs ASCII 对比:
| Eigenschaften | RTU | ASCII |
|---|---|---|
| Codierung方式 | Binärsystem | ASCII Text |
| Prüfungen方式 | CRC16 | LRC |
| 帧Länge | 较短(高效) | 约为 RTU 2 倍 |
| 帧标识 | 3.5 Charaktere静默间隔 | “:” 开头 + CR LF 结尾 |
| 适用Szene | 大多数工业Ausrüstung | 老旧Ausrüstung/调制解调器 |
CRC16 算法实现(核心代码):
// MODBUS CRC-16 (低Bytes在前)
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 算法实现:
// 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 Serien-TestAssistenten.
这是Die二个高频使用的Funktion。
核心Eigenschaften:
- 三种Verbindung方式:蓝牙 / TCP / UDP
- 全Parameter配置:Porter Rate(9600/19200/38400/57600/115200)、Datenplatz、Stoppen Sie Platz、Prüfstand.
- 收发区独立设置:
- Empfang区:ASCII/HEX Wechseln、Zeit戳、自动换行、显示行Nr.、Automatisches Rollen
- Senden der Zone:ASCII/HEX Wechseln、自动Analyse转义符(\r\n \t)、Zyklus senden
- 四种Prüfungen方式:CRC-16、累加和、LRC、Unterschiedlich oder prüfen
- 实时统计:RX/TX Anzahl der Bytes、一键复位
实战案例 1:蓝牙Tests PACO Ausrüstung
PACO 是一款常用的蓝牙 485 适配器,小程序对其做了深度优化。
// 构建 PACO Befehl (80 Bytes固定Länge)
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;
}
// 补齐zu 76 Charaktere,末尾加 PACO
const paddedCmd = cmd.padEnd(76, ' ') + 'PACO';
return paddedCmd;
}
可以读写 PACO Ausrüstung的:
- 485 Parameter(Porter Rate/Datenplatz/Stoppen Sie Platz/Prüfstand.)
- Gerätname(最大 7 Charaktere)
实战案例 2:Der TCP-Port限制问题
Kleine Mikro-Verfahren对端口有严格限制,这是一个大坑。
// Kleine Mikro-Verfahren端口限制检查
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) {
// 禁止Verbindung 1024 以下端口(如 502)
uni.showModal({
title: '端口受限',
content: 'Kleine Mikro-Verfahren禁止Verbindung 1024 以下端口,请使用 APP 版本或更换端口',
showCancel: false
});
return;
}
if (portNum >= 8000 && portNum <= 8100) {
// 禁止Verbindung 8000-8100 端口
uni.showModal({
title: '端口受限',
content: 'Kleine Mikro-Verfahren禁止Verbindung 8000-8100 端口,请更换端口',
showCancel: false
});
return;
}
解决方案:
在路由器做端口转发,比如外部 1502 → 内部 502。
1.3 专业Rechner系列
这部Unterteilung是我花心思最多的,也是最能体现”经验价值”的地方。
(1)PID 自整定Rechner
PID Parameter整定是自动控制Das System的核心,也是很多工程师的痛点。
支持的整定方法:
| 方法 | 适用Szene | 特点 |
|---|---|---|
| 齐格勒 – 尼科尔斯Die一法 | 阶跃Antwort实验 | 经典方法,适用面广 |
| 齐格勒 – 尼科尔斯Die二法 | 临界振荡法 | 需要找zu临界增益 |
| Cohen-Coon | 大滞后Das System | 对滞后Das System效果好 |
| IMC(内模控制) | 高性能要求 | Parameter可调,灵活性高 |
| 极点配置 | 特定动态Antwort | 需要Das System模型 |
输入Parameter:
- 延迟Zeit L(秒)
- ZeitKonstante T(秒)
- 过程增益 K
- λ Parameter(IMC 专用)
输出Ergebnis:
- 比例增益 Kp
- 积UnterteilungZeit Ti
- 微UnterteilungZeit Td
- 推荐配置(如Der ControllerTypus、控制变QuantitätAuswahl)
核心算法(齐格勒 – 尼科尔斯Die一法):
// Ziegler-Nichols Die一法(阶跃Antwort法)
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 };
}
实战案例:
某Temperatur控制Das System,通过阶跃Antwort实验得zu:
- 延迟Zeit L = 2.5s
- ZeitKonstante T = 8.0s
- 过程增益 K = 1.0
代入公式Berechnung:
- Kp = 1.2 × 8.0 / (1.0 × 2.5) = 3.84
- Ti = 2 × 2.5 = 5.0s
- Td = 0.5 × 2.5 = 1.25s
将这三个Parameter输入 PID Der Controller,Das SystemAntwort快速且超调小。
(2)Der Sensor标定Rechner
Der Sensor标定是现场Tests的常规工作,但手算容易出错。
支持四种模式:
① 线性标定(am häufigsten verwendet)
适用于 4-20mA、0-10V 等线性Der Sensor。
标定公式:Y = kX + b Von denen: k = (Y2 - Y1) / (X2 - X1) // 斜率 b = Y1 - k * X1 // 截距
快速换算表:
| 百Unterteilung比 | 信Nr.值 (mA) | 工程值 (℃) |
|---|---|---|
| 0% | 4.00 | 0.00 |
| 25% | 8.00 | 25.00 |
| 50% | 12.00 | 50.00 |
| 75% | 16.00 | 75.00 |
| 100% | 20.00 | 100.00 |
② 多点拟合
适用于非线性Der Sensor(如热电偶、热电阻)。
支持:
- 二次曲线拟合
- 三次曲线拟合
- 最小二Multiplikation
③ Temperatur专用模式
内置常用Temperatur-SensorUnterteilung度表:
- PT100 热电阻
- K 型热电偶
- J 型热电偶
- E 型热电偶
- T 型热电偶
④ 误schlechtUnterteilung析
Berechnung:
- 绝对误schlecht
- 相对误schlecht
- 满Quantität程误schlecht
- 线性度
实战案例:
某压力变送器,Quantität程 0-10bar,输出 4-20mA。
标定点设置:
- 低点:4mA → 0bar
- 高点:20mA → 10bar
Berechnungsergebnisse:
- k = (10 – 0) / (20 – 4) = 0.625
- b = 0 – 0.625 × 4 = -2.5
标定公式:Y = 0.625X – 2.5
验证:
- 输入 12mA → Y = 0.625 × 12 – 2.5 = 5.0bar ✓
- 输入 20mA → Y = 0.625 × 20 – 2.5 = 10.0bar ✓
(3)PrüfberechnungWerkzeuge
这个Werkzeuge集成了 10+ 种工业KommunikationVereinbarung常用的Prüfungen算法。
支持Funktion:
| PrüfungenTypus | 说明 | 适用Szene |
|---|---|---|
| MODBUS RTU CRC-16 | 16 位循环冗余Prüfungen | Modbus RTU Vereinbarung |
| MODBUS ASCII LRC | 纵向冗余Prüfungen | Modbus ASCII Vereinbarung |
| Prüfungen und(16 位) | 累加和取低 16 位 | 简单Vereinbarung |
| Unterschiedlich oder prüfen(8 位) | 所有BytesUnterschiedlich oder | Custom Vereinbarung |
| 西门子 S7 Prüfungen und | S7 KommunikationVereinbarung专用 | 西门子 PLC |
| 三菱 FX 求和Prüfungen | 三菱KommunikationVereinbarung | 三菱 PLC |
| BCC Prüfungen | 块PrüfungenCharaktere | Serielle Kommunikation |
| IP/TCP Prüfungen und | 网络VereinbarungPrüfungen | TCP/IP 栈 |
| 欧姆龙 FINS FCS | FINS VereinbarungPrüfungen | 欧姆龙 PLC |
| CAN CRC | CAN 总线Prüfungen | 汽车电子 |
使用方法:
- AuswahlPrüfungenTypus
- 输入原始 HEX Daten
- 自动BerechnungPrüfcode
- (可选)附加Prüfcode后Senden Sie
实战案例:Modbus RTU Befehl
Originaldaten:01 03 00 00 00 01
Berechnung CRC-16:
- 输入 6 Bytes
- Berechnung得 CRC = 0x840A
- 低Bytes在前:
84 0A
Vollständige Meldung:01 03 00 00 00 01 84 0A
1.4 其他专业Werkzeuge
小程序还有 15+ 专业Werkzeuge,这里简单列举:
(1)PLC Debugging-Tools
- Q06 Schalter!TestsAssistenten.:专门针对 Q06 系列Schalter!的Debugging-Tools
- X160 Debugging-Tools:X160 Ausrüstung专用Tests
- ZLAN Ausrüstung管理器:有人物联网 ZLAN 系列Ausrüstung管理
(2)Der ExecutorTests
- 调光TestsAssistenten.:0-10V/PWM 调光器Tests
- 8 路Relay Steuerung:多路Relays.批Quantität控制
- 伺服ImpulseBerechnung:伺服Elektrische MotorenImpulse当QuantitätBerechnung
(3)变频器Tests
- 变频器Debugging-Tools:支持主流变频器Parameter设置
(4)其他Rechner
- 压力变送器Tests:schlecht压/压力变送器Berechnung
- Fern entfernt协助Werkzeuge:实时共享Tests画面
二、Techniken架构:小程序也能做专业Werkzeuge
2.1 Techniken选型
前端框架: uni-app
Auswahl理由:
- 一套代码编译zuKleine Mikro-Verfahren、H5、APP
- 丰富的组件库
- 良好的蓝牙/TCP/UDP API 支持
UI 框架: colorUI + Custom definiert组件
Daten存储:
- 本地存储:uni.setStorageSync
- Verbindung历史记录
- 项目配置保存
2.2 核心Techniken难点
(1)蓝牙 BLE Verbindung
Kleine Mikro-Verfahren的蓝牙 API 有一些限制,需要特殊处理。
难点 1:服务特征值查找
不同蓝牙模块的 Service UUID 和 Characteristic UUID 不同,需要智能查找。
// 遍历所有服务查找可写特征
findWritableCharacteristic() {
if (this.currentServiceIndex >= this.allServices.length) {
// 所有服务都遍历完了
if (this.foundWriteChar) {
this.finishBluetoothConnection();
} else {
uni.showToast({ title: '未找zu可写特征', 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 的特征(双向Kommunikation)
// 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;
}
// gegenwärtig服务未找zu,继续下一个
this.currentServiceIndex++;
this.findWritableCharacteristic();
}
});
}
难点 2:PACO Ausrüstung 80 Bytes单包Senden Sie
PACO Ausrüstung需要一次Senden Sie 80 Bytes,但 BLE 默认 MTU 只有 20 Bytes。
解决方案:
// 设置 BLE MTU(最大传输单元)
setBLEMTU(deviceId, callback) {
if (wx.setBLEMTU) {
wx.setBLEMTU({
deviceId: deviceId,
mtu: 512, // 设置为 512 Bytes
success: (res) => {
console.log('MTU 设置成功');
callback && callback();
},
fail: (err) => {
console.error('MTU 设置失败', err);
callback && callback();
}
});
} else {
callback && callback();
}
}
(2)TCP Socket Kommunikation
Kleine Mikro-Verfahren的 TCP Socket API 是Asynchron的,需要处理Verbindung超时、DatenUnterteilung包、粘包等问题。
Verbindung超时处理:
const connTimeout = setTimeout(() => {
if (!self.isConnected) {
uni.hideLoading();
uni.showToast({ title: 'Verbindung超时', icon: 'none' });
try { tcp.close(); } catch(e) {}
self.tcpSocket = null;
}
}, 8000); // 8 秒超时
tcp.onConnect(function(res) {
clearTimeout(connTimeout);
self.isConnected = true;
// ...
});
DatenUnterteilung包处理:
handleTcpResponse(hexData) {
const hex = hexData.replace(/\s+/g, '');
// 将Empfangzu的Daten添加zu缓冲区
for (let i = 0; i < hex.length; i += 2) {
this.receiveBuffer.push(parseInt(hex.substr(i, 2), 16));
}
// 使用 MBAP 头的 Length Feld判断帧vollständig性
while (this.receiveBuffer.length >= 7) {
const mbapLength = (this.receiveBuffer[4] << 8) | this.receiveBuffer[5];
const totalFrameLength = 6 + mbapLength;
if (this.receiveBuffer.length >= totalFrameLength) {
// 提取vollständig的一帧
const frame = this.receiveBuffer.splice(0, totalFrameLength);
this.parseModbusTcpResponse(frame);
} else {
// Daten不vollständig,等待mehr.Daten
break;
}
}
}
(3)大Daten处理
Serien-Test时,如果长ZeitBetrieb,会产生大QuantitätDaten。
优化策略:
// 消息缓冲区管理
maxMessageCount: 800, // 最多保存 800 条
maxVisibleMessageChars: 240, // 每条最多显示 240 Charaktere
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) + '…';
}
三、设计理念:工程师懂工程师
3.1 Win7 风格界面
很多人问为什么用 Win7 风格?
因为 熟悉。
大多数工业工程师天天对着电脑,Win7 的界面是最熟悉的。看zu这种风格,就有”专业Werkzeuge”的感觉。
设计细节:
- 渐变蓝色标题栏
- 立体边框(外浅内深)
- 灰色背景 + 白色内容区
- 等宽字体显示Daten(Courier New)
3.2 Fern entfernt协助Funktion
这个Funktion是我在现场Tests时想zu的。
Szene:
现场Ausrüstung故障,我搞不定,需要同事Fern entfernt协助。但传统方式只能Telefon.描述,效率极低。
解决方案:
// 生成协助会话码
startRemoteAssist() {
const sessionId = generateRandomSessionId();
this.remoteAssistSessionId = sessionId;
this.remoteAssistShowPanel = true;
// 实时转发KommunikationDaten
this.remoteAssistForward('tx', 'Tx', data);
this.remoteAssistForward('rx', 'Rx', data);
// EmpfangFern entferntBefehl
this._executeRemoteCommand(cmd);
}
使用流程:
- Klicken”Fern entfernt协助”
- 生成 6 位会话码
- Teilen给微信好友
- 对方Öffnen.后,实时ÜberprüfenKommunikationDaten
- 对方可以Fern entferntBefehle senden
价值:
- 无需截图/录屏
- 实时双向Kommunikation
- 支持多人协作
3.3 DatenExportierenTeilen
现场Tests完,经常需要把Daten发给同事或存档。
ExportierenDas Format:
【Serien-Test - Kommunikationsaufzeichnungen】 ExportierenZeit:2026-04-05 11:00:00 共 50 条记录 Senden Sie:1200 Bytes,Empfang:800 Bytes ======================================== [11:00:00.123] Senden Sie:01 03 00 00 00 01 84 0A [11:00:00.456] Empfang:01 03 02 00 0A B9 C8 [11:00:01.123] Senden Sie:01 03 00 00 00 0A C5 CD ... ======================================== 来自:Modbus TestsAssistenten. Kleine Mikro-Verfahren
实现方式:
buildExportLogContent(options = {}) {
let content = `${options.title || '【Serien-Test - Kommunikationsaufzeichnungen】'}\n`;
content += `ExportierenZeit:${new Date().toLocaleString()}\n`;
content += `共 ${this.messages.length} 条记录\n`;
content += `Senden Sie:${this.sentCount} Bytes,Empfang:${this.receivedCount} Bytes\n`;
content += `${'='.repeat(40)}\n\n`;
this.messages.forEach((msg) => {
const direction = msg.type === 'sent' ? 'Senden Sie' : 'Empfang';
content += `[${msg.time}] ${direction}: ${msg.data}\n`;
});
content += `\n${'='.repeat(40)}\n`;
content += `来自:Modbus TestsAssistenten. Kleine Mikro-Verfahren`;
return content;
}
四、用户反馈:真实的声音
上线 2 个月,已经有 5000+ 工程师在使用。
反馈 1:
“太方便了!以后出schlecht只带手机就够了。昨天去现场,客户都惊讶我怎么只带个手机就搞定了。”
—— 江苏,自动化工程师,王工
反馈 2:
“PID 整定Rechner帮了大忙。以前整定Parameter要试半天,现在输入 L/T/K,直接出Ergebnis。”
—— 广东,控制工程师,李工
反馈 3:
“Fern entfernt协助Funktion太强了。现场遇zu问题,直接Teilen给同事,5 Unterteilung钟搞定,以前至少要半小时Telefon.沟通。”
—— 浙江,Technischer Support,张工
反馈 4:
“Der Sensor标定Rechner很实用。我们厂有几百个Der Sensor,以前标定要手算,现在输入两个点,自动出公式。”
—— 山东,仪表工程师,刘工
五、未来规划
5.1 短期计划(1-3 个月)
- 增加 OPC UA 客户端
- 支持 MQTT VereinbarungTests
- 增加 BACnet Vereinbarung支持
- 云端项目同步(VIP Funktion)
5.2 中期计划(3-6 个月)
- APP 版本(突破Kleine Mikro-Verfahren端口限制)
- 支持DrehbuchFunktion(Lua/JavaScript)
- 增加图表Unterteilung析Funktion(趋势图、频谱Unterteilung析)
- AusrüstungDaten库(HäufigAusrüstungParameter模板)
5.3 长期愿景
做一个工业工程师的”百宝箱”。
只要是现场Tests能用zu的Werkzeuge,都集成zu这个小程序里。
让工程师:
- 少背点东西,轻装上阵
- 少加点班,早点回家
- 少一些烦恼,多一些效率
六、写在最后
做这个小程序的初衷,不是为了赚钱。
只是想解决自己的痛点,顺便帮zumehr.同行。
20 Jahr的经验告诉我:Werkzeuge的价值,不在于Funktion多花哨,而在于真正解决问题。
每一个Funktion,都是我现场Tests时真实遇zu过的痛点。
每一行代码,都凝聚着我对这个行业的热爱。
如果你也是工业工程师,希望这个小程序能帮zu你。
如果你有任何建议,欢迎反馈。
让我们一起,让工业Tests变得更简单。
附录:使用方式
方式 1:微信扫码

方式 2:Mikro-Suche
Suche nach”Modbus TestsAssistenten.”
方式 3:朋友Teilen
Klicken朋友Teilen的卡片直接进入
关于Der Autor
20 JahrIndustrielle Automatisierung经验,待过Ausrüstung厂商、集成商、甲方。
现专注于Das industrielle Internet der Dinge、边缘Berechnung、智能控制。
欢迎交流:
- 📧 Mailbox.:support@modbus.cn
- 💬 微信群:扫码添加Assistenten.入群
参考Informationen
[1] Modbus Application Protocol Specification V1.1b3
[2] 齐格勒 – 尼科尔斯 PID 整定方法
[3] Kleine Mikro-Verfahren蓝牙开发Dokumentation
[4] IEEE 754 浮点数标准
[5] CRC16 算法原理与实现
Antwort veröffentlichen