物聯(lián)網(wǎng)核心板說明書_第1頁
物聯(lián)網(wǎng)核心板說明書_第2頁
物聯(lián)網(wǎng)核心板說明書_第3頁
物聯(lián)網(wǎng)核心板說明書_第4頁
物聯(lián)網(wǎng)核心板說明書_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

物聯(lián)網(wǎng)核心板說明書一、 產(chǎn)品介紹 3二、 硬件連接 41、 硬件布局 42、 供電端子(綠色) 43、 指示燈 54、 RS232、RS485串口線序 65、 GPIO接口 76、 模擬量輸入接口(選配) 87、 以太網(wǎng)接口 88、 撥碼開關(guān) 9三、 啟動(dòng)核心板 10四、 設(shè)置核心板的基本參數(shù) 111、 掃描設(shè)備 112、 如果掃描不到設(shè)備,請(qǐng)檢查如下情況 113、 修改設(shè)備IP 12五、 進(jìn)入產(chǎn)品的設(shè)置菜單 131、 進(jìn)入Telnet管理菜單 132、 操作規(guī)則 13六、 恢復(fù)至出廠設(shè)置 15七、 解除程序死鎖 16八、 進(jìn)入編程環(huán)境 171、 添加Lua程序編程環(huán)境 172、 上傳Lua程序至核心板 203、 掃描添加目標(biāo)設(shè)備 214、 手動(dòng)添加目標(biāo)設(shè)備 235、 定義多個(gè)目標(biāo)設(shè)備 236、 上傳至轉(zhuǎn)換器 247、 查看調(diào)試信息 258、 更多Lua程序設(shè)計(jì)信息 25九、 通過Modbus協(xié)議使用核心板的IO及模擬量硬件 261、 概述 262、 ModbusTCPServer與上位機(jī)通訊參數(shù) 263、 ModbusTCPClient與服務(wù)器通訊參數(shù) 264、 ModbusRTU與上位機(jī)通訊參數(shù) 265、 使用ModbusPoll軟件做為測試工具 286、 選擇ModbusPoll連接 287、 定義Modbus基本信息 298、 開關(guān)量輸入定義 309、 開關(guān)量輸出定義 3110、 模擬量輸入定義 3111、 更多的Modbus信息 3212、 查看通訊報(bào)文 32十、 設(shè)置串口波特率 33十一、 設(shè)置模擬量參數(shù) 351、 進(jìn)入模擬量采集參數(shù)設(shè)置菜單 352、 模擬量采集參數(shù)說明 35十二、 設(shè)置實(shí)時(shí)時(shí)鐘參數(shù) 371、 進(jìn)入時(shí)鐘模塊配置菜單 372、 配置NTP授時(shí)服務(wù)器參數(shù) 383、 手動(dòng)輸入時(shí)間日期 394、 顯示當(dāng)前時(shí)鐘 395、 退出 39十三、 嵌入式Modbus虛擬機(jī)工作方式及參數(shù)設(shè)置 401、 概述 402、 不可使用設(shè)備本機(jī)硬件寄存器地址 413、 Modbus虛擬機(jī)運(yùn)行方式示例 421) 設(shè)置Modbus讀命令對(duì)應(yīng)的寄存器值 422) 應(yīng)答Modbus寫命令 454、 與ModbusRTU串口上位機(jī)通訊 501) 首先將核心板的上位機(jī)串口連接至電腦 502) 設(shè)置ModbusPoll通過串口讀取數(shù)據(jù) 505、 Modbus虛擬機(jī)與協(xié)議轉(zhuǎn)換的聯(lián)合使用 52十四、 產(chǎn)品描述 53

產(chǎn)品介紹IoTCore物聯(lián)網(wǎng)核心板特點(diǎn):將可編程控制器功能、串口通訊協(xié)議、物聯(lián)網(wǎng)協(xié)議、網(wǎng)絡(luò)協(xié)議、遠(yuǎn)程數(shù)據(jù)庫接口等功能全部集成到一個(gè)小尺寸核心板。實(shí)現(xiàn)一板多用,有效降低硬件成本。采用極簡編程,并內(nèi)置大量專業(yè)函數(shù)庫。大幅提高開發(fā)效率,有效減少開發(fā)周期。低功耗設(shè)計(jì),在CPU全速運(yùn)行、以太網(wǎng)和串口在工作狀態(tài)、采用12V供電時(shí),消耗電流91mA。不使用網(wǎng)口時(shí),消耗電流66mA。96*66mm小尺寸硬件配置:32位CPU/32M內(nèi)存16個(gè)GPIO,可設(shè)置為輸入或輸出。最高輸出電壓為3.3V,最高輸入電壓為5V。5個(gè)可編程的PWM輸出(與GPIO共享引腳)。PWM占空比調(diào)節(jié)范圍:0至100%,頻率調(diào)節(jié)范圍:1Hz至1.5Mhz。可選8路0至5V高精度寬溫模擬量采集。集成時(shí)鐘模塊,可為應(yīng)用場景提供精確的日期及時(shí)間數(shù)據(jù)。支持SNTP自動(dòng)對(duì)時(shí)。并且集成后備電池及溫度補(bǔ)償功能。1個(gè)10/100Mbps以太網(wǎng)接口,采用RJ45和排針接口。2個(gè)RS232口(3線制),1個(gè)RS485口,均具備工業(yè)級(jí)保護(hù)。DC8至36V寬壓供電,功耗1.1W(最高),采用5.08-3P彎端子如無特殊說明,所有接口均為2.00*5P排針輸出。板子尺寸:96*66mm核心板內(nèi)置函數(shù)庫列表:函數(shù)庫仍在持續(xù)更新中,可以在產(chǎn)品頁面下載最新的函數(shù)手冊。。最新的函數(shù)手冊下載地址:/doc/LuaAPIMan.doc

硬件連接硬件布局板子尺寸:96*66mm供電端子(綠色)設(shè)備可支持DC8至36V供電或MiniUSB供電,兩種供電方式不可同時(shí)使用。供電+:接電源適配器的紅線供電-:接電源適配器的黑線。接地:可以接大地或者系統(tǒng)公共地,用于提高抗干擾能力。

