Läsa Modbus med arduino

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
mrfrenzy
Co Admin
Inlägg: 14811
Blev medlem: 16 april 2006, 17:04:10

Re: Läsa Modbus med arduino

Inlägg av mrfrenzy »

Väldigt många industrier idag bygger med olika typer av bussnät och Ethernet. Istället för att ha tryckgivare med 4-20mA så drar man exempelvis CANopen direkt in i givaren och addresserar varje givare separat. En sådan givare kostar ungefär lika mycket som en gammaldags, det sitter ju redan en MCU inuti. En stor fördel är att man kan göra mycket diagnostik centralt, och det behövs mycket färre I/O på PLC och mycket mindre kabeldragning.

Industri 4.0 kallar säljarna det för.
io-link-systemuberblick-allgemein.png
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
DanielM
Inlägg: 2147
Blev medlem: 5 september 2019, 14:19:58

Re: Läsa Modbus med arduino

Inlägg av DanielM »

Det är där väll IFM som använder IO-link? Tycker jag känner igen färgen.

Men sammanfattningsvis så handlar IoT att man kopplar upp allt på nätet :) Så har jag alltid gjort. Men mest intressanta som jag tycker är att koppla upp ett CANopen nätverk på nätet via TCP/IP där man kan tala CANopen över nätverket.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Läsa Modbus med arduino

Inlägg av Rick81 »

Väldigt förvirrande tråd med olika protokoll hit och dit.

Första gången jag hört någon vill köra CanOpen över USB....

Dock måste jag säga att TS har fått betydligt bättre förståelse på senare år mot de första trådarna då Java var det bästa för inbyggda system och diverse problem med att skicka data över UART, så det går framåt!
DanielM
Inlägg: 2147
Blev medlem: 5 september 2019, 14:19:58

Re: Läsa Modbus med arduino

Inlägg av DanielM »

Förvirrande? Nej, varför det? Jag tycker det är bra med diskussioner för att förmedla information mellan varandra. Sådant utvecklar. Tänk istället scenarion om vi inte skulle göra det. Då kan vi inte få ta del av andras uppfattningar om begräsningar och möjligheter. Vi kommer fortsätta då på samma spår som förut.

Det är inget fel att köra CANopen över USB. Har man ett färdigt protokoll som passar nästan allt, så varför inte använda det istället för att uppfinna hjulet på nytt?

Nu är det inte jag som är TS, så jag är helt oskyldig nu. :) Java används fortfarande inom inbyggda system, om man frågar Oracle förstås.
DanielM
Inlägg: 2147
Blev medlem: 5 september 2019, 14:19:58

Re: Läsa Modbus med arduino

Inlägg av DanielM »

Jag måste säga att jag är verkligen imponerad över CANopen och dess utbredda standard.
CANopen är väldigt komplext, men varje komplexitet har sitt syfte.

Bland annat så har CANopen tre kommunikationsmodeller:

- Producerare och konsumerare. Här kan man säga att producerare skickar till alla konsumerare och konsumerarna svarar inte tillbaka till produceraren.
- Mästare och slav = Mästarna kan bara skicka till slavarna och slavarna kan bara skicka till mästaren. Här svarar slavarna tillbaka till mästaren.
- Server och klient = Servern skickar en förfrågan till klienten och klienten skickar tillbaka en respons till servern.

Något som jag tycker är häftigt med CANopen är att man kan säga åt slavarna att ständigt skicka heartbeat tillbaka till mastern utan att mastern behöver frågan(producerare och konsumerare).
Man kan även skicka guard(från server), vilket är en förfrågan på ett heartbeat. Syftet med detta är att då kan man mäta responstiden från klienten. Om svarstiden är för lång så skickas ett larm ut via producerare till konsumerare.

Jag bifogar protokollet här.
Det är inte helt 100% skrivet klart. Men det ger en överblickande bild om hur CANopen ser ut. Ni får gärna rätta mig om jag har fel. Detta dokument har jag fått ihop igenom att läsa andra fabrikats standarder. Så här är min pedagogiska tolkning.
CANopen.pdf
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Skriv svar