Val3语言介绍
? ? Val3語(yǔ)言是一門(mén)專(zhuān)門(mén)針對(duì)特定工業(yè)機(jī)器人的一門(mén)語(yǔ)言。在墻內(nèi)有關(guān)這方面的介紹非常的少。在墻外維基百科上有一篇詳細(xì)介紹的,有空FQ摘抄在這里。
? ? Val3是使用XML格式??梢允褂肵ML編輯器來(lái)進(jìn)行編寫(xiě)VAL3的程序,可直接在模擬器上或者示教盒上編程,一般推薦使用staubli的SRS的val3 studio編輯器。如果要保存,需要加密狗,進(jìn)行語(yǔ)法檢查則不需要。如進(jìn)行功能性調(diào)試,比較麻煩,需要在模擬器中把原有任務(wù)關(guān)掉,然后加載與運(yùn)行。(有時(shí)需要不斷的F6,stop,close,new,OK,run.......本來(lái)一鍵可以搞定的操作,需要繁瑣的七八下,這個(gè)編譯器提升的空間非常非常的大)
? ?Val語(yǔ)言有以下幾個(gè)特點(diǎn):
1.語(yǔ)法對(duì)稱(chēng)。函數(shù)以 begin開(kāi)始,而且必須在第一行,以end結(jié)束; for<——>endfor;?while<——>endwhile;?switch<——>endswitch;?for<——>endfor;?if<——>endif;
? ?2.局部變量(函數(shù)中的變量,以l_作為前綴)必須編程時(shí)分配好內(nèi)存,不能運(yùn)行時(shí)進(jìn)行動(dòng)態(tài)分配。
? ?3.循環(huán)語(yǔ)句中沒(méi)有 continue 這個(gè)跳出本次循環(huán),繼續(xù)循環(huán)的功能
? ?4.自定義函數(shù)沒(méi)有返回值,必須通過(guò)傳引用來(lái)代替返回值。?
? ?5.一切以?xún)?nèi)存中為主。內(nèi)存加載與程序運(yùn)行是兩回事,程序運(yùn)行完以后,全局變量需要手動(dòng)初始化,否則值不變。
? ?6.應(yīng)用默認(rèn)運(yùn)行程序是同名文件夾中的同名.pjx。相當(dāng)于Main()函數(shù)。
? ?7.對(duì)于參數(shù),數(shù)組一般都是引用,而沒(méi)有傳值這一說(shuō)。
? ?8.由于是面向?qū)崟r(shí)操作系統(tǒng),許多指令具有系統(tǒng)周期性,如delay(0),跳出本次周期...getkey()
? ?9.特定類(lèi)型相當(dāng)于類(lèi)的聲明,需要進(jìn)行實(shí)例化
? ?10.其他
? Val3一個(gè)應(yīng)用程序的組成。
? Val3可以調(diào)用的函數(shù)一共有四種。第一基本函數(shù),有返回值。第二是 Addon函數(shù),有返回值,前面有$。第三是庫(kù)的公共函數(shù),使用call 庫(kù)的別名:函數(shù)名(參數(shù))。第四是應(yīng)用程序中的其他函數(shù)。 call 應(yīng)用程序名(參數(shù))
? ?會(huì)分下面幾個(gè)方面來(lái)討論Val3編程技巧
? ?1.界面編程
? ?2.文件操作編程
? ?3.通訊編程(其實(shí)質(zhì)是IO編程)
? ?4. 運(yùn)動(dòng)編程
? ?5.空間變換編程
? ?6.綜合
總結(jié)
- 上一篇: 西门子博图编程:使用S7-1500冗余P
- 下一篇: Fiddler 学习笔记---命令、断点