指示燈Power1:正確上電后,此指示燈會(huì)長亮。如果不亮,請(qǐng)檢查供電情況。Socket1:網(wǎng)絡(luò)TCP/IP連接指示燈Active1:系統(tǒng)活動(dòng)指示燈,在正常工作時(shí),此指示燈以1秒為周期閃爍。長亮、長滅均為故障狀態(tài)。VMState:Lua虛擬機(jī)狀態(tài),工作正常時(shí)為長亮,如果此指示燈熄滅,說明Lua程序出錯(cuò),導(dǎo)致了虛擬機(jī)退出。

RS232、RS485串口線序A+:RS485的A+腳,接對(duì)端的A+B-:RS485的B-腳,接對(duì)端的B-GND:任意的GND,都可以作為RS485的GND,如果使用的是屏蔽線,可以將屏蔽層接到GND,用于提供抗干擾能力。RX1:RS2322的接收腳,接對(duì)端的發(fā)送腳,DB9的3腳。TX1:RS2322的發(fā)送腳(有-6V電壓),應(yīng)接對(duì)端的接收腳,DB9的2腳。RX2:RS2323的接收腳,接對(duì)端的發(fā)送腳,DB9的3腳。TX2:RS2323的發(fā)送腳(有-6V電壓),應(yīng)接對(duì)端的接收腳,DB9的2腳。GND:任意的GND,都可以作為2路RS232的GND,接對(duì)端的GND,DB9的5腳

GPIO接口核心板提供16個(gè)GPIO,分別為IO1至IO16,均通過限流電阻連接至CPU。每個(gè)GPIO都可以設(shè)置為輸入或輸出模式。所有GPIO口均通過TVS陣列保護(hù),如果GPIO出現(xiàn)大于6V的電壓,將會(huì)觸發(fā)TVS保護(hù)機(jī)制使其對(duì)地短路。GPIO輸出電壓范圍:0至3.3V(IO與GND電壓)GPIO輸入電壓范圍:0至5V最高(IO與GND電壓),如果長時(shí)間超過5V將會(huì)造成CPU損壞GPIO輸入模式:在啟動(dòng)后,所有GPIO口均可以讀取輸入狀態(tài),如果此時(shí)GPIO口處于懸空狀態(tài)或者讀取外部電平不確定,那么讀到的將是0、1隨機(jī)變化的數(shù)據(jù)。所以,如果外部信號(hào)不穩(wěn)定或者是無源開關(guān)。則必須外接3.3至5V10k上拉電阻或者啟用GPIO內(nèi)部上拉電阻來使IO口處于穩(wěn)定狀態(tài)后,才可以正確讀到數(shù)據(jù)。啟用內(nèi)部上拉電阻后,GPIO口將輸出3.3V電壓作為信號(hào)電壓,GPIO對(duì)地短路時(shí)讀到的為1,否則為0。將GPIO設(shè)置為輸入的3種方法:檢測干節(jié)點(diǎn)信號(hào)時(shí):將GPIO外接3.3至5V10K上拉電阻,使GPIO有穩(wěn)定的輸入電壓,當(dāng)GPIO輸入與地短路時(shí),電壓為0,即可實(shí)現(xiàn)干節(jié)點(diǎn)無源信號(hào)狀態(tài)檢測。比如開關(guān)、按鈕等。但不能用于檢測帶電壓的濕節(jié)點(diǎn)信號(hào)。使用GPIO函數(shù)啟用GPIO的內(nèi)部上拉電阻,其他與方法1相同。檢測帶電壓的濕節(jié)點(diǎn)信號(hào):將外部信號(hào)的GND與GPIO的GND相連,檢測信號(hào)接入GPIO。注意!輸入電壓不可超過5V,否則會(huì)燒毀CPU。GPIO輸出模式:啟動(dòng)后,GPIO默認(rèn)為懸空,只要進(jìn)行一次設(shè)置高低電平的操作,相應(yīng)的引腳自動(dòng)變?yōu)檩敵瞿J?。輸出高電平?.3V,低電平為0V。也可以設(shè)置為驅(qū)動(dòng)能力更強(qiáng)的開漏模式。注意!在啟動(dòng)后,所有GPIO口均為懸空狀態(tài),如果作為控制輸出,請(qǐng)?jiān)谟糜诳刂乒δ艿腉PIO口線上外接3.3至5V10k上拉或下拉電阻使其處于穩(wěn)定狀態(tài)。5路PWM輸出:IO1、IO2、IO3、IO4、IO6可設(shè)置為PWM輸出模式,分別對(duì)應(yīng)PWM輸出0至5,其頻率及占空比均可動(dòng)態(tài)調(diào)節(jié)。頻率調(diào)節(jié)范圍:1Hz至1.5Mhz。占空比調(diào)節(jié)范圍:0至100%如果設(shè)置為PWM輸出,則不能再切換至IO口功能。注意!IO5不能被設(shè)置為PWM輸出模式。GPIO串聯(lián)限流電阻:采用4.7K限流電阻,此限流電阻阻值較高,但仍足夠驅(qū)動(dòng)標(biāo)準(zhǔn)的TTL接口。在作為PWM輸出時(shí),如果出現(xiàn)對(duì)端無法讀取波形信號(hào),請(qǐng)使用74HC245或類似緩沖器用來提高驅(qū)動(dòng)能力。也可以將限流電阻更換為1K(不可小于1K),如果需要更換電阻,請(qǐng)聯(lián)系我公司以獲得相應(yīng)的電阻列表。

模擬量輸入接口(選配)此功能為選配功能。核心板支持8路0~5V模擬量采集,1至8腳為模擬信號(hào)輸入端,應(yīng)輸入0至5V電壓信號(hào)。GND為信號(hào)地。注意!如果模擬量輸入電壓值長時(shí)間超過5V,將導(dǎo)致模擬量采集功能損壞??梢酝ㄟ^外接采樣250歐電阻來采集4~20mA電流信號(hào),也可以通過外部分壓電阻來采集0~10V或其他電壓信號(hào)。模擬量采集功能為高精度、高穩(wěn)定性、工業(yè)級(jí)寬溫設(shè)計(jì)。以太網(wǎng)接口核心板支持一個(gè)10/100Mbps以太網(wǎng)口。同時(shí)提供RJ45和雙排接口。在正常工作時(shí),RJ45接口指示燈的綠燈長亮,黃燈閃爍。同時(shí)也提供了2.00*5P雙排針作為以太網(wǎng)接口,通過此接口,可以將以太網(wǎng)與其他外設(shè)進(jìn)行對(duì)接。線序如圖所示:其中1,2腳可以對(duì)外提供DC5V/300mA輸出,用于為外設(shè)供電。注意!排針接口與RJ45接口不可同時(shí)使用。

