※この記事は2009年8月14日に書かれたものです。
昨日の続きで、
移動命令の途中でOUTポートON、別の移動命令の途中でOUTポートOFFしたい。
緑の●でポートONして、緑の■でポートOFFする。
Windowsで手軽にリアルタイムIO制御環境「MOS Bench(モスベンチ)」のリアルタイム制御言語(MOS言語)では、以下のように書く。さわりの部分。座標の代入は、省略している。
WritePort(5122,0); //ポートOFF
RobSetMoveProgressDo(1,1,10,5122,1); //移動の10%でポートON
// 移動進捗度でポートON/OFFする命令
RobLinearMove(1,pos2,3); // 1の部分の直線補間
RobArcMove(1,pos3,pos4,3); // 2の部分の円弧補間
RobLinearMove(1,pos5,3); // 3の部分の直線補間
RobArcMove(1,pos6,pos7,3); // 4の部分の円弧補間
RobLinearMove(1,pos8,3); // 5の部分の直線補間
RobArcMove(1,pos9,pos10,3); // 6の部分の円弧補間
RobLinearMove(1,pos11,3); // 7の部分の直線補間
RobResetMoveProgressDo(1,1);
// 移動進捗度でポートON/OFFする命令をリセット
RobSetMoveProgressDo(1,2,90,5122,0);//移動の90%でポートOFF
// 移動進捗度でポートON/OFFする命令
RobArcMove(1,pos12,pos1,3); // 8の部分の円弧補間
RobResetMoveProgressDo(1,2);
// 移動進捗度でポートON/OFFする命令をリセット
5122番のポートを使用している。これは、フラグとして使える仮想ポートである。実際には物理的に存在しているポート番号を使う必要がある。
これは、新卒社員が書いたコードです。