導航:首頁 > 源碼編譯 > foc演算法神經網路

foc演算法神經網路

發布時間:2023-01-11 12:50:36

① 什麼是磁場定向控制(FOC),和矢量控制有什麼區別

沒有區別,FOC控制又稱為矢量控制。

1.磁場定向控制系統(FOC)又稱為矢量控制系統,他是選擇電機某一旋轉磁場軸作為特定的同步旋轉坐標軸。

2.磁場定向軸的選擇有三種:轉子磁場定向、氣隙磁場定向和定子磁場定向。氣隙磁場定向和定子磁場定向在磁鏈關系中均存在耦合,使得矢量控制結構更加復雜。

3.轉子磁場定向是仿照直流電動機的控制方式,利用坐標變換的手段,把交流電動機的定子電流分解成磁場分量電流和轉矩分量電流並分別加以控制,即磁通電流分量和轉矩電流分量二者完全解耦,從而獲得類似於直流調速系統的動態性能。

4.FOC控制技術在工業領域應用的相對成熟,常見到的產品有伺服控制器、矢量變頻器等,在民用領域普及相對滯後,比如近10年發展起來的變頻空調、出口歐美的高端變頻風扇等。

拓展資料:

採用矢量控制方式的通用變頻器不僅可在調速范圍上與直流電動機相匹配,而且可以控制非同步電動機產生的轉矩。

由於矢量控制方式所依據的是准確的被控非同步電動機的參數,有的通用變頻器在使用時需要准確地輸入非同步電動機的參數,有的通用變頻器需要使用速度感測器和編碼器。

目前新型矢量控制通用變頻器中已經具備非同步電動機參數自動檢測、自動辨識、自適應功能,帶有這種功能的通用變頻器在驅動非同步電動機進行正常運轉之前可以自動地對非同步電動機的參數進行辨識,並根據辨識結果調整控制演算法中的有關參數,從而對普通的非同步電動機進行有效的矢量控制。

② 代碼嵌入模型是什麼

集成式MBD開發方式
把FOC演算法模型嵌入代碼
寫在最後

姍姍來遲的第五期(天太冷了,搭模型、寫文章也需要毅力)。
本期將是2021年的收官,也將是MBD實戰之電機控制系列的最後一期。這一期將介紹如何將模型生成的代碼集成到已有的代碼中去——把演算法模型嵌入你的代碼之中去。
1 集成式的MBD開發方式

