我們正在尋找一名經(jīng)驗豐富的C++軟件工程師,加入我們的核心研發(fā)團(tuán)隊。您將負(fù)責(zé)設(shè)計和開發(fā)高精度工業(yè)自動化設(shè)備的上位機(jī)控制系統(tǒng)。該系統(tǒng)是連接復(fù)雜算法、用戶界面和高確定性實時運動核心的關(guān)鍵樞紐。
您的工作將直面挑戰(zhàn):如何在標(biāo)準(zhǔn)PC平臺上,構(gòu)建一個高吞吐量、低延遲、高可靠性的軟件架構(gòu),以協(xié)同復(fù)雜的運動軌跡規(guī)劃、高速數(shù)據(jù)采集與高性能計算任務(wù)。
核心職責(zé)
1. 負(fù)責(zé)高端裝備控制軟件的架構(gòu)設(shè)計、模塊開發(fā)與性能調(diào)優(yōu)。
2. 開發(fā)與底層實時控制核心(例如基于PC-based的控制器)之間的高效、低抖動數(shù)據(jù)通信(ADS)與協(xié)同邏輯。
3. 實現(xiàn)復(fù)雜的多線程/異步任務(wù)流,管理GUI、設(shè)備I/O、網(wǎng)絡(luò)通信(如MES)和算法模塊之間的并發(fā)執(zhí)行。
4. 與運動控制工程師和算法工程師緊密合作,實現(xiàn)復(fù)雜的運動控制邏輯(如多軸插補、軌跡規(guī)劃)與數(shù)據(jù)處理流程。
5. 編寫清晰、可維護(hù)、高復(fù)用性的代碼,踐行RAII等現(xiàn)代C++最佳實踐,并撰寫相關(guān)技術(shù)文檔。
任職要求:
(硬性要求)
1. 學(xué)歷及專業(yè)要求: 計算機(jī)、軟件工程、自動化等相關(guān)專業(yè)碩士及以上學(xué)歷。
2. 技能要求:
2.1 5年以上C++項目開發(fā)經(jīng)驗,具備扎實的C++語言基礎(chǔ)(熟悉C++11/17及以上標(biāo)準(zhǔn))。
2.2 精通C++核心技能: 深刻理解面向?qū)ο螅∣OP)、RAII原則、內(nèi)存管理、STL容器及算法。
2.3 熟悉多線程編程: 具備豐富的Windows平臺多線程開發(fā)與調(diào)試經(jīng)驗,對線程同步、并發(fā)控制有深刻理解。
2.4 具備良好的系統(tǒng)級問題分析與性能優(yōu)化能力。
2.5 具備優(yōu)秀的解決問題能力、良好的團(tuán)隊協(xié)作精神和技術(shù)文檔撰寫能力。
優(yōu)先條件(加分項)
1. (關(guān)鍵加分項) 熟悉工業(yè)自動化、CNC(數(shù)控機(jī)床)、半導(dǎo)體設(shè)備或精密光學(xué)儀器等領(lǐng)域的軟件開發(fā)。
2. (關(guān)鍵加分項) 具備Beckhoff TwinCAT或類似PC-based實時控制平臺的C++或PLC開發(fā)經(jīng)驗,了解EtherCAT總線技術(shù)。
3. (關(guān)鍵加分項) 熟悉工業(yè)通信協(xié)議(如ADS, EtherCAT, HSMS, Modbus-TCP等)。
4. 熟悉異步編程模型,有Boost.Asio或C++20 Coroutines(協(xié)程)實際項目經(jīng)驗者優(yōu)先。
5. 有高性能計算(HPC)或算法優(yōu)化經(jīng)驗者優(yōu)先。
6. 熟悉Qt,等GUI開發(fā)技術(shù)。