реклама на сайте
подробности

 
 
> Таблица выводов земли и питания ?
Jul
сообщение Oct 24 2006, 02:49
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 15-12-04
Из: СПб
Пользователь №: 1 481



Символы (УГО) и схема созданы в PowerLogic. При этом стандартные земля и питание определены как Signal Pins, и на схеме эти пины не появятся. А по ГОСТу их надо показать, например, в виде таблицы.
Как это сделать ?
(Можно просто нарисовать таблицу и вписать ручками, но слишком велика вероятность ошибок, хочется это получить от PowerLogic)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 11)
sh007
сообщение Oct 24 2006, 12:26
Сообщение #2


Живой
***

Группа: Свой
Сообщений: 322
Регистрация: 28-08-04
Из: Москва
Пользователь №: 560



Я в DxDesigner для этих целей включаю видимость значения атрибутов "SIGNAL" (описывающих подключение выводов земли, питания). Оно не совсем то, о чём Вы спрашиваете, но частично проблему решает.
Go to the top of the page
 
+Quote Post
Jul
сообщение Nov 2 2006, 20:59
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 15-12-04
Из: СПб
Пользователь №: 1 481



Спасибо, не знаю, есть ли такая возможность в PowerLogic.
Если прописать выводы земли и питания в явном виде (т.е. если отказаться от Signal Pins), повысится вероятность ошибочного подключения этих выводов.
А можно ли получить репорт о Signal Pins ?
Go to the top of the page
 
+Quote Post
fill
сообщение Nov 7 2006, 12:33
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 4 361
Регистрация: 17-08-04
Из: КП Две Поляны
Пользователь №: 512



Цитата(Jul @ Oct 24 2006, 05:49) *
Символы (УГО) и схема созданы в PowerLogic. При этом стандартные земля и питание определены как Signal Pins, и на схеме эти пины не появятся. А по ГОСТу их надо показать, например, в виде таблицы.
Как это сделать ?
(Можно просто нарисовать таблицу и вписать ручками, но слишком велика вероятность ошибок, хочется это получить от PowerLogic)


В принципе можно написать макрос для этого.

Но можно поступить и просто:
-открыть файл нетлиста, в нем практически в самом начале расписана каждая цепь, например для схемы из примеров PREVIEW:
*NET*
*SIGNAL* GND
J1.1 J1.2 R5.2 Q1.3 C8.2
C9.2 C2.2 C3.2 C4.2 C5.2
C6.2 C7.2 C1.2 C10.2 D2.K
D1.K U1.14 U2.14 U4.8 U5.7
U7.10 U6.7 Y1.2 U3.8

*SIGNAL* +5V
R1.2 J1.26 R2.2 Q1.2 C9.1
C2.1 C3.1 C4.1 C5.1 C6.1
C7.1 C1.1 R7.1 C10.1 U1.28
U2.28 U4.16 U5.14 U7.20 U6.14
Y1.4 U3.16


Т.е практически таблица с номерами компонентов и выводов подключенных к земле и питанию. Нужно только скопировать это в файл и форматировать, затем разместить в схему.


--------------------
Чем больше познаю, тем больше понимаю ... насколько мало я все таки знаю.

www.megratec.ru
Go to the top of the page
 
+Quote Post
Jul
сообщение Nov 7 2006, 16:48
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 15-12-04
Из: СПб
Пользователь №: 1 481



Спасибо, Александр, но способ через нетлист совсем не годится.
Потому как сигнальные выводы микросхем, резисторы-конденсаторы на схеме подключаются в явном виде, и их указывать в таблице не надо.
А вот Signal Pins - т.е. стандартные выводы земли и питания - подключаются неявно, через назначение Edit_Electrical, на схеме они не появляются. Вот их-то и надо прописать в таблице. А в списке цепей я никаким образом не могу разделить контакты подключенные разными способами.
Подскажите, как выделить контакты, прописанные в Signal Pins ?
Go to the top of the page
 
+Quote Post
Fellow
сообщение Nov 8 2006, 10:47
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 29-06-05
Пользователь №: 6 404



Jul,

Вот скрипт, который находит сигнальные пины, но может формат отчета не совсем тот:

Dim signal As String
Sub Main
report = DefaultFilePath & "\report.rep"
Open report For Output As #1
Print #1, "Signal Pins for "; ActiveDocument; " on "; Date
sep = Chr(9)
item = 1
For Each comp In ActiveDocument.Components
For Each Pin In comp.Pins
signal = SigName(Pin)
If signal <> "" Then
Print #1, item;
Print #1, sep; Pin.Name;
Print #1, sep; comp.PartType;
Print #1, sep; signal;
Print #1
item = item + 1
End If
Next
Next
Close #1
Shell "notepad " & report, 1
End Sub

Function SigName (pin As Object) As String
Dim Gate As Object
Dim Net As Object
Dim Name As String
Name = ""
If Pin.Gate Is Nothing Then
If Pin.Net Is Nothing Then
Name = ""
Else
Name = Pin.Net.Name
End If
End If
SigName = Name
End Function
Go to the top of the page
 
+Quote Post
Fellow
сообщение Nov 8 2006, 11:34
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 29-06-05
Пользователь №: 6 404



