Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem 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í.

Předmět Autor Datum
Co třeba PascalSCADA? https://wiki.lazarus.freepascal.org/PascalSCADA Dokumentace protokolu: https:…
host 08.02.2024 08:01
host
Mi se spiš libi ten delphi-modbus. Použitelný jak v delphi, tak přes lazarus.
BigSandy 08.02.2024 08:34
BigSandy
Lazserial nebo synaser (součást synapse) jsou podle mě to nejlepší. Myslím, že mi víc vyhovoval práv…
ml1 08.02.2024 16:34
ml1
Ja se dnes odhodlal jit do prace a probrat to s klukama a elektrikařem o co jim jde. Každý den se mo…
BigSandy 08.02.2024 16:51
BigSandy
Ja by som sa s tým neprcal.... chválim, že na to chceš mať vlastný program, ale ja by som to nedal..…
pme 08.02.2024 20:44
pme
Netoužim o to dělat vlastní program. V programovaní zas tak dobrý nejsem. Vim jen že už to na firmě… poslední
BigSandy 09.02.2024 07:46
BigSandy

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.

Zpět do poradny Odpovědět na původní otázku Nahoru