Blog

300. Beitrag

… und ich habs verpennt, sind eigentlich schon 303.
Habe gerade mal nachgeschaut wann das ganze Online ging… das war am 11.02.2010, in Worten: Über-Fünf-Jahre!

Bin selbst stolz, solange durchgehalten zu haben :^)

Generell würde ich gerne mehr schreiben, aber es fehlt wie immer die Zeit.
Zusätzlich fehlen mir auch Ideen bezüglich EPLAN-Scripting, also wenn Ihr Ideen / Fragen / Anregungen habt, einfach schreiben.

Na dann auf die nächsten 100…!

Von |2015-04-15T07:57:40+02:002015-04-15|Allgemein|

Automatischer Action-Name ApiAddin

Da ich derzeit viel mit der EPLAN-API machen darf, hab ich mir mal Gedanken gemacht wie man das ewige Action deklarieren automatisieren kann.

Die Deklaration funktioniert ein bisschen anders als im Scripting und somit kann man auch auf die Methoden- / bzw. Klassennamen zugreifen.

Mit dieser Lösung wird immer der Klassenname als Action-Name verwendet, was für mich immer zutreffend ist.
In diesem Beispiel wäre der Action-Name MyAction:

using Eplan.EplApi.ApplicationFramework;
using System;
using System.Reflection;

namespace Suplanus.EplAddin.Examples
{
    class MyAction : IEplAction
    {
        public bool OnRegister(ref string Name, ref int Ordinal)
        {
            Name = MethodBase.GetCurrentMethod().DeclaringType.Name; // Get name from class
            Ordinal = 20;
            return true;
        }

        public bool Execute(ActionCallingContext oActionCallingContext)
        {
            throw new NotImplementedException();
        }

        public void GetActionProperties(ref ActionProperties actionProperties)
        {
            throw new NotImplementedException();
        }
    }
}
Von |2017-11-09T11:24:17+01:002015-04-14|EPLAN, EPLAN-API|

PlcTaglistConverter – Siemens TIA Portal Video

Kleiner Nachtrag, wir haben ein Beispielvideo erstellt, wie schön es ist Zuordnungslisten auszutauschen :^)

Im Video wird folgender Workflow gezeigt:

  • EPLAN Electric P8: Export
  • PlcTaglistConverter: Anpassungen Symbolik/Adressformat/Gruppierung
  • Siemens TIA Portal: Import & Anpassung der Zuordnungsliste
  • EPLAN Electric P8: Import der Änderungen

ShopForProcess: PlcTaglistConverter

Von |2015-04-10T13:39:31+02:002015-04-10|EPLAN, ShopForProcess|

PlcTaglistConverter

Nach langer Entwicklungszeit darf ich hier mal ein weiteres Produkt vorstellen. Denke es gehört in die Kategorie “endlich gibt es sowas”…

Kurz mal mit Vorgeschichte:
Ich selbst beschäftigte mich längere Zeit mit SPS-Programmieren. Davor Schwerpunkt EPLAN-Administration. Da liegt es nahe auch hier den Prozess so gut wie möglich zu optimieren.
Aber mit EPLAN Boardmitteln ist das sehr schwierig. Der Export/Import von Zuordnungslisten lässt zu wünschen übrig, der Workaround über Beschriftung ist eher suboptimal.

Warum gibt es keine Funktion von EPLAN bzw. eine Anwendung welche mir das Importieren / Exportieren von einem beliebigen System ins Nächste ermöglicht? Und ich spreche ich auch von z.B. Siemens Simatic Manager zu Beckhoff TwinCAT…

Darum haben wir uns entschlossen solch ein Projekt zu starten und es ist einfach toll geworden.

2015-04-08_07-26-35

Funktionsübersicht:

  • Import / Export von unterschiedlichen SPS-Systemen
    • Siemens Simatic Manager
    • Siemens TIA Portal
    • Beckhoff TwinCAT
  • Anpassung der Symbolik
    • Großbuchstabenkonvertierung
    • Sonderzeichenersetzung
    • Kürzung der Symbolik (Betriebsmittelkennzeichen)
  • Beckhoff: Generierung von Variablen
    • Meldungstexte
    • Betriebsmittelkennzeichen
  • Sprungfunktion nach EPLAN
    • Sensor / Aktor
    • SPS-Übersicht
  • Anpassung des Adressformates (Mnemonik)
  • Sprachauswahl für Funktionstexte (Kommentare)
  • Filterfunktionen nach Eigenschaften des SPS-Anschlusses
  • Gruppierter Export
  • Live-Vorschau
  • Baumdarstellung
    • SPS-Übersicht
    • Sensor / Aktor

ShopForProcess: PlcTaglistConverter

Von |2015-04-08T07:32:23+02:002015-04-08|EPLAN, ShopForProcess|

ExternalTestAssembly

Daniel Papp ist immer fleißig, vielen Dank nochmal an dieser Stelle.

Aufgrund der Implementierung von CAE-Consulting ist nun bekannt wie man DLLs im Scripting nutzen kann. Somit kann man auch Excel oder SQL bedienen… eigentlich Alles außer der immer noch kostenpflichtigen EPLAN API…

Vielen Dank für das Beispiel! Wie gewohnt findet man die Daten auf Daniels GitHub Repo.

using System;
using System.Reflection;
using System.Windows.Forms;

namespace ExternalTestAssembly
{
    public class Script
    {
        [Start]
        public void Run()
        {
            //AbsoluteAssemblyPath: for example "C:\Users\Public\EPLAN\Data\Binaries\MyWPFControlLibrary.dll
            Assembly myAssembly = Assembly.LoadFrom(@"AbsoluteAssemblyPath");

            //Namespace.ClassName: absolute name of the class to instaciate 
            //"InstAttibute": if the constructor of the class needs some attributes
            Object objectOfTestClass = myAssembly.CreateInstance("Namespace.ClassName", false, BindingFlags.ExactBinding, null, new Object[] {"InstAttibute"}, null, null);

            //Namespace.ClassName: again the class name to get the methode to execute
            //MethodName: Name of the method to execute
            MethodInfo show = myAssembly.GetType("Namespace.ClassName").GetMethod("MethodName");

            //result: remove if methode has no return type (void)
            //"MethodAttribute": attributes for the methode (could also be empty)
            Boolean result = (Boolean)show.Invoke(objectOfTestClass, new Object[]{ "MethodAttribute" });

            //go on with simple scriptcode
            if (result == true)
            {
                MessageBox.Show("Welcome to wonderland!");
            }
            else
            {
                MessageBox.Show("So you're not the chosen one!");
            }
            
        }
    }
}

 

Von |2017-11-09T12:23:40+01:002015-03-26|EPLAN, EPLAN-Scripts|
Nach oben