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