Podręcznik użytkownika

Copyright © 2010-2015. Ten dokument jest chroniony prawem autorskim. Lista autorów znajduje się poniżej. Możesz go rozpowszechniać oraz modyfikować na zasadach określonych w General Public License (http://www.gnu.org/licenses/gpl.html), wersja 3 lub późniejsza, albo określonych w Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0/), wersja 3.0 lub późniejsza.

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

Please direct any bug reports, suggestions or new versions to here:

Data publikacji i wersja oprogramowania

Opublikowano 30 Maj 2015.

1. Wprowadzenie do Eeschema

1.1. Opis

Eeschema to wydajne oprogramowanie przeznaczone do rysowania schematów elektronicznych, dostępne dla następujących systemów operacyjnych:

  • Linux

  • Apple OS X

  • Windows

Niezależnie jaki system został użyty, generowane przez program pliki są w pełni kompatybilne pomiędzy systemami.

Eeschema is an integrated application where all functions of drawing, control, layout, library management and access to the PCB design software are carried out within Eeschema itself.

Eeschema is intended to work with PcbNew, which is KiCad’s printed circuit design software. It can also export netlist files, which list all the electrical connections, for other packages.

Eeschema includes a component symbol editor, which can create and edit components and manage libraries. It also integrates the following additional but essential functions needed for modern schematic capture software:

  • Electrical rules check (ERC) for the automatic control of incorrect and missing connections

  • Export of plot files in many formats (Postscript, PDF, HPGL, and SVG)

  • Bill of Materials generation (via Python scripts, which allow many configurable 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 of these types:

  • Simple hierarchies (each schematic is used only once).

  • Complex hierarchies (some schematics are used more than once with multiple instances).

  • Flat hierarchies (schematics are not explicitly connected in a master diagram).

2. Podstawowe polecenia

2.1. Dostęp do poleceń

Wiele poleceń można uruchomić używając do tego celu:

  • Kliknięcia w pasek menu (na górze ekranu).

  • Kliknięcia w pasek ikon na górze ekranu (podstawowe polecenia).

  • Clicking on the icons on the right side of the screen (particular commands or "tools").

  • Kliknięcia w pasek ikon z lewej strony ekranu (opcje wyświetlania).

  • Pressing the mouse buttons (important complementary commands). In particular a right click opens a contextual menu for the element under the cursor (Zoom, grid and editing of the elements).

  • Function keys (F1, F2, F3, F4, Insert and space keys). Specifically: The "Escape" key often allows the canceling of a command in progress. The "Insert" key allows the duplication of the last element created.

Here are the various possible command locations:

Paski%20narzędzi%20i%20menu%20programu%20Eeschema][alt=

2.2. Mouse commands

2.2.1. Podstawowe polecenia

Lewy klawisz

  • Single click: displays the characteristics of the component or text under the cursor in the status bar.

  • Podwójny klik: edycja (jeśli element można edytować) tego elementu lub tekstu.

Prawy klawisz

  • Otwarcie menu kontekstowego.

2.2.2. Operacje na blokach

Można przesuwać, przeciągać, kopiować oraz usuwać wybrane obszary w każdym z menu Eeschema.

Areas are selected by dragging a box around them using the left mouse button.

Holding "Shift", "Ctrl", or "Shift + Ctrl" during selection respectively performs copying, dragging, and deletion:

left mouse button

Move selection.

Shift + left mouse button

Copy selection.

Ctrl + left mouse button

Drag selection.

Ctrl + Shift + left mouse button

Delete selection.

When dragging or copying, you can:

  • Click again to place the elements.

  • Kliknąć prawym klawiszem by uruchomić menu kontekstowe i przerwać operację.

If a block move command has started, another command can be selected via the pop-up menu (mouse, right button):

Główne%20menu%20kontekstowe][alt=

2.3. Hotkeys

  • The "?" key displays the current hotkey list.

  • Hotkeys can be managed by choosing "Edit Hotkeys" in the Preferences menu.

Here is the default hot key list:

Default hotkey list

All hot keys can be redefined by the user via the hotkey editor:

Edycja%20skrótów%20klawiszowych][alt=

2.4. Wybór rozmiaru siatki

In Eeschema, the cursor moves over a grid, which can be displayed or hidden. The grid is always displayed in the library manager.

Można zmienić rozmiar siatki za pomocą menu kontekstowego lub w menu UstawieniaOpcje edytora schematów.

Domyślnym rozmiarem siatki jest 50 milsów (0,050 cala) lub inaczej 1,27 milimetrów.

This is the prefered grid to place components and wires in a schematic, and to place pins when designing a symbol in the Component Editor.

One can also work with a smaller grid from 25 mil to 10 mil. This is only intended for designing the component body or placing text and comments, not for placing pins and wires.

2.5. 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: Zoom in

    • F2: Zoom out

    • F4 or simply click on the middle mouse button (without moving the mouse): Center the view around the cursor pointer position

  • Window Zoom:

    • Mouse wheel: Zoom in/out

    • Shift+Mouse wheel: Pan up/down

    • Ctrl+Mouse wheel: Pan left/right

2.6. Wyświetlanie pozycji kursora

The display units are in inches or millimeters. However, Eeschema always works internally in 0.001-inch (mil/thou) units.

Informacje wyświetlane na dole okna od prawej strony są następujące:

  • The zoom factor

  • The absolute position of the cursor

  • The relative position of the cursor

The relative coordinates can be reset to zero with the space bar. This is useful for making measurements between two points.

status_bar

2.7. Pasek menu

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

menubar

2.8. Górny pasek narzędzi

Ten pasek umożliwia dostęp do głównych funkcji programu Eeschema.

If Eeschema is run in standalone mode, this is the available tool set:

images/toolbar_schedit_standalone.png

If Eeschema is run from the project manager (KiCad), this is the available tool set:

images/toolbar_schedit.png

Tools to initialize a project are not available, because these tools are in the Project Manager.

new schematic icon

Create a new schematic (only in standalone mode).

Open schematic icon

Open a schematic (only in standalone mode).

icons/save_png

Save complete (hierarchical) schematic.

Page Settings icon

Select the sheet size and edit the title block.

icons/print_button_png

Open print dialog.

icons/cut_button_png

Remove the selected elements during a block move.

icons/copyblock_png

Copy selected elements to the clipboard during a block move.

icons/paste_png

Copy last selected element or block in the current sheet.

icons/undo_png

Undo: Cancel the last change (up to 10 levels).

icons/redo_png

Redo (up to 10 levels).

search icon

Call the dialog to search components and texts in the schematic.

search replace icon

Uruchoamienie narzędzia do wyszukiwania i zamiany tekstów na schemacie.

icons/zoom_in icons/zoom_out

Zoom in and out.

icons/zoom_redraw icons/zoom_fit_in_page_png

Refresh screen; zoom to fit.

hierarchy navigator icon

View and navigate the hierarchy tree.

icons/leave_sheet

Leave the current sheet and go up in the hierarchy.

icons/libedit_png

Call component editor Libedit to view and modify libraries and component symbols.

icons/library_browse_png

Display libraries (Viewlib).

icons_annotate_png

Annotate components.

ERC icon

Electrical rules check (ERC), automatically validate electrical connections.

Netlist icon

Export a netlist (Pcbnew, SPICE, and other formats).

BOM icon

Generate the BOM (Bill of Materials).

edit_module icon

Edit footprint.

run cvpcb icon

Call CvPcb to assign footprints to components.

icons/pcbnew_png

Call Pcbnew to perform a PCB layout.

Import Footprint Names icon

Back-import component footprints (selected using CvPcb) into the "footprint" fields.

2.9. Prawy pasek narzędzi

This toolbar contains tools to:

  • Place components, wires, buses, junctions, labels, text, etc.

  • Create hierarchical sub-sheets and connection symbols

images/toolbar_schedit_rightside.png

icons/cursor_png

Cancel the active command or tool.

icons/hierarchy_cursor_png

Hierarchy navigation: this tool makes it possible to open the subsheet of the displayed schematic (click in the symbol of this subsheet), or to go back up in the hierarchy (click in a free area of the schematic).

New Component icon

Display the component selector.

Add Power icon

Display the power symbol selector.

icons/add_line_png

Draw a wire.

icons/add_bus_png

Draw a bus.

icons/add_line2bus_png

Draw wire-to-bus entry points. These elements are only graphical and do not create a connection, thus they should not be used to connect wires together.

icons/add_bus2bus_png

Draw bus-to-bus entry points.

icons/noconn_png

Place a "No Connect" flag. These are placed on component pins which are not to be connected. This is useful in the ERC function to check if pins are intentionally left not connected or are missed.

icons/add_junction_png

Place a junction. This connects two crossing wires, or a wire and a pin, when it can be ambiguous. (i.e. if an end of the wire or pin is not connected to one of the ends of the other wire).

icons/add_line_label_png

Local label placement. Two wires may be connected with identical labels in the same sheet. For connections between two different sheets, you have to use global or hierarchical labels.

Global label icon

Place a global label. All global labels with the same name are connected, even between different sheets.

icons/add_hierarchical_label_png

Place a hierarchical label. This makes it possible to place a connection between a sheet and the parent sheet that contains it.

icons/add_hierarchical_subsheet_png

Place a hierarchical subsheet. You must specify the file name for this subsheet.

icons/import_hierarchical_label_png

Import hierarchical labels from a subsheet. These hierarchical labels must already be placed in the subsheet. These are equivalent to pins on a component, and must be connected using wires.

icons/add_hierar_pin_png

Place hierarchical label in a subsheet symbol. This is placed by name and does not require the label to already exist in the subsheet itself.

icons/add_dashed_line_png

Draw a line. These are only graphical and do not connect anything.

icons/add_text_png

Place textual comments. These are only graphical.

icons/image_png

Place a bitmap image.

icons/cancel_png

Delete selected element.

If several superimposed elements are selected, the priority is given to the smallest (in the decreasing priorities: junction, "No Connect", wire, bus, text, component). This also applies to hierarchical sheets. Note: the "Undelete" function of the general toolbar allows you to cancel last deletions.

2.10. Lewy pasek narzędzi

This toolbar manages the display options:

icons/grid

Show/Hide the grid.

icons/unit_inch

Switch to inches.

icons/unit_mm

Switch to millimeters.

icons/cursor_shape

Choose the cursor shape.

icons/hidden_pin

Visibility of "invisible" pins.

icons/lines90

Allowed orientation of wires and buses.

2.11. Menu kontekstowe i szybka edycja komponentów

A right-click opens a contextual menu for the selected element. This contains:

  • Rozmiar powiększenia.

  • Ustawienie siatki.

  • Commonly edited parameters of the selected element.

Pop-up without selected element.

eeschema_popup_without_element_png

Editing of a label.

eeschema_popup_edit_label_png

Editing a component.

eeschema_popup_edit_component_png

3. Menu główne

3.1. Menu Plik

Menu Plik

New Schematic Project

Clear current schematic and initialize a new one

Open Schematic Project

Load a schematic hierarchy

Open Recent

Open a list of recently opened files

Append Schematic Sheet

Insert the contents of another sheet into the current one

Save Schematic Project

Save current sheet and all its hierarchy.

Save Current Sheet Only

Save current sheet, but not others in a hierarchy.

Save Current Sheet As…

Save current sheet with a new name.

Page Settings

Configure page dimensions and title block.

Print

Print schematic hierarchy (See also chapter Plot and Print).

Plot

Export to PDF, PostScript, HPGL or SVG format (See chapter Plot and Print).

Close

Quit without saving.

3.2. Menu ustawień

3.2.1. Ustawienia

Menu%20preferencji][alt=

Component Libraries

Select libraries and library search path.

Set Colors Scheme

Select colors for display, print and plot.

Schematic Editor Options

General options (units, grid size, field names, etc.).

Language

Select interface language.

Hotkeys

List, edit, export, and import hotkey settings.

Save Preferences

Save the project settings to the .pro file.

Load Preferences

Load the project settings from a .pro file.

3.2.2. Preferences menu / Component Libraries

Library settings

This dialog is used to configure component libraries and search paths. The configuration parameters are saved in the .pro file. Different configuration files in different directories are also possible.

Eeschema searches, in order:

  1. The configuration file (projectname.pro) in the current directory. Potem plik konfiguracji kicad.pro w katalogu KiCad. Ten plik można traktować jako domyślną konfigurację. Jeśli żaden z plików nie został znaleziony to przywracane są wartości domyślne. Będzie wówczas wymagane przynajmniej wypełnienie listy bibliotek do załadowania oraz zapisanie nowej konfiguracji.

The Check for cache/library conflicts at schematic load box is used to configure the library conflict rescue behavior. See Rescuing Cached Components for more information about that.

3.2.3. Preferences menu / Set Color Scheme

Color settings

Color scheme for various graphic elements, and background color selection (either black or white).

3.2.4. Preferences menu / Schematic Editor Options

Schematic Editor Options

Measurement units:

Select the display and the cursor coordinate units (inches or millimeters).

Rozmiar siatki

Wybiera rozmiar siatki.

It is recommended to work with normal grid (0.050 inches or 1,27 mm). Smaller grids are used for component building.

Default bus width:

Pen size used to draw buses.

Domyślna szerokość magistrali

Rozmiar ten jest używany do rysowania linii określających magistrale.

Default text size:

Text size used when creating new text items or labels

Repeat draw item horizontal displacement

increment on X axis during element duplication (usual value 0)

(after placing an item like a component, label or wire, a duplication is made by the Insert key)

Repeat draw item vertical displacement

increment on Y axis during element duplication (usual value is 0.100 inches or 2,54 mm)

Repeat label increment:

Increment of label value during duplication of texts ending in a number, such as bus members (usual value 1 or -1).

Auto save time interval:

Time in minutes between saving backups.

Part id notation:

Style of suffix that is used to denote component parts (U1A, U1.A, U1-1, etc.)

Pokaż siatkę:

Jeśli zaznaczone: pokazuje siatkę na arkuszu.

Show hidden pins:

Display invisible (or hidden) pins, typically power pins. If checked, allows the display of power pins.

Do not center and warp cursor on zoom:

When zooming, keep the position and cursor where they are.

Use middle mouse button to pan

When enabled, the sheet can be dragged around using the middle mouse button.

Limit panning to scroll size

When enabled, the middle mouse button cannot move the sheet area outside the displayed area.

Pan while moving object

If checked, automatically shifts the window if the cursor leaves the window during drawing or moving.

Allow buses and wires to be placed in H or V orientation only

If checked, buses and wires can only be vertical or horizontal.

Otherwise, buses and wires can be placed at any orientation.

Show page limits

If checked, shows the page boundaries on screen.

3.2.5. Menu Ustawienia: Język

Use default mode. Other languages are available mainly for development purposes.

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. Sheet management

The Sheet Settings icon, Sheet Settings icon , allows you to define the sheet size and the contents of the title block.

Page Settings

Sheet numbering is automatically updated. You can set the date to today by pressing the left arrow button by "Issue Date", but it will not be automatically changed.

4.2. Opcje edytora schematów

4.2.1. Opcje podstawowe

Schematic Editor Options

4.2.2. Domyślna zawartość pól

You can define custom fields that will exist by default in each component (even if left empty).

Template Field Names settings

4.3. Znajdź oraz Znajdź i zamień

The Find icon, Find icon , can be used to access the search tool.

Find dialog

You can search for a reference, a value, or a text string in the current sheet or in the whole hierarchy. Once found, the cursor will be positioned on the found element in the relevant sub-sheet.

4.4. Lista sieci

The Netlist icon, Netlist icon , opens the netlist generation tool.

The netlist file it creates describes all connections in the entire hierarchy.

In a multisheet hierarchy, any local label is visible only inside the sheet to which it belongs. Thus, the label TOTO of sheet 3 is different from the label TOTO of sheet 5 (if no connection has been intentionally introduced to connect them). This is due to the fact that the sheet name path is internally associated with the local label.

Uwaga 1:

Długość etykiet nie jest ograniczana przez Eeschema, lecz oprogramowanie eksportujące netlisty może tą długość ograniczać.

Uwaga 2:

Avoid spaces in the labels, because they will appear as separated words. It is not a limitation of Eeschema, but of many netlist formats, which often assume that a label has no spaces.

Netlist dialog

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, for simulators

External plugins can be launched to extend the netlist formats list (a PadsPcb Plugin was added here).

4.5. Numeracja komponentów

The icon icons_annotate_png gives access to the annotation tool. This tool performs an automatic naming of all components in the schematic.

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.

annotate-dialog_img

Zakres

Use the entire schematic. All the sheets are re-annotated (usual Option).

Use the current page only. Only the current sheet is re-annotated (this option is to be used only in special cases, for example to evaluate the amount of resistors in the current sheet.).

Keep existing annotation. Conditional annotation, only the new components will be re-annotated (usual option).

Reset existing annotation. Unconditional annotation, all the components will be re-annotated (this option is to be used when there are duplicated references).

Reset, but do not swap any annotated multi-unit parts. This keeps all groups of multiple units (e.g. U2A, U2B) together when reannotating.

Annotation Order

Selects the order in which components will be numbered.

Annotation Choice

Selects the method by which numbers will be selected.

4.6. Kontrola reguł projektowych - ERC

The icon ERC icon gives access to the electrical rules check (ERC) tool.

Funkcja ta generalnie służy do wykrywania złych lub nieistniejących połączeń lub innych niespójności schematu.

Once you have run the ERC, Eeschema places markers to highlight problems. The diagnosis can then be given by left clicking on the marker. An error file can also be generated.

4.6.1. Główne okno narzędzia ERC

ERC dialog

Errors are displayed in the Electrical Rules Checker dialog box:

  • Total count of errors and warnings.

  • Liczba błędów - to liczba wykrytych błędów.

  • Ogółem ostrzeżeń - to liczba wykrytych ostrzeżeń.

Opcje:

  • Create ERC file report: check this option to generate an ERC report file.

Polecenia:

  • Delete Markers: to remove all ERC error/warnings markers.

  • Run: to perform an Electrical Rules Check.

  • Zamknij : zamyka okno.

Uwaga:

  • Clicking on an error message jumps to the corresponding marker in the schematic.

4.6.2. Zakładka Opcje

ERC Options dialog

This tab allows you to establish connectivity rules between pins; you can choose between 3 options for each case:

  • 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

The icon BOM icon gives access to the bill of materials (BOM) generator. This menu allows the generation of a file listing of the components and/or hierarchical connections (global labels).

BOM dialog

Eeschema’s BOM generator makes use of external plugins, generally in XSLT or Python form. Some are provided, and will be installed inside the KiCad program files directory.

Przydatny zestaw właściwości elementów używany zwykle do tworzenia list materiałowych to:

  • Value - unique name for each part used.

  • Footprint - either manually entered or back-annotated (see below).

  • Field1 - Manufacturer’s name.

  • Field2 - Manufacturer’s Part Number.

  • Field3 - Distributor’s Part Number.

Przykładowo:

Component Properties dialog

4.8. Narzędzie importu dla numeracji wstecznej

4.8.1. Dostęp:

The icon Import Footprint Names icon gives access to the back-annotate tool.

This tool allows footprint changes made in PcbNew to be imported back into the footprint fields in Eeschema.

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.

A schematic represented by several sheets is hierarchical, and all its sheets (each one represented by its own file) constitute an Eeschema project. The manipulation of hierarchical schematics will be described in the Hierarchical Schematics chapter.

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:

A schematic mainly consists of components, 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

Zależność między elementami składowymi projektu

Components are added to the schematic from component 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. Wstawianie i edycja komponentów

5.4.1. Wyszukiwanie i wstawianie komponentów

To load a component into your schematic you can use the icon New Component icon . A dialog box allows you to type the name of the component to load.

Choose Component dialog

The Choose Component dialog will filter components by name, keywords, and description according to what you type into the search field.

Before placing the component 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.

Poniższy obrazek pokazuje symbol podczas operacji wstawiania go do schematu:

component during placement

5.4.2. Porty zasilania

A power port symbol is a component (the symbols are grouped in the “power” library), so they can be placed using the component chooser. However, as power placements are frequent, the Add Power icon tool is available. This tool is similar, except that the search is done directly in the “power” library.

5.4.3. Edycja / modyfikacja elementów (umieszczonych na schemacie)

There are two ways to edit a component:

  • Modification of the component itself: position, orientation, unit selection on a multi-unit component.

  • Modification of one of the fields of the component: reference, value, footprint, etc.

When a component 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.

Modyfikacja elementów

To modify some feature of a component, position the cursor on the component, and then either:

  • Double-click on the component to open the full editing dialog.

  • Right-click to open the context menu and use one of the commands: Move, Orientation, Edit, Delete, etc.

Modyfikacja pól tekstowych elementów

You can modify the reference, value, position, orientation, text size and visibility of the fields:

  • Kliknąć dwukrotnie na pole tekstowe aby go zmienić.

  • Right-click to open the context menu and use one of the commands: Move, Rotate, Edit, Delete, etc.

For more options, or in order to create fields, double-click on the component to open the Component Properties dialog.

Component Properties dialog

Each field can be visible or hidden, and displayed horizontally or vertically. The displayed position is always indicated for a normally displayed component (no rotation or mirroring) and is relative to the anchor point of the component.

The option “Reset to Library Defaults” sets the component 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 components.

  • Buses: to graphically join bus labels

  • Polylines: for graphic presentation.

  • Junctions: to create connections between crossing wires or buses.

  • Bus entries: to show connections between wires and buses. Graphical only!

  • Labels: for labeling or creating connections.

  • Etykiety globalne, do połączeń pomiędzy arkuszami.

  • Texts: for comments and annotations.

  • "No Connect" flags: to terminate a pin that does not need any connection.

  • Hierarchical sheets, and their connection pins.

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:

Wires labels

Uwaga 1:

The point of “contact” of a label is the lower left corner of the first letter of the label. This point is displayed with a small square when not connected.

This point must thus be in contact with the wire, or be superimposed at the end of a pin so that the label is seen as connected.

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.

If there is overlapping (if a wire passes over a pin, but without being connected to the pin end) there is no connection.

Uwaga 3:

Wires that cross are not implicitly connected. It is necessary to join them with a junction dot if a connection is desired.

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

In the following schematic, many pins are connected to buses.

Example schematic with buses
Składniki magistral

From the schematic point of view, a bus is a collection of signals, starting with a common prefix, and ending with a number. For example, PCA0, PCA1, and PCA2 are members of the PCA bus.

The complete bus is named PCA[N..m], where N and m are the first and the last wire number of this bus. Thus if PCA has 20 members from 0 to 19, the complete bus is noted PCA[0..19]. A collection of signals like PCA0, PCA1, PCA2, WRITE, READ cannot be contained in a bus.

Połączenia pomiędzy składnikami magistral

Pins connected between the same members of a bus must be connected by labels. It is not possible to connect a pin directly to a bus; this type of connection will be ignored by Eeschema.

In the example above, connections are made by the labels placed on wires connected to the pins. Bus entries (wire segments at 45 degrees) to buses are graphical only, and are not necessary to form logical connections.

In fact, using the repetition command (Insert key), connections can be very quickly made in the following way, if component pins are aligned in increasing order (a common case in practice on components such as memories, microprocessors…):

  • 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

In the Preferences/Options menu, you can set the repetition parameters:

  • Przeskok w pionie.

  • Przeskok w poziomie.

  • Przyrost etykiety (który może być dodatni np. 2, 3. lub ujemny -2, -3).

Global connections between buses

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:

Bus junction example

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).

More precisely, the corresponding members are connected together : PCA0, ADR0 are connected, (as same as PCA1 and ADR1 … PCA7 and 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

Gdy wyprowadzenia zasilania elementów są widoczne, muszą być podłączone tak, jak inne sygnały.

Components 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ść.

  • You do not know their names.

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
If you want to enforce the display of these invisible power pins, you must check the option “Show invisible power pins” in the Preferences/Options dialog box of the main menu, or the icon images/icons/hidden_pin.png on the left (options) toolbar.

Eeschema automatically connects invisible power pins of the same name to the power net of that name. It may be necessary to join power nets of different names (for example, "GND" in TTL components and "VSS" in MOS components); use power ports for this.

It is not recommended to use labels for power connection. These only have a “local” connection scope, and would not connect the invisible power pins.

The figure below shows an example of power port connections.

Power ports example

W tym wypadku, masa (GND) jest połączone z portem zasilania o nazwie VSS, a port zasilania VCC jest połączony do VDD.

Two PWR_FLAG symbols are visible. They indicate that the two power ports VCC and GND are really connected to a power source. Without these two flags, the ERC tool would diagnose: Warning: power port not powered.

Wszystkie te symbole są elementami biblioteki “power.lib”.

5.5.5. "No Connect" flag

These symbols are very useful to avoid undesired ERC warnings. The electric rules check ensures that no connection has been accidentally left unconnected.

If pins must really remain unconnected, it is necessary to place a "No Connect" flag (tool No connection icon ) on these pins. These symbols do not have any influence on the generated netlists.

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 images/icons/add_text.png ) and Polyline (tool images/icons/add_dashed_line.png ) are intended for this use, contrary to labels and wires, which are connection elements.

Przykład ramki z zawartością w postaci tekstu.

Frame with comment example

5.6.2. Tabelka

The title block is edited with the tool Page Settings tool .

Page settings dialog
Title block

The sheet number (Sheet X/Y) is automatically updated.

5.7. Rescuing cached components

By default, Eeschema loads component symbols out of the libraries according to the set paths. This can cause a problem when loading a very old project: if the symbols in the library have changed 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.

However, when a project is saved, a cache library is saved along with it. 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:

Rescue conflicts 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 could ruin the project! Pressing OK here will cause the old symbol to be saved into a special “rescue” library, and all the components using that symbol will be renamed to avoid naming conflicts.

If you press Cancel, no rescues will be made, so Eeschema will load all the new components by default. Because no changes were made, you can still go back and run the rescue function again: choose "Rescue Cached Components" in the Tools menu to call up the 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 Component 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ść.

From the root sheet, you must be able to find all sub-sheets. Hierarchical schematics management is very easy with Eeschema, thanks to an integrated "hierarchy navigator" accessible via the icon icons/hierarchy_nav_png of the top toolbar.

W rzeczywistości istnieją dwa typy hierarchii (które mogą występować jednocześnie): Pierwszy z nich został właśnie opisany i jest ogólnie używany. Drugi polega na stworzeniu elementów w bibliotece, które pojawiają się jak tradycyjne elementy na schemacie, ale które faktycznie odpowiadają schematom, które opisują ich wewnętrzną strukturę.

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.

  • Jak zbudować połączenia elektryczne między arkuszami podrzędnymi.

Nawigacja jest prosta dzięki narzędziu nawigacji (ikona icons/hierarchy_nav_png na głównym pasku narzędzi) pokazanym poniżej:

Okno nawigatora

Każdy z arkuszy jest dostępny poprzez kliknięcie w jego nazwę. W celu szybszej nawigacji należy nacisnąć prawym klawiszem na symbolu arkusza i wybrać z menu podręcznego polecenie Wejdź w arkusz.

Można także szybko dostać się do arkusza głównego lub podrzędnego dzięki narzędziu nawigacji icons/hierarchy_cursor_png znajdujący się na prawym pasku narzędzi. Po wybraniu narzędzia:

  • Kliknąć na nazwę arkusza by wybrać ten arkusz.

  • Kliknąć gdziekolwiek indziej by wybrać główny arkusz.

6.3. Etykiety lokalne, hierarchiczne i globalne

6.3.1. Właściwości

Local labels, tool icons/add_line_label_png , are connecting signals only within a sheet. Hierarchical labels (tool icons/add_hierarchical_label_png ) are connecting signals only within a sheet and to a hierarchical pin placed in the parent sheet.

Etykiety globalne (narzędzie Ikona etykiety globalnej ) łą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. Tworzenie hierarchii prostych

Aby stworzyć hierarchię prostą należy:

  • Place in the root sheet a hierarchy symbol called "sheet symbol".

  • Wejść do nowego schematu (arkusza podrzędnego) za pomocą narzędzi nawigacji i narysować schemat tak jak zwykle.

  • Narysować połączenia elektryczne pomiędzy tymi dwoma schematami poprzez umieszczenie Etykiet hierarchicznych w nowym schemacie (arkuszu podrzędnym), oraz etykiet zwanych Pinami hierarchicznymi o tej samej nazwie na arkuszu hierarchicznym z arkusza głównego. Te etykiety zostaną dołączone do symbolu w arkuszu głównym jak standardowe wyprowadzenia elementów, tak by móc połączyć je z innymi elementami schematu.

6.5. Arkusze podrzędne

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 component pins. Select the tool icons/add_hierarchical_subsheet_png .

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).

