Ignition由Inductive Automation:歷史數據管理與查詢教程.Tex.header_第1頁
Ignition由Inductive Automation:歷史數據管理與查詢教程.Tex.header_第2頁
Ignition由Inductive Automation:歷史數據管理與查詢教程.Tex.header_第3頁
Ignition由Inductive Automation:歷史數據管理與查詢教程.Tex.header_第4頁
Ignition由Inductive Automation:歷史數據管理與查詢教程.Tex.header_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Ignition由InductiveAutomation:歷史數據管理與查詢教程1Ignition歷史數據管理概覽1.1歷史數據的重要性在工業(yè)自動化和信息化領域,歷史數據的收集與分析對于優(yōu)化生產流程、預測設備維護、實現數據驅動的決策至關重要。歷史數據不僅記錄了過去的狀態(tài),還提供了對趨勢、模式和異常的洞察,是實現工業(yè)4.0和智能制造的關鍵要素。1.2Ignition歷史數據模塊介紹IgnitionbyInductiveAutomation是一個靈活的工業(yè)自動化平臺,其歷史數據模塊提供了強大的數據存儲和查詢功能。該模塊能夠高效地存儲從各種設備和系統(tǒng)收集的實時數據,同時提供靈活的查詢工具,幫助用戶分析數據,發(fā)現模式,支持決策制定。1.2.1數據存儲Ignition的歷史數據存儲基于時間序列數據庫,能夠處理大量數據,同時保持快速的查詢響應時間。它支持多種數據存儲策略,包括:固定時間間隔存儲:例如,每分鐘或每小時存儲一次數據。事件驅動存儲:當數據變化超過一定閾值時存儲。混合策略:結合固定時間間隔和事件驅動,以平衡存儲需求和數據精度。1.2.2數據查詢Ignition提供了豐富的數據查詢工具,包括SQL查詢、歷史趨勢圖、數據報表等,用戶可以根據需要選擇最適合的查詢方式。例如,使用SQL查詢可以靈活地提取特定時間段內的數據,進行復雜的數據分析。1.3數據存儲策略與優(yōu)化1.3.1策略選擇選擇合適的數據存儲策略是優(yōu)化歷史數據管理的關鍵。不同的策略適用于不同的場景:固定時間間隔存儲適用于需要連續(xù)監(jiān)控數據變化的場景,如生產線的實時監(jiān)控。事件驅動存儲適用于數據變化不頻繁,但變化時需要立即記錄的場景,如設備故障報警。混合策略結合了上述兩種策略的優(yōu)點,適用于需要平衡數據精度和存儲空間的場景。1.3.2優(yōu)化技巧為了提高歷史數據的存儲效率和查詢性能,可以采取以下優(yōu)化技巧:數據壓縮:使用數據壓縮技術減少存儲空間,同時保持數據的完整性和查詢速度。數據聚合:在存儲時對數據進行聚合,如平均值、最大值等,減少存儲的數據量,同時簡化查詢過程。數據清理:定期清理過期或不再需要的歷史數據,釋放存儲空間,提高查詢效率。索引優(yōu)化:合理設置索引,加速數據查詢,特別是對于頻繁查詢的字段。1.3.3示例:數據存儲策略配置#配置Ignition歷史數據模塊的存儲策略

#以下示例展示了如何配置事件驅動存儲策略

fromignitionimporthistory

#創(chuàng)建歷史數據存儲配置對象

data_config=history.DataStorageConfig()

#設置事件驅動存儲策略

data_config.set_storage_strategy(history.StorageStrategy.EVENT_DRIVEN)

#設置數據變化閾值

data_config.set_change_threshold(5)#當數據變化超過5%時存儲

#應用配置

history.apply_data_storage_config(data_config)在上述示例中,我們首先導入了Ignition的歷史數據模塊。然后,創(chuàng)建了一個DataStorageConfig對象,用于配置數據存儲策略。我們設置了事件驅動存儲策略,并定義了數據變化的閾值為5%,意味著只有當數據變化超過5%時,才會觸發(fā)存儲操作。最后,應用了配置,確保歷史數據模塊按照設定的策略運行。1.3.4示例:數據查詢與分析#使用Ignition歷史數據模塊進行數據查詢

#以下示例展示了如何查詢特定時間段內的數據

fromignitionimporthistory

#設置查詢參數

query_params=history.QueryParameters()

query_params.set_start_time("2023-01-01T00:00:00Z")

query_params.set_end_time("2023-01-31T23:59:59Z")

query_params.set_tag_name("ProductionLine1.Temperature")

#執(zhí)行查詢

data=history.query_data(query_params)

#數據分析

average_temperature=sum(data.values())/len(data)

print(f"平均溫度:{average_temperature}°C")在本示例中,我們首先設置了查詢參數,包括查詢的開始時間、結束時間和需要查詢的標簽名(在本例中為“ProductionLine1.Temperature”)。然后,使用history.query_data函數執(zhí)行查詢,獲取特定時間段內的數據。最后,我們對查詢結果進行了簡單的數據分析,計算了平均溫度,并打印了結果。通過這些示例,我們可以看到Ignition歷史數據模塊在數據存儲和查詢方面的強大功能,以及如何通過合理的策略配置和優(yōu)化技巧,提高數據管理的效率和性能。2配置歷史數據模塊2.1模塊安裝與激活在Ignition中配置歷史數據管理首先需要安裝并激活歷史數據模塊。這通常在IgnitionGateway的管理界面中完成。登錄IgnitionGateway:登錄到IgnitionGateway的管理界面,通常通過瀏覽器訪問http://localhost:8088(如果Ignition安裝在本地)。訪問模塊頁面:在管理界面的左側菜單中,選擇“模塊”選項。安裝歷史數據模塊:在模塊頁面中,找到“歷史數據”模塊,如果尚未安裝,點擊“安裝”按鈕進行安裝。安裝過程可能需要幾分鐘,具體取決于網絡速度和模塊大小。激活模塊:安裝完成后,模塊將出現在已安裝模塊列表中。點擊“激活”按鈕,確保模塊處于激活狀態(tài),以便使用其功能。2.2數據源配置配置數據源是歷史數據管理的關鍵步驟,它定義了數據的來源和存儲方式。選擇數據源類型:在Ignition中,歷史數據可以來自多種數據源,包括SQL數據庫、MongoDB、OPC-UA服務器等。選擇最適合您需求的數據源類型。配置數據源連接:以SQL數據庫為例,配置數據源連接需要以下信息:數據庫類型(如MySQL、SQLServer等)數據庫服務器地址數據庫名稱用戶名和密碼#示例代碼:配置SQL數據源

importmon.sqltags.datasource.SqlTagDataSourceDriver

importmon.sqltags.datasource.SqlTagDataSourceDriverConfig

//創(chuàng)建SQL數據源配置對象

SqlTagDataSourceDriverConfigconfig=newSqlTagDataSourceDriverConfig();

config.setDriver("com.mysql.jdbc.Driver");

config.setUrl("jdbc:mysql://localhost:3306/ignition_data");

config.setUsername("root");

config.setPassword("password");

//創(chuàng)建并激活SQL數據源驅動

SqlTagDataSourceDriverdriver=newSqlTagDataSourceDriver(config);

driver.activate();測試數據源連接:在Ignition的管理界面中,可以測試數據源連接是否成功。這確保了歷史數據可以正確地從數據源讀取和寫入。2.3歷史數據點創(chuàng)建創(chuàng)建歷史數據點是開始記錄和管理數據的必要步驟。定義數據點:在Ignition中,數據點是數據的最小單位,可以是溫度、壓力、流量等任何需要記錄的值。定義數據點時,需要指定其名稱、類型和數據源。配置數據點屬性:數據點的屬性包括更新速率、數據精度、數據點描述等。這些屬性可以根據具體需求進行調整。啟用歷史記錄:為數據點啟用歷史記錄功能,可以設置記錄頻率、數據保留時間等參數。這確保了數據點的歷史數據被正確記錄和存儲。//示例代碼:創(chuàng)建并啟用歷史記錄的數據點

importmon.tags.model.Tag

importmon.tags.model.TagHistoryConfig

//創(chuàng)建數據點

Tagtag=newTag("TemperatureSensor1");

tag.setType("Double");

tag.setDataSource("SQLDataSource");