這個話題這前面的文章中提過了很多次,之所以頻繁的提及這種集成的方法,是因為這是目前MBD(Model-Based Design,基於模型的設計)的主流開發方式。
具體而言,集成式MBD的開發方法是:軟體代碼手寫一部分,模型生成一部分,然後再將兩部分集成在一起,從而實現完整的軟體開發。
手寫代碼和模型生成有著不同的分工:
手寫代碼:適用於底層驅動、外設初始化、內存管理、中斷管理、OS、Bootloader、協議棧等,還包括片外擴展IC的初始化,以及其他數學特徵不明顯的功能;
模型生成:適用於數學演算法、狀態機、數據處理等。
Tips:為了便於區分,本文將手寫的代碼稱為底層代碼,而模型生成的代碼稱為模型代碼。底層代碼負責的模塊並不一定全部都是必須的,例如OS(嵌入式中一般使用實時操作系統,比如FreeRTOS),很多控制可能不需要OS,只需要中斷管理即可。
可以看出,底層代碼負責的功能,並不適合使用模型來實現。上一期給出的完全由模型實現的電機控制框架,雖然實現了電機控制,但實際上忽略了很多實際項目中必須的模塊,例如OS、Bootloader等,還有很多安全機制也沒有考慮。
底層代碼功能理論上也能通過模型來實現,但沒必要、也不需要用模型的方式來實現。MathWorks官方也一直推薦僅使用Simulink/MATLAB搭建演算法模型,像底層驅動、內存管理、OS、Bootloader、協議棧等等,還是通過手寫代碼的方式更為高效。
這一點我有直接咨詢過MathWorks的工程師,他告訴我底層代碼要通過模型來實現,其難點在於TLC語言的復雜性和硬體晶元的多樣性(市面上的晶元太多,每一個都需要適配),這兩點沒有專業的團隊,很難實現模型的高效性。
Tips:我有了解到,有的公司利用StateFlow實現了類似於OS的Task Manager,用於管理模型中的不同任務。其構成也是相當復雜,沒有專門的團隊是沒辦法開發和維護的。但也僅限於任務調度——我感覺像復雜的狀態機,OS的很多功能是沒辦法用StateFlow實現的。
對於有復雜演算法的軟體,MBD代碼生成就可以大顯身手了,演算法越復雜,優勢就越顯著。舉一些例子,如:電機控制、電池管理系統(BMS)、路徑規劃、緊急制動(AEB)、自動泊車(APS)等演算法,其演算法實現都可以通過MBD的方式來開發。
用MBD來開發演算法,簡單總結有如下優勢:
便於演算法實現和調整:這里指的並不是找Bug,演算法的數學表達可能是固定的,但在特定的應用場景下,演算法的局部需要特定調整,例如添加狀態機實現不同狀態的切換。藉助模型的圖形化,以及MATLAB/Simulink上的各種工具箱,這種調整是很直觀,並且很容易實現。
專注演算法且演算法獨立:使用模型搭建演算法,我們只需要專注演算法實現的本身,不需要考慮底層驅動等因素;由於不考慮底層驅動,演算法模型可以方便地實現移植。有人說演算法的核心是數學,寫代碼往往並不太容易兼顧數學,但搭建模型可以。
便利的模擬測試:演算法的測試對於優化演算法是非常強有力的途徑,通過MBD,可以方便的實現MIL、SIL、PIL和HIL,根據測試結果,反饋到模型中,再對模型進行調整,這其中的效率是手寫代碼無法比擬的。
我自己是有完全手寫代碼實現電機控制軟體所有環節的經驗的,對比搭建MBD電機控制框架的開發過程,上述優點是非常明顯的,我深有體會。這些優點對新手入門也是非常友好,特別是對非電子、計算機專業的人來說。
在使用集成式MBD開發項目時,軟體實現一般需要兩個角色:
底層工程師:底層工程師需要對MCU和硬體電路設計很熟悉,他負責實現底層驅動、MCU初始化、OS、Bootloader、協議棧等。他使用手寫代碼的方式進行開發,在底層代碼中給演算法預留好介面,以供演算法集成。
演算法模型工程師:演算法模型工程師則負責搭建模型、測試演算法,測試通過後就可以生成代碼,然後集成到底層代碼中去。
Tips:軟體實現還可以有一個統籌底層代碼和模型代碼的架構工程師,給底層和模型設計需求;非軟體的部分,一般有一位硬體工程師。
集成好了之後可能還需要進行測試,因為模擬畢竟和實際情況有差異。這時候再調整模型,或者調整底層代碼,就可以做到彼此獨立、互不幹擾了。這一點在傳統的開發中往往是一大痛點,而MBD可以很好的解決這個問題。
2 把FOC演算法模型嵌入代碼

依然以PMSM無感電機控制軟體開發為例來介紹如何實現模型代碼的集成,硬體平台是NXP的電機開發套件MCSPTE1AK144。
電機開發套件MCSPTE1AK144 - From NXP
後文中提到的最新的模型和代碼已經更新到了我的GitHub倉庫中,下載模型可以訪問下面這個鏈接:
GitHub倉庫:autoMBD電機控制項目
https://github.com/TkungAI/autoMBD_Motor_Control
也可以在私信作者發送關鍵詞「MBD電機控制」,作者還有其他資源,發送關鍵詞「資源」可以收到下載鏈接。
回到正題,如何開展集成式MBD開發,有以下三個工作環節:
1. 實現演算法模型

