🏭 Situace: starý stroj, nový laser
Výrobní linka používala laserový značič pro trvalé označování plastových dílů — výrobní čísla, data spotřeby, trasovatelné kódy. Stávající laser dosloužil a bylo potřeba ho nahradit novým modelem od stejného výrobce. Na papíře jednoduchá záměna.
Realita byla jiná. Starý laser komunikoval přes sériový port RS-232, nový model ale přešel na TCP/IP Ethernet. Příkazy přitom nebyly zpětně kompatibilní — výrobce protokol mezi generacemi změnil. Standardní RS-232 → Ethernet převodník problém nevyřešil, protože jen transparentně přeposílá bajty, ale přeložit celý komunikační protokol nedokáže.
Řídicí PC linky byl natolik starý, že neexistovala žádná dokumentace ani kontakt na původního integrátora. Zásah do softwaru PC nebyl možný — nikdo nevěděl, co tam přesně běží a co by se mohlo rozbít.
📷 Fotogalerie
💡 Řešení: Arduino OPTA jako protokolový most
Namísto úpravy původního systému jsem navrhl mezičlánek — průmyslové PLC Arduino OPTA, které sedí mezi starým PC a novým laserem a v reálném čase překládá komunikaci oběma směry.
OPTA přijímá příkazy ze starého řídicího PC přes RS-232 ve formátu, který PC vždy posílal. Tyto příkazy analyzuje, přeloží do nového protokolu a odešle laseru přes TCP/IP Ethernet. Odpovědi laseru putují zpět stejnou cestou — přeložené zpět do starého formátu a odeslané na PC přes RS-232.
Pro řídicí PC se tak nic nezměnilo — stále si myslí, že komunikuje se starým laserem. Nový laser zároveň dostává přesně ta data, která očekává. OPTA je transparentní překladač, neviditelný pro oba konce komunikace.
🗂️ Jak projekt probíhal krok za krokem
1. Odposlech a analýza RS-232 komunikace
Protože neexistovala žádná dokumentace původního protokolu, musel jsem komunikaci nejdřív fyzicky odchytit. Použil jsem Waveshare RS-232 → Ethernet převodník v režimu „Web to Serial" — ten přeposílal veškerá data z RS-232 jako hex výpis přes webové rozhraní. Každý bajt, který PC posílal laseru, jsem tak viděl v reálném čase. Z těchto hex dat jsem zpětně zrekonstruoval strukturu příkazů: start byte (0x02), příkazový kód, parametry a ukončovací byte (0x03). Teprve po zdokumentování všech příkazů a jejich odpovědí bylo možné napsat překladač.
2. Analýza nového protokolu
Prostudování technické dokumentace nového laseru — TCP/IP příkazy, formát dat, potvrzovací mechanismy, timeouty a chybové stavy.
3. Mapování příkazů
Vytvoření překladové tabulky: každý příkaz starého protokolu → odpovídající příkaz nového protokolu. Identifikace rozdílů v datových formátech a struktuře odpovědí.
4. Programování Arduino OPTA
Implementace protokolového mostu v prostředí Arduino IDE. RS-232 přijímač, parser zpráv, překladač, TCP/IP klient a zpětný překlad odpovědí. Ošetření výpadků spojení a chybových stavů.
5. Testování a ladění
Postupné testování každého příkazu, ladění časování, ověření správnosti přeložených dat. Simulace výpadků Ethernetu a RS-232 pro ověření robustnosti.
6. Nasazení do výroby
Instalace OPTA do rozvaděče, zapojení do linie, ověřovací série značení. Výrobní linka spuštěna bez jediného zásahu do původního řídicího PC.
🔄 Starý vs. nový systém
| Vlastnost | Původní laser | Nový laser |
|---|---|---|
| Komunikační rozhraní | RS-232 (sériový port) | TCP/IP Ethernet |
| Protokol | Proprietární (stará generace) | Proprietární (nová generace) |
| Přenosová rychlost | 9 600 Bd | 100 Mbit/s |
| Zpětná kompatibilita | — | Žádná |
| Řídicí PC | Beze změny — PC stále komunikuje „jako dřív" | |
🤖 Proč Arduino OPTA?
Arduino OPTA je průmyslové PLC navržené přímo pro výrobní prostředí — napájení 12–24 V DC, DIN lišta, krytí IP20, certifikace pro průmysl. Oproti běžnému Raspberry Pi nebo průmyslovému PC nabídlo:
Klíčová výhoda: známé prostředí Arduino IDE umožnilo rychlý vývoj a ladění bez nutnosti učit se proprietární PLC programovací jazyk (Ladder, FBD). Výsledek byl nasazen do výroby v rekordně krátkém čase.
🛠️ Použité technologie
Máte podobný problém s nekompatibilitou systémů?
Integrace starých a nových zařízení, změna komunikačních protokolů nebo upgrade výrobní linky — rád najdu řešení, které nevyžaduje výměnu celého systému.