ユーザ用ツール

サイト用ツール


ja-jp_commands:reference:imodbusrtuinit

ImodbusRTUInit()

ImodbusRTUInit()は通信ポート、局番、ボーレートを設定します。

ImodbusRTUInit コマンドの動作フロー

void ImodbusRTUInit(HardwareSerial& serialPort, uint8_t slaveId, long baudrate)

コマンド

コマンド 引数 戻り値 動作
ImodbusRTUInit(serialPort, slaveId, baudrate) HardwareSerial& serialPort — RS-485に接続したSerial
uint8_t slaveId — Slaveアドレス
long baudrate — 通信速度
void 通信ポート、局番、ボーレートを設定します。

使用例

void setup() {
  ImodbusRTUMem(100, 200);  // Slaveが使用するM・Dメモリサイズを設定します。
  ImodbusRTUAdr(0, 0);  // M・Dメモリの開始アドレスを設定します。
  ImodbusRTUInit(Serial1, 1, 115200);  // 通信ポート、局番、ボーレートを設定します。
}
 
void loop() {
  ImodbusRTU();  // 受信要求を確認し、Slave応答を処理します。
  D[0] = 100;
  D[3] = 200;
}

注意事項

  • SlaveまたはMasterの実行関数をloop()で継続的に呼び出します。
  • データ配列のサイズは要求quantity以上にしてください。
  • 戻りコードのBUSYとIDLEを通信失敗として扱わないでください。
  • Cnet/MC ProtocolとMDを共有する場合、最終サイズと初期化順序を統一します。ImodbusRTUMem()ICnetMem()を実行中に再呼び出ししないでください。
  • メモリ割り当て関数は成功状態を返しません。サイズが0でない場合、MDnullptrでないことを確認してからユーザーコードでアクセスしてください。

同じカテゴリの内蔵コマンド

ja-jp_commands/reference/imodbusrtuinit.txt · 最終更新: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki