現(xiàn)場總線技術(shù)及應用課件:非周期性數(shù)據(jù)的應用_第1頁
現(xiàn)場總線技術(shù)及應用課件:非周期性數(shù)據(jù)的應用_第2頁
現(xiàn)場總線技術(shù)及應用課件:非周期性數(shù)據(jù)的應用_第3頁
現(xiàn)場總線技術(shù)及應用課件:非周期性數(shù)據(jù)的應用_第4頁
現(xiàn)場總線技術(shù)及應用課件:非周期性數(shù)據(jù)的應用_第5頁
已閱讀5頁,還剩71頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

非周期性數(shù)據(jù)的應用7.1周期性數(shù)據(jù)和非周期性數(shù)據(jù)7.2ModbusRTU的非周期性數(shù)據(jù)7.3CANopen的非周期性數(shù)據(jù)7.4ProfibusDP的非周期性數(shù)據(jù)7.5工業(yè)以太網(wǎng)的非周期性數(shù)據(jù)小結(jié)思考與習題

知識目標

(1)了解非周期性數(shù)據(jù)的特征。

(2)理解不同通信協(xié)議非周期性數(shù)據(jù)的處理方法。

能力目標

(1)掌握各種通信協(xié)議非周期性數(shù)據(jù)功能塊的使用。

(2)掌握非周期性數(shù)據(jù)分析的方法。

7.1周期性數(shù)據(jù)和非周期性數(shù)據(jù)

現(xiàn)場總線應用中,周期性數(shù)據(jù)為現(xiàn)場設(shè)備的控制和監(jiān)視提供支持,它也是現(xiàn)場應用中最常見、應用最多的數(shù)據(jù)類型。非周期性數(shù)據(jù)的應用相對較少,但它可以對現(xiàn)場設(shè)備的參數(shù)進行讀/寫的操作,也是我們必須要了解的一種數(shù)據(jù)類型。

周期性數(shù)據(jù)是指設(shè)備之間根據(jù)一定的周期來反復進行的訪問數(shù)據(jù),并由控制者決定其開始及結(jié)束的時間。

周期性數(shù)據(jù)通常用于現(xiàn)場設(shè)備的控制和監(jiān)視,因為控制和監(jiān)視的數(shù)據(jù)本身需要反復進行,而不是訪問一次就可以的。

例如:控制變頻器時的頻率給定值就是需要不停地重復給定的,變頻器也會根據(jù)當前的頻率給定值來改變自身的輸出頻率,這樣一旦頻率給定值發(fā)生變化,變頻器的輸出頻率也會跟著立即變化;變頻器的輸出電流也是需要不停地重復讀出的,這樣我們才能知道電機運行的實時電流,并根據(jù)當前電流的大小及持續(xù)時間來判斷電機是否過載或欠載。周期性數(shù)據(jù)的周期是由上位機的掃描周期、通信的速率及收發(fā)器的性能決定的,它們的響應時間通常都很短,是毫秒甚至微秒級的,用以保證周期性數(shù)據(jù)的每一幀都能準確無誤地傳遞。周期性數(shù)據(jù)是整個通信數(shù)據(jù)中比例較大的部分,而且對速率的要求較高。

非周期性數(shù)據(jù)是指設(shè)備之間根據(jù)控制者的需求發(fā)起的一次或多次的訪問數(shù)據(jù),并在每次成功訪問后結(jié)束。

非周期性數(shù)據(jù)通常用于現(xiàn)場設(shè)備的參數(shù)修改或讀取,這些修改或讀取通常只需要進行一次即可,因為修改或讀取成功即可進行其他的工作,不需要重復進行。一旦非周期性數(shù)據(jù)需要再次或多次訪問,重新申請一次或多次訪問即可。

例如,將變頻器的加速時間由出廠設(shè)置的3秒修改為30秒,只需要通過非周期性數(shù)據(jù)申請寫入,將加速時間修改為30秒并保存即可,修改成功之后無需重復寫入。非周期性數(shù)據(jù)訪問需要的時間一樣取決于上位機的掃描周期、通信的速率及收發(fā)器的性能,但由于非周期性數(shù)據(jù)通常對實時性的要求不是很高,所以對現(xiàn)場總線上設(shè)備的性能并沒有很高的要求。非周期性數(shù)據(jù)是整個通信數(shù)據(jù)中比例較小的部分,只在需要的時候發(fā)起并結(jié)束,對速率的要求不是特別高。

目前對現(xiàn)場設(shè)備的參數(shù)訪問中,有DTM、webserver等手段,也有很多設(shè)備本身就具有參數(shù)切換的功能,甚至有些現(xiàn)場也靠盡量縮短開始和結(jié)束之間的時間間隔來把周期性數(shù)據(jù)當作非周期數(shù)據(jù)來使用。再加上很多通信協(xié)議將非周期性數(shù)據(jù)的訪問定義得過于嚴苛和復雜,導致非周期性數(shù)據(jù)的應用越來越少。但非周期性數(shù)據(jù)的應用我們還是需要了解的,它對我們理解通信的內(nèi)容和過程有很大的幫助。

7.2ModbusRTU的非周期性數(shù)據(jù)

ModbusRTU通信協(xié)議中并沒有定義如CANopen里的SDO、ProfibusDP里的PKW這類的非周期性數(shù)據(jù),但是它也有方法可以將數(shù)據(jù)進行非周期性的讀/寫。我們將以施耐德M340的PLC和施耐德ATV71變頻器的ModbusRTU通信為例來說明兩種方法,即使用READ_VAR和WRITE_VAR功能塊以及使用DATA_EXCH功能塊。

7.2.1使用READ_VAR和WRITE_VAR功能塊

在第3章中,我們已經(jīng)了解了使用READ_VAR和WRITE_VAR功能塊來對數(shù)據(jù)進行周期性讀寫的方法,如圖7-1所示。

從這段程序中我們可以看到,在令牌觸發(fā)的情況下,READ_VAR和WRITE_VAR功能塊就會開始工作,進行周期性數(shù)據(jù)的讀和寫的操作。

圖7-1Modbus中READ_VAR和WRITE_VAR

這種情況下想進行非周期性數(shù)據(jù)的讀/寫也很簡單,只需要在READ_VAR和WRITE_VAR功能塊前面再附加一個觸發(fā)條件就可以了,當觸發(fā)條件滿足時就開始讀/寫,當觸發(fā)條件失效時就停止讀/寫。例如,可以在READ_VAR功能塊的EN腳前面串聯(lián)一個M0的常開觸點,需要READ_VAR功能塊進行讀操作時就讓M0的觸點閉合,需要READ_VAR功能塊結(jié)束讀操作時就讓M0的觸點打開。M0的閉合和打開的時機完全可以由編程者自己決定,如定時進行、其他條件觸發(fā)進行、人為結(jié)束、成功讀取數(shù)據(jù)后結(jié)束等很多方法,這里不再贅述。

7.2.2使用DATA_EXCH功能塊

DATA_EXCH是一個用于數(shù)據(jù)傳輸?shù)墓δ軌K,在施耐德M340的CPU上,它可以用于將Modbus的請求發(fā)送到另一個設(shè)備。與READ_VAR及WRITE_VAR功能塊不同,DATA_EXCH更像是人為地傳輸一個或多個數(shù)據(jù)幀。

在“項目瀏覽器”→“項目”→“變量和FB實例”→“基本變量”中建立3個類型為INT的變量,如圖7-2所示。

圖7-2新建變量的界面

REG變量用于存放即將讀或?qū)懙淖冾l器的寄存器地址;FUN用于存放讀或?qū)懻埱蟮腗odbus功能碼;VAL用于存放讀出的值或即將寫入的值。

在“項目瀏覽器”→“項目”→“程序”→“任務”→“MAST”→“段”中新建一個FBD格式名為“DATA_EXCH”的程序,如圖7-3所示。

圖7-3新建DATA_EXCH程序

在理解這段程序之前,我們需要先回憶一下Modbus數(shù)據(jù)幀的格式。

(1)?03功能碼的消息格式如下:

主機請求

(2)

06功能碼的主機請求和從機應答的消息格式是相同的。格式如下:

DATA_EXCH功能塊的EMIS腳輸入的數(shù)據(jù)中不需要包含從站編號和CRC16校驗,對應之前建立的3個變量。DATA_EXCH功能塊的EMIS腳輸入的數(shù)據(jù)格式如下:

(1)?03功能碼的消息格式如下:

03功能碼和06功能碼對于DATA_EXCH功能塊的EMIS腳來說需要處理的消息格式是一致的。格式如下:

但是要注意,DATA_EXCH功能塊的EMIS腳輸入的要求是“低字節(jié)在前,高字節(jié)在后”,那么我們需要把剛才的消息格式按照從前到后的順序進行高低字節(jié)的位置互換?;Q之后消息格式如下:

理解了EMIS腳輸入的消息格式后,我們就可以理解剛才的程序中前3個MOVE功能塊的功能了,如圖7-4所示。

圖7-4前3個MOVE功能塊

在程序中,我們看到DATA_EXCH功能塊的EMIS腳輸入的是%MW50、%MW51、%MW52這3個由INT型數(shù)組成的數(shù)組內(nèi)的數(shù)據(jù)。在經(jīng)過這3個MOVE功能塊的數(shù)據(jù)輸入后,%MW50、%MW51、%MW52里面存儲的數(shù)據(jù)如下:

其中REG&16#FF00表示變量REG和十六進制的FF00相與,即保留變量REG的高字節(jié),因為一個字和十六進制的FF00相與即和1111111100000000相與,高字節(jié)的8位值會按原樣保留,低字節(jié)的8位會變?yōu)?。

同理,VAL&16#FF00可以保留VAL的高字節(jié),REG&16#00FF可以保留REG的低字節(jié),VAL&16#00FF可以保留VAL的低字節(jié)。

也就是說,經(jīng)過前面的3個MOVE功能塊后,%MW50、%MW51、%MW52里面存儲的數(shù)據(jù)如下:

可以看到,這跟之前提到的DATA_EXCH的EMIS腳需求的輸入格式是一致的,前3個MOVE功能塊的作用就是把數(shù)據(jù)轉(zhuǎn)化為EMIS腳需求的格式。

第4個MOVE功能塊則要簡單得多,是將%MW103賦值5,如圖7-5所示。

圖7-5第4個MOVE功能塊

這一步的意義是,我們傳遞數(shù)據(jù)一共只使用了5個字節(jié),第3個字的高字節(jié)沒有用到,我們必須要將使用的數(shù)據(jù)長度分配給GEST腳的第4個字即%MW103內(nèi),以保證數(shù)據(jù)傳輸?shù)恼_M行。

最后一步就是關(guān)鍵的DATA_EXCH功能塊,如圖7-6所示。

圖7-6DATA_EXCH功能塊

ADR對應的是需要傳輸?shù)牡刂?,我們通過一個ADDM功能塊將變頻器的地址“0.0.0.3”寫入。

TYP對應的是操作模式,對于M340我們輸入的值是1,代表傳輸數(shù)據(jù)后等待接收。

EMIS對應的是數(shù)據(jù)幀的一部分,這部分內(nèi)容我們剛才已經(jīng)做了詳細介紹。

GEST對應的是交換管理區(qū),比較重要的就是它的第4個字。

RECP對應的是數(shù)據(jù)接收區(qū),我們使用的是從%MW80開始的連續(xù)10個字。

在“項目瀏覽器”→“動態(tài)數(shù)據(jù)表”內(nèi)新建一個動態(tài)數(shù)據(jù)表,如圖7-7所示。

圖7-7新建動態(tài)數(shù)據(jù)表界面

在PLC和變頻器正常連接后,于在線模式下,將REG修改為“3201”,VAL修改為“1”,F(xiàn)UN修改為“3”,如圖7-8所示。

圖7-8待機時的狀態(tài)字界面

立即讀取狀態(tài)字的值,讀取出來的結(jié)果顯示在%MW80、%MW81內(nèi)的數(shù)據(jù)是十六進制的0203,3300。當然,這里的數(shù)據(jù)也是低字節(jié)在前高字節(jié)在后的,我們將高低字節(jié)內(nèi)的數(shù)值互換,即得到正確的反饋信息是0302,0033。參考之前的Modbus反饋信息的格式,我們可知它表達的意思是讀到2個字節(jié)的值為0033,即變頻器處于待機狀態(tài)。

在變頻器處于RUN狀態(tài)下,讀取到的信息如圖7-9所示。

我們再將REG修改為9001,VAL修改為600,F(xiàn)UN修改為6,如圖7-10所示。

圖7-10修改加速時間的界面

就是請求將變頻器的9001即加速時間修改為600(即60秒),反饋的數(shù)據(jù)轉(zhuǎn)換后為十六進制的062329025800,即十進制的069001600,參數(shù)修改成功。

ATV71變頻器的參數(shù)在修改之后,如果希望在斷電并再次上電之后參數(shù)依然有效,需要對擴展控制字CMI的bit1置1,以將參數(shù)保存至變頻器的EEPROM。需要注意的是,在參數(shù)成功保存之后CMI的bit1會自動回零,一定不要重復地將其置1,因為EEPROM的壽命是有限的,重復的置1會導致變頻器的EEPROM快速損壞。

如果希望DATA_EXCH功能塊按照我們的需求只執(zhí)行一次或有限次,可以按照之前在READ_VAR和WRITE_VAR里提到的方法,用一定的觸發(fā)條件來觸發(fā)及結(jié)束DATA_EXCH功能塊即可。

7.3CANopen的非周期性數(shù)據(jù)

CANopen中有定義專門用于非周期性數(shù)據(jù)的SDO類型,我們將以施耐德M340的PLC和施耐德ATV71變頻器來進行實驗,在M340中同樣可以使用READ_VAR和WRITE_VAR功能塊來實現(xiàn)CANopen的SDO讀/寫,只是引腳的輸入和Modbus略有不同。

本實驗中,我們使用的是BMXP3420102的CPU,它有一個自帶的CANopen接口,將其連接至變頻器的CANopen接口即可,變頻器的地址設(shè)置為3,PLC的CANopen網(wǎng)絡(luò)組態(tài)中一樣將變頻器的地址組態(tài)設(shè)置為3。

在“項目瀏覽器”→“變量和FB實例”→“基本變量”中新建以下變量,如圖7-11所示。圖7-11新建變量界面

我們將M1和M2分別放置于READ_VAR和WRITE_VAR功能塊的前端,用于觸發(fā)讀和寫的操作,它們的變量類型為BOOL。REG1和REG2在程序中用于輸入讀或?qū)懙淖冾l器的寄存器地址,它們的變量類型為DINT,因為SDO的CANopen地址包含索引和子索引,需要占用兩個字。

在“項目瀏覽器”→“程序”→“任務”→“MAST”→“段”中新建名為“READWRITE”的LD格式程序。輸入讀的程序如圖7-12所示。

圖7-12新建讀程序

M1用于觸發(fā)READ_VAR功能塊。

ADR腳對應的是CANopen從站即變頻器的地址,我們需要使用一個ADDM的命令來輸入“0.0.2.3”,0.0.2對應的是CPU上自帶的CANopen接口,3對應的是變頻器的CANopen地址。

OBJ腳對應的是讀取的數(shù)據(jù)類型,由于我們需要讀取的是SDO數(shù)據(jù),這里輸入“sdo”,這點和Modbus是不同的。

NUM腳對應的是讀取的寄存器地址,這里輸入之前建立的變量REG1。需要注意的是,這個地址對應的是CANopen的地址即包含索引和子索引,而且它是“低字在前,高字在后”,在修改REG1的值時需要把子索引放在前面,索引放在后面。

NB腳對應的是需要讀取的寄存器偏移量,這里設(shè)置為0。

GEST腳對應的是數(shù)據(jù)交換管理表,這里輸入一個從%MW200開始長度為4的數(shù)組來存放交換管理表。

RECP腳對應的是讀操作后的數(shù)據(jù)接收區(qū),這里輸入一個從%MW100開始長度為16的數(shù)組來存放接收到的數(shù)據(jù)。

在“READWRITE”程序中輸入寫的程序,如圖7-13所示。圖7-13新建寫程序

M2用于觸發(fā)WRITE_VAR功能塊。

ADR腳對應的是CANopen從站即變頻器的地址,輸入一個和READ_VAR功能塊中一樣的地址ADDM(‘0.0.2.3’)。

