Az automatizálás világában a Profibus - a Siemens által támogatott rendszerbusz - széles körben ismert. Kevesebben tudják, hogy a Profibus tulajdonképpen egy három tagú család: - Profibus PA (Process Automation) mely a Foundation Fieldbus-szal azonos fizikai szinten, és terepi eszközök felfűzésére szolgál. - Profibus DP (Distributed Peripheria) mely a PLC-k és I/O modulok, komplex terepi eszközök közötti kommunikációra szolgál. Egy lehetséges alkalmazását megtekintheti a "Fieldbus vagy Remote I/O ?" című cikkünkben. - Profibus FMS (...) mely a PLC-k feletti rendszerbusz feladatra van optimalizálva.

E három busz között átjárók léteznek, ahogyan azt a következő Siemens ábra mutatja:

overview

Jelen cikksorozat csakis a legelterjedtebb családtaggal, a piros színnel jelölt DP-vel foglalkozik. A Profibus-szal kapcsolatos hivatalos információforrás az EN 50170 szabvány. Bár fejlesztés alatt áll a DP működtetése Ethernet-en is, napjaink felhasználásaira az RS-485-ös soros vonalon való DP használat a jellemző. Tekintsük át röviden a fizikai szintet, az RS-485 esetében: Az RS-485 soros vonal 2 eres, sodrott, árnyékolt érpáron működik. Az érpár általában 9 tűs DIN (Mint a soros vonali egér a PC-n.)csatlakozókra van kötve. A busz elején és végén 3-3 ellenállásból álló lezárás foglal helyet. A csatlakozó kiosztása és a lezárás kialakítása a következő ábrán látható:

pbcsatl

Jelmagyarázat: - Rx/Tx P: adás-vétel pozitív ér - Rx/Tx N: adás-vétel negatív ér - DGND : Adatvezeték földelés - VP : pozitív tápfeszültség

A DIN csatlakozón kívül gyakori az IP 65-ös M12 csatlakozó, illetve egyes PLC-ken a 3 vezetékes sorkapocs is.

Topológia:

A buszra maximum 32 eszköz (PLC, I/O, PC, hajtás, stb.) lehet felkötve. A DP csatlakozóba lehetőleg be kell kötni a bejövő és továbbmenő kábelt is, mert ha leágazásokat csinálunk, és azt kötjük be, nagyobb busz sebességnél átviteli zavarok lehetnek:

felfuz

A busz nyomvonalával lehetőleg kerüljük el az erős zavarforrásokat. Az RS-485 sebességét a buszvezeték (szegmens) hosszának megfelelően kell konfigurálni:

Kbps:9,619,293,75187,5500150012000
méter:1200120012001000400200100

Ezek az adatok csak a jó minőségű, Profibus-A jelet viselő kábelekkel igazak.

Opto: Napjainkban - a folyamatos árcsökkenés eredményeképpen - egyre elterjedtebb az optikai adatátvitel. Nagy előnye a nagy átviteli sebesség és a nagy zavarvédettség. Számos cég kínál RS-485-opto átalakítókat, melyek segítségével többnyire csillag, ritkábban gyűrű topológiákat lehet kialakítani. Léteznek olyan átalakítók is, melyek redundáns (duplikált) optokábel csatlakozást kínálnak. Az optokábelek alapvetően két fő kategóriába esnek: - Multimódusú (max. 3 Km átvitel) - Monomódusú (max. 20 Km átvitel) Érdekes módon :-) a jobbik a drágább... A Profibus DP-re köthető eszközök alapvetően két csoportba oszthatóak:
- Master (mester)
- Slave (szolga)
Bár ez nem általános, egy buszon több master is lehet. Minden egyes slave-et hozzá kell rendelni egy és csakis egy master-hez. A buszra kötött elemeknek buszcíme van, a hozzárendelést ezek használatával, a PC-n futó Step7, vagy más fejlesztőrendszerrel kell elvégezni. Jobb DCS-ek rendszerszoftverébe is be van építve a DP konfigurálás.
A fejlesztési munka előtt győződjünk meg arról, hogy a fejlesztőrendszerünkbe be van töltve minden, a rendszerben felhasználni kívánt eszköz (PLC, I/O, hajtás) eszközleírója, azaz GSD file-ja. Ha ez megvan, a fejlesztő rendszerben elérhetőek lesznek azok a felületek, melyekben az eszközt fel lehet paraméterezni. Ha a GSD file mellett ott van az eszköz ikon file-ja is (BMP formátum) akkor a menükben ezzel jelenik meg.