撥碼開關(guān)撥碼開關(guān)作用:恢復(fù)出廠值在模塊正常工作,Actvie1指示燈閃爍時(shí),按下2個(gè)撥碼開關(guān),過2秒后撥上去,然后重新上電,就可以恢復(fù)出廠值。解除程序死鎖如果在程序中誤寫了死循環(huán)或者存在其他嚴(yán)重錯(cuò)誤,可能會(huì)導(dǎo)致核心板不斷的重啟。如果出現(xiàn)此問題。請(qǐng)?jiān)谥貑⒑?秒內(nèi),按下2個(gè)撥碼開關(guān),等過1秒后再撥上去,即可禁用程序。再次更新程序時(shí),會(huì)自動(dòng)啟用程序。升級(jí)固件可使模塊進(jìn)入DFU固件更新模式。

啟動(dòng)核心板使用電源適配器或MiniUSB為核心板供電,正常情況下,Power1指示燈將為長亮狀態(tài),Active1指示燈為一秒鐘閃一次。如果上電后,Power1指示燈長亮,而Active1指示燈不閃爍。請(qǐng)檢查下列問題:供電電源是否正常。撥碼開關(guān)是否全部為撥上去的狀態(tài)(Off)指示燈正常后,即可連接網(wǎng)線。核心板的編程及配置都需要通過以太網(wǎng)來實(shí)現(xiàn)。核心板可以用直連或交叉網(wǎng)線與電腦、交換機(jī)連接。在正常工作時(shí),RJ45接口指示燈的綠燈長亮,黃燈閃爍。在確認(rèn)供電及以太網(wǎng)正常后,即可通過Xframe軟件配置核心板

設(shè)置核心板的基本參數(shù)請(qǐng)首先安裝Xframe軟件,通過此軟件對(duì)產(chǎn)品進(jìn)行配置及編程??梢栽谖夜揪W(wǎng)站下載此軟件,也可以聯(lián)系工程師獲取此軟件。掃描設(shè)備選擇“掃描應(yīng)用可識(shí)別設(shè)備”菜單。設(shè)備探測器可以搜索到核心板,如下圖所示。如果掃描不到設(shè)備,請(qǐng)檢查如下情況關(guān)閉電腦的防火墻軟件,包括系統(tǒng)自帶的防火墻。檢查電腦是否為固定IP,如果為自動(dòng)獲取IP,請(qǐng)?jiān)O(shè)置如下的固定IP:0/。如果是筆記本電腦,暫時(shí)禁用wifi及其他不用的網(wǎng)絡(luò)連接。多網(wǎng)卡電腦,請(qǐng)暫時(shí)禁用其他不用的網(wǎng)卡。檢查以太網(wǎng)連接是否正常,查看是否為網(wǎng)線、RJ45頭等電氣問題。

修改設(shè)備IP在設(shè)備探測器內(nèi)填入IP,子網(wǎng)掩碼,網(wǎng)關(guān)(可選),然后單擊修改設(shè)備網(wǎng)絡(luò)參數(shù)按鈕,確認(rèn)后即可修改核心板的IP為指定的IP。單擊搜索設(shè)備即可刷新設(shè)備狀態(tài)。注意!為核心板設(shè)置的IP,必須與操作電腦在同一個(gè)網(wǎng)段,否則設(shè)置好之后,將無法訪問核心板。

進(jìn)入產(chǎn)品的設(shè)置菜單進(jìn)入Telnet管理菜單在設(shè)備探測器中,選中掃描到的,然后在管理菜單中,選擇使用Telnet管理此設(shè)備。出現(xiàn)下圖提示時(shí),輸入口令,默認(rèn)口令為全小寫的admin登錄后,即可看到設(shè)備的主管理菜單。操作規(guī)則輸入菜單項(xiàng)前面的字母或數(shù)字即可進(jìn)入相應(yīng)的功能選項(xiàng)。例如輸入3即可進(jìn)入配置下位機(jī)串口參數(shù)項(xiàng)。輸入數(shù)值前的數(shù)字即可選擇該值。其他未用參數(shù)直接回車即可跳過。回車至主設(shè)置菜單后,設(shè)置項(xiàng)將自動(dòng)保存。

恢復(fù)至出廠設(shè)置上電后,在Active1指示燈正常閃爍時(shí),將2個(gè)撥碼開關(guān)(U8)按下,等待2秒后,再撥上去即可恢復(fù)為出廠設(shè)置。此操作將所有參數(shù)例如IP地址等恢復(fù)為出廠默認(rèn)設(shè)置,但是不會(huì)禁用已經(jīng)上傳的程序。正常狀態(tài)撥碼開關(guān)狀態(tài)恢復(fù)出廠值的撥碼開關(guān)狀態(tài)。出廠默認(rèn)設(shè)置;IP地址:00/串口:9600,n,8,1。默認(rèn)均為自由口模式。

解除程序死鎖如果在程序中誤寫了死循環(huán)或者因?yàn)槠渌蛩貙?dǎo)致核心板不斷的重啟時(shí),可使用此方法禁用核心板程序來解決。首先重新上電,等待Active1指示燈開閃爍時(shí),在5秒內(nèi)按下2個(gè)撥碼開關(guān),等2秒后撥上去,即可禁用程序。再次更新程序后,會(huì)自動(dòng)啟動(dòng)。重新上電后,等待Active1指示燈開始閃爍,然后在5秒內(nèi)按下2個(gè)撥碼開關(guān)。啟動(dòng)后,等待Active1指示燈開閃爍時(shí),在5秒內(nèi)按下2個(gè)撥碼開關(guān),下圖為禁用程序時(shí)的撥碼開關(guān)狀態(tài)。注意!此操作只會(huì)禁用程序,而不會(huì)將核心板恢復(fù)成出廠設(shè)置。