//配置歷史記錄

TagHistoryConfighistoryConfig=newTagHistoryConfig();

historyConfig.setSampleRate(1000);//每秒記錄一次

historyConfig.setKeepDays(30);//保留30天的數據

tag.setHistoryConfig(historyConfig);

//啟用歷史記錄

tag.enableHistory();監(jiān)控數據點:創(chuàng)建數據點后,可以在Ignition的客戶端界面中監(jiān)控其實時和歷史數據。這有助于分析趨勢、故障排查和報告生成。通過以上步驟,您可以有效地在Ignition中配置歷史數據模塊,確保數據的準確記錄和高效管理。這不僅提高了數據的可用性,還為后續(xù)的數據分析和決策提供了堅實的基礎。3歷史數據查詢基礎3.1使用Ignition查詢工具在Ignition中,歷史數據查詢是通過多種工具實現的,其中最常用的是歷史數據查詢窗口和歷史視圖。這些工具提供了直觀的界面,允許用戶輕松地訪問和分析存儲在Ignition歷史數據庫中的數據。3.1.1歷史數據查詢窗口歷史數據查詢窗口是一個強大的工具,用于創(chuàng)建和執(zhí)行復雜的歷史數據查詢。它支持使用SQL語句查詢歷史數據,同時也提供了圖形化的界面來構建查詢,無需編寫代碼。操作步驟打開歷史數據查詢窗口:在Ignition的客戶端中,選擇“工具”>“歷史數據查詢”。選擇數據源:在查詢窗口中,首先選擇要查詢的歷史數據源。構建查詢:使用窗口中的工具欄,選擇時間范圍、數據點、聚合函數等,構建查詢。執(zhí)行查詢:點擊“執(zhí)行”按鈕,查詢結果將顯示在窗口中。3.1.2歷史視圖歷史視圖是Ignition中用于展示歷史數據的一種圖表工具,它能夠以圖形化的方式展示數據趨勢,非常適合進行數據可視化分析。操作步驟創(chuàng)建歷史視圖:在Ignition的客戶端中,選擇“工具”>“歷史視圖”。配置數據源:選擇要展示的歷史數據源和數據點。設置時間范圍:定義歷史視圖的時間范圍,可以選擇固定時間范圍或動態(tài)時間范圍。調整圖表設置:設置圖表的樣式、顏色、軸標簽等,以滿足分析需求。保存和分享:保存歷史視圖配置,以便后續(xù)使用,也可以分享給其他用戶。3.2SQL查詢歷史數據Ignition支持使用SQL語句直接查詢歷史數據庫,這為高級用戶提供了更大的靈活性和控制力。3.2.1SQL語法示例--查詢特定數據點在特定時間范圍內的平均值

SELECTAVG(value)

FROMhistory

WHEREtag='Temperature'

ANDtimestampBETWEEN'2023-01-0100:00:00'AND'2023-01-3123:59:59';代碼解釋SELECTAVG(value):這條語句計算value列的平均值。FROMhistory:指定查詢的數據表為history。WHEREtag='Temperature':過濾條件,只查詢標簽為Temperature的數據點。ANDtimestampBETWEEN'2023-01-0100:00:00'AND'2023-01-3123:59:59':進一步過濾,只查詢在2023年1月1日至1月31日之間的數據。3.2.2時間序列數據查詢時間序列數據查詢在Ignition中尤為重要,因為歷史數據通常是以時間序列的形式存儲的。使用SQL查詢時間序列數據時,可以利用特定的函數和操作來處理時間戳,如BETWEEN、GROUPBY等。SQL語法示例--查詢特定數據點在每小時的平均值

SELECTDATE_FORMAT(timestamp,'%Y-%m-%d%H:00:00')ashour,AVG(value)

FROMhistory

WHEREtag='Pressure'

GROUPBYhour;代碼解釋DATE_FORMAT(timestamp,'%Y-%m-%d%H:00:00')ashour:使用DATE_FORMAT函數將時間戳格式化為每小時的開始時間,作為分組依據。GROUPBYhour:按照每小時的時間戳進行分組,計算每組的平均值。WHEREtag='Pressure':篩選條件,只查詢標簽為Pressure的數據點。通過上述示例,我們可以看到Ignition提供了多種方式來查詢和分析歷史數據,無論是通過圖形界面還是SQL語句,都能滿足不同用戶的需求。掌握這些工具和技巧,將有助于更高效地利用Ignition的歷史數據管理功能。4高級歷史數據查詢技術4.1聚合函數與數據處理在Ignition中,聚合函數是處理歷史數據的關鍵工具,它們能夠幫助我們從大量數據中提取出有意義的信息。Ignition提供了多種聚合函數,如avg(),min(),max(),sum(),count(),stddev(),variance()等,用于計算平均值、最小值、最大值、總和、計數、標準差和方差等統(tǒng)計指標。4.1.1示例:計算平均值和標準差假設我們有一個歷史數據表TemperatureData,其中包含溫度讀數,我們想要計算過去一周內每天的平均溫度和標準差。#導入Ignition的查詢模塊

fromignitionimportquery

#設置查詢時間范圍

start_time='2023-01-01T00:00:00.000Z'

end_time='2023-01-08T00:00:00.000Z'

#查詢并計算每天的平均溫度

avg_temperatures=query('SELECTavg(Temperature)FROMTemperatureDataWHEREtime>=?ANDtime<?GROUPBYday(time)',start_time,end_time)

#查詢并計算每天的溫度標準差

stddev_temperatures=query('SELECTstddev(Temperature)FROMTemperatureDataWHEREtime>=?ANDtime<?GROUPBYday(time)',start_time,end_time)

#打印結果

print(avg_temperatures)

print(stddev_temperatures)在這個例子中,我們使用avg()和stddev()函數來計算平均值和標準差,并通過GROUPBY子句按天進行分組。4.2歷史數據趨勢分析趨勢分析是理解歷史數據隨時間變化模式的重要方法。Ignition提供了趨勢圖和數據分析工具,幫助用戶可視化數據趨勢,識別數據模式,預測未來趨勢。4.2.1示例:繪制溫度趨勢圖假設我們想要繪制過去一個月內溫度數據的趨勢圖,以觀察溫度變化的模式。#導入必要的模塊

importmatplotlib.pyplotasplt

fromignitionimportquery

#設置查詢時間范圍

start_time='2023-01-01T00:00:00.000Z'

end_time='2023-02-01T00:00:00.000Z'

#查詢溫度數據

temperature_data=query('SELECTtime,TemperatureFROMTemperatureDataWHEREtime>=?ANDtime<?',start_time,end_time)

#繪制趨勢圖

plt.figure(figsize=(10,5))

plt.plot(temperature_data['time'],temperature_data['Temperature'])

plt.title('過去一個月的溫度趨勢')

plt.xlabel('時間')

plt.ylabel('溫度')

plt.show()通過上述代碼,我們首先查詢了指定時間范圍內的溫度數據,然后使用matplotlib庫來繪制趨勢圖,幫助我們直觀地理解溫度變化。4.3異常檢測與數據清洗異常檢測是識別數據中不尋常或不符合預期的值的過程,而數據清洗則是處理和糾正這些異常值,以提高數據質量。Ignition提供了工具來檢測和標記異常值,以及進行數據清洗。4.3.1示例:檢測并清洗異常溫度數據假設我們的溫度數據中存在一些異常值,我們想要檢測這些異常值,并將它們替換為最近的正常值。#導入必要的模塊

fromignitionimportquery

importnumpyasnp

#查詢溫度數據

temperature_data=query('SELECTtime,TemperatureFROMTemperatureData')

#檢測異常值

mean=np.mean(temperature_data['Temperature'])

std=np.std(temperature_data['Temperature'])

outliers=temperature_data[np.abs(temperature_data['Temperature']-mean)>3*std]

#清洗數據

forindex,rowinoutliers.iterrows():

#找到最近的正常值

normal_value=temperature_data[(temperature_data['time']<row['time'])&(np.abs(temperature_data['Temperature']-mean)<=3*std)].iloc[-1]['Temperature']

#更新異常值

query('UPDATETemperatureDataSETTemperature=?WHEREtime=?',normal_value,row['time'])

#打印清洗后的數據

cleaned_data=query('SELECTtime,TemperatureFROMTemperatureData')

