この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
ch_protchcommunication [2019/03/15 20:09] klab |
ch_protchcommunication [2019/03/16 03:22] (現在) klab |
||
---|---|---|---|
ライン 52: | ライン 52: | ||
### (応用例1)チャットプログラム | ### (応用例1)チャットプログラム | ||
送信と受信のプログラムを組み合わせることで、チャットアプリのような双方向のやりとりをするプログラムを作ることができる。\\ | 送信と受信のプログラムを組み合わせることで、チャットアプリのような双方向のやりとりをするプログラムを作ることができる。\\ | ||
- | ここでは、下記のようなチャットプログラムを作成する。 | + | ここでは、下記のようなチャットプログラム(protch%%_%%chat.dtl)を作成する。 |
- | {{:pasted:protch_serial.png}} | + | {{:pasted:protch_serial2.png}} |
①のフィールドに相手に送りたい内容を記述し、「送信」ボタンを押すことでその内容を送信する。\\ | ①のフィールドに相手に送りたい内容を記述し、「送信」ボタンを押すことでその内容を送信する。\\ | ||
ライン 62: | ライン 62: | ||
<code> | <code> | ||
- | 直してー | + | システム!"protchrm"使う。 |
+ | 最初に実行=「 | ||
+ | 送信フィールド=フィールド! 作る。 | ||
+ | 送信ボタン=ボタン!”送信”作る。 | ||
+ | 受信エリア=リスト! 作る。 | ||
+ | 送信ボタン:動作=「通信端子!(送信フィールド!読む)送信」。 | ||
+ | 」。 | ||
+ | |||
+ | 繰り返し実行=「 | ||
+ | 受信値=通信端子! 受信。 | ||
+ | 「受信値!=””」! なら「 | ||
+ | 受信エリア! (受信値)書く。 | ||
+ | 」実行。 | ||
+ | 」。 | ||
+ | |||
+ | プロッチ!転送。 | ||
</code> | </code> | ||
ライン 68: | ライン 83: | ||
### (応用例)自動応答装置? | ### (応用例)自動応答装置? | ||
- | 次のプログラムでは、フィールドオブジェクトに書いた文字をプロッチの左スイッッチの押下により送信している。また、 | + | 次のプログラム(protch%%_%%serial1.dtl)では、フィールドオブジェクトに書いた文字をプロッチの左スイッッチの押下により送信している。また、「危険」の文字が送られてきた場合に、LEDが点灯し、ピーポーと危険を通知する。 |
<code> | <code> | ||
ライン 74: | ライン 89: | ||
最初に実行=「 | 最初に実行=「 | ||
送信フィールド=フィールド! 作る。 | 送信フィールド=フィールド! 作る。 | ||
- | 受信エリア=テキストエリア! 作る。 | + | 送信ボタン=ボタン!”送信”作る。 |
+ | 受信エリア=リスト! 作る。 | ||
+ | 送信ボタン:動作=「通信端子!(送信フィールド!読む)送信」。 | ||
+ | 」。 | ||
+ | |||
+ | 繰り返し実行=「 | ||
+ | 受信値=通信端子! 受信。 | ||
+ | 「受信値!=””」! なら「 | ||
+ | 受信エリア! (受信値)書く。 | ||
+ | 」実行。 | ||
+ | |||
+ | 「受信値=="危険"」!なら「 | ||
+ | 左ライト!点灯。 | ||
+ | 右ライト!点灯。 | ||
+ | ブザー!”シ~ソ~シ~ソ~”演奏。 | ||
+ | 左ライト!消灯。 | ||
+ | 右ライト!消灯。 | ||
+ | 」実行。 | ||
+ | 」。 | ||
+ | |||
+ | プロッチ!転送。 | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ### (応用例)入退室状況管理 | ||
+ | 次のプログラム(protch%%_%%serial2.dtl)左スイッチを押すと、「時間」と「来た」を送信し、右スイッチを押すと「時間」と「出た」を送信する。 | ||
+ | |||
+ | |||
+ | <code> | ||
+ | //送信側のプログラム | ||
+ | システム!"protchrm"使う。 | ||
+ | 最初に実行=「 | ||
+ | 動作表示=ラベル!作る。 | ||
」。 | 」。 | ||
繰り返し実行=「 | 繰り返し実行=「 | ||
「(左スイッチ!接触?)==はい」!なら「 | 「(左スイッチ!接触?)==はい」!なら「 | ||
- | 通信端子! (送信フィールド! 読む)送信 | + | 動作表示!”左スイッチを押しました。”書く。 |
+ | 通信端子! ((システム!時刻?)+"に来ました!")送信 | ||
」実行。 | 」実行。 | ||
+ | 「(右スイッチ!接触?)==はい」!なら「 | ||
+ | 動作表示!”右スイッチを押しました。”書く。 | ||
+ | 通信端子! ((システム!時刻?)+"に出ました!")送信 | ||
+ | 」実行。 | ||
+ | 」。 | ||
+ | プロッチ!転送。 | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | //受信プログラム | ||
+ | システム!"protchrm"使う。 | ||
+ | 最初に実行=「 | ||
+ | 受信エリア=リスト! 作る。 | ||
+ | 」。 | ||
+ | |||
+ | 繰り返し実行=「 | ||
受信値=通信端子! 受信。 | 受信値=通信端子! 受信。 | ||
「受信値!=””」! なら「 | 「受信値!=””」! なら「 | ||
ライン 87: | ライン 151: | ||
」。 | 」。 | ||
プロッチ!転送。 | プロッチ!転送。 | ||
- | </code> | ||
+ | </code> |