Lazarus 3.2 (2024.02.28.)
Letöltés

  • Oldal:
  • 1

TÉMA:

UDP unicast kommunikáció, Synapse-al 2016 márc. 20 10:34 #1918

  • Hozso
  • Hozso profilkép Témaindító
  • Haladó forumozó
  • Haladó forumozó
  • Hozzászólások: 33
  • Köszönetek: 0
Közben megoldódott a dolog! (Az nem volt tiszta, hogy "sima" unicast üzeneteket hogyan tudok küldeni/fogadni. Sajna erről nem találtam doksi.)

UDP unicast kommunikáció, Synapse-al 2016 márc. 19 17:54 #1917

  • Gábor
  • Gábor profilkép
  • Adminisztrátor
  • Adminisztrátor
  • Hozzászólások: 506
  • Köszönetek: 86
Nem írtál változatszámot, de ezt (megjegyzés a cikk végén) mindenképp olvasd el: www.ararat.cz/synapse/doku.php/public:howto:udpmulticast
Hogyan kérdezzünk okosan? / Mit kell tennünk kérdezés előtt? -- Lazarus 3.0 -- FPC 3.2-- GNU/Linux 5.15.0 x86_64

UDP unicast kommunikáció, Synapse-al 2016 márc. 17 09:41 #1913

  • Hozso
  • Hozso profilkép Témaindító
  • Haladó forumozó
  • Haladó forumozó
  • Hozzászólások: 33
  • Köszönetek: 0
Sziasztok!

Nemrég kezdtem el foglalkozni Lazarus-al, nem vagyok egy gyakorlott programozó, kérlek nézzétek el nekem, ha butaságokat kérdezek...

Írni szeretnék egy programot, amely UDP üzenetekkel kommunikál több PLC-vel (ezek ipari vezérlőegységek, történetesen OMRON gyártmányúak). Egy UDP multicast nevű projectet találtam a Synapse mintapéldái között, de nem tudok rájönni, hogy hogyan tudnék unicast üzenetet küldeni, illetve a kapott csomagokat beolvasni. Próbáltam átalakítani a fent említett multicast példát. Az adatküldés sikerült is (bár, ha jól sejtem fölösleges unicast üzenetet küldenem, amikor a két eszköz egy hálózaton belül van.), a PLC-be sikerült beírnom adatokat és vissza is válaszol (Wireshark-al monitoroztam az adatforgalmat.), de egyszerűen nem tudom a fogadott adatcsomagot beolvasni!
Előre bocsátom, hogy a bind/connection stb. funkciókkal sem vagyok teljesen képben, bár néhány alapvető irományt elolvastam a témában. Megpróbáltam a fogadásra nyitott socket-ben beállítani a PLC IP címét és portját(192.168.250.4/9600), ekkor hibaüzenetet kapok, miszerint nem sikerült a cím hozzárendelés(?) ('Can't assign requested address', hibakód: 10049). Ha 0.0.0.0 / 9600-at állítok be, akkor pedig nem kapok semmit a RecvPacket-ben.
A számítógép IP címe: 192.168.250.52. Mellékletben elküldöm a programnak azt a részét, ahol szerintem a kutya el van ásva. A kommentként kiiktatott sorok alapján látható, hogy miket próbáltam módosítani.

Melléklet:

Fájlnév: Multicast.txt
Fájlméret:2 KB



Kérlek, ha valaki tud segíteni, szánjon meg!
Mellékletek:

  • Oldal:
  • 1