Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 2 von 2

Thema: Achskopplung deaktivieren TwinCat2 CNC

  1. #1
    Registriert seit
    21.09.2011
    Beiträge
    12
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo ich habe gerade folgendes Problem und zwar versuche ich eine Achskopplung vorrübergehend aufzuheben durch einen Button den ich im PLC Programm integriert habe. Mit fehlt bei der sache eigentlich nur der oder die Parameter die ich umstellen muss um die Achskopplung zu deaktivieren. Falls da irgendeiner zufällig auf welche VE Variable ich da einfluss nehmen muss wär das Klasse ! ( in einem CNC Programm klappt das bereits wenn ich mit dem Befehl #AX LINK OFF #DISABLE AX LINK arbeite! )
    vielen dank für Hilfe
    mfg Hammerschmid

    falls es was hilft mein Programm zur Achskopplung sieht so aus....


    (* Trigger für V.E.Befehl (XMasterAxis, YMasterAxis) *)
    tr_X1Master(CLK := XMasterAxis = 1); (* cmd X1 Master *)
    tr_X2Master(CLK := XMasterAxis = 2); (* cmd X2 Master *)
    tr_X1ResetMaster(CLK := XMasterAxis = 1); (* cmd Y1 Master *)
    tr_X2ResetMaster(CLK := XMasterAxis =2); (* cmd Y2 Master *)

    tr_Y1Master(CLK := YMasterAxis = 1); (* cmd X1 Decouple *)
    tr_Y2Master(CLK := YMasterAxis = 2); (* cmd X2 Decouple *)
    tr_Y1ResetMaster(CLK := YMasterAxis = 1); (* cmd Y1 Decouple *)
    tr_Y2ResetMaster(CLK := YMasterAxis =2); (* cmd Y2 Decouple *)


    (* Achskopplung *)
    HLI_SetAxisCoupling(MasterAxis := 1, SlaveAxis := 2, bEnable := tr_X1Master.Q, bReset := tr_X1ResetMaster.Q, descidx := 1);
    HLI_SetAxisCoupling(MasterAxis := 2, SlaveAxis := 1, bEnable := tr_X2Master.Q, bReset := tr_X2ResetMaster.Q, descidx := 1);
    HLI_SetAxisCoupling(MasterAxis := 3, SlaveAxis := 4, bEnable := tr_Y1Master.Q, bReset := tr_Y1ResetMaster.Q, descidx := 1);
    HLI_SetAxisCoupling(MasterAxis := 4, SlaveAxis := 3, bEnable := tr_Y2Master.Q, bReset := tr_Y2ResetMaster.Q, descidx := 1);


    (* Rückmeldung als VE Variable *)
    IF pAC[2]^.addr^.McControlLr_Data.MCControlAxisCouplingUnit_AxisCoupling.AxisCouplingStat e.desc[1].AxisNumber = 1 THEN
    SetVEChannelValue(nChan := 1, nVEIndex := 10, nVal := 1, bGlobal := TRUE); (* X1IsMaster *)
    ELSE
    SetVEChannelValue(nChan := 1, nVEIndex := 10, nVal := 0, bGlobal := TRUE);
    END_IF

    IF pAC[1]^.addr^.McControlLr_Data.MCControlAxisCouplingUnit_AxisCoupling.AxisCouplingStat e.desc[1].AxisNumber = 2 THEN
    SetVEChannelValue(nChan := 1, nVEIndex := 11, nVal := 1, bGlobal := TRUE); (* X2IsMaster *)
    ELSE
    SetVEChannelValue(nChan := 1, nVEIndex := 11, nVal := 0, bGlobal := TRUE);
    END_IF

    IF pAC[4]^.addr^.McControlLr_Data.MCControlAxisCouplingUnit_AxisCoupling.AxisCouplingStat e.desc[1].AxisNumber = 3 THEN
    SetVEChannelValue(nChan := 1, nVEIndex := 12, nVal := 1, bGlobal := TRUE); (* Y1IsMaster *)
    ELSE
    SetVEChannelValue(nChan := 1, nVEIndex := 12, nVal := 0, bGlobal := TRUE);
    END_IF

    IF pAC[3]^.addr^.McControlLr_Data.MCControlAxisCouplingUnit_AxisCoupling.AxisCouplingStat e.desc[1].AxisNumber = 4 THEN
    SetVEChannelValue(nChan := 1, nVEIndex := 13, nVal := 1, bGlobal := TRUE); (* Y2IsMaster *)
    ELSE
    SetVEChannelValue(nChan := 1, nVEIndex := 13, nVal := 0, bGlobal := TRUE);
    END_IF

    und die HLI Funktion...


    HLI_SetAxisCoupling := FALSE;
    RETURN;

    END_IF

    IF bReset = TRUE THEN
    pAC[SlaveAxis]^.addr^.McControlLr_Data.MCControlAxisCouplingUnit_AxisCoupling.AxisCouplingComm and.desc[descidx].AxisNumber := 0;
    pAC[SlaveAxis]^.addr^.McControlLr_Data.MCControlAxisCouplingUnit_AxisCoupling.AxisCouplingComm and.desc[descidx].CouplingMode := 0;

    pAC[SlaveAxis]^.addr^.McControlLr_Data.MCControlAxisCouplingUnit_AxisCoupling.AxisCouplingComm and.X_Semaphor := TRUE;
    ELSIF bEnable = TRUE THEN
    pAC[SlaveAxis]^.addr^.McControlLr_Data.MCControlAxisCouplingUnit_AxisCoupling.AxisCouplingComm and.desc[descidx].AxisNumber := MasterAxis;
    pAC[SlaveAxis]^.addr^.McControlLr_Data.MCControlAxisCouplingUnit_AxisCoupling.AxisCouplingComm and.desc[descidx].CouplingMode := 2;

    pAC[SlaveAxis]^.addr^.McControlLr_Data.MCControlAxisCouplingUnit_AxisCoupling.AxisCouplingComm and.X_Semaphor := TRUE;
    END_IF

    HLI_SetAxisCoupling := TRUE;
    Zitieren Zitieren Achskopplung deaktivieren TwinCat2 CNC  

  2. #2
    HammerSchmid ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.09.2011
    Beiträge
    12
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hab hier die benötigten befehle gefunden denk ich werds gleich ausprobieren
    falls es jemand interessiert

    http://tcinfosys.beckhoff.com/index....eibung.htm&id=

Ähnliche Themen

  1. Profibus deaktivieren
    Von thomasgull im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 20.11.2010, 10:45
  2. profinet aktivieren deaktivieren
    Von thomasgull im Forum Feldbusse
    Antworten: 7
    Letzter Beitrag: 26.04.2010, 15:24
  3. Lichtschranke 3 Deaktivieren?^^
    Von TechnikFreak10 im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 22.04.2010, 20:33
  4. Textlisten aktivieren/deaktivieren
    Von Steve38 im Forum HMI
    Antworten: 15
    Letzter Beitrag: 29.03.2010, 07:42
  5. SINAUT deaktivieren
    Von olli2 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 19.06.2009, 08:59

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •