




已阅读5页,还剩73页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
. . 富士康工業機器人富士康工業機器人 FOXBOT 編程手冊編程手冊 ( Ver. 2007.1 ) . . . . 簡 介 FOXBOT 的編程手冊由 FOXBOT 指令手冊和 Cypress Enable 編輯器語言參考手冊組成。 FOXBOT 指令手冊主要用于機器人的運動控制指令;Cypress Enable 主要用于程序的變量命 名流程控制子程序等。程序編輯界面是 Cypress Enable 編輯器程序中的語句語法要求 應符合 Cypress Enable 的要求。 . . FOXBOT 指令手冊指令手冊 . . 目 錄 ACCEL.1 CURPOS .1 DECEL.1 DEFIO.1 DEFPOS.2 DELAY .2 DEFJNT.2 DIST.2 DRIVE.3 DRIVEA.3 FIG.3 GOHOME .3 HOME.4 IN.4 J2P.5 MOVE.5 OUT.6 POSRX.7 POSRY.7 POSRZ.7 POSX.7 POSY.8 POSZ.8 RESETIO.8 ROBOTSTOP.8 ROTATE.9 SETIO.9 SPEED.10 WAIT.10 附錄.10 . . ACCEL 功能:指定內部加速度比例 格式:ACCEL 範例:ACCEL 50 CURPOS 功能:取得目前的位置 (type P 格式) 格式:Position type 變數 = CURPOS 說明: 範例: DEFPOS lp1 lp1=CURPOS MSGBOX POSX(lp1) XY,XZ,YZ 旋轉平面與 XYH,XZH,YZH 平行,向量是相對工具坐標系, 旋轉平面與 XY,YZ,YZ 平行向量是相對工件坐標系 半徑應是向量在指定平面的投影距離。 注意機器人 6 軸端面與指定旋轉平行才能畫圓。 范例 Assign J(0) position J(0).J1 = 0 J(0).J2 = 0 J(0).J3 = 90 J(0).J4 = 0 J(0).J5 = 30 J(0).J6 = 0 Move to J(0) MOVE P, J(0), S=50 Assign J(0).J2 a new position J(0).J2 = 60 Move to new J(0) MOVE P, J(0), S=50 Rotate 360 degree on XY plan around a vector V(0) described in Tool Coordinate ROTATE XYH,360,V(0),S=100 Assign J(0).J2 a new position J(0).J2 = 0 Move to new J(0) MOVE P, J(0), S=50 End SETIO 功能設置一個 IO 口為 ON。 格式SET IO (IO 變量) 說明設置指定 IO 為 ON 舉例!titile “example_setio” takearm SETIO (40) . . 設置 IO(24)點為 ON SPEED 功能指定內部關節合成速度。 格式SPEED 說明運動速度是內部關節合成最大速度的百分比()范圍:0.1-100 最大速度是指 TCP 點的最大速度 舉例 SPEED 50 機器人有內部速度和外部速度。外部速度是指示教器上設定的速度 內部速度是指用 SPEED 指令設定的值。 實際速度=最大速度*內部速度*外部速度 例如 內部速度=70% 外部速度 30% 實際速度=最大速度*0.7*0.3 舉例 SPEED 50 WAIT 功能程序停止直到條件滿足。 格式WAIT 說明:程序被停止直到條件被滿足。 舉例:WAIT IO(10) = ON 程序等一直到 IO(10)為 ON 注 意 不能在指令后直接添加注釋需要另取一行以單引號()開頭。 程序編寫后不能以只讀(only read)的方式存儲。 . . 附錄附錄 . . 指令說明頁數 ACCEL 指定內部加速度比例 CURPOS 取得目前的位置 (type P 格式) DECEL 指定內部減速度比例 DEFIO 宣告 IO 變數 DEFJNT 宣告 Joint type 變數 DEFPOS 宣告 Position type 變數 DELAY 使程式執行延遲一段指定的時間 DIST 取得兩點間的距離 DRIVE 執行單軸之相對運動 DRIVEA 執行單軸之絕對運動 FIG 取得一 type P 變數之 figure 值 GOHOME 移動至 HOME 指令所指定之位置 (Home 位置) HOME 指定 Home 位置 IN 將 IO 埠狀態資料給一變數 (此資料定義於一 IO 變數 內) J2P 關節變量轉換成位置變量 MOVE 移動至指定的位置 OUT 輸出 IO 狀態資料至 IO 埠 (此 IO 埠定義於一 IO 變數 內) POSRX 取得一 type P 變數之 RX 值 POSRY 取得一 type P 變數之 RY 值 POSRZ 取得一 type P 變數之 RZ 值 POSX 取得一 type P 變數之 X 值 POSY 取得一 type P 變數之 Y 值 POSZ 取得一 type P 變數之 Z 值 RESETIO 使一個 IO 埠設為 OFF ROBOTSTOP 使 robot 停止並 SERVO OFF ROTATE 對某一指定向量作旋轉運動 SETIO 使一個 IO 埠設為 ON SPEED 指定內部速度比例 WAIT 根據某一狀況暫停程式執行 . . Cypress Enable 編輯器編輯器 語言參考手冊語言參考手冊 . . 目 錄 CYPRESS ENABLE 程序編寫規范.0 注釋.0 數字.0 變量和常量名.0 變量類型.1 其他數據類型.2 控制結構.3 子程序和函數.5 BYREF x(2), i End Sub Sub Joe( ByRef j As Integer, ByRef y() As Integer ) print Joe: ; j, y(2) j = 345 for i = 0 to 5 print i: ; i; y(i): ; y(i) next i y(2) = 3 * y(2) End Sub 文件輸入輸出文件輸入輸出 Enable 支持順序文件和二進制文件 I/O。適用于文件訪問的函數和語句有EOF, FileCopy, FileLen, Seek, Open, Close, Input, Line Input, Print 和 Write File I/O Examples Sub Main Open TESTFILE For Input As #1 Open file. Do While Not EOF(1) Loop until end of file. Line Input #1, TextLine Read line into variable. Print TextLine Print to Debug window. Loop Close #1 Close file. End Sub Sub FileIO_Example() Dim Msg Declare variable. Call Make3Files() Create data files. Msg = Several test files have been created on your disk. Msg = Msg line; I Next I Close Close all files. End Sub 數組數組 Cypress Enable 支持一維和多維數組。數組可以使用相同的名稱代表一系列具有相同數 據類型的變量每個變量都有唯一的索引。數組有上下邊界。Enable 為數組中的每個索引數 據分配內存空間。在使用中定義數組不要不必要地過長。 數組中所有的元素都有相同的數據類型。Enable 支持的數組變量類型有bytes, Booleans, longs, integers, singles, double, strings, variants 以及用戶自定義類型。 聲明固定大小數組的方法有 全局數組使用 Dim 語句在過程代碼模塊之外聲明數組 局部數組使用 Dim 語句在過程內聲明數組。 Cypress Enable 支持動態數組。聲明數組時必須給出數組上邊界并且上邊界必須 是整數。 范例 Dim ArrayName(10) As Interger Dim Sum(20) As Double 創建全局數組時只須在過程之外使用 Dim 語句。 Dim Counters(12) As Integer Dim Sums(26) As Double 在過程內聲明數組使用 Static 語句與使用 Dim 語句效果相同。 Static Counters (10) As Integer Static Sums (22) As Double 第一個聲明創建一個具有 11 個元素的數組下標從 0 到 10。若要改變缺省的下邊界 . . 可在模塊聲明區域放置一個 Option Base 語句。 Option Base 1 另一個方法是使用 To 關鍵字顯式指定下邊界(-3276832767 的整數)。 Dim Counters (1 To 13) As Integer Dim Sums (100 To 126) As String 在前一個聲明中數組 Counters 的下標索引從 1 到 13數組 SUM 的下標索引從 100 到 126。 注意注意許多其他的 Basic 版本允許不事先聲明就可以使用數組Enable Basic 不允許這 么做在使用前必須聲明。 循環提供了一種有效的處理數組的方法。例如下例中 For 循環將數組所有元素初始化 為 5 Static Counters (1 To 20) As Integer Dim I As Integer For I = 1 To 20 Counter ( I ) = 5 Next I 多維數組多維數組 Cypress Enable 支持多維數組例如下面范例在過程內聲明了一個二維數組 Static Mat(20, 20) As Double 可以明確聲明數組任意一維或者兩維的下邊界。 Static Mat(1 to 10, 1 to 10) As Double 可以使用 For 循環有效處理多維數組。在下列語句中多維數組的元素被賦值。 Dim L As Integer, J As Integer Static TestArray(1 To 10, 1 to 10) As Double For L = 1 to 10 For J = 1 to 10 TestArray(L,J) = I * 10 + J Next J Next L 數組的維數可以多于兩維。Enable 中數組的上邊界不能任意。 Dim ArrTest(5, 3, 2) 如果沒有在之前的代碼中使用語句 Option Base 1則該聲明創建的三維數組的大小 為(6,4,3)。Option Base 1 語句設置數組的下邊界為 1而不是默認的 0。 腳本語言概述腳本語言概述 函數和語句快速參考函數和語句快速參考 . . 類型類型/函數函數/語句語句 控制流程控制流程 Goto, End, OnError, Stop, Do.Loop, Exit Loop, For.Next, Exit For, If.Then.Else.End If, Stop, While.Wend, Select Case 轉換轉換 Chr, Hex, Oct, Str, CDbl, CInt, Clng, CSng, CStr, CVar, CDate, Asc, Val, Date, Fix, Int, Day, Weekday, Month, Year, Hour, Minute, Second 文件文件 I/O FileCopy, Open, Close, Print #, Kill, FreeFile, LOF, FileLen, Seek, EOF, Write #, Input, Line Input, Name, Put 數學數學 Exp, Log, Sqr, Rnd, Abs, Sgn, Atn, Cos, Sin, Tan, Int, Fix 過程過程 Function, End Function, Sub, End Sub, Exit, Global 字符串字符串 Let, Len, InStr, Left, Mid, Asc, Chr, Right, LCase, Ucase, InStr, LTrim, RTrim, Trim, Option Compare, Len, Space, String, StrComp 變量和常數變量和常數 Dim, IsNull, IsNumeric,VarType, Const, IsDate, IsEmpty, IsNull, Option Explicit, Global, Static 錯誤處理錯誤處理 On Error, Resume 日期日期/時間時間 Date, Now, Time, Timer 數組數組 Option Base, Option Explicit, Static, Dim, Global, Lbound, Ubound, Erase, ReDim 其他其他 SendKeys, Rem 數據類型數據類型 變 量類型說明用 法 String$Dim Str_Var As String Integer%Dim Int_Var As Integer . . Long line; I Next I Close Close all files. End Sub LBound 函數函數 格式:LBound(array ,dimension ) 功能:返回指定數組中特定維數的最小可用下標值。 相關主題:UBound 函數 范例: Option Base 1 Sub Main . . Dim a(10) As Double MsgBox LBound: LWord RWord = Right(UsrInp, Len(UsrInp) - SpcPos) Get right word. Msg = The first word you entered is LWord RWord = Right(UsrInp, Len(UsrInp) - SpcPos) Get right word. Msg = The first word you entered is | , 功能向一個順序文件寫數據。 Print 語句描述: filenumber在打開順序文件時使用在 Open 語句里數字用于標識文件。Filenumber 之前的 符號#的是必需的。 Spc(n)可選函數用于在打印輸出時插入 n 個空格,允許多次使用 . . Tab(n)可選函數用于在打印輸出時定位到第 n 列,允許多次使用 Expressionlist可以寫入文件的數值和/或字符串的表達式 ;|,確定下一個字符輸出位置的字符。分號“”指示緊接最后一個字符輸出下一個字 符逗號指示在下一個輸出區域的起始處輸出下一個字符。每隔 14 列是一個輸出區域。如 果沒有兩個字符都沒有指定則下一個字符在下一行輸出。 如果省略 ExpressionlistPrint #語句在文件里輸出一個空白行逗號不能省略因為 Print #將數據映象寫入到文件中必須分割數據以保証正確輸出。如果用逗號作為分割 符Print #在文件的輸出區域將以空格代替。 Print # 語句 variant 類型數據寫入文件的方式與寫入任何其他數據類型一樣。但也有一 些例外:如果 variant 變量的實際值為空,則 Print #不會向文件中寫入任何數據項如果 variant 變量的實際值為 Null,則 Print #將向文件中寫入#NULL#如果 variant 變量的實際值 為日期類型,則 Print #將向中寫入在 WIN.INI 文件中定義的簡短日期格式的日期如果日期 或時間部分丟失或為零則 Print #僅將提供的部分寫入文件。 下面是一個將文件寫入測試文件的范例: 范例: Sub Main Dim I, FNum, FName 聲明變量. For I = 1 To 3 FNum = FreeFile 定義下一個文件號碼. FName = TEST line; I Next I Close 關閉所有文件. End Sub 下面的范例是將數據寫入測試文件并讀取 Sub Main () Dim FileData, Msg, NL 聲明變量. NL = Chr(10) 定義換行. Open TESTFILE For Output As #1 打開寫入文件. Print #2, This is a test of the Print # statement. Print #2, 輸出空格線到文件. Print #2, Zone 1, Zone 2 在兩個輸出區域之間輸出. Print #2, With no space between ; . 兩個字符串一起輸出. Close Open TESTFILE for Input As #2 打開并讀出文件. . . Do While Not EOF(2) Line Input #2, FileData 讀出一行數據. Msg = Msg LWord RWord = Right(UsrInp, Len(UsrInp) - SpcPos) 得到右邊字符. Msg = The first word you entered is & LWord Msg = Msg & . & The second word is Msg = The first word you entered is Msg = Msg & RWord & . Else Msg = You didnt enter two words. End If MsgBox Msg 顯示信息. . . End Sub Rnd函數函數 格式:Rnd (number) 功能生成一個隨機數。 說明參數 number 必須是有效的數值表達式。 范例: 這個范例用 Rnd 函數用 1-6 之間隨機發生的數字來模仿兩個滾動的骰子.每次程序都運行 Sub Main () Dim Dice1, Dice2, Msg 聲明變量. Dice1 = CInt(6 * Rnd() + 1) 產生第一個骰子數值. Dice2 = CInt(6 * Rnd() + 1)產生第二個骰子數值. Msg = You rolled a & Dice1 Msg = Msg & and a & Dice2 Msg = Msg & for a total of Msg = Msg & Str(Dice1 + Dice2) & . MsgBox Msg 顯示信息. End Sub Second 函數函數 格式:Second (number) 功能返回參數 number 表示的時間中的秒數。 說明參數 number 必須是一個有效的數值表達式。 相關主題:Day, Hour, Minute, Now 范例: 格式函數范例 這個范例展示了格式函數在定義命名和用戶定義格式的數值的不同用法 數據用分隔符 (/), 時間用分隔符(:),AM/ PM 字面上、實際上的版本輸出顯示依靠于本地代碼運行設置的系統 如果時間和日期在變化的外部環境中顯示,則在現場代碼中采用短的時間和短的日期格式 如果被運行代碼顯示,采用不同于現場代碼的短時間和短日期格式. 我的時間和我的日期顯示在變化的環境中,用當前短時間和短日期的系統設置 Sub Main MyTime = 08:04:23 PM MyDate = 03/03/95 MyDate = January 27, 1993 MsgBox Now MsgBox MyTime MsgBox Second( MyTime ) & Seconds MsgBox Minute( MyTime ) & Minutes MsgBox Hour( MyTime ) & Hours MsgBox Day( MyDate ) & Days . . MsgBox Month( MyDate ) & Months MsgBox Year( MyDate ) & Years 返回當前系統時間. MsgBox Format(Time, Short Time) MyStr = Format(Time, Long Time) Returns system date in the system-defined long date format. MsgBox Format(Date, Short Date) MsgBox Format(Date, Long Date) 這部分不被支持 MsgBox Format(MyTime, h:n:s) 返回 17:4:23. MsgBox Format(MyTime, hh:nn:ss) 返回 05:04:23. MsgBox Format(MyDate, dddd, mmm d yyyy) 如果格式不被支持,返回一個字符串 MsgBox Format(23) 返回 23. 用戶定義格式. MsgBox Format(5459.4, #,#0.00) 返回 5,459.40. MsgBox Format(334.9, #0.00) 返回 334.90. MsgBox Format(5, 0.00%) 返回 500.00%. MsgBox Format(HELLO, ) 返回 THIS IS IT. End Sub Seek 函數函數 格式:Seek (filenumber) 說明參數 filenumber 是使用在 Open 語句的參數且必須是一個有效的數值表達式。Seek 返 回下一個操作將要發生的以字節數表示的位置。文件中第一個字節是位置 1。 相關主題:Open 范例: Sub Main Open TESTFILE For Input As #1 打開要讀的文件. For i = 1 To 24 Step 3 循環直到文件結束. Seek #1, i 尋找字節位置 MyChar = Input(1, #1) 讀下一個數據特征. Print MyChar輸出數據特征 Next i Close #1 關閉文件. End Sub Seek 語句語句 格式:Seek filenumber, position 說明參數 filenumber 是使用在 Open 語句的參數且必須是一個有效的數值表達式。參數 position 指出下一個讀或寫將要發生的位置。Cypress Enable 位置是相對于文件開頭字節位置。 . . Seek 語句設定文件中下一個讀或寫操作發生的位置。 相關主題:Open 范例: Sub Main Open TESTFILE For Input As #1 Open file for reading. For i = 1 To 24 Step 3 Loop until end of file. Seek #1, i Seek to byte position MyChar = Input(1, #1) Read next character of data. Print MyCharPrint character of data Next i Close #1 Close file. End Sub Select Case 語句語句 根據表達式的測試值執行多個語句組中符合測試條件的語句。 格式 1: Select Case testvar Case var1 語句塊 Case var2 語句塊 Case Else 語句塊 End Select 格式 2: Select Case Number Evaluate Number. Case 1 To 5 包含數字 1-5. The following is the only Case clause that evaluates to True. Case 6, 7, 8 6-8 之間的數字. Case 9 To 10 數字 9 或 10. Case Else 其它數值. End Select 相關主題:If.Then.Else 范例: This test shows nested select statements and if uncommented, the exit for statement Sub Test () For x = 1 to 5 print x Select Case x Case 2 . . Print Outer Case Two Case 3 Print Outer Case Three Exit For Select Case x Case 2 Print Inner Case Two Case 3 Print Inner Case Three Exit For Case Else Must be something else. Print Inner Case Else:, x End Select Print Done with Inner Select Case Case Else Must be something else. Print Outer Case Else:,x End Select Next x Print Done with For Loop End Sub SendKeys 函數函數 格式:SendKeys (Keys, wait) 功能向活動窗口發送一個或多個擊鍵就象直接在鍵盤上輸入一樣。SendKeys 語句有兩 個參數:第一個參數 keys 是發送到活動窗口的字符串第二個參數 wait 是一個可選參數 如果忽略就假定其為 false。如果 wait 為 true則擊鍵必須在控制返回到調用程序之前得到 處理。 范例: Sub Main () Dim I, X, Msg 聲明變量. X = Shell(Calc.exe, 1) 打開系統附件計算器. For I = 1 To 5 建立計算循環. SendKeys I & +, True 發送鍵盤動作到計算器 Next I 添加 I 的每個數值. AppActivate Calculator 從新激活計算器. SendKeys %F4, True Alt+F4 關閉計算器. End Sub Sin 函數函數 格式:Sin (rad) 功能計算并返回弧度 rad 的正弦值。 范例: . . Sub Main () pi = 4 * Atn(1) rad = 90 * (pi/180) x = Sin(rad) print x End Sub Space 函數函數 格式:Space$ (number ) 功能在 print#語句中跳過指定數目的空格。 說明參數 number 表示空格的數量。 范例: This sample shows the space function Sub Main MsgBox Hello & Space(20) & There End Sub Sqr 函數函數 格式:Sqr(num) 功能計算并返回數值 num 的平方根。 說明參數 num 必須是大于或等于零的有效數字。 范例: Sub Form_Click () Dim Msg, Number Declare variables. Msg = Enter a non-negative number. Number = InputBox(Msg) Get user input. If Number 0 Then Msg = Cannot determine the square root of a negative number. Else Msg = The square root of & Number & is Msg = Msg & Sqr(Number) & . End If MsgBox Msg Display results. End Sub . . Static 語句語句 格式:Static variable 功能聲明變量并分配存儲空間。以 Static 語句聲明的變量其值在程序運行過程中始終保留. 相關主題:Dim, Function, Sub 范例: 此例展示了如何用關鍵詞 static 在程序 Joe 中保持變量 I 的值. If Dim is used instead of Static then i is empty when printed on the second call as well as the first. Sub Main For i = 1 to 2 Joe 2 Next i End Sub Sub Joe( j as integer Static i print i i = i + 5 print i End Sub Stop 語句語句 格式:Stop 功能終止程序的執行。 說明Stop 語句可以用在代碼中的任意位置。 范例: . . Sub main () Dim x,y,z For x = 1 to 5 For y = 1 to 5 For z = 1 to 5 Print Looping ,z,y,x Next z Next y Stop Next x End Sub Str 函數函數 格式:Str(numericexpr) 功能將數字表達式 numericexpr 的值轉換為字符串類型。 相關主題:Val 范例: Sub main () Dim msg a = -1 msgBox Num = & Str(a) MsgBox Abs(Num) = & Str(Abs(a) End Sub StrComp 函數函數 格式:StrComp( nstring1,string2, compare ) 功能字符串比較函數。其返回值是 varian
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 偏瘫康复训练课件
- 你好法语第九课描述课件
- 2025-2026学年辽宁省抚顺市六校协作体高三物理第一学期期末复习检测试题
- 长春市辅警管理办法
- 邮寄携带物管理办法
- 资金使用廉政管理办法
- 企业班组长安全培训效果课件
- 企业档案安全教育培训课件
- 甘肃采伐更新管理办法
- 电影审批属地管理办法
- (2025秋新版)部编版八年级上册道德与法治全册教案
- 第七章-大学生爱情心理
- GB/T 990-1991带式输送机托辊基本参数与尺寸
- 计量检定员考试题库计量基础知识
- 毒理学第三章化学毒物在体内的生物转运和生物转化
- 《小学英语教学研究》近年考试真题参考题库(含答案)
- 猪动物福利及其我国对策课件
- 网络与信息安全巡检表
- 《路由与交换技术》课程教学大纲
- 北师大版八年级数学上册教案(全册完整版)教学设计含教学反思
- 国家自然科学基金联合申报协议书
评论
0/150
提交评论