OBJ腳對應的是寫入的數(shù)據(jù)類型,由于我們需要寫入的是SDO數(shù)據(jù),這里輸入“sdo”,和READ_VAR功能塊中一樣。

NUM腳對應的是寫入的寄存器地址,這里輸入之前建立的變量REG2,一樣是“低字在前,高字在后”,在修改REG2的值時同樣需要把子索引放在前面,索引放在后面。

NB腳對應的是需要寫入的寄存器偏移量,這里設(shè)置為0。

EMIS腳對應的是需要寫入寄存器的值,這里使用了一個從%MW300開始長度為2的數(shù)組來輸入要寫入的值。

GEST腳對應的是數(shù)據(jù)交換管理表,這里輸入一個從%MW400開始長度為4的數(shù)組來存放交換管理表。需要注意的是,WRITE_VAR功能塊有一點不同的地方是必須要從

GEST中指定寫入的數(shù)據(jù)長度,否則寫操作不能正常進行。本例中,我們需要在%MW403中輸入2,即數(shù)據(jù)長度為2個字節(jié)。

在“項目瀏覽器”→“動態(tài)數(shù)據(jù)表”中新建一個數(shù)據(jù)表,如圖7-14所示。

圖7-14新建數(shù)據(jù)表界面

從變頻器的通信地址表中查到狀態(tài)字ETA的CANopen地址為6041/00,即索引6041,子索引00。在數(shù)據(jù)表中將REG1的值修改為“16#0000_6041”(子索引在前,索引在后),M1的值修改為“1”,可以看到%MW100讀出的值為“16#0033”,狀態(tài)字顯示變頻器處于待機狀態(tài),如圖7-15所示。

圖7-15讀取狀態(tài)字的界面

從變頻器的地址表中查到加速時間ACC的CANopen地址為16#203C/2,即索引203C,子索引2。在數(shù)據(jù)表中將REG2的值修改為“16#0002_203C”(子索引在前,索引在后),%MW403的值修改為“2”(寫入數(shù)據(jù)的長度),%MW300的值修改為“600”(即60秒),M2的值修改為“1”,如圖7-16所示。

圖7-16修改加速時間的界面

7.4ProfibusDP的非周期性數(shù)據(jù)

我們使用的實驗設(shè)備是西門子S7-300的PLC和施耐德ATV340的變頻器,在組態(tài)過程中將ATV340添加至ProfibusDP網(wǎng)絡(luò)后,將其PPO數(shù)據(jù)類型選擇為Telegram100(4PKW/2PZD),如圖7-17所示。圖7-17PPO數(shù)據(jù)類型選擇的界面

從組態(tài)界面中我們可以看到,“I地址”和“Q地址”中的“50...57”的8個字節(jié)即4個字就是PKW,而“I地址”和“Q地址”中的“58...61”的4個字節(jié)即2個字就是PZD。需要注意的是,施耐德變頻器的Telegram100是特定的報文格式,它的PKW定義及訪問和其他Profidrive設(shè)備是不同的。它的輸入PKW區(qū)定義如表7-1所示。

從它的輸入和輸出的PKW區(qū)定義可以看到,和PZD同自己映射的數(shù)據(jù)一一對應不同,PKW的讀和寫是由多個字配合完成的,每個字都有自己不同的功能。輸入和輸出的PKW1都用于存放需要讀或?qū)懙膮?shù)所對應的Modbus地址;輸入的PKW2用于存放當前操作的請求是讀或?qū)?,輸出的PKW2用于存放請求的響應進度;輸入的PKW3、PKW4用于存放需要寫入的值,輸出的PKW3、PKW4用于存放請求成功之后的值。

在對PKW進行訪問時,需要使用西門子PLC內(nèi)置的SFC58和SFC59即WR_REC寫數(shù)據(jù)記錄和RD_REC讀數(shù)據(jù)記錄這兩個模塊。在主程序OB1中添加程序,如圖7-18所示。

圖7-18添加程序圖7-18添加程序

程序段1中,通過MOVE指令將十六進制的值32即十進制的值50寫入到寄存器%MW16中,用以對應PKW的起始地址50。

程序段2中,通過WR_REC功能塊將寄存器%MW4中存儲的參數(shù)的Modbus邏輯地址寫入到PKW中。

