840D_810D的PLC啟動與PLC高級功能應用_第1頁
840D_810D的PLC啟動與PLC高級功能應用_第2頁
840D_810D的PLC啟動與PLC高級功能應用_第3頁
840D_810D的PLC啟動與PLC高級功能應用_第4頁
840D_810D的PLC啟動與PLC高級功能應用_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第7章 840D/810D的PLC啟動與PLC高級功能應用啟動SINUMERIK 840D/810D數(shù)控系統(tǒng)的PLC必須借助于西門子提供的TOOLBOX工具盤,TOOLBOX工具盤提供了與系統(tǒng)版本相匹配的基本程序庫以及硬件信息,同時還提供了一個NC變量選擇器用于選擇NC變量。在本章中,主要介紹如何啟動數(shù)控系統(tǒng)的PLC以及應用PLC基本程序塊。7.1 PLC調(diào)試SINUMERIK 840D系統(tǒng)的組件通過OPI接口連接在一起,傳輸速率為1.5Mbaud(810D只能連接MPI接口傳輸波特率為187.5Kbaud),所有部件都被給予一個預定的MPI地址如圖7-1所示。只有當多個MMC和多個NC相連接

2、(M:N連接器)才需要改變地址。圖7-1 SINUMERIK 840D系統(tǒng)組件的連接SINUMERIK 840D提供了2個接口。當使用MPI接口(X122)時必須設(shè)MPI=2,而對OPI接口(X101)則MPI=13,在PG/PC上對傳送速度進行正確的設(shè)置。上裝站點項目到PC;通過菜單Destination station -> Load station to PG 可將PLC程序保存到SIMATIC項目中。程序塊和硬件組態(tài)都傳到項目中。在屏幕表格“Select station addres“中,要選擇機架0和槽位0。傳送速度為187.5Kbit/s時選MPI地址2,而在1.5Mbit/

3、s選OPI地址13。7.1.1 TOOLBOX的介紹840D/810D集成了PLC模塊,PLC程序分為基本程序和用戶程序,用戶的程序是在基本程序的基礎(chǔ)上建立的。數(shù)控系統(tǒng)的TOOLBOX包含了840D系統(tǒng)地PLC基本程序,可以從Step7的SIMATIC管理器下打開,并下裝到PLC中。它包含的是SIEMENS編寫的現(xiàn)成的塊,這些塊采用結(jié)構(gòu)化編程,具有通用性,可以實現(xiàn)代碼共用,對于用戶來說只需要了解其形參的含義并正確地給它賦實際參數(shù)值。TOOLBOX6.4/6.5版本之后增加了PLC符號表生成器,TOOLBOX包括PLC基本程序、數(shù)控硬件SINU HW ADD ON STEP7、NC VAR SE

4、LECTOR、做用戶擴展界面的例子。NC系統(tǒng)版本要與TOOLBOX版本對應,TOOLBOX向下兼容。圖7-2是TOOLBOX光盤的所有目錄。安裝TOOLBOX工具盤時,點擊“setup”,出現(xiàn)畫面如圖7-3所示,安裝的時候,有3項內(nèi)容可選擇安裝。PLC Basic Program for 8x0D V6.5:PLC基本程序,必須安裝。SINUMERIK 810D/840D :硬件信息,必須安裝。NCVar Selector:NC變量選擇器,如果用到PLC讀寫NC變量的功能(比如FB2/FB3),需要安裝,否則,可不安裝。如果TOOLBOX是其它版本的則可以在“8x0d”目錄下選擇合適的版本,如

5、圖7-4所示。圖7-2 TOOLBOX工具盤的內(nèi)容圖7-3 TOOLBOX工具盤的安裝圖7-4 選擇兼容的版本安裝子目錄BSP_PROG中存放的是一些PLC例程,比如帶顯示屏的手持操作單元的標準例程、mini手持的標準例程等。子目錄PLC_BP是PLC基本程序(使用根目錄下的SETUP.EXE進行安裝)。子目錄PLCALARM中存放的PLCALARM.ZIP是用戶編寫PLC文本的框架。(使用PCU20的用戶可在此文件的基礎(chǔ)上編寫報警文本,之后通過串口電纜傳入PLC20)。CERTIFICATE目錄下存放的是安全集成功能認證的文本及樣例。EXAMPLES_TOOLS目錄l COMPA子目錄:低版

6、本系統(tǒng)升級,修改備份數(shù)據(jù)用工具l OP17子目錄:使用OP17面板時,可用的OP17組態(tài)文件。l QFK.MPF子目錄:過象限補償用程序。l WIZARD.BSP:擴展用戶接口(Expanding the Operator Interface)功能實例,包括HMI Advancedh和HMI Embedded的實例。NCVAR目錄:NC變量選擇器軟件。S7HW目錄:SINUMERIK 810D/840Di/840D Add-on for STEP 7,用于增加STEP7硬件列表中SINUMERIK 840D/810D 的硬件器件。安裝過程中,硬件列表中的TYPE, GSD 和 Meta 文件將

7、被升級。 從和STEP 7 版本5.1開始,可以在SIMATIC 管理器中可直接創(chuàng)建PLC系列文檔(series archive)。7.1.2 PLC基本程序在810D/840D中,通常有OB1, OB40, OB100這3個組織塊,跟普通的PLC 300一樣,操作系統(tǒng)根據(jù)不同的觸發(fā)事件主動到內(nèi)存中尋找相應的OB塊執(zhí)行,而不需要用戶調(diào)用。所有的用戶程序FC/FB都是在組織塊中調(diào)用,CPU在執(zhí)行OB塊的過程中按照調(diào)用的順序執(zhí)行FB/FC。PLC程序的結(jié)構(gòu)決定于OB1和OB100,在OB1、0B100中必須調(diào)用基本的PLC程序,用于MCP控制、車床PLC程序、刀具管理以及機床輔助功能等。OB1循環(huán)

8、地執(zhí)行,在執(zhí)行OB1的過程中,有其他事件觸發(fā)中斷OB1,則保護斷點、執(zhí)行OB40,OB40執(zhí)行一次,然后返回斷點,執(zhí)行OB1。 PLC基本程序包含在GP8X0D上。OB1掃描循環(huán)開始,基本的PLC程序必須在用戶程序之前執(zhí)行,先要建立起與NCK進行數(shù)據(jù)交換,進行通訊。所有的NCK/PLC接口信號在循環(huán)程序OB1中執(zhí)行,為了減小循環(huán)時間,僅把控制和狀態(tài)相關(guān)的接口信號傳輸?shù)窖h(huán)程序中,其它的輔助功能、G功能僅在需要的時候由NCK觸發(fā)。OB40是觸發(fā)事件的組織塊,有中斷事件發(fā)生,則立即執(zhí)行OB40。OB100是暖啟動模式上電時執(zhí)行一次的組織塊,在NC中由于有DB塊的數(shù)據(jù)需要保存,所以只能是執(zhí)行OB10

9、0暖啟動,而不可能執(zhí)行冷啟動,否則DB數(shù)據(jù)無法保存。比如刀庫換刀之后,刀庫映像保存在DB塊中,執(zhí)行換刀指令后,要刷新DB塊,使之與實際刀庫一致,斷電之后刀庫數(shù)據(jù)不能丟失,否則無法正確換刀。在OB100中可以實現(xiàn)系統(tǒng)初始化以及NC/PLC同步等功能。比如,在OB100中調(diào)用FB1(對應的背景DB7)用于系統(tǒng)通訊的NC/PLC同步初始化動作。表7-1所示為PLC基本程序中組織塊的介紹。PLC的基本程序結(jié)構(gòu)如圖7-5所示。表7-1 PLC基本程序中組織塊圖7-5 PLC基本程序結(jié)構(gòu)由于PLC基本程序提供了很多FC/FB用于實現(xiàn)數(shù)控系統(tǒng)中的功能,用戶在定義自己的功能時,建立的FC/FB或者是DB塊都不

10、能夠與基本程序沖突,否則有可能導致系統(tǒng)運行不正?;驘o法啟動。表7-2表7-4為PLC基本程序中提供的FC、FB以及DB的簡要介紹。表7-2 PLC基本程序中提供FC的簡要介紹表7-3 PLC基本程序中提供FB的簡要介紹另外,F(xiàn)B15是西門子出廠自帶的功能塊,是利用高級語言編寫的,不能夠清除掉,必須在系統(tǒng)上才能夠正常運行。表7-4 PLC基本程序中提供DB的簡要介紹7.2 PLC啟動通常,PLC基本程序在用戶編寫的程序之后執(zhí)行。PLC基本程序主要承擔PLC用戶程序與NCK, HMI, MCP之間的數(shù)據(jù)和信號交換任務(wù)(循環(huán)信號、事件信號、消息)。循環(huán)信號包括指令(PLC->NCK, 比如st

11、art, stop指令)和狀態(tài)信息(來自NCK,比如程序正在運行,中斷等)。在OB1循環(huán)中執(zhí)行。事件驅(qū)動信號(NCK->PLC),PLC完成工件加工程序中的輔助功能,如果這些輔助功能被執(zhí)行,那么這些輔助功能塊將會決定NCK是否處于等待狀態(tài)(比如換刀過程),還是處于同步執(zhí)行。數(shù)據(jù)傳輸過程必須要快速并且安全,為了減少對NC加工過程的影響,數(shù)據(jù)傳輸通過“報警”和“確認”來控制。PLC基本程序評估這些信號,并向NCK發(fā)送確認信號,在循環(huán)程序開始時傳輸數(shù)據(jù)。事件驅(qū)動信號(PLC -> NCK),PLC向NCK發(fā)送請求(比如運行輔助軸),這種類型的信號通過FB, FC來出發(fā)執(zhí)行。消息,用戶消息

12、也是通過基本PLC程序來實現(xiàn)的,用戶消息存儲在PLC的診斷緩沖區(qū)中,同時也可以通過人機界面顯示在OP單元上。在Function Manual Basic Functions上的PLC basic program pl可以查看到PLC基本程序的詳細描述。7.2.1 硬件組態(tài)在STEP 7軟件中完成機床PLC CPU的硬件配置,包括信號模塊的配置。在PG/PC上裝載工具盤;在STEP7 SIMATIC管理器下建立新項目;插入硬件站進行硬件組態(tài)并保存編譯,如圖7-6所示。圖7-6 PLC硬件組態(tài)7.2.2 PLC基本啟動 利用PLC基本程序啟動數(shù)控系統(tǒng)的PLC按照如下步驟:l 將Toolbox光盤放