進(jìn)入編程環(huán)境添加Lua程序編程環(huán)境啟動(dòng)Xframe軟件,并且檢查軟件版本為Ver4.10或更高。首先選擇“我的設(shè)備”然后在模塊管理菜單里,選擇添加模塊選擇“嵌入式Lua程序設(shè)計(jì)”模塊,單擊確定選擇“嵌入式Lua程序設(shè)計(jì)”產(chǎn)品,然后單擊確定。在名稱處,為此Lua程序設(shè)計(jì)模塊設(shè)置一個(gè)名稱,此名稱為模塊名稱,并不是Lua代碼文件名稱。添加單擊確定后,將會(huì)增加一個(gè)Lua程序設(shè)計(jì)1的模塊在模塊上面單擊右鍵,選擇擴(kuò)展設(shè)置,即可進(jìn)入Lua編程界面。然后會(huì)出現(xiàn)編程界面,并且自動(dòng)新建了一些默認(rèn)項(xiàng)目代碼。

上傳Lua程序至核心板Lua編程模塊默認(rèn)加載了一段示例程序,可以將此代碼上傳至轉(zhuǎn)換器,并觀察運(yùn)行結(jié)果,以獲得最直觀的演示。單擊“保存并上傳至控制器運(yùn)行”默認(rèn)新加載的程序并沒有命名,所以在上傳之前,必須指定一個(gè)名稱。單擊“是”繼續(xù)。在唯一名稱欄中,輸入程序名稱,并且必須是唯一名稱。然后單擊新建繼續(xù)。然后會(huì)出現(xiàn)選擇目標(biāo)設(shè)備窗口,作為一個(gè)新建項(xiàng)目,并沒有任何定義的目標(biāo)設(shè)備,所以要進(jìn)行添加。掃描添加目標(biāo)設(shè)備單擊“掃描添加目標(biāo)設(shè)備”在設(shè)備探測器窗口中,會(huì)出現(xiàn)掃描到的核心板產(chǎn)品,如果無法搜索到設(shè)備,請(qǐng)按照第四章“無法掃描到設(shè)備”的描述解決故障。注意!如果是通過路由器跨網(wǎng)段訪問,由于受路由器限制,將無法掃描到設(shè)備。在這種情況下可以通過下面章節(jié),以手動(dòng)方式添加目標(biāo)設(shè)備。然后選擇“應(yīng)用選擇的設(shè)備”菜單。應(yīng)用成功后,會(huì)自動(dòng)添加選擇的目標(biāo)設(shè)備。并且可以在界面上直接修改此設(shè)備的一些參數(shù)。

手動(dòng)添加目標(biāo)設(shè)備通常是在跨路由器訪問時(shí),由于無法掃描設(shè)備,所以必須使用手動(dòng)添加。前提是必須能夠ping通目標(biāo)設(shè)備ip,并且路由器開放了9000調(diào)試口,及9100~9200的編程口。在編程目標(biāo)設(shè)備IP或域名中添加核心板的IP,調(diào)試端口默認(rèn)為9000,如果目標(biāo)設(shè)備修改了此端口,那么必須設(shè)置正確的端口,否則將無法調(diào)試。完成后,單擊“手動(dòng)添加目標(biāo)設(shè)備”手動(dòng)添加成功后,出現(xiàn)下列提示。定義多個(gè)目標(biāo)設(shè)備只要根據(jù)需要,重復(fù)上述兩種方式,可以添加多個(gè)目標(biāo)設(shè)備,然后逐個(gè)自動(dòng)編程。上傳至轉(zhuǎn)換器單擊上傳按鈕。將會(huì)出現(xiàn)下列編程信息。

查看調(diào)試信息上傳成功后,目標(biāo)設(shè)備將會(huì)自動(dòng)重啟,然后執(zhí)行新的Lua程序。此例子中,將會(huì)在調(diào)試信息串口以1秒為間隔顯示i1的計(jì)數(shù)值。更多Lua程序設(shè)計(jì)信息請(qǐng)?jiān)L問核心板網(wǎng)頁,下載函數(shù)手冊、編程軟件和程序設(shè)計(jì)指南。/plus/view.php?aid=172

通過Modbus協(xié)議使用核心板的IO及模擬量硬件概述核心板也支持通過ModbusRTU/TCP協(xié)議來讀取、控制本機(jī)硬件。此功能是默認(rèn)的系統(tǒng)功能,無需編程,出廠即有。任何組態(tài)軟件、觸摸屏等支持ModbusTCP、ModbusRTU的主機(jī)的產(chǎn)品均可以無縫的使用核心板的硬件資源。此功能由產(chǎn)品內(nèi)置的Modbus虛擬機(jī)提供,占用了Modbus虛擬機(jī)的若干寄存器地址用于本機(jī)硬件訪問,具體寄存器地址使用情況,請(qǐng)參考Modbus虛擬機(jī)章節(jié)。對(duì)ModbusTCP協(xié)議的支持:核心板同時(shí)支持標(biāo)準(zhǔn)的ModbusTCPServer模式和用于云傳輸?shù)腗odbusTCPClient模式。對(duì)ModbusRTU協(xié)議的支持:核心板的任意一個(gè)RS485/RS232端口均可設(shè)置為讀取、控制本機(jī)硬件功能。上位機(jī)可以通過此RS485端口,使用ModbusRTU協(xié)議讀取、控制核心板硬件。ModbusTCPServer與上位機(jī)通訊參數(shù)Server模式的ModbusTCP端口:502默認(rèn)支持連接數(shù)量:4個(gè)主機(jī)連接,最多可支持32個(gè)主機(jī)連接Server的TCP/IP超時(shí)時(shí)間:20秒,達(dá)到超時(shí)值未能從主機(jī)接收到數(shù)據(jù),核心板將中斷此TCP/IP連接。ModbusTCPClient與服務(wù)器通訊參數(shù)注意!核心板的ModbusTCPClient并不是作為Modbus主機(jī)連接至下位機(jī)。核心板仍然作為ModbusTCP下位機(jī),Client模式下由核心板主動(dòng)發(fā)起連接.Client模式的獲取IP方式:默認(rèn)為指定IP,可指定域名。Client模式的ModbusTCP主動(dòng)連接IP:00Client模式的ModbusTCP主動(dòng)連接端口:502Client的TCP/IP超時(shí)時(shí)間:20秒,達(dá)到超時(shí)值未能從主機(jī)接收到數(shù)據(jù),核心板將中斷此TCP/IP連接。最大可支持Client連接數(shù)量:6個(gè)連接,默認(rèn)全部禁用。嘗試連接服務(wù)器間隔:10秒,如果核心板未能連接到指定IP,將等待此間隔時(shí)間后從新連接。ModbusRTU與上位機(jī)通訊參數(shù)出廠時(shí),所有串口均為自由口,用于Lua編程,如果需要從串口讀寫核心板硬件,需要將串口模式改成上位機(jī)口模式.登錄管理菜單,輸入串口前面的編號(hào),配置串口參數(shù)回車至選擇串口使用方式選項(xiàng),選擇上位機(jī)口即可。下圖的3個(gè)參數(shù)是與上位機(jī)通訊的相關(guān)參數(shù)。接收上位機(jī)數(shù)據(jù)幀間隔(毫秒):又稱組幀間隔,如果核心板在指定的間隔時(shí)間內(nèi)沒有收到數(shù)據(jù),將串口數(shù)據(jù)進(jìn)行打包,送入ModbusRTU處理模塊。設(shè)置與上位機(jī)通訊時(shí)的收-發(fā)間隔(毫秒):核心板在收到上位機(jī)報(bào)文后,等待此參數(shù)的時(shí)間后,再向上位機(jī)返回應(yīng)答報(bào)文。用于兼容慢速上位機(jī)。ModbusRTU地址碼(1):同標(biāo)準(zhǔn)的RS485ModbusRTU設(shè)備一樣,需要為核心板設(shè)置正確的地址碼。所有串口均使用同一個(gè)地址碼。

