Lazarus - modbus
Zdravím.
V praci mi koupili dalši hračku co ma RS485 ale použiva modbus protokol .
https://vyboelectric.cz/wp-content/uploads/2014/12/VECTOR-V-800-N%C3%A1vod-na-obsluhu-A5-ver.1.3.pdf
Už jsem tu řešil 2X čtení přes RS485 z dvou ruznách váh a podařilo se hlavně diky Jana Fialy.
První jsem na to šel přes synapse, ale pak našel užasnou knihovnu LazSerial
Modbus asi bude uplně o něčem jinem a me první.
Našel jsem toto.
https://github.com/coassoftwaresystems/delphi-modbus/tree/develop/packages
A je tam delphimodbuslazarus.lpk, takže jak pro delphi, tak pro lazarus.
V sample je jen Modbus TCP – přenos informací probíhá prostřednictvím TCP/IP v síti Ethernet
https://ibb.co/PzYgPxh
Nevi někdo, kde sehnat nějake sample pro Modbus RTU?
Děkují.
Co třeba PascalSCADA?
https://wiki.lazarus.freepascal.org/PascalSCADA
Dokumentace protokolu:
https://ipc2u.cz/blogs/news/protokol-modbus-rtu-v-kostce-s-popisy-a-priklady
Mi se spiš libi ten delphi-modbus.
Použitelný jak v delphi, tak přes lazarus.
Lazserial nebo synaser (součást synapse) jsou podle mě to nejlepší. Myslím, že mi víc vyhovoval právě ten synaser, ale už si nepamatuju na podrobnosti. Ve svých projektech používám oboje, asi podle toho, co bylo zrovna při ruce.
To je napojení na fyzickou vrstvu. Pak je potřeba něco udělat s tím protokolem. To jsem řešil celkem nedávno (přes RS232) a tehdy jsem se zaseknul na tom, že neumím počítat CRC-16, které je právě součástí těch zpráv (což od zařízení ho přinejhorším můžu ignorovat, ale ono se musí poslat i v dotazu). Teda moje hrátky byly v matlabu (tam se tyhle věci trochu líp ladí, tím, že to je prakticky interpreter), ale přenést to do lazarusu neni zase tak těžké. Takže jsem našel funkci na výpočet všech možných CRC (já jsem si myslel, že CRC8, 16, 32, 64 atd. je jednoznačné určení, ale ono tam je několik parametrů) mj. i něčeho, co je označené jako CRC-modbus, což by mělo být ono, ale zatím jsem to reálně nezkoušel.
To jestli přenos probíhá po TCP/IP, GPIB, Visa, USB, RS232 nebo čemkoliv jiném by nemělo udělat takový rozdíl, vždy něco posíláte a něco dostáváte. To se ideálně jen liší jak otevřít vstup a pak se s tím pracuje úplně stejně (ono to ale tak ideální je málokdy).
Nějaké knihovny přímo pro modbus jsou dostupné pro arduino (zase přepsat z toho céčka by to neměl být takový problém), to byl plán B (totiž vlatně původně plán A protože jsem je našel dřív, až pak mě napadlo hledat přímo funkci pro matlab). Pro lazarus jsem nějak ani nezkoušel hledat, počítám spíš s tím arduinem, až si s tím přestanu hrát v Matlabu.
Ja se dnes odhodlal jit do prace a probrat to s klukama a elektrikařem o co jim jde.
Každý den se montují 2 zařízeni s tímto frekvenčním měničem a elektrikář pak nastaví.
Máme však 6 poboček a někdy nestihá a čeká se na něho.
Takže jediné co by chtěli je, aby si s jednoho nastaveného udělali zálohu a pak do dalších jen nahráli.
Ja by som sa s tým neprcal.... chválim, že na to chceš mať vlastný program, ale ja by som to nedal...
Niečo hotové a zadarmo:
https://automatizace.hw.cz/qmodmaster-testovaci-programek-pro-modbus-rtutcp.html
Netoužim o to dělat vlastní program. V programovaní zas tak dobrý nejsem.
Vim jen že už to na firmě někdo řešil.
Volal prodejci i psal email vyrobci a nepochodil.
Ja dělam takovou holku pro všechno, tak to přelili na mně.
Firma je v baliku a nema problem i nějaký pogram koupit, když bude fungovat.
Dik, ten vypada dobře.
Ještě jsem našel toto http://www.baseblock.com/PRODUCTS/comtestpro.htm