hsheet_properties_1_png

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. Connections - hierarchical pins

W tym punkcie stworzone zostaną punkty połączeń (piny hierarchiczne) dla symbolu, który został właśnie utworzony.

Te punkty połączeń są podobne do zwykłych wyprowadzeń elementów, jednak z możliwością połączenia kompletnej magistrali za pomocą tylko jednego punktu łączącego.

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

  • To select the tool icons/add_hierar_pin_png .

  • Kliknąć na symbolu hierarchicznym gdzie chcielibyśmy utworzyć taki pin.

See below an example of the creation of the hierarchical pin called "CONNEXION".

eeschema_hierarchical_label_png

Można później zdefiniować dodatkowe atrybuty graficzne oraz rozmiar opisu edytując ten pin hierarchiczny (Klikając prawym klawiszem, wybierając polecenie Edycja w podręcznym menu):

Dostępne są różne postacie symboli:

  • Input - Wejście

  • Output - Wyjście

  • Bidirectional

  • Tri-State

  • Passive

Te symbole to tylko rozszerzenie graficzne, nie mające żadnej innej roli.

Wstawianie półautomatyczne pinów hierarchicznych

  • Select the tool icons/import_hierarchical_label_png .

  • 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

Each pin of the sheet symbol just created, must correspond to a label called hierarchical Label in the sub-sheet. Hierarchical labels are similar to labels, but they provide connections between sub-sheet and root sheet. The graphical representation of the two complementary labels (pin and HLabel) is similar. Hierarchical labels creation is made with the tool icons/add_hierarchical_label_png .

