long RobGetTravelLimitSensorStatus ( int idx );
指定ロボットのオーバトラベルセンサの状態をビットイメージで返却します。(ONなら1を、OFFなら0を返します。)
LSB側から順に1軸目FOT、1軸目ROT、2軸目FOT、2軸目ROT…という並びです。
idx:ロボットを指定するインデックス。
指定ロボットの、論理的なオーバトラベルセンサ(FOTセンサおよびROTセンサ)の状態を取得します。
オーバトラベルセンサには、Forward側に設置されたFOTセンサと、Reverse側に設置されたROTセンサがあります。
返却値のオーバトラベルセンサの状態は、物理的なスイッチのON/OFFではなく、コンフィギュレーションファイルのTravelLimitSensorLogicLおよびTravelLimitSensorLogicUパラメータで指定された、センサ論理を考慮した論理的なON/OFF状態となります。
返却値のデータ形式は次に示すようなビットイメージです。ビットの値が1なら該当軸のオーバトラベルセンサはON状態、0ならOFF状態を示します。
LSB(ビット0)…論理軸の1軸目のFOTセンサ状態
ビット1…論理軸の1軸目のROTセンサ状態
ビット2…論理軸の2軸目のFOTセンサ状態
ビット3…論理軸の2軸目のROTセンサ状態
・・・
ビット14…論理軸の8軸目のFOTセンサ状態
ビット15…論理軸の8軸目のROTセンサ状態
ビット16以降のビットは意味がありません。
論理軸はコンフィギュレーションファイルのAxisパラメータの「Axis=」に続くの8つの数字の並び順で定義されます。左から順に論理1軸目、同2軸目、…、同8軸目です。
ロボットと軸(モータ軸)リソースにも説明がありますので参照してください。
〇PCベースコントローラ
〇InterMotion
void main() {
long OTSS, FOTSS, ROTSS;
int idx;
・・・・
idx = 2;
OTSS = RobGetTravelLimitSensorStatus(idx);
FOTSS = OTSS & 0x1;
ROTSS = (OTSS >> 1) & 0x1;
Printf2("Robot%dの1軸目のFOTセンサの値は%dです\n",idx, FOTSS);
Printf2("Robot%dの1軸目のROTセンサの値は%dです\n",idx, ROTSS);
・・・・
}