print(cleaned_data)在這個例子中,我們首先計算了溫度數據的平均值和標準差,然后使用這些統(tǒng)計量來檢測異常值。一旦檢測到異常值,我們通過查找最近的正常值來清洗數據,從而提高了數據的準確性和可靠性。通過上述示例,我們可以看到Ignition在處理歷史數據時的強大功能,包括聚合函數的使用、趨勢分析以及異常檢測和數據清洗。這些技術對于優(yōu)化生產過程、提高產品質量和效率至關重要。5歷史數據可視化與報告5.1創(chuàng)建歷史數據圖表在Ignition中,創(chuàng)建歷史數據圖表是一個直觀且強大的功能,它允許用戶以圖形方式展示過去的數據,從而更容易地識別趨勢和模式。以下是創(chuàng)建歷史數據圖表的步驟:打開IgnitionDesigner:啟動IgnitionDesigner,這是創(chuàng)建和編輯Ignition項目的主界面。選擇模塊:在項目樹中,選擇你想要添加圖表的模塊。例如,如果你正在創(chuàng)建一個新的Dashboard,那么就在Dashboard模塊中進行操作。插入圖表組件:在工具箱中找到“Chart”組件,將其拖放到你的模塊上。這將打開圖表配置界面。配置數據源:在圖表配置界面中,選擇“Data”選項卡,然后選擇你的歷史數據源。Ignition支持多種數據源,包括SQL數據庫、OPC-UA服務器等。假設我們使用SQL數據庫,代碼示例如下://示例代碼:配置SQL數據源

SQLTagtag=newSQLTag("myDatabase","SELECT*FROMmyTableWHEREtimestampBETWEEN?AND?");

tag.setQueryParameters(newDate(startTime),newDate(endTime));設置時間范圍:在“TimeRange”選項中,定義你想要顯示的數據的時間范圍。這可以是固定的時間段,也可以是動態(tài)的時間段,如“過去24小時”。選擇圖表類型:Ignition提供了多種圖表類型,如線圖、柱狀圖、餅圖等。根據你的數據類型和展示需求選擇合適的圖表類型。自定義圖表樣式:在“Style”選項卡中,你可以調整圖表的顏色、線條樣式、圖例等,以匹配你的項目風格。預覽和調整:使用預覽功能檢查圖表的外觀和數據準確性。如果需要,返回配置界面進行調整。5.2生成報告與導出數據Ignition不僅能夠展示數據,還能生成詳細的報告并導出數據,這對于數據分析和存檔非常有用。以下是生成報告和導出數據的步驟:創(chuàng)建報告模板:在IgnitionDesigner中,選擇“Report”模塊,然后創(chuàng)建一個新的報告模板。你可以使用模板設計工具來布局報告,包括添加文本、圖表、表格等元素。配置數據綁定:在報告模板中,將圖表或數據表格綁定到你的歷史數據源。這通常涉及到選擇數據源和定義數據查詢。設置報告參數:定義報告的參數,如時間范圍、數據篩選條件等。這確保報告能夠準確地反映你想要的數據。生成報告:使用Ignition的報告生成工具,根據你定義的參數和模板生成報告。生成的報告可以是PDF、Excel或其他格式。導出數據:除了生成報告,你還可以直接導出歷史數據。這通常用于進一步的數據分析或存檔。導出數據時,可以選擇數據格式,如CSV、Excel等。//示例代碼:導出數據到CSV

List<HistorianData>data=historian.query("SELECT*FROMmyTagWHEREtimestampBETWEEN?AND?",newDate(startTime),newDate(endTime));

CSVWriterwriter=newCSVWriter(newFileWriter("myData.csv"));

for(HistorianDatad:data){

writer.writeNext(newString[]{d.getTimestamp().toString(),d.getValue().toString()});

}

