2023-07-12
私達のABBのロボット・プログラムは3つのモジュール モジュールから主に成っている:
1. Admin
2.機械特定の活動計画(私達はそれを仕事は呼ぶ)
3. RegPosを書きなさい(仕事の特定の位置を実行した後マーカーとして使用される)
プログラムの上記の部分では、私達は主に多くの仕事を含んでいる、各仕事はロボット位置動きを実行する特定のプログラムである2moduleモジュールを変更し。
どのプログラムでもプログラム入口点が、あり従ってロボット・プログラムをしなさい。そして私達のロボット・プログラムへの入口はAdminプログラムにある。主要なAdminプログラムのソース コードは()次の通りである。以下の事項に注意して下さい:私達は主要なPROCを見た()。ABBのロボットのためのプログラム単位はPROCとして短縮されるプロシージャである。このAdminプログラムの主要なプロシージャは新しい機械を作成した後基本的にある:
主要なPROC ()
IGenRobotMovingとfTCPSpeedHighを接続しなさい;
IGenRobotMovingとfTCPSpeedLowを接続しなさい;
ISignalAO virt_TCPSpeed_Robot1、AIO_ABOVE_HIGH、0.02、0、0のfTCPSpeedHigh;
ISignalAO virt_TCPSpeed_Robot1、AIO_BELOW_HIGH、0.015、0、0のfTCPSpeedLow;
そしてOpModeなら() =OP_MAN_PROG
TPErase;
TPReadFK FunkTaste、「手動モードによる選り抜き移動仕事か。」、""、""、""、「いいえ」、「はい」;
それからFunkTaste=5なら
マニュアル;
他に
TPErase;
TPWrite 「手動モードで」動くロボット;
TPWrite 「マスターPLCとのコミュニケーション」;
ENDIF
他に
TypNum:=0;
JobNum:=0;
Funktaste:=0;
ENDIF
初期設定しなさい;
SpeedLimiter;
pStartingPoint:=CRobT (用具:=tool0 WObj:=wobj0);
regStartingAngleX:=EulerZYX (X、pStartingPoint.rot);
regStartingAngleY:=EulerZYX (Y、pStartingPoint.rot);
regStartingAngleZ:=EulerZYX (Z、pStartingPoint.rot);
regStoppedAngleX:=EulerZYX (X、pPointAtStop.rot);
regStoppedAngleY:=EulerZYX (Y、pPointAtStop.rot);
regStoppedAngleZ:=EulerZYX (Z、pPointAtStop.rot);
(pPointAtStop.trans.X>= (pStartingPoint.trans.X+regTransDiff)または
pPointAtStop.trans.X pPointAtStop.trans.Y>= (pStartingPoint.trans.Y+regTransDiff)または<>
pPointAtStop.trans.Y pPointAtStop.trans.Z>= (pStartingPoint.trans.Z+regTransDiff)または<>
pPointAtStop.trans.Z (regStoppedAngleX>=<>
(regStartingAngleX+regRotDiff)または
regStoppedAngleXの<>
regStoppedAngleY>= (regStartingAngleY+regRotDiff)または
regStoppedAngleYの<>
regStoppedAngleZ>= (regStartingAngleZ+regRotDiff)または
それから<>
regStoppedAngleZ pPointAtStop.robconfpStartingPoint.robconf<>
DO13_RobotHasBeenMovedを置きなさい;
ENDIF
di8_HsStartMain=0が間、
SetGO DO32_39_HsStepCode、0;
WaitDI DI10_ReadJobCode、1;
VelSet DI40_47_Override、7500;!速度は最高に置かれる
SetGO DO24_31_HsJobCode、DI24_31_JobCode;
SetDO DO10_HsReadJobCode、1;
WaitDI DI10_ReadJobCode、0;
SetDO DO10_HsReadJobCode、0;
!呼出しJobprogram
CallByVar 「仕事」、DI24_31_JobCode;
ENDWHILE
ENDPROC
このプログラムは少し長く、私はあまりそれをもたらしたいと思わない。私は主に位置を動かすときロボットが第2モジュールの仕事プログラムをいかにの呼ぶかこのセクションが実施であるのでプログラムの最後のセクション述べたいと思う。私はこれがまたロボット・プログラムについて学びたいと思うほとんどを知り、理解してほとんどの人々がほしいものにであることを考える:
初めにdi8_ HsStartMain=0が間、最初の文
』されるノート『DI8_HsStartMain』の平均の握手『開始本管
これは本管はまだ始まっていないことをデジタル入力のBool信号HsStartMainが0のとき、意味することを意味する。私達は間、するためにすべてのコードを完了するために実行する必要がある。ここにかなりの数のコードがあり、私は第2もののような例を、与える
WaitDI DI10_ ReadJobCode、1;注釈の変数「DI10_ReadJobCode」の意味はPLCからの握手信号の握手「読まれた仕事」である。
わかりました、そうそれはいかに丁度ロボットにさまざまな仕事を実行させるか。、その通り心配してはいけない:
!呼出しJobprogramはちょうどコメントである
CallByVar 「仕事」、DI24_ 31の_JobCode;この文は本質である。
私達にあなたの照会を直接送りなさい