Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  E3.series
  Skript angeschlossenes Betriebsmittel ermitteln

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Skript angeschlossenes Betriebsmittel ermitteln (406 mal gelesen)
Sevy4791
Mitglied



Sehen Sie sich das Profil von Sevy4791 an!   Senden Sie eine Private Message an Sevy4791  Schreiben Sie einen Gästebucheintrag für Sevy4791

Beiträge: 70
Registriert: 28.01.2022

erstellt am: 10. Feb. 2022 08:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


IOBeide.JPG


IODirekt.JPG


IOgesteckt.JPG

 
Hallo zusammen  ,

Ich möchte gerne eine PLC Liste erstellen, auf der die angeschlossenen Betriebsmittel angezeigt werden. (VBA Programm/Externer Zugriff auf e3)
Das funktioniert auch soweit die IO's direkt mit einer Ader beaufschlagt sind. Bei IO's bei denen die Module über einen Zwischenstecker geführt sind werden am Pin jedoch keine Ziele gefunden.

Hat jemand von euch eine Idee, wie ich die Verbindung vom IO Pin zum Stecker Pin herstellen kann?

Besten Dank für eure Hilfe Sevy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

K0NFUZIUS
Moderator



Sehen Sie sich das Profil von K0NFUZIUS an!   Senden Sie eine Private Message an K0NFUZIUS  Schreiben Sie einen Gästebucheintrag für K0NFUZIUS

Beiträge: 258
Registriert: 06.02.2006

erstellt am: 10. Feb. 2022 16:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sevy4791 10 Unities + Antwort hilfreich

Hallo Sevy,
ohne das Skript zu sehen ist das immer schwierig. Aber wenn ich Dich richtig verstehe willst Du das gesteckte Objekt (hier dein IO Pin) haben.
Das geht mit
PinInterface::GetConnectedPinIds()
oder wenn Du keine Varianten/Optionen im Projekt verwendest mit
PinInterface::GetConnectedPinId()

Hoffe das hilft
Liebe Grüße

Jörg

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sevy4791
Mitglied



Sehen Sie sich das Profil von Sevy4791 an!   Senden Sie eine Private Message an Sevy4791  Schreiben Sie einen Gästebucheintrag für Sevy4791

Beiträge: 70
Registriert: 28.01.2022

E3 2020 SP3 Build 21.30
I9-1295HX 32GB Win10 22H2
Eplan ProPanel 2.9
Eplan 3.3/5.x
Elcad
Fusion360

erstellt am: 11. Feb. 2022 07:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Guten Morgen Jörg

Perfekt genau dieser Befehl war 'the missing link'  herzlichen Dank für deine schnelle Hilfe!

Eine Frage hätte ich noch warum unterscheidet sich der Befehl, wenn ich Varianten und Optionen im Projekt habe?

Gibt es irgend ein Buch über die COM? Irgend etwas von einem
Anwender für Anwender (so a la Bernd bei Eplan?)
Die COM Hilfe habe ich zwar, manchmal sind mir die Beispiele zu abstrakt.

Noch einmal herzlichen Dank und ein schönes Weekend, Sevy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sevy4791
Mitglied



Sehen Sie sich das Profil von Sevy4791 an!   Senden Sie eine Private Message an Sevy4791  Schreiben Sie einen Gästebucheintrag für Sevy4791

Beiträge: 70
Registriert: 28.01.2022

erstellt am: 11. Feb. 2022 08:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hier noch der Testcode für alle interessierten.

Code:
Sub test_liste_alle()
    Set App = CreateObject("CT.Application")
    Set Job = App.CreateJobObject
    Set sym = Job.CreateSymbolObject
    Set pin = Job.CreatePinObject
    Set PinDest = Job.CreatePinObject
    Set dev = Job.CreateDeviceObject
    Set DevDest = Job.CreateDeviceObject
    App.ClearOutputWindow
    symcnt = Job.GetSymbolIds(symids)
    For i = 1 To symcnt
        sym.SetId symids(i)
        App.PutInfo 0, "Sym ID: " & symids(i) & " / ", symids(i)
        pincnt = sym.GetPinIds(pinids)
        For j = 1 To pincnt
            App.PutInfo 0, "Pin ID: " & pinids(j) & " / ", pinids(j)
            pin.SetNodeId pinids(j)
            cnt = pin.GetDevicePinIds(pins)
            'App.PutInfo 0, "Return of 'pin.GetDevicePindIds': " & cnt & "  PINID : " & pinids(j), pinids(j)
            For k = 1 To cnt
                App.PutInfo 0, "Node ID: " & pinids(j) & " / ", pinids(j)
                pin.SetId pins(k)
                dev.SetId pin.GetId()
                'App.PutInfo 0, "Node ID: " & pinids(j) & " / ", pinids(j)
                App.PutInfo 0, "Pin: " & pin.GetName() & " (" & dev.GetName() & ")  PINID : " & pins(k), pins(k)
               
                DestPinCount = pin.GetDestinationCount
                If DestPinCount > 0 Then
                    pin.GetDestinationIds DestPinId
                    PinDest.SetId DestPinId(1)
                    DevDest.SetId DestPinId(1)
                    App.PutInfo 0, "Ziel : " & DevDest.GetAssignment & DevDest.GetLocation & DevDest.GetName & "  :  " & PinDest.GetName
                Else
                    If pin.GetConnectedPinIds(x) > 0 Then
                        PinDest.SetId x(1)
                        DevDest.SetId x(1)
                        PinDest.SetNodeId x(1)
                        cnt = PinDest.GetDevicePinIds(pins)
                        For L = 1 To cnt
                            PinDest.SetId pins(L)
                            DevDest.SetId PinDest.GetId()
                            App.PutInfo 0, "Pin: " & PinDest.GetName() & " (" & DevDest.GetName() & ")  PINID : " & pins(L), pins(L)
                            If PinDest.GetDestinationCount > 0 Then
                                PinDest.GetDestinationIds DestPinId
                                PinDest.SetId DestPinId(1)
                                DevDest.SetId DestPinId(1)
                                App.PutInfo 0, "Destination: " & DevDest.GetAssignment & DevDest.GetLocation & DevDest.GetName & "  :  " & PinDest.GetName, PinDest.GetId
                            End If
                        Next
                    End If
                End If
            Next
        Next
    Next
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

K0NFUZIUS
Moderator



Sehen Sie sich das Profil von K0NFUZIUS an!   Senden Sie eine Private Message an K0NFUZIUS  Schreiben Sie einen Gästebucheintrag für K0NFUZIUS

Beiträge: 258
Registriert: 06.02.2006

erstellt am: 11. Feb. 2022 08:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sevy4791 10 Unities + Antwort hilfreich

Hallo Sevy,
bei Varianten/Optionen hast Du die Möglichkeit unterschiedliche Anschlusspunkte zu stecken.
z.B.
O1 -> X1:1 auf X2:1
O2 -> X1:1 auf X3:1
Dann würdest Du vom Anschlusspunkte X1:1 zwei Ids bekommen, wenn beide Optionen aktiv sind.

In der Version E3.series 2021 hat sich die COM Hilfe verbessert (neues Design - mehr Beispiel - Bessere Dokumentation von Rückgabewerten ,...)


Ein Buch darüber ist mir nicht bekannt.

Liebe Grüße 

Jörg

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz