PCプラットフォームによる PCプラットフォームによる 産業用ソリューションプロバイダー 産業用ソリューションプロバイダー


採用情報


お問合せ

JapaneseEnglish

  • PP263
ホーム > RT-edge > 仮想マイコンコンテナ 仮想マイコン
仮想マイコン
最終更新日:2023/12/20 
 概要
センサ入力や、制御出力信号に小型マイコンを用いていた産業用エッジシステムのケースにおいて、仮想マイコン機能は有効なソリューションです。

産業コンピューターが搭載するIntel CPU マルチコアを応用することでソフトウェアが作り出す仮想のマイコンプラットフォームを提供します。Intel CPU がマイコンの処理能力をカバーできるので、マイコンハードウェアを必要とせずに、この仮想プラットフォーム上に C言語/C++言語で開発できるマイコンアプリケーションを実行させて目的の機能を実現できます。この「仮想マイコン」ソフトウェアは、RT-edgeシステムのコンテナとして利用できるだけでなく、産業用PCにこの「仮想マイコン」ソフトウェアをインストールして利用することもできます。
 特長
  1. 市販マイコン同等の処理が可能
  2. in()、out()関数でレジスタアクセス
  3. 仮想マイコンタスクテーブルへの登録で動作するリアルタイムマルチタスク
  4. 複数の仮想マイコン間で連携が可能(イベント機能)
  5. 他のタスクと連携が可能(メッセージ機能)
  6. 新規アプリケーション開発を支援するウィザード機能
  7. Microsoft Visual StudioのC言語プログラミングでアプリケーション開発
  8. コンフィグファイル(XML)にI/Oレジスタ構成を定義
  9. この「仮想マイコン」は1台の産業用PCで複数のマイコンとして利用可能(最大64マイコン)
 仕様
仮想マイコンタスク機能
No 項目 内容 備考
1 制御周期 最小100us 作り出せる時間の最小単位
※マシン性能によって制限されます
2 プライオリティ(詳細) 256段階
3 スタックサイズ 128KB
4 最大仮想マイコン数 64
5 1仮想マイコン当たりの
最大仮想マイコンタスク数
64 ただしシステム内の最大仮想マイコン数を超えないこと
6 タスク(プログラム)の大きさ上限 約6万行
7 扱えるデータメモリ上限サイズ 最大4GB
仮想I/O機能(詳細)
No 項目 内容 備考
1 アドレス範囲 0x0000~0xFFFF 最大ディジタル信号65535点
2 アクセス形式 リトルエンディアン形式
メッセージ機能
No 項目 内容 備考
1 メッセージ名 VM_M[1]
[1]:EgStartでのEgVMを使用した
仮想マイコンの起動番号
( 00 .. 63 )
フレームワークで生成したメッセージをキューイングする。
2 個数 1
3 レコード長 2048バイト
4 レコード数 1024
イベント機能(詳細)
No 項目 内容 備考
1 カタログ名 VM_E[1][2]
[1]:EgStartでのEgVMを使用した
仮想マイコンの起動番号
( 00 .. 63 )
[2]:仮想マイコンタスクテーブルの
仮想マイコンタスクの起動番号
( 00 .. 63 )
EgMailboxを使用
2 個数 64 vmInitで生成
3 レコード長 1バイト RT-edge仕様上最小値をセット
4 レコード数 2 RT-edge仕様上最小値をセット
5 メッセージ番号 20000 ユーザーメッセージを使用
 RT-edge でのコンテナ間メッセージ通信
仮想マイコンアプリケーションは 他のRT-edgeコンテナに対して非同期的なメッセージ通知を使って処理を要求することが可能です。 例えばデータベースコンテナにレコード追記を要求したり、上位通信コンテナにクラウドサーバ向けの送信要求をすることができます。
コンテナ間メッセージ通信機能
 Visual Studioでのアプリケーションの開発
仮想マイコンアプリケーションの開発には、Microsoft Visual Studio によるC言語が使用できるので STL を用いたアルゴリズムの活用や、キャラクタコンソールの簡易表示ができます。

ソケット関数も用意されておりTCP IP 通信もハードウェアの増設なしに利用できます。これには産業用コンピューターが搭載しているイーサネットポートが使用されます。
 新規アプリケーション開発を支援するウィザード機能
新規のアプリケーションを開発する場合 Visual Studio のプロジェクトを自動生成します。 アプリケーション開発者は生成されたスケルトンコードに処理を追記する形で目的の処理をプログラミングしていくことができます。 Visual Studioでビルドを行えば実行モジュールが生成されます。
ウィザード機能
 API関数
  1. サービス関数群
    仮想マイコンアプリケーションのプロセスをコントロールできます。
  2. 仮想I/O空間アクセス関数群
    マッピングされたレジスタへのアクセスができます。これには仮装のポートアドレスを使って指定します。レジスタは8ビット16ビット32ビットの指定が可能です。 これらにより RTCD 内のタグ情報が取得/更新されます。
  3. メッセージ通信関数群
    他の仮想マイコンへのメッセージ送信と受信が可能です。
  4. イベント関数群
    仮想マイコン内のタスク同士でイベントの通知と、受信が可能です。
    No 項目 内容 備考
    1 サービス vmInit 仮想マイコンを初期化
    2 サービス vmNotifyEvent 終了イベントを待機
    3 サービス vmExit 仮想マイコンを終了
    4 仮想I/O空間アクセス vmInByte 仮想IO空間の8ビット読み込み
    5 仮想I/O空間アクセス vmOutByte 仮想IO空間の8ビット書き込み
    6 仮想I/O空間アクセス vmInHword 仮想IO空間の16ビット読み込み
    7 仮想I/O空間アクセス vmOutHword 仮想IO空間の16ビット書き込み
    8 仮想I/O空間アクセス vmInWord 仮想IO空間の32ビット読み込み
    9 仮想I/O空間アクセス vmOutWord 仮想IO空間の32ビット書き込み
    10 メッセージ通信 vmSendMessage EgMailboxにメッセージを送信
    11 メッセージ通信 vmReceiveMessage EgMailboxからメッセージを受信
    12 イベント vmSendEvent イベントを送信
    13 イベント vmReceiveEvent イベントを受信
    14 その他 vmSleep RtSleepExをラップ
    サンプルコードはこちら。
HOME