З.Ы. Автоматизация не имеет метода для выдачи сигнальных пинов, но вот цепи определяет как для явно подключенных выводов, так и для Signal Pins. Остается отфильтровать выводы, попадающие в гейты. В итоге получаем, что вывод, не попавший в гейт, но принадлежащий цепи -- это и есть Signal Pin.

Вот отчет для тестовой схемы:

Signal Pins for previewchange.sch on 11/08/06
1 U1.14 87C256 GND
2 U1.28 87C256 +5V
3 U2.14 87C256 GND
4 U2.28 87C256 +5V
5 U3.8 AM100415 GND
6 U3.16 AM100415 +5V
7 U4.8 AM100415 GND
8 U4.16 AM100415 +5V
9 U5.7 CD4001B GND
10 U5.14 CD4001B +5V
11 U6.7 CD4069 GND
12 U6.14 CD4069 +5V
13 U7.10 PAL16R8 GND
14 U7.20 PAL16R8 +5V
15 Y1.2 24-576MHZ GND
16 Y1.4 24-576MHZ +5V

Сообщение отредактировал Fellow - Nov 8 2006, 11:35
Go to the top of the page
 
+Quote Post
Jul
сообщение Nov 9 2006, 03:48
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 15-12-04
Из: СПб
Пользователь №: 1 481



Спасибо, Fellow, именно это мне и нужно !!!
И формат вполне читаемый.
Go to the top of the page
 
+Quote Post
helge12
сообщение Nov 10 2006, 10:16
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 27-12-04
Пользователь №: 1 692



Jul попробуй вот этот скрипт.

'This script add SignalPins tab.
'It will create reports in Text format.
'For better look, turn off 'Word Wrap' item in the Edit menu of Notepad and use Courier or any other fixed width font.

'Arrays of column name and widths. You can modify them to rename, shrink, or expand columns
Const Columns = Array("Поз.", "Вывод", "Цепь")
Const Widths = Array( 8, 6, 6, 22)

Sub Main
fname = ActiveDocument
If fname = "" Then
fname = "Untitled"
End If
report = DefaultFilePath & "\" & "Part Report1.rep"
Open report For Output As #1
'Output report header
Print #1, "Part Report for "; fname
Print #1

StatusBarText = "Generating report..."
'Output table header
CurCol = 0
For i = 0 to UBound(Columns)
OutCell Columns(i)
Next
Print #1
'Output table rows
For Each part in ActiveDocument.Components
CurCol = 0
If GetSignalPins(part).Count = 0 Then GoTo LL
For Each aPin In GetSignalPins(part)
CurCol = 1
OutCell2 part.Name
OutCell1 aPin.Number
OutCell3 ObjName(aPin.Net)

Print #1
Next aPin
Print #1
Print #1
LL:
Next part

Print #1

StatusBarText = ""
Close #1
'Do not forget quotes for file name!
Shell "Notepad " & Chr(34) & report & Chr(34), 1
End Sub


'Returns collection of signal pins in the given part
Function GetSignalPins(obj As Object, Optional Sorted As Boolean = False)
Set GetSignalPins = ActiveDocument.GetObjects(0)
For Each aPin In obj.Pins
If aPin.Gate Is Nothing And Not aPin.Net Is Nothing Then
GetSignalPins.Add aPin
End If
Next
If Sorted Then GetSignalPins.Sort
End Function

'Pins are not sorted by default (performance issue), so sort them explicitly in report
Function GetSortedPins(obj As Object)
Set GetSortedPins = obj.Pins
GetSortedPins.Sort
End Function

Function ObjName (obj As Object)
ObjName = IIf(obj Is Nothing, "", obj)
End Function

Dim CurCol As Integer 'Current column index staring from 0

Sub OutCell (txt As String)
w = Widths(CurCol)
txt = Left(txt, w)
Print #1, txt; Space(w - Len(txt)); " | ";
CurCol = CurCol + 1
End Sub
Sub OutCell1 (txt As String)
w = Widths(CurCol)
txt = Left(txt, w)
Print #1, txt; Space(w - Len(txt)); "= ";
CurCol = CurCol + 1
End Sub
Sub OutCell2 (txt As String)
w = Widths(CurCol)
txt = Left(txt, w)
Print #1, txt; Space(w - Len(txt)); "( ";
CurCol = CurCol + 1
End Sub
Sub OutCell3 (txt As String)
w = Widths(CurCol)
txt = Left(txt, w)
Print #1, txt; Space(w - Len(txt)); " ) ";
CurCol = CurCol + 1
End Sub
Go to the top of the page
 
+Quote Post
Jul
сообщение Nov 11 2006, 19:51
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 15-12-04
Из: СПб
Пользователь №: 1 481



Спасибо, получается отлично !!!
Go to the top of the page
 
+Quote Post
etoja
сообщение Nov 28 2006, 12:45
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



В каком документе описано написание скриптов для PowerLogic?
Go to the top of the page
 
+Quote Post
Jul
сообщение Nov 28 2006, 21:35
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 15-12-04
Из: СПб
Пользователь №: 1 481



Только на родном английском -
Power Logic / Help / Search / Script / Sax Basic Editor On-line Help
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 06:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01461 секунд с 7
ELECTRONIX ©2004-2016