13、入光驅(qū)中,點擊setup,系統(tǒng)會自動安裝最新版的PLC標準程序,如果想安裝其他版本的程序需自己選中相應版本的文件夾手動安裝;l 運行STEP7軟件,新建(或打開)一個Project;l 選擇File Open Library 選擇Gp8X0d65 OK;l 將Gp8x0d65中的gp8x0d文件夾復制到剛才新建(或打開)的項目下,如圖7-7所示(注:復制完畢后立刻關(guān)閉 Gp8x0d65項目,不可以在Gp8x0d65的項目下修改任何文件);l 打開復制后的gp8X0d 文件夾, 選中Bausteine(德文,Blocks),Download(建議下載之前將PLC設(shè)置為STOP);l 下裝成功后,

14、將PLC設(shè)置為RUN ,MCP上LED不再閃爍。圖7-7 拷貝基本PLC程序此時,雖然PLC項目啟動起來了,但是機床控制面板還不能夠操作,這是由于PLC項目并沒有處理機床控制面板。根據(jù)實際情況啟動機床控制面板,在這里已標準銑床控制面板為例。打開OB1,在CALL FC2指令下面新建一個Network,鍵入以下程序: CALL FC19 BAGNo: =B#16#1 /模式組 in CHANNo: =B#16#1 /通道數(shù) in Spindle IFNo: =B#16#3 /主軸軸號,把哪個軸作為主軸 in /禁止進給的接口信號 out, /主軸停止進給的接口信號 out , 保存OB1,然后把

15、OB1下裝到PLC,此時機床控制面板上有LED亮(如JOG,Ref,F(xiàn)eed_OFF,SP_OFF),代表機床控制面板啟動正常。 但是到目前為止,運行軸的話會有一個軸使能丟失的提示信息,只要把軸的PLC使能加上去就可以了。這里在CALL FC19 后面再插入一個新的Network并編程: SETDB31. DBX1.5 /測量系統(tǒng),每個軸最多有兩個位置測量系統(tǒng),encoder或光柵,用DB31. DBX1.5/6指定,NC在同一時刻只能選擇一個測量系統(tǒng),因此必須通過NC判斷來選擇切換反饋測量系統(tǒng)。 DB31. DBX2.1 /Control enable控制器使能信號DB31. DBX21.7

16、 /脈沖使能信號,可以在service中查看service drive信號,PLC的控制如何讓NC獲知,就是通過接口信號DB31. DBX21.7。 復制2份并修改為(根據(jù)用戶自己,需要啟動多少根軸,這里啟動3根軸): DB32. DBX2.1 DB32. DBX21.7 DB33. DBX2.1 DB33. DBX21.7保存之后,把程序塊下載到PLC中,軸及主軸可以運轉(zhuǎn)。7.2.3 理解啟動組織塊OB100在啟動組織塊OB100中,默認調(diào)用了FB1,F(xiàn)B1用于實現(xiàn)PLC/NCK在啟動過程中的同步,也正是由于在啟動過程中PLC/NCK之間同步,整個系統(tǒng)才能夠正常工作運行。FB1是一個非常關(guān)鍵

17、的基本程序,用戶必須要理解其各個參數(shù)的含義及用途?;境绦騉B100 里主要調(diào)用了功能塊FB1,其主要參數(shù)注釋如下:CALL FB 1, DB7 MCPNum :=1 / 機床操作面板MCP 的數(shù)量MCP1IN :=P# I0.0 / 第一機床操作面板的輸入起始地址MCP1 OUT :=P#Q0.0 / 第一機床操作面板的輸出起始地址MCP1 StatSend :=P#Q8.0 / 第一機床操作面板發(fā)送狀態(tài)雙字MCP1 StatRec :=P#Q12.0 / 第一機床操作面板接受狀態(tài)雙字MCP1 BUS Adr :=6 /第一機床操作面板的總線地址MCP1 Timeout :=S5T#700M

18、S / 第一機床操作面板循環(huán)掃描監(jiān)控時間MCP1 Cycl :=S5T#200MS / 第一機床操作面板循環(huán)掃描時間MCP2IN := / 第二機床操作面板的輸入起始地址MCP2 OUT := / 第二機床操作面板的輸出起始地址MCP2 StatSend := / 第二機床操作面板發(fā)送狀態(tài)雙字MCP2 StatRec := / 第二機床操作面板接受狀態(tài)雙字MCP2 BUS Adr := /第二機床操作面板的總線地址MCP2 Timeout := / 第二機床操作面板循環(huán)掃描監(jiān)控時間MCP2 Cycl := / 第二機床操作面板循環(huán)掃描時間MCPMPI := / 所有機床操作面板通過MPI 連接