Poniżej znajduje się przykład arkusza głównego:

hierarchical_label_root_png

Notice pin VCC_PIC, connected to connector JP1.

Na następnym rysunku znajdują się odpowiednie połączenia w arkuszu podrzędnym:

hierarchical_label_sub_png

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.

Thus, if you place the label "TOTO" in sheet n° 3, in fact the true label is "TOTO_3". If you also place a label "TOTO" in sheet n° 1 (root sheet) you place in fact a label called "TOTO_1", different from "TOTO_3". This is always true, even if there is only one sheet.

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 HLabel "TOTO" is considered to be connected to a local label "TOTO", but not connected to a HLabel or label called "TOTO" in another sheet.

Jednak etykieta hierarchiczna jest uważana za podłączoną do odpowiedniego pinu hierarchicznego w symbolu hierarchicznym umieszczonym w arkuszu głównym.

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 and form the equipotential VCC, whatever the sheet they are placed on.

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.

Jeśli chcemy, by etykieta VCC była naprawdę podłączona do szyny VCC, będzie trzeba ją jednoznacznie połączyć do ukrytych wyprowadzeń zasilania, dzięki portowi zasilania VCC.

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

Hierarchia złożona występuje tam gdzie jeden z arkuszy hierarchicznych został użyty np. dwukrotnie (dwie jego postacie). Przykład takiej hierarchii został zaprezentowany poniżej. Dwa arkusze posiadają taki sam schemat, ponieważ nazwa pliku jest taka sama dla dwóch arkuszy (“supply.sch”). Ich nazwy jednak muszą pozostać różne.

