$B_OUT?

  • Schritt für Schritt zum Roboterprofi!
  • Hallo LindePaul,


    im Original sieht es ja so aus:


    DECL BIN_TYPE $BIN_OUT[20] ;BINARY OUTPUT CONFIGURATION
    $BIN_OUT[1]={F_BIT 1, LEN 0, PARITY #NONE}
    $BIN_OUT[2]={F_BIT 1, LEN 0, PARITY #NONE}


    ansprechbar über $B_OUT[1]=5
    ;____________________________________________________
    also angenommen es sieht so aus:


    DECL BIN_TYPE MY_OUT[2] ;BINARY OUTPUT CONFIGURATION
    MY_OUT[1]={F_BIT 1, LEN 8, PARITY #NONE}
    MY_OUT[2]={F_BIT 9, LEN 8, PARITY #NONE}


    wie kann ich nun meine MY_OUT's ansprechen?

  • siehe meine roten Kommentare.
    Habe noch eine Doku angehängt - hoffe sie hilft
    a+


    Hallo LindePaul,


    im Original sieht es ja so aus:


    DECL BIN_TYPE $BIN_OUT[20] ;BINARY OUTPUT CONFIGURATION
    $BIN_OUT[1]={F_BIT 1, LEN 0, PARITY #NONE}
    $BIN_OUT[2]={F_BIT 1, LEN 0, PARITY #NONE}


    ansprechbar über $B_OUT[1]=5 [glow=red,2,300] ; geht des, hat doch keine Länge definiert ?


    ==> Da habe ich mal im Code nachgesehen, und folgendes gefunden:
    T_INT16 clsBinOut::setValue (struct intglo_struct *intglo_p, T_INT32 binValue)
    {
    T_INT16 i;
    T_INT32 mask = 1;
    T_INT16 int_ret;
    T_FLAG parity = (m_binParity == VAL_BIN_PARITY_T_ODD) ? T_TRUE : T_FALSE;


    if ( m_binLen == 0 )
    { // binary output is disabled by configuration <== scheint für den speziellen Fall wohl eine Ausnahme zu geben.
    return (INT_OK);
    }[/glow]


    ;____________________________________________________
    also angenommen es sieht so aus:


    DECL BIN_TYPE MY_OUT[2] ;BINARY OUTPUT CONFIGURATION
    MY_OUT[1]={F_BIT 1, LEN 8, PARITY #NONE}
    MY_OUT[2]={F_BIT 9, LEN 8, PARITY #NONE}


    wie kann ich nun meine MY_OUT's ansprechen?
    [glow=red,2,300]==> Das geht natürlich nicht, denn die $BIN_OUT[]´s sind fix mit den $B_OUT[]´s "verwurstelt".
    In der Versions da oben hast du nur eine KRL-Variable MY_OUT geschaffen, die dir überhaupt nichts nützt - außer daß sie Speicher verbraucht.[/glow]

    Wer nach allen Seiten offen ist kann nicht ganz dicht sein

  • Vielen Dank!


    Ich suche nur verzweifelt einen weg diese elendigen SIGNAL`s in Felder zu zwängen!


    Wir arbeiten in der Firma viel mit zb. einem 1 Roboter u. 3 Klebesteuerungen oder 1 Roboter und 5 Schweisszangen usw.


    Ich würde mir diese Funktion so sehr wünschen, doch Weihnachten wird es wohl wieder nichts werden! :bawling: :bawling: :bawling: :bawling: :bawling: :bawling: :bawling:


    Nochmals Danke
    $CYCFLAG

  • Scheint, B_OUT(9) ist als Byte definiert. Mehr als 255 dezimal kann ein Byte nicht darstellen. Wer oder was versucht den Wert zuzuweisen?

    never touch a running system

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden