Hallo zusammen,
ich bastle gerade an einem Script zum Ermitteln der Pinbelegung an einem bestimmten Bauteil im Projekt.
Hintergrund: Ziel ist es zu erkennen, bei welchen Betriebsmitteln mit den Kennbuchstaben "V" der Anschlusspunkt X9:+ und X9:GND belegt ist, um zu ermitteln ob die DC Versorgung angeschlossen ist oder nicht.
Meine Probleme sind im Moment folgende:
1. Wie kann ich nach dem Kennbuchstaben V suchen? In meinem Code kann ich im Moment nur nach einem BMK suchen z.B. "-V1". Ich möchte aber nach allen Betriebsmitteln suchen, von V1 - V999. Hierzu konnte ich leider nichts finden.
2. Mit dev.GetPinIds kann werden alle Pins ausgegeben. Ich möchte aber nur Pins ausgeben, die auch angeschlossen sind. In der Hilfe habe ich den Befehl GetConnectedPinIds gefunden, der aber leider nicht vom Device Object unterstützt wird. Gibt es da eine Möglichkeit?
Hier der Code:
Code:
Dim Excel: Set Excel = CreateObject("Excel.Application")
Dim Dev: Set Dev = CreateObject("CT.Device")
Dim Cab: Set Cab = CreateObject("CT.Device")
Dim Prj: Set Prj = CreateObject("CT.Job")
Dim App: Set App = CreateObject("CT.Application")
Dim Pin: Set Pin = CreateObject("CT.Pin")
Dim Cor: Set Cor = CreateObject("CT.Pin")
Dim Comp: Set Comp = CreateObject("CT.Component") Excel.WorkBooks.Add
Excel.Visible = 1 'Nach diesem Befehl wird Excel sichtbar
'pin.GetConnectedPinIds pinIds
prj.GetAllDeviceIds devIds 'Alle Betriebsmittel in den Kontainer / Array laden
nzeile = 1
For i = 1 to UBound(devIds)
dev.SetId DevIds(i)
if dev.Getname = "-V1" then 'Nur Ausgeben bei Device mit -V1
dev.GetPinIds pinIds
For j = 1 to UBound(pinIds)
pin.SetId pinids(j) 'Setzt den jeweiligen Anschlusspunkt mit der id als aktiven Anschlusspunkt
if pin.GetAttributeValue (".CONNECTOR_NAME") = "X9" and (pin.GetName = "+" or pin.GetName = "GND") then
Excel.Cells(nzeile,2) = pin.GetName 'Ausgabe Anschlusspunktname in Spalte 2
'Excel.Cells(nzeile,3) = pin.GetSignalName 'Ausgabe am Anschlusspunkt anliegendes Signal in Spalte 3
Excel.Cells(nzeile,3) = pin.GetAttributeValue (".CONNECTOR_NAME") 'Ausgabe internes BMK Spalte 4
Excel.Cells(nzeile,4) = "DC Versorgung" 'Ausgabe Hinweis
nzeile = nzeile + 1
end if
Next
end if
nzeile = nzeile + 1
next
Excel.Columns.AutoFit 'Spaltenbreite automatisch anpassen
Set Comp = Nothing
Set Cor = Nothing
Set Pin = Nothing
Set App = Nothing
Set Prj = Nothing
Set Cab = Nothing
Set Dev = Nothing
Set Excel = Nothing
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP