Hirdetés

Új hozzászólás Aktív témák

  • Szirty

    őstag

    válasz wertick #137 üzenetére

    Hali wertick!

    Hogy jön ki az a 19 byte amit visszaküld a plc. Tudom ott van a pdf 71.oldalán.

    Pontosan. Ott van bizony! :)

    Rosszul számolod. Mint mondottam volt, a HostLink kommunikáció ASCII alapú!
    Ami egy word, az ugye két byte ugyan, de 4 byte-on küldi át.
    Pontosan úgy, ahogyan az FCS-t is, ami egy bíte, mégis két byteon küldi át, mivel azt az egy byte-ot, a HEXA értékének megfelelő ASCII karakterekkel írjale, ami két shelyiérték, Így lesz egy byte-ból kettő és két byte-ból négy.
    Ha pl. 65535-öt akarok átküldeni, ami ugye egy word és hexában éppen FFFFh, akkor abból úgy lesz 4 byte a HostLink szerint, hogy négy darab ''F'' betűt küld át, azaz ezek ASCII kódját: ''FFFF''

    Akkor tehát ennek fényében a PLC-től kapott válasz:
    1. byte: ''@'' ennek a kódja 40h
    2. és 3. byte. az egység száma: ''01'', azaz 30h, 31h
    4. és 5. byte a parancs két betűje, azaz ''MF'', vagyis 4Dh, 46h
    6. és 7. byte az RC (response code) ami egy byte, ezért két karakter, bármi lehet. Hogy mit jelent? Esetleg ha rákeresel a PDF-ben arra a két szóra, hogy ''response code'', akkor találsz a 95. oldalon egy olyan részt, aminek az a címe, hogy ''Response code list''. Gondolom a táblázat amit ott találsz, majd választ ad a kérdésedre.

    8, 9, 10 és 11. byte-on jön a ''first word'', ami négy ASCII karakterrel leírt szó, vagyis két byte.
    12, 13, 14, és 15. byton jön a ''second word'' ami ugyanúgy négy karakteren leírt 2 byte.
    16. és 17 byte-on jön két karakter, ami ugyancsak ASCII karakterekkel leírja az FCS-t, ami ugye egy byte lesz majd ha visszaforgatod.
    18, byte egy csillag ''*'' karakter, vagyis 2Ah
    A 19. byte pedig a CR karakter, azaz kocsi vissza: 0Dh

    A * és a CR ha jól tudom nem küldi vissza,vagy igen?

    Idézet a 133-as üzenetből:
    ''Minden küldött és kapott parancsban van ún. delimiter. A delimiter olyan karaktersorozat, ami egyértelműen azonosítja az adás elejét és végét.
    Ezesetben az adás elejét a ''@'' karakter, a végét a CR (0D) kocsi vissza karakter jelzi.''

    Tehát a ''*'' és CR karakterek minden parancsban és az arra adott minden válaszban benne vannak, mert ezek határolják az adás és a vétel elejét és végét!

    Még egyszer: A HostLink ASCII alapú!! Mindent ASCII karakterekkel ír le! Ezért lesz egy byte-ból kettő és egy word-ből négy karakter (byte)!

Új hozzászólás Aktív témák