Wexiödisk · 2023 → · arbete
Mjukvaruingenjör på Wexiödisk
Jag skriver styrmjukvaran och pekgränssnittet i Qt/QML inuti Wexiödisks industriella diskmaskiner, och telemetrin som rapporterar varje maskin tillbaka till molnet. Firmware som måste vara rätt i ett kök mitt på dagen, och skärmar som fungerar med blöta händer.
- Lager
- gränssnitt, applikation, tjänster, data, firmware
- Byggt med
- C++ · QML · Linux · Rhapsody · IoT · Embedded Systems
- 1U1 mikrokontroller · kör Linux och styrmjukvaran i C++
- 2J1 sensorplint · temperatur, nivå, lucka, tryck
- 3K1–K3 reläer · värmare, pump, luckspärr
- 4M1 radio · Wi‑Fi och BLE, meanderantenn
- 5WD‑Touch-panel · 7" QML-gränssnitt över en FPC-kabel
- 6J2 fältbuss · RS‑485 till resten av maskinen
- 7D1–D3 statuslysdioder · puls, länk, fel
- 8Molnlänk · MQTT över TLS, telemetri varje cykel
Problemet
En storköksdiskmaskin på en restaurang eller i ett sjukhuskök kör dussintals program om dagen, och ingen ska behöva tänka på den. Wexiödisk bygger de maskinerna. När jag började 2023 hade styrmjukvaran tre uppgifter på en gång: köra maskinen säkert, ge personalen en skärm de kan använda med blöta händer och utan tid, och börja rapportera till molnet så att en hel flotta av maskiner kan övervakas och underhållas från ett ställe.
Vad jag byggde
Jag arbetar med WD-Touch, styrsystemet som körs på flera maskintyper. Styrlogiken är C++ på inbyggd Linux, modellerad i IBM Rational Rhapsody, där jag designar och implementerar tillståndsmaskinerna som avgör vad ett program gör och vad det aldrig får göra. Ovanpå ligger ett pekgränssnitt i QML: stora ytor, hög kontrast, handskvänligt, översatt till marknaderna maskinerna säljs på. Under det har jag skrivit firmware i C till periferikorten som pratar med sensorer och ställdon, så att maskinens delar är överens med varandra.
Andra halvan av arbetet är IoT-plattformen som rullas ut över hela flottan: anslutningslagret som samlar in telemetri, skickar den till molnet och tar tillbaka status och underhållslarm. Varje release går genom simulering och praktiska tester på riktiga maskiner innan den skeppas, och jag skriver dokumentationen som låter nästa utvecklare förstå styrsystemet utan mig i rummet.
Vad jag lärde mig
Att de intressanta problemen sitter i sömmarna. En säkerhetstillståndsmaskin måste gå att bevisa, ett gränssnitt måste vara självklart vid en blick, och telemetri måste överleva ett köks wifi. Var och en är sin egen sorts ingenjörskonst, och produkten fungerar bara när alla tre är överens. Jag lärde mig också vad ett tydligt dokument är värt: tiden det tar för en ny utvecklare att hitta rätt sjönk när styrsystemet väl var ordentligt nedskrivet.