eeschema_complex_hierarchy_png

6.9. Hierarchia płaska

You can create a project using many sheets, without creating connections between these sheets (flat hierarchy) if the next rules are respected:

  • Należy stworzyć arkusz główny zawierający inne arkusze, który działa jako łącznik między innymi arkuszami.

  • Nie są potrzebne wyraźne połączenia między nimi.

  • Wszystkie połączenia między arkuszami zostają wykonane z użyciem etykiet globalnych zamiast etykiet hierarchicznych.

Poniżej znajduje się przykład głównego schematu:

eeschema_flat_hierarchy_png

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

Here is the pic_programmer.sch.

eeschema_flat_hierarchy_1_png

Here is the pic_sockets.sch.

eeschema_flat_hierarchy_2_png

Look at global labels.

eeschema_flat_hierarchy_3_png

7. Automatyczna numeracja elementów schematu

7.1. Wprowadzenie

Narzędzie Numeruj schemat (ikona Ikona Numeruj schemat ) pozwala na przeprowadzenie procesu automatycznego przypisania oznaczeń elementom, a dla elementów wieloczęściowych także na przypisanie sufiksów, tak by zminimalizować liczbę takich elementów. Okienko dialogowe tego narzędzia wygląda w sposób następujący:

annotate-dialog_img

