自動車業界では、MATLAB/Simulinkをベースとしたモデルベース開発が有望視されています。言うと、適用方法によってはそれなりに工数削減や品質向上が出来ると言う事が実証されてきたからです。一方ではモデルベース開発によって逆に工数が増加してしまうケースもあり、まだまだ課題が山積みです。これは、ユーザー様にとっては課題が山積みと言えますが、私にとっては仕事のネタが山積みとも言えます。このブログでは、そういったモデルベース開発に関わっていく中で思った事について書いていきます。更新日は月曜日+気が向いた日です。RTAIこの記事からの続きです。テンプレートのように、コピペしてすぐ使える!という形式を目指しています。新たにRTAIアプリを組む時は、今回からの記事から必要な部分だけコピペして下さい。ここで使用するサンプルコードはすべてこちらの記事で構築した環境にて確かめています。今回の記事で出来るようになる事は、次の通りです。メールボックスFIFOセマフォNet_RPCメールボックスメールボックスを作成するには、メールボックスを作成するメールボックスにデータを送信するメールボックスからデータを取り出すという手順が必要です。メールボックスについてざっくりお知りになりたい方は、こちらの記事を参照してください。メールボックスにアクセスするタスクの順番。FIFO_Qなら早い者勝ち。PRIO_Qなら優先順位の高いもの勝ち。メールボックスの名前を指定します。渡したものと同じです。rt_mbx_send関数には、次の引数を与えます。);ここで、rt_mbx_receive関数には、次の引数を与えます。);メールボックスを使い終わったら、かならず削除して下さい。メールボックスを削除しないままアプリを終了したとしても、メールボックスはまだ生き残っています。そのため、必ず明示的にメールボックスを削除してやる必要があります。FIFOメールボックスと同様に、FIFOを使ったデータのやり取りも可能です。FIFOに関する概要は、こちらの記事を参照してください。<x>というコマンドを実行しておく必要があります。<x>は0~63の数値です。);ここで、第一引数はFIFOデバイスファイル名です。第三引数は、使用したいFIFOのサイズです。);これはファイルへの書き込みとまったく同様です。);これはファイルからの読み込みとまったく同様です。セマフォ機能も付いています。合計64個のセマフォを使う事が出来ます。セマフォの概要については、こちらの記事を参照してください。第一引数が、セマフォ名です。rtf_sem_initの第二引数は、セマフォの初期値です。0か1で指定しておきます。した時にブロックしてしまいます。した時、すでにカンバンが1つだけあるため、ブロックしません。第一引数が、セマフォ名です。第一引数が、セマフォ名です。RPCを使用する事で、リモートマシン上のタスクやメールボックスを操作する事が出来ます。概要については、こちらの記事をご覧ください。RPCを使用するために、まずポートを取得します。);このコードは、IPアドレス(192.168.0.155)からポートを取得するためのコードです。2つの変数が重要です。