程序段3中,通過RD_REC功能塊將程序段2中對應的參數(shù)的Modbus邏輯地址的值讀出,并存儲在%MW6中。

程序段4中,通過WR_REC功能塊將寄存器?%MW8中存儲的值寫入到程序段2中對應的參數(shù)的Modbus邏輯地址中。

需要注意的是,RD_REC功能塊和WR_REC功能塊都是對PKW區(qū)整體操作的,其在程序中不同的位置實現(xiàn)的功能可能不同,具體操作值的對應關(guān)系請參考之前PKW區(qū)的定義。

在博圖軟件中新建監(jiān)控表如圖7-19所示。

圖7-19新建監(jiān)控表的界面

從變頻器的通信地址表我們得知ATV340變頻器的參數(shù)“加速時間”的邏輯地址為9001,在監(jiān)控表中將?%MW4的修改值設(shè)置為9001刷新,并將?%MW0.0強制為TRUE,將9001發(fā)送到PKW中;再將?%MW0.1強制為TRUE,即可讀出當前9001的值顯示在?%MW6中,顯示為30(即3秒),如圖7-20所示。

圖7-20讀取加速時間的界面

再次將?%MW8的修改值設(shè)置為300刷新,并將%MW0.2強制為TRUE,即可將300(即30秒)寫入到9001中,從?%MW6的讀取值變?yōu)?00可以看到修改成功,如圖7-21所示。

圖7-21寫入加速時間的界面

使用同樣的方法,可以通過修改這幾個寄存器的值來實現(xiàn)對變頻器其他參數(shù)的讀/寫。如讀取狀態(tài)字3201的值,如圖7-22所示。

圖7-22讀取狀態(tài)字的界面

當然,狀態(tài)字3201的值是只讀的,不可寫。

如果需要設(shè)置的參數(shù)在變頻器斷電后能夠保存,和Modbus通信中的操作一樣需要將擴展控制字的對應位賦值,這里不再贅述。

從監(jiān)控表的操作中可以看到,PKW對參數(shù)的讀或?qū)懙牟僮魇峭ㄟ^寄存器的一次次賦值以及將?%M0.0、%M0.1、%M0.2強制為TRUE來執(zhí)行的,當?%M0.0、%M0.1、%M0.2強制為FALSE后即操作結(jié)束,并不會跟隨PLC的掃描周期反復進行,這就是非周期性數(shù)據(jù)的典型特征。

7.5工業(yè)以太網(wǎng)的非周期性數(shù)據(jù)

在前面的章節(jié)我們提到工業(yè)以太網(wǎng)和很多通信協(xié)議的應用層都是類似的,如ModbusTCP和ModbusRTU,在非周期性數(shù)據(jù)的處理上,它們也有很多是類似的。

ModbusTCP和ModbusRTU類似,在處理非周期性數(shù)據(jù)時,可以使用READ_VAR和WRITE_VAR功能塊,也可以使用DATA_EXCH功能塊。

EthernetIP在處理非周期性數(shù)據(jù)時,可以使用和周期性數(shù)據(jù)類似的方法再加上附加的觸發(fā)條件即可,即人為控制周期性數(shù)據(jù)的開始和結(jié)束,不讓數(shù)據(jù)跟隨著循環(huán)周期不斷地刷新;也可以使用DATA_EXCH功能塊。

Profinet在處理非周期性數(shù)據(jù)時,和ProfibusDP類似,用PKW的讀/寫辦法即可。

總而言之,工業(yè)以太網(wǎng)的非周期性數(shù)據(jù)的處理可以參考本章之前的一些方法,它們只是在網(wǎng)絡(luò)組態(tài)及功能塊的部分引腳定義上面有所不同,這里不再贅述。

結(jié)

本章通過實驗介紹了多個不同的通信協(xié)議訪問非周期性數(shù)據(jù)的方法,但是不同的上位機和受控設(shè)備在非周期性數(shù)據(jù)的處理方法上也許是不同的,本章介紹的方法只能針對對應的型號。

非周期性數(shù)據(jù)通常用于受控設(shè)備參數(shù)的讀/寫,這種方式在目前的很多上位機中都是

溫馨提示

  • 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

提交評論