search.noResults

search.searching

dataCollection.invalidEmail
note.createNoteMessage

search.noResults

search.searching

orderForm.title

orderForm.productCode
orderForm.description
orderForm.quantity
orderForm.itemPrice
orderForm.price
orderForm.totalPrice
orderForm.deliveryDetails.billingAddress
orderForm.deliveryDetails.deliveryAddress
orderForm.noItems
moet worden. Sommige leveranciers ge- bruiken RS-232, anderen tweedraads of vierdraads RS-485. Dat leidt dus tot veel variatie in interfaces op apparaten; de ge- bruiker moet dus goed opletten wat hij/zij koopt anders kan het niet aan elkaar gekop- peld worden. De volgende hobbel is: hebben twee ap- paraten wel een gemeenschappelijke set functiecodes? Een PLC die een functiecode uitstuurt naar een apparaat die dat niet her- kent, krijgt wel een foutmelding terug, maar daarmee bouw je natuurlijk geen applicatie. De meeste Modbus-apparaten ondersteu- nen wel functiecodes 3 en 16, zeg maar de “read” en “write”, dus er kan altijd wel ge- communiceerd worden, maar soms wordt de applicatiesoftware wel eens complexer of langzamer omdat om ontbrekende functie- codes heen moet worden geprogrammeerd.


De laatste hobbel is: welke data krijg ik? Modbus komt nog uit het tijdperk dat een 16-bit CPU al heel wat was, en floating-point data niet bestond. Maar tegenwoordig is dat anders, en dat past eigenlijk niet goed op Modbus. Het is niet onoverkomelijk, maar vereist wel wat aandacht bij het program- meren. Ook de leveranciers laten wel eens steken vallen door het niet goed te docu- menteren.


Foutdetectie en –reparatie De seriële Modbus-varianten hebben de gebruikelijke methodes voor foutdetectie van corrupte bits in netwerkberichten: een pariteitsbit per karakter, en een “Frame Check Sequence” aan het eind, in de vorm van een checksum of een “CRC” (Cyclic Redundancy Check). De kans dat corrupte data, die ontstaat door van buitenaf ko- mende elektrische storingen, binnenkomt bij een applicatie is dus erg klein. Maar, raar genoeg, Modbus doet géén poging tot her- stel van de fout. Meestal bouwen leveran- ciers dan zelf ‘retries’ (herhalingen) in, maar dit kan dus per leverancier verschillen. Wie Modbus/TCP gebruikt heeft hier geen last van, TCP regelt dit voor ons.


Modbus/TCP Zoals deels al uit de naam blijkt, is dit de TCP/IP versie van Modbus. Het wordt ook wel gezien als de Ethernetversie van Mod- bus. Dat klopt deels, het was het allereerste industrieel Ethernet protocol. Maar TCP/IP is niet één op één gekoppeld aan Ethernet, dat voor TCP/IP alleen maar een transport- medium is. TCP/IP kan ook via modems, Bluetooth, WiFi of GSM. En dat wil dan auto-matisch ook zeggen dat Modbus/TCP óók via al deze transportmedia kan werken.


Dat kan met veel industriële Ethernetpro- tocollen weer niet, het gebruik van TCP maakt dat een applicatie geen garantie op real-time gedrag kan krijgen (lees: gegaran- deerde aflevering van berichten binnen een bepaalde tijd). Daar is Modbus ook nooit voor gemaakt. Maar dat wil niet zeggen dat Modbus/TCP traag is. Het kán snel zijn, maar dat hangt van de protocolstack-implemen- tatie af. Als dit gewenst is, zal dit per appa- raat uitgezocht moeten worden (snelheid en real-time eigenschappen).


Zelf Modbus maken Soms wil een leverancier zelf een Modbus- implementatie toevoegen aan zijn appara- tuur. En dat is niet moeilijk; de protocolstack vraagt geen speciale elektronica of proto- col-


chips zoals bij veel moderne industriële net- werken. Een gewone seriële poort is genoeg (voor Modbus/ASCII of RTU), of een Ether- net-interface (voor Modbus/TCP). De proto- colsoftware is in beide gevallen grotendeels identiek. Voor wie alles zelf wil doen en een beetje thuis is in embedded software: een implementatie met de belangrijkste functie-


