0

私は GSM モデムと PLC を持っています。PLC はモデム (*.lib と機能ブロック「openPort」を使用) を認識しますが、「ate0」などの「AT コマンド」をモデムに送信する方法がわかりません。

4

1 に答える 1

0

最初に、一般的な AT コマンドの理解を深めるために、V. 250 仕様を読んでください。これは、AT コマンドの専門家になるのに大いに役立ちます。

次に、実際の実装については、Codesys を知らないため、AT コマンドを処理するために必要な構造体の疑似コードを次に示します。

the_modem = openPort();
...
// Start sending ATE0
writePort(the_modem, "ATE0\r");
do {
    line = readLinePort(the_modem);
} while (! is_final_result_code(line))
// Sending of ATE0 command finished (successfully or not)
...
closePort(the_modem);

何をするにしても、最終的な結果コードを待つ代わりにdelay、などを使用しないでください。関数の例については、atinoutsleepのコードを参照してください (ST-EricssonのU300 RILと比較することもできますが、これは最終結果コードではないことに注意してください。これは中間結果コードであるため、名前は isFinalResponseSuccess です。 100%正しいわけではありません)。is_final_result_codeisFinalResponseErrorisFinalResponseSuccessCONNECT

于 2013-05-08T17:15:28.253 に答える