Dostępne są różne możliwości przeprowadzenia numeracji automatycznej:

  • Opisywanie wszystkich składników (opcja Resetuj bieżącą numerację).

  • Opisywanie wszystkich składników, ale bez zmiany uprzednio ponumerowanych części elementów wieloczęściowych.

  • Opisywanie wyłącznie nowych części (np. tylko tych, których odniesienia zakończone są przez ? Jak np IC?) (Opcja Pozostaw bieżącą numerację).

  • Opisywanie całej hierarchii (opcja Użyj całego schematu).

  • Opisywanie tylko bieżącego arkusza (opcja Użyj tylko bieżącej strony).

Opcja “Zresetuj, ale nie zamieniaj żadnej z ponumerowanych części elementów wieloskładowych” zachowuje wszystkie istniejące powiązania między częściami w elementach wieloczęściowych. Oznacza to, że jeśli mamy U2A i U2B, to mogą one być przemianowane na U1A i U1B, ale nigdy nie zostaną przemianowane na U1A i U2A, ani U2B i U2A. Jest to przydatne, gdy chcemy mieć pewność, że określone gupy pinów zostaną zachowane jeśli zdecydowano wcześniej, które części najlepiej pasują do danej sytuacji.

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.

Wybór numeracji daje wybór metody użytej podczas obliczania numerów referencyjnych:

  • Użyj pierwszego wolnego numeru na schemacie: elementy są notowane od 1 (dla każdego prefiksu odniesienia). Jeżeli istnieje poprzednia numeracja, wybrane zostaną liczby jeszcze nie wykorzystywane.

  • 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.

eeschema_annotation_order_none_png

Po przeprowadzeniu automatycznej numeracji:

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

eeschema_annotation_order_x_png

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

eeschema_annotation_order_y_png

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:

eeschema_annotation_choice_free_png

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

eeschema_annotation_choice_x100_png

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

eeschema_annotation_choice_x1000_png

8. Design verification with Electrical Rules Check

8.1. Wprowadzenie

The Electrical Rules Check (ERC) tool performs an automatic check of your schematic. The ERC checks for any errors in your sheet, such as unconnected pins, unconnected hierarchical symbols, shorted outputs, etc. Naturally, an automatic check is not infallible, and the software that makes it possible to detect all design errors is not yet 100% complete. Such a check is very useful, because it allows you to detect many oversights and small errors.

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 library creation. ERC output is reported as "errors" or "warnings".

ERC dialog

8.2. Używanie narzędzia testu ERC

ERC can be started by clicking on the icon ERC icon .

Warnings are placed on the schematic elements raising an ERC error (pins or labels).

Zapamiętaj
  • In this dialog window, when clicking on an error message you can jump to the corresponding marker in the schematic.

  • In the schematic right-click on a marker to access the corresponding diagnostic message.

Można także kasować znaczniki ERC z okna dialogowego.

8.3. Przykład testu ERC

ERC pointers

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

By right-clicking on a marker the pop-up menu allows you to access the ERC marker diagnostic window.

ERC pointers info

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

erc_pointers_message_png

8.5. Power pins and Power flags

It is common to have an error or a warning on power pins, even though all seems normal. See example above. This happens because, in most designs, the power is provided by connectors that are not power sources (like regulator output, which is declared as Power out).

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).

To avoid this warning you have to place a "PWR_FLAG" on such a power port. Take a look at the following example:

eeschema_power_pins_and_flags_png

Po umieszczeniu na szynach zasilania tej flagi, błędy związane z brakiem sterowania powinny zniknąć podczas ponownej kontroli ERC.

W większości przypadków, PWR_FLAG musi zostać podpięta do sieci GND, ponieważ regulatory napięć posiadają co prawda wyjścia zadeklarowane jako źródło zasilania, ale ich wyprowadzenia masy (GND) zwykle nigdy nie są źródłami zasilania (normalny atrybut to wejście zasilania). Tak więc, masy nigdy nie występują jako źródła zasilania bez podpiętej PWR_FLAG.

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.

eeschema_erc_options_png

Rules can be changed by clicking on the desired square of the matrix, causing it to cycle through the choices: normal, warning, error.

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ń

Lista sieci to plik, który opisuje połączenia pomiędzy elementami na schemacie. Znajduje się w nim:

  • Lista elementów,

  • The list of connections between components, called equi-potential nets.

Istnieje wiele formatów list sieci. Czasem listę elementów i listę ekwipotencjałów tworzą dwa oddzielne pliki. Lista sieci jest elementem fundamentalnym w przypadku oprogramowania do tworzenia schematów, ponieważ lista sieci to łącze do innego elektronicznego oprogramowania CAD, takiego jak:

  • Oprogramowanie do trasowania obwodów drukowanych (PCB).

  • Symulatory układów.

  • 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. Netlist formats

Select the tool Netlist icon to open the netlist creation dialog box.

Pcbnew selected

eeschema_netlist_dialog_pcbnew_png

Spice selected

eeschema_netlist_dialog_spice_png

Using the different tabs you can select the desired format. In Spice format you can generate netlists with either equi-potential names (it is more legible) or net numbers (old Spice versions accept numbers only). By clicking the Netlist button, you will be asked for a netlist file name.

Zapamiętaj
W przypadku dużych projektów, generowanie listy sieci może zająć więcej czasu.

9.3. Netlist examples

You can see below a schematic design using the PSPICE library:

eeschema_netlist_schematic_png

Example of a PCBNEW netlist file:

# 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

In PSPICE format, the netlist is as follows:

* 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. Notes on Netlists

9.4.1. Netlist name precautions

Many software tools that use netlists do not accept spaces in the component names, pins, equi-potential nets or others. Systematically avoid spaces in labels, or names and value fields of components or their pins.

In the same way, special characters other than letters and numbers can cause problems. Note that this limitation is not related to Eeschema, but to the netlist formats that can then become untranslatable to software that uses netlist files.

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.

