Hoppa till innehållet

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
GND POUR U1 ARM · 480 MHz LINUX · C++ Y1 · 25 MHz J1 · SENSORS T1 temp L1 level S1 door P1 press. K1 HEATER 16 A · 230 V K2 PUMP 8 A K3 DOOR LOCK M1 Wi‑Fi · BLE U2 PMIC F1 · 2 A D1 D2 D3 TP1–3 J3 · FPC 40p J2 RS‑485 ECO 65° 04:12 PROGRAM 2 · WASH WD‑TOUCH · 7" · QML MQTT · TLS 1.3 temp 64.8 · cycle 2 temp 64.5 · cycle 2 door closed · 04:12 120.00 84 A 1 2 3 4 5 6 7 8
Fig. 01 — Styrkortet, förenklat. Pekpanelen ovanför, molnlänken till höger.
  1. 1U1 mikrokontroller · kör Linux och styrmjukvaran i C++
  2. 2J1 sensorplint · temperatur, nivå, lucka, tryck
  3. 3K1–K3 reläer · värmare, pump, luckspärr
  4. 4M1 radio · Wi‑Fi och BLE, meanderantenn
  5. 5WD‑Touch-panel · 7" QML-gränssnitt över en FPC-kabel
  6. 6J2 fältbuss · RS‑485 till resten av maskinen
  7. 7D1–D3 statuslysdioder · puls, länk, fel
  8. 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.