PLC

Páteční průmyslový protokol: PROFIBUS DP

Zdroj: PROFIBUS & PROFINET International

Grafika s označením PROFIBUS a telegramem DP
Ilustrace: redakce

PROFIBUS DP je z těch protokolů, které se pořád drží — protože funguje a protože je ho plná hala. Postavený na RS-485, s rychlostí až 12 Mbit/s, 126 adresami a pevným cyklem, který zvládne i starý kabel po pětadvaceti letech provozu. Bez náhrady, protože náhrada znamená nový kabel.

Telegram PROFIBUS DP

Co to je a odkud pochází

PROFIBUS vznikl na přelomu 80. a 90. let jako německá odpověď na potřebu jedné sběrnice pro celý závod; za rozšířením stál Siemens a dnes ho spravuje organizace PROFIBUS & PROFINET International (PI). Verze DP (Decentralized Periphery) je nejpoužívanější — cílená na rychlou cyklickou výměnu dat s I/O.

Jak funguje

Síť je hybridní: master uzly (PLC, řídicí systémy) a slave uzly (I/O moduly, měniče, snímače). Slave uzel odpovídá jen na dotaz a nikdy nemluví sám. Mezi více master uzly se právo vysílat předává tokenem v logickém kruhu; každý master pak obslouží svoje slave uzly. Díky tomu je síť deterministická a cyklus se dá spočítat.

Typický cyklus je 1–10 ms podle počtu slave uzlů a objemu dat; maximální objem dat na slave uzlu je 244 bajtů vstupů a 244 bajtů výstupů na telegram.

Telegram

PROFIBUS DP má tři formáty telegramu:

  • SD1 (0x10) — pevná délka 8 bajtů, bez datového pole; používá se pro krátké příkazy.
  • SD2 (0x68) — variabilní délka, má pole délky (LE/LER).
  • SD3 (0xA2) — variabilní délka s daty; nejběžnější pro cyklickou výměnu.

Pole: SD, LE/LER, LEr, DA (adresa cíle), SA (adresa zdroje), FC (řídicí bajt), data, FCS, ED (0x16). Adresy 0–125 patří slave uzlům, 126 je speciální hodnota pro broadcast, 127 není povolená.

Po čem to běží

Po RS-485 s pevně danými pravidly: obrazně řečeno „RS-485 s přísnější disciplínou". Rychlosti 9,6 kb/s až 12 Mbit/s, přičemž délka segmentu s rychlostí klesá — 1200 m při 93,75 kb/s, 100 m při 12 Mbit/s. Na segmentu max. 32 uzlů, opakovačem se rozšiřuje; zakončení (terminál) je přímo v konektoru, který se přepínačem aktivuje.

Konfigurace zařízení

Každé zařízení má GSD soubor s popisem: přenosové rychlosti, velikosti I/O, diagnostika, parametry. Postup: nastavit adresu (přepínači nebo přes master), přidat GSD do konfigurátoru, přiřadit moduly, nastavit watchdog a parametry a spustit. Nepoužitá adresa v konfiguraci znamená chybu celé stanice — master očekává všechno, co má v projektu.

Testování a kód

PROFIBUS není protokol, ke kterému byste se připojili z notebooku bez hardware — potřebujete rozhraní (např. USB nebo Ethernet adaptér s PROFIBUS čipem). Pro diagnostiku se používají nástroje výrobců a analyzátory; pro pasivní pohled slouží záznamník na lince.

V Pythonu se PROFIBUS obvykle neimplementuje — přístup je přes bránu (např. PROFIBUS na Modbus TCP nebo na OPC UA) a tam už mluvíte standardním klientem:

# typicky: brana prevede PROFIBUS na Modbus TCP nebo OPC UA
from pymodbus.client import ModbusTcpClient
c = ModbusTcpClient("192.168.1.50", port=502); c.connect()
print(c.read_input_registers(address=0, count=8, slave=1).registers)

Kdy to použít

Kde je PROFIBUS už nainstalovaný a funguje — retrofit, náhrada modulu, rozšíření linky. Pro novou stavbu se dnes volí PROFINET; PROFIBUS se drží tam, kde je 12 Mbit/s dost a kde se nechce měnit kabeláž.

Licence

Specifikace jsou dostupné od PI (bezplatná registrace), norma je placená. Protokol není licencovaný, ale výrobci platí členství a certifikaci zařízení. GSD soubory jsou veřejné.

Pro údržbu: první podezření u „náhodně padající" linky je zakončení — vypnutý terminál na posledním konektoru nebo aktivní terminál uprostřed. Druhé je adresa, třetí délka segmentu na dané rychlosti. Kabel po dvaceti letech v hale vypadá dobře i tehdy, když už nevyhovuje.

Seriál Páteční průmyslový protokol vychází každý pátek. Další díl najdete v přehledu série.

Zdroje

  1. PROFIBUS — technology and standards — PROFIBUS & PROFINET International
  2. IEC 61158 — Fieldbus specifications — IEC

Odkazy vedou na primární zdroje. Text článku je redakční shrnutí, ne převzatá zpráva.