Here is a sample using many one-line texts and one multi-line text:

eeschema_pspice_netlist_png

For example, if you type the following text (do not use a label!):

-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

Poza tym, należy również pamiętać, że ekwipotencjał GND musi dla PSpice być nazwany 0 (zero).

9.5. Other formats

For other netlist formats you can add netlist converters in the form of plugins. These converters are automatically launched by Eeschema. Chapter 14 gives some explanations and examples of converters.

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

You can add a new netlist plug-in via the Add Plugin button.

eeschema_netlist_dialog_add_plugin_png

Here is the plug-in PadsPcb setup window:

eeschema_netlist_dialog_padspcb_png

By skonfigurować wtyczkę będzie potrzebny:

  • A title (for example, the name of the netlist format).

  • Wtyczka którą należy uruchomić.

Gdy lista sieci jest generowana:

  1. Eeschema creates an intermediate file *.tmp, for example test.tmp.

  2. Eeschema uruchamia wtyczkę, która czyta plik test.tmp i tworzy plik test.net.

9.5.2. Format linii poleceń

Here is an example, using xsltproc.exe as a tool to convert .xsl files, and a file netlist_form_pads-pcb.xsl as converter sheet style:

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. Converter and sheet style (plug-in)

This is a very simple piece of software, because its purpose is only to convert an input text file (the intermediate text file) to another text file. Moreover, from the intermediate text file, you can create a BOM list.

When using xsltproc as the converter tool only the sheet style will be generated.

9.5.4. Format pośrednej listy sieci

See Chapter 14 for more explanations about xslproc, descriptions of the intermediate file format, and some examples of sheet style for converters.

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:

eeschema_file_menu_plot_png

The suported output formats are Postscript, PDF, SVG, DXF and HPGL. You can also directly print to your printer.

10.2. Polecenia wspólne

Plot Current Page

generuje plik wyjściowy wyłącznie dla bieżącego arkusza.

Plot All Pages

allows you to plot the whole hierarchy (one print file is generated for each sheet).

10.3. Rysuj w formacie PostScript

This command allows you to create PostScript files.

eeschema_plot_postscript_png

The file name is the sheet name with an extension .ps. You can disable the option "Plot border and title block". This is useful if you want to create a postscript file for encapsulation (format .eps) often used to insert a diagram in a word processing software. The message window displays the file names created.

10.4. Plot in PDF

eeschema_plot_pdf.png

Allows you to create plot files using the format PDF. The file name is the sheet name with an extension .pdf.

10.5. Rysuj w formacie SVG

eeschema_plot_svg_png

Allows you to create plot files using the vectored format SVG. The file name is the sheet name with an extension .svg.

10.6. Rysuj w formacie DXF

eeschema_plot_dxf_png

Allows you to create plot files using the format DXF. The file name is the sheet name with an extension .dxf.

10.7. Rysowanie w formacie HPGL

This command allows you to create an HPGL file. In this format you can define:

  • Page size.

  • Origin.

  • Pen width (in mm).

The plotter setup dialog window looks like the following:

eeschema_plot_hpgl_png

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

For all standard dimensions, you can adjust the offsets to center the drawing as accurately as possible. Because plotters have an origin point at the center or at the lower left corner of the sheet, it is necessary to be able to introduce an offset in order to plot properly.

Generally speaking:

  • Dla ploterów posiadających punkt początkowy na środku arkusza, przesunięcie musi być ujemne i ustawione w połowie rozmiaru arkusza.

  • For plotters having their origin point at the lower left corner of the sheet the offset must be set to 0.

To set an offset:

  • Wybrać rozmiar arkusza.

  • Ustawić przesunięcie X oraz Y.

  • Zaakceptować dane o przesunięciu.

This command, available via the icon icons/print_button_png , allows you to visualize and generate design files for the standard printer.

Drukowanie na drukarkach

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.

Ogólny widok edytora

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.

images/toolbar_libedit.png

icons/save_library_png

Save the currently selected library. The button will be disabled if no library is currently selected or no changes to the currently selected library have been made.

icons/library_png

Select the library to edit.

icons/delete_png

Delete a component from the currently selected library or any library defined by the project if no library is currently selected.

icons/library_browse_png

Open the component library browser to select the library and component to edit.

icons/new_component_png

Create a new component.

icons/import_cmp_from_lib_png

Load component from currently selected library for editing.

icons/copycomponent_png

Create a new component from the currently loaded component.

icons/save_part_in_mem_png

Save the current component changes in memory. The library file is not changed.

icons/import_png

Import one component from a file.

icons/export_png

Export the current component to a file.

icons/new_library_png

Create a new library file containing the current component. Note: new libraries are not automatically added to the project.

icons/undo_png

Undo last edit.

icons/redo_png

Redo last undo.

icons/part_properties_png

Edit the current component properties.

icons/add_text_png

Edit the fields of current component.

icons/erc_png

Test the current component for design errors.

Ikona powiększenia

Powiększenie.

Ikona pomniejszenia

Pomniejszenie.

Ikona odświeżania widoku

Odświeżenie widoku.

Ikona dopasowania powiększenia

Dopasowywuje powiększenie do obszaru roboczego.

icons/morgan1_png

Wybiera normalny styl reprezentacji symbolu. Przycisk jest niedostępny jeśli bieżący symbol nie posiada podwójnej reprezentacji.

icons/morgan2_png

Wybiera alternatywny styl reprezentacji symbolu. Przycisk jest niedostępny jeśli bieżący symbol nie posiada podwójnej reprezentacji.

icons/datasheet_png

Pokazuje załączoną dokumentację symbolu. Przycisk jest niedostępny jeśli bieżący symbol nie posiada zdefiniowanej dokumentacji.

images/toolbar_libedit_part.png

Wybiera część składową symbolu. Rozwijana lista jest niedostępna jeśli symbol nie posiada większej ilości części składowych.

images/toolbar_libedit_part.png

Wybór aliasu. Rozwijana lista jest niedostępna jeśli symbol nie posiada zdefiniowanych aliasów.

icons/pin2pin_png

Edycja pinów: włącza niezależną edycję kształtu pinów i ich pozycji dla symboli wieloczęściowych lub z alternatywnym widokiem.

icons/pin_table_png

Show pin table.

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.

icons/cursor_png

Select tool. Right-clicking with the select tool opens the context menu for the object under the cursor. Left-clicking with the select tool displays the attributes of the object under the cursor in the message panel at the bottom of the main window. Double-left-clicking with the select tool will open the properties dialog for the object under the cursor.

icons/pin_png

Pin tool. Left-click to add a new pin.

icons/add_text_png

Graphical text tool. Left-click to add a new graphical text item.

icons/add_rectangle_png

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.

