第一篇:教你如何寫參數(shù)化程序
教你如何寫參數(shù)化程序
由于我對(duì)siemens840D比較熟悉,所以以下說(shuō)講的一切都是在siemnes840D系統(tǒng)上測(cè)試過(guò)的,是經(jīng)過(guò)實(shí)踐檢驗(yàn)的編制,可靠性應(yīng)該是很好的。
先讓我來(lái)給大家介紹一下參數(shù)化的幾種形式:
1)用DEF命令,在MPF或者SPF程序中制定變量,以達(dá)到調(diào)用的目的;
2)通過(guò)siemens自帶的1000個(gè)R參數(shù)進(jìn)行參數(shù)的編制;
3)直接調(diào)用siemens系統(tǒng)變量,進(jìn)行參數(shù)化程序編制。
大概也就這幾種常見(jiàn)的形式了。我一個(gè)個(gè)給初學(xué)者進(jìn)行講解:
1)用DEF命令,在MPF或者SPF程序中制定變量,以達(dá)到調(diào)用的目的。
這是一種很靈活的參數(shù)化編制形式。
請(qǐng)看一下例子:
==========
MPF:
DEFINE Z_MAX AS G0 G90 G40 G17 SUPA Z850 D0 SPOS=0
DEF REAL DiaMAX=50,DiaMIN=45.8,CAO_KUAN=5
EXTERN XICAO_1(REAL,REAL,REAL)
$P_UIFR[1]=CTRANS(X,Y,Z,B,);G54 B=?
;$P_UIFR[2]=CTRANS(X,Y,Z,B,);G55 B=??
;$P_UIFR[3]=CTRANS(X,Y,Z,B,);G56 B=???
...N320 CS_TOOL(“",1);XI CAO B#
CS_TP(”“,1)
G56 G90 G17 G40
MIRROR X0
R90=85.3 R91=WIDTH-110.3 R92=31.3
XICAO_1(DiaMAX,DiaMIN,CAO_KUAN);也可以寫成XICAO_1
R90=235.3
XICAO_1
MIRROR
Z_MAX
...SPF:
%_N_XICAO_1_SPF
;$PATH=/_N_SPF_DIR
PROC XICAO_1(REAL DiaMAX,REAL DiaMIN,REAL CAO_KUAN)SAVE
;R90 is X Coordinate
;R91 is Y Coordinate
;R92 is Z Coordinate
;R93 is S Value
;R94 is OutSide F Value
;R95 is InSide F Value
;DEF REAL DiaMAX,DiaMIN,CAO_KUAN
;MUST SET D1,D2,D3
S=R93 M03
G01 X=R90 Y=R91 F=R94
M08
R40=DiaMAX R41=DiaMIN R60=2 R61=1
R0=0 R1=R92 R3=(R92-CAO_KUAN)R5=20 R6=5 R72=50
F=R95
L8000
M05
M09
STOPRE
M17
============
以上是一個(gè)我編制的挖槽程序截取。
在MPF中,在程序最開頭進(jìn)行了三個(gè)參數(shù)點(diǎn)定制:DiaMAX=50,DiaMIN=45.8,CAO_KUAN=5
并用EXTERN命令進(jìn)行SPF程序XICAO_1的聲明,一般情況如果詞程序位于siemnes的標(biāo)準(zhǔn)循環(huán)文件夾里面,或者是MPF相同的目錄下是沒(méi)有必要進(jìn)行EXTERN的,這是一種習(xí)慣,我習(xí)慣把SPF文件放在SUBPROGRAM文件夾里面,便于管理,所以每次在調(diào)用XICAO_1這個(gè)程序的時(shí)候必須進(jìn)行程序的聲明,這很重要,否則,如果你不能調(diào)用SPF文件就不要怪我了,當(dāng)然,也有其他方式進(jìn)行參數(shù)傳遞的SPF調(diào)用的,比如:PCALL等等命令,這里我就不多說(shuō)了。
DEF命令是定義你需要的參數(shù),REAL是說(shuō)明參數(shù)點(diǎn)類型是實(shí)數(shù)型的,如果是整數(shù)型的,就是INT,這個(gè)和VB語(yǔ)言很相似,如果有VB程序語(yǔ)言基礎(chǔ)的朋友應(yīng)該很容易理解,只不過(guò)VB里面是用DIM進(jìn)行變量的定義的罷了。你也可以定義STRING[50]這種字串型,還有布爾型的,我就不多說(shuō)。
在MPF程序的后面將會(huì)引用這三個(gè)參數(shù),并將這三個(gè)參數(shù)傳遞到SPF中去。
請(qǐng)大家注意SPF的編制格式,是:
PROC XICAO_1(REAL DiaMAX,REAL DiaMIN,REAL CAO_KUAN)SAVE
括號(hào)里面的參數(shù)順序直接控制了你傳遞參數(shù)時(shí)填寫的數(shù)字傳遞順序。
比如:XICAO_1(50,48.5,5)就是按照PROC后面的那個(gè)括號(hào)里面的順序進(jìn)行傳遞的。
這也就是siemens的CYCLE標(biāo)準(zhǔn)循環(huán)里面的格式一樣的,如果你使用過(guò)siemens的CYCLE循環(huán),那么在定義參數(shù)的時(shí)候,你的定義順序必須按照說(shuō)明書上的順序來(lái),否則,參數(shù)將會(huì)傳遞錯(cuò)誤的信息,后果自負(fù)?? SAVE可以要,也可以不要,沒(méi)有關(guān)系的。SAVE的作用是在執(zhí)行完SPF以后,回到MPF時(shí),將保留原MPF中的制定格式,怎么理解呢?簡(jiǎn)單的距離就是:當(dāng)你的SPF中時(shí)G91編程的,而MPF中是G90編程的,那么加上SVAE以后,在M17執(zhí)行完后,回到MPF以后,保留G90的形式進(jìn)行下面的工作,否則就是按照SPF中的G91進(jìn)行執(zhí)行,也許就會(huì)出錯(cuò)。
用個(gè)在siemens的CYCLE里面在SAVE后面添加了一個(gè)DISPLOF參數(shù)的,用這個(gè)參數(shù)可以“擬制”SPF中的每一段程序的顯示,當(dāng)然也可以用SBLOF來(lái)單塊擬制。
不過(guò),通常沒(méi)有必要擬制程序的顯示,因?yàn)椴槐阌诔绦虻臋z查,什么叫擬制呢?簡(jiǎn)單的說(shuō)就是在運(yùn)行SPF時(shí),加上DISPLOF后,以下的程序段,一直到M17結(jié)束,在AUTO界面教你嘎時(shí),你無(wú)法看見(jiàn)這些程序段的執(zhí)行過(guò)程。
編制格式為:
PROC XICAO_1(REAL DiaMAX,REAL DiaMIN,REAL CAO_KUAN)SAVE DISPLOF
大概這種形式的參數(shù)化程序就是這樣子的了。當(dāng)然,這方面還有其他的一些編制參數(shù),不過(guò)一般的朋友沒(méi)有必要要,我講的應(yīng)該可以滿足一般的要求了。
值得一提的是MACROS的編制。
格式為:DEFINE...AS........在我的前面程序例子前面已經(jīng)提到了,就是:DEFINE Z_MAX AS G0 G90 G40 G17 SUPA Z850 D0 SPOS=0 在MPF以前定義這個(gè)以后,在整個(gè)MPF中的任何位置都可以調(diào)用這個(gè)“宏”,DEFINE Z_MAX AS G0 G90 G40 G17 SUPA Z850 D0 SPOS=0的作用就是用G0,取消所有坐標(biāo)(采用機(jī)床原點(diǎn)坐標(biāo)),取笑刀具幾何補(bǔ)償,C軸轉(zhuǎn)到O°以后,回到Z=850的位置。
這個(gè)很簡(jiǎn)單,你也可以進(jìn)行“全局MARCO”的編制,有點(diǎn)象VB程序語(yǔ)言中的“定義全局變量”的功效,往UMAC文件中添加就行了。不熟悉的朋友就不用管這個(gè)了。
2)通過(guò)siemens自帶的1000個(gè)R參數(shù)進(jìn)行參數(shù)的編制;
請(qǐng)參考前面的程序例子,值得提示的是,請(qǐng)確定是否你的設(shè)備供應(yīng)商已經(jīng)占用了一些R參數(shù),如果有設(shè)備制造商占用了一些R參數(shù),最好不要使用
這些R參數(shù),選取其他R參數(shù)就可以了。
其實(shí),R參數(shù)的用法和用DEF定義的變量用法是一樣的,重要的區(qū)別是R參數(shù)不用定義,可以直接在程序中任何位置進(jìn)行調(diào)用就可以了。而且不受SPF,MPF的控制,任何程序都可以直接調(diào)用。
不過(guò),最好在使用R參數(shù)的時(shí)候,進(jìn)行一些約定俗成,以便以后不會(huì)因?yàn)槿藛T的變動(dòng)造成參數(shù)含義的錯(cuò)亂,那時(shí)候就非常麻煩了??!
其他關(guān)于R參數(shù)的就沒(méi)有講的。
3)直接調(diào)用siemens系統(tǒng)變量,進(jìn)行參數(shù)化程序編制。
最簡(jiǎn)單的引用就是前面治理中的$P_UIFR[1]=CTRANS(X,Y,Z,B,);G54 B=?
其中$P_UIFR[1]就是系統(tǒng)的變量中的“框架數(shù)據(jù)”,這和在“參數(shù)”里面的“坐標(biāo)設(shè)置”是一樣的功效,只是“坐標(biāo)設(shè)置”中不能設(shè)定B罷了??
這種格式也是可以直接進(jìn)行坐標(biāo)的變換的,比如:
$P_UIFR[1]=CTRANS(X,Y,Z,B,):CROT(Z,180)
具體情況就不多說(shuō)了??
接下來(lái)說(shuō)說(shuō)系統(tǒng)變量中常見(jiàn)的一些變量。
$P_Txxx,這個(gè)變量的作用是激活主軸上的刀具數(shù)據(jù);
$P_TOOL,是激活刀邊補(bǔ)償,D1,D2,D3,D4...;
$P_TOOLL[1],激活整個(gè)刀具的幾何補(bǔ)償,通常是指的刀具的懸長(zhǎng),G17-Z,G18-Y,G19-X;
$P_TOOLL[2],激活整個(gè)刀具的幾何補(bǔ)償,通常是指的刀具的懸長(zhǎng),G17-Y,G18-X,G19-Z;
$P_TOOLL[3],激活整個(gè)刀具的幾何補(bǔ)償,通常是指的刀具的懸長(zhǎng),G17-X,G18-Z,G19-Y;
$P_TOOLNO,激活siemens內(nèi)部的刀號(hào),T1,T2,T3,T32000;
$_P_TOOLR,激活刀具半徑補(bǔ)償;
$P_SEARCH,搜索變量,值為TRUE=1或者0;
以上參數(shù)僅做參考,也許會(huì)因?yàn)樵O(shè)備制造商的不同有所小區(qū)別。
以上這些參數(shù)都是可以在程序編制中直接編制的。
大概參數(shù)化編程就講完,還有很多東西沒(méi)有來(lái)得及講,希望感興趣一起研究之??
==========
至于還有朋友提高的IF...ELSE...ENDIF的條件語(yǔ)句結(jié)構(gòu),這好像不是屬于參數(shù)化編程的一部分吧。嚴(yán)格上來(lái)講應(yīng)該屬于“柔性編程”的一部分更貼近些。
寫個(gè)程序,給感興趣的朋友,一個(gè)簡(jiǎn)單程序。你可以直接做成MPF,進(jìn)行調(diào)用,看看結(jié)果就曉得是怎么回事情了。
條件:某工廠是中午12:00下班,晚上18:30下班。程序功能,在MDA中運(yùn)行,顯示時(shí)間,提示操作者是否到了下班時(shí)間。
=====
%_N_SHOWTIME_MDF
;$PATH=/_N_MPF_DIR
DEF INT SHI,FEN
SHI=$A_HOUR
FEN=$A_MINUTE
IF(SHI=11)AND(FEN>=50)
MSG(”TIME IS : “<<2000+$A_YEAR<<”.“<<$A_MONTH<<”.“<<$A_DAY<<”, “<<$A_HOUR<<”:“<<$A_MINUTE<<”:“<<$A_SECOND<<” ,Good noon!Let us have a rest!“)
M0
M2
ELSE
IF(SHI=18)AND(FEN>=20)
MSG(”TIME IS : “<<2000+$A_YEAR<<”.“<<$A_MONTH<<”.“<<$A_DAY<<”, “<<$A_HOUR<<”:“<<$A_MINUTE<<”:“<<$A_SECOND<<” ,Good evening!Let us go home!“)
M0
M2
ELSE
MSG(”TIME IS : “<<2000+$A_YEAR<<”.“<<$A_MONTH<<”.“<<$A_DAY<<”, “<<$A_HOUR<<”:“<<$A_MINUTE<<”:“<<$A_SECOND<<” , Let us go on!")
M0
M2
ENDIF
ENDIF
=====
這就是簡(jiǎn)單的條件語(yǔ)句的程序,拷貝一下,去試試會(huì)出現(xiàn)什么情況呢?呵呵??
當(dāng)然siemens840D里面不僅僅是這么一點(diǎn)點(diǎn),還有LOOP、WHILE,REPEAT,GOTOF,GOTOB這種條件語(yǔ)句,時(shí)間關(guān)系,不寫下去了,感興趣的朋友,我們可以繼續(xù)討論。
第二篇:教你如何認(rèn)識(shí)手機(jī)參數(shù)的問(wèn)題(模版)
教你讀懂手機(jī)各種參數(shù) 讓你輕松成為手機(jī)達(dá)人
手機(jī)系統(tǒng)買手機(jī)時(shí)根據(jù)自己的預(yù)算確定好選擇區(qū)間之后就可以考慮買什么系統(tǒng)的手機(jī)了,不同系統(tǒng)的手機(jī)體驗(yàn)完全不同。
目前市面上主流的有3大系統(tǒng)——蘋果的IOS、機(jī)型眾多的安卓還有以流暢著稱的微軟的Windows Phone。從大多數(shù)的手機(jī)用戶反饋和手機(jī)組編輯室編輯推薦,IOS體驗(yàn)最優(yōu),具有數(shù)量最多質(zhì)量最優(yōu)的軟件,系統(tǒng)成熟穩(wěn)定,不過(guò)IOS只運(yùn)行在蘋果的設(shè)備上。而且價(jià)格昂貴,機(jī)型單一。安卓系統(tǒng)適配軟件也很多,但總的來(lái)說(shuō)軟件質(zhì)量比不上IOS,系統(tǒng)體驗(yàn)也次之。
安卓對(duì)手機(jī)硬件要求相對(duì)要高一些,手機(jī)硬件配置低的話操作體驗(yàn)可能不會(huì)那么流暢。但安卓系統(tǒng)機(jī)型眾多,價(jià)格和可選空間都很大。Windows Phone系統(tǒng)體驗(yàn)也不錯(cuò),使用非常流暢,獨(dú)特的Metro界面也很吸引人,同等價(jià)格或配置的情況下體驗(yàn)會(huì)優(yōu)于安卓。雖然應(yīng)用速度增長(zhǎng)很快,基本的應(yīng)用差不多都有了,但軟件的數(shù)量和質(zhì)量,以及系統(tǒng)對(duì)硬件的限制。支持Windows Phone的手機(jī)也不少,目前WP7手機(jī)由于無(wú)緣升級(jí)WP8,價(jià)格很優(yōu)惠。除了上面3個(gè)主流的系統(tǒng),剩下的例如黑莓、webOS、Meego等系統(tǒng)也有不錯(cuò)的地方,各有其獨(dú)到的地方,是另外一種體驗(yàn),但都有一個(gè)共同的缺點(diǎn)——應(yīng)用。
CPU和電腦一樣,手機(jī)的CPU也承擔(dān)著處理數(shù)據(jù)的重任。目前市面上常說(shuō)的雙核四核是指核心數(shù)量,但并不是意味著核心越多性能越強(qiáng),CPU架構(gòu)、主頻對(duì)性能影響也很大。目前安卓旗艦機(jī)基本上都上了四核,但能耗續(xù)航和性能過(guò)剩這些問(wèn)題也一直如影隨行。筆者還是認(rèn)為,性能這東西夠用就好,沒(méi)必要一味追求多少多少核。
GPU簡(jiǎn)而言之,GPU就是顯卡。目前手機(jī)界面越來(lái)越華麗、游戲越做越大,繁重的圖形處理任務(wù)越來(lái)越需要一顆好的GPU。GPU性能主要表現(xiàn)在多邊形生成能力和像素渲染能力上。
RAM是手機(jī)的運(yùn)行內(nèi)存,RAM越大手機(jī)的多任務(wù)處理能力就越強(qiáng),足夠的RAM空間能夠保證手機(jī)即使在同時(shí)運(yùn)行多個(gè)程序也能有很流暢的表現(xiàn)。目前安卓旗艦手機(jī)主流水平為1GB RAM,2GB RAM目前還比較少。
ROM就相當(dāng)于電腦的硬盤,是用來(lái)儲(chǔ)存數(shù)據(jù)的,如你下載的文件、電影、軟件、游戲等等。ROM當(dāng)然是越大越好,隨著現(xiàn)在手機(jī)性能越來(lái)越強(qiáng),大型的游戲動(dòng)輒就是1GB,無(wú)損音樂(lè)、高清電影,這些都會(huì)讓你的ROM不堪重負(fù)。所以大家選購(gòu)的時(shí)候盡量往大的選吧,而且最好選可以拓展內(nèi)存卡的,就算是64GB ROM也有不夠用的時(shí)候……SIM卡iPhone4之后,手機(jī)市場(chǎng)上掀起了一股Micro SIM卡熱,很多手機(jī)都開始采用不可更換電池設(shè)計(jì),也開始采用Micro SIM卡。Micro SIM卡,其實(shí)就是我們平常說(shuō)的小卡,普通SIM卡用剪卡器剪一下就ok。如果換了插大卡的手機(jī),只需要在你的Micro SIM卡上套上你原來(lái)剪下的部分就行(稱之為卡套),卡套市面上也有賣,5塊錢?沒(méi)技術(shù)含量的東西,反正很便宜。大家就放心大膽的剪吧,沒(méi)事。下一代iPhone將采用Nano SIM卡,Nano SIM卡是在Micro SIM卡的基礎(chǔ)上再減去一些部分,準(zhǔn)備入手新iPhone的朋友可能需要多準(zhǔn)備幾個(gè)卡套了。DLNA/MHL/HDMIMHL轉(zhuǎn)換器MHL比較麻煩一點(diǎn)三者都用于將你手機(jī)上的內(nèi)容高清輸出到其它設(shè)備上,DLNA是無(wú)線,需要WiFi環(huán)境,而相比HDMI,MHL不同點(diǎn)在于它共用了Micro UNB接口,可以節(jié)省手機(jī)空間;另外可以在MHL輸出的同時(shí)給手機(jī)充電,但目前支持MHL的顯示器沒(méi)有HDMI多,而且需要適配器,成本較貴,而且MHL的適配
器還需要另外供電,比較麻煩。Micro/Mini UNBMini UNB是T型接口,Micro UNB是扁口。
近一兩年的手機(jī)都是Micro UNB接口了。攝像頭拍照是很多女同學(xué)最看重的功能了,像素是衡量其拍照能力的一個(gè)重要因素,但很多同學(xué)似乎將其看太重了,像素越高意味著你拍的照片分辨率越高,但并不意味著照片越精細(xì)。其它例如光圈、感光元件、對(duì)焦方式、成像速度對(duì)照片質(zhì)量和拍照體驗(yàn)都起著很大的作用,大家選的時(shí)候要綜合考慮。電池容量手機(jī)現(xiàn)在屏幕越來(lái)越大,主頻越來(lái)越高,意味著其耗電量越來(lái)越高,目前市售中端安卓手機(jī)電池容量主流在1800mAh左右。
當(dāng)然容量也不是唯一標(biāo)準(zhǔn),系統(tǒng)優(yōu)化硬件配置都是續(xù)航很重要的因素。屏幕屏幕除了分辨率越高越好之外,屏幕的材質(zhì)、排列方式、附加的技術(shù)也很重要。分辨率越高屏幕越精細(xì),目前旗艦手機(jī)基本都達(dá)到了1280×720的水平;不同材質(zhì)的屏幕特性也不一樣,而屏幕的排列方式,一般來(lái)說(shuō)RGB是要優(yōu)于Pentile的,RGB的像素點(diǎn)是由紅綠藍(lán)三個(gè)子像素組成的,而Pentile是兩種,一種是紅綠,一種是藍(lán)綠。除非Pentile技術(shù)的顯示屏擁有足夠高的分辨率,才可以彌補(bǔ)由于會(huì)產(chǎn)生兩倍點(diǎn)距紋理帶來(lái)的視覺(jué)效果下降。
港行國(guó)行水貨歐版美版我們平常說(shuō)的港行國(guó)行中的“行”是指行貨的意思,行貨能在中國(guó)內(nèi)地市場(chǎng)享受到售后服務(wù)及質(zhì)量保證,水貨則不能。港行就是指銷往香港的行貨,在中國(guó)內(nèi)地是不能保修的(諾基亞除外)。而水貨則是指銷往其他地區(qū)的機(jī)器通過(guò)某些渠道進(jìn)入大陸市場(chǎng),某些手機(jī)分歐版美版ATT版T-mobile版也是因?yàn)殇N售區(qū)域或運(yùn)營(yíng)商不同。水貨不是假貨,同國(guó)行的手機(jī)一樣,而由于區(qū)域性的原因,某些水貨手機(jī)在功能上可能和行貨手機(jī)
有差別,如前些年的國(guó)行手機(jī)都閹割了Wi-Fi功能,而水貨手機(jī)是保留了的。水貨手機(jī)由于不用交關(guān)稅,價(jià)格比行貨要便宜很多。
第三篇:如何創(chuàng)建和參數(shù)化UDT數(shù)據(jù)類型
如何創(chuàng)建和參數(shù)化UDT數(shù)據(jù)類型中的變量及IN,OUT,IN_OUT參數(shù)
從數(shù)據(jù)類型的意義上說(shuō)UDT并不被CPU所識(shí)別,而是在離線程序中自定義(組合)的數(shù)據(jù)類型。S7程序的自定義數(shù)據(jù)類型并不能裝載到S7 CPU中。UDT是由遞增的編輯器創(chuàng)建并編輯或由源文件的編譯而生成。當(dāng)在塊調(diào)用中進(jìn)行變量傳遞時(shí)是不能將UDT作為內(nèi)存地址區(qū)域來(lái)傳遞的。因此推薦將傳遞的變量指定為字節(jié)數(shù)據(jù)類型并與其數(shù)據(jù)長(zhǎng)度相一致,或者使用UDT的符號(hào)名來(lái)定義IN,OUT和IN_OUT參數(shù),因?yàn)橄到y(tǒng)將自動(dòng)生成相應(yīng)的地址。
下面介紹如何創(chuàng)建和參數(shù)化UDT類型變量的過(guò)程。我們將以兩組各十臺(tái)的電機(jī)為例。UDT1對(duì)應(yīng)這些電機(jī)的所有輸入變量。
步驟一:在STEP 7項(xiàng)目中插入自定義數(shù)據(jù)類型。如圖鼠標(biāo)選中“block”文件夾并點(diǎn)擊右鍵,再?gòu)棾霾藛沃羞x擇命令“Insert New Object>Data Type”。
步驟二:在“Properties-Data Type”對(duì)話框中輸入U(xiǎn)DT1的符號(hào)名(這里以“Motor”為例)后點(diǎn)擊OK確認(rèn)。
步驟三:打開UDT1并輸入相關(guān)數(shù)據(jù)類型的變量及其初始值。下圖為UDT1變量聲明的例子。
步驟四:然后通過(guò)菜單命令“Insert>S7 Block>Data Block”在 STEP 7項(xiàng)目中添加一個(gè)數(shù)據(jù)塊 DB1,并在“Properties-Data”屬性對(duì)話框中為其定義符號(hào)名(例如此例為“Halle_Motoren”(Hall-Motors)。點(diǎn)擊OK確認(rèn)。
步驟五:打開DB1將變量數(shù)據(jù)類型定義為 UDT1(符號(hào)名“Motor”)。如圖所示:兩個(gè)數(shù)組(ARRAY)變量,每組包括10個(gè)以UDT1為數(shù)據(jù)類型的變量(編號(hào)1到10)。
步驟六:選擇菜單命令“View>Data View”可顯示所有 DB1數(shù)據(jù)。
注意事項(xiàng):在數(shù)據(jù)塊中變量定義為UDT情況下只能對(duì)實(shí)際值進(jìn)行編輯。既可以在數(shù)據(jù)塊的數(shù)據(jù)視圖中輸入變量的當(dāng)前值。初始值“Initial Value”縱欄顯示的是在定義UDT變量時(shí)所設(shè)的初值。只是在DB塊第一次存儲(chǔ)時(shí)將初值作為當(dāng)前值。
步驟七:為FC或FB定義UDT1類型的IN參數(shù)
創(chuàng)建FB或FC時(shí),可以定義UDT1(Motor)類型的IN參數(shù),如圖所示。例如,與操作語(yǔ)句:“U #Eingabe.Einschalten”(A #Input.Switch On)
·Eingabe:FC1的IN參數(shù)變量
·Einschalten:UDT1中的一個(gè)變量名
UDT數(shù)據(jù)類型同樣適用于OUT和IN_OUT參數(shù),方法同上。步驟八:數(shù)據(jù)塊 DB1的尋址及編程
下圖所示為變量定義為UDT1類型數(shù)據(jù)結(jié)構(gòu)的 DB1的編程例子。
例如與操作:U “Halle Motoren”.Halle 1 Motor[2].Einschalten(“U Hall_Motors.Hall_1_Motor[2].Switch On)·Halle_Motoren: DB1的符號(hào)名
·Halle_1_Motor[2]: DB 塊數(shù)組2的變量
·Einschalten: UDT1中的一個(gè)變量名
步驟九:在FC或FB中參數(shù)化IN參數(shù)
當(dāng)調(diào)用FC1時(shí),UDT類型的輸入變量必須賦值,例如可以用如下語(yǔ)句將第一組電機(jī)地址指針賦給輸入?yún)?shù)。
·“Halle_Motoren”.Halle_1_Motor[1](“Hall_Motors”.Hall_1_Motor[1])
這種參數(shù)化過(guò)程同樣適用于定義為UDT類型的OUT和IN_OUT參數(shù)的其它變量。
步驟十:在交叉參考表中可以顯示 S7用戶程序所用地址及應(yīng)用(例如 DB1)的列表。
數(shù)據(jù)塊“unlinked”屬性注意事項(xiàng):
如果在DB塊中定義了UDT數(shù)據(jù)類型并且將 DB“unlinked”屬性激活,對(duì)于 STEP 7 V5.2/V5.3,如果對(duì)UDT作了修改,STEP 7會(huì)應(yīng)用“Check block consistency”功能自動(dòng)調(diào)整數(shù)據(jù)塊,此時(shí),“unlinked”的屬性可能會(huì)失效。當(dāng)塊一致性檢查完成后,確保 DB的“unlinked”屬性依然有效,否則可作相應(yīng)設(shè)置。
第四篇:小程序的頁(yè)面跳轉(zhuǎn)以及參數(shù)傳遞
第九程序小程序的頁(yè)面跳轉(zhuǎn)以及參數(shù)傳遞
? 頁(yè)面跳轉(zhuǎn)
? 參數(shù)傳遞
微信小程序的頁(yè)面跳轉(zhuǎn),頁(yè)面之間傳遞參數(shù)筆記 先上demo圖: 為了簡(jiǎn)化邏輯,所以index.wxml里面只寫了兩個(gè)text.既然是跳轉(zhuǎn),那就還有其他頁(yè)面.目錄如下: 三個(gè)頁(yè)面,但是代碼很簡(jiǎn)單.直接上代碼...微信小程序的頁(yè)面跳轉(zhuǎn),頁(yè)面之間傳遞參數(shù)筆記
先上demo圖:
為了簡(jiǎn)化邏輯,所以index.wxml里面只寫了兩個(gè)text.既然是跳轉(zhuǎn),那就還有其他頁(yè)面.目錄如下:三個(gè)頁(yè)面,但是代碼很簡(jiǎn)單.直接上代碼.index.wxml中的URL就是跳轉(zhuǎn)的頁(yè)面路徑.上面代碼中就是navigator目錄下的navigator頁(yè)面,title是參數(shù).navigator下redirect屬性是值在當(dāng)前頁(yè)打開.如果不加redirect就是跳轉(zhuǎn)到新頁(yè)面.都可以攜帶參數(shù).navigator下redirect屬性是值在當(dāng)前頁(yè)打開.如果不加redirect就是跳轉(zhuǎn)到新頁(yè)面.都可以攜帶參數(shù).在navigatort.wxml中通過(guò)js代碼可以獲取到title,代碼如下 //navigatort.js 最后上兩張?zhí)D(zhuǎn)后的圖.1.跳轉(zhuǎn)到新頁(yè)面
2.在原來(lái)的頁(yè)面打開
有沒(méi)有發(fā)現(xiàn)一個(gè)細(xì)節(jié),在原來(lái)的頁(yè)面打開是不會(huì)出現(xiàn)返回按鈕的,而跳轉(zhuǎn)到新頁(yè)面后會(huì)出返回按鈕.這是因?yàn)槲覍懥藘蓚€(gè)頁(yè)面.如果indexwxml不是一級(jí)頁(yè)面,這里都會(huì)出現(xiàn)返回按鈕.當(dāng)然返回的結(jié)果是不一樣的:
1.跳轉(zhuǎn)到新頁(yè)面,返回是回到之前的頁(yè)面;2.在原來(lái)頁(yè)面打開,返回是回到上一級(jí)頁(yè)面.
第五篇:帶參數(shù)的構(gòu)造函數(shù)c++程序
#include
using namespace std;
class Box
{
public:
Box(int,int,int);//聲明帶參數(shù)的構(gòu)造函數(shù)(參見(jiàn)之前的與BOX同名函數(shù)修改數(shù)值為某個(gè)固定數(shù))
int volume();
private:
int height;
int width;
int length;
};
Box::Box(int h,int w,int len)
函數(shù)
{
height=h;
width=w;
length=len;
}
int Box::volume()
{
return(height*width*length);
}
int main()
{
Box box1(12,23,34);
box1的長(zhǎng)寬高
cout<<“the value of box1 is”< Box box2(23,34,45); cout<<“the value of box2 is”< return 0; } //在類外定義帶參數(shù)的的構(gòu)造//建立對(duì)象box1并指定