19、MCP1Stop := / =0: 傳送第一面板信號;=1 停止傳送第一面板信號MCP2Stop := / =0: 傳送第二面板信號;=1:停止傳送第二面板信號MCP1NotSend := /=0 發(fā)送,接收第一面板信號;=1:只接受,不發(fā)送信號BHG := /=0: 沒有手持單元 =1:手持單元通過MPI 連接(SDB210)BHGIn := / 手持單元輸入起始地址BHGOut := / 手持單元輸出起始地址BHGStatSend := / 手持單元發(fā)送狀態(tài)雙字BHGStatRec := / 手持單元接收狀態(tài)雙字BHGInLen := / 手持單元接收的數(shù)據(jù)長度BHGOutLen := /

20、 手持單元接收的數(shù)據(jù)長度BHGCycl := / 手持單元循環(huán)掃描時間BHGRecGDNo := BHGRecGBZNo := BHGRecObjNo := BHGSendGDNo := BHGSendGBZNo := BHGSendObjNo := BHGMPI := /=1 : 手持單元通過MPI 連接BHGStop := BHGNotSend := NCCyclTimeout :=S5T#200MS NCRunupTimeout :=S5T#50S ListMDecGrp := / 擴展M 譯碼的數(shù)量NCKomm := / 允許NC 和PLC 之間交換數(shù)據(jù)MMCToIF := / 傳送M

21、MC 信號到接口HWheelMMC := /=1, 通過MMC 選擇手輪MsgUser := / 用戶信息區(qū)的數(shù)量UserIR := / IRAuxfuT := IRAuxfuH := IRAuxfuE := UserVersion := MaxBAG := / 方式組數(shù)MaxChan := / 通道數(shù) MaxAxis := / 軸數(shù)ActivChan := / 當前生效的通道ActivAxis := / 當前生效的軸UDInt := /PLC 機床數(shù)據(jù),整數(shù)格式UDHex := /PLC 機床數(shù)據(jù),十六進制格式UDReal := /PLC 機床數(shù)據(jù),實數(shù)格式7.3 PLC高級功能的應用除了前

22、面提到的利用基本程序啟動PLC,涉及到FC2、FC3、FC19以及FB1等。事實上,在PLC基本程序庫中,提供了大量的程序塊,可以實現(xiàn)用戶的功能。比如讀寫NC變量、PI服務(wù)任務(wù)、讀取GUD變量、PLC軸的控制等,在本節(jié)中通過一些簡單的例子來說明常用的PLC程序塊的高級工能應用。7.3.1 FB2的應用在SINUMERIK 840D/810D的PLC基本程序中提供了FB2(Read GET NC variable)和FB3用于讀寫NC的系統(tǒng)變量。FB2是PLC基本程序提供的程序塊,用于從NCK讀取變量。比如用FB2讀出當前正在執(zhí)行程序的行號,并寫到R參數(shù)中,記錄下來。這樣,用戶可以在突然斷電后根

23、據(jù)R參數(shù)中的數(shù)值,便知道程序執(zhí)行到哪里了,然后利用程序段搜索功能,繼續(xù)從被中斷的程序段開始加工。要使用好FB2功能塊,需要了解功能塊的接口參數(shù),包括參數(shù)名稱、接口類型、參數(shù)類型、參數(shù)取值范圍以及參數(shù)含義。表7-5所示為FB2的接口參數(shù)說明。表7-5 FB2的接口參數(shù)說明信號讀取數(shù)據(jù)的目標區(qū)域查看錯誤標識任務(wù)正常執(zhí)行,且讀取到數(shù)據(jù)行地址,可選變量尋址任務(wù)或執(zhí)行有故障列地址,可選變量尋址區(qū)域地址,可選變量尋址從NC變量選擇器得到的變量標識需要讀取的變量個數(shù)上升沿任務(wù)啟動對應于Addr1到Addr8OOO參數(shù)說明參數(shù)值參數(shù)類型接口類型FB2執(zhí)行有故障的話,在參數(shù)Error中有輸出,可以通過錯誤標識參

24、數(shù)查詢故障的類型,如表7-6所示。表7-6 FB2執(zhí)行的故障代碼備注描述狀態(tài)檢查參數(shù)NumVar檢查地址(變量名,區(qū)域,UNIT參數(shù))變量地址無效參數(shù)Unit, column, line包含0值變量尋址錯誤任務(wù)必須重新啟動傳送忙RD1-RD8可能是局部數(shù)據(jù)目標區(qū)域錯誤基本程序OB100中參數(shù)NCK omm未設(shè)置選項未設(shè)置任務(wù)必須重新啟動FIFO滿變量轉(zhuǎn)換錯誤,DOUBLE變量類型不屬于S7 REAL 類型格式轉(zhuǎn)換錯誤讀取變量的長度超過在RD1RD8中指定長度,在高字節(jié)中顯示有哪個變量出現(xiàn)錯誤本地用戶存儲空間不足內(nèi)部錯誤,NC RESET任務(wù)未執(zhí)行任務(wù)的變量編譯錯誤讀取變量時在高字節(jié)發(fā)生錯誤的個

