版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單片機(jī)溫濕度采集系統(tǒng)的軟件設(shè)計(jì)案例目錄TOC\o"1-3"\h\u10202單片機(jī)溫濕度采集系統(tǒng)的軟件設(shè)計(jì)案例 12681.1Modbus協(xié)議的通信 1179551.2下位機(jī)程序設(shè)計(jì) 2242631.3.1FreeModbus協(xié)議棧的移植 239271.3.2Modbus協(xié)議在STM32單片機(jī)上的實(shí)現(xiàn) 3142431.3上位機(jī)監(jiān)控計(jì)算機(jī)的實(shí)現(xiàn) 4216221.3.1MCGS組態(tài)軟件 4127411.3.2Modbus協(xié)議的RTU模式在上位機(jī)的實(shí)現(xiàn) 5244991.3.3Modbus協(xié)議的TCP模式在上位機(jī)的實(shí)現(xiàn) 683901.3.4ModbusTCP轉(zhuǎn)RTU 7265401.4溫濕度的采集 7298371.5溫濕度數(shù)據(jù)在液晶屏上的顯示 9軟件設(shè)計(jì)主要有三個(gè)方面:一是Modbus協(xié)議在上位機(jī)的實(shí)現(xiàn),二是Modbus協(xié)議在單片機(jī)上的實(shí)現(xiàn),三是實(shí)現(xiàn)對(duì)溫濕度傳感器AHT10數(shù)據(jù)的采集,最終實(shí)現(xiàn)上位監(jiān)控計(jì)算機(jī)與現(xiàn)場(chǎng)采集設(shè)備間的通信,并且可以在上位機(jī)觀測(cè)到溫濕度的變化。1.1Modbus協(xié)議的通信Modbus協(xié)議是一種工業(yè)現(xiàn)場(chǎng)總線協(xié)議標(biāo)準(zhǔn)。可以實(shí)現(xiàn)的功能有很多種,它的主要的功能碼如表4-1。表4-1Modbus常用功能碼功能碼描述01H讀線圈寄存器02H讀離散輸入寄存器03H讀保持寄存器04H讀輸入寄存器05H寫單個(gè)線圈寄存器06H寫單個(gè)保持寄存器0FH寫多個(gè)線圈寄存器10H寫多個(gè)保持寄存器其中運(yùn)用到最多的有:03功能碼:讀保持寄存器,字節(jié)指令操作,可讀單個(gè)或者多個(gè);05功能碼:寫單個(gè)線圈,位操作,只能寫一個(gè),可以通過(guò)一位同時(shí)控制8個(gè)LED燈。Modbus協(xié)議的通信有以下兩種途徑:(1)串口方式進(jìn)行通信:主要是RTU和ASCII模式,本課題主要運(yùn)用的ModbusRTU,RTU的幀結(jié)構(gòu)如表4-2所示,在ModbusRTU傳輸模式下數(shù)據(jù)幀的第一個(gè)字節(jié)代表的是溫度傳感器的設(shè)備地址,從站不停地偵測(cè)總線,來(lái)判斷上位機(jī)的指令是不是發(fā)向自己的;功能代碼決定了當(dāng)前指令的作用;數(shù)據(jù)段為傳輸?shù)木唧w信息(如溫濕度傳感器采集到的溫濕度數(shù)據(jù));兩位CRC校驗(yàn)碼則用來(lái)避免各種干擾,能夠起到降低誤碼率,提高了傳輸可靠性的作用。表4-2ModbusRTU報(bào)文幀子節(jié)點(diǎn)地址功能代碼數(shù)據(jù)CRC校驗(yàn)1字節(jié)1字節(jié)0-252字節(jié)CRC低CRC高(2)利用網(wǎng)絡(luò)的方式進(jìn)行Modbus通信:FreeModbus支持TCP模式,這個(gè)模式的功能碼與RTU模式的一樣。當(dāng)在現(xiàn)場(chǎng)嵌入式設(shè)備上運(yùn)行時(shí),可以利用TCP協(xié)議和上位監(jiān)控計(jì)算機(jī)進(jìn)行通信。TCP報(bào)文幀由MBAP頭和PDU數(shù)據(jù)單元構(gòu)成。PDU由功能碼和數(shù)據(jù)組成。利用以太網(wǎng)通信的時(shí)候server端就相當(dāng)于從站,只能等待連接。1.2下位機(jī)程序設(shè)計(jì)1.3.1FreeModbus協(xié)議棧的移植FreeModbus是一個(gè)開(kāi)源的協(xié)議。它具有RTU、ASCII模式和TCP協(xié)議的支持。它的代碼規(guī)范并且移植方便簡(jiǎn)單,給程序的開(kāi)發(fā)帶來(lái)了極大的便利。又由于它具有可裁剪性,因此可以根據(jù)自己的需求來(lái)對(duì)代碼進(jìn)行任意的裁剪。同時(shí)FreeModbus對(duì)軟硬件的要求也不高、資源占用的不多,使用起來(lái)簡(jiǎn)單方便REF_Ref71899412\r\h[9]。因?yàn)閰f(xié)議棧的程序編寫較為復(fù)雜,自己編寫工作量過(guò)大,并且代碼沒(méi)有經(jīng)過(guò)長(zhǎng)期運(yùn)行不可靠。因此在RT-Thread操作系統(tǒng)系下移植FreeModbus協(xié)議棧到STM32單片機(jī)上面以實(shí)現(xiàn)遠(yuǎn)程上位機(jī)的RTU模式的Modbus通信功能。利用ENV工具來(lái)對(duì)串口進(jìn)行配置(ENV工具進(jìn)行配置可以對(duì)自己需要的板載資源包進(jìn)行任意的組合,滿足自己開(kāi)發(fā)的各種需要),可以方便快速的移植從站協(xié)議到STM32單片機(jī)。FreeModbus協(xié)議中有4種寄存器,開(kāi)關(guān)輸入寄存器、線圈寄存器、保持寄存器和輸入寄存器,Modbus所有的功能都是通過(guò)這四種不同的類型來(lái)實(shí)現(xiàn)。但是不同的用戶數(shù)據(jù)緩沖區(qū)在結(jié)構(gòu)上不一定是一樣的,所以相應(yīng)的數(shù)據(jù)處理方式就會(huì)各不相同,因此我們應(yīng)該把各種數(shù)據(jù)類型對(duì)應(yīng)的操作按照不同的數(shù)據(jù)緩沖區(qū)來(lái)進(jìn)行不同操作。四種數(shù)據(jù)處理回調(diào)接函數(shù)如下:eMBMasterRegInputCB();輸入寄存器回調(diào)接口,輸入寄存器可讀,但不可寫;eMBMasterRegHoldingCB();保持寄存器回調(diào)接口,保持寄存器可讀可寫;eMBMasterRegCoilsCB();線圈回調(diào)接口,線圈寄存器可讀可寫;eMBMasterRegDiscreteCB();離散輸入回調(diào)接口,可讀但不可寫。當(dāng)有功能函數(shù)調(diào)用的時(shí)候,就可以通過(guò)不同的回調(diào)函數(shù)進(jìn)行回讀,然后進(jìn)行數(shù)據(jù)處理和傳送。往從機(jī)中寫入數(shù)據(jù)函數(shù)具體如下所示,本課題使用中其中第一個(gè)參數(shù)為SLAVE_ADDR(在開(kāi)始已經(jīng)將這個(gè)定義為1,即從機(jī)地址為0x01。);第二個(gè)參數(shù)寫寄存器的起始地址使用的是前面已經(jīng)定義過(guò)的2(即寫數(shù)據(jù)的起始地址為2);第三個(gè)參數(shù)寫寄存器的總數(shù)使用的是MB_SEND_REG_NUM(已被定義為2,即向從機(jī)寫入兩個(gè)數(shù)據(jù));第四個(gè)參數(shù)為寫寄存器的數(shù)據(jù)(下面所示的函數(shù)表示的數(shù)據(jù)為data數(shù)組中的數(shù)據(jù))。讀數(shù)據(jù)函數(shù)與寫類似。1.3.2Modbus協(xié)議在STM32單片機(jī)上的實(shí)現(xiàn)在主程序中先定義好從機(jī)地址、波特率、奇偶校驗(yàn)、停止位和端口號(hào)等。首先通過(guò)eMBSlaveInit來(lái)從機(jī)協(xié)議棧進(jìn)行初始化操作,從機(jī)中涉及到的部分硬件就會(huì)跟著進(jìn)行初始化,同時(shí)利用HAL_UART_MspDeInit()函數(shù)對(duì)串口進(jìn)行初始化,由于ENV工具配置的生成的串口初始化函數(shù)只有串口1的,而本課題所使用的還有別的串口,因此需要自己編寫其他在數(shù)據(jù)采集過(guò)程中所用到的串口的初始化。利用在線程輪詢調(diào)用eMSlavePoll方式,來(lái)實(shí)現(xiàn)主站和從站的通信。使用一個(gè)線程的第一步就是先創(chuàng)建一個(gè)線程。通過(guò)創(chuàng)建線程在主函數(shù)中創(chuàng)建了兩個(gè)動(dòng)態(tài)線程。當(dāng)調(diào)用一個(gè)線程時(shí),系統(tǒng)就從動(dòng)態(tài)堆內(nèi)存中分配一個(gè)線程句柄,然后按照線程函數(shù)里面的參數(shù)中定義的棧的值來(lái)分配對(duì)應(yīng)大小的空間。線程1:tid1=rt_thread_create("md_s_poll",mb_slave_poll,RT_NULL,512,MB_POLL_THREAD_PRIORITY,10);創(chuàng)建線程1,名稱是md_s_poll,入口函數(shù)是mb_slave_poll,線程大小是512字節(jié),優(yōu)先級(jí)設(shè)置的10(優(yōu)先級(jí)范圍根據(jù)系統(tǒng)配置情況,數(shù)值越小那么優(yōu)先級(jí)久會(huì)越高)。當(dāng)線程執(zhí)行成功以后就會(huì)返回一個(gè)句柄,就可以用來(lái)判斷。創(chuàng)建的線程首先會(huì)是初始化,這個(gè)時(shí)候線程是不會(huì)進(jìn)入到就緒線程的隊(duì)列,當(dāng)獲得線程控制塊后,我們可以在線程初始化完成以后利用rt_thread_startup(tid1)函數(shù)接口讓該線程進(jìn)入就緒態(tài),隨后按照設(shè)置的優(yōu)先級(jí)等待。當(dāng)新啟動(dòng)的線程優(yōu)先級(jí)高于當(dāng)前的線程那么就會(huì)先啟動(dòng)這個(gè)優(yōu)先級(jí)更高的線程。啟動(dòng)這個(gè)線程后,在函數(shù)mb_slave_poll中進(jìn)行輪詢。線程2:tid2=rt_thread_create("md_s_send",send_slave_entry,RT_NULL,512,MB_SEND_THREAD_PRIORITY,10);創(chuàng)建線程2,名稱是md_s_send,入口函數(shù)是send_slave_entry?!皊end_slave_entry”函數(shù)主要是實(shí)現(xiàn)從站發(fā)送數(shù)據(jù),將溫度和濕度的數(shù)值寫到保持寄存器中,將LED燈的值寫到離散寄存器中。一般來(lái)在線程的實(shí)際應(yīng)用的時(shí)候會(huì)利用rt_thread_mdelay();函數(shù)讓正在運(yùn)行的線程延遲一定的時(shí)間,以便有足夠的時(shí)間進(jìn)行響應(yīng),直到設(shè)置的時(shí)間到了以后才會(huì)再次運(yùn)行。主要程序參考附錄二。1.3上位機(jī)監(jiān)控計(jì)算機(jī)的實(shí)現(xiàn)1.3.1MCGS組態(tài)軟件MCGS組態(tài)軟件可以快速構(gòu)造和生成上位機(jī)監(jiān)控系統(tǒng),實(shí)現(xiàn)上位機(jī)的功能。主要實(shí)現(xiàn)數(shù)據(jù)的采集、檢測(cè)和處理,能面向多種操作系統(tǒng)平臺(tái)。MCGS擁有強(qiáng)大的用戶操作界面可以自行繪制所需要的操作界面,利用公式進(jìn)行數(shù)據(jù)處理也很方便,同時(shí)還有生成報(bào)表、產(chǎn)生報(bào)警的功能,除此之外還具有網(wǎng)絡(luò)通訊(支持Modbus、串口及TCP/IP協(xié)議)的功能以及可以支持各種不同硬件設(shè)備REF_Ref71899243\r\h[7]。當(dāng)MCGS與現(xiàn)場(chǎng)的硬件設(shè)備連接以后,就可以便捷的開(kāi)發(fā)出各種運(yùn)用于現(xiàn)場(chǎng)數(shù)據(jù)采集及處理的監(jiān)控系統(tǒng)。MCGS設(shè)數(shù)據(jù)的采集和輸出的原理圖如圖4-1。圖4-1MCGS原理圖1.3.2Modbus協(xié)議的RTU模式在上位機(jī)的實(shí)現(xiàn)組態(tài)軟件MCGS6.2中的ModbusRTU驅(qū)動(dòng)程序是基于Modbus通信協(xié)議編制的。因此,在設(shè)計(jì)監(jiān)控界面的時(shí)候,只需要設(shè)置與單片機(jī)程序中一樣的波特率,校驗(yàn)方式,和下位機(jī)地址就可以將單片機(jī)寄存器中的數(shù)據(jù)采集到實(shí)時(shí)數(shù)據(jù)庫(kù)中,或者將數(shù)據(jù)寫入到單片機(jī)的寄存器中。最終MCGS組態(tài)軟件就可以實(shí)現(xiàn)與下位機(jī)的通信。我們?cè)贛CGS編程的時(shí)候,當(dāng)涉及到與硬件連接的時(shí)候,我們可以通過(guò)簡(jiǎn)單地模塊化組態(tài)從而來(lái)設(shè)計(jì)所需要的監(jiān)控系統(tǒng)REF_Ref71899248\r\h[8]。由于使用的ModbusRTU協(xié)議來(lái)進(jìn)行串口通信,因此在使用MCGS軟件進(jìn)行設(shè)計(jì)的時(shí)候要先在設(shè)備窗口選用通用串口父設(shè)備,這樣才能正確建立通信。然后設(shè)置相關(guān)的設(shè)備屬性來(lái)建立連接,建立了連接以后就可以將外部設(shè)備的數(shù)據(jù)讀取到MCGS的實(shí)時(shí)數(shù)據(jù)庫(kù)。隨后添加設(shè)備,在名稱內(nèi)部設(shè)置相應(yīng)的地址變量和寄存器地址來(lái)讀取想用的參數(shù),通道連接如圖4-2。圖4-2通道連接隨后在用戶界面繪制簡(jiǎn)單的操作界面來(lái)實(shí)時(shí)顯示所采集的溫濕度數(shù)據(jù),并且可以通過(guò)寫線圈實(shí)現(xiàn)LED燈的控制。最終使ModbusRTU協(xié)議能夠在上位監(jiān)控計(jì)算機(jī)實(shí)現(xiàn)。上位監(jiān)控計(jì)算機(jī)界面如圖4-2。正常情況下LED燈為綠色,當(dāng)溫濕度超出一定的值時(shí)就可以使LED燈變成紅色產(chǎn)生提醒的作用。圖4-3上位監(jiān)控計(jì)算機(jī)界面1.3.3Modbus協(xié)議的TCP模式在上位機(jī)的實(shí)現(xiàn)在需要遠(yuǎn)程監(jiān)控或數(shù)據(jù)采集的場(chǎng)所,通過(guò)ModbusRTU的傳統(tǒng)通信方式滿足不了需求,這個(gè)時(shí)候用以太網(wǎng)來(lái)進(jìn)行通信就成了最好的選擇,由于在RT-Thread操作系統(tǒng)下進(jìn)行FreeModbus協(xié)議棧中的ModbusTCP模式移植有些問(wèn)題,所以最終采取了利用串口服務(wù)器來(lái)實(shí)現(xiàn)串口轉(zhuǎn)網(wǎng)絡(luò)。在MCGS組態(tài)軟件實(shí)現(xiàn)TCP模式與RTU模式不同的首先在于,TCP模式的父設(shè)備選擇的是“通用TCP/IP父設(shè)備“”,父設(shè)備選擇網(wǎng)路類型的選擇中選擇TCP,選擇客戶端,其中的遠(yuǎn)程IP地址則根據(jù)遠(yuǎn)程設(shè)備的IP地址來(lái)確定。建立好連接后,實(shí)時(shí)數(shù)據(jù)庫(kù)的配置與RTU模式里的配置方法一致。建立連接需要先將上位機(jī)的IP地址改為和串口服務(wù)器設(shè)備在同一個(gè)網(wǎng)段,使上位監(jiān)控計(jì)算機(jī)的IP地址和遠(yuǎn)程設(shè)備在同一個(gè)網(wǎng)段,串口服務(wù)最初的IP地址為192.168.1.253,測(cè)試時(shí)直接用默認(rèn)IP地址,因此將上位監(jiān)控計(jì)算機(jī)的地址設(shè)置為192.168.1.112。設(shè)置完成后查詢得到電腦的地址如圖4-3圖4-4上位監(jiān)控計(jì)算機(jī)IP地址在配置串口服務(wù)器時(shí)選擇TCP_SERVER模式,由于需要實(shí)現(xiàn)ModbusTCP協(xié)議到ModbusRTU協(xié)議的轉(zhuǎn)換因此需要將“ModbusTCP轉(zhuǎn)RTU”選項(xiàng)勾選。其余的配置(波特率,校驗(yàn)方式等)與程序里面給從站定義的保持一致。詳細(xì)配置界面如圖4-4所示,這樣設(shè)置完成以后建立連接的時(shí)候就能實(shí)現(xiàn)數(shù)據(jù)的正確傳輸了,能利用ModbusPoll在設(shè)置成TCP/IP模式的時(shí)候采集到的單片機(jī)采集的數(shù)據(jù),也可以利用MCGS顯示單片機(jī)采集到的數(shù)據(jù)。最終就完成了ModbusTCP協(xié)議在上位機(jī)的實(shí)現(xiàn)。圖4-5串口服務(wù)器的配置1.3.4ModbusTCP轉(zhuǎn)RTU“TCP轉(zhuǎn)RTU”這個(gè)選項(xiàng)是進(jìn)行協(xié)議轉(zhuǎn)換的所需要的,只有網(wǎng)絡(luò)和串口數(shù)據(jù)符合ModbusTCP和RTU協(xié)議格式的時(shí)候才會(huì)對(duì)數(shù)據(jù)格式進(jìn)行變換,否則就會(huì)把數(shù)據(jù)丟棄。當(dāng)串口服務(wù)器選擇的TCP_SERVER模式時(shí),與其進(jìn)行通信的的MCGS組態(tài)軟件或者是ModbusPoll軟件等都需要工作在TCPClient模式。最開(kāi)始嘗試通信的時(shí)候可以先利用ModbusPoll來(lái)模擬通信,正確連接線路后,利用串口服務(wù)器配置軟件對(duì)串口服務(wù)器進(jìn)行配置,將“TCP轉(zhuǎn)RTU”打勾。設(shè)置完成以后就通過(guò)ModbusPoll來(lái)建立連接,將串口服務(wù)器的IP和端口號(hào)設(shè)置好就可以進(jìn)行連接。連接完成以后就可以在ModbusPoll上看到相應(yīng)的數(shù)據(jù)。1.4溫濕度的采集本課題所用的AHT10采用的是I2C通信方法采集溫濕度,使用I2C總線設(shè)備時(shí)要先利用I2C總線的設(shè)備的名稱來(lái)得到設(shè)備句柄。通過(guò)查找設(shè)備函數(shù)rt_device_find(AHT10_I2C_BUS_NAME)來(lái)實(shí)現(xiàn)總線設(shè)備名稱獲取設(shè)備句柄,在主函數(shù)最上面將AHT10_I2C_BUS_NAME定義為"i2c4"(系統(tǒng)的I2C設(shè)備的名稱一般都用i2c0,i2c1等,本次使用的名稱是i2c4)。當(dāng)?shù)玫絀2C總線設(shè)備句柄后,就能利用rt_i2c_transfer(bus,&msgs,1)函數(shù)來(lái)進(jìn)行數(shù)據(jù)傳輸,其中bus代表I2C總線設(shè)備句柄,其中&msgs為指向待傳輸?shù)南?shù)組指針,1即消息數(shù)組元素個(gè)數(shù),返回值為消息數(shù)組元素個(gè)數(shù),因此可以利用rt_i2c_transfer(bus,&msgs,1)==1語(yǔ)句來(lái)進(jìn)行判斷數(shù)據(jù)傳輸是否有錯(cuò)誤。利用I2C進(jìn)行數(shù)據(jù)傳輸將讀取溫濕度的值后放入寄存器中,以便發(fā)送給上位監(jiān)控計(jì)算機(jī)。當(dāng)要到讀取溫度和濕度的數(shù)據(jù)時(shí)首先通過(guò)調(diào)用aht10_init(void)函數(shù)對(duì)AHT10進(jìn)行初始化。通過(guò)寫傳感器寄存器和讀傳感器寄存器來(lái)將AHT10中的溫度和濕度數(shù)據(jù)調(diào)用,然后將溫度和濕度的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換方法如下:*cur_humi=(temp[1]<<12|temp[2]<<4|(temp[3]&0xf0)>>4)*100.0/(1<<20);*cur_temp=((temp[3]&0xf)<<16|temp[4]<<8|temp[5])*200.0/(1<<20)-50;隨后將轉(zhuǎn)換好的溫度和濕度的數(shù)值放到已經(jīng)定義好的數(shù)組usSRegHoldBuf[S_REG_HOLDING_NREGS]中,分別將溫度和濕度寫到寄存器0和寄存器1中,這樣上位機(jī)就可以通過(guò)ModbusRTU/TCP協(xié)議的讀保持寄存器03功能來(lái)讀取這兩個(gè)寄存器的數(shù)值從而實(shí)現(xiàn)對(duì)溫度和濕度的讀取。在模擬上位機(jī)和下位機(jī)的Modbu通信的時(shí)候,可以利用Modbuspoll軟件模擬主站可以觀察到通信的完整數(shù)據(jù)格式如圖4-4圖4-6通信報(bào)文幀圖中框選的溫度和濕度的讀取指令說(shuō)明如表4-1所示表4-1ModbusRTU溫濕度讀取指令說(shuō)明指令指令01說(shuō)明設(shè)備地址讀指令讀寄存器地址讀取數(shù)量CRC校驗(yàn)030000000A74EE圖中溫度和濕度的返回?cái)?shù)據(jù)指令說(shuō)明如表4-2所示表4-1ModbusRTU溫濕度返回?cái)?shù)據(jù)指令說(shuō)明數(shù)據(jù)數(shù)據(jù)01說(shuō)明設(shè)備地址讀指令濕度數(shù)據(jù)溫
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年安吉人事考試及答案
- 2025年南京教招學(xué)前筆試真題及答案
- 2025年廣州商業(yè)銀行筆試及答案
- 2025年銀行筆試精算題及答案
- 2025年城投資本運(yùn)營(yíng)部筆試及答案
- 2025年廣實(shí)中學(xué)教師筆試及答案
- 2025年珠三角英語(yǔ)教師編制筆試及答案
- 2025年寶雞市事業(yè)單位工人考試及答案
- 美容院衛(wèi)生設(shè)備設(shè)施維護(hù)制度
- 乙型肝炎患者感染控制與隔離護(hù)理
- 妊娠合并乙肝的課件
- 建筑施工安全檢查評(píng)分表(完整自動(dòng)計(jì)算版)
- 2025年中國(guó)肝素鈉數(shù)據(jù)監(jiān)測(cè)報(bào)告
- 急性腦梗患者護(hù)理課件
- 2025年高職單招職業(yè)技能邏輯推理類專項(xiàng)練習(xí)卷及答案
- 中藥材儲(chǔ)存與養(yǎng)護(hù)規(guī)范
- 2025年藥品經(jīng)營(yíng)和使用質(zhì)量監(jiān)督管理辦法考核試題【含答案】
- 客戶案例經(jīng)典講解
- 礦山智能化開(kāi)采2025年無(wú)人作業(yè)技術(shù)智能化礦山設(shè)備智能化技術(shù)路線圖報(bào)告
- 機(jī)械標(biāo)準(zhǔn)-G類-管件
- 2025-2030中國(guó)工業(yè)級(jí)芳綸蜂窩芯行業(yè)前景動(dòng)態(tài)與需求趨勢(shì)預(yù)測(cè)報(bào)告
評(píng)論
0/150
提交評(píng)論