compass RS232C通信チェック{ モード プログラム 表示位置 中央 記録フォーム表示 右下 サイズ設定 650, 550 } 変数 $port = "COM1" #RS232Cポート番号 変数 $command = "*TRG" #コマンド文字列 変数 $delimiter = "(CRLF)" #デリミタ文字列 変数 $cmd = "" #送信文字列 変数 $wait = 200 #送信-受信の待ち時間 変数 $result #受信文字列 変数 $before = "(CRLF)" #置換文字列 変数 $after #置換後の文字列 # RS232C通信の設定が異なる場合は、下記のコマンドを参考にした書き換えが必要 # RS232C.開始 $port, 9600, 8, 0, 0 # RS232C.開始 $port, $BaudRate, $ByteSize, $Parity, $StopBit # ※ 上記1行目の数値は、デフォルトの設定 exe ポート番号を入力{ 入力 ($port) } exe コマンド文字列を入力{ 入力 ($command) } exe デリミタ文字列を入力{ メッセージ "Carriage ReturnとLine Feedは次のように記入します:(CR), (LF), (CRLF)" 入力 ($delimiter) } exe 置換する受信文字列を入力{ 入力 ($before) } exe デバイスマネージャでポート番号をチェック{ 実行 "devmgmt.msc" メッセージ "起動したデバイスマネージャーの「ポート(COMとLPT)」欄に使用可能な番号が表示されます。" } exe exe 送信テスト{ 結合 ($cmd) = $command & $delimiter RS232C.開始 $port RS232C.送信 $cmd RS232C.終了 結合 ($result) = $port & " : " & $cmd 記録 $result } exe 送受信テスト{ 結合 ($cmd) = $command & $delimiter RS232C.開始 $port RS232C.送信 $cmd 待機 $wait RS232C.受信 ($result) RS232C.終了 置換 ($result), $before, $after 結合 ($result) = $port & " : " & $cmd & " : " & $result 記録 $result } exe 受信テスト{ RS232C.開始 $port RS232C.受信 ($result) 置換 ($result), $before, $after 結合 ($result) = $port & " : " & $result 記録 $result RS232C.終了 } exe exe 送信の繰り返し{ RS232C.開始 $port ■繰り返し 送信, 1000, 100 RS232C.終了 } sub 送信{ 結合 ($cmd) = $command & $delimiter RS232C.送信 $cmd 結合 ($result) = $port & " : " & $cmd 記録 $result } exe 受信の繰り返し{ RS232C.開始 $port ■繰り返し 受信, 1000, 100 RS232C.終了 } sub 受信{ RS232C.受信 ($result) 置換 ($result), $before, $after 結合 ($result) = $port & " : " & $result 記録 $result } exe 送受信の繰り返し{ RS232C.開始 $port ■繰り返し 送受信, 1000, 100 RS232C.終了 } sub 送受信{ 結合 ($cmd) = $command & $delimiter RS232C.送信 $cmd 待機 $wait RS232C.受信 ($result) 置換 ($result), $before, $after 結合 ($result) = $port & " : " & $cmd & " : " & $result 記録 $result } exe exe コマンドを変えながら送信の繰り返し{ 計算 $n = 0 RS232C.開始 $port ■繰り返し 次の送信, 1000, 100 RS232C.終了 } sub 次の送信{ 計算 $n = $n + 10 結合 ($command) = "test" & $n 結合 ($cmd) = $command & $delimiter RS232C.送信 $cmd 結合 ($result) = $port & " : " & $cmd 記録 $result } exe コマンドを変えながら送受信の繰り返し{ 計算 $n = 0 RS232C.開始 $port ■繰り返し 次の送受信, 1000, 100 RS232C.終了 } sub 次の送受信{ 計算 $n = $n + 10 結合 ($command) = "test" & $n 結合 ($cmd) = $command & $delimiter RS232C.送信 $cmd 待機 $wait RS232C.受信 ($result) 置換 ($result), $before, $after 結合 ($result) = $port & " : " & $cmd & " : " & $result 記録 $result } sub 停止時{ RS232C.終了 }