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

Ergebnis 1 bis 7 von 7

Thema: exe aus CODESYS TargetVisu heraus starten

  1. #1
    Registriert seit
    21.10.2007
    Beiträge
    8
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    Habe schon gegoogelt und auch sonst nichts gefunden.
    Gibt es eine Möglichkeit, aus der CODESYS TargetVisu ein beliebiges anderes Windows Programm zu starten?

    Vielen Dank für einen Tipp.
    Zitieren Zitieren exe aus CODESYS TargetVisu heraus starten  

  2. #2
    Registriert seit
    13.12.2011
    Beiträge
    1.420
    Danke
    147
    Erhielt 161 Danke für 152 Beiträge

    Standard

    V2 oder V3

  3. #3
    Simel ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.10.2007
    Beiträge
    8
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Es wird V3 verwendet.

  4. #4
    Registriert seit
    13.12.2011
    Beiträge
    1.420
    Danke
    147
    Erhielt 161 Danke für 152 Beiträge

    Standard

    Hallo Simel,
    richtig gut kenne ich mich nur mit der Visu von V2 aus, wobei ich mittlerweile wohl eher kannte sagen muss. Ich habe bei der ABB Tests mit der Visu durchgeführt und die Benutzerdoku geschrieben. Mit der Visu von V3 habe ich praktisch noch nicht gearbeitet. Da mich die Sache jedoch interessiert habe ich Dir etwas Arbeit abgenommen und mal selber recherchiert. Es geht, es gibt sogenannte interne Kommandos bei Buttons (vielleicht auch noch bei anderen Elementen) die unter anderem das können.

  5. Folgender Benutzer sagt Danke zu oliver.tonn für den nützlichen Beitrag:

    Simel (07.12.2014)

  6. #5
    Registriert seit
    22.03.2012
    Beiträge
    18
    Danke
    0
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hallo,
    aus der Visu selber heraus weiß ich direkt leider keinen Weg, allerdings könntest du den Umweg über die Software gehen.
    Ich habe mal , allerdings unter einer Linux-Umgebung, über die Funktion "SysProcessExecuteCommand" aus der Bibliothek SysProcess ein externes Skript gestartet, das sollte theoretisch auch in einer Windows-Umgebung mit z.B einer .exe machbar sein.

  7. Folgender Benutzer sagt Danke zu brub für den nützlichen Beitrag:

    Simel (07.12.2014)

  8. #6
    Simel ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.10.2007
    Beiträge
    8
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielen Dank oliver.tom und brub!

    Es ist die Funktion "Internes Kommando/Programm beim Client ausführen", das den gewünschten Effekt hat.
    Dort dann als ersten Parameter eine STRING(255) Variable angeben, in welchem der Pfad und Programmname steht (z.B. 'c:/tools/tool1.exe') und es funktioniert.
    Eigenartigerweise wird die Einstellung "Programm beim Client ausführen" beim wiederholten öffnen wieder nicht mehr angezeigt. Der Parameter bleibt und auf den kommts offenbar an..

    Und vielleicht hilft es ja noch jemand anderem, auch wenn es natürlich das falsche Forum ist, sorry, aber es gehört zu meinem Problem hier: Mein Tool soll nur einmal gestartet werden und bei jedem Start über diesen Button wieder zum Vorschein kommen.
    Es ist in C# geschrieben und dazu habe ich auf stackoverflow das richtige gefunden:

    http://stackoverflow.com/questions/6...eference-on-it
    http://stackoverflow.com/questions/2...ntaskbar-false

    und das sieht bei mir jetzt so aus und funktioniert:
    Code:
    namespace IW.Test
    {
        using System;
        using System.Diagnostics;
        using System.Runtime.InteropServices;
        using System.Windows.Forms;
    
        static class Program
        {
            [DllImport("USER32.DLL")]
            public static extern bool SetForegroundWindow(IntPtr hWnd);
    
    [STAThread]
            static void Main()
            {
                // Singleton App : Es soll nur eine geben..
                Process thisProcess = Process.GetCurrentProcess();
                Process[] allProcesses = Process.GetProcessesByName(thisProcess.ProcessName);
                Process otherProcess = null;
                foreach (Process p in allProcesses)
                {
                    if ((p.Id != thisProcess.Id) && (p.MainModule.FileName == thisProcess.MainModule.FileName))
                    {
                        otherProcess = p;
                        break;
                    }
                }
    
                if (otherProcess != null)
                {
                    //note IntPtr expected by API calls.
                    IntPtr hWnd = otherProcess.MainWindowHandle;
                   
                    // Verify that it is a running process.
                    if (hWnd != IntPtr.Zero)
                    {
                        // Make existing process the foreground application
                        SetForegroundWindow(hWnd);
    
                        // and kill this one
                        thisProcess.Kill();
                    }
                }
                else
                {
                    //run your app here
                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);
                    Application.Run(new MainWindow());
                }
            }       
        }
    }

  9. #7
    Registriert seit
    21.09.2015
    Beiträge
    3
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich schließe mich hier mal an, da ich das gleiche Problem habe.

    Ich möchte Skype über die Webvisualisierung starten. Dazu habe ich eine Schaltfläche erstellt und in den Eigenschaften unter "Eingabekonfiguration" unter "OnMouseClick" "Internes Kommando" gewählt.
    Dort habe ich den von Simel vorgeschlagenen Befehlt "Programm beim Client ausführen" probiert und als 1. Parameter den Pfad "C:\Program Files (x86)\Skype\Phone\Skype.exe" gewählt.
    EPC.jpg

    Wenn ich jetzt meinen Laptop mit der SPS (HBM PMX) verbinde, um mein Codesys-Programm (Codesys 3.5) zu aktualisieren, kann ich Skype über die Schaltfläche in der Visualisierung in Codesys starten.
    Von einem anderen Gerät im Netzwerk (Skype ist im gleichen Verzeichnis installiert) funktioniert der Start von Skype nicht.

    Was mache ich falsch?

    Gruß rKtiC

Ähnliche Themen

  1. Zugriff auf OB1_SCAN_1 aus FB heraus
    Von Franky08 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 27.07.2009, 21:15
  2. iesample.exe starten mit TargetVisu
    Von Itus im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 16.06.2009, 08:40
  3. Intouch Histdata.exe Automatisch starten
    Von Waelder im Forum HMI
    Antworten: 1
    Letzter Beitrag: 24.11.2007, 21:34
  4. Digitale I/O karte aus access heraus ansprechen ?
    Von Input im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 20.04.2005, 11:12
  5. Antworten: 5
    Letzter Beitrag: 08.04.2004, 10:47

Lesezeichen

Berechtigungen

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