Maar TCP/IP is niet één op één gekoppeld aan Ethernet, dat voor TCP/IP alleen maar een transportmedium is...


Boek


Het boek “Modbus The Manual” is geschreven door Rob Hulsebos, bekend auteur over alles wat met industriële netwerken te maken heeft. Waarom komt er na zoveel jaar pas een boek over Modbus uit? Hulsebos: “Ik werk zelf al heel lang met Modbus, zowel als eindgebruiker en als protocolstack-programmeur. Dan valt op dat eindgebruikers altijd tegen dezelfde pro- blemen aanlopen. Uiteindelijk gaat het allemaal wel werken, maar het kost vaak meer tijd dan initieel gedacht. Tot mijn verbazing bleek er over Modbus eigenlijk helemaal geen literatuur te bestaan, afgezien van twee kleine Amerikaanse uitgaves. Uiteraard is er wel genoeg te vinden op internet, maar geen allesomvattende documentatie voor eindgebruikers. Daarom kwam ik op het idee al mijn eigen ervaringen op papier te zetten en in boekvorm uit te brengen. Aan de hand van het OSI-model wordt alle func- tionaliteit van de diverse Modbus-varianten besproken: bekabeling, functiecodes en applicatie. In twee appendices komen ook RS-232 en RS-485 aan bod, aangezien deze werkpaarden van de industriële datacommunicatie bij de jongere generaties steeds minder bekend zijn. Het boek is daarom niet enkel een Modbus-document geworden, maar ook een inleiding over industriële datacommunicatie.”


codes is in een week te maken. Maar er is ook héél veel open-source software beschik- baar; op de website modbus.org is een fors overzicht gedocumenteerd (en via zoekma- chines is nog meer te vinden). Let wel goed op de kwaliteit; het feit dat een stuk soft- ware open-source is wil niet zeggen dat de implementatie goed is, of alle functiecodes van Modbus geïmplementeerd zijn. Op de genoemde website is ook de comple- te specificatie van de officiële Modbus-va- rianten te vinden; deze is goed te lezen. De specificatie is een aantal jaren opgesplitst; één document beschrijft nu alle functie- codes, en dat is dan gelijk geldig voor alle Modbus-varianten.


Cybersecurity Modbus is bedacht in een tijdperk dat hac- kers nog niet bestonden. Ook als een appa- raat gewoon maar aan een fabrieksnetwerk hangt, kan het kwetsbaar zijn voor hackers. Daarom heeft Schneider gewerkt aan een nieuwe versie van Modbus genaamd “Mod- bus Security” die medio 2018 is uitgekomen. Nu kan een server de binnenkomende commando’s authenticeren, via digitale handtekeningen (certificaten). Nu is certi- ficaatbeheer geen makkelijk onderwerp, dus ik ben benieuwd hoe populair Modbus Security gaat worden. Maar er moet wel iets gebeuren op dit gebied; of vanuit Modbus zelf, of via speciale Modbus firewalls.


De nabije toekomst Ondanks de opkomst van modernere Ether- netprotocollen heeft Modbus zijn positie kunnen behouden. Dat zal niet snel veran- deren, de eenvoud van het protocol blijft aantrekkelijk.


45


Page 1  |  Page 2  |  Page 3  |  Page 4  |  Page 5  |  Page 6  |  Page 7  |  Page 8  |  Page 9  |  Page 10  |  Page 11  |  Page 12  |  Page 13  |  Page 14  |  Page 15  |  Page 16  |  Page 17  |  Page 18  |  Page 19  |  Page 20  |  Page 21  |  Page 22  |  Page 23  |  Page 24  |  Page 25  |  Page 26  |  Page 27  |  Page 28  |  Page 29  |  Page 30  |  Page 31  |  Page 32  |  Page 33  |  Page 34  |  Page 35  |  Page 36  |  Page 37  |  Page 38  |  Page 39  |  Page 40  |  Page 41  |  Page 42  |  Page 43  |  Page 44  |  Page 45  |  Page 46  |  Page 47  |  Page 48