25、數(shù)任務(wù)錯誤訪問錯誤利用FB2讀取NC變量的操作步驟:l 利用NC變量選擇器選擇需要讀取的NC變量,得到所生成的數(shù)據(jù)塊的源文件,該源文件包含系統(tǒng)變量信息。l 編譯源文件得到用戶數(shù)據(jù)塊,可以下載到PLC中。l 在用戶PLC項目程序中編寫程序調(diào)用FB2。l 在OB100中,把FB1的參數(shù)“NCKomm”修改為1。l 保存項目并下載到PLC中。在這里以讀取坐標系當前值為例子,介紹如何使用NC變量選擇器,以及如何調(diào)用FB2編程序。啟動NC變量選擇器,NC變量選擇器在系統(tǒng)的TOOL-BOX光盤中,可以單獨安裝運行。點擊“新建”圖標,出現(xiàn)一個“打開”對話框,如果安裝了多個版本的NC變量選擇器,那么根據(jù)系統(tǒng)版

26、本的要求選擇變量的軟件版本,比如本例中安裝了Ver6.4和Ver7.2版本,則有兩個變量版本可以選擇,SW64以及SW72,根據(jù)系統(tǒng)版本選擇SW64,如圖7-8所示。選擇ncv_NcData.mdb打開,如圖7-9所示。在各類變量中,如果不確定如何找到自己所需要的變量,則可以通過幫助菜單查詢,如圖7-10所示。根據(jù)變量的分類說明可以容地找出所需要的變量。確定需要哪個變量之后可以通過查找功能把這個變量找出來,如圖7-11所示。比如要查找坐標位置值,因為坐標位置值位于SMA組,通過查找功能查找SMA組,如圖7-12所示。選中軸的實際位置值變量,并雙擊打開,出現(xiàn)一個對話框,對話框中Unit-No為通

27、道號,Line為軸號??梢栽谶@里直接根據(jù)實際情況修改通道號與軸號,也可以在Unit-No和Line中寫入0,當PLC程序調(diào)用FB2時,再指定通道號與軸號,如圖7-13所示。本例中在Unit-No和Line中寫入0,然后點擊OK。圖7-8 啟動NC變量選擇器并新建文件圖7-9 選擇NC變量ncv_NcData.mdb圖7-10 NC變量的幫助系統(tǒng)圖7-11 查找NC變量圖7-12 查找NC變量組圖7-13 指定Unit-No和Line選擇數(shù)據(jù)塊號,點擊菜單Code中Selection選項,輸入最后要生成的數(shù)據(jù)塊號,比如輸入120,即生成DB120,如圖7-14所示。圖7-14 選擇數(shù)據(jù)塊號保存變

28、量文件名,比如Act_Pos.var,如圖7-15所示。圖7-15 保存NC變量點擊菜單Code中Generate選項,生成數(shù)據(jù)塊的源文件,如圖7-16所示。圖7-16 生成數(shù)據(jù)塊的源文件選擇存儲數(shù)據(jù)塊源文件的路徑與文件名,比如命名為Act_Pos.awl,退出NC變量選擇器。打開STEP7項目,選中S7程序中的源文件,點擊Insert菜單中的External Source選項,如圖7-17所示。圖7-17 在項目中插入源文件選中插入剛才通過NC變量選擇器生成的數(shù)據(jù)塊源文件Act_Pos.awl,并打開。打開Act_Pos.awl源文件,并編譯。如果編譯不出錯誤將會生成數(shù)據(jù)塊DB120??梢詾?/p>

29、DB120在符號表中編輯一個符號,比如Act_Position。在用戶PLC項目中調(diào)用FB2,比如在OB1中調(diào)用FB2,分配背景數(shù)據(jù)塊為DB121。 CALL FB 2 , DB121 Req :=E7.5 NumVar :=1 Addr1 :="Act_Position".C0_SMA_actToolBasePos0_2 Unit1 :=B#16#1 Column1:= Line1 :=W#16#2 Addr2 := Unit2 := Column2:= Line2 := Addr3 := Unit3 := Column3:= Line3 := Addr4 := Unit

30、4 := Column4:= Line4 := Addr5 := Unit5 := Column5:= Line5 := Addr6 := Unit6 := Column6:= Line6 := Addr7 := Unit7 := Column7:= Line7 := Addr8 := Unit8 := Column8:= Line8 := Error :=M160.0 NDR :=M160.1 State :=MW162 RD1 :=MD180 RD2 := RD3 := RD4 := RD5 := RD6 := RD7 := RD8 :=7.3.2 FB3的應用FB3 PUT,寫NC變量,

31、通過PLC用戶程序FB3把變量寫到NCK區(qū)域中。FB3的用法與FB2的調(diào)用類似,當調(diào)用FB3時,需要一個上升沿的請求任務(wù)信號Req,任務(wù)啟動之后,PLC數(shù)據(jù)SD1到SD8,將會寫到對應的NC變量Addr1到Addr8中。表7-7所示為FB3的接口參數(shù)說明。表7-7 FB3的接口參數(shù)說明SD1-SD8信號讀取數(shù)據(jù)的目標區(qū)域查看錯誤標識任務(wù)正常執(zhí)行,且讀取到數(shù)據(jù)行地址,可選變量尋址任務(wù)或執(zhí)行有故障列地址,可選變量尋址區(qū)域地址,可選變量尋址從NC變量選擇器得到的變量標識需要讀取的變量個數(shù)上升沿任務(wù)啟動對應于Addr1到Addr8OOO參數(shù)說明參數(shù)值參數(shù)類型接口類型FB3執(zhí)行有故障的話,在參數(shù)Erro