image:images/icons/add_circle.png[icons/add_circle_png

Okrąg. Klikając lewym klawiszem rozpoczyna się rysowanie okręgu z jego punktu centralnego. Klikając ponownie ustala się promień okręgu.

icons/add_arc_png

Ł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..

icons/add_polygon_png

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.

icons/anchor_png

Punkt zaczepienia. Klikając lewym klawiszem ustala się pozycję symbolu.

icons/import_png

Import a component from a file.

icons/export_png

Export the current component to a file.

icons/delete_png

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.

icons/grid_png

Toggle grid visibility on and off.

icons/unit_inch_png

Set units to inches.

icons/unit_mm_png

Set units to millimeters.

icons/cursor_shape_png

Toggle full screen cursor on and off.

11.4. Wybór biblioteki

Wybranie bieżącej biblioteki jest możliwe za pomocą ikony Ikona Wybór biblioteki roboczej , 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
  • You must load a library into Eeschema, in order to access its contents.

  • Zawartość bieżącej biblioteki może zostać zapisana po modyfikacji, klikając na Ikona Zapisz bibliotekę z głównego paska narzędzi.

  • Symbol może zostać usunięty z biblioteki klikając w ikonę Ikona Usuń symbol z biblioteki .

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 Ikona załaduj symbol z biblioteki 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: Wybór aliasu z listy . Pierwszy element listy jest symbolem głównym.
Zapamiętaj
Alternatywnie, klikając w ikonę Ikona Załaduj symbol pozwala na wczytanie symbolu, który wcześniej został zapisany poprzez kilknięcie w ikonę Ikona Zapisz symbol .
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 Ikona Zapisz symbol . 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ą Ikona Zapisz bibliotekę na dysk , które zmodyfikuje zawartość biblioteki na dysku twardym.

Jeśli chcemy by aktualny komponent trafił do nowej biblioteki, należy użyć polecenia Ikona Zapisz symbol w nowej bibliotece . 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.

Należy zatem dodać każdą nową bibliotekę, która będzie używana na schemacie korzystając z narzędzia do konfiguracji bibliotek symboli.

Library settings

Klikając w ikonę Ikona Eksportuj symbol 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 symboli do innych bibliotek

Można bardzo łatwo przenosić symbole z jednej biblioteki do drugiej, używając tego schematu postępowania:

  • Select the source library by clicking the icons/library_png .

  • Załadować symbol, który ma zostać przeniesiony za pomocą ikony Ikona Załaduj symbol z   biblioteki . Symbol pojawi się w polu edycji.

  • Następnie wybrać docelową bibliotekę klikając w Ikona Wybierz bibliotekę roboczą .

  • Zapisać bieżący symbol do nowej biblioteki przechowywanej w pamięci RAM za pomocą ikony Ikona Zapisz symbol .

  • Zapisać wybraną bibliotekę roboczą na dysku klikając w ikonę Ikona Zapis biblioteki na dysk .

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 Ikona Utwórz nowy symbol . 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.

eeschema_component_properties_png

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

eeschema_libedit_new_png

11.5.2. Tworzenie nowego symbolu na podstawie innego

Often, the component that you want to make is similar to one already in a component library. In this case it is easy to load and modify an existing component.

  • Załadować symbol który będzie użyty jako wzorcowy.

  • Click on the icons/copycomponent_png or modify its name by right-clicking on the value field and editing the text. If you chose to duplicate the current component, you will be prompted for a new component name.

  • 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.

  • Update the new component in the current library by clicking the icons/save_part_in_mem_png or save to a new library by clicking the icons/new_library_png or if you want to save this new component in an other existing library select the other library by clicking on the icons/library_png and save the new component.

  • Save the current library file to disk by clicking the icons/save_library_png .

11.5.3. Edycja głównych właściwości symboli

Component properties should be carefully set during the component creation or alternatively they are inherited from the copied component. To change the component properties, click on the icons/part_properties_png to show the dialog below.

eeschema_properties_for_component_png

It is very important to correctly set the number of units per package and if the component has an alternate symbolic representation parameters correctly because when pins are edited or created the corresponding pins for each unit will created. If you change the number of units per package after pin creation and editing, there will be additional work introduced to add the new unit pins and symbols. Nevertheless, it is possible to modify these properies at any time.

The graphic options "Show pin number" and "Show pin name" define the visibility of the pin number and pin name text. This text will be visible if the corresponding options are checked. The option "Place pin names inside" defines the pin name position relative to the pin body. This text will be displayed inside the component outline if the option is checked. In this case the "Pin Name Position Offset" property defines the shift of the text away from the body end of the pin. A value from 30 to 40 (in 1/1000 inch) is reasonable.

The example below shows a component with the "Place pin name inside" option unchecked. Notice the position of the names and pin numbers.

eeschema_uncheck_pin_name_inside_png

11.5.4. Symbole z reprezentacją alternatywną

If the component has more than one symbolic repersentation, you will have to select the different symbols of the component in order to edit them. To edit the normal symbol, click the icons/morgan1_png .

To edit the alternate symbol click on the icons/morgan2_png . Use the images/toolbar_libedit_part.png shown below to select the unit you wish to edit.

eeschema_libedit_select_unit_png

11.6. Elementy graficzne symbolu

Graphical elements create the symbolic representation of a component and contain no electrical connection information. Their design is possible using the following tools:

  • 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

Each graphic element (line, arc, circle, etc.) can be defined as common to all units and/or body styles or specific to a given unit and/or body style. Element options can be quickly accessed by right-clicking on the element to display the context menu for the selected element. Below is the context menu for a line element.

eeschema_libedit_context_menu_png

You can also double-left-click on an element to modify its properties. Below is the properties dialog for a polygon element.

eeschema_libedit_polyline_properties_png

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.

  • The "Common to all units in component" setting defines if the graphical element is drawn for each unit in component with more than one unit per package or if the graphical element is only drawn for the current unit.

  • The "Common by all body styles (DeMorgan)" setting defines if the graphical element is drawn for each symbolic representation in components with an alternate body style or if the graphical element is only drawn for the current body style.

  • 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 icons/add_text_png 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

Components can have two symbolic representations (a standard symbol and an alternate symbol often referred to as "DeMorgan") and/or have more than one unit per package (logic gates for example). Some components can have more than one unit per package each with different symbols and pin configurations.

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):

Option: pins are not linked. One can add or edit pins for each unit without any coupling with pins of other units.

eeschema_libedit_pins_per_part_png

All units are not interchangeable must be selected.

eeschema_libedit_not_interchangeable_png

Unit 1

eeschema_libedit_unit1_png

Unit 2

eeschema_libedit_unit2_png

Unit 3

eeschema_libedit_unit3_png

It does not have the same symbol and pin layout and therefore is not interchangeable with units 1 and 2.

Elementy geometryczne w symbolach

Shown below are properties for a graphic body element. From the relay example above, the three units have different symbolic representations. Therefore, each unit was created separately and the graphical body elements must have the "Common to all units in component" disabled.

eeschema_libedit_disable_common_png

11.8. Tworzenie i edycja wyprowadzeń (pinów)

You can click on the icons/pin_png to create and insert a pin. The editing of all pin properties is done by double-clicking on the pin or right-clicking on the pin to open the pin context menu. Pins must be created carefully, because any error will have consequences on the PCB design. Any pin already placed can be edited, deleted, and/or moved.

11.8.1. Wyprowadzenia - Informacje podstawowe

A pin is defined by its graphical representation, its name and its "number". The pin’s "number" is defined by a set of 4 letters and / or numbers. For the Electrical Rules Check (ERC) tool to be useful, the pin’s "electrical" type (input, output, tri-state…) must also be defined correctly. If this type is not defined properly, the schematic ERC check results may be invalid.

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 "_".

  • To define a pin name with an inverted signal (overline) use the ~ (tilde) character. The next ~ character will turn off the overline. For example \~FO~O would display FO O.

  • Jeśli nie ma nazwy pinu to w pole nazwa należy wstawić jeden znak tyldy.

  • Pin names starting with #, are reserved for power port symbols.

  • A pin "number" consists of 1 to 4 letters and/ or numbers. 1,2,..9999 are valid numbers. A1, B3, Anod, Gnd, Wire, etc. are also valid.

  • Duplicate pin "numbers" cannot exist in a component.

11.8.2. Właściwości wyprowadzeń

eeschema_libedit_pin_properties_png

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

Shown in the figure below are the different pin graphical styles. The choice of graphic styles does not have any influence on the pin’s electrical type.

eeschema_libedit_pin_properties_style_png

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.

  • Power input is used for the component’s power pins. Power pins are automatically connected to the other power input pins with the same name.

  • Power output is used for regulator outputs.

  • 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.

eeschema_libedit_pin_context_menu_png

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).

The only exception to this is the pin’s graphical type and name. This dependency was established to allow for easier pin creation and editing in most of the cases. This dependency can be disabled by toggling the icons/pin2pin_png on the main tool bar. This will allow you to create pins for each unit and representation completely independently.