writer.close();5.3實時與歷史數據對比分析在Ignition中,對比實時數據和歷史數據是進行趨勢分析和故障診斷的關鍵步驟。以下是進行實時與歷史數據對比分析的方法:配置實時數據源:確保你的實時數據源已經正確配置。這可以是Ignition的Tag,也可以是連接到外部設備的OPC-UA或Modbus數據源。選擇歷史數據源:在圖表配置中,選擇你的歷史數據源。這通常是Ignition的Historian數據源。設置時間同步:在圖表配置中,設置實時數據和歷史數據的時間同步。這確保了實時數據和歷史數據在時間軸上的準確對比。添加實時數據到圖表:在圖表中添加實時數據系列。這通常涉及到選擇實時數據源和定義數據點。添加歷史數據到圖表:同樣,在圖表中添加歷史數據系列。你可以選擇不同的顏色或樣式來區(qū)分實時數據和歷史數據。調整時間范圍:設置圖表的時間范圍,以便同時顯示實時數據和歷史數據。這可以是滑動的時間窗口,也可以是固定的時間段。分析數據:使用圖表工具,如縮放、平移等,來仔細分析實時數據和歷史數據之間的差異。這有助于識別數據趨勢和潛在問題。通過以上步驟,你可以在Ignition中有效地創(chuàng)建歷史數據圖表,生成報告,以及進行實時與歷史數據的對比分析,從而提高數據的可讀性和分析效率。6歷史數據管理最佳實踐6.1數據備份與恢復策略6.1.1原理在工業(yè)自動化和信息技術領域,數據備份與恢復策略是確保歷史數據安全性和連續(xù)性的關鍵。Ignition平臺提供了多種工具和方法來實現數據的備份和恢復,包括使用SQL數據庫快照、文件系統(tǒng)備份以及Ignition的內置備份功能。這些策略旨在防止數據丟失,同時確保在系統(tǒng)故障或數據損壞時能夠快速恢復到正常狀態(tài)。6.1.2內容SQL數據庫快照:Ignition使用SQL數據庫存儲歷史數據。定期創(chuàng)建數據庫快照可以保存當前數據狀態(tài),以便在需要時恢復。例如,使用SQLServer時,可以執(zhí)行以下命令來創(chuàng)建數據庫快照:--創(chuàng)建SQLServer數據庫快照

CREATEDATABASE[IgnitionDataSnapshot]ASSNAPSHOTOF[IgnitionData];這里,IgnitionData是原始數據庫,IgnitionDataSnapshot是創(chuàng)建的快照數據庫。文件系統(tǒng)備份:除了數據庫快照,還可以備份Ignition項目的文件系統(tǒng)。這包括配置文件、腳本和任何自定義模塊。使用操作系統(tǒng)級別的備份工具,如Windows的“文件歷史”或Linux的rsync命令,可以定期備份整個Ignition項目目錄。#使用rsync備份Ignition項目目錄

rsync-avz/path/to/ignition/project/path/to/backup/location這條命令將/path/to/ignition/project目錄的內容備份到/path/to/backup/location。Ignition內置備份功能:Ignition軟件本身也提供了備份和恢復工具。在Ignition管理器中,可以創(chuàng)建項目備份,包括所有配置和歷史數據?;謴蜁r,只需選擇相應的備份文件并按照向導操作即可。6.1.3示例假設我們正在使用Ignition和SQLServer,下面是一個創(chuàng)建數據庫快照的示例:--創(chuàng)建Ignition歷史數據的SQLServer快照

CREATEDATABASE[IgnitionHistorySnapshot]ASSNAPSHOTOF[IgnitionHistory];此命令將創(chuàng)建一個名為IgnitionHistorySnapshot的快照,用于備份名為IgnitionHistory的數據庫。6.2性能監(jiān)控與調優(yōu)6.2.1原理性能監(jiān)控是評估Ignition歷史數據管理系統(tǒng)運行效率的過程,而調優(yōu)則是基于監(jiān)控結果優(yōu)化系統(tǒng)配置和操作,以提高數據處理速度和減少資源消耗。Ignition提供了多種工具來監(jiān)控系統(tǒng)性能,包括日志分析、性能指標監(jiān)控和系統(tǒng)診斷工具。6.2.2內容日志分析:通過分析Ignition的日志文件,可以識別系統(tǒng)中的瓶頸和異常行為。日志文件包含系統(tǒng)操作的詳細信息,如數據讀寫操作、錯誤消息和性能指標。性能指標監(jiān)控:Igniti

溫馨提示

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

評論

0/150

提交評論