32、r中有輸出,可以通過錯誤標識參數(shù)查詢故障的類型,如表7-8所示。在這里以用FB2讀出當前正在執(zhí)行程序的行號,并通過FB3寫到R參數(shù)中,記錄下來,通過這個例子來說明FB2/FB3如何應用。事實上,這個例子在實際應用中也是有價值的,比如操作者在突然斷電后根據(jù)R參數(shù)中的數(shù)值,便知道程序執(zhí)行到哪里了,然后利用程序段搜索,繼續(xù)被中斷的加工。 CALL "GET" , DB141 Req :=M240.1 NumVar :=1 Addr1 :=DB140.C1_SPARP_actLineNumber Unit1 :=B#16#1 Column1:= Line1 :=W#16#1 Add

33、r2 := Unit2 := Column2:= Line2 := Addr3 := Unit3 := Column3:= Line3 := Addr4 := Unit4 := Column4:= Line4 := Addr5 := Unit5 := Column5:= Line5 := Addr6 := Unit6 := Column6:= Line6 := Addr7 := Unit7 := Column7:= Line7 := Addr8 := Unit8 := Column8:= Line8 := Error :=M200.0 NDR :=M200.1 State :=MW202 RD

34、1 :=DB142.DBD0 RD2 := RD3 := RD4 := RD5 := RD6 := RD7 := RD8 := AN M 240.1 S M 240.1 O M 200.0 O M 200.1 R M 240.1 CALL "PUT" , DB143 Req :=M240.2 NumVar :=1 Addr1 :=DB140.C1_RP_rpa2_1 Unit1 := Column1:= Line1 := Addr2 := Unit2 := Column2:= Line2 := Addr3 := Unit3 := Column3:= Line3 := Add

35、r4 := Unit4 := Column4:= Line4 := Addr5 := Unit5 := Column5:= Line5 := Addr6 := Unit6 := Column6:= Line6 := Addr7 := Unit7 := Column7:= Line7 := Addr8 := Unit8 := Column8:= Line8 := Error :=M200.2 Done :=M200.3 State :=MW220 SD1 :=DB142.DBD4 SD2 := SD3 := SD4 := SD5 := SD6 := SD7 := SD8 := AN M 240.

36、2 S M 240.2 O M 200.2 O M 200.3 R M 240.2 L DB142.DBD 0 DTR /Dword transfer to RealT DB142.DBD 4表7-8 執(zhí)行FB3的錯誤代碼備注描述狀態(tài)檢查參數(shù)NumVar檢查地址(變量名,區(qū)域,UNIT參數(shù))變量地址無效參數(shù)Unit, column, line包含0值變量尋址錯誤任務(wù)必須重新啟動傳送忙RD1-RD8可能是局部數(shù)據(jù)目標區(qū)域錯誤基本程序OB100中參數(shù)NCK omm未設(shè)置選項未設(shè)置任務(wù)必須重新啟動FIFO滿變量轉(zhuǎn)換錯誤,DOUBLE變量類型不屬于S7 REAL 類型格式轉(zhuǎn)換錯誤讀取變量的長度超過在R

37、D1RD8中指定長度,在高字節(jié)中顯示有哪個變量出現(xiàn)錯誤本地用戶存儲空間不足內(nèi)部錯誤,NC RESET任務(wù)未執(zhí)行任務(wù)的變量編譯錯誤讀取變量時在高字節(jié)發(fā)生錯誤的個數(shù)任務(wù)錯誤訪問錯誤7.3.3 FB4/FC9的應用FB4 PI_SERV可以用于在NCK區(qū)域中啟動一個程序任務(wù)服務(wù)。某些程序需要實現(xiàn)特殊的功能,比如刀具管理功能中在刀庫里面搜索一個空刀位,這種功能可以在NCK中通過PI服務(wù)來實現(xiàn)啟動。當調(diào)用FB4,通過上升沿信號Req啟動一個任務(wù),任務(wù)執(zhí)行正常且沒有錯誤,則參數(shù)Done輸出為1,否則可以查看錯誤代碼確定錯誤類型,表7-9所示為FB4的參數(shù)說明。表7-9 FB4的參數(shù)說明錯誤代碼任務(wù)正常執(zhí)行

38、任務(wù)沒有正常執(zhí)行整形或字的變量,根據(jù)PI服務(wù)任務(wù)根據(jù)PI服務(wù)任務(wù)區(qū)域數(shù)量默認為"PI".VarNamePI服務(wù)任務(wù)上升沿任務(wù)啟動參數(shù)說明接口類型信號參數(shù)值參數(shù)類型從PLC啟動的PI服務(wù)任務(wù)可以由表7-10查詢,詳細地說明需要具體查看功能手冊。在FB4中輸入變量Unit, Addr ., WVar.的含義取決于PI服務(wù)的任務(wù)。表7-10 PLC啟動的PI服務(wù)任務(wù)PI 服務(wù)功能描述ASUB 分配中斷任務(wù)CANCEL執(zhí)行取消任務(wù)CONFIG重新配置機床數(shù)據(jù)MD的值DIGION 在指定的通道激活數(shù)字化DIGIOF 在指定的通道取消數(shù)字化FINDBL 激活段搜索功能LOGIN 激活密

