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

  • horvathcsaba

    csendes tag

    válasz Szirty #265 üzenetére

    Szia!

    Köszönöm a választ. Én azért olvasgattam mindenféle anyagokat, de ezek alapján sem volt teljesen egyértelmű a működés. Olvastam a te PID-es dolgaidat, azonban a példát még nem tudtam beizzítani. Gondoltam a hiányosságaim feltárására is jó ez a fórum. :)

    1.
    I_ITL_ON:=TRUE

    Például ennek a működése sem volt teljesen világos, de a példaprogramban benne volt. :)
    Most már kicsit tisztább.

    2.
    CYCLE :=T#10S

    Szintén a példa hozta. Igazából az OB35-be tettem a PID-et. A S7 help az OB35-re 100ms intervallumot ír. Akkor a CYLE is 100ms kell legyen? Legalábbis így értem.

    3.
    PVPER_ON:=TRUE
    ...
    a PIW 256-ban 0-100 tartományban kell tartani az értéket.

    A hivatkozott doksiban a következő szerepel:
    The process variable can be input in the peripheral (I/O) or floating-point
    format. The CRP_IN function converts the PV_PER peripheral value to a
    floating-point format of -100 to +100 % according to the following formula:

    Output of CRP_IN = PV_PER *(100/27648)

    The PV_NORM function normalizes the output of CRP_IN according to the following formula:
    Output of PV_NORM = (output of CRP_IN) * PV_FAC + PV_OFF
    PV_FAC has a default of 1 and PV_OFF a default of 0.

    Nekem ebből az jön le, hogy a %-ra alakítás miatt a PIW 256 nem kell, hogy 0 és 100 között legyen. Mert PIW 256 = 0 -> 0% és PIW 256 = 27648 -> 100%.

    Nálam ez úgy műkidik, hogy SP_INT = 6% és ha PIW 256 = 1659, akkor LMN = 0. És számításaim szerint 1659 a teljes bemeneti jeltartomány 6%-a.
    Vagy megint hülye vagyok?

    Az ábra jó, de sajnos a leírás közel sem olyan jó, mint a te kis PID-es programocskádban. Azonban azt még nem tudtam beizzítani ProTool és Step7 (full) hiányában.

    Csaba

    [ Szerkesztve ]

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