Hirdetés
- Visszafogott, vékony és vezetékmentes ProArt billentyűzet jött az ASUS-tól
- Nem tiltották be a Teslát Kaliforniában, Robotaxival ünnepelt a márka
- Az ARM részvényeinek eladásában csúcsosodott ki az NVIDIA felvásárlási kísérlete
- Jobb tömörítő algoritmussal kínálja meg a DirectStorage API-t a Microsoft
- Mi történik, ha minden PCIe slot tele van?
- TCL LCD és LED TV-k
- AI okozta csődhullámra figyelmeztett a Phison vezetője
- OLED TV topic
- Milyen videókártyát?
- Pad X8b néven jön a Honor következő belépőszintű táblája
- 5.1, 7.1 és gamer fejhallgatók
- Milyen notebookot vegyek?
- Felzárkóztatná a HDD-ket az SSD-khez a Western Digital
- Bambu Lab 3D nyomtatók
- AMD Navi Radeon™ RX 9xxx sorozat
Új hozzászólás Aktív témák
-
Szirty
őstag
válasz
Mr. Cutter
#112
üzenetére
Hali Mr. Cutter!
Ez a program elviekben azért íródott, hogy 2 számítógép kommunikáljon egymással rs232-n keresztül.próbáltam küldeni a plc-re azt a karaktersorozatot, amit írtál:
@01RD00000009FCS*CR (plCS= 57), nem reagált a plc,
Nos amikor írtam a példát, gondoltam megnézed a hostlink PDF-et
Az FCS egy ellenőrző összeg (Frame CheckSum), amit az üzenet tartalmából XOR-al kell kiszámolni, ezért minden üzenetnél más és más.
vagyis nem egy fix karaktersorozat.
Ha egy host link parancs végén, amit a PLC-nek küldesz, nem megfelelő az FCS, a PLC azt feltételezi, hogy az átvitel hibás, az érkezett adatcsomag sérült, és a parancsra nem reagál!
A CR pedig a kocsi vissza karakter kódja ASCII-ban (a hostlink alapvetően ASCII).
A host linkben ([link])
Pl. a HR olvasás parancs így néz ki:![[kép] [kép]](http://szirty.extra.hu/misc/HRRead.png)
Tehát:
@ (kukac, ami 40h)
Egység száma ASCII-ben, vagyis ha az egység száma 01, akkor a 30h és 31h kódokat kell küldeni, mivel a ''0'' karakter ASCII kódja hexa 30, az ''1'' ASCII karakter kódja hexa 31
Utána jön a parancs, ami két karakter (két byte) ezesetben RH (HR area read). A ''H'' betű kódja 38h, az ''R'' kódja 52h.
Ezután négy karakteren (szintén ASCII-ben) meg kell adni a kiolvasandó terület első rekeszének címét, majd 4 karakteren a kiolvasandó rekeszek számát, decimálisan. Tegyük fel, hogy a HR6 és HR7 tartalmát akarod olvasni. Akkor a 0006 és 0002 lesz a két sorozat, ami ASCII-ben így néz ki: 30h, 30h, 30h, 36h, majd: 30h, 30h, 30h, 32h
Ezt követi a két byte FCS ASCII-ben. Ezt ki kell számolni az előző karakterkódok alapján, amit a hivatkozott PDF 77. oldalán lehet megtalálni (67. oldal a PDF számozása szerint).
Az eddigi karaktersorozat hexában tehát az alábbi:
40h, 30h, 31h, 38h, 52h, 30h, 30h, 30h, 36h, 30h, 30h, 30h, 32h
Ebből kell sz FCS-t kiszámolni az alábbi ábrának megfelelően:![[kép] [kép]](http://szirty.extra.hu/misc/FCS.png)
Konkrétan: 40h XOR 30h XOR 31h XOR 38h XOR 52h XOR 30h XOR 30h XOR 30h XOR 36h XOR 30h XOR 30h XOR 30h XOR 32h
Ennek eredménye ha jól számolom: 2Fh
Ezt át kell alakítani két karakteres ASCII kóddá: A ''2'' karakter hexa kódja: 32h, az ''F'' betű kódja: 46h.
Ezt egy csillag karakter követi 2Ah kóddal, majd jön egy CR kocsi vissza karakter, ami 13h.
A HR6 és 7 kiolvasásának komplett parancsa tehát:
40h, 30h, 31h, 38h, 52h, 30h, 30h, 30h, 36h, 30h, 30h, 30h, 32h, 32h, 46h, 2Ah, 13h
Feltéve persze hogy 1:N kommunikáció van beállítva és a lekérdezett PLC ''unit number'' 01-re van beállítva.
A válasz formája, amiben a PLC visszaküldi a lekérdezett HR-ek tartalmát, szintén benne van az említett PDF-ben, de terjedelmi okokból ide inkább nem írom le.
Ha gond van kérdezz!
Mr. Cutter-nek:
Ha a kommunikáció 1:1 jellegű (és a beállítás is 1:1, nem csak a fizikai kiépítés, mivel 1:N kommunikáció két eszköz között is lehetséges), akkor ha jól emlékszem nem kell elküldeni az egységszámot, és az FCS kiszámítáűsában sem vesz részt természetesen. De a részletekért nézd meg a PDF-ben.
Új hozzászólás Aktív témák
- Bírsággal karöltve kötelezi az Intelt a garancia betartására India
- Samsung kuponkunyeráló
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Kerékpárosok, bringások ide!
- Kuponkunyeráló
- TCL LCD és LED TV-k
- Luck Dragon: Asszociációs játék. :)
- Fotók, videók mobillal
- AI okozta csődhullámra figyelmeztett a Phison vezetője
- Kamionok, fuvarozás, logisztika topik
- További aktív témák...
- Patriot Viper Venom RGB 2x16GB DDR5 6000MHz CL36 - Új, bontatlan, 5 év garancia - Eladó!
- ZOTAC RTX 5070 12GB GDDR7 Twin Edge - Új, Bontatlan - Eladó!
- Nipogi MINI PC / Celeron N5105 / 240GB SSD / 12GB RAM
- Bontatlan Lenovo LOQ-83JG002SHV-Ryzen 7 250-32gb-1TB-RTX5050 8GB-144 Hz-35 hó prémium gar-magyarbill
- Bontatlan Lenovo LOQ-83JE00QRHV-i7 13700HX-32gb-1TB-RTX5060 8GB-144 Hz-35 hó prémium gar-magyar bill
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 12 128GB Black-1 ÉV GARANCIA - Kártyafüggetlen, MS4477,92% Akksi
- BESZÁMÍTÁS! MSI B550M R5 5600X 16GB DDR4 512GB SSD ROG RTX 3070 Ti 8GB Asus A31 PLUS TG ARGB 750W
- Dell Latitude 3510 15,6", i5 10210U, 8-16GB RAM, SSD, jó akku, számla, garancia
- HIBÁTLAN iPhone 12 Pro Max 256GB Pacific Blue-1 ÉV GARANCIA - Kártyafüggetlen, MS4533
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest



