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

Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 25 von 25

Thema: .NET - C# - Apps im Maschinenbau - Konzept, Stand heute, was ist möglich?

  1. #21
    Registriert seit
    26.11.2012
    Ort
    Gummersbach
    Beiträge
    502
    Danke
    18
    Erhielt 71 Danke für 69 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Irgendwie stehe ich auf dem Schlauch...

    Ich verstehe immer weniger, warum Du nach Lösungsmöglichkeiten fragst, wenn Du doch eigentlich schon Komponenten gesetzt hast.
    Also so wie ich das sehe muss auf Teufel komm raus ein PC und C eingesetzt werden, das zeigen mir zumindest Deine bisherigen Kommentare.

    Das ist sicherlich EIN möglicher Weg, aber aus meiner Sicht nicht der zeitlich kürzeste.
    Und, wie schon erwähnt, Instandhaltungs- bzw. Wartungsfreundlich ist das auch eher nicht...

    gesendet von meinem Moto G mit Tapatalk
    Ganz kurz ganz hell
    ganz lange ganz dunkel....

  2. #22
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    @Morymmus:
    Der Ansatz des TE hat schon seinen Sinn.
    Wenn man die .Net-Applikation richtig aufstellt dann kann sie wie ein Flex-Projekt gehandelt werden - mit dem einen Unterschied, dass sie so ganz nebenher eine Menge mehr kann (die Bremse bist du dann wieder selber).

    Gruß
    Larry

  3. #23
    Registriert seit
    26.11.2012
    Ort
    Gummersbach
    Beiträge
    502
    Danke
    18
    Erhielt 71 Danke für 69 Beiträge

    Standard

    @Larry

    Ja, sorry, DAS hatte ich auch nicht gemeint.
    Nur frag ich dann nicht allgemein nach Lösungsmöglichkeiten sondern konkret zu der bereits festgelegten Struktur/Hardware...

    gesendet von meinem Moto G mit Tapatalk
    Ganz kurz ganz hell
    ganz lange ganz dunkel....

  4. #24
    Registriert seit
    14.12.2010
    Beiträge
    38
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Morymmus Beitrag anzeigen
    Irgendwie stehe ich auf dem Schlauch...

    ...
    Also so wie ich das sehe muss auf Teufel komm raus ein PC und C eingesetzt werden, das zeigen mir zumindest Deine bisherigen Kommentare.

    .
    Hallo,
    ja VS2013, .NET, C# ist schon gesetzt, da kennt sich das Team aus.
    Weniger mit den SPS Themen. Deshalb suche ich nach Ansätzen, wie man heutzutage richtige Automatisierung macht.
    Beispiele, um ein Gespür zu bekommen.
    Touchscreen, Apps(Smartphone) mit der Zeit gehen, ob man es braucht sei dahingestellt.
    Grüße Thomas

  5. #25
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    So ... nun ein paar Code-Snippets :

    Ich muss dazu sagen, dass ich das so aufgezogen habe, dass die Funktionalität in der Hauptsache aus eigenen Controls kommt. Dadurch kann das System auch von nicht-Programmierern gehandhabt werden, da so nur die Controls plaziert werden müssen und die entsprechenden Items zugewiesen werden müssen.

    Der nachfolgende Code zeigt eine solche Item-Deklaration - hierbei wir nur die SPS-Adresse im Klartext (also z.B. A123.4) angegeben unn der Item-Name erstellt sich selbst.
    Code:
    #Region "Implementierung der Item-Funktionalität"
        Private my_VWItem_Status As New VisiWinNET.DataAccess.DigitalItem
        <Category("VisiWin"), Description("VisiWin-Pfad für die Variablen-Anbindung")>
        <DefaultValue(VisiWinPfad)>
        Public Property VW_Pfad As String
            Get
                Return my_VW_Pfad
            End Get
            Set(ByVal value As String)
                my_VW_Pfad = value
                Set_VWItem()
            End Set
        End Property
        Private my_VW_Pfad As String = VisiWinPfad
        <Category("VisiWin"), Description("Beschriftung der Anzeige")>
        Property SPS_Adresse As String
            Get
                Return my_SPS_Adresse.Adresse
            End Get
            Set(ByVal value As String)
                my_SPS_Adresse.Convert(value)
                If my_SPS_Adresse.Valid Then
                    Me.Label.Text = my_SPS_Adresse.Adresse
                    Set_VWItem()
                    Me.Invalidate()
                End If
            End Set
        End Property
        Private my_SPS_Adresse As New SPS_Adresse_Converter
        <Category("VisiWin"), Description("Auswertung der SPS-Adresse invertieren ?")>
        <DefaultValue(False)>
        Property SPS_Adresse_invert As Boolean
            Get
                Return my_SPS_Adresse_invert
            End Get
            Set(ByVal value As Boolean)
                my_SPS_Adresse_invert = value
                Animation_Anzeige()
            End Set
        End Property
        Private my_SPS_Adresse_invert As Boolean = False
     
        Private Sub Set_VWItem()
            If my_SPS_Adresse.notValid Or my_VW_Pfad.Trim = "" Then
                my_VWItem_Status.Name = ""
            Else
                my_VWItem_Status.Name = my_VW_Pfad + "." + my_SPS_Adresse.VisiWinVar_Adr
                my_VWItem_Status.BitNumber = my_SPS_Adresse.BitNummer
            End If
        End Sub
     
        Protected Sub AttachItem()
            Dim Pfad2 As String = my_VW_Pfad + "."
            If my_SPS_Adresse.Valid AndAlso (my_VWItem_Status.Name.Trim <> my_VW_Pfad) AndAlso (my_VWItem_Status.Name.Trim <> Pfad2) Then
                AddHandler my_VWItem_Status.Change, AddressOf OnChange
                my_VWItem_Status.Attach()
            End If
        End Sub
        Protected Sub DetachItem()
            my_VWItem_Status.Detach()
            RemoveHandler my_VWItem_Status.Change, AddressOf OnChange
        End Sub
        Private Sub DisposeItem()
            DetachItem()
            my_VWItem_Status.Dispose()
        End Sub
        Protected Overridable Sub OnChange(ByVal sender As Object, ByVal e As VisiWinNET.DataAccess.DigitalChangeEventArgs)
            Dim mySender As VisiWinNET.Internals.DataAccess.ItemBase = CType(sender, VisiWinNET.Internals.DataAccess.ItemBase)
            If mySender.Name = my_VWItem_Status.Name Then
                If Trim(my_SPS_Adresse.Adresse) <> "" Then
                    my_AnimationStatus = e.State
                Else
                    my_AnimationStatus = CBool(e.Value)
                End If
                Animation_Anzeige()
            End If
        End Sub
    #End Region
    Hier wird das Item selbst deklariert und über einen Button gesetzt :
    (In meinen Beispielen sind das BOOL-Items - die Handhabung von den anderen Items ist aber nicht anders)
    Code:
    #Region "Implementierung der Item-Funktionalität"
        Private my_VWItem_Button1 As New VisiWinNET.DataAccess.StateItem
    
        <DesignerSerializationVisibility(DesignerSerializationVisibility.Content)>
         <Category("VisiWin"), Description("VisiWin Variablen-Anbindung Funktion 1")>
        Public ReadOnly Property VWItem_Button1() As VisiWinNET.DataAccess.StateItem
            Get
                Return my_VWItem_Button1
            End Get
        End Property
    
        Protected Sub AttachVWItems()
            my_VWItem_Button1.Attach()
        End Sub
        Protected Sub DetachVWItems()
            my_VWItem_Button1.Detach()
         End Sub
        Private Sub DisposeVWItems()
            DetachVWItems()
            my_VWItem_Button1.Dispose()
         End Sub
    #End Region
    #Region "Events / Steuerfunktionen"
        Private Sub Taste_1_gedrückt() Handles Button1.MouseDown
            my_Taste_1_betätigt = True
            my_VWItem_Button1.Value = True
        End Sub
        Private Sub Taste_1_losgelassen() Handles Button1.MouseUp
            my_Taste_1_betätigt = False
            my_VWItem_Button1.Value = False
        End Sub
    #End Region
    Hier wird ein Item synchron zugewiesen (die vorigen Zugriffe waren asynchron) :
    Code:
    VisiWinNET.Services.AppService.VWSet(ItemName , true)
    Ich hoffe, ich konnte ein bißchen helfen ...

    Gruß
    Larry

  6. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    ThomasAdler (01.07.2015)

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 30.06.2015, 14:35
  2. Spinnen heute alle – was ist da los?
    Von Wutbürger im Forum Stammtisch
    Antworten: 7
    Letzter Beitrag: 14.07.2014, 13:13
  3. Antworten: 1
    Letzter Beitrag: 04.10.2011, 09:07
  4. SCADA.NET Konzept
    Von seeba im Forum Werbung und Produktneuheiten
    Antworten: 14
    Letzter Beitrag: 07.05.2008, 22:49
  5. Ist Eplan wirklich Stand der Technik?
    Von exciter0816 im Forum E-CAD
    Antworten: 8
    Letzter Beitrag: 09.06.2005, 09:39

Stichworte

Lesezeichen

Berechtigungen

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