ユーザ用ツール

サイト用ツール


ja-jp_commands:reference:imcinit

IMcInit()

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

IMcInit コマンドの動作フロー

void IMcInit(HardwareSerial& serialPort, uint8_t stationNo, long baudrate)

コマンド

コマンド 引数 戻り値 動作
IMcInit(serialPort, stationNo, baudrate) HardwareSerial& serialPort — 通信Serial
uint8_t stationNo — 局番
long baudrate — 通信速度
void 通信ポート、局番、ボーレートを設定します。

使用例

この例では、MPINO-16A8R8TのRS-485ポートSerial2、入力D22、トランジスタ出力D39を使用します。

void setup() {
  IMcMem(32, 32, 64, 64);  // MC Protocolで使用するX・Y・M・Dメモリサイズを設定します。
  IMcAdr(0, 0, 0, 0);  // X・Y・M・Dメモリの開始アドレスを設定します。
  IMcInit(Serial2, 1, 9600);  // 通信ポート、局番、ボーレートを設定します。
}
 
void loop() {
  IMcProtocol();  // 受信要求を確認し、MC Protocol応答を処理します。
  if (X != nullptr) X[0] = digitalRead(22) == HIGH;
  if (Y != nullptr) digitalWrite(39, Y[0] ? HIGH : LOW);
}

注意事項

  • loop()IMcProtocol()を継続的に呼び出します。
  • X/Yの16進数アドレスとM/Dの10進数アドレスを混同しないでください。
  • ポインタを割り当てる前にX/Y/M/Dを使用しないでください。
  • CnetまたはModbusが実行中に共有M/Dを再割り当てすると、MC Protocolが参照していたアドレスが変わります。メモリサイズの設定はすべてsetup()で完了し、実行中は再呼び出ししないでください。
  • 割り当て関数は成功状態を返しません。サイズが0でない場合、該当するグローバルポインタがnullptrでないことを確認してからアクセスします。

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

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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki