freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

進(jìn)階培訓(xùn)資料final(編輯修改稿)

2025-04-29 00:19 本頁面
 

【文章內(nèi)容簡介】 ndFunction LogMsg(msg$ As String)SyncLock 1AOpen As 30Print 30, msg$Close 30SyncUnlock 1Fend為了避免當(dāng)某個(gè)任務(wù)長期占用了所需資源,而造成其他任務(wù)一直在等待該信號(hào)的情況,可以使用TimeOut參數(shù),當(dāng)?shù)却Y源超過設(shè)定時(shí)間時(shí),可以進(jìn)入TimeOut處理.參考程序:Function MySyncLock(syncID As Integer)DoSyncLock syncID, .5If Tw = 0 ThenExit FunctionEndIfIf Sw(1) = On ThenOff 1EndIfLoopFend任務(wù)同步 兩個(gè)任務(wù)之間需要相互協(xié)助和同步時(shí),一般可以通過內(nèi)存IO判斷. MemOn | MemOff 與Wait MemSw( )等.系統(tǒng)也提供了專用指令Signal和WaitSig Signal信號(hào)編號(hào) 指定一個(gè)信號(hào)編號(hào)(0127).必須對(duì)應(yīng)的WaitSig運(yùn)行時(shí)才有效. WaitSig 信號(hào)編號(hào) 等待由另一個(gè)任務(wù)給定指定的信號(hào)編號(hào)Function MainXqt 2, SubTaskCall InitSysSignal 1FendFunction SubTaskWaitSig 1Fend注意: Signal只在WaitSig狀態(tài)時(shí)有效.9 后臺(tái)任務(wù)(RC 7支持) RC (Backgroud Task)功能. 當(dāng)作控制器中啟用了BGmain功能,并在程序中編寫了BGMain函數(shù)后,在控制器啟動(dòng)時(shí),會(huì)自動(dòng)運(yùn)行BGMain函數(shù),. 在編程模式中BGMain不會(huì)自動(dòng)運(yùn)行,但在控制器從編程模式切換到自動(dòng)模式,BGMain會(huì)自動(dòng)啟動(dòng). 利用后臺(tái)任務(wù)的特性,.Function bgmain... If Sw(StartMainSwitch) = On And Sw(ErrSwitch) = Off ThenStartMain main’用StartMain指令啟動(dòng)Main函數(shù)EndIf ...Fend同樣可以根據(jù)IO或者其他條件,啟動(dòng)不同的Main函數(shù)(RC ,Main1Main63)練習(xí)操作(1) XQT指令和Call指令有什么區(qū)別?分別用于什么場合?(2) 編寫一個(gè)設(shè)置速度的函數(shù),可以通過幾種不同的參數(shù),來設(shè)置速度.(3) 編寫一個(gè)圓的幾何計(jì)算函數(shù),輸入某個(gè)直徑數(shù)值R和計(jì)算類型Type,根據(jù)Type的設(shè)置計(jì)算返回圓的面積或周長。(4) 編寫程序,由Main函數(shù)Xqt幾個(gè)無限循環(huán)的線程,通過Main函數(shù)根據(jù)不同的輸入條件控制其他線程的啟動(dòng)/停止/暫停/繼續(xù)和掛起。例如按下Sw(0)則啟動(dòng)Task1;Sw(1)則暫停Task1。Sw(2)則讓暫停的Task1繼續(xù)運(yùn)行。 五 程序結(jié)構(gòu)1 判斷語句通過If語句進(jìn)行條件的判斷與處理If…Then…Else…EndIf(1) If 條件式 Then語句 T1..[ElseIf 條件式 Then]語句 T1..[Else]語句 F1..EndIf(2) If 條件式Then 語句T1 [。語句T2...] [Else 語句F1 [。語句F2...]]參考程序:If Sw(0) = 1 Then Print Input0 ON Else Print Input0 OFF39。If Sw(1) = 1 ThenIf Sw(2) = 1 ThenPrint Input1 On and Input2 ONElsePrint Input1 On and Input2 OFFEndIfElseIf Sw(2) = 1 ThenPrint Input1 Off and Input2 ONElsePrint Input1 Off and Input2 OFFEndIfEndIf其他格式的示例If x = 10 And y = 3 Then GoTo 50If test = 10 Then Print Test FailedIf Sw(0) = 1 Or Sw(1) = 1 Then Print Everything OK2 分支選擇 使用Select語句,根據(jù)條件跳轉(zhuǎn)到不同的分支語句中.Select 表達(dá)式Case 項(xiàng)目語句[ Case 項(xiàng)目語句 ][Default語句]Send示例:Function MainInteger IFor I = 0 To 10Select ICase 0Off 1。On 2。Jump P1Case 3On 1。Off 2Jump P2。Move P3。On 3Case 7On 4DefaultOn 7SendNextFend3 循環(huán)For…next循環(huán)按指定的次數(shù),重復(fù)執(zhí)行For...Next 間的一連串語句For 變量名 = 初始值 To 結(jié)束值終了値 [Step 增值]執(zhí)行語句Next [變量名]示例程序:Function fornextInteger ctrFor ctr = 1 to 10Go PctrNext ctrFor ctr = 10 to 1 Step 1Go PctrNext ctrFendDo…Loop循環(huán):條件不成立時(shí)在 DO...LOOP 間反復(fù),直到設(shè)定條件成立。Do [ { While | Until } 條件式 ][語句][Exit Do][語句]Loop或使用以下格式。Do[語句][ Exit Do ][語句]Loop [ { While | Until }條件式]示例程序:Do until sw(0) = on Go p0 Go p1Loop等同與:Do If sw(0) = on then exit do Go p0 Go p1Loop4 跳轉(zhuǎn)GoTo 命令:將程序控制轉(zhuǎn)移至指定的行或標(biāo)簽。注意: 在 1 個(gè)程序中,如果過多使用GoTo 命令,程序就會(huì)變得難懂,請(qǐng)注意。通常盡量不要使用GoTo命令。需要使用Goto命令時(shí),注意僅在同一個(gè)子函數(shù)中Goto。示例程序:Function mainIf Sw(1) = Off ThenGoTo mainAbortEndIfPrint Input 1 was On, continuing cycle..Exit FunctionmainAbort:Print Input 1 was OFF, cycle aborted!Fend5 錯(cuò)誤處理 當(dāng)系統(tǒng)發(fā)生錯(cuò)誤報(bào)警(如運(yùn)算錯(cuò)誤,Robot運(yùn)動(dòng)超出范圍,按下急停按鈕等)的時(shí)候,再人工的重新運(yùn)行任務(wù). 當(dāng)某些特定錯(cuò)誤是我們不希望系統(tǒng)程序停止下來,可以直接在程序運(yùn)行過程中進(jìn)行處理的時(shí)候,可以使用錯(cuò)誤處理機(jī)制,來捕捉錯(cuò)誤發(fā)生并根據(jù)需要處理.OnErr指令:發(fā)生錯(cuò)誤時(shí),在錯(cuò)誤處理子程序上設(shè)定使控制分支的中斷。OnErr GoTo {標(biāo)簽 | 行編號(hào) | 0}通過 OnErr 用戶可以進(jìn)行錯(cuò)誤處理。如果沒有使用OnErr,發(fā)生錯(cuò)誤時(shí)任務(wù)被中止,顯示錯(cuò)誤。但是,如果使用OnErr,為做到自動(dòng)地從錯(cuò)誤中恢復(fù),可以將控制移至錯(cuò)誤處理子程序?;謴?fù)錯(cuò)誤后,控制移至用OnErr 命令指定的行編號(hào)。這樣,即使發(fā)生錯(cuò)誤,也不會(huì)中斷任務(wù)的執(zhí)行,且可以自動(dòng)進(jìn)行錯(cuò)誤處理。Function task17_ErrorHandler 39。錯(cuò)誤捕捉和處理 Call InitRobot OnErr GoTo ErrorHandler 39。設(shè)置捕捉處理:檢測到錯(cuò)誤時(shí)跳轉(zhuǎn)到錯(cuò)誤處理程序段ErrorHandler Integer errTask, iTaskStart: Wait 1 Print 錯(cuò)誤處理程序開始: Do If Sw(0) = On Then Print 1 / i 39。運(yùn)算錯(cuò)誤:除數(shù)為0 EndIf If Sw(1) Then Go XY(1000, 1000, 1000, 0) 39。運(yùn)動(dòng)錯(cuò)誤,超出范圍 If Sw(2) = On Then Error 8000 39。觸發(fā)用戶自定義錯(cuò)誤 39。... Loop Exit Function 39。類似于Fend。必需。 ErrorHandler: Print The Error code is , Err Print The Error Message is , ErrMsg$(Err) errTask = Ert If errTask 0 Then Print 發(fā)生錯(cuò)誤的任務(wù)為:, TaskInfo$(errTask, 1) Print 發(fā)生錯(cuò)誤時(shí)運(yùn)行的代碼行:, Erl(errTask)39。 If Era(errTask) 0 Then39。 Print Joint which caused error is , Era(errTask)39。 EndIf EndIf39。根據(jù)錯(cuò)誤代碼進(jìn)行處理 If Err = 2242 Then Print EResume 39。返回發(fā)生錯(cuò)誤的地方 EndIf If Err = 4007 Then Print . EResume TaskStart EndIf If Err = 8000 Then Print 發(fā)生用戶自定義錯(cuò)誤. EResume TaskStart EndIfFend 六 運(yùn)動(dòng)指令1 PTP運(yùn)動(dòng)Go指令Go: 用 PTP 動(dòng)作使手臂從當(dāng)前位置移動(dòng)至指定位置動(dòng)作的軌跡是各關(guān)節(jié)分別同時(shí)對(duì)從當(dāng)前的點(diǎn)到目標(biāo)坐標(biāo)進(jìn)行動(dòng)作,所以難以提前預(yù)測軌跡。請(qǐng)?zhí)貏e注意與周邊裝置的干涉。示例程序:Go here +X(50) 39。移動(dòng)到當(dāng)前位置X方向加50mm的位置Go P1 39。.Go P1 :U(30) 39。移動(dòng)到P1點(diǎn)U軸數(shù)值=30的位置Go P1 /L 39。以左手姿勢移動(dòng)到P1點(diǎn)Go XY(50, 450, 0, 30) 39。移動(dòng)到 X=50, Y=450, Z=0, U=30的位置也可以在目標(biāo)點(diǎn)編號(hào)中使用變量Integer ii = 0Go P(i) 有時(shí)候需要連續(xù)走多個(gè)點(diǎn)位置時(shí),也可以使用以下方式:Go P1,P2,P3,P4,P5Jump:功能:通過“門形動(dòng)作”使手臂手臂從當(dāng)前位置移動(dòng)至目標(biāo)坐標(biāo)。格式:Jump 目標(biāo)坐標(biāo)示例:1. Jump P1 180。機(jī)械手以“門形動(dòng)作”動(dòng)作到P1點(diǎn)2. Jump P1 LimZ 10 180。以限定第三軸目標(biāo)坐標(biāo)Z=10的門形動(dòng)作移動(dòng)到P1點(diǎn),如圖1示3. Jump P1:Z(10)LimZ 10 180。以限定第三軸目標(biāo)坐標(biāo)Z=10的門形動(dòng)作移動(dòng)到P1點(diǎn)位置Z坐標(biāo)值為10的位置NOTE:Go與Jump的區(qū)別Jump與Go都是使機(jī)械手手臂用PTP動(dòng)作移動(dòng)的命令。但是Jump有Go沒有的一個(gè)功能。Jump將機(jī)械手的手部先抬起至LimZ 值,然后使手臂水平移動(dòng),快要到目標(biāo)坐標(biāo)上空的時(shí)候使其下降移動(dòng)。此動(dòng)作的標(biāo)準(zhǔn)是可以更準(zhǔn)確地避開障礙物這一點(diǎn),更重要的是通過吸附、配置動(dòng)作,提高作業(yè)的周期時(shí)間。Jump 指令的修飾: 拱形動(dòng)作在Jump指令后通過指定門形參數(shù)Cn(n=0~7),可以改變拱形的形狀Pass:是在目標(biāo)點(diǎn)的附近經(jīng)過,不停留目標(biāo)點(diǎn)而直接執(zhí)行下一個(gè)動(dòng)作指令的 PTP 動(dòng)作。 使用Pass指令經(jīng)過移動(dòng)過渡點(diǎn),會(huì)比使用Go指令更縮短時(shí)間,使過度動(dòng)作流暢Pass P0PTP可行性判斷有時(shí)候PTP動(dòng)作的目標(biāo)點(diǎn)不是明確示教下來,但是不確定這個(gè)點(diǎn)的位置是否在機(jī)器人的運(yùn)動(dòng)范圍以內(nèi).這種情況下可以通過PTP判斷的命令,檢查目標(biāo)點(diǎn)是否可以達(dá)到.TargetOK: 返回是否可以進(jìn)行從當(dāng)前位置到目標(biāo)位置的 PTP(point to point) 動(dòng)作.支持以下方式:If TargetOK(P1) ThenGo P1EndIfPTPTime: 不進(jìn)行PTP 動(dòng)作,只返回 PTP 動(dòng)作命令的推定所需時(shí)間。(1) PTPTime(目標(biāo)坐標(biāo), 目標(biāo)手臂, 目標(biāo)工具)(2) PTPTime(開始坐標(biāo), 開始手臂, 開始工具, 目標(biāo)坐標(biāo), 目標(biāo)手臂, 目標(biāo)工具)例如:Real secssecs = PTPTime(P1, 0, 0, P2, 0, 1)Print Time to go from P1 to P2 is:, secsGo P1secs = PTPTime(P2, 0, 1)Print Time to go from P1 to P2 is:, secs示例程序:判斷和選擇最快速度達(dá)到目標(biāo)點(diǎn)的左右手姿勢.Function MinMotionTime If TargetOK(P0)=True then If PTPTime(P2 /L, 0, 0) PTPTime(P2 /R, 0, 0) then Go P2 /L Else Go P2 /R Endif EndifFend2 CP運(yùn)動(dòng)(連續(xù)軌跡運(yùn)動(dòng))直線插補(bǔ)Move用直線插補(bǔ)動(dòng)作將手臂從當(dāng)前位置移動(dòng)至指定位置。Move 目標(biāo)坐標(biāo) [ROT]ROT參數(shù): 當(dāng)作移動(dòng)距離內(nèi),工具姿勢變化速度太大時(shí)或
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1