Térjünk vissza a topológiához!

dpbusz

Ez az ábra elméleti lehetőséget mutat, a DP-t alapvetően nem PLC-PC kapcsolatra találták ki (Erre a Siemens-eszközöknél inkább Ethernet-et ill. Profibus FMS-t szokás alkalmazni.) de az elv működik. A képen pl. a piros master csak a piros slave-eket írhatja. Figyeljük meg, hogy a feketével rajzolt PC-k egyetlen slave-et se írhatnak. Ez nem törvényszerű, de eléggé általános (Hacsak nem PC-alapú a kontroll is.) Olvasni persze minden master jogosult minden slave-ből.

Látható, hogy a DP szigorú, németes logikát követ. Ez azzal is együtt jár, hogy nem lehet üzem közben elemeket a rendszerhez adni. Ha erre van szükség, leállítjuk a rendszert, bekötjük és felprogramozzuk az új eszközt, majd újraindítunk. Általánosságban is elmondható, hogy a DP-re épülő rendszerek eléggé konfigurálásigényesek. Sok-sok paramétert kell beállítani, mielőtt a rendszert elindítanánk. Utána viszont gyorsan fut.

A master-ek egymással egy token ring-et alkotnak. Ez azt jelenti, hogy a címeik által meghatározott sorrendben, és az előre konfigurált ideig megkapják a buszt. Ez így megy folyamatosan körbe- körbe. (A 2. ábra négy master-t mutat, semmi köze az 1. ábrához:)

dpmasters

Míg a master a buszt birtokolja, a következő kommunikációkra van módja:
- Peer-to-peer:
A master-ek közötti kommunikáció. Pl. a PC-ről adatbeadás a PLC-kbe.
- Master-slave:
A PLC az I/O-val kommunikál.
- Broadcast:
Mindenki aki a buszon van, köteles venni ezt az adást. Nyugtázni nem kell.
- Multicast:
Az erre programozott "vevők" kötelesek venni ezt az adást. Nyugtázni nem kell.

Hibakezelés:

Mi történik akkor, ha eltűnik mondjuk egy slave?
Ez megeshet mondjuk azért, mert kihúztuk a DP csatlakozóját. Ebben az esetben a slave-ben futó idő-őr észreveszi a kommunikáció kiesést és az összes kimenetét az előre konfigurálandó (!!!!) biztonságos állapotba kapcsolja. Mit csinál a master-e ilyenkor? Két eshetőség van: Ha a master "auto-clear" paraméterét 1-be állítjuk, a master az összes slave-jének a kimenetét az előre konfigurálandó (!!!!) biztonságos állapotba kapcsolja, majd "Operate" azaz üzemel üzemmódból átkapcsol "Clear" azaz töröl üzemmódba, és saját fizikai kimeneteit is az előre konfigurálandó (!!!!) biztonságos állapotba kapcsolja.
Ha a master "auto-clear" paraméterét 0-ba állítjuk, a master "operate" módban marad, és fut tovább. Ebben az esetben a hibakezelést nekünk kell megírni.

Mi történik akkor, ha eltűnik mondjuk egy master?
Ebben az esetben a hozzá tartozó minden slave-ben futó idő-őr észreveszi a kommunikáció kiesést és az összes kimenetét az előre konfigurálandó (!!!!) biztonságos állapotba kapcsolja. Az összes többi master akkor értesül az esetről, mikor az eltűnt master nem jelzi vissza a token kézhezvételét. Ekkor a következő sorszámú master-hez kerül a token. E cikkben a Profibus DP szolgáltatásait futjuk át - tudásunkhoz illeszkedően,alapfokon. Szolgáltatásokon sok dolgot érthetünk, a címszavak ezért szétszórtak kissé...

Adatbiztonság:

Erős lehet a késztetés, hogy minél gyorsabb adatátvitelt valósítsunk meg, azonban ipari protokolloknál ugyanilyen fontos az, hogy biztonságos legyen az adatátvitel. Az átvitel biztonságosabbá tehető, ha az átvitt adatcsomagokba ellenőrző információt is csomagolunk. Ez persze lassítja az átvitelt (kevesebb hasznos bit megy át időegységenként), de megéri.

Egyszerű biztonsági módszer például, ha mindent kétszer mondunk el kétszer mondunk el. A kettőből biztosabban megérti a hallgató. A Profibus DP meghatározott számú átvihető kódszóval rendelkezik. Ilyen esetekben az adatbiztonság egyik mérőszáma a kódkészlet minimális Hamming-távolsága.
Ha esetleg valaki elfelejtette volna: A Hamming távolság azt jelenti, hogy a kódkészlet bármely két kódszava között minimum hány bit eltérés van. Pl. 00100100 és 00100000 között HD=1.
Esetünkben HD=4. A Profibus DP-nél a vevőnek tehát négy bitet kell rosszul vennie, hogy tévedjen. A vett üzenetet visszajelzi a vevő, és a feladónak is ugyanazt a négy bitet kell fordítva rosszul értelmezni ahhoz, hogy a tévedés ne derüljön ki. Ha kiderült, újraközléssel a dolog megoldható.

Master-ek megkülönböztetése:

Két féle master eszköz van: - A PLC-szerű, központi vezérlő egységek (DPM1 a jelük)
- PC-szerű engineering és kezelő eszközök (DPM2 a jelük)

Azért (is) kell őket így megkülönböztetni, mert van a DP-nek egy szolgáltatása, amelynél ez szerepet játszik, mégpedig az

Soronkívüli (acyclic) kommunikáció:

Azon kommunikációk, melyekről eddig szóltunk, minden ciklusban ugyanúgy lezajlottak. A DP lehetőséget nyújt ezen felüli "soronkívüli" kommunikációkra is. Ilyen például egy HART vagy PA távadó átparaméterezése a márnöki állomásról. A "soronkívüli" kommunikációnál a slave-eket modulonént címezzük. Egy adott slave 0. modulja a központi egysége, az 1. modul az 1. kártya, és így tovább. Ahány csatornás a modul, annyi bittel írjuk le szépen sorban.
Egy ilyen acyclic csomagban max. 244 byte lehet.

Természetesen más jogai vannak egy PLC-nek (DPM1) és egy PC-nek (DPM2).

A PLC lehetőségei:
MSAC1-read: Adatcsomag olvasása slave-ből
MSAC1-write: Adatcsomag írása slave-be
MSAC1-alarm: Alarm feladása slave-ből. Amíg a master nem nyugtázta, újabb alarmot feladni tilos. Így nem veszhet el egyetlen zavarjelzés sem.
MSAC1-alarm-ack: Ez az előbb említett nyugtázás.
MSAC1-status: Státusz csomag felolvasása slave-ből

A PC lehetőségei:
MSAC2-init: "Soronkívüli" kommunikációs csatorna megnyitása
MSAC2-abort: "Soronkívüli" kommunikációs csatorna bezárása
MSAC2-read: Adatcsomag olvasása slave-ből
MSAC2-write: Adatcsomag írása slave-be
MSAC2-data-transport: Egy csomagban olvasások és írások végrehajtása.

Amint látható, a Profibus DP bináris be-és kimenetek kezelésére optimális. Ez nem jelenti azt, hogy analóg jeleket - akár lebegőpontos formában is - ne lehetne átvinni. Ahogyan a konfiguráló szoftverek fejlődnek, egyre jobban elfedik a "hogyan"-okat, mivel egyre inkább a "mit akarsz"-ra koncentrálnak. 

Biztosra vehetjük, hogy az analóg műveletekre kihegyezett, drága DCS-ekben az olcsó átviteli közeg, az olcsó perifériák és a jó átviteli sebesség miatt egyre gyakrabban fog feltűnni a Modbus mellett a Profibus DP is, tovább csökkentve a DCS és PLC között húzódó sávot.