39、碼服務(wù)LOGOUT觸發(fā)NC RESETNCRES 選擇通道中的加工程序SELECT 設(shè)置當前的用戶數(shù)據(jù),比如刀具偏置、坐標變換、可設(shè)定坐標系等SETUDT 激活用戶坐標變換功能PI 服務(wù)刀具管理服務(wù)CRCEDN通過指定刀沿號建立新刀沿CREACE 建立下一個未分配的刀沿號CREATO 通過指定T號建立刀具SETUFR 激活用戶坐標變換DELECE 刪除刀沿DELETO 刪除刀具MMCSEM 各種PI服務(wù)的信號指示,用于MMC和PLCTMCRTO 建立刀具TMFDPL 搜索用于裝刀的空刀位TMFPBP 搜索空刀位TMMVTL準備用于裝載/卸載刀具的刀位TMPOSM 刀位或刀具的位置TMPCIT設(shè)

40、置工件計數(shù)器的增量值TMRASS 復位激活狀態(tài)TRESMO 復位監(jiān)控值TSEARC 用于搜索屏幕表格的復雜搜索比如,在某些機床上,需要在執(zhí)行加工程序的同時監(jiān)控某個外部條件,當條件滿足時調(diào)用相應的處理子程序。這個功能的實現(xiàn)就可以通過FB4來實現(xiàn),先調(diào)用FB4將中斷號與子程序做個連接(機床上電后,只需要執(zhí)行一次即可),當條件滿足后調(diào)用FC9觸發(fā)中斷。這也就是所謂的異步子程序功能。任意準備一個主程序和一個子程序,本例中準備DEMO.MPF和ASYN.SPF,裝載到NC RAM中,并選擇DEMO.MPF。DEMO.MPF G0 X0 Y0 Z50 G1 X200 F100 Y200 X0 Y0 M30

41、ASYN.SPF G0 X150 Y150 G4 F5 M17新建一個項目,然后建立一個數(shù)據(jù)塊DB100,如圖7-18所示,在PLC用戶程序中調(diào)用FB4,如圖7-19所示。圖7-18 建立FB4使用的數(shù)據(jù)塊DB100圖7-19 在PLC程序中調(diào)用FB4調(diào)用FC9觸發(fā)中斷,F(xiàn)C9 ASUB,用于從PLC中啟動一個異步子程序,F(xiàn)C9的參數(shù)說明如表7-11所示。表7-11 FC9的參數(shù)說明信號類型數(shù)據(jù)類型值描述Start輸入BOOLChanNo輸入INT1-10NC的通道號IntNo輸入INT1-8中斷號Active輸出BOOL1=激活Done輸出BOOL1=ASUB完成Error輸出BOOL1=中

42、斷關(guān)閉StartErr輸出BOOL1=中斷號未分配RefWORD全局變量(MW, DBW)FC9內(nèi)部使用的字在OB1中繼續(xù)調(diào)用FC9,如圖7-20所示。圖7-20 調(diào)用FC9觸發(fā)中斷測試時,上電之后按下I7.5鍵,啟動DEMO.MPF程序,運行過程中,隨時按下I7.7都可以中斷掉DEMO.MPF程序,而轉(zhuǎn)去執(zhí)行ASYN.SPF程序,之后返回DEMO.MPF程序,如果要恢復到被中斷的那一句,則在子程序M17前用REPOS指令。7.3.4 FB5的應用通過FB5 GETGUD程序,在PLC用戶程序中可以從NCK中讀取GUD用戶自定義的變量,F(xiàn)B5的參數(shù)說明如表7-12所示。表7-12 FB5的參數(shù)

43、說明須要寫入的數(shù)據(jù)錯誤標識號任務(wù)執(zhí)行正常任務(wù)沒有響應或任務(wù)執(zhí)行錯誤10個字節(jié)的令牌地址激活產(chǎn)生一個變量令牌域索引 2-變量,如果沒有使用域索引,變量值為0域索引 1-變量,如果沒有使用域索引,變量值為0NCK區(qū)域: Unit=1通道區(qū)域: 通道號區(qū)域地址:0-NCK2-通道 GUD變量名稱,數(shù)據(jù)類型為STRING上升沿任務(wù)啟動參數(shù)說明參數(shù)值參數(shù)類型接口類型信號如果FB5執(zhí)行有故障的話,在參數(shù)Error中有輸出,可以通過錯誤標識參數(shù)查詢故障的類型,如表7-13所示。在系統(tǒng)中事先定義好用戶變量,假設(shè)變量TEST1為用戶定義的GUD。創(chuàng)建一個PLC項目,然后插入一個數(shù)據(jù)塊DB101,數(shù)據(jù)塊分配符號為