使用ModbusPoll軟件做為測試工具此工具為標(biāo)準(zhǔn)的Modbus協(xié)議測試軟件,如果可以通過此軟件測試,即可兼容所有支持Modbus協(xié)議的軟件和主機(jī)。選擇ModbusPoll連接選擇Connection,Connect使用ModbusTCP連接的配置圖:使用ModbusRTU連接的配置圖,選擇SerialPort模式,并且選擇正確的串口(Port)和波特率、校驗(yàn)位、停止位等。定義Modbus基本信息在Setup菜單中選擇“Read/WriteDefinition”進(jìn)入Modbus信息定義SalveID:下位機(jī)地址,ModbusRTU時(shí)有效。Function:功能碼,01為讀取開關(guān)量輸入,03讀取模擬量輸入。Address:Modbus寄存器地址。Quantity:讀取寄存器數(shù)量。詳細(xì)定義請(qǐng)參考后面的章節(jié)。開關(guān)量輸入定義地址碼(SlaveID):下位機(jī)地址碼,ModbusRTU協(xié)議時(shí)有效。功能碼(Function):01,02寄存器地址(Address):讀取GPIO輸入地址,從10起(十進(jìn)制)至25寄存器數(shù)量(Quantity):讀取寄存器數(shù)量,1至16,對(duì)應(yīng)DI的1~16數(shù)據(jù)類型:bit注意!核心板的GPIO口默認(rèn)初始化為懸空狀態(tài),如果沒有上拉電阻或者沒有連接外部信號(hào),讀取到的是0,1跳變信號(hào)。請(qǐng)根據(jù)第二章第4節(jié)方法用軟件或硬件方法將GPIO口設(shè)置為輸入模式。ModbusPoll定義截圖數(shù)據(jù)報(bào)文樣本發(fā)送:0000000000060101000A0010接收:0000000000050101020000

開關(guān)量輸出定義地址碼(SlaveID):下位機(jī)地址碼,ModbusRTU協(xié)議時(shí)有效。功能碼(Function):05寄存器地址(Address):控制GPIO輸出寄存器地址,從30起(十進(jìn)制)至45ModbusPoll定義截圖設(shè)置為On時(shí),GPIO輸出高電平(3.3V),設(shè)置為Off時(shí),輸出低電平(0V)數(shù)據(jù)報(bào)文樣本發(fā)送:0000000000060102000A0008接收:00000000000401020100模擬量輸入定義地址碼(SlaveID):下位機(jī)地址碼,ModbusRTU協(xié)議時(shí)有效。功能碼(Function):03寄存器地址(Address):讀取本機(jī)的5V模擬量輸入值,從400起(十進(jìn)制)至416。寄存器數(shù)量(Quantity):2至16,浮點(diǎn)數(shù)數(shù)據(jù),2個(gè)寄存器地址1個(gè)模擬量數(shù)據(jù)。數(shù)據(jù)類型:反轉(zhuǎn)float,即大端格式的float數(shù)據(jù)類型。此數(shù)據(jù)為0至5V電壓值,無需再做轉(zhuǎn)換。ModbusPoll定義截圖,測試時(shí),需要將顯示格式改為Floatinverse(反轉(zhuǎn)浮點(diǎn)數(shù))。數(shù)據(jù)報(bào)文樣本發(fā)送:000000000006010301900010接收:0000000000230103204120000041200000412000004120000041200000412000004120000041200000更多的Modbus信息請(qǐng)參考《ModbusTCP通訊協(xié)議V3協(xié)議》文檔。查看通訊報(bào)文選擇Display菜單,選擇Communication菜單項(xiàng)目。Tx為發(fā)送至核心板的報(bào)文,Rx為從核心板接收到的應(yīng)答報(bào)文。

設(shè)置串口波特率核心板出廠時(shí),所有串口參數(shù)為9600,N,8,1。如需修改,可以輸入串口前的數(shù)字進(jìn)行配置。例如配置串口1,輸入1即可然后選擇波特率,默認(rèn)為9600和8數(shù)據(jù)位,可輸入波特率前面的數(shù)值進(jìn)行修改。數(shù)據(jù)位默認(rèn)為8位,通常不用修改,某些特殊的進(jìn)口設(shè)備,可能需要設(shè)置為7數(shù)據(jù)位來通訊。校驗(yàn)位:默認(rèn)為無校驗(yàn),可根據(jù)對(duì)端串口設(shè)備要求,設(shè)置為偶校驗(yàn)或奇校驗(yàn)。停止位:默認(rèn)為1停止位,除非對(duì)端串口設(shè)備有特殊要求,否則不需要修改,設(shè)置完之后,回到主菜單,輸入r重啟后,串口參數(shù)生效。

