LANGUAGE
日本語 English

MOS関数で扱うリソース

文書バージョン 202405-01


概要

本書は、MOS関数で扱う軸(モータ軸)、デジタル/アナログポート、共有変数、PLCデータレジスタの各リソースについて記します。


リソース一覧

ロボットと軸(モータ軸)
デジタル入出力ポート
アナログ入出力ポート
シリアル通信(COM)ポート
TCP/IP通信ポート
共有変数
PLCデータレジスタ


ロボットと軸(モータ軸)リソース

弊社モーションコントロールシステム(MOTIWARE)は単軸または複数軸で構成されるロボットを単位としてモーション制御を行います。
PCベースコントローラではロボットは1~40まで、InterMotionではロボットは1~24まで定義でき、1つのロボットは1~8軸で構成することができます。
ロボットと軸の構成の定義は、コンフィギュレーションファイル(MotiwareConfig.iniまたはMotiwareConfigAmx.iniファイル)のRobot Config セクションにあるAxisパラメータによって行います。

MOS関数ではコンフィギュレーションファイルに基づいて、PCベースコントローラでは1~40のロボット番号、InterMotionでは1~24のロボット番号、1~8の論理軸で軸資源を扱います。

ロボット番号
MOS関数の引数で多用されるロボット番号(=ロボットインデックス)は、コンフィギュレーションファイルのRobot Config セクションで定義されたロボット番号と一致します。
例えば、コンフィギュレーションファイルで[Robot Config 1]と定義されたロボットは、ロボット番号=ロボットインデックス=1です。

ロボット番号
PCベースコントローラ InterMotion
1~401~24

InterMotionは、機種により最大ロボット番号が24より小さくなる機種があります。

論理軸
各ロボットの論理軸は、Axisパラメータの「Axis=」に続くの8つの数字の並び順で、左から順に論理軸1、論理軸2、…、論理軸8のように並んでいます。
MOS関数の引数で多用されるポジション配列の要素[0]~[7]は、この論理軸1~8に対応します。すなわち、ポジション配列の要素[0]には論理軸1の位置情報を、要素[1]には論理軸2の位置情報を、…というように格納していきます。

論理軸番号 対応するポジション配列の要素
1[0]
2[1]
3[2]
4[3]
5[4]
6[5]
7[6]
8[7]

Axisパラメータは、論理軸ごとに1~40および101~132の物理軸番号をアサインして、論理軸と物理軸を結合させます。
物理軸とは軸資源を有するハードウエアに接続されている物理的なデバイス(モータ)のことで、物理軸番号はデバイスを識別して管理するための番号です。
どの物理軸がどのようなデバイスで、どの物理軸番号として識別されるかは、ハードウエアによって異なります。

例)コンフィギュレーションファイルで「Axis=9 10 0 0 0 0 0 0」と定義されたロボットは、論理軸1に物理軸9が、論理軸2に物理軸10がアサインされていることを示します。
このロボットをMOS関数で扱う場合、ポジション配列の要素[0]に論理軸1を介して物理軸9の位置情報を、要素[1]に論理軸2を介して物理軸10の位置情報を格納します。0がアサインされた論理軸、この例では要素[2]~[7]は考慮されません。

この記述は、「ロボット1は2軸構成で、論理軸1には物理軸9を、論理軸2には物理軸10をアサインする」という意味です。
この場合、
・ポジション配列の要素[0]が、物理軸9のデバイスの位置情報を、
・ポジション配列の要素[1]が、物理軸10のデバイスの位置情報を、
格納、保持することになります。

戻る


デジタル入出力ポートリソース

MOS関数では、2049~6144のポート番号が与えられたデジタル入出力ポートを扱うことができます。

デジタル入出力ポート
名称 点数 ポート番号 説明
ロボットI/O10242049~3072物理的な入出力ポート領域
リモートIN10243073~4096リモートIO機器の入力ポート領域
リモートOUT10244097~5120リモートIO機器の出力ポート領域
バーチャルI/O10245121~6144仮想的な入出力ポート領域

ロボットI/O(ポート番号2049~3072)は次のようにバンクに細分化されています。

デジタル入出力ポート
名称 バンク 点数 ポート番号 説明
ロボットI/OロボットIN1642049~2112物理的なデジタル入力ポート、ポート連動モーション対応
ロボットOUT642113~2176物理的なデジタル出力ポート、ポート連動モーション対応
ロボットIN2642177~2240物理的なデジタル入力ポート
ロボットOUT642241~2304物理的なデジタル出力ポート
ロボットIN3642305~2368物理的なデジタル入力ポート
ロボットOUT642369~2432物理的なデジタル出力ポート
ロボットIN4642433~2496物理的なデジタル入力ポート
ロボットOUT642497~2560物理的なデジタル出力ポート
ロボットIN5642561~2624物理的なデジタル入力ポート
ロボットOUT642625~2688物理的なデジタル出力ポート
ロボットIN6642689~2752物理的なデジタル入力ポート
ロボットOUT642753~2816物理的なデジタル出力ポート
ロボットIN7642817~2880物理的なデジタル入力ポート
ロボットOUT642881~2944物理的なデジタル入力ポート
ロボットIN8642945~3008物理的なデジタル入力ポート
ロボットOUT643009~3072物理的なデジタル出力ポート

