Podręcznik użytkownika
Prawa autorskie
This document is Copyright © 2010-2018 by its contributors as listed below. You may distribute it and/or modify it under the terms of either the GNU General Public License (http://www.gnu.org/licenses/gpl.html), version 3 or later, or the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0/), version 3.0 or later.
Wszystkie znaki towarowe użyte w tym dokumencie należą do ich właścicieli.
Współtwórcy
Jean-Pierre Charras, Fabrizio Tappero.
Tłumaczenie
Kerusey Karyu <keruseykaryu@o2.pl>, 2014-2015.
Kontakt
Wszelkie zauważone błędy, sugestie lub nowe wersje dotyczące tego dokumentu prosimy kierować do:
-
W sprawie dokumentacji: https://github.com/KiCad/kicad-doc/issues
-
W sprawie oprogramowania: https://bugs.launchpad.net/kicad
-
About KiCad translation: https://github.com/KiCad/kicad-i18n/issues
Data publikacji i wersja oprogramowania
Published on May 30, 2015.
1. Wprowadzenie do Eeschema
1.1. Opis
Eeschema is a schematic capture software distributed as a part of KiCad and available under the following operating systems:
-
Linux
-
Apple macOS
-
Windows
Niezależnie jaki system został użyty, generowane przez program pliki są w pełni kompatybilne pomiędzy systemami.
Eeschema to zintegrowane oprogramowanie gdzie wszystkie funkcje jakie oferuje: rysowanie, kontrola poprawności, zarządzanie bibliotekami i dostęp do oprogramowania do tworzenia PCB są dostępne z poziomu Eeschema.
Eeschema is intended to cooperate with PcbNew, which is KiCad’s printed circuit design software. It can also export netlist files, which lists all the electrical connections, for other packages.
Eeschema includes a symbol library editor, which can create and edit symbols and manage libraries. It also integrates the following additional but essential functions needed for modern schematic capture software:
-
Sprawdzanie poprawności projektu (DRC) dla zautomatyzowanego procesu kontroli poprawności połączeń, czy testowania niepołączonych wejść elementów.
-
Generowanie wydruków w różnych formatach (Postscript, PDF, HPGL oraz SVG).
-
Bill of Materials generation (via Python or XSLT scripts, which allow many flexible formats).
1.2. Opis techniczny
Eeschema is limited only by the available memory. There is thus no real limitation to the number of components, component pins, connections or sheets. In the case of multi-sheet diagrams, the representation is hierarchical.
Eeschema can use multi-sheet diagrams in a few ways:
-
Hierarchii prostych (każdy schemat jest użyty tylko jeden raz),
-
Hierarchii złożonych (niektóre ze schematów są użyte wielokrotnie),
-
Hierarchii płaskich (niektóre schematy nie są wyraźnie połączone na głównym schemacie).
2. Podstawowe polecenia
Commands can be executed by:
-
Kliknięcia w pasek menu (na górze ekranu).
-
Kliknięcia w pasek ikon na górze ekranu (podstawowe polecenia).
-
Kliknięcie w pasek ikon po prawej stronie ekranu (podstawowe polecenia lub "narzędzia").
-
Kliknięcia w pasek ikon z lewej strony ekranu (opcje wyświetlania).
-
Kliknięcia za pomocą klawisza myszy (najważniejsze polecenia). W praktyce kliknięcie prawym klawiszem otwiera menu kontekstowe, zależne od tego jaki element znajduje się na pozycji kursora (powiększenie, siatka oraz edycja elementów).
-
Function keys (F1, F2, F3, F4, Insert and Space keys). Specifically: Escape key cancels the command in progress. Insert key allows the duplication of the last element created.
-
Pressing hot keys which typically perform a select tool command and begin tool action at the current cursor location. For a list of hot keys, see the "Help→List Hotkeys" menu entry or press ? key.

2.1. Polecenia związane z myszą
2.1.1. Podstawowe polecenia
Lewy klawisz
-
Pojedynczy klik: pokazuje dane charakterystyczne elementu lub tekstu znajdującego się pod kursorem w pasku statusu.
-
Podwójny klik: edycja (jeśli element można edytować) tego elementu lub tekstu.
Prawy klawisz
-
Otwarcie menu kontekstowego.
2.1.2. Block operations
Można przesuwać, przeciągać, kopiować oraz usuwać wybrane obszary w każdym z menu Eeschema.
Areas are selected by drawing a box around items using the left mouse button.
Holding "Shift", "Ctrl", or "Shift + Ctrl" during selection respectively performs copying, dragging and deletion:
Lewy przycisk myszy |
Przesunięcie zaznaczenia. |
Shift + Lewy przycisk myszy |
Skopiowanie zaznaczenia. |
Ctrl + Lewy przycisk myszy |
Przeciąganie zaznaczenia. |
Ctrl + Shift + Lewy przycisk myszy |
Usunięcie zaznaczenia. |
Podczas przeciągania lub kopiowania można:
-
Kliknąć ponownie by umieścić elementy.
-
Click the right button or press Escape key to cancel.
If a block move command has started, another command can be selected using the right-click pop-up menu.

2.2. Hotkeys
-
Klawisz "?" pokazuje bieżącą listę klawiszy skrótów.
-
Hotkeys might be redefined in Controls tab of Schematic Editor Options dialog (menu Preferences → General Options).
Here is the default hotkey list:
Help (this window) |
? |
Zoom In |
F1 |
Zoom Out |
F2 |
Zoom Redraw |
F3 |
Zoom Center |
F4 |
Fit on Screen |
Home |
Zoom to Selection |
@ |
Reset Local Coordinates |
Space |
Edit Item |
E |
Delete Item |
Del |
Rotate Item |
R |
Drag Item |
G |
Undo |
Ctrl+Z |
Redo |
Ctrl+Y |
Mouse Left Click |
Return |
Mouse Left Double Click |
End |
Save Schematic |
Ctrl+S |
Load Schematic |
Ctrl+L |
Find Item |
Ctrl+F |
Find Next Item |
F5 |
Find Next DRC Marker |
Shift+F5 |
Find and Replace |
Ctrl+Alt+F |
Repeat Last Item |
Ins |
Move Block → Drag Block |
Tab |
Copy Block |
Ctrl+C |
Paste Block |
Ctrl+V |
Cut Block |
Ctrl+X |
Move Schematic Item |
M |
Duplicate Symbol or Label |
C |
Add Symbol |
A |
Add Power |
P |
Mirror X |
X |
Mirror Y |
Y |
Orient Normal Component |
N |
Edit Symbol Value |
V |
Edit Symbol Reference |
U |
Edit Symbol Footprint |
F |
Edit with Symbol Editor |
Ctrl+E |
Begin Wire |
W |
Begin Bus |
B |
End Line Wire Bus |
K |
Add Label |
L |
Add Hierarchical Label |
H |
Add Global Label |
Ctrl+L |
Add Junction |
J |
Add No Connect Flag |
Q |
Add Sheet |
S |
Add Wire Entry |
Z |
Add Bus Entry |
/ |
Add Graphic PolyLine |
I |
Add Graphic Text |
T |
Update PCB from Schematic |
F8 |
Autoplace Fields |
O |
Leave Sheet |
Alt+BkSp |
Delete Node |
BkSp |
Highlight Connection |
Ctrl+X |
All hotkeys can be redefined using the hotkey editor (menu Preferences→General Options→Controls).
It is possible to import/export hotkey settings using menu Preferences→Import and Export→Import/Export Hotkeys.
2.3. Grid
In Eeschema the cursor always moves over a grid. The grid can be customized:
-
Size might be changed using the pop-up menu or using the Preferences/Options menu.
-
Color might be changed in Colors tab of the Schematic Editor Options dialog (menu Preferences → General Options).
-
Visibility might be switched using the left-hand toolbar button.
Domyślnym rozmiarem siatki jest 50 milsów (0,050 cala) lub inaczej 1,27 milimetrów.
This is the preferred grid to place components and wires in a schematic, and to place pins when designing a symbol in the Symbol Editor.
One can also work with a smaller grid from 25 mil to 10 mil. This is only intended for designing the symbol body or placing text and comments and not recommended for placing pins and wires.
2.4. Wybór powiększenia - Zoom
By zmienić powiększenie (Zoom):
-
Należy kliknąć prawym klawiszem by otworzyć menu kontekstowe i wybrać potrzebne powiększenie.
-
Lub użyć klawiszy funkcyjnych:
-
F1: Przybliżanie
-
F2: Oddalanie
-
F4 lub kliknięcie klawisza centralnego myszy (bez jej przesuwania): Centrowanie wokół kursora
-
-
Powiększanie widoku:
-
Kółko myszy: Przybliżanie/Oddalanie
-
SHIFT+Kółko myszy: Przesuwanie widoku góra/dół
-
CTRL+Kółko myszy: Przesuwanie widoku lewo/prawo
-
2.5. Wyświetlanie pozycji kursora
The display units are in inches or millimeters. However, Eeschema always uses 0.001 inch (mil/thou) as its internal unit.
Informacje wyświetlane na dole okna od prawej strony są następujące:
-
Poziom powiększenia
-
Pozycja absolutna kursora
-
Względna pozycja kursora
The relative coordinates can be reset to zero by pressing Space. This is useful for measuring distance between two points or aligning objects.

2.6. Pasek menu
The top menu bar allows the opening and saving of schematics, program configuration and viewing the documentation.

2.7. Górny pasek narzędzi
Ten pasek umożliwia dostęp do głównych funkcji programu Eeschema.
Gdy Eeschema jest uruchomiony jako samodzielna aplickacja, pasek narzędzi wygląda następująco:

Note that when KiCad runs in project mode, the first two icons are not available as they work with individual files.
|
Create a new schematic (only in standalone mode). |
|
Otwarcie schematu (tylko w trybie samodzielnym). |
|
Save complete schematic project. |
|
Wybiera rozmiar arkusza oraz pozwala na edycję tabelki tytułowej. |
|
Open print dialog. |
|
Paste a copied/cut item or block to the current sheet. |
|
Undo: Revert the last change. |
|
Redo: Revert the last undo operation. |
|
Show the dialog to search components and texts in the schematic. |
|
Show the dialog to search and replace texts in the schematic. |
|
Przerysowanie widoku; Dopasowywanie powiększcznia do okna. |
|
Dostosowywanie powiększenia. |
|
Podgląd i nawigacja w drzewie hierarchii. |
|
Opuszcza bieżący arkusz podrzędny i wraca do arkusza nadrzędnego. |
|
Call the symbol library editor to view and modify libraries and component symbols. |
|
Browse symbol libraries. |
|
Annotate symbols. |
|
Electrical Rules Checker (ERC), automatically validate electrical connections. |
|
Call CvPcb to assign footprints to symbols. |
|
Export a netlist (Pcbnew, SPICE and other formats). |
|
Edit symbol fields. |
|
Generate the Bill of Materials (BOM). |
|
Wywołanie programu Pcbnew, służącego do tworzenia obwodów drukowanych. |
|
Back-import footprint assignment (selected using CvPcb or Pcbnew) into the "footprint" fields. |
2.8. Prawy pasek narzędzi
Ten pasek zawiera narzędza do:
-
Place symbols, wires, buses, junctions, labels, text, etc.
-
Create hierarchical subsheets and connection symbols.
|
Cancel the active command or tool. |
|
Highlight a net by marking its wires and net labels with a different color. If KiCad runs in project mode then copper corresponding to the selected net will be highlighted in Pcbnew as well. |
|
Display the symbol selector dialog to select a new symbol to be placed. |
|
Display the power symbol selector dialog to select a power symbol to be placed. |
|
Narzędzie do rysowania połączeń. |
|
Narzędzie do rysowania magistral. |
|
Stawianie wejść połączeń do magistrali. Elementy te spełniają rolę dekoracyjną i nie pozwalają na połączenia; dlatego nie powinny być używane do łączenia połączeń. |
|
Narzędzie do umieszczania wejść magistrali do innej magistrali. |
|
Place a "No Connect" flag. These flags should be placed on symbol pins which are meant to be left unconnected. It is done to notify the Electrical Rules Checker that lack of connection for a particular pin is intentional and should not be reported. |
|
Place a junction. This connects two crossing wires or a wire and a pin, when it can be ambiguous (i.e. if a wire end or a pin is not directly connected to another wire end). |
|
Place a local label. Local label connects items located in the same sheet. For connections between two different sheets, you have to use global or hierarchical labels. |
|
Place a global label. All global labels with the same name are connected, even when located on different sheets. |
|
Place a hierarchical label. Hierarchical labels are used to create a connection between a subsheet and the parent sheet that contains it. |
|
Stawianie symboli hierarchicznych schematów podrzędnych. Trzeba określić nazwę pliku dla takich arkuszy podrzędnych. |
|
Import a hierarchical pin from a subsheet. This command can be executed only on hierarchical subsheets. It will create hierarchical pins corresponding to hierarchical labels placed in the target subsheet. |
|
Place a hierarchical pin in a subsheet. This command can be executed only on hierarchical subsheets. It will create arbitrary hierarchical pins, even if they do not exist in the target subsheet. |
|
Rysowanie linii graficznych. Linie te są tylko dekoracją i nie tworzą one połączeń. |
|
Place a text comment. |
|
Wstawienie obrazu z mapy bitowej. |
|
Usunięcie wybranego symbolu lub innego elementu na schemacie. |
2.9. Lewy pasek narzędzi
Ten pasek narzędzi zarządza opcjami wyświetlania:
|
Toggle grid visibility. |
|
Switch units to inches. |
|
Switch units to millimeters. |
|
Choose the cursor shape (full screen/small). |
|
Toggle visibility of "invisible" pins. |
|
Toggle free angle/90 degrees wires and buses placement. |
2.10. Menu kontekstowe i szybka edycja komponentów
Kliknięcie prawym klawiszem otwiera menu kontekstowe dla wybranego elementu. Zawiera ono:
-
Rozmiar powiększenia.
-
Ustawienie siatki.
-
Główne opcje edycujne dla wybranego elementu.
Menu podręczne bez wybranego elementu.

Editing a label.

Editing a symbol.

3. Menu główne
3.1. Menu Plik

New |
Close current schematic and start a new one (only in standalone mode). |
Open |
Load a schematic project (only in standalone mode). |
Open Recent |
Open a schematic project from the list of recently opened files (only in standalone mode). |
Append Schematic Sheet |
Insert the contents of another sheet into the current one. |
Import Non-Kicad Schematic File |
Imports a schematic project saved in another file format. |
Save |
Save current sheet and all its subsheets. |
Save Current Sheet |
Save only the current sheet, but not others in the project. |
Save Current Sheet As… |
Save the current sheet under a new name. |
Ustawienia strony |
Konfiguruje ustawienia arkusza oraz tabelki tytułowej |
Print schematic project (See also chapter Plot and Print). |
|
Rysuj |
Rysuje schemat w formacie Postscript, HPGL lub SVF (Zobacz też Rysowanie i drukowanie). |
Close |
Terminate the application. |
3.2. Menu ustawień

Manage Symbol Library Tables |
Add/remove symbol libraries. |
Configure Paths |
Set the default search paths. |
General Options |
Preferences (units, grid size, field names, etc.). |
Set Language |
Select interface language. |
Icons Options |
Icons visibility settings. |
Import and Export |
Transfer preferences to/from file. |
3.2.1. Manage Symbol Library Tables

Eeschema uses two library tables to store the list of available symbol libraries, which differ by the scope:
-
Global Libraries
Libraries listed in the Global Libraries table are available to every project. They are saved in sym-lib-table in your home directory (exact path is dependent on the operating system; check the path above the table).
-
Project Specific Libraries
Libraries listed in Project Specific Libraries table are available to the currently opened project. They are saved in sym-lib-table file in the project directory (check the path above the table).
You can view either list by clicking on "Global Libraries" or "Project Specific Libraries" tab below the library table.
Add a new library
Add a library either by clicking Browse Libraries… button and selecting a file or clicking "Append Library" and typing a path to a library file. The selected library will be added to the currently opened library table (Global/Project Specific).
Remove a library
Remove a library by selecting one or more libraries and clicking Remove Library button.
Library properties
Each row in the table stores several fields describing a library:
Active |
Enables/disables the library. It is useful to temporarily reduce the loaded library set. |
Nickname |
Nickname is a short, unique identifier used for assigning symbols to components. Symbols are represented by <Library Nickname>:<Symbol Name> strings. |
Library Path |
Path points to the library location. |
Plugin Type |
Determines the library file format. |
Options |
Stores library specific options, if used by plugin. |
Description |
Briefly characterizes the library contents. |
3.2.2. General Options
Display

Grid Size |
Grid size selection. It is recommended to work with normal grid (0.050 inches or 1,27 mm). Smaller grids are used for component building. |
Bus thickness |
Pen size used to draw buses. |
Line thickness |
Pen size used to draw objects that do not have a specified pen size. |
Part ID notation |
Style of suffix that is used to denote symbol units (U1A, U1.A, U1-1, etc.) |
Icon scale |
Adjust toolbar icons size. |
Show Grid |
Grid visibility setting. |
Restrict buses and wires to H and V orientation |
If checked, buses and wires are drawn only with vertical or horizontal lines. Otherwise buses and wires can be placed at any orientation. |
Show hidden pins: |
Display invisible (or hidden) pins, typically power pins. |
Pokaż granice strony |
Jeśli zaznaczone, pokazuje granice strony na ekranie. |
Footprint previews in symbol chooser |
Displays a footprint preview frame and footprint selector when placing a new symbol. Note: it may cause problems or delays, use at your own risk. |
Editing

Measurement units |
Select the display and the cursor coordinate units (inches or millimeters). |
Horizontal pitch of repeated items |
Increment on X axis during element duplication (default: 0) (after placing an item like a symbol, label or wire, a duplication is made by the Insert key) |
Vertical pitch of repeated items |
Increment on Y axis during element duplication (default: 0.100 inches or 2,54 mm). |
Increment of repeated labels |
Increment of label value during duplication of texts ending in a number, such as bus members (usual value 1 or -1). |
Default text size |
Text size used when creating new text items or labels. |
Auto-save time interval |
Time in minutes between saving backups. |
Automatically place symbol fields |
If checked, symbol fields (e.g. value and reference) in newly placed symbols might be moved to avoid collisions with other items. |
Allow field autoplace to change justification |
Extension of Automatically place symbol fields option. Enable text justification adjustment for symbol fields when placing a new part. |
Always align autoplaced fields to the 50 mil grid |
Extension of Automatically place symbol fields option. If checked, fields are autoplaced using 50 mils grid, otherwise they are placed freely. |
Controls
Redefine hotkeys and set up the user interface behavior.

Select a new hotkey by double clicking an action or right click on an action to show a popup menu:
Edit |
Define a new hotkey for the action (same as double click). |
Undo Changes |
Reverts the recent hotkey changes for the action. |
Restore Default |
Sets the action hotkey to its default value. |
Undo All Changes |
Reverts all recent hotkey changes for the action. |
Restore All to Default |
Sets all action hotkeys to their default values. |
Options description:
Center and warp cursor on zoom |
If checked, the pointed location is warped to the screen center when zooming in/out. |
Use touchpad to pan |
When enabled, view is panned using scroll wheels (or touchpad gestures) and to zoom one needs to hold Ctrl. Otherwise scroll wheels zoom in/out and Ctrl/Shift are the panning modifiers. |
Pan while moving object |
If checked, automatically pans the window if the cursor leaves the window during drawing or moving. |
Colors
Color scheme for various graphic elements. Click on any of the color swatches to select a new color for a particular element.

Default Fields
Define additional custom fields and corresponding values that will appear in newly placed symbols.

3.3. Menu Pomoc
Access to on-line help (this document) for an extensive tutorial about KiCad.
Use “Copy Version Information” when submitting bug reports to identify your build and system.
4. Główny pasek narzędziowy
4.1. Zarządzanie ustawieniami arkuszy/stron
Narzędzie "Ustawienia strony" ukryte pod ikoną
pozwala na
zdefiniowanie rozmiaru arkusza oraz zawartości tabelki w prawym dolnym rogu.

Numeracja arkuszy jest odświeżana automatycznie. Można ustawić datę na datę bieżącą klikając na przycisk ze strzałką, lecz data ta nie będzie się zmieniała automatycznie.
4.2. Opcje edytora schematów
4.3. Znajdź oraz Znajdź i zamień
Ikona
pozwala na dostęp do narzędzia
do wyszukiwania.

Za jego pomocą można wyszukać na schemacie nazwy umieszczonych tam komponentów, jego wartość lub dowolny tekst jaki znajduje się na bieżącym schemacie czy w całej jego hierarchii. Po odnalezieniu jednego z w/w elementów kursor przeskakuje do miejsca jego umieszczenia.
4.4. Narzędzie Listy sieci
Należy wybrać narzędzie dostępne spod ikony
by otworzyć okno dialogowe
tworzenia listy sieci.
Plik z listą sieci tworzy opis wszystkich połączeń w całej hierarchii schematów.
W hierarchii, dowolna zwykła etykieta jest widoczna tylko dla arkusza do którego należy. Dlatego etykieta TOTO z arkusza 3 różni się od etykiety TOTO z arkusza 5 (jeśli ich połączenie nie było celowo wprowadzone). Wynika to z faktu, że numer arkusza jest powiązany z lokalną etykietą.
Uwaga 1:
Długość etykiet nie jest ograniczana przez Eeschema, lecz oprogramowanie eksportujące netlisty może tą długość ograniczać.
Uwaga 2:
Unikaj spacji w nazwach etykiet, bo zostaną one zinterpretowane jako dwa różne słowa. Nie jest to ograniczenie narzucane przez Eeschema, lecz wiele z formatów list sieci nie dopuszcza do ich stosowania.

Opcje:
Format domyślny:
Zaznacz tą opcję jeśli wybrać ten format listy sieci jako domyślny dla nowo tworzonych list sieci.
Można też wygenerować netlistę w innych formatach:
-
Orcad PCB2
-
CadStar
-
Spice, dla symulatora Spice.
Za pomocą zewnętrznych wtyczek można uruchamiać konwersje do innych formatów (Tu dodano wtyczkę PADSPCB).
4.5. Numeracja komponentów
Ikona
pozwala na użycie
narzędzia automatycznego numerowania komponentów. Narzędzie to wykonuje
automatyczną numerację dla wszystkich komponenentów na schemacie.
Dla komponentów, które składają się z kilku części (jak na przykład 7400 TTL który posiada 4 takie same 4 bramki), przyrostek oznaczający poszczególne części także będzie zachowany (w przypadku 7400 TTL przypisana nazwa U3 będzie podzielona na U3A, U3B, U3C oraz U3D).
Można bezwarunkowo ponumerować wszystkie elementy, bądź tylko te, które są nowe na schemacie, tzn. takie, które dotychczas nie zostały jeszcze ponumerowane.

Zakres
-
Użyj całego schematu. Wszystkie arkusze zostaną poddane numeracji (opcja najczęściej używana).
-
Użyj tylko bieżącej strony. Tylko bieżąca strona zostanie poddana numeracji (opcja ta jest używana tylko w szczególnych przypadkach, na przykład do oceny ilości rezystorów w bieżącym arkuszu).
-
Pozostaw bieżącą numerację. Numeracja warunkowa, tylko nowe elementy na schemacie zostaną ponumerowana ponownie (opcja najczęściej używana).
-
Resetuj bieżącą numerację Numeracja bezwarunkowa, wszystkie elementy składowe schematu zostaną ponumerowane (opcja ta przydatna jest po wykonaniu operacji kopiowania bloku, po której to mogą pojawić się zdublowane elementy).
-
Resetuj, ale nie zamieniaj żadnego z numerowanych elementów wieloczęściowych. To zachowuje razem wszystkie grupy elementów wieloczęściowych (np. U2A, U2B) podczas tego procesu.
Porządek numeracji
Wybiera kierunek w jakim poruszać się będzie numeracja komponentów.
Wybór numeracji
Wybiera metodę w jaki sposób będą wybierane numery elementów.
4.6. Kontrola reguł projektowych - ERC
Ikona
pozwala na dostęp do narzędzia
sprawdzania reguł projektowych schematu (zwanego ERC).
Funkcja ta generalnie służy do wykrywania złych lub nieistniejących połączeń lub innych niespójności schematu.
Eeschema po przeprowadzeniu testu ERC umieszcza na schemacie znaczniki w okolicy wyprowadzeń lub etykiet by wskazać miejsce wykrytego problemu. Opis problemu może zostać wyświetlony klikając lewym klawiszem myszy na znaczniku ERC. Można także wygenerować plik z listą błędów do dalszej analizy zaznaczając odpowiednią opcję.
4.6.1. Główne okno narzędzia ERC

Podsumowanie ilości błędów lub ostrzeżeń jest wyświetlane w oknie dialogowym:
-
Ogółem błędów - to całkowita liczba znalezionych nieprawidłowości.
-
Liczba błędów - to liczba wykrytych błędów.
-
Ogółem ostrzeżeń - to liczba wykrytych ostrzeżeń.
Opcje:
-
Utwórz plik raportu: Jeśli chcemy dodatkowo wygenerować plik z listą błędów należy zaznaczyć tą opcję.
Polecenia:
-
Usuń znaczniki: usuwa znaczniki błędów po poprzednim testowaniu.
-
Test ERC: rozpoczyna proces sprawdzenia ERC.
-
Zamknij : zamyka okno.
Uwaga:
-
Gdy kliknie się w komunikat o błędzie na liście, kursor przeskakuje do miejsca gdzie znajduje się znacznik tego błędu.
4.6.2. Opcje sprawdzania ERC

Ta zakładka pozwala na określenie, jaki błąd powinien zostać wygenerowany po zestawieniu ze sobą dwóch typów wyprowadzeń. Można wybrać jedną z 3 opcji zgłoszenia dla danego przypadku:
-
Brak błędu
-
Ostrzeżenie
-
Błąd
Każde pole na matrycy błędów i ostrzeżeń może być zmienione klikając w nie. Zmiany są wykonywane cykliczne. W każdej chwili można przywrócić ustawienia domyślne za pomocą przycisku Resetuj.
4.7. Lista materiałowa - BOM
Ikona
prowadzi do narzędzia, które
pozwala na wygenerowanie pliku z listą elementów i/lub ich połączeniami w
hierarchii (za pomocą etykiet globalnych).

Generator list materiałowych w Eeschema pozwala na użycie zewnętrznych wtyczek, zwykle XLST lub Python. Niektóre z wtczek są dołączane do programu KiCad wewnątrz folderu z plikami wykonywanlnymi.
Przydatny zestaw właściwości elementów używany zwykle do tworzenia list materiałowych to:
-
Wartość - unikalna nazwa dla każdego z użytych elementów,
-
Obudowa - zarówno wpisany ręcznie lub za pomocą numeracji wstecznej (zobacz następny punkt),
-
Pole1 - nazwa producenta,
-
Pole2 - nazwa elementu według producenta,
-
Pole3 - nazwa elementu według jego dystrybutora.
Przykładowo:

On MS Windows operating systems, BOM generator dialog has special option
(pointed by red arrow) that controls visibility of external plugin window.
By default, command line runs with hidden console window and output is
redirected to Plugin info field. Set this option to show the window of
the running command. It may be necessary if plugin has GUI.

4.8. Narzędzie importu dla numeracji wstecznej
4.8.1. Dostęp:
Ikona
pozwala na dostęp do narzędzia numeracji wstecznej.
Narzędzie to pozwala na uaktualnienie danych o footprintach, które zostały zmienione w programie Pcbnew, z powrotem do schematu, tak by nie było rozbieżności pomiędzy oboma dokumetami.
5. Tworzenie i edycja schematu
5.1. Wprowadzenie
Schemat może zostać przedstawiony na jednym arkuszu, ale głównie będzie to jednak wymagać kilku arkuszy.
Schemat prezentowany na kilku arkuszach jest zwany schematem hierarchicznym, a wszystkie te arkusze (każdy reprezentowany przez własny plik) stanowi dla Eeschema projekt. Operacje na arkuszach hierarchicznych będą opisane w rozdziale Schematy hierarchiczne.
5.2. Uwagi ogólne
Schemat zaprojektowany za pomocą Eeschema jest czymś więcej niż tylko prostą reprezentacją graficzną urządzenia elektronicznego. Zwykle jest punktem wyjścia dla łańcucha rozwoju, który umożliwia:
-
Walidację za pomocą zbioru reguł (ERC) by wykryć proste błędy oraz braki na schemacie.
-
Automatyczne wygenerowanie listy materiałowej (BOM).
-
Generowanie listy sieci dla oprogramowania do symulacji, takiego jak PSpice.
-
Generowanie listy sieci dla oprogramowania do projektowania obwodów drukowanych PCB.
A schematic mainly consists of symbols, wires, labels, junctions, buses and power ports. For clarity in the schematic, you can place purely graphical elements like bus entries, comments, and polylines.
5.3. Proces tworzenia

Symbols are added to the schematic from symbol libraries. After the schematic is made, a netlist is generated, which is later used to import the set of connections and footprints into PcbNew.
5.4. Symbol placement and editing
5.4.1. Find and place a symbol
To load a symbol into your schematic you can use the icon
. A dialog box allows
you to type the name of the symbol to load.

The Choose Symbols dialog will filter symbols by name, keywords, and description according to what you type into the search field. Advanced filters can be used just by typing them:
-
Wildcards: use the characters ? and * respectively to mean "any character" and "any number of characters".
-
Relational: if a library part’s description or keywords contain a tag of the format "Key:123", you can match relative to that by typing "Key>123" (greater than), "Key<123" (less than), etc. Numbers may include one of the following case-insensitive suffixes:
|=== | p | n | u | m | k | meg | g | t | 10-12 | 10-9 | 10-6 | 10-3 | 103 | 106 | 109 | 1012 |===
|=== | ki | mi | gi | ti | 210 | 220 | 230 | 240 |===
-
Regular expression: if you’re familiar with regular expressions, these can be used too. The regular expression flavor used is the wxWidgets Advanced Regular Expression style, which is similar to Perl regular expressions.
Before placing the symbol in the schematic, you can rotate it, mirror it, and edit its fields, by either using the hotkeys or the right-click context menu. This can be done the same way after placement.
Here is a symbol during placement:

5.4.2. Porty zasilania
A power port symbol is a symbol (the symbols are grouped in the “power”
library), so they can be placed using the symbol chooser. However, as power
placements are frequent, the
tool is available. This tool is similar, except that the search is
done directly in the “power” library.
5.4.3. Symbol Editing and Modification (already placed component)
There are two ways to edit a symbol:
-
Modification of the symbol itself: position, orientation, unit selection on a multi-unit symbol.
-
Modification of one of the fields of the symbol: reference, value, footprint, etc.
When a symbol has just been placed, you may have to modify its value (particularly for resistors, capacitors, etc.), but it is useless to assign to it a reference number right away, or to select the unit (except for components with locked units, which you have to assign manually). This can be done automatically by the annotation function.
Symbol modification
To modify some feature of a symbol, position the cursor on the symbol, and then either:
-
Double-click on the symbol to open the full editing dialog.
-
Kliknąć prawym przyciskiem myszy, aby otworzyć menu podręczne, i użyć jednego z wyświetlonych poleceń: Przesuń, Zorientuj, Edytuj, Usuń, itp.
Modyfikacja pól tekstowych elementów
Można dokonać modyfikacji oznaczeń, wartości, pozycji, orientacji, rozmiaru i widoczności pól:
-
Kliknąć dwukrotnie na pole tekstowe aby go zmienić.
-
Kliknąć prawym przyciskiem myszy, aby otworzyć menu podręczne, i użyć jednego z wyświetlonych poleceń: Przesuń, Zorientuj, Edytuj, Usuń, itp.
For more options, or in order to create fields, double-click on the symbol to open the Symbol Properties dialog.

Each field can be visible or hidden, and displayed horizontally or vertically. The displayed position is always indicated for a normally displayed symbol (no rotation or mirroring) and is relative to the anchor point of the symbol.
The option “Reset to Library Defaults” sets the symbol to the original orientation, and resets the options, size and position of each field. However, texts fields are not modified because this could break the schematic.
5.5. Połączenia, Magistrale, Etykiety i Symbole zasilania
5.5.1. Wprowadzenie
Wszystkie te elementy rysunkowe mogą zostać umieszczone na schemacie za pomocą narzędzi z prawego pionowego paska narzędziowego.
Te elementy to:
-
Wires: most connections between symbols.
-
Magistrale: do łączenia sygnałów w magistrale.
-
Linie łamane: dla graficznych prezentacji.
-
Węzły: by wymusić połączenia pomiędzy przecinającymi się połączeniami lub magistralami.
-
Wejścia magistral: by pokazać, że dane połączenie wchodzi w skład magistrali. Jest to tylko element graficzny!
-
Etykiety: do nadawania nazw połączeniom w aktywnym arkuszu.
-
Etykiety globalne: do połączeń pomiędzy arkuszami.
-
Teksty do umieszczania komentarzy lub adnotacji.
-
Symbol "Nie połączone" by wskazać pin, który nie wymaga żadnego połączenia.
-
Arkusze hierarchiczne, oraz ich wyprowadzenia.
5.5.2. Połączenia (Łącza i etykiety)
Są dwie możliwości tworzenia połączeń:
-
Połączenia bezpośrednie pomiędzy wyprowadzeniami.
-
Połączenia z pomocą etykiet.
Poniższy obrazek pokazuje obie te metody:

Uwaga 1:
Punktem "kontaktu" (lub podpięcia) etykiet to dolny lewy narożnik pierwszej litery z lewej strony. Punkt ten jest wyróżniony małym prostokątem gdy nie ma połączenia.
Aby etykieta była brana pod uwagę, punkt ten musi być w kontakcie z połączeniem lub nakładać się na styku połączenia z wyprowadzeniem.
Uwaga 2:
By nawiązać połączenie, jeden z segmentów połączenia musi być dołączony swoim końcem do innego zakończenia segmentu lub do punktu aktywnego u wyprowadzenia elementu.
Jeśli połączenie się nakłada na wyprowadzenie (gdy połączenie przechodzi przez wyprowadzenie ale nie trafia w jego punkt aktywny), wtedy takie połączenie nie jest prawidłowym połączeniem.
Uwaga 3:
Połączenia przecinające się nie są domyślnie łączone. W takich przypadkach konieczne jest manualne połączenie ich za pomocą węzła.
Poprzedni rysunek (połączenia doprowadzone do szpilek 22, 21, 20, 19 złącza DB25FEMALE) ukazuje taki przypadek połączeń za pomocą węzła.
Uwaga 4:
Jeśli dwie różne etykiety są umieszczone na tym samym połączeniu, zostają one połączone ze sobą i stają się równoważne: wszystkie inne elementy związane z jedną lub drugą etykietą zostają połączone razem.
5.5.3. Połączenia - Magistrale
Na poniższym schemacie, wiele pinów jest połączonych z magistralami.

Składniki magistral
Z punktu widzenia schematu, magistrala jest zbiorem sygnałów, począwszy od wspólnego prefiksu, a skończywszy na liczbie. Przykładowo, PCA0, PCA1, PCA2 są członkami magistrali PCA.
Cała magistrala jest zwana PCA[N…m], gdzie N i m to pierwszy i ostatni numer połączenia tej magistrali. Zatem, jeśli PCA posiada 20-tu członków od 0 do 19, kompletna magistrala to PCA [0…19]. Ale zbiór sygnałów, takich jak PCA0, PCA1, PCA2, WRITE, READ nie może być zawarty w magistrali.
Połączenia pomiędzy składnikami magistral
Wyprowadzenia między tymi samymi członkami magistrali muszą być połączone poprzez etykiety. Nie jest możliwe bezpośrednie połączenie pinu z magistralą; ponieważ takie połączenia będą ignorowane przez Eeschema.
W powyższym przykładzie, połączenia wykonane są za pomocą etykiet umieszczonych na połączeniach podłączonych do wyprowadzeń. Połączenia poprzez wejścia do magistral (odcinki połączeń pod kątem 45 stopni) mają wyłącznie wartość estetyczną, i nie są konieczne na poziomie czystego schematu.
W rzeczywistości, ze względu na polecenie powtórzenia (klawisz Insert), połączenia mogą być bardzo szybko wykonane tym sposobem, jeśli wyprowadzenia elementu są ustawione w porządku rosnącym (częsty przypadek w praktyce, na przykład w pamięciach, procesorach…):
-
Najpierw należy umieścić pierwszą etykietę (np. PCA0)
-
Użyć polecenia powtórzenia tyle razy ile potrzeba, aby umieścić kolejne etykiety. Eeschema automatycznie utworzy następne etykiety (PCA1, PCA2 …) pionowo, teoretycznie w miejscu innych wyprowadzeń.
-
Narysować połączenie pod pierwszą z etykiet. Następnie użyć polecenia powtarzania umieszczając dalsze połączenia pod etykietami.
-
W razie potrzeby umieścić wejścia do magistrali w ten sam sposób (Umieścić pierwsze wejście, a następnie użyć polecenia powtarzania).
Zapamiętaj
|
W menu Ustawienia/Opcje edytora schematów, można ustalić parametry powtarzania:
|
Globalne połączenia pomiędzy magistralami
Konieczne może być też połączenie pomiędzy magistralami, w celu połączenia dwóch magistral o różnych nazwach, lub w przypadku hierarchii, do tworzenia połączeń między różnymi arkuszami. Można dokonać tych połączeń w następujący sposób:

Magistrale PCA [0..15], ADR [0..7] oraz BUS [5..10] są ze sobą połączone (Należy zwrócić uwagę na węzeł, ponieważ segment pionowej magistrali łączy się w środku poziomego segmenty magistrali).
Dokładniej, odpowiedni członkowie każdej z magistral są ze sobą złączeni: PCA0, ADR0 są połączone (tak samo jak PCA1 i ADR1 … PCA7 i ADR7).
Ponadto PCA5, BUS5 i ADR5 są podłączone (tak jak PCA6, BUS6 i ADR6 jak PCA7, BUS7 i ADR7).
A także PCA8 i BUS8 są podłączone (podobnie jak PCA9 i BUS9, PCA10 i BUS10).
5.5.4. Połączenia z symbolami zasilania
When the power pins of the symbols are visible, they must be connected, as for any other signal.
Symbols such as gates and flip-flops may have invisible power pins. Care must be taken with these because:
-
Nie można ich połączyć, ze względu na ich niewidzialność.
-
Nie znamy ich nazw.
Poza tym, złym pomysłem będzie ich uwidocznienie i łączenie tak jak inne wyprowadzenia, bo schemat stanie się nieczytelny, i nie będzie zgody z przyjętą konwencją.
Zapamiętaj
|
Jeśli chcemy aby były one widoczne, należy zaznaczyć opcję "Pokaż ukryte
piny" w oknie dialogowym Ustawienia/Opcje edytora schematów dostępnym z
głównego menu aplikacji, lub za pomocą ikony
![]() |
Eeschema automatycznie łączy niewidoczne piny zasilania o tej samej nazwie do sieci o tej samej nazwie. Może być zatem potrzeba jawnego połączenia pinów zasilania o różnych nazwach (np. "GND" w symbolach TTL i "VSS" w symbolach CMOS); za pomocą dwóch portów zasilania.
Nie należy w tym celu używać etykiet, które mają tylko lokalne możliwości łączeniowe i nie mogą łączyć niewidocznych wyprowadzeń zasilania.
Poniższy rysunek przedstawia przykład połączenia portów zasilania:

W tym wypadku, masa (GND) jest połączone z portem zasilania o nazwie VSS, a port zasilania VCC jest połączony do VDD.
Widoczne są też dwa symbole PWR_FLAG. Informują one, że dwa porty zasilania VCC i GND są rzeczywiście podłączone do źródła napięcia zasilania. Bez tych dwóch flag, narzędzie ERC wykaże ostrzeżenie: Ostrzeżenie: pin podłączony do innych pinów ale brak pinu sterowania.
All these symbols can be found in the “power” symbol library.
5.5.5. Flaga “Nie połączone”
Te symbole są bardzo użyteczne podczas sprawdzania poprawności schematu (ERC) by narzędzie to, nie zwracało ostrzeżeń o niepodłączonych wyprowadzeniach.
Jeśli wyprowadzenia muszą pozostać niepodłączone, wymagane jest aby dołączyć
do tych wyprowadzeń specjalny symbol Nie połączone (narzędziem
). Symbole te nie mają
żadnego wpływu na tworzone listy połączeń.
5.6. Elementy uzupełniające
5.6.1. Komentarze
It can be useful (to aid in understanding the schematic) to place
annotations such as text fields and frames. Text fields (tool
) and Polyline (tool
) are intended for this use,
contrary to labels and wires, which are connection elements.
Przykład ramki z zawartością w postaci tekstu.

5.6.2. Tabelka
Ramka tytułowa jest modyfikowana za pomocą narzędzia
.


Numer arkusza (Sheet X/Y) jest automatycznie aktualizowany.
5.7. Rescuing cached symbols
By default, Eeschema loads symbols from the project libraries according to the set paths and library order. This can cause a problem when loading a very old project: if the symbols in the library have changed or have been removed or the library no longer exists since they were used in the project, the ones in the project would be automatically replaced with the new versions. The new versions might not line up correctly or might be oriented differently leading to a broken schematic.
When a project is saved, a cache library with the contents of the current library symbols is saved along with the schematic. This allows the project to be distributed without the full libraries. If you load a project where symbols are present both in its cache and in the system libraries, Eeschema will scan the libraries for conflicts. Any conflicts found will be listed in the following dialog:

You can see in this example that the project originally used a diode with the cathode facing up, but the library now contains one with the cathode facing down. This change would break the schematic! Pressing OK here will cause the symbol cache library to be saved into a special “rescue” library and all the symbols are renamed to avoid naming conflicts.
If you press Cancel, no rescues will be made, so Eeschema will load all the new components by default. If you save the schematic at this point, your cache will be overwritten and the old symbols will not be recoverable. If you have saved the schematic, you can still go back and run the rescue function again by selecting "Rescue Cached Components" in the "Tools" menu to call up the rescue dialog again.
If you would prefer not to see this dialog, you can press "Never Show Again". The default will be to do nothing and allow the new components to be loaded. This option can be changed back in the Libraries preferences.
6. Schematy o strukturze hierarchicznej
6.1. Wprowadzenie
Hierarchiczna reprezentacja jest szczególnie dobrym rozwiązaniem dla projektów większych niż kilka arkuszy. Jeśli chcielibyśmy zarządzać tego rodzaju projektem, niezbędne będzie:
-
Użycie dużych arkuszy, co spowoduje problem z drukowaniem i obsługą.
-
Wykorzystanie kilku arkuszy, która tym samym doprowadzi do stworzenia hierarchii.
Cały schemat następnie składa się w głównym arkuszu schematu zwanym arkuszem nadrzędnym (głównym) i arkuszy podrzędnych stanowiących hierarchię. Co więcej, umiejętny podział projektu na oddzielne arkusze często poprawia jego czytelność.
Z arkusza głównego, musi być możliwość odnalezienia dowolnego arkusza
podrzędnego. Zarządzanie schematem hierarchicznym jest bardzo proste w
Eeschema dzięki zintegrowanemu narzędziu jakim jest "Nawigator" dostęny za
pomocą ikony
na górnym i prawym pasku narzędzi.
There are two types of hierarchy that can exist simultaneously: the first one has just been evoked and is of general use. The second consists in creating symbols in the library that appear like traditional symbols in the schematic, but which actually correspond to a schematic which describes their internal structure.
Ten drugi typ jest raczej wykorzystany do opracowania układów scalonych, ponieważ w tym przypadku należy skorzystać z bibliotek funkcji w schemacie który rysujemy.
Eeschema obecnie nie obsługuje tego drugiego przypadku.
Hierarchia może być:
-
prosta: dany arkusz jest używany tylko raz,
-
złożona: dany arkusz jest używany więcej niż raz (przypadek zwielokrotnienia),
-
płaska, która jest prostą hierarchią, ale połączenia między arkuszami nie są rysowane.
Eeschema uznaje wszystkie te hierarchie.
Stworzenie struktury hierarchicznej schematu jest łatwe, gdyż całość hierarchii jest obsługiwana z poziomu schematu głównego, tak jak gdyby był to tylko jeden schemat.
By opanować tworzenie hierarchii należy poznać dwie rzeczy:
-
Jak stworzyć arkusz podrzędny.
-
How to build electrical connections between sub-sheets.
6.2. Nawigacja wewnątrz hierarchii
Navigation among sub-sheets is acheived by using the navigator tool
accessible via the button
on the top
toolbar.

Each sheet is reachable by clicking on its name. For quick access, right click on a sheet name, and choose to Enter Sheet or double click within the bounds of the sheet.
In order to exit the current sheet to the parent sheet, right click anywhere in the schematic where there is no object and select "Leave Sheet" in the context menu or press Alt+Backspace.
6.3. Etykiety lokalne, hierarchiczne i globalne
6.3.1. Właściwości
Lokalne etykiety (narzędzie
) łączą
sygnały tylko w bieżącym arkuszu. Hierarchiczne etykiety (narzędzie
)
łączą sygnały tylko wewnątrz arkusza z hierarchicznym pinem umieszczonym w
arkuszu nadrzędnym.
Etykiety globalne (narzędzie
) łączą sygnały we wszystkich elementach
hierarchii. Niewidoczne wyprowadzenia zasilania (typu wejście zasilania i
wyjście zasilania) są traktowane jak globalne etykiety, ponieważ są one
postrzegane jako związane między sobą we wszystkich elementach hierarchii.
Zapamiętaj
|
Wewnątrz hierarchii (prostej lub złożonej) można wykorzystać obie: hierarchiczne jak i globalne etykiety. |
6.4. Summary of hierarchy creation
Aby stworzyć hierarchię prostą należy:
-
Umieścić w arkuszu głównym symbol zwany "symbolem arkusza hierarchicznego".
-
Wejść do nowego schematu (arkusza podrzędnego) za pomocą narzędzi nawigacji i narysować schemat tak jak zwykle.
-
Draw the electric connections between the two schematics by placing Global Labels (HLabels) in the new schematic (sub-sheet), and labels having the same name in the root sheet, known as SheetLabels. These SheetLabels will be connected to the sheet symbol of the root sheet to the other elements of the schematic like standard symbol pins.
6.5. Symbole arkuszy podrzędnych
Aby narysować arkusz podrzędny, należy narysować prostokąt symbolizujący arkusz podrzędny.
Rozmiar tego prostokąta musi pozwolić na umieszczenie później etykiet czy pinów hierarchicznych odpowiadających etykietom hierarchicznym wewnątrz arkusza podrzędnego.
These labels are similar to usual symbol pins. Select the tool
.
Kliknąć w miejscu górnego lewego narożnika prostokąta. Kliknąć ponownie w miejscu dolnego prawego narożnika, pozostawiając prostokąt o dostatecznym rozmiarze.
Następnie program poprosi o wpisanie nazwy pliku oraz nazwy arkusza dla tego arkusza podrzędnego (w celu dotarcia do odpowiedniego schematu, z pomocą nawigatora).

Ostatecznie można podać tylko samą nazwę pliku. Jeśli nie ma nazwy arkusza, nazwa pliku będzie pełniła rolę nazwy arkusza (zwykle tak się robi).
6.6. Połączenia - Piny hierarchiczne
W tym punkcie stworzone zostaną punkty połączeń (piny hierarchiczne) dla symbolu, który został właśnie utworzony.
These points of connection are similar to normal symbol pins, with however the possibility to connect a complete bus with only one point of connection.
Są dwie możliwości by wykonać takie połączenia:
-
Umieścić różne piny hierarchiczne w symbolu arkusza przed narysowaniem zawartości arkusza podrzędnego (wstawianie ręczne).
-
Umieścić różne piny hierarchiczne po narysowaniu zawartości arkuszy podrzędnych oraz etykiet hierarchicznych (wstawianie półautomatyczne).
Drugie rozwiązanie wydaje się bardziej korzystne.
Wstawianie ręczne pinów hierarchicznych
-
ERC można uruchomić klikając w ikonę
.
-
Kliknąć na symbolu hierarchicznym gdzie chcielibyśmy utworzyć taki pin.
Poniżej znajduje się przykład tworzenia pinu hierarchicznego nazwanego "CONNECTION".

Można później zdefiniować dodatkowe atrybuty graficzne oraz rozmiar opisu edytując pin hierarchiczny, klikając prawym klawiszem, wybierając polecenie Edycja w podręcznym menu:
Wewnątrz arkusza muszą znaleźć się te same nazwy etykiet hierarchicznych co pinów hierarchicznych. Zapewnienie zgodności pomiędzy nimi musi być przeprowadzone manualnie, dlatego preferowana jest druga metoda opisana niżej.
Wstawianie półautomatyczne pinów hierarchicznych
-
Wybierz narzędzie
.
-
Kliknąć na symbol hierarchiczny, z którego chcemy zaimportować piny odpowiadające etykietom hierarchicznym umieszczonym w odpowiednim schemacie. Piny hierarchiczne pojawią się, jeśli istnieją nowe etykiety, tzn. pominięte zostaną już dodane wcześniej piny.
-
Kliknąć w miejscy gdzie taki pin ma się pojawić.
Wszystkie niezbędne piny mogą być więc umieszczone szybko i bez błędów. Przewagą w stosunku do wstawiania ręcznego jest to, że są one zgodnie z odpowiednimi etykietami hierarchicznymi jakie istnieją na schemacie.
6.7. Etykiety hierarchiczne
Każdy stworzony pin w symbolu arkusza musi odpowiadać etykiecie
hierarchicznej w arkuszu podrzędnym. Etykiety hierarchiczne są podobne do
zwykłych etykiet, ale w przeciwieństwie do nich dostarczają one połączeń
pomiędzy arkuszami podrzędnymi a arkuszem głównym (nadrzędnym). Graficzna
reprezentacja dwóch etykiet uzupełniających (pinu i etykiety hierarchicznej)
jest podobna. Tworzeniem etykiet hierarchicznych (HLabel) zajmuje się
narzędzie ukryte pod ikoną
.
Poniżej znajduje się przykład arkusza głównego:

Należy zwrócić uwagę na pin VCC_PIC, połączony ze złączem JP1.
Na następnym rysunku znajdują się odpowiednie połączenia w arkuszu podrzędnym:

Należy zwrócić też uwagę na dwie odpowiadające pinom hierarchicznym etykiety hierarchiczne, pozwalające na zbudowanie połączenia pomiędzy arkuszami hierarchicznymi.
Zapamiętaj
|
Za pomocą etykiet hierarchicznych oraz pinów hierarchicznych, istnieje możliwość łączenia dwóch magistral, zgodnie z tym co opisano wcześniej przy opisie ich składników (Magistrala [N. .m]). |
6.7.1. Etykiety, etykiety hierarchiczne, etykiety globalne oraz piny ukryte
Oto kilka uwag na temat różnych sposobów zapewnienia połączeń innych niż połączenia bezpośrednie.
Zwykłe etykiety
Etykiety (zwykłe) mają lokalne możliwości łączeniowe, czyli ograniczone do arkusza schematu w którym się znajdują. Wynika to z faktu, że:
-
Każdy arkusz posiada numer arkusza.
-
Numer arkusza jest związany z nazwą etykiety.
Dlatego, jeśli umieścimy etykietę "TOTO" na arkuszu nr 3, w rzeczywistości prawdziwa jej nazwa będzie brzmieć "TOTO_3". Jeśli w arkuszu numer 1 (arkusz główny) również umieścimy etykietę "TOTO" to w rzeczywistości zostanie tam umieszczona etykieta "TOTO_1", różna od "TOTO_3". Dzieje się tak zawsze, nawet jeśli istnieje tylko jeden arkusz.
Etykiety hierarchiczne
To, co zostało napisane w związku z etykietami prostymi również jest prawdą w stosunku do etykiet hierarchicznych.
Thus in the same sheet, a hierarchical label "TOTO" is considered to be connected to a local label "TOTO", but not connected to a hierarchical label or label called "TOTO" in another sheet.
A hierarchical label is considered to be connected to the corresponding sheet pin symbol in the hierarchical symbol placed in the parent sheet.
Ukryte piny zasilania
It was seen that invisible power pins were connected together if they have the same name. Thus all the power pins declared "Invisible Power Pins" and named VCC are connected all symbol invisible power pins named VCC only within the sheet they are placed.
Gdyby etykieta o nazwie VCC została umieszczona na arkuszu podrzędnym, to nie byłaby ona połączona z wyprowadzeniem VCC, ponieważ etykietą byłaby faktycznie VCC_n, gdzie n to numer arkusza.
If you want this label VCC to be really connected to the VCC for the entire schematic, it will have to be explicitly connected to an invisible power pin via a VCC power symbol.
6.7.2. Etykiety globalne
Globalne etykiety, które mają identyczne nazwy połączone są w całej hierarchii.
(Porty zasilania jak np. VCC… są właśnie globalnymi etykietami).
6.8. Hierarchia złożona
Here is an example. The same schematic is used twice (two instances). The two sheets share the same schematic because the file name is the same for the two sheets (“other_sheet.sch”). The sheet names must be unique.

6.9. Hierarchia płaska
You can create a project using many sheets without creating connections between these sheets (flat hierarchy) if the following rules are observed:
-
Create a root sheet containing the other sheets which acts as a link between others sheets.
-
Nie są potrzebne wyraźne połączenia między nimi.
-
Use global labels instead of hierarchical labels in all sheets.
Poniżej znajduje się przykład głównego schematu:

Poniżej znajdują się dwa arkusze, połączone za pomocą etykiet globalnych.
Tutaj znajduje się pic_programmer.sch.

Tutaj znajduje się pic_sockets.sch.

Widok na etykiety globalne.

7. Symbol Annotation Tool
7.1. Wprowadzenie
The annotation tool allows you to automatically assign a designator to
symbols in your schematic. Annotation of symbols with multiple units will
assign a unique suffix to minimize the number of these symbols. The
annotation tool is accessible via the icon
. Here you find its main
window.

Available annotation schemes:
-
Annotate all the symbols (reset existing annotation option)
-
Annotate all the symbols, but do not swap any previously annotated multi-unit parts.
-
Annotate only symbols that are currently not annotated. Symbols that are not annotated will have a designator which ends with a ? character.
-
Opisywanie całej hierarchii (opcja Użyj całego schematu).
-
Opisywanie tylko bieżącego arkusza (opcja Użyj tylko bieżącej strony).
The “Reset, but do not swap any annotated multi-unit parts” option keeps all existing associations between symbols with multilple units. For example, U2A and U2B may be reannotated to U1A and U1B respectively but they will never be reannotated to U1A and U2A, nor to U2B and U2A. This is useful if you want to ensure that pin groupings are maintained.
Opcje zawarte w grupie Wybór numeracji pozwalają wybrać metodę jaka zostanie wykorzystana podczas przypisywania numerów referencyjnych wewnątrz każdego arkusza w hierarchii.
Za wyjątkiem szczególnych przypadków, automatyczna numeracja ma zastosowanie do całego projektu (wszystkie arkusze) oraz tylko do nowych elementów, jeśli nie chcemy modyfikować poprzedniej numeracji.
The Annotation Choice gives the method used to calculate reference:
-
Use first free number in schematic: components are annotated from 1 (for each reference prefix). If a previous annotation exists, only unused numbers will be used.
-
Rozpocznij od numer arkusza*100 i użyj pierwszego wolnego numeru: Numeracja zostanie rozpoczęta od liczby 101 dla arkusza 1, 201 dla arkusza 2, itd… Jeśli istnieje więcej niż 99 pozycji z tym samym prefiksem w nazwie odniesienia (np. U czy R) wewnątrz arkusza 1, numeracja będzie kontynuowana od liczby 200 i dalej, a numeracja w arkuszu 2 rozpocznie się od następnego wolnej liczby.
-
Rozpocznij od numer arkusza*1000 i użyj pierwszego wolnego numeru: Numeracja rozpocznie się od liczby 1001 dla arkusza 1, 2001 dla arkusza 2, itd…
7.2. Przykłady
7.2.1. Zmiany porządku numeracji
Poniższy obrazek ukazuje 5 umieszczonych elementów, lecz jeszcze nie ponumerowanych.

Po przeprowadzeniu automatycznej numeracji:
Z sortowaniem elementów według pozycji w osi X:

Z sortowaniem elementów według pozycji w osi Y:

Można zauważyć, że cztery bramki układu 74LS00 zostały zawarte w układzie U1, a piąta bramka została przypisana do następnego układu U2.
7.2.2. Wybór numeracji
Poniżej znajdują się wyniki procesu numeracji dla arkusza numer 2, w zależności od wybranej opcji:

Opcja Rozpocznij od numer arkusza*100 i użyj pierwszego wolnego numeru daje następujący efekt.

Opcja Rozpocznij od numer arkusza*1000 i użyj pierwszego wolnego numeru daje następujący efekt.

8. Kontrola reguł projektowych - Electrical Rules Check
8.1. Wprowadzenie
Funkcja Kontrola reguł projektowych ERC przeprowadza automatyczne sprawdzenie poprawności elektrycznej schematu. Wskazuje ona błędy na arkuszu schematu, takie jak: niepodłączone wyprowadzenia, niepodłączone wyprowadzenia w symbolach hierarchicznych, zwarcia pomiędzy wyjściami, itp. Naturalnie, sprawdzanie automatyczne nie jest bezbłędne, a oprogramowanie które mogłoby wykryć wszelkie błędy nie zostało jeszcze napisane. Aczkolwiek zwykła kontrola jest bardzo użyteczna, ponieważ pozwala na wykrycie wielu niedopatrzeń oraz małych błędów.
In fact all detected errors must be checked and then corrected before proceeding as normal. The quality of the ERC is directly related to the care taken in declaring electrical pin properties during symbol library creation. ERC output is reported as "errors" or "warnings".

8.2. Używanie narzędzia testu ERC
ERC można uruchomić klikając w ikonę icon
.
Ostrzeżenia są umieszczane na elementach schematu, które spowodowały błąd ERC (piny lub etykiety).
Zapamiętaj
|
|
Można także kasować znaczniki ERC z okna dialogowego.
8.3. Przykład testu ERC

Na powyższym obrazku można zobaczyć cztery błędy:
-
Dwa wyjścia zostały błędnie połączone razem (czerwona strzałka).
-
Dwa wejścia zostały niepodłączone (zielone strzałki).
-
Jest też błąd na niewidocznym pinie zasilania, wskazujący na brak flagi zasilania (zielona strzałka na górze).
8.4. Wyświetlanie informacji o znaczniku błędu
Klikając prawym klawiszem na znaczniku błędu można z menu podręcznego wywołać okienko z informacją o tym błędzie ERC.

Wybierając polecenie Informacja o znaczniku błędu można zobaczyć dokładniejszy jego opis.

8.5. Piny zasilania i flagi zasilania
Dosyć często występuje błąd (ostrzeżenie) na wyprowadzeniach zasilania, podczas gdy na pierwszy rzut oka wszystko wydaje się poprawne (patrz przykład powyżej). To dlatego, że w większości projektów zasilanie jest dostarczane przez złączki, które nie są źródłami zasilania gdyż ich wyprowadzenia mają funkcje pasywną (nie tak jak na przykład wyjście regulatora napięcia, którego piny są zwykle zadeklarowane jako źródło zasilania).
ERC wobec tego nie znajduje żadnego źródła zasilania do wysterowania takiej sieci i uzna ją za nie wysterowaną (nie połączoną ze źródłem zasilania).
W takich przypadkach należy do takiej sieci przypiąć specjalny element: flagę "PWR_FLAG" z biblioteki power.lib, która sygnalizuje, że ta sieć jest w istocie źródłem zasilania.

Po umieszczeniu na szynach zasilania tej flagi, błędy związane z brakiem sterowania powinny zniknąć podczas ponownej kontroli ERC.
Most of the time, a PWR_FLAG must be connected to GND, because regulators have outputs declared as power out, but ground pins are never power out (the normal attribute is power in), so grounds never appear connected to a power source without a power flag symbol.
8.6. Konfiguracja
Panel opcji pozwala na skonfigurowanie reguł jakimi się ma kierować ERC w określonych przypadkach zestawienia połączenia, i czy w danym przypadku ma zostać wygenerowany błąd czy tylko ostrzeżenie, albo też takie zestawienie nie powinno generować błędu.

Poszczególne reguły mogą zostać zmienione poprzez kliknięcie na wybranym polu na powyższej matrycy. Kolejne kliknięcia pozwalają na wybranie: brak błędu (zielony), ostrzeżenie (żółty, W) i błąd (czerwony, E). Zmiany odbywają się w zamkniętym cyklu, zatem aby wrócić do poprzedniego stanu należy ponownie kliknąć (jedno- lub dwukrotnie).
8.7. Plik raportu ERC
Plik raportu ERC może zostać wygenerowany i zapisany poprzez zaznaczenie opcji "Utwórz plik raportu". Pliki takie są zapisywane z rozszerzeniem .erc. Poniżej znajduje się przykład zawartości takiego pliku:
Raport ERC (2011-09-24 08:46:02) ***** Arkusz / (Root) ErrType(2): Pin nie jest podłączony (i nie ma przypisanego symbolu "Niepołączone") @ (3,2500 ",3,0500 "): Element U10, Pin 5 (input) nie jest połączony ErrType(3): Pin podłączony do innych pinów ale nie ma pinu sterującego @ (3,6500 ",2,4000 "): Element U10, pin 7 (power_in) nie jest sterowany (sieć 6) ErrType(3): Pin podłączony do innych pinów ale nie ma pinu sterującego @ (3,6500 ",2,7500 "): Element U10, pin 14 (power_in) nie jest sterowany (sieć 5) ErrType(5): BŁĄD: Konflikt pomiędzy pinami. @ (4,4500 ",2,2000 "): Element U10: Pin 3 (output) połączony z @ (4,4500 ",2,9500 "): Element U10: Pin 6 (output) (sieć 2) ErrType(2): Pin nie jest podłączony (i nie ma przypisanego symbolu "Niepołączone") @ (3,2500 ",2,8500 "): Element U10, Pin 4 (input) nie jest połączony >> Błędy ERC: 5
9. Generowanie list sieci
9.1. Przegląd zagadnień
A netlist is a file which describes electrical connections between symbols. These connections are referred to as nets. In the netlist file you can find:
-
The list of the symbols
-
The list of connections (nets) between symbols.
Many different netlist formats exist. Sometimes the symbols list and the list of nets are two separate files. This netlist is fundamental in the use of schematic capture software, because the netlist is the link with other electronic CAD software such as:
-
PCB layout software.
-
Schematic and electrical signal simulators.
-
Syntetyzery układów PAL/PLA (oraz innych układów programowalnych).
Eeschema wspiera kilka formatów list sieci:
-
Format Pcbnew (obwody drukowane).
-
Format ORCAD PCB2 (obwody drukowane).
-
Format CADSTAR (obwody drukowane).
-
Format Spice, używany przez sporą grupę symulatorów nie tylko przez PSpice.
9.2. Format listy sieci
Select the tool
to open the
netlist creation dialog.
Wybrany format Pcbnew

Wybrany format Spice

Using the different tabs you can select the desired format. In Spice format you can generate netlists with either net names which makes the SPICE file more human readable or net numbers which are used by older Spice. By clicking the Netlist button, you will be asked for a netlist file name.
Zapamiętaj
|
The netlist generation can take up to several minutes for large schematics. |
9.3. Przykłady list sieci
Na poniższym rysunku znajduje się schemat używający biblioteki PSPICE:

Struktura listy sieci programu Pcbnew:
# Eeschema Netlist Version 1.0 generee le 21/1/1997-16:51:15 ( (32E35B76 $noname C2 1NF {Lib=C} (1 0) (2 VOUT_1) ) (32CFC454 $noname V2 AC_0.1 {Lib=VSOURCE} (1 N-000003) (2 0) ) (32CFC413 $noname C1 1UF {Lib=C} (1 INPUT_1) (2 N-000003) ) (32CFC337 $noname V1 DC_12V {Lib=VSOURCE} (1 +12V) (2 0) ) (32CFC293 $noname R2 10K {Lib=R} (1 INPUT_1) (2 0) ) (32CFC288 $noname R6 22K {Lib=R} (1 +12V) (2 INPUT_1) ) (32CFC27F $noname R5 22K {Lib=R} (1 +12V) (2 N-000008) ) (32CFC277 $noname R1 10K {Lib=R} (1 N-000008) (2 0) ) (32CFC25A $noname R7 470 {Lib=R} (1 EMET_1) (2 0) ) (32CFC254 $noname R4 1K {Lib=R} (1 +12V) (2 VOUT_1) ) (32CFC24C $noname R3 1K {Lib=R} (1 +12V) (2 N-000006) ) (32CFC230 $noname Q2 Q2N2222 {Lib=NPN} (1 VOUT_1) (2 N-000008) (3 EMET_1) ) (32CFC227 $noname Q1 Q2N2222 {Lib=NPN} (1 N-000006) (2 INPUT_1) (3 EMET_1) ) ) # End
W formacie PSPICE, lista sieci byłaby następująca:
* Eeschema Netlist Version 1.1 (Spice format) creation date: 18/6/2008-08:38:03 .model Q2N2222 npn (bf=200) .AC 10 1Meg \*1.2 .DC V1 10 12 0.5 R12 /VOUT N-000003 22K R11 +12V N-000003 100 L1 N-000003 /VOUT 100mH R10 N-000005 N-000004 220 C3 N-000005 0 10uF C2 N-000009 0 1nF R8 N-000004 0 2.2K Q3 /VOUT N-000009 N-000004 N-000004 Q2N2222 V2 N-000008 0 AC 0.1 C1 /VIN N-000008 1UF V1 +12V 0 DC 12V R2 /VIN 0 10K R6 +12V /VIN 22K R5 +12V N-000012 22K R1 N-000012 0 10K R7 N-000007 0 470 R4 +12V N-000009 1K R3 +12V N-000010 1K Q2 N-000009 N-000012 N-000007 N-000007 Q2N2222 Q1 N-000010 /VIN N-000007 N-000007 Q2N2222 .print ac v(vout) .plot ac v(nodes) (-1,5) .end
9.4. Uwagi odnośnie list sieci
9.4.1. Zalecane środki ostrożności
Many software tools that use netlists do not accept spaces in the component names, pins, nets or other informations. Avoid using spaces in labels, or names and value fields of components or their pins to ensure maximum compatibility.
W ten sam sposób, niektóre znaki inne niż litery i cyfry mogą również powodować problemy. Należy pamiętać, że ograniczenie to nie jest związane z Eeschema, ale z formatami list sieci, które mogą następnie stać się nieprzetłumaczalne dla oprogramowania, które korzysta z tych list sieci.
9.4.2. Listy sieci PSPICE
Dla symulatora PSpice trzeba do listy sieci dodać kilka linii z poleceniami dla symulatora (.PROBE, .AC …). Można je umieścić bezpośrednio na schemacie.
Każdy wiersz tekstu umieszczonego na schemacie, rozpoczynający się od słów kluczowych: -pspice lub -gnucap zostanie wstawiony (bez słów kluczowych) na początku listy sieci.
Każdy wiersz tekstu umieszczonego na schemacie rozpoczynający się od słów kluczowych: +gnucap lub +pspice zostanie dopisany (bez słów kluczowych) na koniec listy sieci.
Poniżej znajduje się przykład, na którym użyto wielu jednoliniowych tekstów poleceń, a także jeden wieloliniowy tekst polecenia:

Przykładowo, jeśli zostanie wpisany następujący tekst (nie może to być etykieta!):
-PSPICE .PROBE
linia .PROBE zostanie wstawiona do listy sieci.
W poprzednim przykładzie dzięki tej technice, trzy linie poleceń zostaną wstawione na początek listy sieci, oraz dwie linie poleceń na końcu.
Jeśli użyty został format wieloliniowy poleceń, +pspice lub +gnucap są wymagane tylko na początku:
+PSPICE .model NPN NPN .model PNP PNP .lib C:\Program Files\LTC\LTspiceIV\lib\cmp\standard.bjt .backanno
Taki zapis utworzy następujący tekst:
.model NPN NPN .model PNP PNP .lib C:\Program Files\LTC\LTspiceIV\lib\cmp\standard.bjt .backanno
Also note that the GND net must be named 0 (zero) for Pspice.
9.5. Inne formaty
Dla innych formatów list sieci można dodać odpowiednie konwertery w formie wtyczek. Konwertery te są automatycznie uruchamiane przez Eeschema. W rozdziale 14 znajdują się wyjaśnienia i przykłady takich konwerterów.
Konwerter to plik tekstowy (w formacie xsl), ale można korzystać z innych języków takich jak Python. W przypadku użycia formatu xsl, odpowiednie narzędzia (xsltproc.exe lub xsltproc) odczytuje plik pośredni stworzony przez Eeschema i plik konwertera, w celu stworzenia pliku wyjściowego. W tym przypadku plik konwertera (arkusz stylów) jest bardzo krótki i łatwy do napisania.
9.5.1. Inicjowanie okna dialogowego
Można dodać nową wtyczkę do list sieci używając przycisku "Dodaj wtyczkę".

Poniżej znajduje się okno ustawień nowej wtyczki PADS-PCB:

By skonfigurować wtyczkę będzie potrzebny:
-
Tytułu zakładki (określająca również nazwę formatu wyjściowego listy sieci).
-
Wtyczka którą należy uruchomić.
Gdy lista sieci jest generowana:
-
Eeschema tworzy pośredni plik z listą sieci *.tmp, na przykład test.tmp.
-
Eeschema uruchamia wtyczkę, która czyta plik test.tmp i tworzy plik test.net.
9.5.2. Format linii poleceń
Poniżej znajduje się przykład użycia xsltproc.exe jako konwertera plików .xsl, oraz pliku netlist_form_pads-pcb.xsl jako arkusza stylów:
f:/kicad/bin/xsltproc.exe -o %O.net f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl %I
Gdzie:
f:/kicad/bin/xsltproc.exe |
Narzędzie do odczytywania i konwersji pliku xsl |
-o %O.net |
Plik wyjściowy: %O zastępuje nazwę pliku wyjściowego. |
f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl |
Nazwa pliku konwertera (arkusz stylów, w formacie XSL). |
%I |
Zostanie zastąpione przez plik pośredni utworzony przez Eeschema (*.tmp). |
Dla przykładowego schematu nazwanego test.sch, właściwa linia poleceń ma postać:
f:/kicad/bin/xsltproc.exe -o test.net f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl test.tmp.
9.5.3. Konwerter i arkusz stylów (wtyczka)
Jest to bardzo proste oprogramowanie, ponieważ jego celem jest tylko konwersja tekstowego pliku wejściowego (pośredni plik tekstowy) do innego pliku tekstowego. Co więcej, z pośredniego pliku tekstowego można również utworzyć listę BOM.
Podczas korzystania xsltproc jako konwertera zostanie wygenerowany tylko arkusz stylów.
9.5.4. Format pośrednej listy sieci
Rozdział 14 zawiera więcej wyjaśnień na temat xsltproc, opisów formatu pliku pośredniego oraz niektóre przykłady arkuszy stylów dla konwerterów.
10. Drukowanie i rysowanie schematów na drukarkach lub ploterach
10.1. Wprowadzenie
Obie możliwości przenoszenia schematów na papier (bądź inny materiał drukarski) są dostępne z menu Plik:

Formatami wyjściowymi mogą być Postscript, HPGL, SVG, DXF lub PDF. Można także drukować bezpośrednio na zwykłej drukarce.
10.2. Polecenia wspólne
- Rysuj bieżącą stronę
-
generuje plik wyjściowy wyłącznie dla bieżącego arkusza.
- Rysuj wszystkie strony
-
pozwala na narysowanie całej hierarchii (pliki są generowane dla każdego z arkusza).
10.3. Rysuj w formacie PostScript
To polecenie pozwala na stworzenie rysunku schematu w formacie PostScript.

Nazwa pliku wyjściowego składała się będzie z nazwy arkusza i rozszerzenia .ps. Można dodatkowo odznaczyć opcję: "Rysuj opis arkusza i tabliczkę tytułową". Jest to użyteczne w przypadku tworzenia pliku postscriptowego do późniejszej obróbki (format .eps), aby umożliwić wstawianie rysunków do procesora tekstu.
10.4. Rysuj w formacie PDF

Pozwala na utworzenie rysunku schematu w formacie PDF. Nazwa pliku wyjściowego składała się będzie z nazwy arkusza i rozszerzenia .pdf.
10.5. Rysuj w formacie SVG

To polecenie pozwala na utworzenie plików, które zawierać będą skalowane rysunki wektorowe - SVG. Nazwa pliku wyjściowego składała się będzie z nazwy arkusza i rozszerzenia .svg.
10.6. Rysuj w formacie DXF

Pozwala na utworzenie plików z rysunkami CAD używając popularnego formatu DXF. Nazwa pliku wyjściowego składała się będzie z nazwy arkusza i rozszerzenia .dxf.
10.7. Rysowanie w formacie HPGL
Polecenie pozwala na stworzenie pliku dla plotera obsługującego format HPGL. W tym formacie można zdefiniować kilka parametrów dla plotera:
-
Rozmiar arkusza.
-
Punkt bazowy.
-
Rozmiar pisaka (w mm).
Po wybraniu tego polecenia otworzy się następujące okno:

Nazwa pliku wyjściowego składała się będzie z nazwy arkusza i rozszerzenia .plt.
10.7.1. Wybór rozmiaru arkusza
Normalnie jest zaznaczona opcja Rozmiar schematu. W takim przypadku, rozmiar arkusza plotera będzie taki sam jak rozmiar arkusza określony w Eeschema, a skala będzie wynosić 1. Jeśli wybrano inny rozmiar arkusza docelowego (od A4 do A0, lub A do E), to skala zostanie automatycznie dobrana, tak aby rysunek wypełnił w pełni stronę plotera.
10.7.2. Ustawienie przesunięcia strony
Dla wszystkich standardowych rozmiarów, można przenieść punkt zerowy by wyrównać rysunek na środku strony. Niektóre plotery mogą posiadać punkt początkowy w centrum pola roboczego lub w dolnym lewym rogu, dlatego wymagane jest poprawne ustawienie tej opcji, zgodnie z możliwościami plotera.
Mówiąc ogólnie:
-
Dla ploterów posiadających punkt początkowy na środku arkusza, przesunięcie musi być ujemne i ustawione w połowie rozmiaru arkusza.
-
Dla ploterów posiadających punkt początkowy w lewym dolnym narożniku, przesunięcie musi być ustawione na 0.
By ustawić przesunięcie należy:
-
Wybrać rozmiar arkusza.
-
Ustawić przesunięcie X oraz Y.
-
Zaakceptować dane o przesunięciu.
10.8. Drukuj
To polecenie, podobne do polecenia
na głównym pasku
narzędzi, pozwala na podgląd oraz utworzenie wydruków korzystając z
normalnej drukarki.

Pierwsza opcja "Drukuj opis arkusza i tabliczkę" pozwala na wydrukowanie także odnośników arkuszy oraz tabliczki która znajduje się w prawym dolnym rogu.
Opcja "Drukuj jako czarno-biały" wymusza zaś wydruk monochromatyczny. Opcja ta zwykle jest stosowana, gdy do wydruków jest używana laserowa drukarka monochromatyczna, ponieważ większość drukarek dla jasnych kolorów korzysta z dość nieczytelnej symulacji pół-tonalnej. Stąd też połączenia, rysowane kolorem zielonym, mogłyby stać się mało widoczne.
11. Edytor bibliotek LibEdit - Podstawy
11.1. Podstawowe informacje na temat bibliotek
Komponent jest symbolem na schemacie, który zawiera jego reprezentację graficzną, połączenia elektryczne i pola go opisujące. Komponenty stosowane na schemacie są przechowywane w bibliotece symboli. Eeschema dostarcza narzędzia do edycji takich bibliotek, które pozwala na ich tworzenie, dodawanie, usuwnie lub przenoszenie pomiędzy bibliotekami, a także eksport i import do/z plików zewnętrzych. Narzędzie do edycji bibliotek pozwala również na zarządzanie plikami biblioteki symboli w dość prosty sposób.
11.2. Biblioteki symboli - Przegląd
Biblioteka symboli składa się z jednego bądź wielu komponentów. Generalnie, komponenty są logicznie pogrupowane biorąc pod uwagę np. ich funkcję, typ, bądź producenta.
Symbol znajdujący się w bibliotece jest złożony z:
-
Jego postaci graficznej (linie, okręgi, pola tekstowe) które pozwalają na zdefiniowanie symbolu.
-
Wyprowadzeń, inaczej pinów (które muszą być narysowane w ściśle określony sposób używając powszechnie przyjętych standardów (zwykły pin, lub wejście zegarowe, lub aktywny niskim poziomem, albo aktywny zboczem.) opisując ich właściwości elektryczne, używane przez ERC.
-
Pól (tekstowych) takich jak oznaczenie, wartość, nazwa footprintu potrzebna do wstawienia go na płytkę.
-
Symbol może posiadać również aliasy, czyli nazwy alternatywne, na przykład 7400 może także występować jako 74LS00, 74HC00, 7437, ponieważ wszystkie te symbole są identyczne z punktu widzenia schematu.
Do poprawnego tworzenia symboli wymagane jest:
-
Zdefiniowanie ogólnych właściwości: czy posiada wiele części składowych.
-
Zdefiniowanie czy posiada podwójną reprezentację (znany jako DeMorgan, a w Eeschema reprezentowany normalnie i jako skonwertowany).
-
Projektowanie wyglądu (z wyjątkiem pinów) z użyciem linii, prostokątów, okręgów, wielokątów i tekstów.
-
Dodanie wyprowadzeń, dokładnie określając ich projekt graficzny, nazwę oraz numer pinu, a także ich właściwości elektryczne (wejście, wyjście, trzy-stanowe, port zasilania…).
-
Dodanie aliasów, jeśli inne komponenty są tej samej konstrukcji i mają ten sam zestaw wyprowadzeń (lub też usunięcie jednego w przypadku, gdy symbol został stworzony przez skopiowanie innego symbolu).
-
Dodanie pól w razie potrzeby (jest to opcjonalne, nazwa modułu jest wykorzystywany przez oprogramowanie PCB) i/lub określenie ich widoczności.
-
Dokumentowanie składnika np. poprzez dodanie słów kluczowych i adresu dokumentacji w sieci lub na lokalnym nośniku.
-
Zapisanie go do wybranej biblioteki.
11.3. Edytor bibliotek symboli - Przegląd
Widok głównego okna edytora bibliotek symboli znajduje się poniżej. Edytor składa się z trzech pasków narzędzi z szybkim dostępem do podstawowych narzędzi i obszaru podglądu/edycji komponentów. Nie wszystkie polecenia są dostępne na paskach narzędzi, ale można uzyskać do nich dostęp za pomocą menu.

11.3.1. Główny pasek menu
Główny pasek narzędzi, typowo umieszczony na górze głównego okna, pokazany poniżej zawiera narzędzia do zarządzania biblioteką, polecenia cofnięcia/powtórzenia edycji, dostosowywania powiększenia obszaru roboczego oraz polecenia dostępu do właściwości symbolu.

|
Zapisuje bieżącą bibliotekę. Przycisk będzie niedostępny jeśli nie została wybrana żadna biblioteka robocza lub nie dokonano w niej żadnych zmian. |
|
Wybór biblioteki w celu edycji. |
|
Usunięcie symbolu z bieżącej biblioteki lub innej biblioteki zadeklarowanej w projekcie jeśli żadna z bibliotek nie została wybrana. |
|
Otwiera przeglądarkę bibliotek by umożliwić wybór aktywnej biblioteki oraz symbolu w celu jego edycji. |
|
Tworzenie nowego komponentu. |
|
Odczyt symbolu z aktywnej biblioteki w celu edycji. |
|
Tworzenie nowego symbolu na podstawie symbolu aktualnie załadowanego. |
|
Zapisanie bieżącego symbolu w aktywnej bibliotece w buforze pamięci RAM. Plik biblioteki na dysku nie jest modyfikowany. |
|
Import jednego symbolu z pliku. |
|
Export bieżącego symbolu do pliku. |
|
Tworzenie nowej biblioteki z bieżącym symbolem w polu edycyjnym. Uwaga: nowe biblioteki nie są automatycznie dodawane do projektu. |
|
Cofnięcie ostatniej edycji. |
|
Przywrócenie ostatnio cofniętej edycji. |
|
Edycja właściwości bieżącego komponentu. |
|
Edit the fields of current component. |
|
Testowanie komponentu na obecność prostych błędów. |
|
Powiększenie. |
|
Pomniejszenie. |
|
Odświeżenie widoku. |
|
Dopasowywuje powiększenie do obszaru roboczego. |
|
Wybiera normalny styl reprezentacji symbolu. Przycisk jest niedostępny jeśli bieżący symbol nie posiada podwójnej reprezentacji. |
|
Wybiera alternatywny styl reprezentacji symbolu. Przycisk jest niedostępny jeśli bieżący symbol nie posiada podwójnej reprezentacji. |
|
Pokazuje załączoną dokumentację symbolu. Przycisk jest niedostępny jeśli bieżący symbol nie posiada zdefiniowanej dokumentacji. |
|
Wybiera część składową symbolu. Rozwijana lista jest niedostępna jeśli symbol nie posiada większej ilości części składowych. |
|
Wybór aliasu. Rozwijana lista jest niedostępna jeśli symbol nie posiada zdefiniowanych aliasów. |
|
Edycja pinów: włącza niezależną edycję kształtu pinów i ich pozycji dla symboli wieloczęściowych lub z alternatywnym widokiem. |
|
Pokazuje tabelę wyprowadzeń. |
11.3.2. Pasek narzędzi edycji symbolu
Pasek narzędzi (zazwyczaj pionowy) znajdujący się po prawej stronie okna głównego pozwala na umieszczenie wszystkich elementów wymaganych do zaprojektowania symbolu. Poniższa tabela opisuje każdy z przycisków na tym pasku narzędzi.
|
Narzędzie wyboru. Kliknięcie prawym klawiszem gdy wybrano to narzędzie otwiera menu kontekstowe dla obiektu znajdującego się na pozycji kursora. Kliknięcie prawym klawiszem wyświetla atrybuty obiektu na pozycji kursora w dolnym panelu wiadomości. Podwójne kliknięcie wywołuje okno dialogowe właściwości obiektu znajdującego się na pozycji kursora. |
|
Narzędzie dodawania wyprowadzeń. Kliknięcie lewym klawiszem pozwala dodać nowe wyprowadzenie. |
|
Graphical text tool. Left-click to add a new graphical text item. |
|
Prostokąt. Klikając lewym klawiszem ustala się pierwszy narożnik prostokąta. Klikając ponownie lewym klawiszem ustala się drugi przeciwległy narożnik. |
|
Circle tool. Left-click to begin drawing a new graphical circle from the center. Left-click again to define the radius of the circle. |
|
Łuki. Kliknięcie lewym klawiszem rozpoczyna rysowanie łuku poczynając od pozycji centralnej. Ponowne kliknięcie określa pierwszy punkt końcowy. Trzecie kliknięcie lewym klawiszem określa drugi punkt końcowy łuku.. |
|
Linia łamana. Kliknięcie lewym klawiszem rozpoczyna rysowanie linii łamanej. Każde ponowne kliknięcie dodaje kolejny segment lini łamanej. Kliknięcie podwójne kończy rysowanie linii. |
|
Punkt zaczepienia. Klikając lewym klawiszem ustala się pozycję symbolu. |
|
Import rysunku symbolu z pliku. |
|
Export bieżącego symbolu do pliku. |
|
Kasowanie. Klikając lewym klawiszem usuwa się obiekt nad którym kursor się aktualnie znajduje. |
11.3.3. Pasek opcji
Pasek narzędzi (zazwyczaj pionowy) znajdujący się po lewej stronie okna głównego pozwala na ustalenie pewnych opcji edycyjnych. Poniższa tabela opisuje każdy z przycisków na tym pasku narzędzi.
|
Włącza lub wyłącza widok siatki. |
|
Przełączenie jednostek miary na cale. |
|
Przełączenie jednostek miary na milimetry. |
|
Zmiana kształtu kursora. |
11.4. Wybór biblioteki
Wybranie bieżącej biblioteki jest możliwe za pomocą ikony
, która
otwiera okno z listą dostępnych bibliotek. Gdy element jest ładowany lub
zapisywany, to wszystkie te operacje będą przeprowadzane w tej bibliotece.
Zapamiętaj
|
|
11.4.1. Wybór symbolu i sposoby jego zapisu
Podczas edycji symbolu, w rzeczywistości wszelkie zmiany nie są dokonywane bezpośrednio w bibliotece, ale w jej kopii w pamięci RAM. W ten sposób można z łatwością cofnąć wszelkie zmiany od ostatniego zapisu.
Wybór symbolu
Ikona
pozwala wyświetlić listę dostępnych symboli, by wybrać jeden i
załadować potrzebny element.
Zapamiętaj
|
Jeśli wybrano alias symbolu, nazwa wyświetlana na pasku tytułowym będzie
nazwą symbolu, który w rzeczywistości został załadowany. Lista aliasów
zawsze zostaje załadowana dla każdego symbolu, wobec czego można ją
edytować. Gdy chcemy edytować jeden alias, musi on zostać wybrany z listy w
oknie narzędziowym:
![]() |
Zapamiętaj
|
Alternatywnie, klikając w ikonę
![]() ![]() |
Zapis symbolu
Po modyfikacji, symbol może zostać zapisany w bieżącej bibliotece, nowej bibliotece, lub wyeksportowany do pliku kopii zapasowej.
By umieścić symbol w bieżącej bibliotece, należy użyć polecenia
. Jednakże
aktualizacja symbolu zostanie przeprowadzona tylko do pamięci RAM. W ten
sposób można zdecydować się czy symbol pasuje do schematu.
Jeśli zajdzie potrzeba pełnego zapisu symbolu, należy użyć polecenia
ukrytego pod ikoną
, które zmodyfikuje zawartość biblioteki na dysku
twardym.
Jeśli chcemy by aktualny komponent trafił do nowej biblioteki, należy użyć
polecenia
. W takim przypadku program poprosi o nazwę nowej biblioteki.
Zapamiętaj
|
Nowe elementy w nowych bibliotekach będą widoczne dopiero po zmianie konfiguracji bibliotek w programie Eeschema. You must add any new library you wish to use in a schematic to the list of project libraries in Eeschema using the Symbol Library Table dialog. |
Klikając w ikonę
zostanie utworzony plik biblioteki zawierający tylko bieżący symbol. Plik
ten będzie miał postać standardowej biblioteki i zawierał tylko jeden
symbol. Można go użyć przy imporcie symbolu do innej biblioteki. Utworzenie
nowej biblioteki i polecenia eksportu są u podstaw takie same.
Przenoszenie symbolu do innej biblioteki
Można bardzo łatwo przenosić symbole z jednej biblioteki do drugiej, używając tego schematu postępowania:
-
Wybór biblioteki źródłowej poprzez kliknięcie na ikonę
.
-
Załadować symbol, który ma zostać przeniesiony za pomocą ikony
. Symbol pojawi się w polu edycji.
-
Następnie wybrać docelową bibliotekę klikając w
.
-
Zapisać bieżący symbol do nowej biblioteki przechowywanej w pamięci RAM za pomocą ikony
.
-
Zapisać wybraną bibliotekę roboczą na dysku klikając w ikonę
.
Zaniechanie edycji symbolu
Symbol poddawany edycji jest tylko kopią roboczą symbolu, jaki rzeczywiście znajduje się w bibliotece. Tak długo jak nie zostanie on zapisany do pamięci RAM, można go przywrócić z biblioteki (lub przeładować z innej biblioteki) by porzucić zmiany dokonane w tym symbolu. Jeśli symbol jest już zapisany w pamięci RAM, a nie został zapisany w pliku biblioteki na dysku, można zamknąć i ponownie uruchomić Eeschema, a następnie odczytać go z biblioteki ponownie.
11.5. Tworzenie symboli
11.5.1. Tworzenie nowego symbolu
Nowy symbol można utworzyć klikając w
. Program
poprosi o podanie: nazwy symbolu, aby móc potem załadować go z biblioteki
(nazwa ta jest także zawartością pola Wartość dla LibEdit i używana jako
wartość domyślna dla pola Wartość w edytorze schematów), nazwy domyślnego
oznaczenia na schemacie (U, IC, R…), liczby elementów w pakiecie
(np. standardowy komponent 7400 posiada 4 części w jednej obudowie) i czy
istnieje przekształcona reprezentacja tego symbolu (standardowo De
Morgan). Jeśli nazwa odnośnika będzie pusta, domyślnie zostanie wpisane
“U”. Wszystkie te dane mogą być ustalone później, ale lepiej jest ustawić je
na początku tworzenia symbolu.

Początkowe stadium symbolu będzie wyglądać w sposób pokazany poniżej.

11.5.2. Tworzenie nowego symbolu na podstawie innego
Często symbol który chcemy utworzyć bardzo przypomina inny symbol, który znajduje się już w bibliotece. W tym przypadku łatwiej jest zmodyfikować istniejący symbol.
-
Załadować symbol który będzie użyty jako wzorcowy.
-
Kliknąć polecenie
lub zmodyfikować jego nazwę poprzez kliknięcie prawym klawiszem na nazwie i poddać edycji tekst pola Wartość. Jeślu użytkownich będzie chciał zduplikować bieżący symbol, zostanie poproszony o nazwę nowego symbolu.
-
Jeśli symbol wzorcowy posiadał aliasy, użytkownik zostanie poproszony o ich usunięcie z nowego symbolu, gdyż pozostawienie ich spowoduje konflikt. Jeśli podczas tego pytania odpowiemy "Nie", tworzenie nowego symbolu zostanie zaniechane. Biblioteki symboli nie mogą posiadać zdublowanych nazw lub aliasów.
-
Wykonać niezbędne edycje.
-
Zapisać symbol w załadowanej bibliotece poprzez
lub zapisać go do nowej biblioteki z pomocą polecenia
lub jeśli chcemy zapisać nowy element do innej istniejącej biblioteki wybrać inną bibliotekę klikając w
i zapisać nowy symbol.
-
Zapisać bieżącą bibliotekę na dysku klikając w ikonę
.
11.5.3. Edycja głównych właściwości symboli
Właściwości symbolu powinny być starannie ustalone podczas jego tworzenia,
chyba, że zostały one powielone z innego symbolu podczas jego klonowania. By
zmienić właściwości symbolu należy kliknąć na
by
otworzyć poniższe okno dialogowe.

It is very important to correctly set the number of units per package and the alternate symbolic representation, if enabled, because when pins are edited or created the corresponding pins for each unit will be affected. If you change the number of units per package after pin creation and editing, there will be additional work to add the new unit pins and symbols. Nevertheless, it is possible to modify these properties at any time.
Opcje graficzne "Pokaż numer pinu" i "Pokaż nazwę pinu" określają widoczność numeru pinu i tekstu z nazwą pinu. Tekst ten będzie widoczny, jeśli są zaznaczone odpowiednie opcje. Opcja "Nazwa pinu wewnątrz" określa położenie nazwy pinu względem tego pinu. Ten tekst będzie wyświetlany wewnątrz obrysu symbolu, jeśli opcja ta jest zaznaczona. W tym przypadku właściwość "Przesunięcie nazwy pinu" określa przesunięcie tekstu w stosunku do zakończenia pinu. Wartości z zakresu od 30 do 40 (w 1/1000 cala) są odpowiednie.
Poniższy przykład pokazuje symbol, w którym opcja "Umieść nazwę pinu wewnątrz" została odznaczona (należy zwrócić uwagę na położenie nazw i numerów pinów).

11.5.4. Symbole z reprezentacją alternatywną
Jeśli symbol posiada więcej niż jedną reprezentację, należy przed edycją
wybrać odpowiednią reprezentację. By dokonać edycji normalnej postaci
symbolu należy kliknąć w
.
By poddać edycji alternatywną reprezentację symbou, należy kliknąć na
. By wybrać częśc składową
poddawaną edycji, należy użyć polecenia
pokazanego poniżej.

11.6. Elementy graficzne symbolu
Elementy graficzne tworzą reprezentację symbolu na schemacie nie zawierając przy tym żadnych informacji o połączeniach. Przy ich tworzeniu można się posługiwać następującymi narzędziami:
-
Linie i linie łamane są definiowane poprzez punkty startowe i końcowe.
-
Prostokąty są definiowane przez punkty dwóch przeciwległych narożników.
-
Okręgi są definiowane przez punkt centralny i promień.
-
Łuki są definiowane przez punkt początkowy i końcowy łuku oraz ich punkt centralny. Kąt rozwarcia łuku może zawierać się w przedziale 0° to 180°.
Pasek narzędzi po prawej stronie głownego okna pozwala na umieszczanie w polu roboczym wszystkich podstawowych elementów graficznych potrzebnych do zaprojektowania symbolu w obu jego postaciach.
11.6.1. Przynależność elementów graficznych
Każdy z elementów graficznych (linia, łuk, okrąg, itd.) może być określona jako część wspólna dla wszystkich części składowych lub stylów, albo specyficzna dla nich. Opcje dotyczące przynależności elementu graficznego można łatwo wyświetlić klikając prawym klawiszem myszy nad wybranym elementem wywołując menu podręczne. Poniżej przykład menu dla elementu typu linia.

Można także kliknąć dwukrotnie na taki element by zmodyfikować jego właściwości. Poniżej przykład dla elemetu typu linia łamana.

Głównymi właściwościami dla elementów graficznych są:
-
Szerokość linii, która określa szerokość linii symbolu w obecnie wybranych jednostkach miary.
-
Opcja "Wspólne dla wszystkich części" określa czy element graficzny ma być rysowany dla każdej części w elementach posiadających więcej niż jedną część lub ma być rysowany gdy wybrano bieżącą część.
-
Opcja "Wspólne dla wszystkich stylów (DeMorgan)" określa czy element graficzny ma być rysowany dla każdej reprezentacji w elementach posiadających alternatywną reprezentację lub ma być rysowany tylko gdy wybrano bieżącą reprezentację.
-
Styl wypełnienia określa czy graficzna postać symbolu ma być rysowana jako niewypłeniona, wypełniona kolorem tła lub wypełniona kolorem.
11.6.2. Tekst jako grafika w symbolu
The
allows for the creation of
graphical text. Graphical text is always readable, even when the component
is mirrored. Please note that graphical text items are not fields.
11.7. Symbole wieloczęściowe, podwójna reprezentacja symboli
Symbole mogą mieć dwie reprezentacje (zwykły symbol i alternatywny symbol często określany jako "DeMorgan") i/lub posiadać więcej niż jedną część składową w obudowie (np. bramki logiczne). Niektóre symbole mogą posiadać też więcej niż jedną cześć składową, które różnią się swoją reprezentacją graficzną oraz układem wyprowadzeń.
Na przykład przekaźnik może być reprezentowane przez trzy różne elementy: cewka, pierwszy zestyk, drugi zestyk. Zarządzanie wieloczęściowymi układami scalonymi i komponentami z podwójną reprezentacją jest elastyczne. Rzeczywiście, pin może być: wspólny lub specyficzny dla różnych części, wspólny dla obu reprezentacji lub specyficzny dla każdej reprezentacji z osobna.
Domyślnie, piny są specyficzne dla każdej reprezentacji każdej części, ponieważ ich liczba różni się dla każdej części, a ich konstrukcja jest inna dla każdej reprezentacji. Gdy pin jest wspólny wystarczy wyprowadzić go tylko raz (np. w przypadku pinów zasilania). Również w przypadku projektu, który jest prawie zawsze identyczny dla każdej części (ale różni się pomiędzy normalną a skonwertowaną reprezentacją).
11.7.1. Przykład elementu posiadającego kilka części z różną reprezentacją graficzną
Jest to przypadek przekaźnika mechanicznego, który posiada dwa zestawy styków oraz cewkę (trzy różne części):
Opcja: piny nie są powiązane. Można dodawać lub edytować piny niezależnie dla każdej z części.

Musi być wybrana opcja informująca, że części składowe nie są wymienne między sobą.

Część 1

Część 2

Część 3

Ponieważ symbol nie posiada tej samej postaci graficznej dla wszystkich części, nie ma możliwości zamiany pomiędzy częściami A i C.
Elementy geometryczne w symbolach
Poniżej pokazano właściwości dla elementu graficznego. W powyższym przykładzie przekaźnika, trzy części składowe posiadają różne graficzne reprezentacje. Jednakże, każda część została utworzona oddzielnie i elementy graficzne muszą posiadać wyłączoną opcję "Wspólne dla wszystkich części".

11.8. Tworzenie i edycja wyprowadzeń (pinów)
Aby utworzyć i wstawić pin należy kliknąć w polecenie
. Aby dokonać prostych edycji
wyprowadzeń najlepiej jest kliknąć dwukrotnie na wybranym wyprowadzeniu, lub
kliknąć prawym klawiszem by skorzystać z menu podręcznego. Piny muszą być
tworzone starannie, ponieważ każdy błąd będzie mieć wpływ na projekt
PCB. Każdy dodany już pin można ponownie edytować, usunąć, obrócić lub
przenieść.
11.8.1. Wyprowadzenia - Informacje podstawowe
Pin jest zdefiniowany przez jego graficzną reprezentację, jego nazwę oraz "numer". Numer pinu jest określony przez 4 znaki i/lub cyfry. Dla narzędzia sprawdzania elektrycznych reguł projektowych (ERC) by było skuteczne, typ "elektryczny" (wejście, wyjście, trójstanowy…) także musi zostać poprawnie określone. Gdyby typ pinu nie został określony poprawnie, wynik testu ERC byłby w gruncie rzeczy nieprawidłowy.
Ważne uwagi:
-
Nie należy wstawiać znaków spacji w nazwach pinów i ich numeracji. Wstawienie spacji w nazwie spowoduje, że zostanie ona automatycznie zastąpiona przez znak dolnej kreski "_".
-
Nazwa pinu z sygnałem zanegowanym rozpoczyna się od znaku tyldy ~. Wtedy nad tekstem zostanie dorysowana pozioma kreska. Znak ten działa jak przełącznik, zatem możliwe jest również stosowanie go tylko dla wybranego fragmentu nazwy, np. PA0/~INT0~/PCI0, co w rezultacie da PA0/INT0/PCI0.
-
Jeśli nie ma nazwy pinu to w pole nazwa należy wstawić jeden znak tyldy.
-
Nazwy pinów rozpoczynające się od znaku hash #, są zarezerwowane dla symboli zasilania.
-
"Numer" pinu może składać się z maksymalnie czterech liter lub liczb (również mieszanie). 1, 2, … 9999 to prawidłowe nazwy, ale prawidłowymi nazwami będą też: A1, B3 (standardowa notacja w układach PGA/BGA) lub Anod, Gnd, Wire.
-
Symbol nie może posiadać zdublowanej "numeracji" pinów.
11.8.2. Właściwości wyprowadzeń

Okno z właściwościami pinu pozwala na zmiany charakterystycznych cech wyprowadzeń. Okno to ukazuje się zawsze podczas tworzenia nowego pinu, albo gdy w pin zostanie kliknięty dwukrotnie myszą. Jego zawartość pozwala na zdefiniowanie lub modyfikację parametrów takich jak:
-
Nazwa i rozmiar tekstu nazwy.
-
Numer i rozmiar tekstu numeru.
-
Długość.
-
Typ graficzny i elektryczny wyprowadzenia.
-
Przynależność do części i alternatywnej reprezentacji.
-
Widoczność.
11.8.3. Style graficzne pinów
Na poniższym rysunku w jednym elemencie zastosowano wszystkie rodzaje kształtów wyprowadzeń. Wybór formy ma wyłącznie znaczenie graficzne i nie ma żadnego znaczenia dla narzędzia ERC jak i dla funkcji związanych z tworzeniem list sieci.

11.8.4. Typy elektryczne
Wybór właściwego typu elektrycznego jest bardzo ważny dla narzędzia ERC. Zwykle typy elektryczne są definiowane jako:
-
Dwukierunkowy, który oznacza, że piny mogą pracować jako wejścia lub wyjścia zależnie od konfiguracji (na przykład szyna danych mikroprocesora).
-
Trójstanowy, posiadający zwykle trzy aktywne stany.
-
Psywny, używany w elementach pasywnych, takich jak rezystory, złącza, itp.
-
Nieokreślony, używany gdy sprawdzenie ERC nie ma znaczenia dla tego pinu.
-
Wejście zasilania używane jest dla pinów, ktróre dostarczają napięcie zasilające. Piny zasilania są automatycznie łączone z innymi pinami wejścia zasilania z tą samą nazwą.
-
Wyjścia zasilania są używane w przypadku regulatorów napięć.
-
Otwarty emiter i otwarty kolektor, które można używać w przypadku wyjść logicznych lub w komparatorach do łączenia ich wyjść (tzw. suma na drucie).
-
Nie połączone, używane gdy komponent ma pin, który nie jest wewnętrznie połączony.
11.8.5. Wyprowadzenia - Zmiany globalne
W przypadku wielokrotnych zmian jednego typu z parametrów: rozmiar pinu, rozmiar jego nazwy, czy numeru pinu, można użyć menu podręcznego, a w nim opcji zgrupowanych pod poleceniem Globalne. Za pomocą tych opcji można jedną z tych cech skopiować do innych pinów na podstawie pinu wskazywanego w danej chwili.

11.8.6. Wyprowadzenia - Symbole wieloczęściowe i podwójna reprezentacja
Symbole z wieloma częściami i/lub reprezentacjami stanowią szczególny problem dla tworzenia pinów i ich edycji. O ile większość z pinów jest specyficzna dla każdej części (bo ich numer pinu jest specyficzny dla każdej części) i do każdej reprezentacji (bo ich forma jest specyficzna dla każdej z reprezentacji), tworzenie i edycja pinów byłaby prawdopodobnie długa i męcząca. Domyślnie, dla symboli z wieloma częściami i/lub reprezentacją podwójną, zmiany te są wykonywane dla wszystkich pinów odpowiadających częściom i reprezentacjom podczas tworzenia lub edycji (z wyjątkiem formy i numeracji), usuwania lub przenoszenia pinu, (tj. dla wszystkich pinów umieszczonych w tej samej lokacji).
Jedynym wyjątkiem od tego to graficzny typ pinów i nazwa. Ta zależność
została wprowadzona by umożliwić łatwiejsze tworzenie pinów i ich edycję w
najczęstszych przypadkach. Zależność może być przełączona za pomocą
na głównym pasku
narzędzi. Pozwala to na całkowicie niezależne tworzenie pinów dla każdej
części i reprezentacji.
Symbol może mieć dwie reprezentacje symboliczne (reprezentacja znana jako "De Morgan") i może się składać z więcej niż jednej części, jak w przypadku układów z bramkami logicznymi. Dla niektórych elementów, może zaistnieć potrzeba kilku różnych elementów graficznych i pinów. Podobnie jak w przypadku przykładu przekaźnika pokazanym w punkcie 11.7.1, przekaźnik może być reprezentowany jako trzy odrębne jednostki: cewka, przełącznik 1, przełącznik 2.
Zarządzanie elementami z wieloma częściami i symbolami z alternatywnymi reprezentacjami jest elastyczne. Pin może być wspólny lub specyficzny dla różnych części. Pin może być wspólny dla obu reprezentacji lub specyficzny dla każdej reprezentacji.
Domyślnie piny są specyficzne dla każdej reprezentacji każdej części, ponieważ ich ilość może być różna dla każdej części, a ich konstrukcja jest inna dla każdej reprezentacji. Gdy pin jest wspólny dla wszystkich urządzeń, należy go narysować tylko raz jak w przypadku pinów zasilania.
Jako przykład niech posłuży pin wyjściowy czterokrotnej dwuwejściowej bramki
NAND 7400. Ponieważ istnieją cztery części i dwie reprezentacje istnieje
osiem oddzielnych pinów wyjściowych w jego definicji. Podczas tworzenia
nowego symbolu 7400, część A z normalnej reprezentacji będzie wyświetlana w
edytorze bibliotek. Aby edytować styl pinu w alternatywnej reprezentacji, to
najpierw musi być włączony przycisk
na pasku narzędzi. Aby
zmienić numer pinu dla poszczególnych części, należy wybrać odpowiednią
część za pomocą listy rozwijanej
.
11.9. Pola symboli
Wszystkie elementy bibliotek mają zdefiniowane cztery pola domyślne. Pola Odniesienie, Wartość, Footprint, łącze do dokumentacji są tworzone gdy symbol jest tworzony lub kopiowany. W zasadzie tylko Odniesienie i Wartość są wymagane. Dla istniejących pól, można użyć poleceń z menu kontekstowego klikając prawym klawiszem na wyprowadzeniu. Symbole zdefiniowane w bibliotekach zwykle posiadają domyślnie wypełnione te cztery pola. Dodatkowe pola, takie jak: sprzedawca, numer części, koszt części, itd. mogą być dodane do symboli już na etapie bibliotek ale ogólnie jest to wykonywane podczas pracy nad schematem, gdyż dodatkowe pola mogą być zastosowane do wszystkich składników na schemacie.
11.9.1. Edycja pól symboli
By dokonać edycji istniejącego pola symbolu, należy kliknąć prawym klawiszem na polu tekstowym by wywołać menu kontekstowe pokazane poniżej.

To edit undefined fields, add new fields, or delete optional fields
on the main tool bar to open the
field properties dialog shown below.

Pola to teksty przypisane do symbolu. Nie należy ich mylić z tekstem graficznym jaki może zostać umieszczony w graficznej reprezentacji symbolu.
Ważne uwagi:
-
Modyfikacja tekstu w polu Wartość, równa się utworzeniu nowego symbolu na podstawie starego, służącego wtedy za bazę dla nowego symbolu. Ten nowy symbol po zapisaniu go w aktualnie aktywnej bibliotece ma nazwę taką jak zawarta w polu Wartość.
-
Aby edytować niewidoczne lub puste pola trzeba skorzystać z okna edycji przedstawionego powyżej.
-
Pole Footprint zawiera bezwzględny odnośnik do footprintu w postaci LIBNAME:FPNAME, gdzie LIBNAME to nazwa biblioteki footprintów zdefiniowana w tabeli bibliotek (zobacz rozdział "Tabela Bibliotek Footprintów" w podręczniku Pcbnew) oraz FPNAME, która jest nazwą footprintu w bibliotece LIBNAME.
11.10. Tworzenie symboli zasilania
Symbole portów zasilania są tworzone tak jak zwykłe symbole. Może być to przydatne w celu zebrania ich w specjalnej bibliotece takiej jak power.lib. Zawierają się one w swoim symbolu graficznym (żądanej postaci) i w pinie o typie "Niewidoczne źródło zasilania". Będą one zatem traktowane jak każdy inny symbol przeznaczony dla oprogramowania do tworzenia schematów elektronicznych. Jednakże, pewne środki ostrożności są dalej niezbędne. Poniżej mamy symbol zasilania (zasilanie +12V):

By utworzyć port zasilania, należy wykonać następujące kroki:
-
Dodać pin typu "Wejście zasilania" nazwany +12V (Ważne, ponieważ połączenie pomiędzy poszczególnymi portami odbywa się po nazwie), z numerem pinu 1 (numer nie jest tak istotny), z długością 0 i stylem graficznym "Linia".
-
Umieścić na przykład mały okrąg i jeden segment od niego jak pokazano powyżej.
-
Ustawić punkt zaczepienia w miejscu pinu.
-
Wpisać w pole Wartość +12V.
-
Pole Oznaczenie musi mieć postać \#+12V. Sam tekst nie jest tak istotny, ale pierwszy znak musi być znakiem kratki # by zaznaczyć, że jest to symbol zasilania. Z użytej konwencji wynika, że każdy element którego oznaczenie rozpoczyna się od # nie pojawia się na liście sieci i jego oznaczenie nie jest pokazywane.
Łatwiejszą metodą tworzenia nowego portu zasilania jest użycie innego portu jako wzorca:
-
Załadować istniejący symbol zasilania.
-
Zmienić nazwę pinu razem z nazwą nowego symbolu zasilania.
-
Dokonać edycji pola Wartość by jego zawartość była zgodna z nazwą pinu, jeśli chcemy by była ona wyświetlana.
-
Zapisać nowy symbol.
12. Edytor bibliotek LibEdit - Komponenty
12.1. Przegląd zagadnień
Symbol składa się z kilku elementów
-
Jego postaci graficznej (kształty geometryczne, teksty).
-
Wyprowadzenia (piny).
-
Pola lub teksty powiązane, wykorzystywane przez post-procesory: tworzące listy sieci, listy materiałowe…
Dwa pola są inicjowane zawsze: Oznaczenie i Wartość. Nazwa projektu powiązana ze składnikiem, nazwa powiązanego z nim modułu, albo inne pola pozostałe są dowolne i mogą pozostać ogólnie puste, albo mogą być wypełnione podczas rysowania schematu.
Jednakże, zarządzanie dokumentacją załączoną do symbolu już na etapie jego projektowania pozwala na lepsze wyszukiwanie, użycie i zarządzanie bibliotekami. Powiązana dokumentacja zawiera m.in.:
-
Linię komentarza.
-
Linię ze słowami kluczowymi takimi jak np.: TTL CMOS NAND2, oddzielonymi spacjami
-
Linię z nazwą pliku zewnętrznej dokumentacji (np. notę aplikacyjną, notę katalogową.).
Domyślnie pliki te są wyszukiwane w następujących katalogach:
kicad/share/library/doc
Jeśli nie znaleziono:
kicad/library/doc
W systemie Linux:
/usr/local/kicad/share/library/doc
/usr/share/kicad/library/doc
/usr/local/share/kicad/library/doc
Słowa kluczowe pozwalają na selektywne wyszukiwanie symboli według różnych kryteriów wyboru. Komentarze i słowa kluczowe są wyświetlane w różnych miejscach, szczególnie jednak po wybraniu elementu w bibliotece.
Symbol posiada także punkt zaczepienia. Obrót albo odbicie jest wykonywane w stosunku do tego punktu, a także podczas umieszczania symbolu ten punkt stosuje się jako punkt odniesienia. Zatem użyteczne staje się położenie tego punktu bardzo dokładnie.
Element może posiadać również aliasy, czyli nazwy alternatywne. Pozwala to na znaczne zmniejszenie liczby elementów składowych bibliotek, które muszą być tworzone (np. 74LS00 może posiadać aliasy takie jak 7400, 74HC00, 74HCT00…).
Wreszcie, symbole są zwykle umieszczane w kilku bibliotekach (klasyfikowanych według tematów, lub producentów…), w celu ułatwienia zarządzania nimi.
12.2. Pozycja punktu zaczepienia
Domyślnie punkt zaczepienia znajduje się na pozycji (0, 0) i jest pokazywany jako dwie krzyżujące się osie.

Punkt zaczepienia może być przeniesiony wybierając polecenie
i klikając w jego nowym
punkcie położenia. Rysunek zostanie automatycznie wycentrowany wobec nowego
punktu zaczepienia.
12.3. Aliasy
Alias jest nazwą alternatywną odpowiadającą temu samego symbolowi w bibliotece. Symbole o podobnym rozkładzie pinów i podobnej reprezentacji mogą być reprezentowane tylko przez jeden symbol o kilku aliasach (np.: 74LS00 może posiadać aliasy takie jak 7400, 74HC00, 74HCT00).
Korzystanie z aliasów pozwala na tworzenie kompletnych bibliotek symboli znacznie szybciej. Oprócz tego biblioteki takie są znacznie bardziej zwarte i są ładowane szybciej.
Aby zmodyfikować listę aliasów, należy wybrać w głównym oknie edycji narzędzieimage:images/icons/part_properties.png[icons/part_properties_png] i wybrać zakładkę Alias:

Za pomocą klawiszy obok listy można dodawać lub usuwać aliasy. Bieżący alias nie może być oczywiście zmieniony ponieważ jest edytowany.
By usunąć wszystkie aliasy należy najpierw wybrać symbol główny (pierwszy z listy aliasów na górnym pasku narzędzi edytora bibliotek).
12.4. Pola specjalne
The field editor is called via the icon
.
Istnieją cztery specjalne pola (tekst przypisany do symbolu) oraz pola użytkownika, które może dodawać za pomocą poleceń znajdujących się pod tabelą zawartości pól.

Pola specjalne to:
-
Odnośnik.
-
Wartość: Jest to nazwa symbolu w bibliotece, oraz domyślna wartość jaka zostanie umieszczona na schemacie.
-
Footprint: nazwa modułu używanego na PCB. Nie jest zbyt potrzebna jeśli używamy CvPcb do ustalania listy footprintów.
-
Dokumentacja: zarezerwowane (tutaj nie używane).
12.5. Dokumentowanie symboli
Aby dokonać edycji opcji związanych z informacjami dokumentującymi symboli,
należy wywołać główne okno właściwości symbolu za pomocą ikony
oraz
przełączyć się na zakładkę Opis.

Należy pamiętać, aby wybrać odpowiedni alias lub symbol główny, ponieważ opcje dokumentacyjne są jedyną cechą, którą różnią się poszczególne aliasy. Polecenie "Kopiuj pola z elem. nadrzędnego" pozwala na skopiowanie tych informacji z dokumentacji symbolu głównego do aktualnie edytowanego aliasu.
12.5.1. Słowa kluczowe
Słowa kluczowe pozwalają na wyszukiwanie symboli w sposób selektywny według określonych kryteriów wyboru (funkcja, rodzina, technologia, itp.).
Wielkość liter nie jest istotna, bo narzędzie zawarte w Eeschema nie rozróżnia wielkość liter. Najbardziej popularne słowa kluczowe użyte w bibliotekach to:
-
CMOS TTL dla rodzin układów logicznych
-
AND2 NOR3 XOR2 INV … dla bramek (AND2 = 2 wejściowa bramka AND, NOR3 = 3 wejściowa bramka NOR).
-
JKFF, DFF … dla przerzutników typu JK lub D
-
ADC, DAC, MUX …
-
OpenCol dla bramek posiadających wyjścia typu otwarty kolektor. Tak więc, jeśli w oprogramowaniu do edycji schematów będziemy szukać symboli za pomocą słów kluczowych NAND2 OpenCol, Eeschema wyświetli listę symboli pasujących do tych 2 słów kluczowych.
12.5.2. Dokumentacja symbolu
Linia oznaczenie (i słowa kluczowe) jest wyświetlana w różnych menu, w szczególności po wybraniu elementu na wyświetlonej liście komponentów biblioteki i w menu ViewLib.
Jeśli plik dokumentacji istnieje (jest wpisany w to pole), jest on również dostępny z poziomu oprogramowania do tworzenia schematów w menu wyświetlanym przy kliknięciu prawym przyciskiem myszy na komponencie.
12.5.3. Dołączony plik dokumentacji (_Nazwa pliku z dokumentacją_)
Wskazuje na dostępny plik z dokumentacją symbolu lub jego schematem aplikacyjnym. Może to być plik w formacie PDF (zwykle stosowany w takim przypadku) dostępny lokalnie na dysku twardym, ale można stosować również ścieżki URL by umożliwić dostęp do zasobów zdanych (np. na stronie WWW producenta).
12.5.4. Filtrowanie footprintów dla CvPcb
Za pomocą listy znajdującej się na zakładce Filtr footprintów można określić jakie moduły byłby odpowiednie dla obecnie projektowanego symbolu. Listę tą wykorzystuje CvPcb by podczas przypisywania obudów można było odfiltrować listę dostępnych modułów tylko do tych najbardziej odpowiednich. Jeśli nie chcemy korzystać z tych możliwości można albo opcję filtracji w CvPcb wyłączyć, albo pozostawić tą listę pustą.

Na liście można stosować szeroko stosowane znaki maskujące.
S014* pozwala CvPcb na wyświetlenie wszystkich footprintów, których nazwa rozpoczyna się znakami SO14.
Zaś R? Pozwala na wyświetlenie tylko tych footprintów, których nazwa będzie składać się z dwóch znaków, przy czym nazwa taka będzie musiała się rozpoczynać znakiem R.
Poniżej przedstawiono widok okna CvPcb z włączoną jak i wyłączoną filtracją:
Z filtrowaniem

Bez filtracji

12.6. Biblioteka wzorców
W łatwy sposób można skompilować podręczną biblioteczkę z rysunkami, zawierającą często używane grafiki. Można to wykorzystywać do tworzenia podstawowych komponentów składowych symboli (np. trójkąty, prostokąty, kształty bramek AND, OR, XOR…) w celu ich późniejszego ponownego użycia.
Pliki te są przechowywane domyślnie w katalogu biblioteki jako poszczególne pliki z rozszerzeniem .sym. Wzorce te nie są zbierane w jednym pliku bibliotecznym jaksymbole, ponieważ zazwyczaj nie są zbyt liczne.
12.6.1. Eksport/Tworzenie wzorca
Symbol może być łatwo wyeksportowany jako wzorzec graficzny za pomocą
narzędzia eksportu
znajdującego się na prawym pasku narzędzi. Generalnie przy tworzeniu wzorców
głównie chodzi o samą grafikę, zatem dobrym pomysłem jest by przed
eksportem, usunąć istniejące piny.
12.6.2. Importowanie wzorca
Podczas edycji symbolu można za pomocą narzędzia "Importuj" istniejące
rysunki
dodać zapisany wcześniej wzorzec. Zaimportowana grafika zostanie dodana tak
jakby została ona właśnie narysowana.
13. Symbol Library Browser
13.1. Wprowadzenie
The Symbol Library Browser allows you to quickly examine the content of
symbol libraries. The Symbol Library Viewer can be accessed by the main
toolbar button
or by the
"Library Browser" entry in the "Tool" menu.

13.2. Ekran główny

To examine the contents of a library, select a library from the list on the left hand pane. All symbols in the selected library will appear in the second pane. Select a symbol name to view the symbol.

13.3. Symbol Library Browser Top Toolbar
The top tool bar in Symbol Library Brower is shown below.

Dostępne polecenia to:
|
Wybór przeglądanej biblioteki, który może być również zrealizowany poprzez wybór z listy. |
|
Selection of the symbol which can be also selected in the displayed list. |
|
Display previous symbol. |
|
Display next symbol. |
|
Narzędzia zmiany powiększenia widoku. |
|
Wybór reprezentacji elementu (normalny lub skonwertowany) jeśli takowy istnieje. |
|
Selection of the unit for symbols that contain multiple units. |
|
If it exist, display the associated documents. Exists only when called by the place symbol dialog frame from Eeschema. |
|
Close the browser and place the selected symbol in Eeschema. This icon is only displayed when browser has been called from Eeschema (double click on a symbol in the component chooser). |
14. Tworzenie własnych list sieci i plików BOM
14.1. Plik pośredniej listy sieci
Lista materiałowa BOM i lista sieci może być skonwertowana z formatu pośredniego tworzonego przez Eeschema.
Plik ten jest zbudowany z tagów XML i nosi nazwę pliku pośredniego listy sieci. Ponieważ zawiera on jednak wiele danych na temat komponentów schematu, może być też wykorzystywany do tworzenia list materiałowych BOM lub innych raportów - nie tylko list sieci.
W zależności od formatu wyjściowego (BOM, nowe listy sieci), tylko niektóre sekcje tego pliku będą wykorzystywane w trakcie przetwarzania.
14.1.1. Przykładowy schemat

14.1.2. Przykład pośrednej listy sieci
Odpowiednia dla przedstawionego schematu pośrednia lista sieci (używając składni XML) jest pokazana poniżej.
<?xml version="1.0" encoding="utf-8"?> <export version="D"> <design> <source>F:\kicad_aux\netlist_test\netlist_test.sch</source> <date>29/08/2010 20:35:21</date> <tool>eeschema (2010-08-28 BZR 2458)-unstable</tool> </design> <components> <comp ref="P1"> <value>CONN_4</value> <libsource lib="conn" part="CONN_4"/> <sheetpath names="/" tstamps="/"/> <tstamp>4C6E2141</tstamp> </comp> <comp ref="U2"> <value>74LS74</value> <libsource lib="74xx" part="74LS74"/> <sheetpath names="/" tstamps="/"/> <tstamp>4C6E20BA</tstamp> </comp> <comp ref="U1"> <value>74LS04</value> <libsource lib="74xx" part="74LS04"/> <sheetpath names="/" tstamps="/"/> <tstamp>4C6E20A6</tstamp> </comp> <comp ref="C1"> <value>CP</value> <libsource lib="device" part="CP"/> <sheetpath names="/" tstamps="/"/> <tstamp>4C6E2094</tstamp> </comp> <comp ref="R1"> <value>R</value> <libsource lib="device" part="R"/> <sheetpath names="/" tstamps="/"/> <tstamp>4C6E208A</tstamp> </comp> </components> <libparts> <libpart lib="device" part="C"> <description>Condensateur non polarise</description> <footprints> <fp>SM*</fp> <fp>C?</fp> <fp>C1-1</fp> </footprints> <fields> <field name="Reference">C</field> <field name="Value">C</field> </fields> <pins> <pin num="1" name="~" type="passive"/> <pin num="2" name="~" type="passive"/> </pins> </libpart> <libpart lib="device" part="R"> <description>Resistance</description> <footprints> <fp>R?</fp> <fp>SM0603</fp> <fp>SM0805</fp> <fp>R?-*</fp> <fp>SM1206</fp> </footprints> <fields> <field name="Reference">R</field> <field name="Value">R</field> </fields> <pins> <pin num="1" name="~" type="passive"/> <pin num="2" name="~" type="passive"/> </pins> </libpart> <libpart lib="conn" part="CONN_4"> <description>Symbole general de connecteur</description> <fields> <field name="Reference">P</field> <field name="Value">CONN_4</field> </fields> <pins> <pin num="1" name="P1" type="passive"/> <pin num="2" name="P2" type="passive"/> <pin num="3" name="P3" type="passive"/> <pin num="4" name="P4" type="passive"/> </pins> </libpart> <libpart lib="74xx" part="74LS04"> <description>Hex Inverseur</description> <fields> <field name="Reference">U</field> <field name="Value">74LS04</field> </fields> <pins> <pin num="1" name="~" type="input"/> <pin num="2" name="~" type="output"/> <pin num="3" name="~" type="input"/> <pin num="4" name="~" type="output"/> <pin num="5" name="~" type="input"/> <pin num="6" name="~" type="output"/> <pin num="7" name="GND" type="power_in"/> <pin num="8" name="~" type="output"/> <pin num="9" name="~" type="input"/> <pin num="10" name="~" type="output"/> <pin num="11" name="~" type="input"/> <pin num="12" name="~" type="output"/> <pin num="13" name="~" type="input"/> <pin num="14" name="VCC" type="power_in"/> </pins> </libpart> <libpart lib="74xx" part="74LS74"> <description>Dual D FlipFlop, Set & Reset</description> <docs>74xx/74hc_hct74.pdf</docs> <fields> <field name="Reference">U</field> <field name="Value">74LS74</field> </fields> <pins> <pin num="1" name="Cd" type="input"/> <pin num="2" name="D" type="input"/> <pin num="3" name="Cp" type="input"/> <pin num="4" name="Sd" type="input"/> <pin num="5" name="Q" type="output"/> <pin num="6" name="~Q" type="output"/> <pin num="7" name="GND" type="power_in"/> <pin num="8" name="~Q" type="output"/> <pin num="9" name="Q" type="output"/> <pin num="10" name="Sd" type="input"/> <pin num="11" name="Cp" type="input"/> <pin num="12" name="D" type="input"/> <pin num="13" name="Cd" type="input"/> <pin num="14" name="VCC" type="power_in"/> </pins> </libpart> </libparts> <libraries> <library logical="device"> <uri>F:\kicad\share\library\device.lib</uri> </library> <library logical="conn"> <uri>F:\kicad\share\library\conn.lib</uri> </library> <library logical="74xx"> <uri>F:\kicad\share\library\74xx.lib</uri> </library> </libraries> <nets> <net code="1" name="GND"> <node ref="U1" pin="7"/> <node ref="C1" pin="2"/> <node ref="U2" pin="7"/> <node ref="P1" pin="4"/> </net> <net code="2" name="VCC"> <node ref="R1" pin="1"/> <node ref="U1" pin="14"/> <node ref="U2" pin="4"/> <node ref="U2" pin="1"/> <node ref="U2" pin="14"/> <node ref="P1" pin="1"/> </net> <net code="3" name=""> <node ref="U2" pin="6"/> </net> <net code="4" name=""> <node ref="U1" pin="2"/> <node ref="U2" pin="3"/> </net> <net code="5" name="/SIG_OUT"> <node ref="P1" pin="2"/> <node ref="U2" pin="5"/> <node ref="U2" pin="2"/> </net> <net code="6" name="/CLOCK_IN"> <node ref="R1" pin="2"/> <node ref="C1" pin="1"/> <node ref="U1" pin="1"/> <node ref="P1" pin="3"/> </net> </nets> </export>
14.2. Konwersja na nowy format listy sieci
Poprzez zastosowanie filtra dla tego pliku pośredniego z listą sieci, można wygenerować listę sieci w wielu innych formatach oraz listę materiałową BOM. Ponieważ jest to tylko transformacja jednej postaci tekstu na drugą postać, filtr ten można łatwo napisać w języku PYTHON lub XSLT.
XSLT sam w sobie jest językiem XML przeznaczonym do definiowania transformacji dla XML. W przypadku użycia XSLT, można użyć programu xsltproc.exe do odczytu pliku XML z zastosowaniem przy tym arkuszu stylu (tzw. "filtr") i zapisaniu danych wynikowych. Dlatego użytkownik musi wcześniej utworzyć odpowiedni arkusz stylu pliku wyjściowego używając konwencji przyjętych w XSLT. Cały proces konwersji jest przejrzysty i obsługiwany przez Eeschema zaraz jak tylko zostanie skonfugurowany.
14.3. Konwerter XSLT
Dokumentacja XSL Transformations (XSLT) znajduje się pod adresem:
http://www.w3.org/TR/xslt
14.3.1. Przykład tworzenia pliku z listą sieci PADS-PCB
Format PADS-PCB posiada dwie sekcje pliku listy sieci.
-
Listę footprint-ów
-
Listę sieci (zgrupowane wyprowadzenia według sieci)
Poniżej znajduje się przykład arkusza stylów, na podstawie którego można skonwertować plik pośredni listy do jej odpowiednika w formacie akceptowanym przez PADS-PCB:
<?xml version="1.0" encoding="ISO-8859-1"?> <!--XSL style sheet to Eeschema Generic Netlist Format to PADS netlist format Copyright (C) 2010, SoftPLC Corporation. GPL v2. How to use: https://lists.launchpad.net/kicad-developers/msg05157.html --> <!DOCTYPE xsl:stylesheet [ <!ENTITY nl "
"> <!--new line CR, LF --> ]> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text" omit-xml-declaration="yes" indent="no"/> <xsl:template match="/export"> <xsl:text>*PADS-PCB*&nl;*PART*&nl;</xsl:text> <xsl:apply-templates select="components/comp"/> <xsl:text>&nl;*NET*&nl;</xsl:text> <xsl:apply-templates select="nets/net"/> <xsl:text>*END*&nl;</xsl:text> </xsl:template> <!-- for each component --> <xsl:template match="comp"> <xsl:text> </xsl:text> <xsl:value-of select="@ref"/> <xsl:text> </xsl:text> <xsl:choose> <xsl:when test = "footprint != '' "> <xsl:apply-templates select="footprint"/> </xsl:when> <xsl:otherwise> <xsl:text>unknown</xsl:text> </xsl:otherwise> </xsl:choose> <xsl:text>&nl;</xsl:text> </xsl:template> <!-- for each net --> <xsl:template match="net"> <!-- nets are output only if there is more than one pin in net --> <xsl:if test="count(node)>1"> <xsl:text>*SIGNAL* </xsl:text> <xsl:choose> <xsl:when test = "@name != '' "> <xsl:value-of select="@name"/> </xsl:when> <xsl:otherwise> <xsl:text>N-</xsl:text> <xsl:value-of select="@code"/> </xsl:otherwise> </xsl:choose> <xsl:text>&nl;</xsl:text> <xsl:apply-templates select="node"/> </xsl:if> </xsl:template> <!-- for each node --> <xsl:template match="node"> <xsl:text> </xsl:text> <xsl:value-of select="@ref"/> <xsl:text>.</xsl:text> <xsl:value-of select="@pin"/> <xsl:text>&nl;</xsl:text> </xsl:template> </xsl:stylesheet>
Finalny plik wyjściowy po zastosowaniu tego arkusza jako filtra dla xsltproc:
*PADS-PCB* *PART* P1 unknown U2 unknown U1 unknown C1 unknown R1 unknown *NET* *SIGNAL* GND U1.7 C1.2 U2.7 P1.4 *SIGNAL* VCC R1.1 U1.14 U2.4 U2.1 U2.14 P1.1 *SIGNAL* N-4 U1.2 U2.3 *SIGNAL* /SIG_OUT P1.2 U2.5 U2.2 *SIGNAL* /CLOCK_IN R1.2 C1.1 U1.1 P1.3 *END*
Polecenie które dokonało takiej konwersji wygląda następująco:
kicad\\bin\\xsltproc.exe -o test.net kicad\\bin\\plugins\\netlist_form_pads-pcb.xsl test.tmp
14.3.2. Przykład tworzenia listy sieci programu Cadstar
Format Cadstar składa się z dwóch sekcji.
-
Listę footprint-ów
-
Listę sieci (zgrupowane wyprowadzenia według sieci)
Tutaj znajduje się przykład pliku z arkuszem stylu do przeprowadzenie tej konwersji:
<?xml version="1.0" encoding="ISO-8859-1"?> <!--XSL style sheet to Eeschema Generic Netlist Format to CADSTAR netlist format Copyright (C) 2010, Jean-Pierre Charras. Copyright (C) 2010, SoftPLC Corporation. GPL v2. <!DOCTYPE xsl:stylesheet [ <!ENTITY nl "
"> <!--new line CR, LF --> ]> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text" omit-xml-declaration="yes" indent="no"/> <!-- Netlist header --> <xsl:template match="/export"> <xsl:text>.HEA&nl;</xsl:text> <xsl:apply-templates select="design/date"/> <!-- Generate line .TIM <time> --> <xsl:apply-templates select="design/tool"/> <!-- Generate line .APP <eeschema version> --> <xsl:apply-templates select="components/comp"/> <!-- Generate list of components --> <xsl:text>&nl;&nl;</xsl:text> <xsl:apply-templates select="nets/net"/> <!-- Generate list of nets and connections --> <xsl:text>&nl;.END&nl;</xsl:text> </xsl:template> <!-- Generate line .TIM 20/08/2010 10:45:33 --> <xsl:template match="tool"> <xsl:text>.APP "</xsl:text> <xsl:apply-templates/> <xsl:text>"&nl;</xsl:text> </xsl:template> <!-- Generate line .APP "eeschema (2010-08-17 BZR 2450)-unstable" --> <xsl:template match="date"> <xsl:text>.TIM </xsl:text> <xsl:apply-templates/> <xsl:text>&nl;</xsl:text> </xsl:template> <!-- for each component --> <xsl:template match="comp"> <xsl:text>.ADD_COM </xsl:text> <xsl:value-of select="@ref"/> <xsl:text> </xsl:text> <xsl:choose> <xsl:when test = "value != '' "> <xsl:text>"</xsl:text> <xsl:apply-templates select="value"/> <xsl:text>"</xsl:text> </xsl:when> <xsl:otherwise> <xsl:text>""</xsl:text> </xsl:otherwise> </xsl:choose> <xsl:text>&nl;</xsl:text> </xsl:template> <!-- for each net --> <xsl:template match="net"> <!-- nets are output only if there is more than one pin in net --> <xsl:if test="count(node)>1"> <xsl:variable name="netname"> <xsl:text>"</xsl:text> <xsl:choose> <xsl:when test = "@name != '' "> <xsl:value-of select="@name"/> </xsl:when> <xsl:otherwise> <xsl:text>N-</xsl:text> <xsl:value-of select="@code"/> </xsl:otherwise> </xsl:choose> <xsl:text>"&nl;</xsl:text> </xsl:variable> <xsl:apply-templates select="node" mode="first"/> <xsl:value-of select="$netname"/> <xsl:apply-templates select="node" mode="others"/> </xsl:if> </xsl:template> <!-- for each node --> <xsl:template match="node" mode="first"> <xsl:if test="position()=1"> <xsl:text>.ADD_TER </xsl:text> <xsl:value-of select="@ref"/> <xsl:text>.</xsl:text> <xsl:value-of select="@pin"/> <xsl:text> </xsl:text> </xsl:if> </xsl:template> <xsl:template match="node" mode="others"> <xsl:choose> <xsl:when test='position()=1'> </xsl:when> <xsl:when test='position()=2'> <xsl:text>.TER </xsl:text> </xsl:when> <xsl:otherwise> <xsl:text> </xsl:text> </xsl:otherwise> </xsl:choose> <xsl:if test="position()>1"> <xsl:value-of select="@ref"/> <xsl:text>.</xsl:text> <xsl:value-of select="@pin"/> <xsl:text>&nl;</xsl:text> </xsl:if> </xsl:template> </xsl:stylesheet>
Poniżej znajduje się plik wyjściowy dla programu Cadstar.
.HEA .TIM 21/08/2010 08:12:08 .APP "eeschema (2010-08-09 BZR 2439)-unstable" .ADD_COM P1 "CONN_4" .ADD_COM U2 "74LS74" .ADD_COM U1 "74LS04" .ADD_COM C1 "CP" .ADD_COM R1 "R" .ADD_TER U1.7 "GND" .TER C1.2 U2.7 P1.4 .ADD_TER R1.1 "VCC" .TER U1.14 U2.4 U2.1 U2.14 P1.1 .ADD_TER U1.2 "N-4" .TER U2.3 .ADD_TER P1.2 "/SIG_OUT" .TER U2.5 U2.2 .ADD_TER R1.2 "/CLOCK_IN" .TER C1.1 U1.1 P1.3 .END
14.3.3. Przykład tworzenia listy sieci programu OrcadPCB2
Ten format posiada tylko jedną sekcję - listę footprintów. Każdy z footprintów zawiera swoją listę wyprowadzeń z odnośnikami do właściwych sieci.
Arkusz stylów wymagany do przeprowadzenia tej konwersji:
<?xml version="1.0" encoding="ISO-8859-1"?> <!--XSL style sheet to Eeschema Generic Netlist Format to CADSTAR netlist format Copyright (C) 2010, SoftPLC Corporation. GPL v2. How to use: https://lists.launchpad.net/kicad-developers/msg05157.html --> <!DOCTYPE xsl:stylesheet [ <!ENTITY nl "
"> <!--new line CR, LF --> ]> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text" omit-xml-declaration="yes" indent="no"/> <!-- Netlist header Creates the entire netlist (can be seen as equivalent to main function in C --> <xsl:template match="/export"> <xsl:text>( { Eeschema Netlist Version 1.1 </xsl:text> <!-- Generate line .TIM <time> --> <xsl:apply-templates select="design/date"/> <!-- Generate line eeschema version ... --> <xsl:apply-templates select="design/tool"/> <xsl:text>}&nl;</xsl:text> <!-- Generate the list of components --> <xsl:apply-templates select="components/comp"/> <!-- Generate list of components --> <!-- end of file --> <xsl:text>)&nl;*&nl;</xsl:text> </xsl:template> <!-- Generate id in header like "eeschema (2010-08-17 BZR 2450)-unstable" --> <xsl:template match="tool"> <xsl:apply-templates/> </xsl:template> <!-- Generate date in header like "20/08/2010 10:45:33" --> <xsl:template match="date"> <xsl:apply-templates/> <xsl:text>&nl;</xsl:text> </xsl:template> <!-- This template read each component (path = /export/components/comp) creates lines: ( 3EBF7DBD $noname U1 74LS125 ... pin list ... ) and calls "create_pin_list" template to build the pin list --> <xsl:template match="comp"> <xsl:text> ( </xsl:text> <xsl:choose> <xsl:when test = "tstamp != '' "> <xsl:apply-templates select="tstamp"/> </xsl:when> <xsl:otherwise> <xsl:text>00000000</xsl:text> </xsl:otherwise> </xsl:choose> <xsl:text> </xsl:text> <xsl:choose> <xsl:when test = "footprint != '' "> <xsl:apply-templates select="footprint"/> </xsl:when> <xsl:otherwise> <xsl:text>$noname</xsl:text> </xsl:otherwise> </xsl:choose> <xsl:text> </xsl:text> <xsl:value-of select="@ref"/> <xsl:text> </xsl:text> <xsl:choose> <xsl:when test = "value != '' "> <xsl:apply-templates select="value"/> </xsl:when> <xsl:otherwise> <xsl:text>"~"</xsl:text> </xsl:otherwise> </xsl:choose> <xsl:text>&nl;</xsl:text> <xsl:call-template name="Search_pin_list" > <xsl:with-param name="cmplib_id" select="libsource/@part"/> <xsl:with-param name="cmp_ref" select="@ref"/> </xsl:call-template> <xsl:text> )&nl;</xsl:text> </xsl:template> <!-- This template search for a given lib component description in list lib component descriptions are in /export/libparts, and each description start at ./libpart We search here for the list of pins of the given component This template has 2 parameters: "cmplib_id" (reference in libparts) "cmp_ref" (schematic reference of the given component) --> <xsl:template name="Search_pin_list" > <xsl:param name="cmplib_id" select="0" /> <xsl:param name="cmp_ref" select="0" /> <xsl:for-each select="/export/libparts/libpart"> <xsl:if test = "@part = $cmplib_id "> <xsl:apply-templates name="build_pin_list" select="pins/pin"> <xsl:with-param name="cmp_ref" select="$cmp_ref"/> </xsl:apply-templates> </xsl:if> </xsl:for-each> </xsl:template> <!-- This template writes the pin list of a component from the pin list of the library description The pin list from library description is something like <pins> <pin num="1" type="passive"/> <pin num="2" type="passive"/> </pins> Output pin list is ( <pin num> <net name> ) something like ( 1 VCC ) ( 2 GND ) --> <xsl:template name="build_pin_list" match="pin"> <xsl:param name="cmp_ref" select="0" /> <!-- write pin numner and separator --> <xsl:text> ( </xsl:text> <xsl:value-of select="@num"/> <xsl:text> </xsl:text> <!-- search net name in nets section and write it: --> <xsl:variable name="pinNum" select="@num" /> <xsl:for-each select="/export/nets/net"> <!-- net name is output only if there is more than one pin in net else use "?" as net name, so count items in this net --> <xsl:variable name="pinCnt" select="count(node)" /> <xsl:apply-templates name="Search_pin_netname" select="node"> <xsl:with-param name="cmp_ref" select="$cmp_ref"/> <xsl:with-param name="pin_cnt_in_net" select="$pinCnt"/> <xsl:with-param name="pin_num"> <xsl:value-of select="$pinNum"/> </xsl:with-param> </xsl:apply-templates> </xsl:for-each> <!-- close line --> <xsl:text> )&nl;</xsl:text> </xsl:template> <!-- This template writes the pin netname of a given pin of a given component from the nets list The nets list description is something like <nets> <net code="1" name="GND"> <node ref="J1" pin="20"/> <node ref="C2" pin="2"/> </net> <net code="2" name=""> <node ref="U2" pin="11"/> </net> </nets> This template has 2 parameters: "cmp_ref" (schematic reference of the given component) "pin_num" (pin number) --> <xsl:template name="Search_pin_netname" match="node"> <xsl:param name="cmp_ref" select="0" /> <xsl:param name="pin_num" select="0" /> <xsl:param name="pin_cnt_in_net" select="0" /> <xsl:if test = "@ref = $cmp_ref "> <xsl:if test = "@pin = $pin_num"> <!-- net name is output only if there is more than one pin in net else use "?" as net name --> <xsl:if test = "$pin_cnt_in_net>1"> <xsl:choose> <!-- if a net has a name, use it, else build a name from its net code --> <xsl:when test = "../@name != '' "> <xsl:value-of select="../@name"/> </xsl:when> <xsl:otherwise> <xsl:text>$N-0</xsl:text><xsl:value-of select="../@code"/> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test = "$pin_cnt_in_net <2"> <xsl:text>?</xsl:text> </xsl:if> </xsl:if> </xsl:if> </xsl:template> </xsl:stylesheet>
Poniżej znajduje się plik wyjściowy programu OrcadPCB2.
( { Eeschema Netlist Version 1.1 29/08/2010 21:07:51 eeschema (2010-08-28 BZR 2458)-unstable} ( 4C6E2141 $noname P1 CONN_4 ( 1 VCC ) ( 2 /SIG_OUT ) ( 3 /CLOCK_IN ) ( 4 GND ) ) ( 4C6E20BA $noname U2 74LS74 ( 1 VCC ) ( 2 /SIG_OUT ) ( 3 N-04 ) ( 4 VCC ) ( 5 /SIG_OUT ) ( 6 ? ) ( 7 GND ) ( 14 VCC ) ) ( 4C6E20A6 $noname U1 74LS04 ( 1 /CLOCK_IN ) ( 2 N-04 ) ( 7 GND ) ( 14 VCC ) ) ( 4C6E2094 $noname C1 CP ( 1 /CLOCK_IN ) ( 2 GND ) ) ( 4C6E208A $noname R1 R ( 1 VCC ) ( 2 /CLOCK_IN ) ) ) *
14.3.4. Używanie systemu wtyczek Eeschema
Konwertery pośrednich list sieci mogą być wywoływane bezpośrednio z Eeschema. Wystarczy tylko odpowiednio skonfigurować narzędzie do tworzenia list sieci.
Inicjowanie okna dialogowego
Jeśli uruchomimy narzędzie do tworzenia list sieci, to z prawej strony znajdziemy przycisk "Dodaj wtyczkę", służący do konfigurowania i inicjowania nowych zakładek w tym oknie dialogowym.

Poniższy obrazek ukazuje skonfigurowaną wtyczkę PADS-PCB:

Ustawienia nowych wtyczek
Zakładka z ustawieniami wymaga następujących informacji:
-
Tytułu zakładki (określająca również nazwę formatu wyjściowego listy sieci)
-
Lini poleceń, której przekazanie do systemu operacyjnego uruchomi konwersję.
Przy aktywacji klawisza Lista sieci na takiej zakładce:
-
Eeschema tworzy pośredni plik z listą sieci *.xml, na przykład test.xml.
-
Eeschema uruchamia wtyczkę, która czyta plik test.xml i tworzy plik test.net.
Generowanie list sieci za pomocą linii poleceń
Zakładając, że zostanie użyty program xsltproc.exe by zastosować filtr z arkusza stylów na pliku pośrednim listy sieci, xsltproc.exe będzie potrzebował odpowiednio skonstruowaną listę parametrów, zgodnie ze wzorcem:
xsltproc.exe -o <plik wyjściowy> <plik arkusza stylów> <plik wejściowy XML do konwersji>
Tak więc, używając systemu Windows linia poleceń przekazana do systemu będzie miała postać:
f:/kicad/bin/xsltproc.exe -o "%O" f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl "%I"
Używając systemu Linux polecenie będzie miało postać:
xsltproc -o "%O" /usr/local/kicad/bin/plugins/netlist_form_pads-pcb.xsl "%I"
Plik netlist_form_pads-pcb.xsl jest w tym przypadku arkuszem stylu. Należy pamiętać by nazwy plików zawierające (lub mogące zawierać) znaki spacji zamknąć w cudzysłowach.
Linia poleceń akceptuje parametry dla nazw plików:
Jako parametry obsługiwane są sekwencje:
-
%B ⇒ nazwa bazowa pliku oraz ścieżka do wybranego pliku wyjściowego, pozbawiona ścieżki oraz rozszerzenia.
-
%I ⇒ kompletna nazwa pliku oraz ścieżka do tymczasowego pliku wejściowego.
-
%O ⇒kompletna nazwa pliku oraz ścieżka do wybranego przez użytkownika pliku wyjściowego.
%I zostanie zastąpione przez nazwę aktywnego w danej chwili pliku pośredniego.
%O zostanie zastąpiony przez nazwę aktywnego w danej chwili pliku wyjściowego (końcowy plik z listą sieci).
Format linii poleceń: przykład z xsltproc
Format linii poleceń dla xsltproc jest następujący:
<ścieżka do xsltproc> xsltproc <parametry>
W systemie Windows:
f:/kicad/bin/xsltproc.exe -o "%O" f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl "%I"
W systemie Linux:
xsltproc -o "%O" /usr/local/kicad/bin/plugins/netlist_form_pads-pcb.xsl "%I"
Zakładając, że xsltproc został zainstalowany na komputerze (w systemie Windows, wszystkie pliki są w kicad/bin).
14.3.5. Generowanie list materiałowych (BOM)
Ponieważ lista pośrednia sieci zawiera wszystkie informacje o zastosowanych komponenetach, można na jej podstawie utworzyć listę materiałową (BOM). Poniżej znajduje się okno z ustawieniami (w systemie Linux) pozwalające utworzyć własny plik BOM:

Ścieżka do arkusza stylu bom2csv.xsl jest zależna od systemu operacyjnego. Obecnie najlepszym arkuszem stylu XSLT do generowania plików BOM jest bom2csv.xsl. Można go zmodyfikować do własnych potrzeb, a jeśli będzie on użyteczny można zaproponować by stał się częścią projektu KiCad.
14.4. Format polecenia: Przykład skryptu Python
Linia poleceń dla Python-a wygląda następująco:
python <plik_skryptu> <nazwa_pliku_wejściowego> <nazwa_pliku_wyjściowego>
W systemie Windows:
python *.exe f:/kicad/python/my_python_script.py "%I" "%O"
W systemie Linux:
python /usr/local/kicad/python/my_python_script.py "%I" "%O"
Zakładając, że Python jest zainstalowany.
14.5. Plik pośredni listy sieci
Poniższy przykład ukazuje ideę samego pliku pośredniego.
<?xml version="1.0" encoding="utf-8"?> <export version="D"> <design> <source>F:\kicad_aux\netlist_test\netlist_test.sch</source> <date>29/08/2010 21:07:51</date> <tool>eeschema (2010-08-28 BZR 2458)-unstable</tool> </design> <components> <comp ref="P1"> <value>CONN_4</value> <libsource lib="conn" part="CONN_4"/> <sheetpath names="/" tstamps="/"/> <tstamp>4C6E2141</tstamp> </comp> <comp ref="U2"> <value>74LS74</value> <libsource lib="74xx" part="74LS74"/> <sheetpath names="/" tstamps="/"/> <tstamp>4C6E20BA</tstamp> </comp> <comp ref="U1"> <value>74LS04</value> <libsource lib="74xx" part="74LS04"/> <sheetpath names="/" tstamps="/"/> <tstamp>4C6E20A6</tstamp> </comp> <comp ref="C1"> <value>CP</value> <libsource lib="device" part="CP"/> <sheetpath names="/" tstamps="/"/> <tstamp>4C6E2094</tstamp> <comp ref="R1"> <value>R</value> <libsource lib="device" part="R"/> <sheetpath names="/" tstamps="/"/> <tstamp>4C6E208A</tstamp> </comp> </components> <libparts/> <libraries/> <nets> <net code="1" name="GND"> <node ref="U1" pin="7"/> <node ref="C1" pin="2"/> <node ref="U2" pin="7"/> <node ref="P1" pin="4"/> </net> <net code="2" name="VCC"> <node ref="R1" pin="1"/> <node ref="U1" pin="14"/> <node ref="U2" pin="4"/> <node ref="U2" pin="1"/> <node ref="U2" pin="14"/> <node ref="P1" pin="1"/> </net> <net code="3" name=""> <node ref="U2" pin="6"/> </net> <net code="4" name=""> <node ref="U1" pin="2"/> <node ref="U2" pin="3"/> </net> <net code="5" name="/SIG_OUT"> <node ref="P1" pin="2"/> <node ref="U2" pin="5"/> <node ref="U2" pin="2"/> </net> <net code="6" name="/CLOCK_IN"> <node ref="R1" pin="2"/> <node ref="C1" pin="1"/> <node ref="U1" pin="1"/> <node ref="P1" pin="3"/> </net> </nets> </export>
14.5.1. Struktura ogólna
Plik pośredni listy sieci posiada 5 sekcji:
-
Sekcja nagłówka.
-
Sekcja komponentów.
-
Sekcja elementów bibliotecznych.
-
Sekcja bibliotek.
-
Sekcja sieci połączeń.
Cały plik został objęty w tag <export>
<export version="D"> ... </export>
14.5.2. Sekcja nagłówka
Nagłówek znajduje się w tagu <design>
<design> <source>F:\kicad_aux\netlist_test\netlist_test.sch</source> <date>21/08/2010 08:12:08</date> <tool>eeschema (2010-08-09 BZR 2439)-unstable</tool> </design>
Sekcja ta może być widoczna jako komentarze.
14.5.3. Sekcja komponentów
Sekcja komponentów zawiera się w tagu <components>
<components> <comp ref="P1"> <value>CONN_4</value> <libsource lib="conn" part="CONN_4"/> <sheetpath names="/" tstamps="/"/> <tstamp>4C6E2141</tstamp> </comp> </components>
Jest to lista na której znajdują się poszczególne komponenty schematu. Każdy komponent jest opisany w następujący sposób:
<comp ref="P1"> <value>CONN_4</value> <libsource lib="conn" part="CONN_4"/> <sheetpath names="/" tstamps="/"/> <tstamp>4C6E2141</tstamp> </comp>
libsource |
Nazwa biblioteki gdzie można dany komponent odnaleźć. |
part |
Nazwa komponentu wewnątrz tej biblioteki. |
sheetpath |
Ścieżka do arkusza wewnątrz hierarchii. Identyfikuje arkusz w całej hierarchii. |
tstamps (time stamps) |
Odcisk czasowy dla pliku schematu. |
tstamp (time stamp) |
Odcisk czasowy dla komponentu. |
Uwagi na temat odcisków czasowych dla komponentów
Aby zidentyfikować składnik listy sieci (a także na płytce), jest używane jego oznaczenie i jest ono unikalne dla każdego z komponentów. Jednak KiCad udostępnia pomocniczą informację by jednoznacznie zidentyfikować komponent i odpowiadający mu moduł na płytce. Pozwala to na ponowną numerację symboli na schemacie w taki sposób by nie utracić powiązań pomiędzy komponentem i jego modułem.
Znacznik czasowy jest unikalnym identyfikatorem dla każdego składnika lub arkusza schematu w projekcie. Jednak w złożonych hierarchiach, w tym samym arkuszu składnik może być używany więcej niż raz, a zatem arkusz ten zawiera elementy o tym samym znaczniku czasowym.
Dany arkusz (wewnątrz złożonej hierarchii) ma jednak unikalny identyfikator: jego ścieżka wewnętrzna. Dany składnik zaś (wewnątrz złożonej hierarchii) ma unikalny identyfikator: ścieżka wewnętrzna + jego odcisk czasowy.
14.5.4. Sekcja elementów bibliotecznych
Sekcja elementów bibliotecznych znajduje się w tagu <libparts>, a dane w tej sekcji są zdefiniowane w bibliotekach schematu. Dla każdego komponentu sekcja ta zawiera dane:
-
Nazwy dozwolonych footprintów (nazwy używają masek), zawarte w tagu <fp>.
-
Pola zdefiniowane w bibliotece, zawarte w tagu <fields>.
-
Lista pinów, zawarte w tagu <pins>.
<libparts> <libpart lib="device" part="CP"> <description>Condensateur polarise</description> <footprints> <fp>CP*</fp> <fp>SM*</fp> </footprints> <fields> <field name="Reference">C</field> <field name="Valeur">CP</field> </fields> <pins> <pin num="1" name="1" type="passive"/> <pin num="2" name="2" type="passive"/> </pins> </libpart> </libparts>
Linie jak <pin num="1" type="passive"/> określają również typ elektryczny pinów. Dostępne są typy:
Input |
Zwykły pin wejściowy |
Output |
Zwykły pin wyjściowy |
Bidirectional |
Wejście lub wyjście |
Tri-state |
Wejście lub wyjście trójstanowe |
Passive |
Pasywny, zwykle w komponentach biernych |
Unspecified |
Nieznany |
Power input |
Wejście zasilania dla komponentu |
Power output |
Wyjście zasilania z komponentu |
Open collector |
Otwarty kolektor |
Open emitter |
Otwarty emiter |
Not connected |
Musi być pozostawiony niepodłączony |
14.5.5. Sekcja bibliotek
Sekcja bibliotek znajduje się w tagu <libraries>. Dostarcza ona listę bibliotek używanych w danym projekcie schematu.
<libraries> <library logical="device"> <uri>F:\kicad\share\library\device.lib</uri> </library> <library logical="conn"> <uri>F:\kicad\share\library\conn.lib</uri> </library> </libraries>
14.5.6. Sekcja sieci
Sekcja sieci znajduje się w tagu <nets>. Zawiera ona listę wszystkich połączeń na schemacie.
<nets> <net code="1" name="GND"> <node ref="U1" pin="7"/> <node ref="C1" pin="2"/> <node ref="U2" pin="7"/> <node ref="P1" pin="4"/> </net> <net code="2" name="VCC"> <node ref="R1" pin="1"/> <node ref="U1" pin="14"/> <node ref="U2" pin="4"/> <node ref="U2" pin="1"/> <node ref="U2" pin="14"/> <node ref="P1" pin="1"/> </net> </nets>
Sekcja ta zawiera wszystkie sieci na schemacie.
Poszczególne sieci są pogrupowane wewnątrz tagu <net>:
<net code="1" name="GND"> <node ref="U1" pin="7"/> <node ref="C1" pin="2"/> <node ref="U2" pin="7"/> <node ref="P1" pin="4"/> </net>
net code |
Jest to wewnętrzny identyfikator danej sieci |
name |
Jest to nazwa danej sieci |
node |
Zawiera odnośniki do poszczególnych pinów w danej sieci |
14.6. Więcej informacji na temat xsltproc
Aby uzyskać więcej informacji na temat programu, polecamy zajrzeć na stronę www: http://xmlsoft.org/XSLT/xsltproc.html
14.6.1. Wprowadzenie
xsltproc jest narzędziem uruchamianym z linii poleceń do filtrowania za pomocą arkuszy stylów XSLT dokumentów XML. Jest on częścią libxslt, biblioteki XSLT C Library przeznaczonej dla GNOME. Chociaż powstała ona jako część projektu GNOME, może również działać niezależnie od GNOME.
xsltproc jest wywoływany z linii poleceń z podaną nazwą arkusza stylów do wykorzystania, a następnie z nazwą pliku lub plików, do którego arkusz stylów ma być zastosowany. Jeśli nazwa pliku wejściowego nie będzie podana, czyli parametr -i nie zostanie użyty, będzie wykorzystane standardowe wejście.
Jeśli arkusz stylów jest wbudowany w dokument XML z instrukcjami Style-sheet Processing Instruction, nie będzie trzeba dodatkowo podawać nazwy arkusza stylów w linii poleceń. xsltproc automatycznie wykryje i użyje zawartych stylów. Domyślnie dane wyjściowe zostaną skierowane na stdout. Można jednak określić plik wyjściowy przy użyciu opcji -o.
14.6.2. Synopsis
xsltproc [[-V] | [-v] | [-o *plik* ] | [--timing] | [--repeat] | [--debug] | [--novalid] | [--noout] | [--maxdepth *wart* ] | [--html] | [--param *nazwa* *wart* ] | [--stringparam *nazwa* *wart* ] | [--nonet] | [--path *ścieżki* ] | [--load-trace] | [--catalogs] | [--xinclude] | [--profile] | [--dumpextensions] | [--nowrite] | [--nomkdir] | [--writesubtree] | [--nodtdattr]] [ *arkuszstylu* ] [ *plik1* ] [ *plik2* ] [ *....* ]
14.6.3. Opcje linii poleceń
-V lub --version
Pokazuje używaną wersję libxml i libxslt.
-v lub --verbose
Pokazuje każdy krok wykonany przez xsltproc podczas przetwarzania arkusza stylów i dokumentów.
-o lub --output file
Przekierowuje wyjście do pliku o nazwie plik. Dla wyjść wielokrotnych, zwanych także jako “chunking”, -o folder/ przekierowuje pliki wyjściowe do określonego katalogu. Katalog ten musi być wcześniej utworzony.
--timing
Pokazuje czas zużyty na przetworzenie arkusza stylów, przetworzenia dokumentu oraz zastosowania arkusza stylów, a także czas zapisu danych wynikowych. Wartości pokazywane są milisekundach.
--repeat
Uruchamia transformację 20 razy. Używane przy testach czasowych.
--debug
Pokazuje drzewo XML transformowanego dokumentu w celu usuwania usterek w oprogramowaniu.
--novalid
Opuszcza ładowanie dokumentów DTD.
--noout
Nie generuje danych wyjściowych.
--maxdepth value
Określa maksymalną głębokość stosu wzorców, przed stwierdzeniem o wejściu libxslt do nieskończonej pętli. Domyślnie jest to 500.
--html
Dokument wejściowy jest plikiem HTML.
--param name value
Przekazuje parametr nazwa i wartość wartość do arkusza stylów. Można przekazać wiele par nazwa/wartość, jednak nie więcej niż 32. Jeśli wartość przekazywana jest łańcuchem a nie identyfikatorem węzła, należy użyć --stringparam zamiast tej opcji.
--stringparam name value
Przekazuje parametr nazwa i wartość wartość gdze wartość jest łańcuchem znaków a nie identyfikatorem węzła. (Uwaga : Ciąg musi posiadać znaki kodowane w UTF-8.)
--nonet
Zabrania użycia sieci Internet w celu pobrania DTD, podmiotów lub dokumentów.
--path paths
Używa listy (separowanej za pomocą spacji lub przecinków) ścieżek systemu plików określonych przez paths w celu załadowania DTD, podmiotów lub dokumentów.
--load-trace
Wysyła na stderr wszystkie dokumenty ładowane podczas przetwarzania.
--catalogs
Używa katalogu SGML określonego w SGML_CATALOG_FILES by określić lokację zewnętrznych podmiotów. Domyślnie, xsltproc zagląda do katalogu określonego w XML_CATALOG_FILES. Jeśli nie jest to określone, używa etc/xml/catalog.
--xinclude
Przetwarza dokumenty wejściowe używając specyfikacji Xinclude. Więcej szczegółów na ten temat można znaleźć na stronie Web specyfikacji Xinclude: http://www.w3.org/TR/xinclude/
--profile --norman
Zwraca sprofilowane informacje na temat czasu spędzonego w każdej części arkusza stylów. Jest to przydatne w optymalizacji wydajności arkuszy stylów.
--dumpextensions
Zwraca listę wszystkich zarejestrowanych rozszerzeń na stdout.
--nowrite
Odrzuca polecenia tworzenia plików lub zasobów.
--nomkdir
Odrzuca polecenia utworzenia katalogów.
--writesubtree path
Pozwala na zapis tylko do wybranej podgałęzi path.
--nodtdattr
Nie stosuje domyślnych atrybutów pochodzących z dokumentów DTD.
14.6.4. Zwracane wartości
xsltproc zwraca także kody błędów, których można użyć w przypadku wywołań programu wewnątrz skryptów:
0 : normalne zakończenie
1 : brak argumentu
2 : za dużo parametrów
3 : opcja nieznana
4 : niepowodzenie przy parsowaniu arkusza stylów
5 : błąd arkuszu stylu
6 : błąd w jednym z dokumentów
7 : nieobsługiwana metoda xsl:output
8 : parametry w postaci ciągów zawierają zarówno znaki apostrofów jak i cudzysłowów
9 : błąd wewnętrzny
10 : przetwarzanie zostało zatrzymane przez komunikat o przerwaniu
11 : nie można zapisać danych wyjściowych do pliku wyjściowego
14.6.5. Więcej informacji na temat xsltproc
Strona WEB libxml: http://www.xmlsoft.org/
Strona WEB W3C XSLT: http://www.w3.org/TR/xslt