設(shè)置模擬量參數(shù)模擬量采集有3個(gè)參數(shù),這些參數(shù)對(duì)讀取的本機(jī)模擬量值和Lua的讀取模擬量API函數(shù)會(huì)產(chǎn)生影響。進(jìn)入模擬量采集參數(shù)設(shè)置菜單在管理菜單中,輸入a,進(jìn)入“配置模擬量采集默認(rèn)參數(shù)”菜單。然后輸入c進(jìn)入模擬量參數(shù)模擬量采集參數(shù)說明模擬量輸出結(jié)果值精度:設(shè)置模擬量值的精度,也就是小數(shù)點(diǎn)后的位數(shù)。默認(rèn)為保留小數(shù)點(diǎn)2兩位。此參數(shù)影響Modbus功能碼03讀取模擬量的結(jié)果,和Lua的讀取電流、電壓值函數(shù)的結(jié)果值。保留小數(shù)點(diǎn)后2位效果樣本:123.22保留小數(shù)點(diǎn)后1位效果樣本:123.2保留小數(shù)點(diǎn)后3位效果樣本:123.234保留小數(shù)點(diǎn)后4位效果樣本:123.2345

采樣電阻阻值:如果使用核心板模擬量采集0至5V電壓,可以忽略此參數(shù)。在通過外部250歐美采樣電阻讀取0~20mA電壓時(shí),使用默認(rèn)設(shè)置250歐即可。只用當(dāng)采樣電流不是0至20mA范圍時(shí),需要將此電阻值調(diào)整為采樣電阻值。此參數(shù)影響Modbus功能碼03讀取電流值的結(jié)果,和Lua模擬量接口函數(shù)中讀取電流函數(shù)的返回值。數(shù)字濾波緩沖數(shù)量:核心板采用中值濾波算法對(duì)模擬量值進(jìn)行數(shù)字濾波,所以要首先緩沖一定模擬量樣本數(shù)據(jù),去掉最大值,最小值之后,算出平均值,作為模擬量最終原始結(jié)果值。緩沖樣本數(shù)量越少,讀取模擬量的速度越快。但是樣本越少,抗干擾能力越差,結(jié)果值的平滑度也越差。默認(rèn)緩沖64個(gè)模擬量樣本后,去掉最大值,最小值,取剩余樣本的平均值作為最終結(jié)果。此參數(shù)影響Modbus功能碼03讀取電流、電壓值、原始值的結(jié)果,也影響Lua模擬量接口函數(shù)中讀取電流、電壓、原始值函數(shù)的返回值。

設(shè)置實(shí)時(shí)時(shí)鐘參數(shù)核心板集成了高精度帶溫度補(bǔ)償?shù)臅r(shí)鐘模塊,并且支持網(wǎng)絡(luò)NTP授時(shí),可以通過互聯(lián)網(wǎng)或局域網(wǎng)內(nèi)的授時(shí)服務(wù)器進(jìn)行自動(dòng)對(duì)時(shí)。也支持手動(dòng)設(shè)置時(shí)間和設(shè)置NTP授時(shí)服務(wù)器的IP。進(jìn)入時(shí)鐘模塊配置菜單在管理菜單中,輸入B,進(jìn)入“配置實(shí)時(shí)時(shí)鐘模塊參數(shù)”輸入b之后,將會(huì)顯示當(dāng)前的日期和時(shí)間和相應(yīng)的配置菜單。

配置NTP授時(shí)服務(wù)器參數(shù)是否啟用NTP自動(dòng)授時(shí):默認(rèn)為禁用了NTP授時(shí)功能,如果計(jì)劃使用NTP自動(dòng)授時(shí),請(qǐng)輸入1,啟用即可。SNTP授時(shí)服務(wù)器地址:必須設(shè)置為可用的NTP授時(shí)服務(wù)器IP,授時(shí)服務(wù)器可以在局域網(wǎng)內(nèi),也可以在互聯(lián)網(wǎng)上。如果授時(shí)服務(wù)器在互聯(lián)網(wǎng)上或與本機(jī)IP不在一個(gè)網(wǎng)段,則必須事先正確設(shè)置核心板的網(wǎng)關(guān)才能成功授時(shí)。具體的網(wǎng)關(guān)IP請(qǐng)咨詢網(wǎng)絡(luò)管理員。默認(rèn)的授時(shí)服務(wù)器IP為一個(gè)可用的互聯(lián)網(wǎng)NTP服務(wù)器,如果計(jì)劃使用默認(rèn)的NTP服務(wù)器授時(shí),則必須正確設(shè)置核心板的網(wǎng)關(guān),并使設(shè)備可以訪問互聯(lián)網(wǎng)。對(duì)時(shí)周期,達(dá)到設(shè)定的小時(shí)執(zhí)行一次SNTP對(duì)時(shí):如果啟用了NTP自動(dòng)授時(shí)功能,核心板每24小時(shí)嘗試與NTP授時(shí)服務(wù)器對(duì)時(shí)一次。此參數(shù)為對(duì)時(shí)的小時(shí)值,有效值為0~23,在實(shí)時(shí)時(shí)鐘的小時(shí)值達(dá)到指定的值時(shí),與NTP授時(shí)服務(wù)器進(jìn)行一次對(duì)時(shí)。

手動(dòng)輸入時(shí)間日期如果沒有可用的NTP授時(shí)服務(wù)器,就需要進(jìn)行手動(dòng)對(duì)時(shí)。輸入2,進(jìn)入“手動(dòng)輸入時(shí)間日期菜單”直接輸入年、月、日、小時(shí)、分鐘、秒的值即可,設(shè)置是立即生效的。顯示當(dāng)前時(shí)鐘顯示當(dāng)前時(shí)鐘退出輸入x退出,并回到主菜單。