首先要明確演算法模型的需求,可以簡單地概括為:
演算法的輸入和輸出是什麼?
演算法的內部變數有哪些?
演算法要處理什麼任務(狀態機)?
這三個問題的解答也需要和底層工程師和硬體工程師一起協商、相互約束、相互補充,共同明確需求。下圖是本次實現的電機控制演算法模型(文件名FOC_Ctrl_CodeModel.slx):
PMSM無感電機控制演算法模型 - From autoMBD
PMSM無感電機控制演算法模型
-
From autoMBD
這里給出我在本次的PMSM無感電機控制軟體開發中,對上述三個問題的回答:
輸入和輸出
輸入為5個ADC采樣信號和2個電機控制信號,ADC採用數據用於FOC演算法、目標轉速的輸入,電機控制信號用於控制電機的啟停;輸出為三相占空比Duty Cycle和LED信號,分別用來執行控制和顯示控制狀態(參見上圖)。
中間變數
中間量不會輸出,是在演算法處理數據過程中產生的,可以體系演算法的特徵,比如處理後的電壓信號、電流信號、無感演算法估計的速度和位置、控制信號等。這部分通過Bus數據對象實現對數據結構體的定義。下圖中的varFOC即包含了所有的中間量。
中間變數和StateFlow Chart - From autoMBD
狀態機設計
這部分也就是明確電機控制軟體具有的功能、任務。在不同的階段,演算法執行的內容是不一樣的,例如關閉電機的狀態下,不需要跑FOC演算法。本次項目中,只實現了簡單啟動、關閉和故障清楚的功能,狀態相對簡單,如下圖所示:
演算法模型狀態機 - From autoMBD
Tips:如果有看之前提出的電機控制框架模型,應該就能發現這里的狀態機與之非常相似。實際上這里的狀態機是對原版的更新和優化,把函數調用方式從Function Call換成了Simulink Function,在Chart內部即可調用函數,不需要把調用的函數模型建立在Chart外面了。具體狀態機的講解可以參考電機實戰的03期和04期的內容。
要注意的是,在Run狀態下,調用的FOC核心演算法模型,其包含了獨屬於FOC演算法的子狀態機和中間變數FocInternalPara。這里將FOC演算法部分和與非FOC演算法部分進行了分別設計,增加演算法的靈活性和移植性。
FOC核心數學演算法 - From autoMBD
FOC核心演算法模型子狀態機 - From autoMBD
Tips:該狀態機只負責FOC演算法的狀態控制,包括對齊、開環、追蹤和無感閉環四個狀態,具體內容可以參考電機實戰的04期的內容。
演算法模型的內容就介紹到這里,其他的細節還請下載模型後打開查看。模型創建好了就可以生成代碼了:
演算法模型生成代碼 - From autoMBD
這里生成的代碼即集成時需要用到的代碼。生成代碼文件很多,其實是可以優化減少的,後續再開新的文章來講解如何優化生成的代碼。
2. 實現底層代碼

Tips:底層代碼的實現本質上就是手寫代碼的開發方式,只不過不做演算法部分而已,所以需要有一定的編程基礎。網路上有很多嵌入式開發的文章和案例,autoMBD的目標也不是介紹手寫代碼的開發,所以這里不會很細致的講如何實現底層代碼,僅從方法論的角度簡單介紹一下。
可以發現,上述的演算法模型中已經沒有任何的硬體支持包的模塊了,即已經不包含任何的底層驅動、外設初始化等等的功能,這部分由底層代碼來實現。
要開發底層代碼,需要用到集成開發環境IDE。對於S32K1系列晶元,NXP公司提供了一套免費的、專用於NXP汽車晶元的IDE工具——面向Arm®的S32 Design Studio(簡稱S32DS)。
面向Arm®的S32 Design Studio - From NXP
打開S32DS後,窗口如下圖所示:
S32DS窗口 - From NXP
要配置底層驅動,需要用到S32K1專用圖形配置工具——Processor Expert(上圖中紅色方框中的部分)。該工具能夠實現對S32K1系列晶元的靈活配置。而底層驅動則需要使用S32K1 SDK,該SDK具有豐富的API供開發者使用,功能完善且強大。
關於Processor Expert和S32K1 SDK的使用,更多請參考NXP的技術文檔。
本次項目中我也實現了一個基本的PMSM無感電機控制的底層代碼,包括外設配置、MCU初始化和中斷管理的內容,該DS工程位於倉庫的這個位置:
S32DS_Prjct -> FOC_Ctrl_MBD_Integration。
該底層代碼實現的功能與上一期中的電機控制框架基本一致。
3. 模型代碼的集成

