私は3 ヶ月で20 yearの業界デバッグ経験をWeChatミニプログラムにしました
ModbusデバッグからPIDチューニング、シリアルポートCommunicationからセンサーキャリブレーションまで、このツールはエンジニアが最も一般的に使用する20以上のプロフェッショナル電卓を統合しています。
前の記事:エンジニアの“信頼”
私は産業オートメーションエンジニアで、20年間働いており、機器メーカー、インテグレーター、およびA Aを務めてきました。
長年にわたり、私は現場であまりにも多くのエンジニアを見てきました。
- Modbusデバイスをデバッグするために10キロのコンピュータを運んで現場を走る。
- USBをシリアルケーブルに変換するのを忘れて、プロジェクト全体が半日停止
- コンピュータ上のソフトウェアは有料であり、ウイルスを恐れています。
- PIDパラメータは完璧ではない、メーカーに電話して、半日の応答を待つ
- センサの校正は手作業で行い、電卓は一度間違って押してすべてをやり直す。
一番痛い時。深夜の修理をしている。お客様のPLC 通信障害が発生し、到着したのは午後10時でした。その結果、コンピュータを忘れて、同僚に送信するために電話することができ、午前3時まで完了しました。
その瞬間私は思った:なぜ携帯電話だけを持って行かないのか。
そこで3 ヶ月かけて自由な時間を使って開発しましたModbusデバッグアシスタントミニプログラム。
これは単なるデバッグツールではなく、私の20 yearの経験の集大成です。
コア機能:携帯電話にインストールされた20以上のプロのツール
1.1 Modbusが家族用バケツをデバッグ
小さなプログラムの主な機能は、Modbusプロトコルスタックの完全サポート。
(1)Modbus Poll-マスターポーリングツール
これは最も頻繁に使用される機能の1つではない。
サポートする機能コード:
| 関数コードの特徴 | 名前は | 目的は |
|---|---|---|
| FC01 | Read Coils | コイル状態の読み取りスイッチング量出力 |
| FC02 | Read Discrete Inputs | 離散入力の読み取り(スイッチング量入力) |
| FC03 | Read Holding Registers | 読み取りホールドレジスタ(最も一般的) |
| FC04 | Read Input Registers | 入力レジスタの読み取り(読み取り専用) |
| FC05 | Write Single Coil | 単一コイルの書き込み |
| FC06 | Write Single Register | 単一レジスタへの書き込み |
| FC15 | Write Multiple Coils | 複数のコイルを書く |
| FC16 | Write Multiple Registers | 複数のレジスタに書き込む |
| FC17 | Report Slave ID | クライアントIDの通知 |
| FC22 | Mask Write Register | マスク書き込みレジスタ(単一ビット) |
| FC23 | Read/Write Multiple | 複数のレジスタを同時に読み書きする |
| FC43/14 | Read Device ID | デバイスIDの読み取り |
接続方法:
- Modbus TCP:任意のIPとポートをサポートし、接続履歴を自動的に保存
- Bluetooth接続通常のBluetooth to 485モジュールと
- ポート転送ルータポートマッピングのサポート(外部 1502 → 内部 502など)
データ表示形式:
同じレジスタの生データ、サポート7種類の表示形式スイッチを入れる:
Signed符号付き -32 7 6 8 - 32 7 6 7 Unsigned(符号なし) → 0 ~ 655 3 5 Hex(16進数) 0 x 0000 ~ 0 x FFFF Longロング 32ビット整数 Float(浮動小数点) IEEE 75 4単精度 フロート·スワップド バイト反転浮動小数点 Binary(バイナリ) 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
💡実際の事例temperatureセンサは0 x 424 8 0 x 0000を返しますが、16ビット整数で17480と0である場合は完全に間違っています。Float形式に切り替え、実際の温度値である50.0を表示します。
高度なツール:
- 通信監視パネルすべてのTx/Rx生メッセージのリアルタイム記録、一時停止/継続、ワンクリック共有をサポート
- TCテストセンター:Hex文字列を手動で入力送信、元のレスポンスの表示、カスタムプロトコルのデバッグ
- リアルタイムグラフ:監視するレジスタアドレスを入力し、値の変化をリアルタイムで表示します。
- メッセージプレビューのリクエストセットアップインターフェイスで送信されるRTU/ASCI Iフレーム構造をリアルタイムで表示(CRC/LRCチェック付き)
(2)Modbus Slave-スレーブシミュレータ
この機能は見落とされがちですが、非常に実用的です。
使用シーン:
- ホストコンピュータソフトウェアのテスト(King、Win CCなど)
- PLCプログラムロジックの検証
- 新入社員のトレーニング(実際の設備は不要)
- 開発フェーズでは、スレーブ応答をシミュレート
サポート機能:
- アナログコイル、ディスクリート入力、保持レジスタ、入力レジスタ
- 初期値の定義
- アドレス範囲の一括設定をサポート
- リアルタイムでマスターリクエストを表示
(3)Modbus RTU/TCP/ASCI Iプロトコル詳細
3つの伝送モードの詳細な説明と実際の例があります。
RTU対ASCI Iの比較:
| プロパティ | RTU | ASCII |
|---|---|---|
| 符号化方式 | Binaryシングル | ASCIIテキスト |
| 検証方式の検証 | CRC16 | LRC |
| フレームの長さ | 短い(効率的) | RTUの約2 倍 |
| フレーム識別子 | 3.5文字サイレンシング間隔 | “”+ CR LF终了 |
| 適用可能なシーン | ほとんどの産業機器 | 古いデバイス/モデム |
CRC16アルゴリズムの実装(コアコード):
// MODBUS CRC-16下位バイト
calcCRC16 bytes {
let crc = 0 x FFFF;
for let i = 0; i b.; i++{
crc ^=バイト[i];
for let j = 0; j 8; j++{
if crc 0x0001 {
crc = crc1 ^ 0xA001;
(エルゼ)
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シリアルデバッグアシスタント
これは2番目の高周波機能です。
主な特徴:
- 3つの接続方法Bluetooth/ TCP / UDP
- 全パラメータ構成ボーレート(96 00/19200/38400/576 00/115200)、データビット、ストップビット、チェックビット
- 送受信領域の独立設定:
- 受信領域ASCII/HEX切り替え、タイムスタンプ、改行、行番号の表示、自動スクロール
- 送信領域:ASCII/HEX切り替え、自動解決エスケープ(\r\n\t)、ループ送信
- 4つの検証方法CRC-16、累積和、LRC、排他的または検証
- リアルタイム統計:RX/TXバイト数、ワンタッチリセット
実用例1:BluetoothデバッグPaco機器
Pacoは一般的に使用されるBluetooth 485アダプタで、アプレットは深く最適化されています。
//Oコマンド80バイト固定长
buildPacoCommand cmdType param =''{
cmd ='';
switch Type {
case 'read485'
= 'PACO- ';
休憩を取る。
case 'e485
= `PACO-
休憩を取る。
case 'readName
cmd = 'PACO-Setting-Code- - R-PartNumber. ';
休憩を取る。
case 'writeName'
= `PACO-
休憩を取る。
}
//76文字まで追加し、末尾にPacoを追加
const paddedC =.padEnd 76 '+ ' PACO;
return paddedCmd;
}Pacoデバイスを読み書きできます。
- 485引数(ボーレート/データ·ビット/Stopビット/検査ビット)
- デバイス名(最大 7文字)
ケース2:TCPポート制限
WeChatミニプログラムは、ポートに厳しい制限があり、これは大きな穴です。
//小プログラムのポート制限チェック
const forbiddenPorts = [1099,14 3 3,15 21,171 9,1720,1723]
20 49、23 7 5、31 28、33 0 6、33 8 9、36 59、40 45、50 6 0、50 6 1、
54 3 2,59 8 4,63 7 9,6000,65 6 6,70 0 1,70 0 2,84 4 3,8888,
9200、9300、100 5 1、100 80、11 2 1 1、27 0 1 7、27 0 1 8、27 0 1 9]。
if port1024 {
//1024 以下のポート(502など)への接続を禁止する
uni.showModal {
title 'ポート制限'
content '微信小プログラムは1024 以下のポートを接続することを禁止します。APPバージョンまたはポートを交換してください'
showCancel false
});
戻ります
}
if portNum = 8000 portNum = 8100 {
//8000-8100ポートの接続を禁止
uni.showModal {
title 'ポート制限'
content '微信小プログラムは8000-8100ポートの接続を禁止しています。ポートを交換してください'
showCancel false
});
リターン;
}解決策:
外部 1502 → 内部 502のように、ルータでポート転送を行います。
1.3プロの電卓シリーズ
ここは私が最も考えている部分であり、“経験の価値”を最もよく反映している部分です。
(1)PID自己整定器
PIDパラメータの調整は、自動制御システムの中核であり、多くのエンジニアの悩みの種です。
サポートされているチューニング方法:
| 方法論は | 適用可能なシーン | 特徴は |
|---|---|---|
| ジーグラー =ニコルズ第一法則 | ステップ応答実験 | 古典的な方法、幅広い適用 |
| ジーグラー =ニコルズ第二法則 | 臨界振動法 | クリティカルゲインを見つける必要がある |
| Cohen-Coon | 大遅延システム | 遅延システムに最適です。 |
| IMC(内部モード制御) | 高いパフォーマンス要件 | 調整可能なパラメータと柔軟性 |
| 極の構成 | 特定の動的応答 | システムモデルが必要 |
入力パラメータ:
- 遅延時間L(秒)
- 時定数T(秒)
- プロセス利得K
- λパラメータ(IMC専用)
出力結果:
- 比例利得Kp
- 積分時間Ti
- 微分時間Td
- 推奨構成(コントローラの種類、制御変数の選択など)
コアアルゴリズム(ジーグラー =ニコルズ第一法)
// Ziegler-Nicholsファーストメソッド(ステップ応答)
zieglerNichols 1st L T K {
// Kp = 1.2 * T /K * L
// Ti = 2 L
// Td = 0.5 L
const kp = 1.2 * T /K * L;
const = 2 * L;
const td = 0.5 * L;
return { kp ti td };
}実戦の事例:
ステップ応答実験により得られた温度制御システム:
- 遅延時間L = 2.5s
- 時定数T = 8.0 s
- プロセス利得K = 1.0
計算式を入力する:
- Kp = 1.2 × 8.0 / (1.0 × 2.5) = 3.84
- Ti = 2 × 2.5 = 5.0s
- Td = 0.5 × 2.5 = 1.25s
これら3つのパラメータをPIDコントローラに入力すると、システムは高速でオーバーシュートが少なくなります。
(2)センサ校正計算機
センサ校正は現場デバッグのルーチン作業ですが、手動計算はエラーを起こしやすいです。
4つのモデルをサポート。
直線性(最も一般的)
4- 20mA、0- 10Vなどのリニアセンサに適しています。
公式:Y = kX + b そのうち: k = Y2 - Y1/X2 - X1//倾き b = Y 1-K * X 1 //切片
クイック変換テーブル:
| パーセント | 信号値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 |
②多くの適合
非線形センサ(熱電対、熱抵抗など)に最適です。
サポート:
- 二次曲線フィッティング
- 3次曲線フィッティング
- 最小二乗法
③ 温度専用モード
内蔵常用温度センサー分画表
- PT 100熱抵抗
- K 型熱電対
- J 型熱電対
- タイプE熱電対
- T 型熱電対
④エラー分析
計算すると:
- 絶対誤差です。
- 相対的誤差
- フルスケール誤差
- 線形性の問題
実戦の事例:
圧力トランスミッタ、0-10bar、出力4-20mA。
ポイント設定:
- 最小値:4mA → 0bar
- 高さ:20mA → 10bar
計算結果:
- k = (10 - 0) / (20 - 4) = 0.625
- b = 0 - 0.625 × 4 = -2.5
公式の定義:Y = 0.625X - 2.5
検証済み:
- 入力12 → Y = 0.625 × 12 - 2.5 = 5.0bar ✓
- 入力20mA → Y = 0.625 × 20 - 2.5 = 10.0 bar ✓
(3)検証計算ツール
このツールは、10以上の産業用通信プロトコルで一般的に使用される検証アルゴリズムを統合します。
サポート機能:
| 検証の種類 | 説明書は | 適用可能なシーン |
|---|---|---|
| MODBUS RTU CRC-16 | 16ビット巡回検査 | Modbus RTUプロトコル |
| MODBUS ASCII LRC | 垂直冗長検査 | Modbus ASCIIプロトコル |
| チェックサム(16ビット) | 16ビットの加算と減算 | シンプルなプロトコル |
| 差異または検証(8ビット) | すべての文字は異なる。 | カスタム契約の定義 |
| シーメンスS 7チェックサム | S 7通信プロトコル | シーメンスPLC |
| 三菱 FXサム検査 | 三菱通信プロトコル | 三菱商事株式会社 |
| BCCチェック | ブロック検証文字 | シリアルポートCommunication |
| IP/TCPチェックサム | ネットワークプロトコル検証 | TCP/IPスタック |
| オムロンFINS FCS | FINSプロトコル検証 | オムロンPLC |
| CAN CRC | CANバス検証 | 車載エレクトロニクス。 |
使用方法:
- 検証タイプの選択
- 生HEXデータの読み込み
- チェックコードの自動計算
- (オプション)チェックコードを追加して送信
使用例:Modbus RTUコマンド
オリジナルデータ:01 03 00 00 00 01
CRC-16の計算:
- 6バイト入り。
- CRC = 0 x 840Aの計算
- 前の低文字:
84 0A
完全なメッセージ:01 03 00 00 00 01 84 0A
1.4その他のプロフェッショナルツール
ミニプログラムには15以上のプロフェッショナルツールがあります。
(1)PLCデバッグツール
- Q 0 6スイッチデバッグアシスタントQ06シリーズスイッチ専用のデバッグツール
- X 160デバッグツールX160デバイス専用デバッグ
- ZLANデバイスマネージャ:有人モノのインターネットZLANシリーズデバイス管理
(2)アクチュエータの調整
- 調光デバッグアシスタント0-10V/PWM調光器デバッグ
- 8リレー制御。:多重リレーのバッチ制御
- サーボパルス計算:サーボモータパルス当量計算
(3)周波数コンバータのデバッグ
- 周波数コンバータデバッグツール:主流周波数コンバータのパラメータ設定をサポート
(4)その他の計算機
- 圧力トランスミッタの試運転:差圧/圧力トランスミッタの計算
- 遠隔支援ツール:リアルタイムでデバッグ画面を共有
第二に、技術アーキテクチャ:小さなプログラムはプロのツールにもなります
2.1技術の選択
フロントエンドフレームワーク:uni-app
選択の理由:
- マイクロプログラム、H 5、APPにコンパイルされたコードのセット
- 豊富なコンポーネントライブラリ
- 優れたBluetooth/TCP/UDP APIサポート
UIフレームワーク:colorUI +カスタムコンポーネント
データストレージ:
- ローカルストレージuni.setStorageSync
- 接続履歴
- プロジェクト構成の保存
2.2コア技術の難しさ
(1)Bluetooth BLE接続
WeChatミニプログラムのBluetooth APIにはいくつかの制限があり、特別な処理が必要です。
課題1:サービス固有値の検索
BluetoothモジュールによってService UUIDとCharacteristic UUIDは異なり、インテリジェントなルックアップが必要です。
//書き込み可能な機能を探すためにすべてのサービスを横断
findWritableChar {
if this.currentServiceIndex = this.allService.length {
すべてのサービスが終了します。
if this.foundWriteChar {
this.finishBluetoothConnection;
(エルゼ)
uni.showToast {title '書き込み可能フィーチャーが見つかりません' icon 'none' };
}
リターン;
}
const service = this.allServices [this.currentServiceIndex];
uni.getBLECharistics {
deviceId this.connectedDeviceId
serviceId service.uuid
suess ={
const charistics = res.charistics;
//戦略を探す:
// 1。writeとnotifyの両方に対応する機能を優先する(双方向通信)
// 2.。書き込みのみをサポートする機能。
// 3.。writeNoResponseをサポートする機能を見つける
let writeChar = characteristics.find c =>
c.properties.write === true&&
c.properties.notify === true|| c.properties.indicate === true
);
if! eChar
writeChar = characteristics.find c = c. properties.write === true;
}
if! writeChar {
writeChar = characteristics.find c = c. properties.writeNoResponse === true;
}
if writeChar {
this.writeCharacteristicId = writeChar.uuuid;
this.foundWriteChar = true
this.finishBluetoothConnection;
リターン;
}
//現在のサービスが見つかりません。次へ進む
this.currentServiceIndex ++;
this.findWritableCharacteristic;
}
});
}難点2:Pacoデバイス80バイトのシングルパケット送信
Pacoデバイスは一度に80バイトを送信する必要がありますが、BLEのデフォルトMTUは20バイトです。
解決策:
BLE MTU(最大伝送ユニット)の設定
setBLEdeviceId callback {
if wx.setBLE {
wx. setBLE {
deviceId deviceId
mtu 512、//512バイトに設定
suess ={
console.log 'MTUの設定に成功しました';
callback callback;
},
fail err ={
console.error 'MTUの設定に失敗しました' err;
callback callback();
}
});
(エルゼ)
callback callback;
}
}(2)TCPソケットCommunication
WeChatアプレットのTCPソケットAPIは非同期であり、接続タイムアウト、データ下請け、粘着パケットなどの問題に対処する必要があります。
接続タイムアウト処理:
const connTimeout = setTimeout ={
if! self.isConnected {
uni.hideLoading;
uni.showToast {title '接続タイムアウト' icon 'none' };
try {tcp.close; } catch e {}
self.tSocket = null;
}
} 8000; // 8 秒タイムアウト
t.onConnect function {
clearTimeout connTimeout;
self.isConnected = true;
// ...
});データの下請け処理:
handleTcpResponse hexData {
const hex = hexData.replace/\s+/g ';
//受信したデータをバッファに追加
for let i = 0; i hex.; i += 2 {
this. receiveBuffer.push parseInt hex.substr i 2 16;
}
//MBAPヘッダのLengthフィールドを使用してフレーム整合性を判断する
while this.receiveBuffer.length = 7 {
const mbap = this. receiveBu [4]<< 8| receiveBuffer[5];
const totalFrame = 6 + mbap;
if this.receiveBuffer.length = totalFrameLength {
//完全なフレームを抽出する
const frame = this.receiveBuffer.splice 0 totalFrameLength;
this.parseModbusTcpResponse frame;
(エルゼ)
//データが不完全で、さらなるデータを待っている
休憩を取る。
}
}
}(3)ビッグデータ処理
シリアルポートデバッグ時、長時間実行すると大量のデータが生成されます。
最適化戦略:
//メッセージ·バッファ管理
maxMessageCount 800、//最大800個を保存
maxVisibleMessageChars 240//最大240文字
trimMessageBuffer {
const maxTotalChars = this.maxMessageCount * this.maxVisibleMessageChars * 2;
while this.messages.length> this.maxMessageCount||
this.totalMessageChars maxTotalChars {
const oved = this.messages.shift;
if oved removed.data {
this.totalMessageChars-= removed.data.length;
}
}
}
//拡張/終了をサポートする超長メッセージ自動切り捨て
isMessageTruncated msg {
Return !! (msg msg.data&&
msg.data.this.VisibleChars;
}
getMessage msg {
if! MSGは|| ! msg.data return '';
if msg.expanded|| ! this.isMessageTruncated msg {
msg.dataに戻る
}
return msg. data.slice 0 this.maxVisibleMessageChars + '';
}設計コンセプト:エンジニアはエンジニアを理解する
3.1 Win 7スタイルのインターフェース
多くの人がなぜWindows 7を使うのか?
なぜならばおなじみです。。
ほとんどの産業エンジニアは毎日コンピュータを見ており、Windows 7のインターフェイスは最もよく知られています。このスタイルを見ると、“プロのツール”の感覚があります。
デザインの詳細:
- グラデーション青色のタイトルバー
- 立体枠外浅内深さ
- グレーの背景 +白のコンテンツ領域
- 等幅フォントでデータを表示Courier New
3.2遠隔支援機能
この機能は、現場でのデバッグ中に思いついたものです。
シーン:
現場機器の故障、私はできない、同僚のリモートサポートが必要です。しかし、従来の方法は電話でしか説明できず、非効率です。
解決策:
//支援セッションコードの生成
startRemoteAssist {
const sessionId = generateRandomSessionId;
this.remoteAssistSessionId = sessionId
this.remoteAssistShowPanel = true;
//Communicationデータをリアルタイムで転送
this.remoteAssistForward 'tx''Tx' data;
this.remoteAssistForward 'rx''Rx' data;
//リモートコマンドを受信
これは._ executeCommand;
}プロセスの利用:
- “Remote Assistance”をクリック
- 6ビットのセッションコードの生成
- マイクロフレンドと共有する
- 相手が開くと、リアルタイムでCommunicationデータを確認する
- 相手はリモートでコマンドを送信できる
価値観:
- スクリーンショット/録画不要
- リアルタイム双方向通信
- 複数のコラボレーションのサポート
3.3データのエクスポート共有
現場での試運転後、データはしばしば同僚に送信またはアーカイブされます。
エクスポート形式:
【シリアルデバッグ- Communicationログ】 書き出し時間2026-04-05 11 00 00 全50巻。 送信1200バイト、受信800バイト ======================================== [11 00 [11(00 00.456)受入:01 03 02 00 0A B9 C 8 [11(00 01.123)送信:01 03 00 00 00 0A C5 CD ... ======================================== ソース:ModbusデバッグアシスタントWeChatミニプログラム
実装方法:
buildExportLogContent(options = {}) {
let content = `${options.title || '【Serial Port Debugging - search function code, register type】'}\n`;
content += `导出时间:${new Date().toLocaleString()}\n`;
content += `共 ${this.messages.length} 条记录\n`;
content += `send:${this.sentCount} byte,receive:${this.receivedCount} byte\n`;
content += `${'='.repeat(40)}\n\n`;
this.messages.forEach((msg) => {
const direction = msg.type === 'sent' ? 'send' : 'receive';
content += `[${msg.time}] ${direction}: ${msg.data}\n`;
});
content += `\n${'='.repeat(40)}\n`;
content += `来自:Modbus Debugging Assistant WeChat Mini Program`;
return content;
}ユーザーフィードバック:本物の声
2 ヶ月で、すでに5,000人以上のエンジニアが使用しています。
フィードバック1:
“それは簡単です!携帯電話だけで十分です。昨日現場に行ったとき、お客さんは私が携帯電話を持っていたことに驚いた。"
--江蘇省、オートメーションエンジニア、王工
フィードバック2:
“PIDチューニング計算機は非常に役立ちます。以前は半日かけてパラメータを調整していましたが、L/T/Kを入力して結果を直接表示します。"
--広東省、制御エンジニア、李工
フィードバック3:
“遠隔支援機能が強すぎます。現場で問題が発生し、同僚と直接共有し、5分で完了し、少なくとも半分の時間の電話通信。"
--浙江省、技術サポート、張工
フィードバック4:
“センサー校正計算機は実用的です。私たちの工場には何百ものセンサがあり、以前は手動で校正していましたが、2つのポイントを入力して式を自動化します。"
― ―山東省、計装エンジニア、劉工
V.今後の計画
5.1短期プラン(1-3 ヶ月)
- OPC UAクライアントの追加
- MQTTプロトコルデバッグのサポート
- BACnetプロトコルのサポート
- クラウドプロジェクト同期(VIP機能)
5.2中期計画(3-6 ヶ月)
- APPバージョン(WeChatミニプログラムのポート制限を突破)
- スクリプトのサポートLua/JavaScript
- チャート分析機能の追加(トレンドグラフ、スペクトル分析)
- デバイスデータベース一般的なデバイスパラメータテンプレート
5.3長期ビジョン
産業技術者の宝箱になる。
フィールドデバッグで使用できるツールである限り、この小さなプログラムに統合されています。
エンジニアへのアクセス:
- 荷物を少なくして,軽い荷物を運ぶ
- 授業を減らして早めに帰宅
- より少ないトラブル、より効率的。
6.最後に書く
この小さなプロジェクトの目的はお金を稼ぐことではない。
あなたの痛みを解決し、より多くの人々を助けるために。
20 yearの経験が教えてくれましたツールの価値は、機能的な派手さではなく、実際の問題解決にあります。
それぞれの機能は、私が現場でデバッグしたときに遭遇した本当の苦痛点です。
コードのすべての行は、この業界への愛を表しています。
あなたがエンジニアであれば、この小さなプログラムが役立つことを願っています。
提案があれば、フィードバックを歓迎します。
一緒に産業用試運転を簡単にしましょう。
付録:利用方法
方法1:マイクロチップ

方法2:マイクロ検索
Modbusデバッグアシスタントの検索
ステップ3:友達と共有する
友達が共有したカードをタップして
著者について
産業オートメーションの20 yearの経験、機器メーカー、インテグレーター、甲。
産業用モノのインターネット、エッジコンピューティング、インテリジェント制御に焦点を当てています。
交換へようこそ:
- Centeraメールボックス:support@modbus.cn
- サブグループ:アシスタントを追加する
リファレンス·リソース
[1] Modbus Application Protocol Specification V1.1b3
[2]ジーグラー·ニコルズPID整定法
[3]微信小プログラムBluetooth開発ドキュメント
[4]IEEE 75 4浮動小数点数規格
[5]CRC16アルゴリズムの原理と実装
Leave a Reply