A component can have two symbolic representations (representation known as "DeMorgan") and can be made up of more than one unit as in the case of components with logic gates. For certain components, you may want several different graphic elements and pins. Like the relay sample shown in section 11.7.1, a relay can be represented by three distinct units: a coil, switch contact 1, and switch contact 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.

By default, pins are specific to each representation of each unit, because their number differs for each unit, and their design is different for each symbolic representation. When a pin is common to all units, it only has to drawn once such as in the case of power pins.

An example is the output pin 7400 quad dual input NAND gate. Since there are four units and two symbolic representations, there are eight separate output pins defined in the component definition. When creating a new 7400 component, unit A of the normal symbolic representation will be shown in the library editor. To edit the pin style in alternate symbolic representation, it must first be enabled by clicking the icons/morgan2_png button on the tool bar. To edit the pin number for each unit, select the appropriate unit using the images/toolbar_libedit_alias.png drop down control.

11.9. Pola symboli

All library components are defined with four default fields. The reference designator, value, footprint assignment, and documentation file link fields are created whenever a component is created or copied. Only the reference designator and value fields are required. For existing fields, you can use the context menu commands by right-clicking on the pin. Components defined in libraries are typically defined with these four default fields. Additional fields such as vendor, part number, unit cost, etc. can be added to library components but generally this is done in the schematic editor so the additional fields can be applied to all of the components in the schematic.

11.9.1. Edycja pól symboli

To edit an existing component field, right-click on the field text to show the field context menu shown below.

eeschema_libedit_field_context_menu_png

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

eeschema_libedit_field_properties_png

Fields are text sections associated with the component. Do not confuse them with the text belonging to the graphic representation of this component.

Ważne uwagi:

  • Modifying value fields effectively creates a new component using the current component as the starting point for the new component. This new component has the name contained in the value field when you save it to the currently selected library.

  • The field edit dialog above must be used to edit a field that is empty or has the invisible attribute enable.

  • The footprint is defined as an absolute footprint using the LIBNAME:FPNAME format where LIBNAME is the name of the footprint library defined in the footprint library table (see the "Footprint Library Table" section in the Pcbnew "Reference Manual") and FPNAME is the name of the footprint in the library LIBNAME.

11.10. Tworzenie symboli zasilania

Power symbols are created the same way as normal components. It may be useful to place them in a dedicated library such as power.lib. Power symbols consist of a graphical symbol and a pin of the type "Power Invisible". Power port symbols are handled like any other component by the schematic capture software. Some precautions are essential. Below is an example of a power +5V symbol.

eeschema_libedit_power_symbol_png

By utworzyć port zasilania, należy wykonać następujące kroki:

  • Add a pin of type "Power input" named +5V (important because this name will establish connection to the net +5V), with a pin number of 1 (number of no importance), a length of 0, and a "Line" "Graphic Style".

  • Umieścić na przykład mały okrąg i jeden segment od niego jak pokazano powyżej.

  • Ustawić punkt zaczepienia w miejscu pinu.

  • The component value is +5V.

  • The component reference is \#+5V. The reference text is not important except the first character which must be # to indicate that the component is a power symbol. By convention, every component in which the reference field starts with a # will not appear in the component list or in the netlist and the reference is declared as invisible.

An easier method to create a new power port symbol is to use another symbol as a model:

  • 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. LibEdit - Complements

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

Key words allow you to selectively search for a component according to various selection criteria. Comments and key words are displayed in various menus, and particularly when you select a component from the library.

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.

A component can have aliases, i.e. equivalent names. This allows you to considerably reduce the number of components that need to be created (for example, a 74LS00 can have aliases such as 74000, 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.

eeschema_libedit_anchor_png

The anchor can be repositioned by selecting the icon icons/anchor_png and clicking on the new desired anchor position. The drawing will be automatically re-centered on the new anchor point.

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.

To modify the list of aliases, you have to select the main editing window via the icon icons/part_properties_png and select the alias folder.

eeschema_libedit_alias_png

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 icons/add_text_png .

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.

eeschema_library_component_field_png

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

To edit documentation information, it is necessary to call the main editing window of the component via the icon icons/part_properties_png and to select the document folder.

eeschema_libedit_description_png

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… for the gates (AND2 = 2 inputs AND gate, NOR3 = 3 inputs NOR gate).

  • JKFF, DFF. dla przerzutników typu JK lub D

  • ADC, DAC, MUX…

  • OpenCol for the gates with open collector output. Thus if in the schematic capture software, you search the component: by keys words NAND2 OpenCol Eeschema will display the list of components having these 2 key words.

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ą.

eeschema_libedit_footprint_png

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ą:

With filtering

eeschema_cvpcb_with_filtering_png

Without filtering

eeschema_cvpcb_without_filtering_png

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 jak symbole, ponieważ zazwyczaj nie są zbyt liczne.

12.6.1. Eksport/Tworzenie wzorca

A component can be exported as a symbol with the button icons/import_png . You can generally create only one graphic, also it will be a good idea to delete all pins, if they exist.

12.6.2. Importowanie wzorca

Importing allows you to add graphics to a component you are editing. A symbol is imported with the button Import graphic icon . Imported graphics are added as they were created in existing graphics.

13. Przeglądarka bibliotek ViewLib

13.1. Wprowadzenie

Viewlib allows you to quickly examine the content of libraries. Viewlib is called by the tool icons/library_browse_png or by the "place component" tool available from the right-hand side toolbar.

eeschema_viewlib_choose_png

13.2. Ekran główny

eeschema_viewlib_select_library_png

By sprawdzić zawartość biblioteki należy ją wybrać z listy znajdującej się po lewej stronie okna. Jej zawartość zostanie pokazana na drugiej liście, z której można wybrać jeden z elementów, którego podgląd pojawi się w panelu po prawej stronie.

eeschema_viewlib_select_component_png

13.3. Pasek narzędzi przeglądarki bibliotek

Podstawowy pasek narzędzi wygląda w ten sposób:

images/toolbar_viewlib.png

Dostępne polecenia to:

icons/library_png

Selection of the desired library which can be also selected in the displayed list.

icons/add_component_png

Selection of the component which can be also selected in the displayed list.

icons/lib_previous_png

Display previous component.

icons/lib_next_png

Display next component.

images/icons/zoom_in.png images/icons/zoom_out.png images/icons/zoom_redraw.png images/icons/zoom_fit_in_page.png

Zoom tools.

images/icons/morgan1.png images/icons/morgan2.png

Selection of the representation (normal or converted) if exist.

images/toolbar_viewlib_part.png

Selection of the part, only for multi-part components.

icons/datasheet_png

If it exist, display the associated documents. Exists only when called by the place component dialog frame from Eeschema.

icons/export_png

Close Viewlib and place the selected component in Eeschema. This icon is only displayed when Viewlib has been called from Eeschema (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

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 &amp; 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 itself is a an XML language very suitable for XML transformations. There is a free program called xsltproc that you can download and install. The xsltproc program can be used to read the Intermediate XML netlist input file, apply a style-sheet to transform the input, and save the results in an output file. Use of xsltproc requires a style-sheet file using XSLT conventions. The full conversion process is handled by Eeschema, after it is configured once to run xsltproc in a specific way.

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

The pads-pcb format is comprised of two sections.

  • 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  "&#xd;&#xa;"> <!--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

The Cadstar format is comprised of two sections.

  • 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  "&#xd;&#xa;"> <!--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  "&#xd;&#xa;"> <!--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 &lt;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

One can add a new netlist plug-in user interface tab by clicking on the Add Plugin button.

eeschema_plugin_add_plugin_png

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

eeschema_plugin_padspcb_png
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:

  1. Eeschema tworzy pośredni plik z listą sieci *.xml, na przykład test.xml.

  2. 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 will be replaced by the actual intermediate file name

%O will be replaced by the actual output file name.

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:

bom-netlist-tab_png

Ś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.

  • The components section.

  • 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

The nets section has the delimiter <nets>. This section contains the "connectivity" of the schematic.

<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