到這里,模型代碼和底層代碼都已經實現,如何集成呢?實際上生成的代碼中有一個ert_main.c的文件就給出了集成的實例,讀者可以參考該文件。
模型代碼集成的過程是比較簡單的,主要分為以下幾步:
模型初始化:FOC_Ctrl_CodeModel_initialize()
周期性運算Step函數:FOC_Ctrl_CodeModel_step()或rt_OneStep()
終止(如果需要):FOC_Ctrl_CodeModel_terminate()
Tips:調用並運行模型演算法的是Step函數,即計算模型的一個步長。兩個Step函數功能是一樣的,rt_OneStep()在」模型Step「的基礎上封裝了一層錯誤檢查,但該錯誤檢查基本上起不了什麼作用。
特別要注意的是周期性調用Step函數的周期,需要和演算法的運算周期保持一致,不然可能會出現錯誤結果。
本次項目中,模型初始化在MCU初始化完成後調用;Step函數的調用在Motor_ISR中;模型演算法不會終止,所以不需要Terminate函數。
初始化的具體代碼如下:
/* Low level driver initialization */ MCU_Init(); GD3000_Init(); FMSTR_Init(); /* Initialize model */ FOC_Ctrl_CodeModel_initialize(); MCU_Start(); /* Forever loop */ while(1) { FMSTR_Poll(); mainCnt++; }
Motor_ISR:
void Motor_ISR (void) { /* Read ADC*/ ADC_DRV_GetChanResult(INST_ADCONV1, 0, &adcResult[0][0]); /* V_REFSH */ ADC_DRV_GetChanResult(INST_ADCONV1, 1, &adcResult[0][1]); /* Pot */ ADC_DRV_GetChanResult(INST_ADCONV1, 2, &adcResult[0][2]); /* iA */ ADC_DRV_GetChanResult(INST_ADCONV1, 3, &adcResult[0][3]); /* Temp */ ADC_DRV_GetChanResult(INST_ADCONV2, 0, &adcResult[1][0]); /* V_REFSL */ ADC_DRV_GetChanResult(INST_ADCONV2, 1, &adcResult[1][1]); /* uDC */ ADC_DRV_GetChanResult(INST_ADCONV2, 2, &adcResult[1][2]); /* iB */ ADC_DRV_GetChanResult(INST_ADCONV2, 3, &adcResult[1][3]); /* iDC */ /* Set model inputs here */ FOC_Ctrl_CodeModel_U.ADCinput[0] = adcResult[0][2]; FOC_Ctrl_CodeModel_U.ADCinput[1] = adcResult[1][2]; FOC_Ctrl_CodeModel_U.ADCinput[2] = adcResult[1][3]; FOC_Ctrl_CodeModel_U.ADCinput[3] = adcResult[1][1]; FOC_Ctrl_CodeModel_U.ADCinput[4] = adcResult[0][1]; FOC_Ctrl_CodeModel_U.FaultSwitch = faultSwitch; FOC_Ctrl_CodeModel_U.MotorSwitch = motorSwitch; /* Calculate one-step for the modle */ rt_OneStep(); /* Get model output here */ pwmDuty[0] = (uint16_t)(FULL_DUTY * FOC_Ctrl_CodeModel_Y.DUTY[0]); pwmDuty[1] = (uint16_t)(FULL_DUTY * FOC_Ctrl_CodeModel_Y.DUTY[1]); pwmDuty[2] = (uint16_t)(FULL_DUTY * FOC_Ctrl_CodeModel_Y.DUTY[2]); /* Set PWM ty */ FTM_DRV_FastUpdatePwmChannels(INST_FLEXTIMER_PWM1, 3, pwmChannels, pwmDuty, true); /* Clear FTM flag */ FTM_DRV_ClearStatusFlags(3, FTM_TIME_OVER_FLOW_FLAG|FTM_RELOAD_FLAG); }
可以看到模型的傳參和返回結果是通過全局變數的方式實現的:
輸入全局變數:FOC_Ctrl_CodeModel_U
輸出全局變數:FOC_Ctrl_CodeModel_Y
這里是可以通過對演算法模型進行設置的,可以改成傳參的方式,本次項目使用的是默認方式。
前文中的演算法模型的中間變數也是一個全局變數:
模型中間變數:FOC_Ctrl_CodeModel_DW.varFOC
到這里模型代碼的集成就算完成了,可以像手寫代碼的方式調試和下載代碼了。
其實還有很多關於代碼集成的細節和技巧沒有提到,本次項目實現的模型代碼完全是在默認設置下生成的。
Simulink是可以對生成的代碼進行很細致的控制的,例如控制代碼生成的位置、函數傳參的方式、函數的復用等,還有代碼如何優化,如何創建數據字典來管理模型數據。關於這些技巧和實踐,我會在後續的文章中進行介紹,歡迎持續關注作者。
3 寫在最後

