Podręcznik użytkownika

This document is Copyright © 2010-2022 by its contributors as listed below. You may distribute it and/or modify it under the terms of either the GNU General Public License (http://www.gnu.org/licenses/gpl.html), version 3 or later, or the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0/), version 3.0 or later.

Wszystkie znaki towarowe użyte w tym dokumencie należą do ich właścicieli.

Współtwórcy

Jean-Pierre Charras, Fabrizio Tappero.

Tłumaczenie

Kerusey Karyu <keruseykaryu@o2.pl>, 2014-2015.

Kontakt

Wszelkie zauważone błędy, sugestie lub nowe wersje dotyczące tego dokumentu prosimy kierować do:

Data publikacji i wersja oprogramowania

Opublikowano 30 Maj 2015.

1. Introduction to the KiCad Schematic Editor

1.1. Opis

The KiCad Schematic Editor is a schematic capture software distributed as a part of KiCad and available under the following operating systems:

  • Linux

  • Apple macOS

  • Windows

Regardless of the OS, all KiCad files are 100% compatible from one OS to another.

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

The KiCad Schematic Editor is intended to cooperate with the KiCad PCB Editor, which is KiCad’s printed circuit design software. It can also export netlist files, which lists all the electrical connections, for other packages.

The Schematic Editor includes a symbol library editor, which can create and edit symbols and manage libraries. It also integrates the following additional but essential functions needed for modern schematic capture software:

  • Sprawdzanie poprawności projektu (DRC) dla zautomatyzowanego procesu kontroli poprawności połączeń, czy testowania niepołączonych wejść elementów.

  • Generowanie wydruków w różnych formatach (Postscript, PDF, HPGL oraz SVG).

  • Tworzenie list materiałowych (za pomocą skryptów Python lub XSLT, które pozwalają na różnorodną jej konfigurację).

1.2. Opis techniczny

The Schematic Editor 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 schematics, the representation is hierarchical.

The Schematic Editor can use multi-sheet schematics in a few ways:

  • Hierarchii prostych (każdy schemat jest użyty tylko jeden raz),

  • Hierarchii złożonych (niektóre ze schematów są użyte wielokrotnie),

  • Hierarchii płaskich (niektóre schematy nie są wyraźnie połączone na głównym schemacie).

2. Generic Schematic Editor commands

Polecenia można wywoływać za pomocą:

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

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

  • Kliknięcie w pasek ikon po prawej stronie ekranu (podstawowe polecenia lub "narzędzia").

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

  • Kliknięcia za pomocą klawisza myszy (najważniejsze polecenia). W praktyce kliknięcie prawym klawiszem otwiera menu kontekstowe, zależne od tego jaki element znajduje się na pozycji kursora (powiększenie, siatka oraz edycja elementów).

  • Function keys (F1, F2, F3, F4, Insert and Space). Specifically: Escape cancels the command in progress. Insert allows the duplication of the last element created.

  • Pressing hotkeys. For a list of hotkeys, see the Help→List Hotkeys menu entry or press Ctrl+F1. Many hotkeys select a tool but do not perform the tool’s action until the canvas is clicked. This behavior can be changed by unchecking First hotkey selects tool in the Common Preferences pane. With this option unchecked, pressing a hotkey will select the tool and immediately perform the tool’s action at the current cursor location.

Przegląd poleceń

2.1. Polecenia związane z myszą

2.1.1. Podstawowe polecenia

Lewy klawisz

  • Single click: Selects the item under the cursor and displays the item’s characteristics in the status bar.

  • Double click: edits the item if it is editable.

Prawy klawisz

  • Opens a pop-up menu. If an item is selected, the items in the menu are related to the selected item. If an item is under the cursor when the right mouse button is clicked, the item is selected.

2.1.2. Selection operations

Schematic editor items can be selected by clicking on them. Multiple items can be selected at once. Add items to the selection with Shift + click, and remove items from the selection with Ctrl+Shift + click.

Note
On macOS, Cmd is used instead of Ctrl.

left mouse button

Select item.

Shift + left mouse button

Add item to selection.

Ctrl+Shift + left mouse button

Remove item from selection.

Ctrl + left mouse button

Highlight net.

Items can also be selected by drawing a box around them using the left mouse button.

Dragging from left to right includes all items fully enclosed by the box. Dragging from right to left includes all items touched by the box, even if they are not fully enclosed.

The Shift and Ctrl+Shift modifiers also work with drag selections to add and remove items from the selection, respectively.

2.2. Klawisze skrótów

  • The Ctrl+F1 displays the current hotkey list.

  • All hotkeys can be redefined using the hotkey editor (PreferencesPreferences…​Hotkeys).

The default hotkey list is below. Many additional actions do not have hotkeys by default, but hotkeys can be assigned to them with the hotkey editor.

Action Default Hotkey Description

Click

Return

Performs left mouse button click

Double-click

End

Performs left mouse button double-click

Cursor Down

Down

Cursor Down Fast

Ctrl+Down

Cursor Left

Left

Cursor Left Fast

Ctrl+Left

Cursor Right

Right

Cursor Right Fast

Ctrl+Right

Cursor Up

Up

Cursor Up Fast

Ctrl+Up

Switch to Fast Grid 1

Alt+1

Switch to Fast Grid 2

Alt+2

Switch to Next Grid

N

Switch to Previous Grid

Shift+N

Reset Grid Origin

Z

Grid Origin

S

Set the grid origin point

New…​

Ctrl+N

Create a new document in the editor

Open…​

Ctrl+O

Open existing document

Pan Down

Shift+Down

Pan Left

Shift+Left

Pan Right

Shift+Right

Pan Up

Shift+Up

Print…​

Ctrl+P

Print

Reset Local Coordinates

Space

Save

Ctrl+S

Save changes

Save As…

Ctrl+Shift+S

Save current document to another location

Always Show Cursor

Ctrl+Shift+X

Display crosshairs even in selection tool

Switch units

Ctrl+U

Switch between imperial and metric units

Update PCB from Schematic…

F8

Update PCB with changes made to schematic

Center

F4

Center

Zoom to Objects

Ctrl+Home

Zoom to Objects

Zoom to Fit

Home

Zoom to Fit

Zoom In at Cursor

F1

Zoom In at Cursor

Zoom Out at Cursor

F2

Zoom Out at Cursor

Refresh

F5

Refresh

Zoom to Selection

Ctrl+F5

Zoom to Selection

Change Edit Method

Ctrl+Space

Change edit method constraints

Copy

Ctrl+C

Copy selected item(s) to clipboard

Cut

Ctrl+X

Cut selected item(s) to clipboard

Delete

Del

Deletes selected item(s)

Duplicate

Ctrl+D

Duplicates the selected item(s)

Find

Ctrl+F

Find text

Find and Replace

Ctrl+Alt+F

Find and replace text

Find Next

F3

Find next match

Find Next Marker

Shift+F3

Paste

Ctrl+V

Paste item(s) from clipboard

Redo

Ctrl+Y

Redo last edit

Select All

Ctrl+A

Select all items on screen

Undo

Ctrl+Z

Undo last edit

List Hotkeys…​

Ctrl+F1

Displays current hotkeys table and corresponding commands

Preferences…​

Ctrl+,

Show preferences for all open tools

Clear Net Highlighting

~

Clear any existing net highlighting

Edit Library Symbol…​

Ctrl+Shift+E

Open the library symbol in the Symbol Editor

Edit with Symbol Editor

Ctrl+E

Open the selected symbol in the Symbol Editor

Highlight Net

`

Highlight net under cursor

Show Datasheet

D

Opens the datasheet in a browser

Add Sheet

S

Add a hierarchical sheet

Add Wire to Bus Entry

Z

Add a wire entry to a bus

Add Global Label

Ctrl+L

Add a global label

Add Hierarchical Label

H

Add a hierarchical label

Add Junction

J

Add a junction

Add Label

L

Add a net label

Add No Connect Flag

Q

Add a no-connection flag

Add Power

P

Add a power port

Add Text

T

Add text

Add Symbol

A

Add a symbol

Add Bus

B

Add a bus

Add Lines

I

Add connected graphic lines

Add Wire

W

Add a wire

Finish Wire or Bus

K

Complete drawing at current segment

Unfold from Bus

C

Break a wire out of a bus

Autoplace Fields

O

Runs the automatic placement algorithm on the symbol or sheet’s fields

Edit Footprint…

F

Displays footprint field dialog

Edit Reference Designator…​

U

Displays reference designator dialog

Edit Value…

V

Displays value field dialog

Mirror Horizontally

X

Flips selected item(s) from left to right

Mirror Vertically

Y

Flips selected item(s) from top to bottom

Properties…

E

Displays item properties dialog

Repeat Last Item

Ins

Duplicates the last drawn item

Rotate Counterclockwise

R

Rotates selected item(s) counter-clockwise

Drag

G

Drags the selected item(s)

Move

M

Moves the selected item(s)

Select Connection

Alt+4

Select a complete connection

Select Node

Alt+3

Select a connection item under the cursor

Leave Sheet

Alt+Back

Display the parent sheet in the schematic editor

Hotkeys are stored in the file user.hotkeys in KiCad’s configuration directory. The location is platform-specific:

  • Windows: %APPDATA%\kicad\6.0\user.hotkeys

  • Linux: ~/.config/kicad/6.0/user.hotkeys

  • macOS: ~/Library/Preferences/kicad/6.0/user.hotkeys

It is possible to import hotkey settings from a user.hotkeys file using menu PreferencesPreferences…​HotkeysImport Hotkeys…​.

2.3. Siatka

In the Schematic Editor the cursor always moves over a grid. The grid can be customized:

  • Size can be changed using the right click menu or using ViewGrid Properties…​.

  • Color can be changed in the Colors page of the Preferences dialog (menu PreferencesGeneral Options).

  • Visibility can be switched using the left-hand toolbar button.

The default grid size is 50 mil (0.050") or 1.27 millimeters.

Taki skok siatki jest zalecany przy rozmieszczaniu symboli na schemacie i prowadzenia połączeń, jak również przy rozkładaniu pinów w trakcie projektowania symboli za pomocą "Edytora bibliotek symboli".

Można pracować z siatką 25mil lub 10mil. Jednak siatka o takich rozmiarach jest przeznaczona do rysowania symboli i rozmieszczania tekstów, i nie jest zalecana przy wstawianiu pinów lub prowadzenia połączeń.

2.4. Wybór powiększenia - Zoom

By zmienić powiększenie (Zoom):

  • Należy kliknąć prawym klawiszem by otworzyć menu kontekstowe i wybrać potrzebne powiększenie.

  • Or use hotkeys:

    • F1: Zoom in

    • F2: Zoom out

    • F4: Center the view around the cursor pointer position

    • Home: Zoom and center the view to fit the entire schematic sheet

    • Ctrl+Home: Zoom and center the view to fit all of the objects in the schematic

    • Ctrl+F5: Activate the Zoom to Selection tool

  • Powiększanie widoku:

    • Mouse wheel: Zoom in/out

    • Shift+Mouse wheel: Pan up/down

    • Ctrl+Mouse wheel: Pan left/right

Mouse scroll gestures are configurable in the Mouse and Touchpad page of the Preferences dialog.

2.5. Wyświetlanie pozycji kursora

The display units are in inches, mils, or millimeters.

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

  • Poziom powiększenia

  • Pozycja absolutna kursora

  • Względna pozycja kursora

  • The grid size

  • The active unit system

  • The active tool

Punkt początkowy dla pozycji względnej może być ustalony klawiszem spacji. Jest to przydatne przy pomiarach odległości pomiędzy dwoma punktami.

Pasek statusu

2.6. Pasek menu

Menu główne pozwala na otwieranie i zapisywanie schematów, ustawianie konfiguracji programu, a także zawiera dostęp do pomocy.

Pasek menu

2.7. Górny pasek narzędzi

This toolbar gives access to the main functions of the Schematic Editor.

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

images/toolbar_schedit_standalone.png

Należy pamiętać, że przy pracy programu KiCad w trybie aktywnego projektu, dwa pierwsze polecenia nie są dostępne, gdyż odnoszą się do pracy nad pojedynczymi plikami.

New schematic icon

Create a new schematic (only in standalone mode).

Open schematic icon

Open a schematic (only in standalone mode).

Save schematic icon

Save complete schematic project.

Schematic Setup icon

Set the schematic-specific options.

Page Settings icon

Select the sheet size and edit the title block.

Print icon

Open print dialog.

Plot icon

Open plot dialog.

paste icon

Paste a copied/cut item or block to the current sheet.

undo icon

Undo: Revert the last change.

redo icon

Redo: Revert the last undo operation.

search icon

Show the dialog to search symbols and texts in the schematic.

search replace icon

Show the dialog to search and replace texts in the schematic.

refresh icon

Refresh screen.

zoom in icon

Zoom in.

zoom out icon

Zoom out.

zoom to fit icon

Zoom to fit the entire schematic sheet.

zoom fit to objects icon

Zoom to fit all objects in the schematic.

zoom fit to selection icon

Zoom to fit selected items.

hierarchy navigator icon

View and navigate the hierarchy tree.

leave sheet icon

Leave the current sheet and go up in the hierarchy.

rotate counter-clockwise icon

Rotate selected items counter-clockwise.

rotate clockwise icon

Rotate selected items clockwise.

mirror vertical icon

Mirror selected items vertically.

mirror horizontal icon

Mirror selected items horizontally.

symbol editor icon

Call the symbol library editor to view and modify libraries and symbols.

symbol library browser icon

Browse symbol libraries.

footprint editor icon

Open the footprint library editor to view and modify libraries and footprints.

annotate icon

Annotate symbols.

ERC icon

Electrical Rules Checker (ERC), automatically validate electrical connections.

run footprint assignment icon

Open the footprint assignment tool to assign footprints to symbols.

Symbol fields editor icon

Bulk edit symbol fields in a spreadsheet interface.

BOM icon

Generate the Bill of Materials (BOM).

pcb editor icon

Open the PCB editor.

python scripting console icon

Open the Python scripting console.

2.8. Prawy pasek narzędzi

Ten pasek zawiera narzędzia do:

  • Wstawiania symboli, połączeń, magistral, etykiet, tekstu, itp.

  • Tworzenie podrzędnych arkuszy hierarchicznych oraz łączenie symboli.

Selection tool icon

Cancel the active command or tool and go into selection mode.

Highlight net icon

Highlight a net by marking its wires and net labels with a different color. If the PCB Editor is also open then copper corresponding to the selected net will be highlighted as well.

New Symbol icon

Display the symbol selector dialog to select a new symbol to be placed.

Add Power icon

Display the power symbol selector dialog to select a power symbol to be placed.

Draw Wire icon

Draw a wire.

Draw Bus icon

Draw a bus.

Draw wire to bus icon

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.

draw no connect flag icon

Place a "No Connect" flag. These flags should be placed on symbol pins which are meant to be left unconnected. It is done to notify the Electrical Rules Checker that lack of connection for a particular pin is intentional and should not be reported.

place junction icon

Place a junction. This connects two crossing wires or a wire and a pin, when it can be ambiguous (i.e. if a wire end or a pin is not directly connected to another wire end).

Local label icon

Place a local label. Local label connects items located in the same sheet. For connections between two different sheets, you have to use global or hierarchical labels.

Global label icon

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

Hierarchical label icon

Place a hierarchical label. Hierarchical labels are used to create a connection between a subsheet and the parent sheet that contains it.

Hierarchical subsheet icon

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

Import hierarchical label icon

Import a hierarchical pin from a subsheet. This command can be executed only on hierarchical subsheets. It will create hierarchical pins corresponding to hierarchical labels placed in the target subsheet.

draw dashed line icon

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

place text icon

Place a text comment.

place bitmap icon

Place a bitmap image.

interactive delete tool icon

Delete clicked items.

2.9. Lewy pasek narzędzi

Ten pasek narzędzi zarządza opcjami wyświetlania:

grid visibility icon

Toggle grid visibility.

inch unit icon

Switch units to inches.

mil unit icon

Switch units to mils (0.001 inches).

millimeter unit icon

Switch units to millimeters.

cursor shape icon

Choose the cursor shape (full screen/small).

hidden pin icon

Toggle visibility of "invisible" pins.

free angle wire icon

Toggle free angle/90 degrees wires and buses placement.

2.10. Menu kontekstowe i szybka edycja komponentów

Kliknięcie prawym klawiszem otwiera menu kontekstowe dla wybranego elementu. Zawiera ono:

  • Rozmiar powiększenia.

  • Ustawienie siatki.

  • Copy/Paste/Delete commands.

  • Add Wire/Bus.

  • Główne opcje edycyjne dla wybranego elementu.

3. Menu główne

3.1. Menu Plik

Menu Plik
New Close current schematic and start a new one (only in standalone mode).

Open

Load a schematic project (only in standalone mode).

Open Recent

Open a schematic project from the list of recently opened files (only in standalone mode).

Save

Save current sheet and all its subsheets.

Save As…​

Save the current sheet under a new name (only in standalone mode).

Save Current Sheet Copy As…​

Save a copy of the current sheet under a new name (only in project mode).

Insert Schematic Sheet Content…​

Insert the contents of another schematic sheet into the current sheet (only in standalone mode).

Import

Import a non-KiCad schematic or a footprint assignment file.

Export

Export a netlist or a drawing of the schematic to the clipboard.

Schematic Setup…​

Set up schematic formatting, electrical rules, net classes, and text variables.

Page Settings…​

Configure page dimensions and title block.

Print

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

Plot

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

Quit

Terminate the application.

3.1.1. Schematic Setup

The Schematic Setup window is used to set schematic options that are specific to the currently active schematic. For example, the Schematic Setup window contains formatting options, electrical rule configuration, netclass setup, and schematic text variable setup.

3.2. Menu Ustawienia

Menu Ustawienia

Configure Paths…​

Set the default search paths.

Manage Symbol Library Tables…​

Add/remove symbol libraries.

Preferences…​

Preferences (units, grid size, field names, etc.).

Set Language

Select interface language.

3.2.1. Zarządzaj bibliotekami symboli

Biblioteki Symboli

KiCad uses two library tables to store the list of available symbol libraries, which differ by the scope:

Globalne bilioteki

Libraries listed in the Global Library table are available to every project. They are saved in the sym-lib-table in the KiCad configuration directory, which is system-dependent:

  • Windows: %APPDATA%\kicad\6.0\sym-lib-table

  • Linux: ~/.config/kicad/6.0/sym-lib-table

  • macOS: ~/Library/Preferences/kicad/6.0/sym-lib-table

Biblioteki zależne od projektu

Libraries listed in Project Specific Libraries table are available to the currently opened project. They are saved in a sym-lib-table file in the project directory.

Both library tables are visible by clicking on Global Libraries or Project Specific Libraries tab in the Manage Library Tables window.

Dodanie nowej biblioteki

Add a library either by clicking the Folder icon button and selecting a file or clicking the Plus icon button and typing a path to a library file. The selected library will be added to the currently opened library table (Global/Project Specific).

Usunięcie biblioteki

Remove a library by selecting one or more libraries and clicking the Trash icon button.

Właściwości biblioteki

Każdy wiersz w tabeli zawiera kilka pól określających bibliotekę:

Active

Enables/disables the library. It is useful to temporarily reduce the loaded library set.

Nickname

Nickname is a short, unique identifier used for assigning symbols to components. Symbols are represented by '<Library Nickname>:<Symbol Name>' strings.

Library Path

Path points to the library location.

Plugin Type

Determines the library file format. KiCad 6.0 libraries use the "KiCad" format, while KiCad 5.x libraries use the "Legacy" format. Legacy libraries are read-only.

Options

Stores library specific options, if used by plugin.

Description

Briefly characterizes the library contents.

3.2.2. Preferences

Common Preferences
Note
TODO: write this section
Common settings
Mouse and Touchpad

Center and warp cursor on zoom

If checked, the pointed location is warped to the screen center when zooming in/out.

Use touchpad to pan

When enabled, view is panned using scroll wheels (or touchpad gestures) and to zoom one needs to hold Ctrl. Otherwise scroll wheels zoom in/out and Ctrl/Shift are the panning modifiers.

Pan while moving object

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

Klawisze skrótów

Redefine hotkeys.

Hotkeys settings

Wybierz nowy skrót klawiszowy przez podwójne kliknięcie na pole akcji lub kliknij prawym na polu akcji by wywołać menu podręczne:

Edit

Define a new hotkey for the action (same as double click).

Undo Changes

Reverts the recent hotkey changes for the action.

Clear Assigned Hotkey

Restore Default

Sets the action hotkey to its default value.

Display Options
Display options

Rozmiar siatki

Wybór skoku siatki.

Zalecana jest praca z normalną siatką (0.050 cali lub 1,27 mm). Mniejszy skok siatki jest używany przy tworzeniu symboli.

Grubość magistrali

Pozwala wybrać grubość linii z jaką rysowane są magistrale.

Grubość linii

Pozwala wybrać grubość linii z jaką rysowane są normalne połączenia.

Notacja elementów wieloczęściowych

Wybiera styl notacji przyrostków w symbolach wieloczęściowych (U1A, U1.A, U1-1, itp.)

Skala ikon

Pozwala na przeskalowanie ikon na paskach narzędziowych dla wyświetlaczy HDR.

Pokaż siatkę

Pozwala włączyć lub wyłączyć rysowanie siatki.

Magistrale i połączenia tylko poziomo/pionowo

Jeśli zaznaczona, magistrale oraz normalne połączenia będzie można rysować tylko poziomo lub pionowo. Bez zaznaczonej tej opcji można rysować pod dowolnym kątem.

Pokazuj ukryte piny:

Wyświetla niewidoczne (lub ukryte) piny, w szczególności piny dostarczające zasilanie.

Pokazuj granice strony

Jeśli zaznaczone, na obszarze roboczym pokazywana jest ramka wskazująca maksymalne dostępne miejsce na stronie.

Podgląd footprintu przy wyborze symbolu

Włącza opcję pokazywania footprintu w oknie dialogowym wyboru symbolu.

Uwaga: Opcja ta może generować znaczne opóźnienia w przeglądaniu lub generować problemy.

Editing Options
Edycja ustawień

Measurement units

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

Horizontal pitch of repeated items

Increment on X axis during element duplication (default: 0) (after placing an item like a symbol, label or wire, a duplication is made by the Insert key)

Vertical pitch of repeated items

Increment on Y axis during element duplication (default: 0.100 inches or 2,54 mm).

Increment of repeated labels

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

Default text size

Text size used when creating new text items or labels.

Auto-save time interval

Time in minutes between saving backups.

Automatically place symbol fields

If checked, symbol fields (e.g. value and reference) in newly placed symbols might be moved to avoid collisions with other items.

Allow field autoplace to change justification

Extension of 'Automatically place symbol fields' option. Enable text justification adjustment for symbol fields when placing a new part.

Always align autoplaced fields to the 50 mil grid

Extension of 'Automatically place symbol fields' option. If checked, fields are autoplaced using 50 mils grid, otherwise they are placed freely.

Kolory

Za pomocą tej zakładki można wybrać kolorystykę wyświetlania poszczególnych elementów oraz koloru tła z dwóch dostępnych: biały (domyślny) i czarny.

Ustawienia kolorów
Pola domyślne

Definiuje dodatkowe pola niestandardowe i odpowiadające im wartości, które pojawią się w nowo wstawionych symbolach.

Ustawienia domyślnej zawartości pól

3.3. Menu Pomoc

Udostępnia pomoc on-line (ten dokument). Można również z poziomu tego menu otworzyć krótki samouczek, który w kilkunastu krokach wyjaśnia proces tworzenia kompletnego projektu.

Use the Report a Bug item to report a bug online. Full KiCad version and user system information is available via the Copy Version Info button in the About KiCad window.

4. Główny pasek narzędziowy

4.1. Zarządzanie ustawieniami arkuszy/stron

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

Ustawienia strony

Numeracja arkuszy jest odświeżana automatycznie. Można ustawić datę na datę bieżącą klikając na przycisk ze strzałką, lecz data ta nie będzie się zmieniała automatycznie.

4.2. Znajdź oraz Znajdź i zamień

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

Główne okno narzędzia wyszukiwania

Za jego pomocą można wyszukać na schemacie nazwy umieszczonych tam komponentów, jego wartość lub dowolny tekst jaki znajduje się na bieżącym schemacie czy w całej jego hierarchii. Po odnalezieniu jednego z w/w elementów kursor przeskakuje do miejsca jego umieszczenia.

4.3. Narzędzie Lista sieci

The Netlist icon (Netlist icon) opens the netlist generation tool.

Narzędzie to tworzy listę sieci opisującą wszystkie połączenia w całej hierarchii schematów.

W hierarchii, dowolna zwykła etykieta jest widoczna tylko dla arkusza do którego należy. Dlatego etykieta "LABEL1" z arkusza 3 różni się od etykiety "LABEL1" z arkusza 5 (jeśli ich połączenie nie było celowo wprowadzone). Wynika to z faktu, że numer arkusza jest powiązany z lokalną etykietą.

Note
Even though there is no text length limit for labels in KiCad, please take into account that other programs reading the generated netlist may have such constraints.
Note
Avoid spaces in labels, because they will appear as separated words in the generated file. It is not a limitation of KiCad, but of many netlist formats, which often assume that a label has no spaces.
Okno list sieci

Opcje:

Format domyślny

Zaznacz tą opcję jeśli ten format listy sieci ma być domyślny dla nowo tworzonych list sieci.

Można też wygenerować netlistę w innych formatach:

  • Orcad PCB2

  • CadStar

  • Spice (dla symulatorów)

Za pomocą zewnętrznych wtyczek można uruchamiać konwersje do innych formatów (Tu dodano wtyczkę PADSPCB).

Więcej informacji na temat tworzenia list sieci można znaleźć w rozdziale Tworzenie list sieci.

4.4. Numeracja komponentów

The icon Annotate icon launches the annotation tool. This tool assigns references to components.

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.

Okno annotacji

Zakres

Użyj całego schematu Wszystkie arkusze zostana ponumerowane ponownie (domyślnie).

Użyj tylko bieżącej strony

Tylko bieżący arkusz zostanie ponownie ponumerowany (Opcja ta może być użyta tylko w szczególnych przypadkach, np. podczas testowania ilości rezystorów na bieżącym arkuszu).

Zachowaj bieżąca numerację

Numeracja warunkowa, tylko nowe komponenty zostaną ponumerowane ponownie (domyślnie).

Resetuj bieżącą numerację

Numeracja bezwarunkowa, wszystkie komponenty będą ponumerowane ponownie (Ta opcja powinna być użyta jeśli występują zduplikowane odniesienia).

Resetuj, ale nie zmieniaj części elementów wieloczęściowych

Zachowuje wybrany podział elementów wieloczęściowych (np. U2A, U2B) podczas ponownej numeracji.

Porządek numeracji

Wybiera kierunek w jakim poruszać się będzie numeracja komponentów (poziomo lub pionowo).

Wybór numeracji

Wybiera format w jakim są przypisywane oznaczenia.

4.5. Kontrola reguł projektowych - ERC

The icon ERC icon launches 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, KiCad places markers to highlight problems. The error description is displayed after left clicking on the marker. An error report file can also be generated.

4.5.1. Główne okno narzędzia ERC

Główne okno narzędzia ERC

Podsumowanie ilości błędów lub ostrzeżeń jest wyświetlane w oknie dialogowym:

  • Ogółem błędów - to całkowita liczba znalezionych nieprawidłowości.

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

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

Opcje:

Utwórz plik raportu

Jeśli chcemy dodatkowo wygenerować plik z listą błędów należy zaznaczyć tą opcję.

Polecenia:

Usuń znaczniki

Usuwa bieżące znaczniki błędów/ostrzeżeń.

Uruchom

Rozpoczyna proces sprawdzenia.

Zamknij

Zamyka okno.

  • Gdy kliknie się w komunikat o błędzie na liście, kursor przeskakuje do miejsca gdzie znajduje się znacznik tego błędu.

4.5.2. Opcje sprawdzania ERC

Opcje sprawdzania ERC

Ta zakładka pozwala na określenie, jaki błąd powinien zostać wygenerowany po zestawieniu ze sobą dwóch typów wyprowadzeń. Można wybrać jedną z 3 opcji zgłoszenia dla danego przypadku:

  • Brak błędu

  • Ostrzeżenie

  • Błąd

Każde pole na matrycy błędów i ostrzeżeń może być zmienione klikając w nie. Zmiany są wykonywane cykliczne. W każdej chwili można przywrócić ustawienia domyślne za pomocą przycisku "Resetuj do domyślnych".

Opcje:

Testuj na podobność etykiet

Raportuje etykiety różniące się tylko wielkością liter (np. label/Label/LaBeL). W nazwach sieci rozróżniana jest wielkość liter, dlatego takie etykiety są traktowane jako oddzielne sieci.

Testuj na unikalność etykiet globalnych

Raportuj o etykietach globalnych, które występują tylko raz dla danej sieci. Normalnie, wymagane jest aby co najmniej dwie takie etykiety tworzyły połączenie.

Polecenia:

Resetuj do domyślnych

Przywraca domyślne ustawienia.

4.6. Narzędzia list materiałowych - BOM

The icon BOM icon launches the bill of materials (BOM) generator. This tool generates a file listing the components and/or hierarchical connections (global labels).

Główne okno narzędzia BOM

The Schematic Editor’s BOM generator makes use of external plugins, either as XSLT or Python scripts. There are a few examples installed inside the KiCad program files directory.

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

  • Wartość - unikalna nazwa dla każdego z użytych elementów,

  • Obudowa - zarówno wpisana ręcznie lub za pomocą numeracji wstecznej (zobacz następny punkt),

  • Pole1 - nazwa producenta,

  • Pole2 - nazwa elementu według producenta,

  • Pole3 - nazwa elementu według jego dystrybutora.

Przykładowo:

Okno edycja głównych właściwości symboli

W systemach MS Windows, generator list BOM posiada specjalną opcję (wskazaną strzałką), która kontroluje widoczność zewnętrznego okna wtyczek. + Domyślnie, polecenia uruchamiane są w ukrytym oknie konsoli i dane z niego są przekazywane do pola Informacje. Zaznacz tą opcję by okno konsoli było pokazywane podczas pracy polecenia. Może to być konieczne gdy wtyczka posiada interfejs użytkownika.

Dodatkowa opcja w MS Windows

4.7. Narzędzie do edycji pól

The icon Edit Fields icon opens a spreadsheet to view and modify field values for all symbols.

Okno edycji pól symboli

Po zmodyfikowaniu wartości pól musisz zaakceptować zmiany, klikając przycisk 'Zastosuj' lub cofnąć je, klikając przycisk 'Przywróć'.

4.7.1. Sposoby uproszczenia edycji pól

W tabelach okien dialogowych możliwe jest użycie kilka specjalnych metod ich kopiowania/wklejania. Mogą być one przydatne przy wprowadzaniu wartości pól powtarzanych dla kilku komponentów.

These methods are illustrated below.

Copy (Ctrl+C) Selection Paste (Ctrl+V)

1copy

1selection

1paste

2copy

2selection

2paste

3copy

3selection

3paste

4copy

4selection

4paste

5copy

5selection

5paste

Note
Te techniki są również dostępne w innych oknach dialogowych zawierających tabele.

4.8. Narzędzie importu dla numeracji wstecznej

4.8.1. Dostęp:

The icon Import Footprint Names icon launches the back-annotate tool.

This tool allows footprint changes made in the PCB Editor to be imported back into the footprint fields in the Schematic Editor.

5. Zarządzanie bibliotekami symboli

Biblioteki symboli przechowują zbiory symboli używanych podczas tworzenia schematów. Każdy symbol na schemacie jest jednoznacznie identyfikowany za pomocą pełnej nazwy, która składa się z nazwy skrótowej biblioteki i nazwy symbolu. Przykładowo Audio:AD1853.

5.1. Tabele Bibliotek Symboli

Tabela biblioteki symboli zawiera listę wszystkich plików bibliotecznych które są dostępne dla programu KiCad. Tabela bibliotek symboli jest zbudowana z pliku globalnej tabeli bibliotek symboli i pliku tabeli bibliotek symboli specyficznych dla projektu.

When a symbol is loaded, KiCad uses the library nickname, Audio in our example, to lookup the library location in the symbol library table.

The image below shows the symbol library table editing dialog which can be opened by invoking the Manage Symbol Libraries…​ entry in the Preferences menu.

Okno ustawień bibliotek

5.1.1. Globalna tabela bibliotek symboli

The global symbol library table contains the list of libraries that are always available regardless of the currently loaded project file. The table is saved in the file sym-lib-table in the user’s KiCad configuration folder. The location of this folder is dependent upon the operating system being used.

5.1.2. Tabela bibliotek zależnych od projektu

Tablica bibliotek symboli zależnych od projektu zawiera listę bibliotek, które są dostępne wyłącznie dla aktualnie załadowanego pliku projektu. Tabelę bibliotek symboli zależnych od projektu można edytować tylko wtedy gdy jest załadowana wraz z plikiem projektu. Jeśli nie załadowano żadnego projektu lub nie ma pliku z tabelą bibliotek symboli w bieżącej ścieżce projektu tworzona jest pusta tabela, którą można edytować a następnie zapisać wraz z plikiem projektu.

5.1.3. Konfiguracja początkowa

The first time the KiCad Schematic Editor is run and the global symbol table file sym-lib-table is not found in the KiCad configuration folder, KiCad will present the "Configure Global Symbol Library Table" dialog to the user. The dialog presents the user with three options.

  • Copy default global symbol library table (recommended). If this option is selected, KiCad will copy the default symbol library table file stored in the system’s Kicad template folder to the file sym-lib-table in the user’s KiCad configuration folder. If the default template sym-lib-table file cannot be found, this option will be grayed out. The missing default table is usually caused by the KiCad default libraries not being installed (on some systems they are installed by a separate package). If the libraries are installed in a non-standard location, use the second option and browse to the library table location manually.

  • Copy custom global symbol library table. If this option is selected, the user must browse to the desired symbol library table file, which will be copied to the user’s KiCad configuration directory.

  • Create an empty global symbol library table. An empty symbol library table file will be created in the user’s KiCad configuration directory. The user must add libraries to the table manually.

symbol library table initial configuration
Note

Domyślna tabela bibliotek symboli zawiera wszystkie biblioteki symboli które są instalowane jako jeden ze składników programu KiCad. Takie podejście może być pożądane lub nie w zależności od zastosowań i szybkości systemu. Ilość czasu potrzebna do załadowania bibliotek symboli jest proporcjonalna do ich liczby w tabeli. Jeśli czas ładowania bibliotek symboli jest zbyt duży, należy usunąć rzadko lub nigdy nie używane biblioteki z globalnej tabeli bibliotek i dodać je w szczególnych przypadkach do tabeli bibliotek projektu.

5.1.4. Dodawanie wpisów w tabeli

Aby skorzystać z biblioteki symboli, należy ją najpierw dodać do tabeli globalnej lub tabeli specyficznej dla projektu. Tabela specyficzna dla projektu ma zastosowanie tylko wtedy, gdy otwarty jest plik projektu.

Note
Each library entry must have a unique nickname.

The library nickname does not have to be related in any way to the actual library file name or path. The colon : and \ characters cannot be used anywhere in the library nickname. Each library entry must have a valid path and/or file name depending on the type of library. Paths can be defined as absolute, relative, or by environment variable substitution (see section below).

The appropriate library format must be selected in order for the library to be properly read. "KiCad" format is used for KiCad version 6 libraries (.kicad_sym files), while "Legacy" format is used for libraries from older versions of KiCad (.lib files). Legacy libraries are read-only, but can be migrated to KiCad format libraries using the Migrate Libraries button (see section Migrating Legacy Libraries).

Istnieje również pole opisu, w którym można dodać opis dla każdej pozycji. Pole z opcjami nie jest obecnie używane więc dodawanie opcji nie będzie miało żadnego wpływu na ładowanie bibliotek.

  • Pamiętaj, że nie może być duplikatów nazw skrótowych bibliotek w tej samej tabeli. Można jednak duplikować nazwy skrótowe pomiędzy tabelą globalną i tabelą specyficzną dla projektu.

  • Pozycja w tabeli specyficznej dla projektu będzie miała pierwszeństwo przed pozycją w tabeli globalnej, gdy wystąpią takie same nazwy skrótowe w obu tabelach.

  • Gdy wpisy zostaną zdefiniowane w tabeli specyficznej dla projektu, plik z sym-lib-table zawierający te wpisy zostanie zapisany w folderze aktualnie otwartego projektu.

5.1.5. Substytucja zmiennych środowiskowych

One of the most powerful features of the symbol library table is environment variable substitution. This allows for definition of custom paths to where symbol libraries are stored in environment variables. Environment variable substitution is supported by using the syntax ${ENV_VAR_NAME} in the library path.

By default, at run time KiCad defines two environment variables relevant for locating symbol libraries:

  • the $KIPRJMOD environment variable that always points to the currently open project directory. $KIPRJMOD cannot be modified.

  • the $KICAD6_SYMBOL_DIR environment variable. This points to the path where the default symbol libraries that were installed with KiCad.

You can override $KICAD6_SYMBOL_DIR by redefining it in PreferencesConfigure Paths…​. This is useful for using libraries installed in a nonstandard location.

$KIPRJMOD allows you to store libraries in the project path without having to define the absolute path (which is not always known) to the library in the project specific symbol library table.

5.1.6. Zakres stosowania

Symbol libraries can be defined either globally or specifically to the currently loaded project. Symbol libraries defined in the user’s global table are always available and are stored in the sym-lib-table file in the user’s KiCad configuration folder. The project-specific symbol library table is active only for the currently open project file.

Każda z tych metod ma swoje wady i zalety. Zdefiniowanie wszystkich bibliotek w tabeli globalnej oznacza, że będą one zawsze dostępne w razie potrzeby. Wadą tego rozwiązania jest to, że czas ich ładowania znacznie wzrośnie.

Definiowanie wszystkich bibliotek symboli w ustawieniach konkretnego projektu oznacza, że ładowane są tylko biblioteki wymagane dla projektu co zmniejsza ich czas ładowania. Wadą jest to, że zawsze należy pamiętać o skonfigurowaniu wymaganych bibliotek dla każdego projektu.

Jednym ze sposobów użycia mogłoby być zdefiniowanie powszechnie używanych bibliotek globalnie, a bibliotek wymaganych tylko dla projektu w tabelach bibliotek specyficznych dla projektu. Nie pod tym względem żadnych ograniczeń.

5.1.7. Migrating Legacy Libraries

Legacy libraries (.lib files) are read-only, but they can be migrated to KiCad version 6 libraries (.kicad_sym). KiCad version 6 libraries cannot be viewed or edited by KiCad versions older than 6.0.0.

Legacy libraries can be converted to KiCad 6 libraries by selecting them in the symbol library table and clicking the Migrate Libraries button. Multiple libraries can be selected and migrated at once by Ctrl-clicking or shift-clicking.

Libraries can also be converted one at a time by opening them in the Symbol Editor and saving them as a new library.

5.1.8. Remapowanie projektów z poprzednich wersji

When loading a schematic created prior to the symbol library table implementation, KiCad will attempt to remap the symbol library links in the schematic to the appropriate library table symbols. The success of this process is dependent on several factors:

  • oryginalne biblioteki użyte w schemacie są nadal dostępne i niezmienione od momentu dodania symbolu do schematu.

  • wszystkie operacje ratunkowe zostały wykonane po wykryciu potrzeby utworzenia biblioteki ratunkowej lub aktualizacji istniejącej biblioteki ratunkowej.

  • integralność symboli bibliotecznych w pamięci podręcznej projektu nie została naruszona.

Warning

Remapowanie spowoduje utworzenie kopii zapasowej wszystkich plików, które zostały zmienione podczas ponownego mapowania w folderze rescue-backup w folderze projektu. Zawsze należy utworzyć kopie zapasowe projektu przed zmianą przypisań na wypadek gdyby coś poszło nie tak.

Warning

Operacja odzyskiwania jest wykonywana nawet jeśli została wyłączona, aby zabezpieczyć poprawność symboli do procesu ponownego mapowania. Nie powinno się anulować tej operacji, inaczej ponowne mapowanie się nie powiedzie. Wszelkie uszkodzone łącza symboliczne muszą wtedy zostać naprawione ręcznie.

Note

If the original libraries have been removed and the rescue was not performed, the cache library can be used as a recovery library as a last resort. Copy the cache library to a new file name and add the new library file to the top of the library list using a version of KiCad prior to the symbol library table implementation.

6. Tworzenie i edycja schematu

6.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 a complete KiCad schematic. The manipulation of hierarchical schematics will be described in the Hierarchical Schematics chapter.

6.2. Uwagi ogólne

A schematic designed with KiCad is more than a simple graphic representation of an electronic device. It is normally the entry point of a development chain that allows for:

  • Walidację za pomocą zbioru reguł (ERC) by wykryć proste błędy oraz braki na schemacie.

  • Automatyczne wygenerowanie listy materiałowej (BOM).

  • Generowanie listy sieci dla oprogramowania do symulacji, takiego jak Spice.

  • Defining a circuit for transferring to PCB layout.

Schemat składa się głównie z elementów, połączeń między nimi, etykiet, węzłów, magistral i portów zasilania. Dla zwiększenia czytelności schematu, można umieścić elementy graficzne takie jak: wejścia do magistral, komentarze i linie przerywane do budowy ramek.

Symbols are added to the schematic from symbol libraries. After the schematic is made, the set of connections and footprints is imported into the PCB editor for designing a board.

6.3. Wstawianie i edycja komponentów

6.3.1. Wyszukiwanie i wstawianie komponentów

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

Okno dialogowe wyboru symboli

Okno dialogowe wyboru symbolu filtruje symbole po nazwie, słowach kluczowych lub opisu w zależności od tego co zostanie wpisane w pole wyszukiwania. Można też użyć zaawansowanych filtrów wpisując je:

  • Symbole wieloznaczne: użycie znaków ? oraz * oznacza odpowiednio "dowolny znak" oraz "dowolny ciąg znaków".

  • Operatory relacji: jeśli opisy elementów lub słowa kluczowe zawierają tagi w formacie "Klucz:123", można wyszukiwać względnie wpisując "Klucz>123" (większe niż), "Klucz<123" (mniejsze niż), itd. Liczby mogą zawierać także jeden z następujących sufiksów:

    p

    n

    u

    m

    k

    meg

    g

    t

    10-12

    10-9

    10-6

    10-3

    103

    106

    109

    1012

    ki

    mi

    gi

    ti

    210

    220

    230

    240

  • Wyrażenie regularne: Jeśli znasz wyrażenia regularne, można je również wykorzystać. Użyty styl wyrażeń regularnych to Zaawansowany styl wyrażeń regularnych wxWidgets, który jest podobny do wyrażeń regularnych Perl-a.

If the symbol specifies a default footprint, this footprint will be previewed in the lower right. If the symbol includes footprint filters, alternate footprints that satisfy the footprint filters can be selected in the footprint dropdown menu at right.

After selecting a symbol to place, the symbol will be attached to the cursor. Left clicking the desired location in the schematic places the symbol into the schematic. Before placing the symbol in the schematic, you can rotate it, mirror it, and edit its fields, by either using the hotkeys or the right-click context menu. These actions can also be performed after placement.

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

Komponent w trakcie wstawiania

If the "Place repeated copies" option is checked, after placing a symbol KiCad will start placing another copy of the symbol. This process continues until the user presses Esc.

For symbols with multiple units, if the "Place all units" option is checked, after placing the symbol KiCad will start placing the next unit in the symbol. This continues until the last unit has been placed or the user presses Esc.

6.3.2. Placing power ports

A power port symbol is a symbol representing a connection to a power net. The symbols are grouped in the power library, so they can be placed using the symbol 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.

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

Są dwie możliwości edycji symbolu:

  • Modyfikacja samego elementu: położenie, orientacja, wybór części dla elementu wieloczęściowego.

  • Modyfikacja jednego z pól elementu: Oznaczenie, Wartość, Footprint, lub inne.

Gdy element został właśnie umieszczony na schemacie, może zaistnieć potrzeba zmiany jego wartości (szczególnie dla rezystorów, kondensatorów, itp.), ale nie ma sensu natychmiastowego przypisania temu elementowi jego oznaczenia, lub wyboru części składowej dla elementów wieloczęściowych (poza symbolami z zablokowanymi częściami składowymi, które trzeba określić ręcznie). Wybór elementów składowych może być wykonany automatycznie podczas procesu numeracji schematu.

Modyfikacja symboli

W tym celu należy umieścić kursor myszy na elemencie, a następnie:

  • Kliknąć dwukrotnie na elemencie aby otworzyć okno dialogowe z właściwościami elementu z opcjami jego pełnej edycji.

  • Kliknąć prawym przyciskiem myszy, aby otworzyć menu podręczne, i użyć jednego z wyświetlonych poleceń: "Przesuń", "Zorientuj", "Edytuj", "Usuń", itp.

  • Use a hotkey to perform an action on the symbol (E to open the properties dialog, R to rotate, etc.). Note that hotkeys act on the selected symbol; if no symbol is selected hotkeys act on the symbol under the cursor.

Symbols can also be selected by clicking on them or drag-selecting them. Selected symbols can be modified by clicking relevant buttons in the top toolbar or using a hotkey.

Modyfikacja pól tekstowych elementów

Można dokonać modyfikacji oznaczeń, wartości, pozycji, orientacji, rozmiaru i widoczności pól:

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

  • Kliknąć prawym przyciskiem myszy, aby otworzyć menu podręczne, i użyć jednego z wyświetlonych poleceń: "Przesuń", "Zorientuj", "Edytuj", "Usuń", itp.

  • Position the cursor over the field (if nothing is selected) or select the field and press E to edit the field.

  • Position the cursor over the symbol (if nothing is selected) or select the symbol and press V, U, or F hotkeys to directly edit the symbol’s value, reference designator, or footprint fields, respectively.

W celu edycji bardziej zaawansowanej, lub w celu stworzenia pola; należy kliknąć dwukrotnie na element, by otworzyć okno dialogowe "Właściwości elementu".

Okno edycja głównych właściwości symboli

Każde pole może być widoczne lub nie oraz wyświetlane poziomo lub pionowo. Wyświetlana pozycja jest zawsze pokazywana dla normalnie wyświetlanego elementu (bez obrotu lub lustra) i odnosi się do punktu aktywnego elementu.

The position and orientation properties of each field may be hidden in this dialog. They can be shown by right-clicking on the column header of the fields table and enabling the "Orientation", "X Position", and/or "Y Position" columns. Other columns can be shown or hidden as desired.

The "Update Symbol from Library…​" button is used to update the schematic’s copy of the symbol to match the copy in the library. The "Change Symbol…​" button is used to swap the current symbol to a different symbol in the library.

"Edit Symbol…​" opens the Symbol Editor to edit the copy of the symbol in the schematic. Note that the original symbol in the library will not be modified. The "Edit Library Symbol…​" button opens the Symbol Editor to edit the original symbol in the library. In this case, the symbol in the schematic will not be modified until the user clicks the "Update Symbol from Library…​" button.

6.4. Electrical Connections

6.4.1. Wprowadzenie

There are a number of elements that can be added to a schematic to electrically connect components. All of these elements can be placed with the buttons on the vertical right toolbar or using hotkeys.

Te elementy to:

  • Wires: direct connection between pins.

  • Buses: connections for a group of signals.

  • Bus entries: connections between wires and buses.

  • No-connection flags: terminations for pins or wires that are intentionally unconnected. These flags prevent ERC violations for unconnected pins.

  • Junctions: connections between crossing wires or buses.

  • Net labels: local name for a signal. Signals within a sheet that have the same net label are connected.

  • Global labels: global name for a signal. Signals with the same global label are connected even if they are not in the same sheet.

  • Hierarchical labels: a label for a signal in a subsheet that enables the signal to be accessed in a parent sheet. See the Hierarchical Schematics section for more information about hierarchical labels, sheets, and pins.

  • Hierarchical sheets: an instantiation of a subsheet within a parent sheet. The parent sheet can connect to the subsheet through the subsheet’s hierarchical pins.

  • Hierarchical pins: connection points between a parent sheet and a subsheet. Hierarchical pins appear at the parent sheet’s level and correspond to hierarchical labels in the subsheet.

Several other types of items can be placed on the schematic but do not affect connectivity:

  • Graphical lines: graphical lines for presentation.

  • Text: textual comments and annotations.

  • Bitmap images: raster graphics from an external file.

This section will also discuss two special types of symbols that can be added with the "Power port" button on the right toolbar:

  • Power ports: symbols for connecting wires to a power or ground net.

  • PWR_FLAG: a specific symbol for indicating that a net is powered when it is not connected to a power output pin (for example, a power net that is supplied by an off-board connector).

6.4.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:

Zwykłe etykiety
Label Connections

The point of "contact" of a label is the small square in the corner of the label. The square disappears when the label is connected. The position of the connection point relative to the label text can be changed by choosing a different label orientation in the label properties, or by mirroring/rotating the label.

The label’s connection point must be in contact with a wire or the end of a pin for the label to be connected.

Wire Connections

By nawiązać połączenie, jeden z segmentów połączenia musi być dołączony swoim końcem do innego zakończenia segmentu lub do punktu aktywnego u wyprowadzenia elementu.

Jeśli połączenie się nakłada na wyprowadzenie (gdy połączenie przechodzi przez wyprowadzenie ale nie trafia w jego punkt aktywny), wtedy takie połączenie nie jest prawidłowym połączeniem.

Note
Wires connect with other wires or pins only if their ends conincide exactly. Therefore it is important to keep symbol pins and wires aligned to the grid. It is recommended to always use a 50 mil grid when placing symbols and drawing wires because the KiCad standard symbol library and all libraries that follow its style also use a 50 mil grid.
Note
Symbols, wires, and other elements that are not aligned to the grid can be snapped back to the grid by selecting them, right clicking, and selecting "Align Elements to Grid."
Wire Junctions

Wires that cross are not implicitly connected. It is necessary to join them with a junction dot if a connection is desired. Junction dots will be automatically added to wires that start or end on top of an existing wire.

Junction dots are used in the previous figure on the wires connected to P1 pins 18, 19, 20, 21, 22, and 23.

Nets with Multiple Names

A signal can only have one name. If two different labels are placed on the same net, an ERC violation will be generated. Only one of the net names will be used in the netlist.

6.4.3. Wiring

To begin connecting elements, you may either use the 'Wire' or 'Bus' tools from the right-hand toolbar, or you can auto-start a new wire from any existing pin or unconnected wire.

The wire drag action will drag the entire wire if you start dragging from the middle of the wire. Alternatively, it will drag just one corner if you start the drag action over a corner where two wires connect

6.4.4. Połączenia - Magistrale

Na poniższym schemacie, wiele pinów jest połączonych z magistralami.

Przykład schematu z wykorzystaniem magistral
Składniki magistral

Magistrale to sposób na grupowanie podobnych sygnałów na schemacie by ten schemat uprościć. Magistrale można rysować tak samo jak połączenia używając do tego narzędzia do rysowania magistral, i nazywane z użyciem etykiet podobnie jak zwykłe połączenia. W przypadku programu KiCad 6.0 i późniejszych istnieją dwa typy magistra: wektorowa oraz grupowa.

Magistrala wektorowa to kolekcja sygnałów, których nazwa składa się z takiego samego przedrostka i kończy przyrostkiem z unikalną liczbą. Magistrale wektorowe są nazywane wg schematu <PREFIX>[M..N] gdzie PREFIX to dowolna nazwa sygnału, M to pierwsza liczba przyrostka, a N to ostatnia liczba. Na przykład, magistrala DATA[0..7] zawiera grupę sygnałów DATA0, DATA1, itd. aż do DATA7. Nie ma znaczenia jak wartości M oraz N zostały zdefiniowane, byle by nie były one wartościami ujemnymi.

Magistrala grupowa to kolekcja różnych sygnałów bądź magistral wektorowych. Magistrale grupowe można użyć do zgrupowania razem sygnałów posiadających różne nazwy. Magistrale grupowe używają specjalnego zapisu etykiet:

<OPTIONAL_NAME>{SIGNAL1 SIGNAL2 SIGNAL3}

Sygnały w grupie są wymienione wewnątrz nawiasów klamrowych ({}) oddzielonych spacjami. Opcjonalna nazwa grupy występuje przed otwierającym nawiasem klamrowym. Jeśli magistrala grupowa nie ma nazwy, wynikowe sieci w obwodzie drukowanym będą po prostu nazwami sygnałów wewnątrz grupy. Jeśli magistrala grupowa ma nazwę, wynikowe sieci będą miały nazwę jako prefiks z kropką (.) oddzielającą prefiks od nazwy sygnału.

Na przykład magistrala {SCL SDA} posiada dwa sygnały, stąd na liście sieci będą to sygnały SCL i ` SDA`. Magistrala USB1{DP DM} wygeneruje zaś sieci o nazwie USB1.DP i ` USB1.DM`. W przypadku projektów z większymi magistralami, które występują powtórnie w kilku podobnych obwodach, zastosowanie tej techniki może zaoszczędzić czas.

Magistrale grupowe mogą również zawierać magistrale wektorowe. Na przykład magistrala MEMORY{A[7..0] D[7..0] OE WE} zawiera zarówno magistrale wektorowe, jak i zwykłe sygnały co spowoduje utworzenie sieci takich jak: MEMORY.A7 i ` MEMORY.OE` na PCB.

Bus wires can be drawn and connected in the same manner as signal wires, including using junctions to create connections between crossing wires. Like signals, buses cannot have more than one name — if two conflicting labels are attached to the same bus, an ERC violation will be generated.

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

W powyższym przykładzie, połączenia wykonane są za pomocą etykiet umieszczonych na połączeniach podłączonych do wyprowadzeń. Połączenia poprzez wejścia do magistral (odcinki połączeń pod kątem 45 stopni) mają wyłącznie wartość estetyczną, i nie są konieczne na poziomie czystego schematu.

In fact, using the repetition command (Insert), 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…​):

  • Place the first label (for example PCA0)

  • Use the repetition command as much as needed to place members. KiCad will automatically create the next labels (PCA1, PCA2…​) vertically aligned, theoretically on the position of the other pins.

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

Note

In the Schematic EditorEditing Options section of the Preferences menu, you can set the repetition parameters:

  • Horizontal pitch.

  • Vertical pitch.

  • Label increment (labels can be incremented or decremented by 1, 2, 3, etc.).

Wyprowadzanie sygnałów z magistral

The unfold tool allows you to quickly break out signals from a bus. To unfold a signal, right-click on a bus object (a bus wire, etc) and choose Unfold from Bus. Alternatively, use the Unfold Bus hotkey (default: C) when the cursor is over a bus object. The menu allows you to select which bus member to unfold.

Po wybraniu sygnału z magistrali, następne kliknięcie umieści etykietę sygnału magistrali w żądanym miejscu. Narzędzie automatycznie wygeneruje wejście do magistrali i połączenie prowadzące do miejsca gdzie znajdować się będzie etykieta. Po umieszczeniu etykiety możesz kontynuować umieszczanie dodatkowych segmentów połączenia (Na przykład, aby połączyć się z pinem komponentu) i dokończyć połączenie w dowolny sposób.

Aliasy magistral

Aliasy magistrali to skróty, które umożliwiają wydajniejszą pracę z magistralami o dużych grupach. Pozwalają one zdefiniować magistralę grupową i nadać jej krótką nazwę, która może być następnie używana zamiast pełnej nazwy grupy na schemacie.

To create bus aliases, open the Bus Definitions dialog in the Tools menu.

Okno z definicjami magistral

Alias może mieć dowolną dozwoloną nazwę sygnału. Korzystając z okna dialogowego, można dodawać sygnały lub magistrale wektorowe do aliasu. Jako skrót można wpisać lub wkleić listę sygnałów i/lub magistral oddzieloną spacjami, a wszystkie one zostaną dodane do definicji aliasu. W tym przykładzie zdefiniujemy alias o nazwie USB z elementami DP, DM i ` VBUS`.

Po zdefiniowaniu aliasu można go użyć jako etykiety magistrali grupowej, umieszczając nazwę aliasu w nawiasach klamrowych na magistrali grupowej: {USB}. Ma to taki sam efekt, jak etykietowanie magistrali {DP DM VBUS}. Można także dodać nazwę prefiksu do grupy, na przykład USB1 {USB}, co skutkuje nazwami sieci takimi jak USB1.DP, tak jak opisano to wcześniej. W przypadku skomplikowanych magistral używanie aliasów może znacznie skrócić etykiety na schemacie. Pamiętaj, że aliasy są tylko skrótem, a nazwa aliasu nie jest dołączana do listy sieci.

Aliasy magistral są zapisywane w pliku schematu. Wszelkie aliasy utworzone na danym arkuszu schematu są dostępne do użytku w dowolnym innym arkuszu schematu, który znajduje się w tej samej strukturze hierarchicznej.

Magistrale posiadające więcej niż jedną etykietę

Program KiCad w wersji 5.0 i wcześniejszych pozwalał na łączenie sygnałów magistral z różnymi etykietami i łączył je podczas tworzenia listy sieci. To zachowanie zostało usunięte w programie KiCad 6.0, ponieważ jest niekompatybilne z magistralami grupowymi, a także prowadzi do mylących list sieci, ponieważ nazwa którą dany sygnał odbierze, nie była do przewidzenia.

Jeśli otwarto projekt, który wykorzystywał tę funkcję w nowszej wersji programu, pojawi się okno dialogowe Migracja magistral, które przeprowadzi użytkownika przez aktualizację schematu, tak aby na danym zestawie sygnałów magistrali istniała tylko jedna etykieta.

Okno migracji do nowego systemu magistral

Dla każdego zestawu sygnałów magistrali, który ma więcej niż jedną etykietę, należy wybrać etykietę, która zostanie zachowana. Lista rozwijana z nazwami pozwala wybrać jedną z etykiet, istniejącą w projekcie lub wybrać inną nazwę, wprowadzając ją ręcznie w polu nowej nazwy.

Hidden Power Pins

When the power pins of a symbol are visible, they must be connected, as with any other signal.

However, symbols such as gates and flip-flops are sometimes drawn with hidden power input pins which are connected implicitly.

KiCad automatically connects invisible pins with type "power input" to a global net with the same name as the pin. For example, if a symbol has a hidden power input pin named VCC, this pin will automatically be connected to the global VCC net.

Note
Care must be taken with hidden power input pins because they can create unintentional connections. By nature, hidden pins are invisible and do not display their pin name. This makes it easy to accidentally connect two power pins to the same net. For this reason, the use of invisible power pins in symbols is not recommended outside of power port symbols, and is only supported for compatibility with legacy designs and symbols.
Note
Hidden pins can be shown in the schematic by checking the Show hidden pins option in the Schematic EditorDisplay Options section of the preferences, or by selecting ViewShow hidden pins. There is also a toggle icon hidden pin 24 on the left (options) toolbar.

It may be necessary to join power nets of different names (for example, GND in TTL components and VSS in MOS components). To accomplish this, add a power port symbol for each net and connect them with a wire.

It is not recommended to use labels for power connection. These only have a "local" connection scope, and will not connect to invisible power pins.

6.4.5. Power Ports

Power port symbols are conventionally used to connect pins to power nets. Power port symbols have a single pin which is invisible and marked as a power input. As described in the hidden power pins section, any wire connected to the pin of a power port is therefore automatically connected to the power net with the same name as the port’s pin.

In the KiCad standard library, power ports are found in the power library, but power port symbols can be created in any library. To create a custom power port, make a new symbol with a hidden pin marked as a power input. Name the pin according to the desired power net.

Poniższy rysunek przedstawia przykład połączenia portów zasilania.

Przykład portu zasilania

In this example, power ports symbols are used to connect the positive and negative terminals of the capacitors to the VCC and GND nets, respectively.

Power port symbols are found in the power symbol library. They can also be created by drawing a symbol with a hidden "power input" pin that has the name of the desired power net.

6.4.6. PWR_FLAG

Two PWR_FLAG symbols are visible. They indicate to ERC that the two power nets VCC and GND are actually connected to a power source, as there is no explicit power source such as a voltage regulator output attached to either net.

Without these two flags, the ERC tool would diagnose: Error: Input Power pin not driven by any Output Power pins.

The PWR_FLAG symbol is found in the power symbol library. The same effect can be achieved by connecting any "Power Output" pin to the net.

6.4.7. No-connection flag

No-connection flags (No-connection icon) are used to indicate that a pin is intentionally unconnected. These flags do not have any effect on the schematic’s connectivity, but they prevent "unconnected pin" ERC warnings for pins that are intentionally unconnected.

6.5. Elementy uzupełniające

6.5.1. Text comments and graphic lines

It can be useful to place annotations such as text fields and frames to aid in understanding the schematic. Text fields (text 24) and graphic lines (add dashed line 24) are intended for this use, as opposed to labels and wires, which are connection elements.

The image below shows graphic lines and text in addition to wires, local labels, and hierarchical labels.

Przykład ramki z komentarzem

6.5.2. Tabelka

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

Okno dialogowe ustawienia strony

Each field in the title block can be edited, as well as the paper size and orientation. If the "Export to other sheets" option is checked for a field, that field will be updated in the title block of all sheets, rather than only the current sheet.

A drawing sheet template file can also be selected.

Ramka tytułowa

The sheet number (Sheet X/Y) is automatically updated, but sheet page numbers can also be manually set using EditEdit Sheet Page Number…​.

6.6. Odzyskiwanie symboli z pamięci cache

By default, KiCad loads symbols from the project libraries according to the set paths and library order. This can cause a problem when loading a very old project: if the symbols in the library have changed or have been removed or the library no longer exists since they were used in the project, the ones in the project would be automatically replaced with the new versions. The new versions might not line up correctly or might be oriented differently leading to a broken schematic.

When a project is saved, a cache library with the contents of the current library symbols is saved along with the schematic. This allows the project to be distributed without the full libraries. If you load a project where symbols are present both in its cache and in the system libraries, KiCad will scan the libraries for conflicts. Any conflicts found will be listed in the following dialog:

Okno odzyskiwania konfliktowych symboli

Na podstawie tego przykładu można zobaczyć, że projekt w oryginale używał diod z katodą skierowaną w prawo, ale biblioteka zawiera już diody z katodą skierowaną w lewo. Ta zmiana mogłaby zrujnować cały projekt! Kliknięcie OK spowoduje, że starsze symbole zostaną zapisane do "biblioteki ratunkowej", i wszystkie komponenty używające tego symbolu zostaną podmienione na te umieszczone w bibliotece ratunkowej.

If you press Cancel, no rescues will be made, so KiCad will load all the new components by default. If you save the schematic at this point, your cache will be overwritten and the old symbols will not be recoverable. If you have saved the schematic, you can still go back and run the rescue function again by selecting "Rescue Cached Components" in the "Tools" menu to call up the rescue dialog again.

Jeśli użytkownik nie chce by to okno dialogowe się pokazywało, może zaznaczyć opcję "Nie pokazuj ponownie". Będzie to oznaczało, że operacje porównania nie będą przeprowadzane i nowe symbole będą ładowane domyślnie. Opcję tą można wyłączyć w oknie ustawień bibliotek.

7. Schematy o strukturze hierarchicznej

7.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 KiCad, thanks to an integrated "hierarchy navigator" accessible via the icon Hierarchy navigator icon of the top toolbar.

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.

KiCad currently doesn’t treat this second case.

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.

KiCad can deal with all these hierarchies.

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.

Navigation among sub-sheets is acheived by using the navigator tool accessible via the button Hierarchy navigator icon on the top toolbar.

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

By opuścić bieżący arkusz i przejść do arkusza nadrzędnego, należy kliknąć prawym klawiszem myszy w miejscu gdzie nie ma żadnego elementu schematu oraz wybrać polecenie "Opuść arkusz" z menu podręcznego lub wykorzystać kombinację klawiszy ALT+Backspace.

7.3. Etykiety lokalne, hierarchiczne i globalne

7.3.1. Właściwości

Local labels, tool Local label icon, are connecting signals only within a sheet. Hierarchical labels (tool Hierarchical label icon) are connecting signals only within a sheet and to a hierarchical pin placed in the parent sheet.

Global labels (tool Global label icon) are connecting signals across all the hierarchy. Power pins (type power in and power out) invisible are like global labels because they are seen as connected between them across all the hierarchy.

Note
Wewnątrz hierarchii (prostej lub złożonej) można wykorzystać obie: hierarchiczne jak i globalne etykiety.

7.4. Podsumowanie

Aby stworzyć hierarchię należy:

  • Umieścić w arkuszu głównym symbol zwany "symbolem arkusza hierarchicznego".

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

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

7.5. Symbole arkuszy podrzędnych

Aby narysować arkusz podrzędny, należy narysować prostokąt symbolizujący arkusz podrzędny.

Rozmiar tego prostokąta musi pozwolić na umieszczenie później etykiet czy pinów hierarchicznych odpowiadających etykietom hierarchicznym wewnątrz arkusza podrzędnego.

These labels are similar to usual symbol pins. Select the tool Add hierarchical subsheet icon.

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

7.6. Połączenia - Piny hierarchiczne

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.

7.6.1. Importing Hierarchical Sheet Pins

  • Select the tool Import hierarchical pin icon.

  • Click on the hierarchical sheet from where you want to import the pins corresponding to hierarchical labels placed in the corresponding schematic. A hierarchical pin appears, if a new hierarchical label exists, i.e. not corresponding to an already placed pin.

  • Kliknąć w miejscy gdzie taki pin ma się pojawić.

All necessary pins can thus be placed quickly and without error. Their aspect is in accordance with corresponding hierarchical labels.

7.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 hierarchical labels) is similar. Hierarchical labels are made with the tool Add hierarchical label icon.

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

hierarchical_label_root_png

Należy zwrócić uwagę na pin VCC_PIC, połączony ze złączem JP1.

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

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.

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

7.7.1. Etykiety, etykiety hierarchiczne, etykiety globalne oraz piny ukryte

Oto kilka uwag na temat różnych sposobów zapewnienia połączeń innych niż połączenia bezpośrednie.

Zwykłe etykiety

Etykiety (zwykłe) mają lokalne możliwości łączeniowe, czyli ograniczone do arkusza schematu w którym się znajdują. Wynika to z faktu, że:

  • Każdy arkusz posiada numer arkusza.

  • Numer arkusza jest związany z nazwą etykiety.

Dlatego, jeśli umieścimy etykietę "TOTO" na arkuszu nr 3, w rzeczywistości prawdziwa jej nazwa będzie brzmieć "TOTO_3". Jeśli w arkuszu numer 1 (arkusz główny) również umieścimy etykietę "TOTO" to w rzeczywistości zostanie tam umieszczona etykieta "TOTO_1", różna od "TOTO_3". Dzieje się tak zawsze, nawet jeśli istnieje tylko jeden arkusz.

Etykiety hierarchiczne

To, co zostało napisane w związku z etykietami prostymi również jest prawdą w stosunku do etykiet hierarchicznych.

Zatem w tym samym arkuszu, etykieta hierarchiczna "TOTO" jest uważana za podłączoną do lokalnej etykiety "TOTO", ale nie jest podłączona do etykiety hierarchicznej lub etykiety hierarchicznej o nazwie "TOTO" w innym arkuszu.

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

Ukryte piny zasilania

Jak zostało wcześniej napisane, są one połączone ze sobą gdy posiadają tą samą nazwę. Tak więc wszystkie piny zadeklarowane jako "Ukryte piny zasilania" o nazwie VCC są połączone i tworzą szynę VCC, bez względu na to na którym arkuszu są one umieszczone.

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.

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

7.8. Hierarchia złożona

Przykład takiej hierarchii został zaprezentowany poniżej. Ten sam schemat jest użyty dwukrotnie (dwie instancje). Dwa arkusze współdzielą taki sam schemat, ponieważ nazwa pliku jest taka sama dla dwóch arkuszy (supply.sch). Ich nazwy arkuszy jednak muszą pozostać różne.

eeschema_complex_hierarchy_png

7.9. Hierarchia płaska

Można utworzyć projekt z wykorzystaniem wielu arkuszy bez tworzenia połączeń między tymi arkuszami (płaski model hierarchii), jeśli zastosowano następujące reguły:

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

Tutaj znajduje się pic_programmer.sch.

eeschema_flat_hierarchy_1_png

Tutaj znajduje się pic_sockets.sch.

eeschema_flat_hierarchy_2_png

Widok na etykiety globalne.

eeschema_flat_hierarchy_3_png

8. Narzędzie do numeracja komponentów

8.1. Wprowadzenie

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

Okno annotacji

Dostępne warianty numeracji:

  • 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 wszystkich składników które nie są obecnie ponumerowane. Symbole, które nie posiadają jeszcze numeracji posiadają symbol '?' w oznaczeniach.

  • 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 grupy 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 możliwość wybrania 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…​

8.2. Przykłady

8.2.1. Zmiany porządku numeracji

Poniższy obrazek ukazuje 5 umieszczonych elementów, lecz jeszcze nie ponumerowanych.

Brak kolejności

Po przeprowadzeniu automatycznej numeracji:

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

Kolejność w osi X

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

Kolejność w osi Y

Można zauważyć, że cztery bramki układu 74LS00 zostały zawarte w układzie U1, a piąta bramka została przypisana do następnego układu U2.

8.2.2. Wybór numeracji

Poniżej znajdują się wyniki procesu numeracji dla arkusza numer 2, w zależności od wybranej opcji:

Wybór typu annotacji

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

Wybór numer x100

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

Wybór numeru x1000

9. Kontrola reguł projektowych - Electrical Rules Check

9.1. Wprowadzenie

Funkcja Kontrola reguł projektowych ERC przeprowadza automatyczne sprawdzenie poprawności elektrycznej schematu. Wskazuje ona błędy na arkuszu schematu, takie jak: niepodłączone wyprowadzenia, niepodłączone wyprowadzenia w symbolach hierarchicznych, zwarcia pomiędzy wyjściami, itp. Naturalnie, sprawdzanie automatyczne nie jest bezbłędne, a oprogramowanie które mogłoby wykryć wszelkie błędy nie zostało jeszcze napisane. Aczkolwiek zwykła kontrola jest bardzo użyteczna, ponieważ pozwala na wykrycie wielu niedopatrzeń oraz małych błędów.

W zasadzie wszystkie wykryte błędy muszą zostać sprawdzone i poprawione przed kontynuacją dalszej pracy nad projektem. Jakość procesu sprawdzenia jest bezpośrednio zależna od staranności jaka została podjęta podczas tworzenia elementów bibliotecznych, zwłaszcza przy definiowaniu typu wyprowadzeń. Błędy raportowane przez ERC mogą mieć status błędów'' lub ostrzeżeń''.

Główne okno narzędzia ERC

9.2. Używanie narzędzia testu ERC

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

Ostrzeżenia są umieszczane na elementach schematu, które spowodowały błąd ERC (piny lub etykiety).

Note
  • Kliknięcie w informację o błędzie w tym oknie dialogowym spowoduje, że kursor zostanie przeniesiony do miejsca w którym znajduje się znacznik tego błędu na schemacie.

  • Na schemacie, kliknięcie prawym klawiszem na znacznik błędu umożliwia dostęp do informacji o powodzie błędu.

You can also delete error markers from the dialog and set specific ERC messages to be suppressed by using the right-click context menu.

Ignore ERC warning

9.3. Przykład testu ERC

Znaczniki ERC

Na powyższym obrazku można zobaczyć cztery błędy:

  • Dwa wyjścia zostały błędnie połączone razem (czerwona strzałka).

  • Dwa wejścia zostały niepodłączone (zielone strzałki).

  • Jest też błąd na niewidocznym pinie zasilania, wskazujący na brak flagi zasilania (zielona strzałka na górze).

9.4. Wyświetlanie informacji o znaczniku błędu

Klikając prawym klawiszem na znaczniku błędu można z menu podręcznego wywołać okienko z informacją o tym błędzie ERC.

Informacje o znacznikach ERC

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

ERC pointers message

9.5. Piny zasilania i flagi zasilania

Dosyć często występuje błąd (ostrzeżenie) na wyprowadzeniach zasilania, podczas gdy na pierwszy rzut oka wszystko wydaje się poprawne (patrz przykład powyżej). To dlatego, że w większości projektów zasilanie jest dostarczane przez złączki, które nie są źródłami zasilania gdyż ich wyprowadzenia mają funkcje pasywną (nie tak jak na przykład wyjście regulatora napięcia, którego piny są zwykle zadeklarowane jako źródło zasilania).

ERC wobec tego nie znajduje żadnego źródła zasilania do wysterowania takiej sieci i uzna ją za nie wysterowaną (nie połączoną ze źródłem zasilania).

W takich przypadkach należy do takiej sieci przypiąć specjalny element: flagę "PWR_FLAG" z biblioteki power.lib, która sygnalizuje, że ta sieć jest w istocie źródłem zasilania. Spójrz na następujący przykład:

Power pins and flags

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.

9.6. Konfiguracja

The Pin Conflicts Map panel in Schematic Setup allows you to configure connectivity rules to define electrical conditions for errors and warnings based on what types of pins are connected to each other

Schematic ERC Pin Conflicts Map

Poszczególne reguły mogą zostać zmienione poprzez kliknięcie na wybranym polu na powyższej matrycy. Kolejne kliknięcia pozwalają na wybranie: brak błędu (zielony), ostrzeżenie (żółty, W) i błąd (czerwony, E). Zmiany odbywają się w zamkniętym cyklu, zatem aby wrócić do poprzedniego stanu należy ponownie kliknąć (jedno- lub dwukrotnie).

Schematic ERC severity settings

The Violation Severity panel in Schematic Setup lets you configure what types of ERC messages should be reported as Errors, Warnings or ignored.

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

10. Generowanie list sieci

10.1. Przegląd zagadnień

Lista sieci to plik, który opisuje połączenia pomiędzy elementami na schemacie. Połączenia te tworzą elementy zwane siecią. W liście sieci można znaleźć:

  • Listę elementów

  • Lista połączeń (lista sieci) pomiędzy symbolami.

Istnieje wiele formatów list sieci. Czasem listę elementów i listę sieci 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).

The KiCad Schematic Editor supports several netlist formats.

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

10.2. Format listy sieci

Należy wybrać narzędzie dostępne spod ikony Ikona listy sieci by otworzyć okno dialogowe tworzenia listy sieci.

Wybrany format Pcbnew

Lista sieci Pcbnew

Wybrany format Spice

Lista sieci Spice

Korzystając z różnych kart, można wybrać żądany format jako format domyślny. W formacie Spice, można wygenerować listę sieci z nazwami sieci zamiast postaci liczbowej co pozwala na lepszą czytelność tych plików. Klikając w przycisk "Lista sieci", będziemy poproszeni o podanie nazwy pliku z listą sieci.

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

10.3. Przykłady list sieci

Na poniższym rysunku znajduje się schemat używający biblioteki PSPICE:

Schemat dla Spice

Struktura listy sieci programu Pcbnew:

# Eeschema Netlist Version 1.0 generee le 21/1/1997-16:51:15
(
(32E35B76 $noname C2 1NF {Lib=C}
(1 0)
(2 VOUT_1)
)
(32CFC454 $noname V2 AC_0.1 {Lib=VSOURCE}
(1 N-000003)
(2 0)
)
(32CFC413 $noname C1 1UF {Lib=C}
(1 INPUT_1)
(2 N-000003)
)
(32CFC337 $noname V1 DC_12V {Lib=VSOURCE}
(1 +12V)
(2 0)
)
(32CFC293 $noname R2 10K {Lib=R}
(1 INPUT_1)
(2 0)
)
(32CFC288 $noname R6 22K {Lib=R}
(1 +12V)
(2 INPUT_1)
)
(32CFC27F $noname R5 22K {Lib=R}
(1 +12V)
(2 N-000008)
)
(32CFC277 $noname R1 10K {Lib=R}
(1 N-000008)
(2 0)
)
(32CFC25A $noname R7 470 {Lib=R}
(1 EMET_1)
(2 0)
)
(32CFC254 $noname R4 1K {Lib=R}
(1 +12V)
(2 VOUT_1)
)
(32CFC24C $noname R3 1K {Lib=R}
(1 +12V)
(2 N-000006)
)
(32CFC230 $noname Q2 Q2N2222 {Lib=NPN}
(1 VOUT_1)
(2 N-000008)
(3 EMET_1)
)
(32CFC227 $noname Q1 Q2N2222 {Lib=NPN}
(1 N-000006)
(2 INPUT_1)
(3 EMET_1)
)
)
# End

W formacie PSPICE, lista sieci byłaby następująca:

* Eeschema Netlist Version 1.1 (Spice format) creation date: 18/6/2008-08:38:03

.model Q2N2222 npn (bf=200)
.AC 10 1Meg \*1.2
.DC V1 10 12 0.5


R12   /VOUT N-000003 22K
R11   +12V N-000003 100
L1   N-000003 /VOUT 100mH
R10   N-000005 N-000004 220
C3   N-000005 0 10uF
C2   N-000009 0 1nF
R8   N-000004 0 2.2K
Q3   /VOUT N-000009 N-000004 N-000004 Q2N2222
V2   N-000008 0 AC 0.1
C1   /VIN N-000008 1UF
V1   +12V 0 DC 12V
R2   /VIN 0 10K
R6   +12V /VIN 22K
R5   +12V N-000012 22K
R1   N-000012 0 10K
R7   N-000007 0 470
R4   +12V N-000009 1K
R3   +12V N-000010 1K
Q2   N-000009 N-000012 N-000007 N-000007 Q2N2222
Q1   N-000010 /VIN N-000007 N-000007 Q2N2222

.print ac v(vout)
.plot ac v(nodes) (-1,5)

.end

10.4. Uwagi odnośnie list sieci

10.4.1. Zalecane środki ostrożności

Wiele wersji oprogramowania, które wykorzystują listy sieci nie akceptują spacji w nazwach elementów, wyprowadzeń, nazwach sieci lub innych elementów. Należy zatem unikać spacji w nazwach etykiet lub w nazwach i wartościach elementów, lub też w nazwach ich wyprowadzeń.

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

10.4.2. Listy sieci PSPICE

Dla symulatora PSpice trzeba do listy sieci dodać kilka linii z poleceniami dla symulatora (.PROBE, .AC, itp.). Można je umieścić bezpośrednio na schemacie.

Każdy wiersz tekstu umieszczonego na schemacie, rozpoczynający się od słów kluczowych: -pspice lub -gnucap zostanie wstawiony (bez słów kluczowych) na początku listy sieci.

Każdy wiersz tekstu umieszczonego na schemacie rozpoczynający się od słów kluczowych: +gnucap lub +pspice zostanie dopisany (bez słów kluczowych) na koniec listy sieci.

Poniżej znajduje się przykład, na którym użyto wielu jednoliniowych tekstów poleceń, a także jeden wieloliniowy tekst polecenia:

Dyrektywy Spice

Przykładowo, jeśli zostanie wpisany następujący tekst (nie może to być etykieta!):

-PSPICE .PROBE

linia .PROBE zostanie wstawiona do listy sieci.

W poprzednim przykładzie dzięki tej technice, trzy linie poleceń zostaną wstawione na początek listy sieci, oraz dwie linie poleceń na końcu.

Jeśli użyty został format wieloliniowy poleceń, +pspice lub +gnucap są wymagane tylko na początku:

+PSPICE .model NPN NPN
.model PNP PNP
.lib C:\Program Files\LTC\LTspiceIV\lib\cmp\standard.bjt
.backanno

taki zapis utworzy następujący tekst:

.model NPN NPN
.model PNP PNP
.lib C:\Program Files\LTC\LTspiceIV\lib\cmp\standard.bjt
.backanno

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

10.5. Inne formaty

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

A converter is a text file (xsl format) but one can use other languages like Python. When using the xsl format, a tool (xsltproc.exe or xsltproc) read the intermediate file created by KiCad, and the converter file to create the output file. In this case, the converter file (a sheet style) is very small and very easy to write.

10.5.1. Inicjowanie okna dialogowego

Można dodać nową wtyczkę do list sieci używając przycisku "Dodaj wtyczkę".

Dodanie wtyczki

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

Wtyczka PADS PCB

By skonfigurować wtyczkę będzie potrzebny:

  • Tytułu zakładki (określająca również nazwę formatu wyjściowego listy sieci).

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

Gdy lista sieci jest generowana:

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

  2. KiCad runs the plug-in, which reads test.tmp and creates test.net.

10.5.2. Format linii poleceń

Poniżej znajduje się przykład użycia xsltproc.exe jako konwertera plików .xsl, oraz pliku netlist_form_pads-pcb.xsl jako arkusza stylów:

f:/kicad/bin/xsltproc.exe -o %O.net f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl %I

Gdzie:

f:/kicad/bin/xsltproc.exe A tool to read and convert xsl file

-o %O.net

Output file: %O will define the output file.

f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl

File name converter (a sheet style, xsl format).

%I

Will be replaced by the intermediate file created by KiCad (*.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.

10.5.3. Konwerter i arkusz stylów (wtyczka)

Jest to bardzo proste oprogramowanie, ponieważ jego celem jest tylko konwersja tekstowego pliku wejściowego (pośredni plik tekstowy) do innego pliku tekstowego. Co więcej, z pośredniego pliku tekstowego można również utworzyć listę BOM.

Podczas korzystania xsltproc jako konwertera zostanie wygenerowany tylko arkusz stylów.

10.5.4. Format pośredniej listy sieci

Rozdział 14 zawiera większy opis xsltproc, opisów formatu pliku pośredniego oraz niektóre przykłady arkuszy stylów dla konwerterów.

11. Drukowanie i rysowanie schematów na drukarkach lub ploterach

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

Formatami wyjściowymi mogą być Postscript, HPGL, SVG, DXF lub PDF. Można także drukować bezpośrednio na zwykłej drukarce.

11.2. Polecenia wspólne

Rysuj bieżącą stronę

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

Rysuj wszystkie strony

pozwala na narysowanie całej hierarchii (pliki są generowane dla każdego z arkusza).

11.3. Rysuj w formacie PostScript

To polecenie pozwala na stworzenie rysunku schematu w formacie PostScript.

eeschema_plot_postscript_png

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

11.4. Rysuj w formacie PDF

eeschema_plot_pdf.png

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

11.5. Rysuj w formacie SVG

eeschema_plot_svg_png

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

11.6. Rysuj w formacie DXF

eeschema_plot_dxf_png

Pozwala na utworzenie plików z rysunkami CAD używając popularnego formatu DXF. Nazwa pliku wyjściowego składała się będzie z nazwy arkusza i rozszerzenia .dxf.

11.7. Rysowanie w formacie HPGL

Polecenie pozwala na stworzenie pliku dla plotera obsługującego format HPGL. W tym formacie można zdefiniować kilka parametrów dla plotera:

  • Rozmiar arkusza.

  • Punkt bazowy.

  • Rozmiar pisaka (w mm).

Po wybraniu tego polecenia otworzy się następujące okno:

eeschema_plot_hpgl_png

Nazwa pliku wyjściowego składała się będzie z nazwy arkusza i rozszerzenia .plt.

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

11.7.2. Ustawienie przesunięcia strony

Dla wszystkich standardowych rozmiarów, można przenieść punkt zerowy by wyrównać rysunek na środku strony. Niektóre plotery mogą posiadać punkt początkowy w centrum pola roboczego lub w dolnym lewym rogu, dlatego wymagane jest poprawne ustawienie tej opcji, zgodnie z możliwościami plotera.

Mówiąc ogólnie:

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

  • Dla ploterów posiadających punkt początkowy w lewym dolnym narożniku, przesunięcie musi być ustawione na 0.

By ustawić przesunięcie należy:

  • Wybrać rozmiar arkusza.

  • Ustawić przesunięcie X oraz Y.

  • Zaakceptować dane o przesunięciu.

This command, available via the icon Print icon, 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.

12. Edycja bibliotek symboli

12.1. Podstawowe informacje na temat bibliotek

A symbol is a schematic element which contains a graphical representation, electrical connections, and fields defining the symbol. Symbols used in a schematic are stored in symbol libraries. KiCad provides a symbol library editing tool that allows you to create libraries, add, delete or transfer symbols between libraries, export symbols to files, and import symbols from files. The library editing tool provides a simple way to manage symbol library files.

12.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 ukł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ę znaną jako DeMorgan..

  • 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, itp.).

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

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

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

New symbol icon

Create a new symbol.

Save icon

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.

Undo icon

Undo last edit.

Redo icon

Redo last undo.

Refresh icon

Refresh display.

Zoom in icon

Zoom in.

Zoom out icon

Zoom out.

Zoom to fit page icon

Zoom to fit symbol in display.

Zoom to selection icon

Zoom to fit selection.

Rotate counterclockwise icon

Rotate counter-clockwise.

Rotate clockwise icon

Rotate clockwise.

Mirror horizontally icon

Mirror horizontally.

Mirror vertically icon

Mirror vertically.

Symbol properties icon

Edit the current symbol properties.

Pin table icon

Edit the current symbol properties.

Datasheet icon

Show the associated documentation. The button will be disabled if no documentation is defined for the current symbol.

ERC icon

Test the current symbol for design errors.

Normal body style icon

Select the normal body style. The button is disabled if the current symbol does not have an alternate body style.

Alternate body style icon

Select the alternate body style. The button is disabled if the current symbol does not have an alternate body style.

Unit dropdown

Select the unit to display. The drop down control will be disabled if the current symbol is not derived from multiple units.

Synchronized pin edit mode icon

Pin editing: independent editing for pin shape and position for symbols with multiple units and alternate symbols.

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

Cursor icon

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.

Pin icon

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

Text icon

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

Add rectangle icon

Rectangle tool. Left-click to begin drawing the first corner of a graphical rectangle. Left-click again to place the opposite corner of the rectangle.

Add circle icon

Circle tool. Left-click to begin drawing a new graphical circle from the center. Left-click again to define the radius of the circle.

Add arc icon

Arc tool. Left-click to begin drawing a new graphical arc item from the center. Left-click again to define the first arc end point. Left-click again to define the second arc end point.

Add line icon

Connected line tool. Left-click to begin drawing a new graphical line item in the current symbol. Left-click for each additional connected line. Double-left-click to complete the line.

Anchor icon

Anchor tool. Left-click to set the anchor position of the symbol.

Delete icon

Delete tool. Left-click to delete an object from the current symbol.

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

Grid icon

Toggle grid visibility on and off.

Inch unit icon

Set units to inches.

Millimeter unit icon

Set units to mils (0.001 inch).

Millimeter unit icon

Set units to millimeters.

Cursor shape icon

Toggle full screen cursor on and off.

Show pintype icon

Toggle display of pin electrical types.

Symbol tree icon

Toggle display of libraries and symbols.

12.4. Wybór bibliotek i zarządzanie nimi

The selection of the current library is possible via the Symbol tree icon which shows you all available libraries and allows you to select one. When a symbol is loaded or saved, it will be put in this library. The library name of symbol is the contents of its value field.

12.4.1. Wybór i zapis symbolu

Wybór symbolu

Clicking the Symbol tree icon icon on the left tool bar toggles the treeview of libraries and symbols. Clicking on a symbol opens that symbol.

Note
Some symbols are derived from other symbols. Derived symbol names are displayed in italics in the treeview. If a derived symbol is opened, its symbol graphics will not be editable. Its symbol fields will be editable as normal. To edit the graphics of a base symbol and all of its derived symbols, open the base symbol.
Zapisywanie symbolu

After modification, a symbol can be saved in the current library or a different library.

To save the modified symbol in the current library, click the Save icon icon. The modifications will be written to the existing symbol.

To save the symbol changes to a new symbol, click FileSave As…​. The symbol can be saved in the current library or a different library. A new name can be set for the symbol.

To create a new file containing only the current symbol, click FileExportSymbol…​. This file will be a standard library file which will contain only one symbol.

12.5. Tworzenie symboli biblliotecznych

12.5.1. Tworzenie nowego symbolu

A new symbol can be created by clicking the New symbol icon. You will be asked for a symbol name (this name is used as default value for the value field in the schematic editor), the reference designator (U, IC, R…​), the number of units per package (for example a 7400 is made of 4 units per package) and if an alternate body style (sometimes referred to as DeMorgan) is desired. If the reference designator field is left empty, it will default to "U". These properties can be changed later, but it is preferable to set them correctly at the creation of the symbol.

Właściwości symbolu

Nowy symbol będzie utworzony z użyciem powyższych właściwości i pojawi się w oknie edycyjnym jak pokazano poniżej.

Nowy symbol

12.5.2. Tworzenie nowego symbolu na podstawie innego

Często symbol który chcemy utworzyć bardzo przypomina inny symbol, który znajduje się już w bibliotece. W tym przypadku łatwiej jest zmodyfikować istniejący symbol.

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

  • Save a new copy of the symbol using FileSave As…​.

  • Wykonać niezbędne edycje.

  • Save the modified symbol.

12.5.3. Właściwości symbolu

Symbol properties should be carefully set during the symbol creation or alternatively they are inherited from the copied symbol. To change the symbol properties, click on the Symbol properties icon to show the dialog below.

Właściwości symbolu

Bardzo ważne jest, by właściwie ustawić liczbę części w symbolu, a jeśli symbol posiada alternatywną reprezentację także i ten parametr, ponieważ gdy edytowane lub tworzone są odpowiednie piny zostaną również utworzone odpowiednie piny do każdej z części składowej. Jeśli zmieni się liczbę części w symbolu po stworzeniu pinów i nastąpi ich edycja, będzie trzeba wykonywać dodatkowe prace związane z dodaniem nowych części i symboli. Niemniej jednak, możliwe jest modyfikowanie tych właściwości w dowolnym momencie.

Opcje graficzne "Pokaż numer pinu" i "Pokaż nazwę pinu" określają widoczność numeru pinu i tekstu z nazwą pinu. Tekst ten będzie widoczny, jeśli są zaznaczone odpowiednie opcje. Opcja "Nazwa pinu wewnątrz" określa położenie nazwy pinu względem tego pinu. Ten tekst będzie wyświetlany wewnątrz obrysu symbolu, jeśli opcja ta jest zaznaczona. W tym przypadku właściwość "Przesunięcie nazwy pinu" określa przesunięcie tekstu w stosunku do zakończenia pinu. Wartości z zakresu od 30 do 40 (w 1/1000 cala) są odpowiednie.

Poniższy przykład pokazuje symbol, w którym opcja "Umieść nazwę pinu wewnątrz" została odznaczona. Należy zwrócić uwagę na położenie nazw i numerów pinów.

Odznaczona opcja Nazwa pinu wewnątrz

12.5.4. Symbole wieloczęściowe i podwójna reprezentacja

If the symbol has more than one symbolic repersentation, you will have to select one representation to edit them. To edit the normal representation, click the Normal representation icon.

To edit the alternate representation, click on the Alternate representation icon. Use the images/toolbar_libedit_part.png shown below to select the unit you wish to edit.

Wybór elementu składowego

12.6. Elementy graficzne symbolu

Elementy graficzne tworzą reprezentację symbolu na schemacie nie zawierając przy tym żadnych informacji o połączeniach. Przy ich tworzeniu można się posługiwać następującymi narzędziami:

  • Linie i linie łamane są definiowane poprzez punkty startowe i końcowe.

  • Prostokąty są definiowane przez punkty dwóch przeciwległych narożników.

  • Okręgi są definiowane przez punkt centralny i promień.

  • Łuki są definiowane przez punkt początkowy i końcowy łuku oraz ich punkt centralny. Kąt rozwarcia łuku może zawierać się w przedziale 0° to 180°.

Pasek narzędzi po prawej stronie głównego okna pozwala na umieszczanie w polu roboczym wszystkich podstawowych elementów graficznych potrzebnych do zaprojektowania symbolu w obu jego postaciach.

12.6.1. Przynależność elementów graficznych

Każdy z elementów graficznych (linia, łuk, okrąg, itd.) może być określona jako część wspólna dla wszystkich części składowych lub stylów, albo specyficzna dla nich. Opcje dotyczące przynależności elementu graficznego można łatwo wyświetlić klikając prawym klawiszem myszy nad wybranym elementem wywołując menu podręczne. Poniżej przykład menu dla elementu typu linia.

Menu kontekstowe

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

Właściwości linii łamanej

Głównymi właściwościami dla elementów graficznych są:

  • Szerokość linii, która określa szerokość linii symbolu w obecnie wybranych jednostkach miary.

  • Opcja "Wspólne dla wszystkich części" określa czy element graficzny ma być rysowany dla każdej części w elementach posiadających więcej niż jedną część lub ma być rysowany gdy wybrano bieżącą część.

  • Opcja "Wspólne dla wszystkich stylów (DeMorgan)" określa czy element graficzny ma być rysowany dla każdej reprezentacji w elementach posiadających alternatywną reprezentację lub ma być rysowany tylko gdy wybrano bieżącą reprezentację.

  • Styl wypełnienia określa czy graficzna postać symbolu ma być rysowana jako niewypełniona, wypełniona kolorem tła lub wypełniona kolorem.

12.6.2. Tekst jako grafika w symbolu

The Text icon allows for the creation of graphical text. Graphical text is always readable, even when the symbol is mirrored. Please note that graphical text items are not fields.

12.7. Symbole wieloczęściowe, podwójna reprezentacja symboli

Symbole mogą mieć dwie reprezentacje (zwykły symbol i alternatywny symbol często określany jako "DeMorgan") i/lub posiadać więcej niż jedną część składową w obudowie (np. bramki logiczne). Niektóre symbole mogą posiadać też więcej niż jedną cześć składową, które różnią się swoją reprezentacją graficzną oraz układem wyprowadzeń.

Na przykład przekaźnik może być reprezentowane przez trzy różne elementy: cewka, pierwszy zestyk, drugi zestyk. Zarządzanie wieloczęściowymi układami scalonymi i komponentami z podwójną reprezentacją jest dość elastyczne. 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ą).

12.7.1. Przykład elementu posiadającego kilka części z różną reprezentacją graficzną:

Jest to przypadek przekaźnika mechanicznego, który posiada dwa zestawy styków oraz cewkę (trzy różne części):

Opcja: piny nie są powiązane. Można dodawać lub edytować piny niezależnie dla każdej z części.

Ustawienia pinów

Musi być wybrana opcja "Części składowe nie są wymienne" między sobą.

Opcja jednoznaczności

Część 1

Część pierwsza

Część 2

Część druga

Część 3

Część trzecia

Ponieważ symbol nie posiada tej samej postaci graficznej dla wszystkich części, nie ma możliwości zamiany pomiędzy częściami A i C.

Elementy geometryczne w symbolach

Poniżej pokazano właściwości dla elementu graficznego. W powyższym przykładzie przekaźnika, trzy części składowe posiadają różne graficzne reprezentacje. Jednakże, każda część została utworzona oddzielnie i elementy graficzne muszą posiadać wyłączoną opcję "Wspólne dla wszystkich części".

Wyłączona opcja współdzielenia

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

You can click on the Pin icon icon 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.

12.8.1. Wyprowadzenia - Informacje podstawowe

Pin jest zdefiniowany przez jego graficzną reprezentację, jego nazwę oraz "numer". Numer pinu jest określony przez 4 znaki i/lub cyfry. Dla narzędzia sprawdzania elektrycznych reguł projektowych (ERC) by było skuteczne, "typ elektryczny" (wejście, wyjście, trójstanowy…​) także musi zostać poprawnie określone. Gdyby typ pinu nie został określony poprawnie, wynik testu ERC byłby w gruncie rzeczy nieprawidłowy.

Ważne uwagi:

  • Nie należy wstawiać znaków spacji w nazwach pinów i ich numeracji. Wstawienie spacji w nazwie spowoduje, że zostanie ona automatycznie zastąpiona przez znak dolnej kreski "_".

  • To define a pin name with an inverted signal (overline) use the ~ (tilde) character followed by the text to invert in braces. 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.

  • "Numer" pinu może składać się z maksymalnie czterech liter lub liczb (również mieszanie). 1, 2,…​ 9999 to prawidłowe nazwy, ale prawidłowymi nazwami będą też: A1, B3 (standardowa notacja w układach PGA/BGA) lub Anod, Gnd, Wire.

  • Symbol nie może posiadać zdublowanej "numeracji" pinów.

12.8.2. Właściwości wyprowadzeń

Właściwości wyprowadzeń

Okno z właściwościami pinu pozwala na zmiany charakterystycznych cech wyprowadzeń. Okno to ukazuje się zawsze podczas tworzenia nowego pinu, albo gdy w pin zostanie kliknięty dwukrotnie myszą. Jego zawartość pozwala na zdefiniowanie lub modyfikację parametrów takich jak:

  • Nazwa i rozmiar tekstu nazwy.

  • Numer i rozmiar tekstu numeru.

  • Długość.

  • Typ graficzny i elektryczny wyprowadzenia.

  • Przynależność do części i alternatywnej reprezentacji.

  • Widoczność.

12.8.3. Style graficzne pinów

Na poniższym rysunku w jednym elemencie zastosowano wszystkie rodzaje kształtów wyprowadzeń. Wybór formy ma wyłącznie znaczenie graficzne i nie ma żadnego znaczenia dla narzędzia ERC jak i dla funkcji związanych z tworzeniem list sieci.

Styl pinów

12.8.4. Typy elektryczne

Wybór właściwego typu elektrycznego jest bardzo ważny dla narzędzia ERC. Zwykle typy elektryczne są definiowane jako:

  • Dwukierunkowy, który oznacza, że piny mogą pracować jako wejścia lub wyjścia zależnie od konfiguracji (na przykład szyna danych mikroprocesora).

  • Trójstanowy, posiadający zwykle trzy aktywne stany.

  • Psywny, używany w elementach pasywnych, takich jak rezystory, złącza, itp.

  • Nieokreślony, używany gdy sprawdzenie ERC nie ma znaczenia dla tego pinu.

  • Wejście zasilania używane jest dla pinów, które dostarczają napięcie zasilające. Piny zasilania są automatycznie łączone z innymi pinami wejścia zasilania z tą samą nazwą.

  • Wyjścia zasilania są używane w przypadku regulatorów napięć.

  • Otwarty emiter i otwarty kolektor, które można używać w przypadku wyjść logicznych lub w komparatorach do łączenia ich wyjść (tzw. suma na drucie).

  • Nie połączone, używane gdy komponent ma pin, który nie jest wewnętrznie połączony.

12.8.5. Masowa zmiana wyprowadzeń

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.

Menu kontekstowe dla pinu

12.8.6. Określanie pinów w symbolach wieloczęściowych 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 Synchronized pin edit mode icon on the main tool bar. This will allow you to create pins for each unit and representation completely independently.

A symbol can have two symbolic representations (representation known as "De Morgan") and can be made up of more than one unit as in the case of symbols with logic gates. For certain symbols, you may want several different graphic elements and pins. Like the relay sample shown in the previous section, 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.

Domyślnie piny są specyficzne dla każdej reprezentacji każdej części, ponieważ ich ilość może być różna dla każdej części, a ich konstrukcja jest inna dla każdej reprezentacji. Gdy pin jest wspólny dla wszystkich urządzeń, należy go narysować tylko raz jak w przypadku pinów zasilania.

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 symbol definition. When creating a new 7400 symbol, 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 Alternate representation icon 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.

12.9. Pola symboli

Wszystkie elementy bibliotek mają zdefiniowane cztery pola domyślne. Pola Odniesienie, Wartość, Footprint, Dokumentacja są tworzone gdy symbol jest właśnie tworzony lub kopiowany. W zasadzie tylko Odniesienie i Wartość są polami wymaganymi. Dla istniejących pól, można użyć poleceń z menu kontekstowego klikając prawym klawiszem na wyprowadzeniu. Symbole zdefiniowane w bibliotekach zwykle posiadają domyślnie wypełnione te cztery pola. Dodatkowe pola, takie jak: sprzedawca, numer części, koszt części, itd. mogą być dodane do symboli już na etapie bibliotek ale ogólnie jest to wykonywane podczas pracy nad schematem, gdyż dodatkowe pola mogą być zastosowane do wszystkich składników na schemacie.

12.9.1. Edycja pól symboli

By dokonać edycji istniejącego pola symbolu, należy kliknąć prawym klawiszem na polu tekstowym by wywołać menu kontekstowe pokazane poniżej.

Menu kontekstowe edycji pól

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

Właściwości pola

Pola to teksty przypisane do symbolu. Nie należy ich mylić z tekstem graficznym jaki może zostać umieszczony w graficznej reprezentacji symbolu.

Ważne uwagi:

  • Modifying value fields effectively changes the name of the symbol. The symbol’s name in the library will change when the symbol is saved.

  • Aby edytować niewidoczne lub puste pola trzeba skorzystać z okna edycji przedstawionego powyżej.

  • Pole Footprint zawiera bezwzględny odnośnik do footprintu w postaci LIBNAME:FPNAME, gdzie LIBNAME to nazwa biblioteki footprintów zdefiniowana w tabeli bibliotek (zobacz rozdział "Tabele Bibliotek Footprintów" w podręczniku Pcbnew) oraz FPNAME, która jest nazwą footprintu w bibliotece LIBNAME.

12.10. Tworzenie symboli zasilania

Power symbols are created the same way as normal symbols. It may be useful to place them in a dedicated library such as power. Power symbols consist of a graphical symbol and a pin of the type "Power input" that is marked hidden.

Power port symbols are handled like any other symbol by the schematic capture software. Some precautions are essential. Below is an example of a power +5V symbol.

Symbol portu zasilania

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 "Visible" unchecked, 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 wyprowadzić jeden segment od niego jak pokazano powyżej.

  • Ustawić punkt zaczepienia w miejscu pinu.

  • Wpisać w pole Wartość +12V.

  • Pole Oznaczenie musi mieć postać #+12V. Sam tekst nie jest tak istotny, ale pierwszy znak musi być znakiem kratki "#" by zaznaczyć, że jest to symbol zasilania. Z użytej konwencji wynika, że każdy element którego oznaczenie rozpoczyna się od "#" nie pojawia się na liście sieci i jego oznaczenie nie jest pokazywane.

Łatwiejszą metodą tworzenia nowego portu zasilania jest użycie innego portu jako wzorca:

  • Załadować istniejący symbol zasilania.

  • Zmienić nazwę pinu razem z nazwą nowego symbolu zasilania.

  • Dokonać edycji pola Wartość by jego zawartość była zgodna z nazwą pinu, jeśli chcemy by była ona wyświetlana.

  • Zapisać nowy symbol.

13. Edytor bibliotek LibEdit - Symbole

13.1. Przegląd zagadnień

Symbol składa się z następujących elementów

  • Jego postaci graficznej (kształty geometryczne, teksty).

  • Wyprowadzeń (pinów).

  • Pola lub teksty powiązane, wykorzystywane przez post-procesory: tworzące listy sieci, listy materiałowe…​

Dwa pola są inicjowane zawsze: Oznaczenie i Wartość. Nazwa projektu powiązana ze składnikiem, nazwa powiązanego z nim modułu, albo inne pola pozostałe są dowolne i mogą pozostać ogólnie puste, albo mogą być wypełnione podczas rysowania schematu.

Jednakże, zarządzanie dokumentacją załączoną do symbolu już na etapie jego projektowania pozwala na lepsze wyszukiwanie, użycie i zarządzanie bibliotekami. Powiązana dokumentacja zawiera m.in.:

  • Linię komentarza.

  • Linię ze słowami kluczowymi takimi jak np.: TTL CMOS NAND2, oddzielonymi spacjami.

  • Linię z nazwą pliku zewnętrznej dokumentacji (np. notę aplikacyjną, notę katalogową.).

    Domyślnie pliki te są wyszukiwane w następujących katalogach:

    kicad/share/library/doc

    Jeśli nie znaleziono:

    kicad/library/doc

    W systemie Linux:

    /usr/local/kicad/share/library/doc

    /usr/share/kicad/library/doc

    /usr/local/share/kicad/library/doc

Słowa kluczowe pozwalają na selektywne wyszukiwanie symboli według różnych kryteriów wyboru. Komentarze i słowa kluczowe są wyświetlane w różnych miejscach, szczególnie jednak po wybraniu elementu w bibliotece.

Symbol posiada także punkt zaczepienia. Obrót albo odbicie jest wykonywane w stosunku do tego punktu, a także podczas umieszczania symbolu ten punkt stosuje się jako punkt odniesienia. Zatem użyteczne staje się położenie tego punktu w odpowiednim miejscu.

Symbol może posiadać również aliasy, czyli nazwy alternatywne. Pozwala to na znaczne zmniejszenie liczby elementów składowych bibliotek, które muszą być tworzone (np. 74LS00 może posiadać aliasy takie jak 7400, 74HC00, 74HCT00…​).

Na koniec, symbole są zwykle umieszczane w kilku bibliotekach (klasyfikowanych według tematów, lub producentów…​), w celu ułatwienia zarządzania nimi.

13.2. Pozycja punktu zaczepienia

Domyślnie punkt zaczepienia znajduje się na pozycji (0, 0) i jest pokazywany jako dwie krzyżujące się osie.

Punkt zaczepienia

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

13.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 przez jeden wspólny 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 Symbol properties icon and select the alias folder.

Lista aliasów

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 by pojawił się w oknie edycji. Jest to pierwszy z listy aliasów na górnym pasku narzędzi edytora bibliotek.

13.4. Pola specjalne

The field editor is called via the icon Symbol properties icon.

Istnieją cztery specjalne pola (tekst przypisany do symbolu) oraz pola użytkownika, które może dodawać za pomocą poleceń znajdujących się pod tabelą zawartości pól

Właściwości pola

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

13.5. Dokumentowanie symboli

To edit documentation information, it is necessary to call the main editing window of the symbol via the icon Symbol properties icon and to select the document folder.

Pole wprowadzania opisu

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.

13.5.1. Słowa kluczowe symbolu

Słowa kluczowe pozwalają na wyszukiwanie symboli w sposób selektywny według określonych kryteriów wyboru (funkcja, rodzina, technologia, itp.).

The KiCad search tool is not case sensitive. The most current key words used in the libraries are

  • CMOS TTL dla rodzin układów logicznych

  • AND2 NOR3 XOR2 INV…​ dla bramek (AND2 = 2 wejściowa bramka AND, NOR3 = 3 wejściowa bramka NOR).

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

  • ADC, DAC, MUX…​

  • OpenCol for the gates with open collector output. Thus if in the schematic capture software, you search the symbol: by keywords NAND2 OpenCol KiCad will display the list of symbols having these 2 key words.

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

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

13.5.4. Filtrowanie footprintów dla CvPcb

Za pomocą listy znajdującej się na zakładce Filtr footprintów można określić jakie obudowy 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ą.

Filtrowanie wg footprintów

Na liście można stosować szeroko stosowane znaki maskujące.

S014* pozwala CvPcb na wyświetlenie wszystkich footprintów, których nazwa rozpoczyna się znakami SO14.

Zaś R? Pozwala na wyświetlenie tylko tych footprintów, których nazwa będzie składać się z dwóch znaków, przy czym nazwa taka będzie musiała się rozpoczynać znakiem R.

Poniżej przedstawiono widok okna CvPcb z włączoną jak i wyłączoną filtracją

Z filtrowaniem

Filtrowanie włączone

Bez filtracji

Filtrowanie wyłączone

13.6. Biblioteka wzorców

13.6.1. Eksport/Tworzenie wzorca

A symbol can be exported with FileExportSymbol…​.

13.6.2. Importowanie wzorca

Importing allows you to import a symbol into the selected library. Symbols can be imported using FileImport Symbol…​.

14. Przeglądanie bibliotek symboli

14.1. Wprowadzenie

The Symbol Library Browser allows you to quickly examine the content of symbol libraries. The Symbol Library Viewer can be accessed by clicking Library viewer icon icon on the main toolbar, ViewSymbol Library Browser…​, or clicking Select With Browser in the "Choose Symbol" window.

Okno przeglądarki

14.2. Ekran główny

Wybór biblioteki

By sprawdzić zawartość biblioteki należy wybrać ją z listy znajdującej się po lewej stronie okna. Wszystkie symbole zostaną pokazane na drugiej liście. Należy wybrać nazwę symbolu by móc go podejrzeć w panelu po prawej stronie.

Wybór symbolu

14.3. Pasek narzędzi Przeglądarki Bibliotek Symboli

Podstawowy pasek narzędzi wygląda następująco.

images/pl/toolbar_viewlib.png

Dostępne polecenia to:

Symbol selection icon

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

Previous symbol icon

Display previous symbol.

Next symbol icon

Display next symbol.

refresh 24 zoom in 24 zoom out 24 zoom fit in page 24

Zoom tools.

morgan1 24 morgan2 24

Selection of the representation (normal or alternate) if an alternate representation exists.

images/toolbar_viewlib_part.png

Selection of the unit for symbols that contain multiple units.

icons/datasheet_png

If they exist, display the associated documents.

Add symbol to schematic icon

Close the browser and place the selected symbol in the schematic.

15. Tworzenie własnych list sieci i plików BOM

15.1. Plik pośredniej listy sieci

BOM files and netlist files can be converted from an Intermediate netlist file created by KiCad.

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.

15.1.1. Przykładowy schemat

Przykładowy schemat

15.1.2. Przykład pośredniej 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>

15.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 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 KiCad, after it is configured once to run xsltproc in a specific way.

15.3. Konwerter XSLT

Dokumentacja XSL Transformations (XSLT) znajduje się pod adresem:

15.3.1. Przykład tworzenia pliku z listą sieci PADS-PCB

Format PADS-PCB posiada dwie sekcje pliku listy sieci.

  • Listę footprint-ów.

  • Listę sieci (zgrupowane wyprowadzenia według sieci).

Poniżej znajduje się przykład arkusza stylów, na podstawie którego można skonwertować plik pośredni listy do jej odpowiednika w formacie akceptowanym przez PADS-PCB:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--XSL style sheet to Eeschema Generic Netlist Format to PADS netlist format
    Copyright (C) 2010, SoftPLC Corporation.
    GPL v2.

    How to use:
        https://lists.launchpad.net/kicad-developers/msg05157.html
-->

<!DOCTYPE xsl:stylesheet [
  <!ENTITY nl  "&#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

15.3.2. Przykład tworzenia listy sieci programu Cadstar

Format Cadstar składa się z dwóch sekcji.

  • Listę footprint-ów.

  • Listę sieci (zgrupowane wyprowadzenia według sieci).

Tutaj znajduje się przykład pliku z arkuszem stylu do przeprowadzenie tej konwersji:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--XSL style sheet to Eeschema Generic Netlist Format to CADSTAR netlist format
    Copyright (C) 2010, Jean-Pierre Charras.
    Copyright (C) 2010, SoftPLC Corporation.
    GPL v2.

<!DOCTYPE xsl:stylesheet [
  <!ENTITY nl  "&#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

15.3.3. Tworzenie 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 )
 )
)
*

15.3.4. Netlist plugins interface

Intermediate Netlist converters can be automatically launched within the Schematic Editor.

Inicjowanie okna dialogowego

Jeśli uruchomimy narzędzie do tworzenia list sieci, to z prawej strony znajdziemy przycisk "Dodaj wtyczkę", służący do konfigurowania i inicjowania nowych zakładek w tym oknie dialogowym.

Dodawanie wtyczki

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

Wtyczka PADSPCB
Ustawienia nowych wtyczek

The netlist plug-in configuration dialog requires the following information:

  • 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. KiCad creates an intermediate netlist file *.xml, for instance test.xml.

  2. KiCad runs the plug-in by reading test.xml and creates 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"

Where netlist_form_pads-pcb.xsl is the style-sheet that you are applying. Do not forget the double quotes around the file names, this allows them to have spaces after the substitution by KiCad.

Linia poleceń akceptuje parametry dla nazw plików:

Jako parametry obsługiwane są sekwencje:

  • %B ⇒ nazwa bazowa pliku oraz ścieżka do wybranego pliku wyjściowego, pozbawiona ścieżki oraz rozszerzenia.

  • %I ⇒ kompletna nazwa pliku oraz ścieżka do tymczasowego pliku wejściowego.

  • %O ⇒kompletna nazwa pliku oraz ścieżka do wybranego przez użytkownika pliku wyjściowego.

%I zostanie zastąpione przez nazwę aktywnego w danej chwili pliku pośredniego.

%O zostanie zastąpiony przez nazwę aktywnego w danej chwili pliku wyjściowego (końcowy plik z listą sieci).

Format linii poleceń: przykład z xsltproc

Format linii poleceń dla xsltproc jest następujący:

<ścieżka do xsltproc> xsltproc <parametry>

w systemie Windows:

f:/kicad/bin/xsltproc.exe -o "%O" f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl "%I"

w systemie Linux:

xsltproc -o "%O" /usr/local/kicad/bin/plugins/netlist_form_pads-pcb.xsl "%I"

Zakładając, że xsltproc został zainstalowany na komputerze (w systemie Windows, wszystkie pliki są w kicad/bin).

15.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:

Zakładka BOM

Ścieżka do arkusza stylu bom2csv.xsl jest zależna od systemu operacyjnego. Obecnie najlepszym arkuszem stylu XSLT do generowania plików BOM jest bom2csv.xsl. Można go zmodyfikować do własnych potrzeb, a jeśli będzie on użyteczny można zaproponować by stał się częścią projektu KiCad.

15.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 w systemie.

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

15.5.1. Struktura ogólna

Plik pośredni listy sieci posiada 5 sekcji:

  • Sekcja nagłówka.

  • Sekcja komponentów.

  • Sekcja elementów bibliotecznych.

  • Sekcja bibliotek.

  • Sekcja sieci połączeń.

Cały plik został objęty w tag <export>

<export version="D">
...
</export>

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

15.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 znaleziono ten komponent.

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 pliku schematu.

tstamp (time stamp)

odcisk czasowy 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.

15.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:

  • The allowed footprints names (names use wildcards) delimiter <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

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

15.5.6. Sekcja sieci

Sekcja sieci znajduje się w tagu <nets>. Zawiera ona listę wszystkich połączeń na schemacie.

<nets>
  <net code="1" name="GND">
    <node ref="U1" pin="7"/>
    <node ref="C1" pin="2"/>
    <node ref="U2" pin="7"/>
    <node ref="P1" pin="4"/>
  </net>
  <net code="2" name="VCC">
    <node ref="R1" pin="1"/>
    <node ref="U1" pin="14"/>
    <node ref="U2" pin="4"/>
    <node ref="U2" pin="1"/>
    <node ref="U2" pin="14"/>
    <node ref="P1" pin="1"/>
  </net>
</nets>

Sekcja ta zawiera wszystkie sieci na schemacie.

Poszczególne sieci są pogrupowane wewnątrz tagu <net>:

<net code="1" name="GND">
  <node ref="U1" pin="7"/>
  <node ref="C1" pin="2"/>
  <node ref="U2" pin="7"/>
  <node ref="P1" pin="4"/>
</net>

net code

Jest to wewnętrzny identyfikator danej sieci

name

Jest to nazwa danej sieci

node

Zawiera odnośniki do poszczególnych pinów w danej sieci

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

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

15.6.2. Synopsis

xsltproc [[-V] | [-v] | [-o *file* ] | [--timing] | [--repeat] |
[--debug] | [--novalid] | [--noout] | [--maxdepth *val* ] | [--html] |
[--param *name* *value* ] | [--stringparam *name* *value* ] | [--nonet] |
[--path *paths* ] | [--load-trace] | [--catalogs] | [--xinclude] |
[--profile] | [--dumpextensions] | [--nowrite] | [--nomkdir] |
[--writesubtree] | [--nodtdattr]] [ *stylesheet* ] [ *file1* ] [ *file2* ]
[ *....* ]

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

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

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

16. Symulator

KiCad provides an embedded electrical circuit simulator using ngspice as the simulation engine.

Podczas pracy z symulatorem przydatna może być oficjalna biblioteka pspice. Zawiera ona popularne symbole używane do symulacji, takie jak źródła napięcia/prądu lub tranzystory z pinami ponumerowanymi tak, aby pasowały do specyfikacji węzłów ngspice.

Istnieje również kilka projektów demonstracyjnych ilustrujących możliwości symulatora. Znajdziesz je w katalogu demos/simulation.

16.1. Przypisywanie modeli

Przed uruchomieniem symulacji komponenty muszą mieć przypisany modele Spice.

Każdy komponent może mieć przypisany tylko jeden model, nawet jeśli komponent składa się z wielu jednostek. W takim przypadku pierwsza jednostka powinna mieć określony model.

Komponenty pasywne z referencją pasującą do typu urządzenia w zapisie Spice (R* dla rezystorów, C* dla kondensatorów, L* dla cewek indukcyjnych) będą miały przypisane modele niejawnie i będą używać pola Wartość do określania ich właściwości.

Note
Należy pamiętać, że w Spice zapis 'M' oznacza mili, a 'Meg' odpowiada Mega. Jeśli wolisz użyć 'M' do wskazania prefiksu Mega, możesz o tym zdecydować w ustawieniach symulatora.

Informacje o modelu Spice są zapisywane jako tekst w polach symboli, dlatego możesz je zdefiniować w edytorze symboli lub edytorze schematów. Otwórz okno dialogowe właściwości symbolu i kliknij przycisk "Edytuj model Spice", aby otworzyć okno dialogowe "Edytora Modeli Spice".

Okno dialogowe "Edytor Modelu Spice" ma trzy zakładki odpowiadające różnym typom modeli. Istnieją dwie opcje wspólne dla wszystkich typów modeli:

Disable symbol for simulation

When checked the component is excluded from simulation.

Alternate node sequence

Allows one to override symbol pin to model node mapping. To define a different mapping, specify pin numbers in order expected by the model.

'Example:'

* connections:
* 1: non-inverting input
* 2: inverting input
* 3: positive power supply
* 4: negative power supply
* 5: output
.subckt tl071 1 2 3 4 5

Generic operational amplifier symbol

To match the symbol pins to the Spice model nodes shown above, one needs to use an alternate node sequence option with value: "1 3 5 2 4". It is a list of pin numbers corresponding to the Spice model nodes order.

16.1.1. Pasywne

Zakładka Pasywne pozwala użytkownikowi przypisać pasywny model (rezystor, kondensator lub cewka) do komponentu. Jest to rzadko używana opcja, ponieważ zwykle elementy pasywne mają niejawnie przypisane modele, chyba że odniesienie do komponentu nie jest zgodne z rzeczywistym typem urządzenia.

Note
Jawnie zdefiniowane model pasywne mają pierwszeństwo przed tymi, które są domyślnie przypisane. Oznacza to, że po przypisaniu pasywnego modelu, pola Odnośnik i Wartość nie są brane pod uwagę podczas symulacji. Może to prowadzić do niejasnej sytuacji, gdy przypisana wartość modelu nie jest zgodna z tą wyświetlaną na schemacie.
Zakładka edytora modelu pasywnego

Typ

Wybór typu elementu (rezystor, kondensator lub cewka).

Wartość

Definiuje właściwości komponentu (rezystancja, pojemność lub indukcyjność). Wartość może używać popularnych przedrostków jednostek Spice (wymienionych poniżej pola wprowadzania tekstu) i powinien używać kropki jako separatora dziesiętnego. Zauważ, że interpreter Spice nie działa poprawnie gdy przedrostki przeplatają się w wartości (np. 1k5).

16.1.2. Model

Zakładka Model służy do przypisania półprzewodnika lub złożonego modelu zdefiniowanego w zewnętrznym pliku biblioteki. Biblioteki modeli Spice są często oferowane przez producentów urządzeń.

Główny widżet tekstowy wyświetla wybraną zawartość z pliku bibliotecznego. Powszechną praktyką jest umieszczanie opisu modeli w plikach biblioteki, w tym kolejności węzłów.

Zakładka edytora modelu półprzewodnikowego lub złożonego

Plik

Ścieżka do pliku bibliotecznego Spice. Ten plik będzie używany przez symulator, tak jak jest dodawany za pomocą dyrektywy .include.

Model

Wybrany model komponentu. Po wybraniu pliku lista jest wypełniana modelami do wyboru.

Typ

Wybór typu modelu (inny układ, BJT, MOSFET lub dioda). Zwykle jest ustawiony automatycznie po wybraniu modelu.

16.1.3. Źródła

Zakładka Źródło służy do przypisania modelu źródła zasilania lub sygnału. Dostępne są dwie sekcje: Analiza DC/AC oraz Analiza czasowa. Każdy definiuje parametry źródłowe dla odpowiedniego typu symulacji.

Opcja Typ źródła jest aktywna dla wszystkich typów symulacji.

Zakładka edytora modeli źródeł

Więcej na temat źródeł w dokumentacji ngspice, rodział 4 (Voltage and Current Sources).

16.2. Dyrektywy Spice

Dyrektywy Spice można dodawać umieszczając je w polach tekstowych na schemacie. Takie podejście jest wygodne przy definiowaniu domyślnego typu symulacji. Funkcjonalność ta jest ograniczona do dyrektyw Spice rozpoczynających się od kropki (np. ".tran 10n 1m"), nie można umieścić dodatkowych komponentów za pomocą pól tekstowych.

16.3. Symulacja

Aby uruchomić symulację, otwórz okno dialogowe Symulator Spice wybierając menu NarzędziaSymulator w oknie edytora schematów.

Główne okno symulacji

Okno dialogowe posiada kilka sekcji:

16.3.1. Menu

Menu Plik

Nowy wykres

Tworzy nową kartę w panelu wykresów.

Otwórz skoroszyt

Otwiera listę kreślonych sygnałów.

Zapisz skoroszyt

Zapisuje listę kreślonych sygnałów.

Zapisz jako obraz

Eksportuje aktywny wykres do pliku .png.

Zapisz jako plik .csv

Eksportuje aktywne punkty danych surowych wykresu do pliku .csv.

Wyjdź z symulacji

Zamyka okno dialogowe.

Symulacja

Uruchom symulację

Wykonuje symulację przy użyciu bieżących ustawień.

Dodaj sygnały…​

Otwiera okno dialogowe wyboru sygnałów do kreślenia.

Sondy ze schematu

Uruchamia narzędzie typu Sonda.

Dostrój wartość komponentu

Uruchom narzędzie Tuner.

Pokaż listę sieci SPICE…​

Otwiera okno dialogowe pokazujące wygenerowaną listę sieci symulowanego obwodu.

Ustawienia…​

Otwiera okno dialogowe ustawień symulacji.

Menu Widok

Powiększ

Powiększa aktywny wykres.

Pomniejsz

Zmniejsza aktywny wykres.

Dopasuj do ekranu

Dostosuj ustawienie powiększenia, aby wyświetlić wszystkie wykresy.

Pokaż siatkę

Włącza widoczność siatki.

Pokaż legendę

Przełącz widoczność legendy wykresu.

16.3.2. Pasek narzędziowy

Pasek narzędziowy symulatora

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

Uruchom/Zatrzymaj symulację

Uruchamia lub zatrzymuje symulację.

Dodaj sygnały

Otwiera okno dialogowe wyboru sygnałów do wykreślenia.

Sonda

Uruchamia narzędzie Sonda.

Dostrajanie

Uruchamia narzędzie do dostrajania.

Ustawienia

Otwiera okno dialogowe ustawień symulacji.

16.3.3. Panel wykresu

Pokazuje wyniki symulacji w formie wykresów. W oddzielnych zakładkach można otworzyć wiele wykresów, ale tylko aktywny jest aktualizowany podczas przeprowadzania symulacji. W ten sposób można porównać wyniki symulacji dla różnych przebiegów.

Wykresy można dostosowywać, zmieniając widoczność siatki i legendy za pomocą menu menu Widok. Kiedy legenda jest widoczna, można ją przeciągnąć, aby zmienić jej położenie.

Interakcje w panelu wykresu:

  • kółko myszy służy do przybliżania/oddalania

  • kliknięcie prawym przyciskiem myszy otwiera menu kontekstowe w celu dostosowania widoku

  • zaznaczenie prostokątnego wyboru pozwala powiększyć wybrany obszar

  • przeciągnięcie kursora zmienia jego położenie

16.3.4. Konsola wyjściowa

Konsola wyjścia wyświetla komunikaty z symulatora. Zaleca się sprawdzanie konsoli, aby mieć pewność że nie ma błędów ani ostrzeżeń.

16.3.5. Lista sygnałów

Pokazuje listę sygnałów pokazywanych w aktywnym wykresie.

Interakcje na liście sygnałów:

  • kliknięcie prawym przyciskiem myszy otwiera menu kontekstowe w celu ukrycia sygnału lub przełączenia krusora

  • podwójne kliknięcie ukrywa sygnał

16.3.6. Lista kursorów

Wyświetla listę kursorów i ich współrzędne. Każdy sygnał może mieć wyświetlany jeden kursor. Widoczność kursorów ustawiana jest za pomocą listy sygnałów.

16.3.7. Panel dostrajania

Wyświetla komponenty pobrane za pomocą narzędzia Dostrajanie. Panel dostrajania pozwala użytkownikowi szybko modyfikować wartości komponentów i obserwować ich wpływ na wyniki symulacji - za każdym razem, gdy wartość składnika jest zmieniana, symulacja jest ponownie uruchamiana, a wykresy są aktualizowane.

Z każdym komponentem jest powiązane kilka kontrolek:

  • Górne pole tekstowe określa maksymalną wartość komponentu.

  • Środkowe pole tekstowe określa aktualną wartość komponentu.

  • Dolne pole tekstowe określa minimalną wartość komponentu.

  • Suwak pozwala użytkownikowi modyfikować wartość komponentu w sposób płynny.

  • Przycisk Zapisz modyfikuje wartość komponentu na schemacie do tej wybranej za pomocą suwaka.

  • Przycisk X usuwa komponent z panelu Dostrajanie i przywraca jego oryginalną wartość.

Trzy pola tekstowe rozpoznają przedrostki jednostek używanych przez Spice.

16.3.8. Narzędzie Dostrajanie

Narzędzie dostrajania pozwala użytkownikowi na wybór komponentu, którego wartość chce dostroić.

Aby wybrać komponent by go dostroić, należy kliknąć go w edytorze schematów gdy narzędzie Dostrajanie jest aktywne. Wybrane komponenty pojawią się w panelu Dostrajanie. Tylko pasywne komponenty mogą być dostrajane.

16.3.9. Narzędzie Sonda

Narzędzie Sonda zapewnia przyjazny dla użytkownika sposób wyboru sygnałów w celu umieszczenia ich na wykresie.

Aby dodać sygnał do wykresu, kliknij odpowiednie połączenie w edytorze schematów gdy narzędzie jest aktywne.

16.3.10. Ustawienia symulacji

Okno dialogowe ustawień symulatora

Okno ustawień symulacji pozwala użytkownikowi ustawić typ symulacji i jej parametry. Dostępne są cztery zakładki:

  • AC

  • Przenoszenie DC

  • Analiza czasowa

  • Własne

Pierwsze trzy zakładki zawierają formularze w których można określić parametry symulacji. Ostatnia zakładka umożliwia użytkownikowi wpisanie również niestandardowych dyrektyw Spice. Więcej informacji o typach i parametrach symulacji można znaleźć w dokumentacji ngspice, rozdział 1.2.

Alternatywnym sposobem konfigurowania symulacji jest wpisanie dyrektyw Spice w pola tekstowe na schemacie. Wszystkie dyrektywy pochodzące z pól tekstowych związane z typem symulacji są zastępowane przez ustawienia wybrane w oknie dialogowym. Oznacza to, że gdy rozpoczniemy korzystać z okna dialogowego symulacji, wartości te zastąpią dyrektywy na schemacie do czasu, aż symulator nie zostanie ponownie otwarty.

Istnieją dwie opcje wspólne dla wszystkich typów symulacji:

Dostosuj wartości symboli pasywnych

Zastąp wartości symboli pasywnych by dokonać często wykonywanej konwersji wartości do ich notacji w Spice.

Dodaj pełną ścieżkę do dyrektyw .include wprowadzające nowe biblioteki

Łączy nazwy plików bibliotek modeli Spice z pełną ścieżką dostępu. Normalnie, pełna ścieżka jest wymagana przez ngspice by mógł uzyskać dostęp do pliku biblioteki.