嵌入式Modbus虛擬機(jī)工作方式及參數(shù)設(shè)置概述核心板擁有開創(chuàng)性的嵌入式Modbus虛擬機(jī)技術(shù)。在此技術(shù)支持下,核心板與上位機(jī)的ModbusTCP、ModbusRTU通訊是完全自動(dòng)化。程序員不必再設(shè)計(jì)任何Modbus協(xié)議通訊代碼。得益與此技術(shù),程序員只需調(diào)用很少的幾個(gè)函數(shù),即可設(shè)置所有Modbus寄存器的值,在上位機(jī)讀取數(shù)據(jù)時(shí),Modbus虛擬機(jī)自動(dòng)返回這些值。在上位機(jī)發(fā)出寫命令時(shí),Modbus虛擬機(jī)使用消息機(jī)制進(jìn)行應(yīng)答,Lua程序只需簡單的應(yīng)答此消息,即可獲得上位機(jī)下發(fā)的寫數(shù)據(jù)。下圖描述Modbus虛擬機(jī)的工作方式及對(duì)外接口。核心板上電后,即可自動(dòng)初始化Modbus虛擬機(jī),無需在程序中做任何操作。其工作參數(shù)也是通過Telnet管理菜單來進(jìn)行設(shè)置。從而為用戶提供完整的成品化的用戶體驗(yàn)。不可使用設(shè)備本機(jī)硬件寄存器地址核心板本機(jī)硬件的寄存器地址在Modbus虛擬機(jī)中是不可用的,即使設(shè)置了這些地址的參數(shù),也是無任何效果。本機(jī)硬件地址范圍如下(為10進(jìn)制表示):功能碼01及02:寄存器地址10~17,用于讀取本機(jī)的開關(guān)量輸入狀態(tài)功能碼01及02:寄存器地址100~107,用于讀取本機(jī)的開關(guān)量輸出狀態(tài)功能碼03:寄存器地址70~85,用于讀取本機(jī)模擬量的電流值。功能碼03:寄存器地址300~315,用于讀取本機(jī)模擬量的電壓值。功能碼03:寄存器地址400~415,用于讀取本機(jī)模擬量的0至5V電壓值。功能碼03:寄存器地址500~515,用于讀取本機(jī)模擬量的原始數(shù)據(jù)值。功能碼05:寄存器地址30~37,用于控制本機(jī)繼電器輸出。上述寄存器地址不可在Modbus虛擬機(jī)中使用。

Modbus虛擬機(jī)運(yùn)行方式示例設(shè)置Modbus讀命令對(duì)應(yīng)的寄存器值讀命令是指功能碼為:01,02,03,04的命令。直接調(diào)用lib_vmb.setvaluefc3函數(shù),即可設(shè)置Modbus虛擬機(jī)03功能碼所屬的寄存器的值。上位機(jī)在讀取功能碼03和對(duì)應(yīng)的寄存器地址時(shí),即可讀到由程序設(shè)置的值的。例如調(diào)用下列代碼,將03功能碼的寄存器地址04,下位機(jī)地址01,設(shè)置為float數(shù)據(jù),其數(shù)值為1234.25。lib_vmb.setvaluefc3(4,1,4,1234.25);調(diào)用此函數(shù)后,通過ModbusPoll即可用功能碼03,讀取起始地址04,讀取2個(gè)寄存器地址,即可讀到1234.25此截圖為Lua程序代碼,上傳至核心板后,調(diào)用ModbusPoll讀取數(shù)據(jù)。本例子使用ModbusPoll測試,也可以使用任何支持ModbusTCP、ModbusRTU協(xié)議的上位機(jī)軟件進(jìn)行測試。首先安裝ModbusPoll軟件,然后在Connection菜單中選擇Connect。

本例子,使用ModbusTCP協(xié)議進(jìn)行通訊,所以Connectoin選擇TCP/IP。在IPAddress中填入核心板的IP,Port為ModbusTCP端口502。完成后單擊ok