先說一點題外話,我最近才了解到NXP新發布的S32K3系列晶元,其最新的硬體支持包MBDT有了一個較大的升級,它的底層模塊已經實現了完全等同於S32K3專用底層配置工具的功能。這一升級使得底層驅動這一功能也可以在Simulink模型中實現。
現在的S32K1的MBDT底層模塊由於功能很有限,很多情況下底層驅動的配置必須使用專用配置工具Processor Expert來配置才能滿足需求。而S32K3的更新有望改變這一現狀,有興趣的可以了解一下S32K3晶元和它最新的硬體支持包MBDT。
S32K3X4EVB-Q172 - From NXP
到本篇文章為止,我認為關於MBD的基礎部分,應該已經寫得差不多了,如果看完我的全部文章,應該能有所收獲。
下一期我將對所有發布的文章,和GitHub倉庫進行一次清理和總結。
明年autoMBD將會進入到下一個階段,會嘗試更有挑戰的內容,例如TLC語言、MBD實現通信、MBD與OS的結合等。所以請持續關注autoMBD,更多技術分享不容錯過。
2021年還剩下最後一周,在這里提前祝大家2022年新年快樂,希望各位讀者能在2022年收獲更多!

③ 小牛電動車會出六代嗎

會,並且已經出了。
4月7日,小牛電動在常州舉行2021全球新品戰略發布會,小牛全面推出了第七代睿電技術,五維動態感知演算法,第六代FOC演算法,以及具備高鐵驅動技術的V級電機,最終實現續航,動力的全面提升,據悉能夠帶來32%的續航升級,以及最高160km/h的時速。

④ 與傳統控制相比智能控制的優點

最本質的區別是解決問題的思路不一樣。
經典控制與現代控制雖然看起來完全不同,但是本質上都一樣,就是建立控制對象的數學模型,然後設計一個數學模型形式的控制器達到控制目的,區別只是前者建立的是微分方程或者叫做pid控制,後者建立的是狀態方程,類似於數學當中的線性微分方程組。而最優控制,魯棒控制等問題不論是基於經典控制理論還是基於現代控制理論,都脫離不了本質——必須建立被控對象的數學模型,也包括02年提出的foc控制。
智能控制則採取的是全新的思路。它採取了人的思維方式,建立邏輯模型,使用類似人腦的控制方法來進行控制。
我正好在做這個作業,就拿我的作業為例子進行說明吧。
控制一個熱水器的水溫,傳統的控制方法當中,不論你要建立一個微分方程還是建立一個狀態方程,總歸要把加熱功率和水溫,加熱功率的變化率和水溫的變化率之間建立出來數學模型,不論是尋求最優控制方法還是提取變數敏感度進行魯棒控制,總歸要有數學模型才能做。
智能控制則採取截然不同的方法。例如使用模糊控制器,我們首先把所有的變數模糊化,通過一定的演算法把水溫,水溫的變化率,加熱功率,加熱功率的變化率等變成語言變數,比如形容為非常大,比較大,稍微大,正好,稍微小,比較小,非常小。然後像人那樣制定規則庫,if水溫...and水溫的變化率.....then加熱功率......。然後通過一些演算法把規則庫和模糊關系制定成表輸入到運算晶元的flash即可工作。
再例如使用人工神經網路,我們仿照人腦建立計算機神經網路模型,每個人工神經元都含有很多帶權重的軸突,一個帶激發判定的細胞體和若干帶輸出函數的樹突,然後很多人工神經元按照一定邏輯分成進行連接,然後把熱水器採集到的大量信息拿過來,分別加到輸入端和輸出端,通過一定演算法改變人工神經元之間的連接權重和激發因子,最終使得所有已知的訓練量都能滿足這個人工神經網路,在足夠訓練量的情況下,控制精確度能達到很高。
綜合起來說,普通控制是完全基於數學的控制,而智能控制則是基於邏輯規則,使用人類思維的模型或者經驗模型甚至是仿照人類神經網路來進行訓練學習的模型。
優缺點的話就很明顯了,經典控制和現代控制都有一個明顯的好處——穩定點非常精確,即使是超調量,最快響應時間等各有缺陷,但是總歸在平衡位置上是異常精確的。而智能控制不論是採用扎德還是麥克丹尼的理論,都不可避免的有不精確的成分,但是無疑的很多控制對象都不是那麼容易建立方程的,而且很多控制對象即使能建立方程,也是現在的數學理論還不能探討的。例如一個燒鍋爐的師傅往往會根據火候和爐壁摸著燙不燙作為輸入量來決定加多少煤,讓他總結經驗是很容易的,但是如果要求這個燒鍋爐的師傅建立一個方程那顯然是不可能的。
實際工程上用的時候往往是智能控制和普通控制綜合使用。例如一個控制模型,先做一個判決演算法判定是否到達平衡位置,如果未到達則採用智能控制器使其快速響應,在超調量等參數到達一定范圍以後,切換才經典控制器或者現代控制器進行運算。
以上僅為工程和研究經驗的總結,有可能作為材料成文,未經允許謝絕轉載。

