私は GSM モデムと PLC を持っています。PLC はモデム (*.lib と機能ブロック「openPort」を使用) を認識しますが、「ate0」などの「AT コマンド」をモデムに送信する方法がわかりません。
質問する
6775 次
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_code
isFinalResponseError
isFinalResponseSuccess
CONNECT
于 2013-05-08T17:15:28.253 に答える