在S 型PLC中使用高級語言編程_第1頁
在S 型PLC中使用高級語言編程_第2頁
在S 型PLC中使用高級語言編程_第3頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

S7300/400PLCS7-SCLPasical、DeliphiIEC61131-3PLCS7STLSCL,STLSCLSCLSTL,同時(shí)SCLSTLPLCPCC/C++等高級語言。總體來說,SCLSTLLadS7-SCLSCL最后給出了示例。S7-300/400程語言。一、軟件的使用1、創(chuàng)建一個(gè)新的S7-SCLSource文件àCPUàS7ProgramàSourcesInsertNewObjectàSCLSCLSourceSCL2、塊保護(hù)SCLSourceKNOW_HOW_PROTECT,塊時(shí),只能顯示參數(shù),而看不到內(nèi)容。3、主菜單”Insert”下的”BlockTemplate”可用于插入如OB,FB等各種塊的結(jié)構(gòu)?!盋ontrolStructure”菜單可插入各種流程控制結(jié)構(gòu),這些都可以簡化編程。4SourceFile>CompileSelectedBlocks。也可以把幾SourceS7-SCLcompilationcontrolfileSCLSource二、語法規(guī)則1、編寫SCLSource文件的一般規(guī)則FB,FC,OB,DBUDT,Source每種塊類型都有它自己的結(jié)構(gòu)。每段落或者每個(gè)變量的聲明以符號”;”標(biāo)志結(jié)束。不區(qū)分大小寫。注釋僅存在于程序文檔中,它不影響程序運(yùn)行。DB0DB0.2、編寫塊的先后次序被調(diào)用的塊必須位于調(diào)用塊之前。UDT共享數(shù)據(jù)塊必須位于那些使用它的所有塊之前。三、數(shù)據(jù)類型1、數(shù)據(jù)類型預(yù)覽Ⅰ、基本數(shù)據(jù)類型2、補(bǔ)充<1>、DATE_AND_TIMEDataType其值的范圍:DT#1990-01-01-0:0:#2089-12-31-23:59:該類型以BCD碼形式存儲。20/Oct./199512:20:30and10millisecondsDATE_AND_TIME#1995-10-20-12:20:DT#1995-10-20-12:20:<2>STRING.聲明VARText1:String[123];VARCONTROLLER1:3,1..4]OFINT:=-54,736,-83,77,-1289,10362,385,2,60,-37,-7,103;CONTROLLER2:ARRAY[1..10]OFREAL;聲明一個(gè)結(jié)構(gòu)MOTOR中包含另一個(gè)結(jié)DATAVARMOTOR:STRUCTDATA:STRUCTLOADCURR:REAL;VOLTAGE:INT:=5;END_STRUCT;END_STRUCT;END_VAR結(jié)構(gòu)以WORD的形式結(jié)尾,否則系統(tǒng)自動把丟失的字節(jié)補(bǔ)到結(jié)構(gòu)中去。<5UDT(TYPE.ret:=SFC79(N:=N_out,SA:=out);END_FUNCTION1000]OFREAL;END_VARBEGIN.FC100(N_out:=ii,out:=aa);.END_FUNCTION_BLOCK<7>ANY類型.VAR_INPUT5:..:INT;聲明時(shí)可以初始化:VALUE:REAL:=;數(shù)組的初始化有兩種方式:CONTROLLER1:ARRAY[1..2,1..2]OFINT:=-54,736,-83,77;A3[2A3[11]A3:ARRAY[1..12]OFREAL:=,10,;2、塊參數(shù)輸入?yún)?shù):用于接收當(dāng)塊被調(diào)用時(shí)的輸入值,他們是只讀的。輸出參數(shù):傳輸當(dāng)前值到這個(gè)調(diào)用塊,在被調(diào)用塊中應(yīng)該對該參數(shù)賦值輸入/3、使用多重背景聲明方式如下:Supply1:FB10;CONSTNumber:=10;10M3f1995-11-111995-05-051995-01-011995-02-02W10;LadSTLSCL”B”七、表達(dá)式、操作符和地址1、操作符預(yù)覽八、控制流程1、IF選擇語句IFconditionTHEN…ELSIFconditionTHENIFARRAY[INDEX]=INDEXTHENCONTINUE;END_IF;2、CASE選擇語句CASEintVariantOF:DISPLAY:=OVEN_TEMP;:DISPLAY:=MOTOR_SPEED;3..10:DISPLAY:=INT_TO_DINT(TW);50]OFSTRING;END_VARBEGINFORINDEX:=1TO50BY2DO..LAB1:INDEX:=1;GOTOLAB3;LAB2:INDEX:=2;…7、調(diào)用塊絕對地址調(diào)用,例如:(X1:=5,X2:=78,......); DISTANCE(X1:=5,Q1=:Checksum);EN,ENO,BOOL..ELSE..END_IF;九、定時(shí)器和計(jì)數(shù)器1、計(jì)數(shù)器S_CU增計(jì)數(shù)器S_CD減計(jì)數(shù)器S_CUD增/減計(jì)數(shù)器.S_CUD(C_N=C12,4]ofSTRUCTC_NINT;PV:WORD;END_STRUCT;…END_VAR…FORI:=1TO4DO_NO,S:=true,PV:=END_FOR;FUNCTION_BLOCKVAR_INPUTMYCounter:COUNTER;END_VAR…CurrVal:=S_CD(C_N=MyCounter,.....);4]ofT_NINT;TV:WORD;END_STRUCT;…END_VAR…FORI:=1TO4DOCurrTime:=S_ODT(T_N=MY_TIMER[I].T_NO,S:=true,MY_TIMER[I].TV);END_FOR;FUNCTION_BLOCKTIMERVAR_INPUTmytimer:TIMER;END_VAR…CurrTime:=S_ODT(T_N=mytimer,.....);十、S7-SCL中的標(biāo)準(zhǔn)功能1、數(shù)據(jù)類型轉(zhuǎn)換函數(shù)隱式轉(zhuǎn)換,其依照的順序?yàn)椋築OOL>BYTE>WORD>DWORDINT>DINT>REAL.VARIF(PID_CTRLLER_1<>PID_CTRLLER_2)THEN....IF(PID_CTRLLER_1<>PID_CTRLLER_2)THEN....RESULT:=EXPD(3);141592;RESULT:=SIN(PI/6);.);<2>最小值函數(shù)//32以外,任意其他數(shù)//子類型均可以,但所有的參數(shù)數(shù)據(jù)類型必須一致。A:=MIN(IN1:=a,IN1:=b,IN1:=c,IN1:=d);<3>極限值函數(shù)A:=LIMIT(MN:=5,IN:=Executionsteps,MX:=10);<4>MUX函數(shù)A:=MUX(K:=SELECT,IN0:=Steps,IN1:=Number,IN2:=Total);9、系統(tǒng)功能/功能塊、標(biāo)準(zhǔn)庫SCL像其他語言一樣,可以調(diào)用各種功能塊,包括系統(tǒng)功能、功能塊SFC/SFB十一、示例(均在PLC-SIM上測試通過)1、編寫位偏移程序MM1,2,6,則為//根據(jù)偏移量來設(shè)定字節(jié)和位FUNCTIONFC200:voidVAR_INPUT//輸入變量byteNINT;//MbitNINT;//指定起始位號bitNum:INT;//指定位數(shù)END_VARVAR_OUTPUT//輸出變量currBit:INT;//當(dāng)前位currByte:INT;//END_VARVAR_TEMPtmp:INT;END_VARBEGINtmp:=(bitNo+bitNum-1)DIV8;currByte:=byteNo+tmp;currBit:=bitNo+bitNum-(8*tmp+1);END_FUNCTION2、功能選擇程序假設(shè)某個(gè)機(jī)床有若干過手動功能,使用兩個(gè)按鈕”+”和”-“,按一次”+”,34燈亮,而與功能31,重新開始循環(huán),按鈕”-“與”+”正好相反,用1s200ms鐘加一或者減一。/////////////////////////////////////////////主要控制功能FC10////////////////////////////////////////FUNCTIONFC10:VOIDVAR_INPUT//輸入變量fnAdd:BOOL;//接收"+"按鈕fnSub:BOOL;//接收"-"按鈕byteNINT;//MMbitNINT;//指定起始位號bitNum:INT;//指定總的位數(shù)END_VARVAR//靜態(tài)變量pus1:BOOL;//記錄按鈕"+"的脈沖pus2:BOOL;//記錄按鈕"-"的脈沖button:BOOL;//確定按鈕"+"或者按鈕"-"被按下currNINT;//記錄當(dāng)前的功能號currBit:INT;//當(dāng)前位currByte:INT;//當(dāng)前字節(jié)//定時(shí)器輸出p1:BOOL;p2:BOOL;p11:BOOL;//p111:BOOL;p22:BOOL;//p222:BOOL;CurrTime:S5TIME;END_VARVAR_TEMPi:INT;END_VARBEGIN////IFfnAdd&fnSubTHENRETURN;END_IF;/////////////////////////////////////////獲取按鈕"+"的脈沖///////////////////////////////////////////IFfnAdd&(button=false)THENpus1:=true;ELSEpus1:=false;END_IF;//////////////////////////////////////////按鈕"-"的脈沖/////////////////////////////////IFfnSub&(button=false)THENpus2:=true;ELSEpus2:=false;END_IF;IF(fnSub&(fnAdd=false))OR(fnAdd&(fnSub=false))THENbutton:=true;ELSEbutton:=false;END_IF;//////////////////////////添加定時(shí)器監(jiān)測////////////////////////////////////////////////////CurrTime:=S_ODT(T_N=T10,S:=fnAdd,TV:=T#800ms,Q:=p1);//按鈕按下的時(shí)間CurrTime:=S_ODT(T_N=T11,S:=p1&p111,TV:=T#200ms,Q:=p11);IFp11=trueTHENp111:=false;//當(dāng)定時(shí)器有輸出后,斷開信號,使其在下一掃瞄周期中無輸出ELSEp111:=true;//在按鈕按下的情況下重啟定時(shí)器計(jì)時(shí)END_IF;CurrTime:=S_ODT(T_N=T20,S:=fnSub,TV:=T#1s,Q:=p2);CurrTime:=S_ODT(T_N=T21,S:=fnSub&p222,TV:=T#200ms,Q:=p22);IFp22=trueTHENp222:=false;//當(dāng)定時(shí)器有輸出后,斷開信號,使其在下一掃瞄周期中無輸出ELSEp222:=true;//在按鈕按下的情況下重啟定時(shí)器計(jì)時(shí)END_IF;/////////////////////////////////////////////////////////////////////////////////////////////////////////1IFpus1=trueORp11THEN//按鈕"+"的脈沖IFcurrNocurrN=currNo+1;ELSEcurrN=1;END_IF;ELSIFpus2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論