⑤ stm32 foc2.0不開源

stm32 foc2.0不開源可能是演算法裡面缺少了算式。
STM32 Foc開源演算法,包括觀測器和Foc method,STM32F0系列FOC源代碼,有單電阻采樣和三電阻采樣兩種代碼。
掃描隧道顯微鏡(Scanning Tunneling Microscope, 縮寫為STM)是一種掃描探針顯微術工具,掃描隧道顯微鏡可以讓科學家觀察和定位單個原子,它具有比它的同類原子力顯微鏡更加高的解析度。STM使人類第一次能夠實時地觀察單個原子在物質表面的排列狀態和與表面電子行為有關的物化性質,在表面科學、材料科學、生命科學等領域的研究中有著重大的意義和廣泛的應用前景,被國際科學界公認為20世紀97年代世界十大科技成就之一。隧道針尖的結構是掃描隧道顯微技術要解決的主要問題之一。針尖的大小、形狀和化學同一性不僅影響著掃描隧道顯微鏡圖像的解析度和圖像的形狀,而且也影響著測定的電子態。針尖的宏觀結構應使得針尖具有高的彎曲共振頻率,從而可以減少相位滯後,提高採集速度。如果針尖的尖端只有一個穩定的原子而不是有多重針尖,那麼隧道電流就會很穩定,而且能夠獲得原子級分辨的圖像。針尖的化學純度高,就不會涉及系列勢壘。例如,針尖表面若有氧化層,則其電阻可能會高於隧道間隙的阻值,從而導致針尖和樣品間產生隧道電流之前,二者就發生碰撞。制備針尖的材料主要有金屬鎢絲、鉑-銥合金絲等。鎢針尖的制備常用電化學腐蝕法。而鉑- 銥合金針尖則多用機械成型法,一般 直接用剪刀剪切 而成。不論哪一種針尖,其表面往往覆蓋著一層氧化層,或吸附一定的雜質,這經常是造成隧道電流不穩、噪音大和掃描隧道顯微鏡圖象的不可預期性的原因。因此,每次實驗前,都要對針尖進行處理,一般用化學法清洗,去除表面的氧化層及雜質,保證針尖具有良好的導電性。

⑥ odrive和simplefoc哪個好

odrive和simplefoc二者差不多。
ODrive是一個基於STM32的高性能FOC伺服驅動器,其可以同時驅動兩個無刷電機,早期被大量使用與3D列印機或自製CNC車床電氣系統的設計中,知名極客JamesBruton使用其作為大部分自己製作機器人伺服驅動的核心單元。
simplefoc是一個開源的低成本無刷直流(BLDC)電機驅動板,主要用於低功耗的FOC應用,電流高達5A。該板與ArinoUNO和所有帶有標准Arino頭的板完全兼容。SimpleFOCShield結合SimpleFOClibrary提供了一種用戶友好的方法來控制無刷直流電機的硬體和軟體。

⑦ 為什麼電機FOC控制裡面反clarke變換 Valpha 和 Vbeta 的位置變了

超過90度的部分會反,比如120度。克拉克變換只是減去一個空間維度,其它的不管反正。是解耦控制的第一步。(其實我不懂,只能理解到這個程度了,也不知道有沒有錯)

閱讀全文

與foc演算法神經網路相關的資料

熱點內容
linuxrpm依賴 瀏覽:368
匯率pdf 瀏覽:353
帶分數的演算法思維 瀏覽:115
如何讓伺服器支持asp文件 瀏覽:48
python網站自動簽到腳本 瀏覽:882
程序員和語言框架哪個重要 瀏覽:776
文件伺服器上面有什麼 瀏覽:383
需求不清是程序員面臨的真正挑戰 瀏覽:952
放療有關的演算法 瀏覽:750
java和python交互 瀏覽:647
貴州網路伺服器機櫃雲主機 瀏覽:267
未來番禺程序員待遇 瀏覽:213
安卓安智部落沖突密碼怎麼改 瀏覽:648
http協議單片機 瀏覽:75
pdfdocument 瀏覽:558
gcc編譯vi文件 瀏覽:65
安卓連airpods怎麼找耳機 瀏覽:929
加密貨幣轉賬教程 瀏覽:231
程序員小灰hashmap 瀏覽:840
國語pdf版 瀏覽:186