デジタル入出力ポートの実装は、ハードウエアによって異なります。操作が可能なポート番号は、各ハードウエアの取扱説明書に明記されています。
MOSBenchIDEのI/Oモニタにおいて、各ハードウエアで操作が可能なポート番号の入出力状態をモニタしたり、値を更新することができます。

※注意
MotiwareManagerのDI/DOモニタのポート番号の割付は、MOS関数のポートリソースに対するポート番号の割付とは異なりますので注意してください。

戻る


アナログ入出力ポートリソース

MOS関数では、1~32のチャネル番号が与えられたアナログ入力ポートと、1~16のチャネル番号が与えられたアナログ出力ポートを扱うことができます。

アナログ入出力ポート
名称 チャネル数 チャネル番号 説明
アナログIN321~32アナログ入力ポート
アナログOUT161~16アナログ出力ポート

アナログ入出力ポートの実装は、ハードウエアによって異なります。操作が可能なチャネル番号は、各ハードウエアの取扱説明書に明記されています。
MOSBenchIDEのアナログ入力モニタ、アナログ出力モニタにおいて、各ハードウエアで操作が可能なチャネル番号の入出力状態をモニタしたり、値を更新することができます。

戻る


シリアル通信(COM)ポートリソース

MOS関数では、101~116のポート番号が与えられたシリアル通信(COM)ポートを扱うことができます。

シリアル通信ポート
名称 チャネル数 チャネル番号 説明
シリアル通信ポート16101~116RS-232Cシリアル通信ポート

COMポートの実装は、ハードウエアによって異なります。操作が可能なポート番号は、各ハードウエアの取扱説明書に明記されています。

戻る


TCP/IP通信チャネルリソース

MOS関数では、1~8のチャネル番号が与えられたTCP/IP通信チャネルを扱うことができます。

TCP/IP通信チャネル
名称 チャネル数 チャネル番号 説明
TCP/IP通信チャネル81~8TCP/IP通信チャネル

TCP/IP通信チャネルの実装は、ハードウエアによって異なります。
InterMotionでは、実装されているETポートがTCP/IP通信チャネルの対象ハードウエアとなります。
PCベースコントローラでは、リアルタイム拡張※したPCのLANポートが対象ハードウエアとなります。
※RTX64 RT-TCP/IPをアクティブ化し、RTXドライバをあてたネットワークデバイスを適切にセットアップすることにより、リアルタイム拡張されます。

戻る


共有変数

MOS関数では、0~65535のインデックス番号が与えられた共有変数を扱うことができます。共有変数のデータ型は、WriteSharedVariable関数やWriteSharedVarArray関数でライトする際に指定するデータ型に依存します。これをvariantと表現します。
インデックスごとに異なるデータ型であっても構いません。同じインデックスの共有変数に対して異なる型のデータで更新しても構いません。この場合、最後に更新したデータ型となります。

共有変数
名称 変数の数 インデックス番号 説明
共有変数インデックス655360~65535複数のプロセスの共有リソースとして
使用可能なvariant型変数

共有変数は、MwControllerで実行されている複数のプロセスの共有リソースで、short型、long(int)型、float型、double型を扱うことができます。また、インデックス番号が58000~58999の範囲の共有変数は、文字列(Null終端のchar型配列)を扱うことができます。文字列の最大文字数は、Null終端を含まず256バイトです。


MOSBenchIDEの共有変数モニタで、インデックスごとの値をモニタしたり、値を更新することができます。

戻る


PLCデータレジスタ

MOS関数では、0~16,777,215のレジスタ番号が与えられたPLCデータレジスタを扱うことができます。
弊社モーションコントローラの一部機種は、MCPプロトコル通信を使用して、回線上にあるPLC内部のデータレジスタをアクセスすることが可能です。アクセスサイズはshort型に限られます。

PLCデータレジスタ
名称 レジスタの数 レジスタ番号 説明
PLCデータレジスタ2^24(=16,777,216)0~2^24-1(=16,777,215)PLCデータレジスタを指定する

実際に使用できるレジスタの数およびレジスタ番号は、通信相手となるPLCが保有しているデータレジスタ資源の範囲内です。

戻る