Hirdetés

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

  • Dezsi82

    tag

    válasz Szirty #4554 üzenetére

    Üdv
    Átnéztem az SFC51-t, és egy paramétert találtam, ami esetleg szóba jöhet, de sajnos ez sem tesz különbséget
    0291 Module status information of all faulty and non-deactivated modules Irrelevant

    Viszont keresés közben megtaláltam az SFC13 paramétereit:

    Byte 1: Status 1
    Bit DIAGNOSTIC
    0 Diag.Station_Non_Existent: Set to 1 by the master if slave cannot be reached over the line. Slave sets this bit to 0.
    1 Diag.Station_Not_Ready: Set by slave if slave is not ready for data transfer.
    2 Diag.Cfg_Fault: Set by slave if it detects a mismatch in config data.
    3 Diag.Ext_Diag: Set by slave to indicate a diagnostic entry is in the slave-specific diagnostic area (see below).
    4 Diag.Not_Supported: Set by slave if requested function/service is not supported.
    5 Diag.Invalid_Slave_Response: Slave sets this bit to 0. Set to 1 by the master if it receives an implausible response from the slave.
    6 Diag.Prm_Fault: Set by slave if last parameter frame was faulty (wrong parameterization, bad length, bad ident_number, etc.).
    7 Diag.Master_Lock: Set by a class 1 master to indicate slave has been parameterized by another master (if address in DU byte 4 is not 255 and differs from its own address). Set to 0 by slave.

    Byte 2: Status 2
    Bit DIAGNOSTIC
    0 Diag.Prm_Req: Set by a slave if it needs to be parameterized and cleared once parameterization is complete.
    1 Diag.Stat_Diag: Static diagnostics. Slave sets this bit to cause the master to retrieve diagnostic information until this bit is cleared (the slave sets it if it’s not able to provide user data).
    2 Slave sets this bit to 1.
    3 Diag.WD_ON: Set by slave to indicate Watchdog is active.
    4 Diag.Freeze_Mode: Set by slave after it has received the Freeze control command.
    5 Diag.Sync_Mode: Set by slave after it has received a Sync command.
    6 Reserved.
    7 Diag.Deactivated: Set by the master if slave has been marked inactive within the slave parameter set and is removed from cyclic processing. Slave sets this bit to 0.

    Elvileg az elérhetőséget mutatja az első bájt nulladik bitje, a deaktiváltságot a második bájt hetedik bitje. Azt tudom, hogy az SFC12 időigényes függvény, van hogy akár több tíz másodpercig fut. Arról nem találtam infót, hogy az SFC13 milyen gyorsan fut le, és sajnos tesztelni nem fogom tudni, így majd élesben kell megoldani.
    Ha esetleg Te tudsz olyan SFC51 paraméterezést, ami kiadná a deaktivált, és a hiányzó slaveket, külön-külön, akkor az hasznos lenne, mert nyilván gyorsabb lenne, mint pollozni a 30 slavet.
    Köszönöm az ötleteket

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