在ModbusPoll軟件中選擇Setup菜單,選擇Read/WriteDefinition菜單項(xiàng)。在填寫Modbus參數(shù)定義時(shí),必須對(duì)應(yīng)調(diào)用lib_vmb.setvaluefc3所設(shè)置的數(shù)據(jù)本例子中,調(diào)用的是lib_vmb.setvaluefc3(4,1,4,1234.25)lib_vmb.setvaluefc3函數(shù)參數(shù)說明如下:參數(shù)1:Modbus寄存器地址,2個(gè)地址讀取4個(gè)字節(jié)參數(shù)2:下位機(jī)地址碼參數(shù)3:數(shù)據(jù)類型2-ushort,3-long,4-float,5-int,6-short;參數(shù)4:此Modbus寄存器地址的數(shù)據(jù)所以lib_vmb.setvaluefc3(4,1,4,1234.25)做如下操作:設(shè)置功能碼03所屬寄存器地址04為Float數(shù)據(jù),占用2個(gè)寄存器地址,數(shù)據(jù)為1234.25,下位機(jī)地址為01。ModbusPoll讀此數(shù)據(jù)時(shí)的參數(shù)定義SlaveID:為下位機(jī)地址碼,對(duì)應(yīng)地2個(gè)參數(shù),設(shè)置為01Function:為功能碼,為03,對(duì)應(yīng)setvaluefc3函數(shù)Address:為起始的寄存器地址,對(duì)應(yīng)參數(shù)1,設(shè)置為04。Quantity:為讀取寄存器數(shù)量,對(duì)應(yīng)參數(shù)3,數(shù)據(jù)類型為4-Float,占用2個(gè)寄存器數(shù)量,設(shè)置為2。ScanRate:輪詢周期Display:顯示數(shù)據(jù)格式,對(duì)應(yīng)參數(shù)3,數(shù)據(jù)類型為4-Float,所以選擇FloatInverse(反轉(zhuǎn)浮點(diǎn)數(shù)格式)完成設(shè)置后,單擊ok,即可正確讀取由lib_vmb.setvaluefc3(4,1,4,1234.25)設(shè)置的值1234.25。應(yīng)答Modbus寫命令寫命令是指功能碼為:05,06,15,16的命令。當(dāng)Modbus虛擬機(jī)接收到上位機(jī)發(fā)送的寫命令時(shí),會(huì)觸發(fā)寫命令消息。Lua程序只要應(yīng)答此消息,即可讀取到上位機(jī)下發(fā)的數(shù)據(jù)。Lua程序必須預(yù)先注冊需要響應(yīng)的功能碼和寄存器地址,下行代碼向Modbus虛擬機(jī)注冊16功能碼06~10地址的消息,數(shù)據(jù)類型為floatlib_vmb.regvmbwrfc16(06,4,1,0);lib_vmb.regvmbwrfc16(08,4,1,0);lib_vmb.regvmbwrfc16(10,4,1,0);當(dāng)上位機(jī)使用功能碼16,向地址06~10寫入數(shù)據(jù)時(shí),將會(huì)觸發(fā)Modbus虛擬機(jī)的全局寫消息。所以Lua程序完成消息注冊后,即可使用waitwrevent函數(shù)等待全局寫消息被觸發(fā)。當(dāng)消息觸發(fā)時(shí),可以通過調(diào)用函數(shù)來讀取Modbus寄存器地址、功能碼、數(shù)據(jù)等信息。由于waitwrevent是阻塞式訪問,調(diào)用后會(huì)一直等待消息觸發(fā),所以需要使用第2個(gè)Lua虛擬機(jī)來執(zhí)行此功能。如截圖所示,Luavm1用于設(shè)置Modbus讀命令對(duì)應(yīng)的寄存器值。第二個(gè)虛擬機(jī)LuaVM2用于響應(yīng)Modbus寫命令消息。本例子完整代碼如下print("注冊并響應(yīng)Modbus16功能碼命令")--下行代碼向Modbus虛擬機(jī)注冊16功能碼06~10地址的消息,數(shù)據(jù)類型為floatlib_vmb.regvmbwrfc16(06,4,1,0);lib_vmb.regvmbwrfc16(08,4,1,0);lib_vmb.regvmbwrfc16(10,4,1,0);while(true)do--無限等待上位機(jī)Modbus寫命令消息,waitwrevent函數(shù)不消耗CPU資源,所以不影響其他虛擬機(jī)性能。lib_vmb.waitwrevent(-1);--Modbus虛擬機(jī)收到寫命令后,觸發(fā)waitwrevent函數(shù),繼續(xù)執(zhí)行下列代碼--讀取上位機(jī)寫數(shù)據(jù),i1為具體數(shù)據(jù),Lua會(huì)自適應(yīng)數(shù)據(jù)類型,而無需預(yù)先定義。i1=lib_vmb.getwrdata();--取得此數(shù)據(jù)的數(shù)據(jù)類型,本例子根據(jù)數(shù)據(jù)類型來調(diào)用不同的打印代碼。datatype=lib_vmb.getwrdatatype()if(datatype==4)then--如果是float浮點(diǎn)數(shù)print(string.format("\r\n收到浮點(diǎn)數(shù)%2.2f",i1));else--其他為整數(shù)print(string.format("\r\n收到整數(shù)%d",i1));end;--getwrfc返回功能碼print(string.format("\r\n功能碼%0d",lib_vmb.getwrfc()));--getwrreg返回Modbus寄存器地址print(string.format("\r\n寄存器%0d",lib_vmb.getwrreg()));--getwrsid返回下位機(jī)地址碼print(string.format("\r\n地址碼%0d",lib_vmb.getwrsid()));--如果數(shù)據(jù)錯(cuò)誤,使用setwrerror通知Modbus虛擬機(jī)向上位機(jī)返回錯(cuò)誤。--lib_vmb.setwrerror();--如果數(shù)據(jù)正確,使用responsewrevent通知Modbus虛擬機(jī)向上位機(jī)返回正確數(shù)據(jù)。lib_vmb.responsewrevent();end使用ModbusPoll發(fā)送寫命令進(jìn)行測試。--下行代碼向Modbus虛擬機(jī)注冊16功能碼06~10地址的消息,數(shù)據(jù)類型為float函數(shù)regvmbwrfc16參數(shù)解釋如下參數(shù)1:Modbus寄存器地址參數(shù)2:數(shù)據(jù)類型:2-unsignedshort格式,3-unsignedlong格式,4-float格式,5-int格式參數(shù)3:下位機(jī)地址參數(shù)4:默認(rèn)數(shù)據(jù),此參數(shù)目前無效果lib_vmb.regvmbwrfc16(06,4,1,0);lib_vmb.regvmbwrfc16(08,4,1,0);lib_vmb.regvmbwrfc16(10,4,1,0);Lua程序使用上面的代碼注冊了功能碼16的消息。下面的截圖為對(duì)應(yīng)的ModbusPoll參數(shù)定義在ModbusPoll的Functions菜單中選擇16:writeregistersSlaveID:為下位機(jī)地址碼,本例子為01,對(duì)應(yīng)regvmbwrfc16(06,4,1,0)的參數(shù)3Address:為待寫入的Modbus寄存器的起始地址,本例子為06,對(duì)應(yīng)regvmbwrfc16的參數(shù)1,本例子共注冊了3個(gè)消息,寄存器地址,分別為06、08、10。從06開始。lib_vmb.regvmbwrfc16(06,4,1,0);lib_vmb.regvmbwrfc16(08,4,1,0);lib_vmb.regvmbwrfc16(10,4,1,0);Quantity:寫入的寄存器數(shù)量,本例子為06,表示從06開始,寫6個(gè)寄存器地址,即06~10。每2個(gè)寄存器地址寫4個(gè)字節(jié)的Float數(shù)據(jù)。設(shè)置完成后,雙擊窗口右側(cè)Modbus寄存器列表,即可修改待寫入的值完成后,單擊send,將寫命令發(fā)送至核心板如果返回ResponseOk,說明核心板正確應(yīng)答了此命令。同時(shí)在Xframe軟件中,相應(yīng)的會(huì)返回應(yīng)答寫命令的提示。如截圖所示。注意!Modbus虛擬使用排隊(duì)方式處理多個(gè)上位機(jī)同時(shí)發(fā)送的寫命令。在使用responsewrevent或setwrerror函數(shù)向Modbus虛

溫馨提示

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

評(píng)論

0/150

提交評(píng)論