44、read_GUD,如圖7-21所示。圖7-21 創(chuàng)建用于FB5數(shù)據(jù)塊DB101在PLC用戶程序OB1中調(diào)用FB5,如圖7-22所示。圖7-22 在OB1中調(diào)用FB5下裝程序,當按下I7.7時,用戶變量TEST1的數(shù)值便會讀到MD110中。表7-13 執(zhí)行FB5的錯誤代碼檢查地址(變量名,區(qū)域,UNIT參數(shù))任務(wù)必須重新啟動參數(shù)Unit包含0值傳送忙-RD可能是局部數(shù)據(jù)目標區(qū)域錯誤基本程序OB100中參數(shù)NCK omm未設(shè)置任務(wù)必須重新啟動檢查RD讀入的數(shù)據(jù)任務(wù)未執(zhí)行內(nèi)部錯誤,NC RESET任務(wù)的變量編譯錯誤變量地址無效變量尋址錯誤選項未設(shè)置FIFO滿數(shù)據(jù)區(qū)域或數(shù)據(jù)類型不符任務(wù)錯誤訪問錯誤狀態(tài)

45、備注描述 7.3.5 FB7的應用FB7功能的詳細說明可以參照FB4,F(xiàn)B7 PI_SERV2與FB4的區(qū)別在WVar1的數(shù)量以及參數(shù)序列,所有的FB4的功能都可以通過FB7實現(xiàn),F(xiàn)B7的參數(shù)說明如表7-14所示。創(chuàng)建PLC項目,通過TOOL BOX啟動基本PLC功能,建立一個數(shù)據(jù)塊DB110,如圖7-23所示。圖7-23 建立用于FB7的數(shù)據(jù)塊DB100表7-14 FB7的參數(shù)說明任務(wù)沒有正常執(zhí)行任務(wù)正常執(zhí)行錯誤代碼整形或字的變量,根據(jù)PI服務(wù)任務(wù)根據(jù)PI服務(wù)任務(wù)區(qū)域數(shù)量PI服務(wù)任務(wù)DBName.VarName默認為"PI".VarName上升沿任務(wù)啟動參數(shù)說明接口類型信

46、號參數(shù)值參數(shù)類型在OB1中調(diào)用FB7,分配背景數(shù)據(jù)塊DB111,如圖7-24所示。圖7-24 FB7的調(diào)用例程編寫一個DEMO.MPF程序并下裝到NC RAM中,按下I7.7則選擇了DEMO.MPF程序。7.3.6 PLC軸的控制PLC軸的運動可以與其它的NC軸運行不同步,運動位移的產(chǎn)生與路徑和同步無關(guān),在任何操作模式下,PLC軸運動的方式,、運動位移的距離以及運動位移的速度可以直接通過PLC直接處理,而不受NC程序的控制。PLC軸屬于非插補軸,可以與加工同時執(zhí)行運動,一般并不參與世紀的加工過程。通常用于刀庫的控制、工作臺的交換、分度工作臺以及其他的外圍裝置等,從而可以大量的減少非生產(chǎn)時間。P

47、LC控制軸的運動方式、運動位移距離和運動位移速度可以直接由PLC程序給出而不執(zhí)行系統(tǒng)的插補指令。FC15 POS_AX用于線性軸以及旋轉(zhuǎn)軸的定位功能,其參數(shù)功能如表7-15所示。FC15的功能在系統(tǒng)軟件版本SW3.6之后都已經(jīng)集成在FC18中,所以對于新的應用場合,不再需要調(diào)用FC15。為了能夠通過PLC功能運行NC軸,必須在PLC中執(zhí)行激活操作,比如FC15 POS_AX程序塊具有激活功能的參數(shù)。表7-15 FC15的參數(shù)功能運行過程中的錯誤信息,需要在PLC中由用戶診斷軸不能被啟動1=激活1=到位信號線性軸速率:mm/min,旋轉(zhuǎn)軸:deg/min線性軸位置:mm,旋轉(zhuǎn)軸:deg1=手輪調(diào)

48、修0-絕對,1-增量須要運行的軸號取值范圍類型描述數(shù)據(jù)類型信號FC16 PART_AX用于索引軸的定位,其參數(shù)功能如表7-16所示。FC16的功能在系統(tǒng)軟件版本SW3.6之后都已經(jīng)集成在FC18中,所以對于新的應用場合,不再需要調(diào)用FC16。表7-16 FC16的參數(shù)功能0=旋轉(zhuǎn)軸作為線性軸運行,1=旋轉(zhuǎn)軸正向運行索引軸位置1=到位信號進給率:線性軸:mm/min,旋轉(zhuǎn)軸:deg/min運行過程中的錯誤信息,需要在PLC中由用戶診斷軸不能被啟動1=激活0=旋轉(zhuǎn)軸作為線性軸運行,1=旋轉(zhuǎn)軸負向運行0=指定方向,1=最短路徑,當DC=1,則參數(shù)IC,Minus,Plus必須為00-絕對,1-增量需要運行的軸號取值范圍描述類型數(shù)據(jù)類型信號FC18 SpinCtrl,用于控制從PLC控制軸或主軸,支持主軸定位、主軸旋轉(zhuǎn)、主軸擺動、索引軸以及定位軸,表7-17表7-22所示為各種功能的參數(shù)說明。表7-17 FC18用于主軸定位的參數(shù)說明Start初始化信號Funct1=主軸定位Mode定位模式1,2,3,4AxisNo機床軸號Pos位置FRate定位速度,如果FRate=0,則使用MD35300的值InPos當定位達到精確準停,則被置位為1Err

溫馨提示

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

評論

0/150

提交評論