Fórum témák
» Több friss téma |
Hozzám került néhány PM9C PowerLogic fogyasztásmérő.
Egy RS485 környezetbe kell beilleszteni, vagyis soros porton lekezelni.(PIC és ADAM modulok vannak a PC-n) Az adatlapja elég hiányos. A forgalmazók szerintem csak eladják, mert a vevőszolgálat csak magyarázkodott, és egy konfiguráló segédprogramot sem adott a közel 100 eFt-jáért. A Modbus protokol dolgaimba kevés a tapasztalatom. Nem tudom , hogy szólítsam meg, azt tudom,hogy mit kéne válaszolnia. Ha valakimár foglalkozott hasonló modbuszos témával, szívesen konzultálnék vele. Egy kétsoros mintaprogram is elég lenne. Minden segíséget köszönök. Üdv Mgy
mondjuk nem kapcsolodik a témával, de a mai fogyasztó társadalomban élve nem nagyon törődnek egyes forgalmazok illetve viszont eladók, a fogyasztok igényeivel pedig köteleségük a használati utasitás adni, beüzemeltetni a termékeket.....
Én általában ha nem teszik meg amit meg kellene nem veszem meg a terméket vagy pedig máshol veszem meg! s pláné akkor mikor nagy értékű termékről van szó nem lehet ilyet csinálni!
Szia!
Én Omron hőfokszabályzókkal oldottam meg egy feladatot: - kell egy rs232-rs485 átalakító - minden eszköznek van egy címe, ami általában 1-127 tartományba esik - ki kell küldeni az eszköz címét, a meghatározott parancsbájtot, pl. teszt parancsot, egy-két bájtot, adatot, amit a parancs szintaktikája előír, és le kell zárni az üzenetet egy bájttal -várni kell 20-100 msec-t és be kell olvasni pl. a választ kb. ennyi dióhéjban
Szia !
Köszi amit írtál, de ezt csinálom 3 napja. ADAM 4520 rs 485-re van rá kötve, a többi eszközömmel egyetembe.Hasonló logikávak kérdezem őket, és válaszaikat feldolgozom.Pickes vezérlések és ADAM modulok vannak rajta. Ennél a PM9c-nél, a leírásból pont parancsájt és szintaktikája nem egyértelmű. A MODBUS rendszerre hívatkozik és a saját szoftverjeire, melyet többszázezres nagyságrendért meg is lehet venni. Nézegettem MODBUS dolgait és már csak a megszólítás utolsó 2 bájtja ( CRC cheksum) képzése a kérdéses. Ez a MODBUS az általad is leírtak szerint dolgozik, csak az ipari alkalmazások miatt egy kicsit meg van komplikálva. Még próbálkozok egy kicsit, mert a remény hal meg utoljára. Egyébként a próbálkozás az élet megrontója. Segítségedet köszi. Üdv mgy. É
Ha még sosem írtál ilyet, akkor röviden: a PC, mint Master megszólít egy Slave eszközt, ami válaszol. A te fogyasztásmérőd, az "adatlapja" szerint teljesen MODBUS-RTU kompatibilis, szerintem nézd meg az alábbi linkeket kiindulásnak, minden le van írva (szerencsére ez egy teljesen nyitott szabvány).
A csatolt file-ban megtalálod, melyik regiszterből mit olvashatsz ki, a protokoll alapján összeállítod a küldendő csomagot (cím, parancs, adat, CRC), kiküldöd, és szintén a protokoll alapján elemezheted a visszaérkezett választ. Soros MODBUS használata Részletes protokoll Lib-ek, egyéb segítség (Wiki) Nekem is kellett volna ilyet csinálni egy LG frekiváltóhoz, akkor foglalkoztam vele valamennyit, de végül a gyorsabb LG-BUS mellett döntöttem; mindenesetre ha kérdésed volna, szívesen segítek, ha tudok. Amennyiben cégnek kellene a megoldás, akkor esetleg szét lehetne még nézni egy OPC-szerver után (pénzesek szoktak lenni); ezek a teljes kommunikáció gondját leveszik a válladról, gyakorlatilag csak az eredményekkel kell foglalkozni, amit "tálcán nyújt" a szerver. Szerk.: most látom, hogy frissült; az első két link közül valamelyikben ott a CRC részletes leírása is
Én Delphiben dolgoztam ki egy progit, soros komponensekkel.
Stringben összeállítottam az üzenetet, képeztem a crc-t, hozzácsaptam a crc két bájtját és vártam a választ. Az stringként érkezett, daraboltam és megvoltak az eredmények, regisztertartalmak, adatok. De kétsoros mintaprogramtól kicsit több lett...
Szia !
Köszi, bejött a tipped, mert a CRC generálás leírása, benne volt a MODBUS.org -ban. Egyébként Modbus Simply demo változatával, sikerült a lekérdezésekhez szükséges CRC értékeket is kiszámoltatni. A kütyü szépen válaszolt. A parancsbájtokat és a hozzátartozó CRC értékeket egy string tömben szándékozom tárolni. Igy a lekérdezeés tényleg 2 illetve 3 sor. 1. A port megnyitása 2. Az adot string kiküldése 3. A beérkezet string bájtajainak tárolása. Az igaz, hogy a feldolgozás már nem pár sor, de nekem a kommunikációval volt bajom. A többi már kézügyesség kérdése. A segítségeket köszönöm morfondinak is. Kösz a felajánlot segítségedet is.Amikor már addig haladtam, hogy tudok kérdezni, valószínüleg kereslek. Üdv Mészzáros Gyula
Még sem sikerült igazán.
Szombaton azt hittem,hogy a modul helyesen válaszolt, de mikor kiszámoltam a vett értékeket, kiderült, hogy nem oké ! Mellékelek egy doc fájlt, melyet a forgalmazónak is elküldök. Talán továbbjutok ! Az ötleteket várom és köszönöm !
Szerintem ez így nem lesz jó:
Idézet: „A PRINT #1,”kiküld „ string adott módon megszólítja a hívott egységet. Az input (bejön,#1) veszi a válaszolt stringet ” Ha csak ennyi van a kódban, az azért nem jó, mert ez MODBUS-ASCII, karakteres átvitel, a CRC miatt viszont még az sem (ott LRC van). A PM9C csak az RTU-t "beszéli" (az ASCII protokoll egy opció, amit egy eszköz vagy biztosít, vagy nem), ez pedig bináris átvitel; string-et neki küldeni, illetve tőle fogadni nem lehet. A kimenő adatoknak létre kell hozni egy byte-okból álló tömböt, majd karakterenként (ciklus 1-től szöveghosszig) feltölteni, és azt küldeni. Már persze ha a QBasic támogatja az ilyesmit. A különbség a két protokoll között ilyesmi: amíg RTU-ban kiküldöd pl. a 0xA8 értéket (a packet egy részlete, ...A8...), az egy byte-on kimegy, míg ASCII-ban ugyanez két byte lesz, 0x41 (= ASCII "A") és 0x38 (= ASCII "8"). Véleményem szerint neked ez utóbbi megy ki, viszont ezt a kütyü nem érti, a válaszát pedig te nem tudod feldolgozni, mert szöveget vársz, bináris adat helyett. Ha meg az eddigi eszközeid csak az ASCII átvitelt ismerik, akkor egy buszra ne is fűzd őket a PM9C-vel, mert egy busz, egyféle protokoll... Ja, én azt a levelet így hirtelen nem küldeném el
Most korábbi mentésből találtam programrészletet, hátha tudod hasznosítani, a szabványos echo parancsot hajtja végre. Ez egy korábbi próbálkozás volt, de jól működött.
Hátha kihámozol belőle valamit. Ha ez megy, a többi is menni fog... (Na meg ha a modul ismeri...)
Kösz Koboldnak is meg neked is a segítségeket !
A mintaprogram jó volt, de a CRC értékeket más módon kell megadni. Hasonlóakkal próbálkoztam eddig is, de végre bejött. A megfelelő 8 bytos stringre a modul 9 bájton válaszolt. A megfelelő string előállítása tényleg nem két sor. Ez még egy kis matematika, de az algoritmus meg van hozzá. A modul ugyanazon az RS485 vezetékpáron tud kommunikálni az én dolgaimmal. Az Azeotech DAQ modbus lekérdező moduljával monitoroztam ki a dolgokat, és a Qbasicbe átültettem az ott képzett RX TX stringeket. Mégegyszer köszi a segítségeket !
Köszi a segítséged.
Az első leveleidben megadott linkek próbálkozásai alapján, jöttem rá a megoldásra. Amit kedd este írtál, hogy több féle protokol egy hálózaton nem működik az szerintem, és tapasztalataim szerint fals. Az egyik protokol szerint kidott és logikájú stringeket, csak ő tudja értelmezni. Ha a másik felépítése alapján adom ki az utasításokat, csak a másik tudja értelmezni és válaszolni rá. Részemről ez a téma köszönettel lezáródott. Egy Qbasicos programot mellékelek, ha valaki megakadna hasonló témákban, tudjon miből kiindulni. Ezzel a programmal, ma 8 rákapcsolt modult teszteltem. És jelentem minden OKÉ ! Sziasztok !
Sziasztok!
A segítségeteket szeretném kérni. Készítenem kell egy eszközt, ami Modbus-on kommunikál (ez a topik címéből gondolom, nem túl meglepő). Egy mérlegről lenne szó. Két funkciót kell tudnia: a master kérésére elküldi a mért adatot, illetve, hogy fel lehessen venni egy null pontot. Na, ezzel az utóbbival gyűlik meg a bajom már egy jó ideje, ugyanis nem találok olyan Modbus OPC szervert (se sorosat, se TCP/IP-set), ami az 1-2-3-4-es függvényeken kívül mást is ismerne, mondjuk egy 5-ös Force Single Coil-t. Az első négy függvénnyel csak olvasni tudom az eszközömet.A kérdésem az az lenne, hogy ti tudtok olyan OPC szerverről, ami ismer bármi mást ezen a 4-en kívül? Ha nem találkoztál ilyennel, nekem az is segítség, mert akkor nem görcsölök rajta tovább, hanem valami mást próbálok kiagyalni. Üdv: Attila
Sziasztok!
Egyszerűen megépíthető Modbus I/O modul kapcsolást keresnék, ami RS-485-ön a szabványos Modbus parancsokkal olvasható/írható, és van pár be illetve kimenete. Valami ilyesmire gondolok: http://konverter.hu/termek-input-output-rs485-izolalt-modul-modbus-...8.html Tudnátok ebben segíteni?
Sziasztok ! Akadt némi problémám egy Schneider REG48 Modbusos hőmérséklet szabályzóval.
A gyártó oldalán nem található meg az ajánlott Zeliocontrol soft v2.1-es változata az 1.6-ossal pedig nemtudom kiolvastatni a mért értéket. Elvileg a 2.1 képes lenne rá de sehol sem találom meg. Nos ez a műszer a kazánunk keringető szivattyúját vezérli és ha már tudja a modbust gondoltam távolról is ellenőrizném , beállítanám de ahhoz tudnom kellene a mért értéket is. Hogyan lehetne megoldani ezt a problémát ,hogy legalább a mért értéket esetleg pár egyéb paramétert kiolvassunk a műszerből. Sajnos nemtudok programozni így erősen hátrányos helyzetből indulok. Adatlapom van amiben leírják ,hogy melyik érték illetve cím melyik paraméter stb. Válaszotokat előre is köszönöm! Üdv. Dávid ! A hozzászólás módosítva: Nov 26, 2020
Ha csak időnként kiolvasni szeretnéd, vagy át paraméterezni, akkor Modscan, vagy OMNI megfelelő eszköz lehet.
Szia ! Köszönöm a válaszod.
Azt szeretném látni időnként ,hogy mennyi a hőmérséklet amit mér a műszer °C-ban. A többit a saját paraméterező programjával megtudnám oldani mert az a beállított értéktől kezdve minden mást tud csak a PV avagy a mért értéket nem. A hozzászólás módosítva: Nov 26, 2020
|
Bejelentkezés
Hirdetés |