Podręcznik użytkownika

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

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

Współtwórcy

Jean-Pierre Charras, Fabrizio Tappero.

Tłumaczenie

Kerusey Karyu <[email protected]>, 2014-2016.

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.

Wprowadzenie do Eeschema

Opis

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

  • Linux

  • Apple OS X

  • Windows

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

Eeschema to zintegrowane oprogramowanie gdzie wszystkie funkcje jakie oferuje: rysowanie, kontrola poprawności, zarządzanie bibliotekami i dostęp do oprogramowania do tworzenia PCB są dostępne z poziomu Eeschema.

Program przeznaczony jest do współpracy z oprogramowaniem do tworzenia obwodów drukowanych PCB jak np. Pcbnew, którym dostarcza tzw. pliki z listą sieci (Netlist), które opisują elektryczne połączenia na PCB na podstawie projektu schematu.

Eeschema zwiera wbudowany edytor symboli, za pomocą którego można tworzyć nowe symbole oraz zarządzać bibliotekami. Zawiera również następujące narzędzia dodatkowe, stanowiące jednak niezbędny element nowoczesnego oprogramowania do tworzenia schematów:

  • 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, które pozwalają na różnorodną jej konfigurację).

Opis techniczny

Złożoność schematu w Eeschema jest ograniczona tylko przez ilość dostępnej pamięci w systemie. Nie posiada realnych ograniczeń co do ilości elementów, liczby wyprowadzeń, połączeń lub arkuszy. Eeschema pozwala na budowanie prostych (jednoarkuszowych) jak i wieloarkuszowych schematów.

Eeschema w przypadku schematów wieloarkuszowych pozwala na budowanie:

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

Podstawowe polecenia

Dostęp do poleceń

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

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

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

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

  • Klawiszy funkcyjnych klawiatury (F1, F2, F3, F4, Insert oraz spacja). Przykładowo: Klawisz "Esc" pozwala na zaniechanie obecnie wykonywanego polecenia. Klawisz "Insert" pozwala na powielenie ostatnio utworzonego elementu.

Poniżej pokazano ogólny widok z obrazujący różne możliwości dostępu do poleceń:

commands overview

Polecenia związane z myszą

Podstawowe polecenia

Lewy klawisz

  • Pojedynczy klik: pokazuje dane charakterystyczne elementu lub tekstu znajdującego się pod kursorem w pasku statusu.

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

Prawy klawisz

  • Otwarcie menu kontekstowego.

Operacje na blokach

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

Bloki można zaznaczać przeciągając myszą z wciśniętym lewym klawiszem myszy.

Trzymając dodatkowo jeden z klawiszy 'Shift', 'Ctrl' lub oba razem podczas zaznaczania, w rezultacie wykonujesz kopiowanie, przeciąganie lub kasowanie wybranego obszaru:

Lewy przycisk myszy

Przesunięcie zaznaczenia.

Shift + Lewy przycisk myszy

Skopiowanie zaznaczenia.

Ctrl + Lewy przycisk myszy

Przeciąganie zaznaczenia.

Ctrl + Shift + Lewy przycisk myszy

Usunięcie zaznaczenia.

Podczas przeciągania lub kopiowania można:

  • Kliknąć ponownie by umieścić elementy.

  • Kliknąć prawym klawiszem by przerwać operację.

Jeśli operacja blokowa została rozpoczęta, można wybrać inną operację blokową z menu kontekstowego (myszą, prawym klawiszem):

main window popup

Hotkeys

  • Klawisz "?" pokazuje bieżącą listę klawiszy skrótów.

  • Klawiszami skrótów można zarządzać poprzez "Edytor skrótów klawiszowych" z menu "Ustawienia".

Tutaj znajduje się lista domyślnych skrótów:

Domyślna lista skrótów

Klawisze skrótów mogą być programowane przez użytkowników za pomocą edytora skrótów:

Edycja%20skrótów%20klawiszowych][alt="Okno dialogowe edytora skrótów"

Wybór rozmiaru siatki

Kursor porusza się według siatki, która może być wyświetlana lub ukryta. Siatka ta jest wyświetlana zawsze w edytorze elementów/bibliotek.

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

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

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

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

Wybór powiększenia - Zoom

By zmienić powiększenie (Zoom):

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

  • Lub użyć klawiszy funkcyjnych:

    • F1: Zoom in

    • F2: Zoom out

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

  • Powiększanie widoku:

    • Mouse wheel: Zoom in/out

    • Shift+Mouse wheel: Pan up/down

    • Ctrl+Mouse wheel: Pan left/right

Wyświetlanie pozycji kursora

Jednostki w jakich wyświetlana jest pozycja to cale albo milimetry, w zależności od wybranych aktualnie jednostek. Jednakże, Eeschema zawsze wewnątrz przelicza wszystko na jednoski w tysięcznych cali (1/1000").

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

  • Poziom powiększenia

  • Pozycja absolutna kursora

  • Względna pozycja kursora

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.

status_bar

Pasek menu

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

menubar

Górny pasek narzędzi

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

Gdy Eeschema jest uruchomiony jako samodzielna aplickacja, pasek narzędzi wygląda następująco:

images/toolbar_schedit_standalone.png

Gdy Eeschema jest uruchomiony za pomoca Menedżera projektu, pasek zmienia się następująco:

images/toolbar_schedit.png

Narzędzia do inicjalizacji projektu nie są dostępne, ponieważ stanowią część Menadżera Projektu.

new schematic icon

Create a new schematic (only in standalone mode).

Open schematic icon

Open a schematic (only in standalone mode).

icons/save_png

Save complete (hierarchical) schematic.

Page Settings icon

Select the sheet size and edit the title block.

icons/print_button_png

Open print dialog.

icons/cut_button_png

Remove the selected elements during a block move.

icons/copyblock_png

Copy selected elements to the clipboard during a block move.

icons/paste_png

Copy last selected element or block in the current sheet.

icons/undo_png

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

icons/redo_png

Redo (up to 10 levels).

search icon

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

search replace icon

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

icons/zoom_in icons/zoom_out

Zoom in and out.

icons/zoom_redraw icons/zoom_fit_in_page_png

Refresh screen; zoom to fit.

hierarchy navigator icon

View and navigate the hierarchy tree.

icons/leave_sheet

Leave the current sheet and go up in the hierarchy.

icons/libedit_png

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

icons/library_browse_png

Display libraries (Viewlib).

icons_annotate_png

Annotate components.

ERC icon

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

Netlist icon

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

BOM icon

Generate the BOM (Bill of Materials).

edit_module icon

Edit footprint.

run cvpcb icon

Call CvPcb to assign footprints to components.

icons/pcbnew_png

Call Pcbnew to perform a PCB layout.

Import Footprint Names icon

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

Prawy pasek narzędzi

Ten pasek zawiera narzędza do:

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

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

images/toolbar_schedit_rightside.png

icons/cursor_png

Cancel the active command or tool.

icons/hierarchy_cursor_png

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

New Component icon

Display the component selector.

Add Power icon

Display the power symbol selector.

icons/add_line_png

Draw a wire.

icons/add_bus_png

Draw a bus.

icons/add_line2bus_png

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

icons/add_bus2bus_png

Draw bus-to-bus entry points.

icons/noconn_png

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

icons/add_junction_png

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

icons/add_line_label_png

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

Global label icon

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

icons/add_hierarchical_label_png

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

icons/add_hierarchical_subsheet_png

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

icons/import_hierarchical_label_png

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

icons/add_hierar_pin_png

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

icons/add_dashed_line_png

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

icons/add_text_png

Place textual comments. These are only graphical.

icons/image_png

Place a bitmap image.

icons/cancel_png

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

Lewy pasek narzędzi

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

icons/grid

Show/Hide the grid.

icons/unit_inch

Switch to inches.

icons/unit_mm

Switch to millimeters.

icons/cursor_shape

Choose the cursor shape.

icons/hidden_pin

Visibility of "invisible" pins.

icons/lines90

Allowed orientation of wires and buses.

Menu kontekstowe i szybka edycja komponentów

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

  • Rozmiar powiększenia.

  • Ustawienie siatki.

  • Główne opcje edycujne dla wybranego elementu.

Menu podręczne bez wybranego elementu.

eeschema_popup_without_element_png

Edycja etykiety.

eeschema_popup_edit_label_png

Edycja symboli.

eeschema_popup_edit_component_png

Menu główne

Menu Plik

Menu Plik
New Schematic Project Clear current schematic and initialize a new one

Open Schematic Project

Load a schematic hierarchy

Open Recent

Open a list of recently opened files

Append Schematic Sheet

Insert the contents of another sheet into the current one

Save Schematic Project

Save current sheet and all its hierarchy.

Save Current Sheet Only

Save current sheet, but not others in a hierarchy.

Save Current Sheet As…​

Save current sheet with a new name.

Page Settings

Configure page dimensions and title block.

Print

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

Plot

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

Close

Quit without saving.

Menu ustawień

Ustawienia

Menu ustawień

Biblioteki symboli

Wybiera aktywne biblioteki oraz ścieżki poszukiwań.

Schemat kolorów

Wybiera kolory poszczególnych elementów.

Opcje edytora schematów

Opcje główne (jednostki, rozmiar siatki, nazwy pól, itp.).

Język

Wybiera język komunikacji z programem.

Skróty klawiszowe

Edycja skrótów klawiszowych.

Zapisz ustawienia

Zapisuje bieżące ustawienia do pliku .pro.

Ładuj ustawienia

Wczytuje ustawienia z pliku .pro.

Menu Ustawienia / Wybierz aktywne biblioteki

Ustawienia bibliotek

To okno dialogowe jest używane do konfiguracji bibliotek symboli i przeszukiwanych ścieżek. Parametry konfiguracyjne są zapisywane do pliku .pro. Są również możliwe różne konfiguracje dla różnych folderów.

Eeschema wyszukuje biblioteki w kolejności:

  1. Najpierw plik konfiguracji (nazwa_projektu.pro) w bieżącym katalogu.

  2. Potem plik konfiguracji kicad.pro w katalogu KiCad. Ten plik można traktować jako domyślną konfigurację.

  3. Jeśli żaden z plików nie został znaleziony to przywracane są wartości domyślne. Będzie wówczas wymagane przynajmniej wypełnienie listy bibliotek do załadowania oraz zapisanie nowej konfiguracji.

Opcja "Sprawdzaj konflikty pomiędzy biblioteką a pamięcią podręczną podczas ładowania schematu" jest używana do skonfigurowania procedury sprawdzania konfliktów pomiędzy symbolami na schemacie a symbolami w bibliotece. Zobacz Odzyskiwanie symboli by dowiedzieć się więcej na temat tego procesu.

Ustawienia / Wybierz schemat kolorów

Ustawienia kolorów

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 / Opcje edytora schematów

Opcje edytora schematów

Measurement units:

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

Grid Size:

Grid size selection.

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

Default bus width:

Pen size used to draw buses.

Default line width:

Pen size used to draw objects that do not have a specified pen size.

Default text size:

Text size used when creating new text items or labels

Repeat draw item horizontal displacement

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

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

Repeat draw item vertical displacement

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

Repeat label increment:

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

Auto save time interval:

Time in minutes between saving backups.

Part id notation:

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

Show Grid:

If checked: display grid.

Show hidden pins:

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

Do not center and warp cursor on zoom:

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

Use middle mouse button to pan

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

Limit panning to scroll size

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

Pan while moving object

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

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

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

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

Show page limits

If checked, shows the page boundaries on screen.

Ustawienia oraz język

Należy użyć języka domyślnego. Program wtedy będzie się komunikował w języku zgodnym z językiem systemu - o ile taki język będzie dostępny w programie. Można też wybrać inny język, jednak aby Eeschema w pełni komunikował się w wybranym języku będzie musiał zostać zrestartowany.

Menu Pomoc

Udostępnia pomoc on-line (ten dokument) a także dostarcza informacji o bieżącej wersji programu Eeschema (O programie). Można również z poziomu tego menu otworzyć krótki samouczek, który w kilkunastu krokach wyjaśnia proces tworzenia kompletnego projektu. Polecenie "Kopiuj informacje o wersji" jest przydatne przy zgłaszaniu błędów w programie w celu lepszej identyfikacji.

Główny pasek narzędziowy

Zarządzanie ustawieniami arkuszy/stron

Narzędzie "Ustawienia strony" ukryte pod ikoną Sheet Settings icon pozwala na zdefiniowanie rozmiaru arkusza oraz zawartości tabelki w prawym dolnym rogu.

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.

Opcje edytora schematów

Opcje podstawowe

Opcje edytora schematów

Domyślna zawartość pól

Można określić własne pola które będą zawsze występować w każdym z komponentów (nawet jeśli te pola pozostawiono puste w tym komponencie).

Ustawienia domyślnej zawartości pól

Znajdź oraz Znajdź i zamień

Ikona Find icon pozwala na dostęp do narzędzia do wyszukiwania.

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.

Narzędzie Listy sieci

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

Plik z listą sieci tworzy opis wszystkich połączeń w całej hierarchii schematów.

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

Uwaga 1:

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

Uwaga 2:

Unikaj spacji w nazwach etykiet, bo zostaną one zinterpretowane jako dwa różne słowa. Nie jest to ograniczenie narzucane przez Eeschema, lecz wiele z formatów list sieci nie dopuszcza do ich stosowania.

Okno list sieci

Opcje:

Format domyślny:

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

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

  • Orcad PCB2

  • CadStar

  • Spice, dla symulatora Spice.

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

Numeracja komponentów

Ikona icons_annotate_png pozwala na użycie narzędzia automatycznego numerowania komponentów. Narzędzie to wykonuje automatyczną numerację dla wszystkich komponenentów na schemacie.

Dla komponentów, które składają się z kilku części (jak na przykład 7400 TTL który posiada 4 takie same 4 bramki), przyrostek oznaczający poszczególne części także będzie zachowany (w przypadku 7400 TTL przypisana nazwa U3 będzie podzielona na U3A, U3B, U3C oraz U3D).

Można bezwarunkowo ponumerować wszystkie elementy, bądź tylko te, które są nowe na schemacie, tzn. takie, które dotychczas nie zostały jeszcze ponumerowane.

annotate-dialog_img

Zakres

  1. Użyj całego schematu. Wszystkie arkusze zostaną poddane numeracji (opcja najczęściej używana).

  2. Użyj tylko bieżącej strony. Tylko bieżąca strona zostanie poddana numeracji (opcja ta jest używana tylko w szczególnych przypadkach, na przykład do oceny ilości rezystorów w bieżącym arkuszu).

  3. Pozostaw bieżącą numerację. Numeracja warunkowa, tylko nowe elementy na schemacie zostaną ponumerowana ponownie (opcja najczęściej używana).

  4. Resetuj bieżącą numerację Numeracja bezwarunkowa, wszystkie elementy składowe schematu zostaną ponumerowane (opcja ta przydatna jest po wykonaniu operacji kopiowania bloku, po której to mogą pojawić się zdublowane elementy).

  5. Resetuj, ale nie zamieniaj żadnego z numerowanych elementów wieloczęściowych. To zachowuje razem wszystkie grupy elementów wieloczęściowych (np. U2A, U2B) podczas tego procesu.

Porządek numeracji

Wybiera kierunek w jakim poruszać się będzie numeracja komponentów.

Wybór numeracji

Wybiera metodę w jaki sposób będą wybierane numery elementów.

Kontrola reguł projektowych - ERC

Ikona ERC icon pozwala na dostęp do narzędzia sprawdzania reguł projektowych schematu (zwanego ERC).

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

Eeschema po przeprowadzeniu testu ERC umieszcza na schemacie znaczniki w okolicy wyprowadzeń lub etykiet by wskazać miejsce wykrytego problemu. Opis problemu może zostać wyświetlony klikając lewym klawiszem myszy na znaczniku ERC. Można także wygenerować plik z listą błędów do dalszej analizy zaznaczając odpowiednią opcję.

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 znaczniki błędów po poprzednim testowaniu.

  • Test ERC: rozpoczyna proces sprawdzenia ERC.

  • Zamknij : zamyka okno.

Uwaga:

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

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.

Lista materiałowa - BOM

Ikona BOM icon prowadzi do narzędzia, które pozwala na wygenerowanie pliku z listą elementów i/lub ich połączeniami w hierarchii (za pomocą etykiet globalnych).

Główne okno narzędzia BOM

Generator list materiałowych w Eeschema pozwala na użycie zewnętrznych wtyczek, zwykle XLST lub Python. Niektóre z wtczek są dołączane do programu KiCad wewnątrz folderu z plikami wykonywanlnymi.

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

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

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

  • Pole1 - nazwa producenta,

  • Pole2 - nazwa elementu według producenta,

  • Pole3 - nazwa elementu według jego dystrybutora.

Przykładowo:

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

Narzędzie importu dla numeracji wstecznej

Dostęp:

Ikona Import Footprint Names icon pozwala na dostęp do narzędzia numeracji wstecznej.

Narzędzie to pozwala na uaktualnienie danych o footprintach, które zostały zmienione w programie Pcbnew, z powrotem do schematu, tak by nie było rozbieżności pomiędzy oboma dokumetami.

Tworzenie i edycja schematu

Wprowadzenie

Schemat może zostać przedstawiony na jednym arkuszu, ale głównie będzie to jednak wymagać kilku arkuszy.

Schemat prezentowany na kilku arkuszach jest zwany schematem hierarchicznym, a wszystkie te arkusze (każdy reprezentowany przez własny plik) stanowi dla Eeschema projekt. Operacje na arkuszach hierarchicznych będą opisane w rozdziale Schematy hierarchiczne.

Uwagi ogólne

Schemat zaprojektowany za pomocą Eeschema jest czymś więcej niż tylko prostą reprezentacją graficzną urządzenia elektronicznego. Zwykle jest punktem wyjścia dla łańcucha rozwoju, który umożliwia:

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

  • Automatyczne wygenerowanie listy materiałowej (BOM).

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

  • Generowanie listy sieci dla oprogramowania do projektowania obwodów drukowanych PCB.

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.

Proces tworzenia

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

Komponenty są dodawane do schematu z bibliotek symboli. Po utworzeniu schematu, generowana jest lista sieci, która jest później używana w celu importu zbioru połączeń oraz footprintów do Pcbnew.

Wstawianie i edycja komponentów

Wyszukiwanie i wstawianie komponentów

Aby umieścić komponent na schemacie należy użyć narzędzia wywoływanego za pomocą ikony New Component icon. Pojawi się okienko dialogowe, które pozwoli na wybranie komponentu z listy albo poprzez wyszukanie wpisując w pole Szukaj fragment nazwy, słowa kluczowego lub części opisu.

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.

Przed umieszczeniem symbolu na schemacie można go obracać, odbijać oraz modyfikować jego pola, zarówno z użyciem klawiszy skrótów jak i menu kontekstowego wywoływanego prawym klawiszem myszy. Wszystkie te operacje można też wykonać już po umieszczeniu symbolu.

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

component during placement

Porty zasilania

Port zasilania to także element (symbole te zostały zgrupowane w bibliotece “power”). Dlatego też można go umieszczać tak samo jak inne elementy. Jednakże, ponieważ są to elementy używane dość często, dostępne jest specjalne narzędzie wywoływane za pomocą ikony Add Power icon. Narzędzie to jest podobne do poprzednio przedstawionego, z tą różnicą, że odwołuje się bezpośrednio do biblioteki ``power'', skracając czas potrzebny na przeszukanie bibliotek.

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ść 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 …​), 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 elementów

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.

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.

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.

Przycisk "Resetuj do standardu biblioteki" przywraca element do zerowej orientacji, oraz przywraca domyślne opcje, wielkość i położenie każdego z pól. Jednakże, zawartość pól nie jest modyfikowana, gdyż mogłoby to doprowadzić do przekłamań na schemacie.

Połączenia, Magistrale, Etykiety i Symbole zasilania

Wprowadzenie

Wszystkie te elementy rysunkowe mogą zostać umieszczone na schemacie za pomocą narzędzi z prawego pionowego paska narzędziowego.

Te elementy to:

  • Połączenia: zwykle do łączenia elementów bezpośrednio.

  • Magistrale: do łączenia sygnałów w magistrale.

  • Linie łamane: dla graficznych prezentacji.

  • Węzły: by wymusić połączenia pomiędzy przecinającymi się połączeniami lub magistralami.

  • Wejścia magistral: by pokazać, że dane połączenie wchodzi w skład magistrali. Jest to tylko element graficzny!

  • Etykiety: do nadawania nazw połączeniom w aktywnym arkuszu.

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

  • Teksty do umieszczania komentarzy lub adnotacji.

  • Symbol "Nie połączone" by wskazać pin, który nie wymaga żadnego połączenia.

  • Arkusze hierarchiczne, oraz ich wyprowadzenia.

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

Uwaga 1:

Punktem "kontaktu" (lub podpięcia) etykiet to dolny lewy narożnik pierwszej litery z lewej strony. Punkt ten jest wyróżniony małym prostokątem gdy nie ma połączenia.

Aby etykieta była brana pod uwagę, punkt ten musi być w kontakcie z połączeniem lub nakładać się na styku połączenia z wyprowadzeniem.

Uwaga 2:

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

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

Uwaga 3:

Połączenia przecinające się nie są domyślnie łączone. W takich przypadkach konieczne jest manualne połączenie ich za pomocą węzła.

Poprzedni rysunek (połączenia doprowadzone do szpilek 22, 21, 20, 19 złącza DB25FEMALE) ukazuje taki przypadek połączeń za pomocą węzła.

Uwaga 4:

Jeśli dwie różne etykiety są umieszczone na tym samym połączeniu, zostają one połączone ze sobą i stają się równoważne: wszystkie inne elementy związane z jedną lub drugą etykietą zostają połączone razem.

Połączenia - Magistrale

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

Przykład schematu z wykorzystaniem magistral
Składniki magistral

Z punktu widzenia schematu, magistrala jest zbiorem sygnałów, począwszy od wspólnego prefiksu, a skończywszy na liczbie. Przykładowo, PCA0, PCA1, PCA2 są członkami magistrali PCA.

Cała magistrala jest zwana PCA[N…​m], gdzie N i m to pierwszy i ostatni numer połączenia tej magistrali. Zatem, jeśli PCA posiada 20-tu członków od 0 do 19, kompletna magistrala to PCA [0…​19]. Ale zbiór sygnałów, takich jak PCA0, PCA1, PCA2, WRITE, READ nie może być zawarty w magistrali.

Połączenia pomiędzy składnikami magistral

Wyprowadzenia między tymi samymi członkami magistrali muszą być połączone poprzez etykiety. Nie jest możliwe bezpośrednie połączenie pinu z magistralą; ponieważ takie połączenia będą ignorowane przez Eeschema.

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

W rzeczywistości, ze względu na polecenie powtórzenia (klawisz Insert), połączenia mogą być bardzo szybko wykonane tym sposobem, jeśli wyprowadzenia elementu są ustawione w porządku rosnącym (częsty przypadek w praktyce, na przykład w pamięciach, procesorach…​):

  • Najpierw należy umieścić pierwszą etykietę (np. PCA0)

  • Użyć polecenia powtórzenia tyle razy ile potrzeba, aby umieścić kolejne etykiety. Eeschema automatycznie utworzy następne etykiety (PCA1, PCA2 …​) pionowo, teoretycznie w miejscu innych wyprowadzeń.

  • Narysować połączenie pod pierwszą z etykiet. Następnie użyć polecenia powtarzania umieszczając dalsze połączenia pod etykietami.

  • W razie potrzeby umieścić wejścia do magistrali w ten sam sposób (Umieścić pierwsze wejście, a następnie użyć polecenia powtarzania).

W menu Ustawienia/Opcje edytora schematów, można ustalić parametry powtarzania:

  • Przeskok w pionie.

  • Przeskok w poziomie.

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

Globalne połączenia pomiędzy magistralami

Konieczne może być też połączenie pomiędzy magistralami, w celu połączenia dwóch magistral o różnych nazwach, lub w przypadku hierarchii, do tworzenia połączeń między różnymi arkuszami. Można dokonać tych połączeń w następujący sposób:

Przykład łączenia magistral

Magistrale PCA [0..15], ADR [0..7] oraz BUS [5..10] są ze sobą połączone (Należy zwrócić uwagę na węzeł, ponieważ segment pionowej magistrali łączy się w środku poziomego segmenty magistrali).

Dokładniej, odpowiedni członkowie każdej z magistral są ze sobą złączeni: PCA0, ADR0 są połączone (tak samo jak PCA1 i ADR1 …​ PCA7 i ADR7).

Ponadto PCA5, BUS5 i ADR5 są podłączone (tak jak PCA6, BUS6 i ADR6 jak PCA7, BUS7 i ADR7).

A także PCA8 i BUS8 są podłączone (podobnie jak PCA9 i BUS9, PCA10 i BUS10).

Połączenia z symbolami zasilania

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

Symbole takie jak bramki logiczne, przerzutniki mogą posiadać niewidoczne piny zasilania. Należy mieć to na uwadze, ponieważ:

  • Nie można ich połączyć, ze względu na ich niewidzialność.

  • Nie znamy ich nazw.

Poza tym, złym pomysłem będzie ich uwidocznienie i łączenie tak jak inne wyprowadzenia, bo schemat stanie się nieczytelny, i nie będzie zgody z przyjętą konwencją.

Jeśli chcemy aby były one widoczne, należy zaznaczyć opcję "Pokaż ukryte piny" w oknie dialogowym Ustawienia/Opcje edytora schematów dostępnym z głównego menu aplikacji, lub za pomocą ikony hidden pin znajdującej się na lewym pasku narzędzi (pasek opcji).

Eeschema automatycznie łączy niewidoczne piny zasilania o tej samej nazwie do sieci o tej samej nazwie. Może być zatem potrzeba jawnego połączenia pinów zasilania o różnych nazwach (np. "GND" w symbolach TTL i "VSS" w symbolach CMOS); za pomocą dwóch portów zasilania.

Nie należy w tym celu używać etykiet, które mają tylko 'lokalne' możliwości łączeniowe i nie mogą łączyć niewidocznych wyprowadzeń zasilania.

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

Przykład portu zasilania

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

Widoczne są też dwa symbole PWR_FLAG. Informują one, że dwa porty zasilania VCC i GND są rzeczywiście podłączone do źródła napięcia zasilania. Bez tych dwóch flag, narzędzie ERC wykaże ostrzeżenie: Ostrzeżenie: pin podłączony do innych pinów ale brak pinu sterowania.

Wszystkie te symbole są elementami biblioteki ``power''.

Flaga ``Nie połączone''

Te symbole są bardzo użyteczne podczas sprawdzania poprawności schematu (ERC) by narzędzie to, nie zwracało ostrzeżeń o niepodłączonych wyprowadzeniach.

Jeśli wyprowadzenia muszą pozostać niepodłączone, wymagane jest aby dołączyć do tych wyprowadzeń specjalny symbol Nie połączone (narzędziem No connection icon). Symbole te nie mają żadnego wpływu na tworzone listy połączeń.

Elementy uzupełniające

Komentarze

Mogą być bardzo użyteczne (na przykład do pełnego zrozumienia zawartości schematu) w celu umieszczenia na schemacie pól tekstowych i ramek. Do tego celu przeznaczone są Pola tekstowe (narzędzie add text) oraz linie przerywane (narzędzie add dashed line), w przeciwieństwie do etykiet i połączeń, które są elektrycznymi elementami łączącymi.

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

Przykład ramki z komentarzem.

Tabelka

Ramka tytułowa jest modyfikowana za pomocą narzędzia Page Settings tool.

Okno dialogowe ustawienia strony
Ramka tytułowa

Numer arkusza (Sheet X/Y) jest automatycznie aktualizowany.

Odzyskiwanie symboli z pamięci cache

Domyślnie, Eeschema wczytuje symbole z bibliotek jakie znajdują się w ścieżkach przeszukiwań. Może to stanowić problem gdy wczytywany jest bardzo stary projekt: jeśli symbole w bibliotekach użyte na schemacie zostały zmienione od tamtego czasu, istniejące symbole na schemacie byłyby automatycznie zmienione przez ich nowsze wersje. Nowe wersje mogą mieć poprzesuwane lub inaczej zorientowane piny, co doprowadziłoby do przekłamań na schemacie.

Jednakże, w czasie zapisu schematu, razem z nim zapisywana jest pamięć cache z użytymi symbolami. Pozwala to na rozpowszechnianie schematu bez pełnego zestawu bibliotek. Jeśli wczytywany będzie projekt gdzie symbole występują zarówno w pamięci cache i w bibliotekach programu, Eeschema dokona porównania obu wersji symboli. Konflikty pomiędzy nimi zostaną wyszczególnione w poniższym oknie dialogowym:

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.

Jeśli naciśnięty zostanie przycisk Anuluj, żaden proces odzyskiwania nie zostanie przeprowadzony i Eeschema domyślnie załaduje nowe wersje symboli. Ponieważ nie będą dokonane zmiany, można nadal wrócić i uruchomić funkcję odzyskiwania ponownie: wybierając polecenie Narzędzia → Odzyskaj poprzednie komponenty co ponownie wywoła okno odzyskiwania.

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.

Schematy o strukturze hierarchicznej

Wprowadzenie

Hierarchiczna reprezentacja jest szczególnie dobrym rozwiązaniem dla projektów większych niż kilka arkuszy. Jeśli chcielibyśmy zarządzać tego rodzaju projektem, niezbędne będzie:

  • Użycie dużych arkuszy, co spowoduje problem z drukowaniem i obsługą.

  • Wykorzystanie kilku arkuszy, która tym samym doprowadzi do stworzenia hierarchii.

Cały schemat następnie składa się w głównym arkuszu schematu zwanym arkuszem nadrzędnym (głównym) i arkuszy podrzędnych stanowiących hierarchię. Co więcej, umiejętny podział projektu na oddzielne arkusze często poprawia jego czytelność.

Z arkusza głównego, musi być możliwość odnalezienia dowolnego arkusza podrzędnego. Zarządzanie schematem hierarchicznym jest bardzo proste w Eeschema dzięki zintegrowanemu narzędziu jakim jest "Nawigator" dostęny za pomocą ikony icons/hierarchy_nav_png na górnym i prawym pasku narzędzi.

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

Ten drugi typ jest raczej wykorzystany do opracowania układów scalonych, ponieważ w tym przypadku należy skorzystać z bibliotek funkcji w schemacie który rysujemy.

Eeschema obecnie nie obsługuje tego drugiego przypadku.

Hierarchia może być:

  • prosta: dany arkusz jest używany tylko raz,

  • złożona: dany arkusz jest używany więcej niż raz (przypadek zwielokrotnienia),

  • płaska, która jest prostą hierarchią, ale połączenia między arkuszami nie są rysowane.

Eeschema uznaje wszystkie te hierarchie.

Stworzenie struktury hierarchicznej schematu jest łatwe, gdyż całość hierarchii jest obsługiwana z poziomu schematu głównego, tak jak gdyby był to tylko jeden schemat.

By opanować tworzenie hierarchii należy poznać dwie rzeczy:

  • Jak stworzyć arkusz podrzędny.

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

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

Okno nawigatora

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

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

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

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

Etykiety lokalne, hierarchiczne i globalne

Właściwości

Lokalne etykiety (narzędzie icons/add_line_label_png) łączą sygnały tylko w bieżącym arkuszu. Hierarchiczne etykiety (narzędzie icons/add_hierarchical_label_png) łączą sygnały tylko wewnątrz arkusza z hierarchicznym pinem umieszczonym w arkuszu nadrzędnym.

Etykiety globalne (narzędzie Ikona etykiety globalnej) łączą sygnały we wszystkich elementach hierarchii. Niewidoczne wyprowadzenia zasilania (typu wejście zasilania i wyjście zasilania) są traktowane jak globalne etykiety, ponieważ są one postrzegane jako związane między sobą we wszystkich elementach hierarchii.

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

Tworzenie hierarchii prostych

Aby stworzyć hierarchię prostą należy:

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

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

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

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.

Etykiety te są podobne do zwykłych pinów wyprowadzeń. Należy wybrać narzędzie ukryte pod ikoną icons/add_hierarchical_subsheet_png.

Kliknąć w miejscu górnego lewego narożnika prostokąta. Kliknąć ponownie w miejscu dolnego prawego narożnika, pozostawiając prostokąt o dostatecznym rozmiarze.

Następnie program poprosi o wpisanie nazwy pliku oraz nazwy arkusza dla tego arkusza podrzędnego (w celu dotarcia do odpowiedniego schematu, z pomocą nawigatora).

hsheet_properties_1_png

Ostatecznie można podać tylko samą nazwę pliku. Jeśli nie ma nazwy arkusza, nazwa pliku będzie pełniła rolę nazwy arkusza (zwykle tak się robi).

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.

Są dwie możliwości by wykonać takie połączenia:

  • Umieścić różne piny hierarchiczne w symbolu arkusza przed narysowaniem zawartości arkusza podrzędnego (wstawianie ręczne).

  • Umieścić różne piny hierarchiczne po narysowaniu zawartości arkuszy podrzędnych oraz etykiet hierarchicznych (wstawianie półautomatyczne).

Drugie rozwiązanie wydaje się bardziej korzystne.

Wstawianie ręczne pinów hierarchicznych

  • Narzędzie to można uruchomić klikając w ikonę icons/add_hierar_pin_png.

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

Poniżej znajduje się przykład tworzenia pinu hierarchicznego nazwanego "CONNEXION".

eeschema_hierarchical_label_png

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

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

  • Input - Wejście

  • Output - Wyjście

  • Bidirectional - Dwukierunkowy

  • Tri-state - Trzystanowy

  • Passive - Pasywny

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

Wstawianie półautomatyczne pinów hierarchicznych

  • Wybierz narzędzie icons/import_hierarchical_label_png.

  • Kliknąć na symbol hierarchiczny, z którego chcemy zaimportować piny odpowiadające etykietom hierarchicznym umieszczonym w odpowiednim schemacie. Piny hierarchiczne pojawią się, jeśli istnieją nowe etykiety, tzn. pominięte zostaną już dodane wcześniej piny.

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

Wszystkie niezbędne piny mogą być więc umieszczone szybko i bez błędów. Przewagą w stosunku do wstawiania ręcznego jest to, że są one zgodnie z odpowiednimi etykietami hierarchicznymi jakie istnieją na schemacie.

Etykiety hierarchiczne

Każdy stworzony pin w symbolu arkusza musi odpowiadać etykiecie hierarchicznej w arkuszu podrzędnym. Etykiety hierarchiczne są podobne do zwykłych etykiet, ale w przeciwieństwie do nich dostarczają one połączeń pomiędzy arkuszami podrzędnymi a arkuszem głównym (nadrzędnym). Graficzna reprezentacja dwóch etykiet uzupełniających (pinu i etykiety hierarchicznej) jest podobna. Tworzeniem etykiet hierarchicznych (HLabel) zajmuje się narzędzie ukryte pod ikoną icons/add_hierarchical_label_png.

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.

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

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.

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

Hierarchia złożona

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

eeschema_complex_hierarchy_png

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

Automatyczna numeracja elementów schematu

Wprowadzenie

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

annotate-dialog_img

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

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

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

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

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

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

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

Opcje zawarte w grupie Wybór numeracji pozwalają wybrać metodę jaka zostanie wykorzystana podczas przypisywania numerów referencyjnych wewnątrz każdego arkusza w hierarchii.

Za wyjątkiem szczególnych przypadków, automatyczna numeracja ma zastosowanie do całego projektu (wszystkie arkusze) oraz tylko do nowych elementów, jeśli nie chcemy modyfikować poprzedniej numeracji.

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

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

  • Rozpocznij od numer arkusza*100 i użyj pierwszego wolnego numeru: Numeracja zostanie rozpoczęta od liczby 101 dla arkusza 1, 201 dla arkusza 2, itd…​ Jeśli istnieje więcej niż 99 pozycji z tym samym prefiksem w nazwie odniesienia (np. U czy R) wewnątrz arkusza 1, numeracja będzie kontynuowana od liczby 200 i dalej, a numeracja w arkuszu 2 rozpocznie się od następnego wolnej liczby.

  • Rozpocznij od numer arkusza*1000 i użyj pierwszego wolnego numeru: Numeracja rozpocznie się od liczby 1001 dla arkusza 1, 2001 dla arkusza 2, itd…​

Przykłady

Zmiany porządku numeracji

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

eeschema_annotation_order_none_png

Po przeprowadzeniu automatycznej numeracji:

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

eeschema_annotation_order_x_png

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

eeschema_annotation_order_y_png

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

Wybór numeracji

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

eeschema_annotation_choice_free_png

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

eeschema_annotation_choice_x100_png

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

eeschema_annotation_choice_x1000_png

Kontrola reguł projektowych - Electrical Rules Check

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

Używanie narzędzia testu ERC

ERC można uruchomić klikając w ikonę icon ERC icon.

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

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

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

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

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_png

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.

eeschema_power_pins_and_flags_png

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

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

Konfiguracja

Panel opcji pozwala na skonfigurowanie reguł jakimi się ma kierować ERC w określonych przypadkach zestawienia połączenia, i czy w danym przypadku ma zostać wygenerowany błąd czy tylko ostrzeżenie, albo też takie zestawienie nie powinno generować błędu.

eeschema_erc_options_png

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

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

Generowanie list sieci

Przegląd zagadnień

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

  • Lista elementów,

  • Lista połączeń pomiędzy nimi, zwana jest siecią ekwipotencjalną.

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

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

  • Symulatory układów.

  • Syntetyzery układów PAL/PLA (oraz innych układów programowalnych).

Eeschema wspiera kilka formatów list sieci:

  • Format Pcbnew (obwody drukowane).

  • Format ORCAD PCB2 (obwody drukowane).

  • Format CADSTAR (obwody drukowane).

  • Format Spice, używany przez sporą grupę symulatorów nie tylko przez PSpice.

Format listy sieci

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

Wybrany format Pcbnew

eeschema_netlist_dialog_pcbnew_png

Wybrany format Spice

eeschema_netlist_dialog_spice_png

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 ekwipotencjałów (jest to bardziej czytelne) lub w postaci liczbowej (starsze wersje Spice akceptują tylko liczby). Klikając w przycisk "Lista sieci", będziemy poproszeni o podanie nazwy pliku z listą sieci.

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

Przykłady list sieci

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

eeschema_netlist_schematic_png

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

Uwagi odnośnie list sieci

Zalecane środki ostrożności

Wiele wersji oprogramowania, które wykorzystują listy sieci nie akceptują spacji w nazwach elementów, wyprowadzeń, ekwipotencjałach 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ń.

W ten sam sposób, niektóre znaki inne niż litery i cyfry mogą również powodować problemy. Należy pamiętać, że ograniczenie to nie jest związane z Eeschema, ale z formatami list sieci, które mogą następnie stać się nieprzetłumaczalne dla oprogramowania, które korzysta z tych list sieci.

Listy sieci PSPICE

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

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

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

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

eeschema_pspice_netlist_png

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 ekwipotencjał GND musi dla PSpice być nazwany 0 (zero).

Inne formaty

Dla innych formatów list sieci można dodać odpowiednie konwertery w formie wtyczek. Konwertery te są automatycznie uruchamiane przez Eeschema. W rozdziale 14 znajdują się wyjaśnienia i przykłady takich konwerterów.

Konwerter to plik tekstowy (w formacie xsl), ale można korzystać z innych języków takich jak Python. W przypadku użycia formatu xsl, odpowiednie narzędzia (xsltproc.exe lub xsltproc) odczytuje plik pośredni stworzony przez Eeschema i plik konwertera, w celu stworzenia pliku wyjściowego. W tym przypadku plik konwertera (arkusz stylów) jest bardzo krótki i łatwy do napisania.

Inicjowanie okna dialogowego

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

eeschema_netlist_dialog_add_plugin_png

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

eeschema_netlist_dialog_padspcb_png

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. Eeschema tworzy pośredni plik z listą sieci *.tmp, na przykład test.tmp.

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

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 Eeschema (*.tmp).

Dla przykładowego schematu nazwanego test.sch, właściwa linia poleceń ma postać:

f:/kicad/bin/xsltproc.exe -o test.net f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl test.tmp.

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.

Format pośrednej listy sieci

Rozdział 14 zawiera więcej wyjaśnień na temat xsltproc, opisów formatu pliku pośredniego oraz niektóre przykłady arkuszy stylów dla konwerterów.

Drukowanie i rysowanie schematów na drukarkach lub ploterach

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.

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

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.

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.

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.

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.

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.

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.

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.

To polecenie, podobne do polecenia icons/print_button_png na głównym pasku narzędzi, pozwala na podgląd oraz utworzenie wydruków korzystając z normalnej drukarki.

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.

Edytor bibliotek LibEdit - Podstawy

Podstawowe informacje na temat bibliotek

Komponent jest symbolem na schemacie, który zawiera jego reprezentację graficzną, połączenia elektryczne i pola go opisujące. Komponenty stosowane na schemacie są przechowywane w bibliotece symboli. Eeschema dostarcza narzędzia do edycji takich bibliotek, które pozwala na ich tworzenie, dodawanie, usuwnie lub przenoszenie pomiędzy bibliotekami, a także eksport i import do/z plików zewnętrzych. Narzędzie do edycji bibliotek pozwala również na zarządzanie plikami biblioteki symboli w dość prosty sposób.

Biblioteki symboli - Przegląd

Biblioteka symboli składa się z jednego bądź wielu komponentów. Generalnie, komponenty są logicznie pogrupowane biorąc pod uwagę np. ich funkcję, typ, bądź producenta.

Symbol znajdujący się w bibliotece jest złożony z:

  • Jego postaci graficznej (linie, okręgi, pola tekstowe) które pozwalają na zdefiniowanie symbolu.

  • Wyprowadzeń, inaczej pinów (które muszą być narysowane w ściśle określony sposób używając powszechnie przyjętych standardów (zwykły pin, lub wejście zegarowe, lub aktywny niskim poziomem, albo aktywny zboczem.) opisując ich właściwości elektryczne, używane przez ERC.

  • Pól (tekstowych) takich jak oznaczenie, wartość, nazwa footprintu potrzebna do wstawienia go na płytkę.

  • Symbol może posiadać również aliasy, czyli nazwy alternatywne, na przykład 7400 może także występować jako 74LS00, 74HC00, 7437, ponieważ wszystkie te symbole są identyczne z punktu widzenia schematu.

Do poprawnego tworzenia symboli wymagane jest:

  • Zdefiniowanie ogólnych właściwości: czy posiada wiele części składowych.

  • Zdefiniowanie czy posiada podwójną reprezentację (znany jako DeMorgan, a w Eeschema reprezentowany normalnie i jako skonwertowany).

  • Projektowanie wyglądu (z wyjątkiem pinów) z użyciem linii, prostokątów, okręgów, wielokątów i tekstów.

  • Dodanie wyprowadzeń, dokładnie określając ich projekt graficzny, nazwę oraz numer pinu, a także ich właściwości elektryczne (wejście, wyjście, trzy-stanowe, port zasilania…​).

  • Dodanie aliasów, jeśli inne komponenty są tej samej konstrukcji i mają ten sam zestaw wyprowadzeń (lub też usunięcie jednego w przypadku, gdy symbol został stworzony przez skopiowanie innego symbolu).

  • Dodanie pól w razie potrzeby (jest to opcjonalne, nazwa modułu jest wykorzystywany przez oprogramowanie PCB) i/lub określenie ich widoczności.

  • Dokumentowanie składnika np. poprzez dodanie słów kluczowych i adresu dokumentacji w sieci lub na lokalnym nośniku.

  • Zapisanie go do wybranej biblioteki.

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

Główny pasek menu

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

images/toolbar_libedit.png

icons/save_library_png

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

icons/library_png

Select the library to edit.

icons/delete_png

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

icons/library_browse_png

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

icons/new_component_png

Create a new component.

icons/import_cmp_from_lib_png

Load component from currently selected library for editing.

icons/copycomponent_png

Create a new component from the currently loaded component.

icons/save_part_in_mem_png

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

icons/import_png

Import one component from a file.

icons/export_png

Export the current component to a file.

icons/new_library_png

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

icons/undo_png

Undo last edit.

icons/redo_png

Redo last undo.

icons/part_properties_png

Edit the current component properties.

icons/add_text_png

Edit the fields of current component.

icons/erc_png

Test the current component for design errors.

zoom in

Zoom in.

zoom out

Zoom out.

zoom redraw

Refresh display.

zoom fit in page

Zoom to fit component in display.

icons/morgan1_png

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

icons/morgan2_png

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

icons/datasheet_png

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

images/toolbar_libedit_part.png

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

images/toolbar_libedit_part.png

Select the alias. The drop down control will be disabled if the current component does not have any aliases.

icons/pin2pin_png

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

icons/pin_table_png

Show pin table.

Pasek narzędzi edycji symbolu

Pasek narzędzi (zazwyczaj pionowy) znajdujący się po prawej stronie okna głównego pozwala na umieszczenie wszystkich elementów wymaganych do zaprojektowania symbolu. Poniższa tabela opisuje każdy z przycisków na tym pasku narzędzi.

icons/cursor_png

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

icons/pin_png

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

icons/add_text_png

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

icons/add_rectangle_png

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.

icons/add_circle_png

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

icons/add_arc_png

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.

icons/add_polygon_png

Polygon tool. Left-click to begin drawing a new graphical polygon item in the current component. Left-click for each addition polygon line. Double-left-click to complete the polygon.

icons/anchor_png

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

icons/import_png

Import a component from a file.

icons/export_png

Export the current component to a file.

icons/delete_png

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

Pasek opcji

Pasek narzędzi (zazwyczaj pionowy) znajdujący się po lewej stronie okna głównego pozwala na ustalenie pewnych opcji edycyjnych. Poniższa tabela opisuje każdy z przycisków na tym pasku narzędzi.

icons/grid_png

Toggle grid visibility on and off.

icons/unit_inch_png

Set units to inches.

icons/unit_mm_png

Set units to millimeters.

icons/cursor_shape_png

Toggle full screen cursor on and off.

Wybór biblioteki

Wybranie bieżącej biblioteki jest możliwe za pomocą ikony Ikona Wybór biblioteki roboczej, która otwiera okno z listą dostępnych bibliotek. Gdy element jest ładowany lub zapisywany, to wszystkie te operacje będą przeprowadzane w tej bibliotece.

  • Należy wcześniej określić nazwy bibliotek dostępnych dla Eeschema, by mieć do nich dostęp.

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

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

Wybór symbolu i sposoby jego zapisu

Podczas edycji symbolu, w rzeczywistości wszelkie zmiany nie są dokonywane bezpośrednio w bibliotece, ale w jej kopii w pamięci RAM. W ten sposób można z łatwością cofnąć wszelkie zmiany od ostatniego zapisu.

Wybór symbolu

Ikona Ikona załaduj symbol z biblioteki pozwala wyświetlić listę dostępnych symboli, by wybrać jeden i załadować potrzebny element.

Jeśli wybrano alias symbolu, nazwa wyświetlana na pasku tytułowym będzie nazwą symbolu, który w rzeczywistości został załadowany. Lista aliasów zawsze zostaje załadowana dla każdego symbolu, wobec czego można ją edytować. Gdy chcemy edytować jeden alias, musi on zostać wybrany z listy w oknie narzędziowym: Wybór aliasu z listy. Pierwszy element listy jest symbolem głównym.
Alternatywnie, klikając w ikonę Ikona Załaduj symbol pozwala na wczytanie symbolu, który wcześniej został zapisany poprzez kilknięcie w ikonę Ikona Zapisz symbol.
Zapis symbolu

Po modyfikacji, symbol może zostać zapisany w bieżącej bibliotece, nowej bibliotece, lub wyeksportowany do pliku kopii zapasowej.

By umieścić symbol w bieżącej bibliotece, należy użyć polecenia Ikona Zapisz symbol. Jednakże aktualizacja symbolu zostanie przeprowadzona tylko do pamięci RAM. W ten sposób można zdecydować się czy symbol pasuje do schematu.

Jeśli zajdzie potrzeba pełnego zapisu symbolu, należy użyć polecenia ukrytego pod ikoną Ikona Zapisz bibliotekę na dysk, które zmodyfikuje zawartość biblioteki na dysku twardym.

Jeśli chcemy by aktualny komponent trafił do nowej biblioteki, należy użyć polecenia Ikona Zapisz symbol w nowej bibliotece. W takim przypadku program poprosi o nazwę nowej biblioteki.

Nowe elementy w nowych bibliotekach będą widoczne dopiero po zmianie konfiguracji bibliotek w programie Eeschema.

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

Library settings

Klikając w ikonę Ikona Eksportuj symbol zostanie utworzony plik biblioteki zawierający tylko bieżący symbol. Plik ten będzie miał postać standardowej biblioteki i zawierał tylko jeden symbol. Można go użyć przy imporcie symbolu do innej biblioteki. Utworzenie nowej biblioteki i polecenia eksportu są u podstaw takie same.

Przenoszenie symbolu do innej biblioteki

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

  • Wybór biblioteki źródłowej poprzez kliknięcie na ikonę icons/library_png.

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

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

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

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

Zaniechanie edycji symbolu

Symbol poddawany edycji jest tylko kopią roboczą symbolu, jaki rzeczywiście znajduje się w bibliotece. Tak długo jak nie zostanie on zapisany do pamięci RAM, można go przywrócić z biblioteki (lub przeładować z innej biblioteki) by porzucić zmiany dokonane w tym symbolu. Jeśli symbol jest już zapisany w pamięci RAM, a nie został zapisany w pliku biblioteki na dysku, można zamknąć i ponownie uruchomić Eeschema, a następnie odczytać go z biblioteki ponownie.

Tworzenie symboli

Tworzenie nowego symbolu

Nowy symbol można utworzyć klikając w Ikona Utwórz nowy symbol. Program poprosi o podanie: nazwy symbolu, aby móc potem załadować go z biblioteki (nazwa ta jest także zawartością pola Wartość dla LibEdit i używana jako wartość domyślna dla pola Wartość w edytorze schematów), nazwy domyślnego oznaczenia na schemacie (U, IC, R…​), liczby elementów w pakiecie (np. standardowy komponent 7400 posiada 4 części w jednej obudowie) i czy istnieje przekształcona reprezentacja tego symbolu (standardowo De Morgan). Jeśli nazwa odnośnika będzie pusta, domyślnie zostanie wpisane “U”. Wszystkie te dane mogą być ustalone później, ale lepiej jest ustawić je na początku tworzenia symbolu.

eeschema_component_properties_png

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

eeschema_libedit_new_png

Tworzenie nowego symbolu na podstawie innego

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

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

  • Kliknąć polecenie icons/copycomponent_png lub zmodyfikować jego nazwę poprzez kliknięcie prawym klawiszem na nazwie i poddać edycji tekst pola Wartość. Jeślu użytkownich będzie chciał zduplikować bieżący symbol, zostanie poproszony o nazwę nowego symbolu.

  • Jeśli symbol wzorcowy posiadał aliasy, użytkownik zostanie poproszony o ich usunięcie z nowego symbolu, gdyż pozostawienie ich spowoduje konflikt. Jeśli podczas tego pytania odpowiemy "Nie", tworzenie nowego symbolu zostanie zaniechane. Biblioteki symboli nie mogą posiadać zdublowanych nazw lub aliasów.

  • Wykonać niezbędne edycje.

  • Zapisać symbol w załadowanej bibliotece poprzez icons/save_part_in_mem_png lub zapisać go do nowej biblioteki z pomocą polecenia icons/new_library_png lub jeśli chcemy zapisać nowy element do innej istniejącej biblioteki wybrać inną bibliotekę klikając w icons/library_png i zapisać nowy symbol.

  • Zapisać bieżącą bibliotekę na dysku klikając w ikonę icons/save_library_png.

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

Właściwości symbolu powinny być starannie ustalone podczas jego tworzenia, chyba, że zostały one powielone z innego symbolu podczas jego klonowania. By zmienić właściwości symbolu należy kliknąć na icons/part_properties_png by otworzyć poniższe okno dialogowe.

eeschema_properties_for_component_png

Bardzo ważne jest, by właściwie ustawić liczbę części w symbolu, a jeśli symbol posiada alternatywną reprezentację także 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, nie będzie trzeba wykonywać dodatkowych prac związanych 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).

eeschema_uncheck_pin_name_inside_png

Symbole z reprezentacją alternatywną

Jeśli symbol posiada więcej niż jedną reprezentację, należy przed edycją wybrać odpowiednią reprezentację. By dokonać edycji normalnej postaci symbolu należy kliknąć w icons/morgan1_png.

By poddać edycji alternatywną reprezentację symbou, należy kliknąć na icons/morgan2_png. By wybrać częśc składową poddawaną edycji, należy użyć polecenia images/toolbar_libedit_part.png pokazanego poniżej.

eeschema_libedit_select_unit_png

Elementy graficzne symbolu

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

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

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

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

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

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

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.

eeschema_libedit_context_menu_png

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

eeschema_libedit_polyline_properties_png

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

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

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

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

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

Tekst jako grafika w symbolu

Ikona icons/add_text_png pozwala na tworzenie tekstów (tekst swobodny). Taki tekst jest zawsze wyświetlany poprawnie, nawet jeśli symbol zostanie odwrócony. Należy także zauważyć, że tekst graficzny nie jest związany z polami symbolu.

Symbole wieloczęściowe, podwójna reprezentacja symboli

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

Na przykład przekaźnik może być reprezentowane przez trzy różne elementy: cewka, pierwszy zestyk, drugi zestyk. Zarządzanie wieloczęściowymi układami scalonymi i komponentami z podwójną reprezentacją jest elastyczne. Rzeczywiście, pin może być: wspólny lub specyficzny dla różnych części, wspólny dla obu reprezentacji lub specyficzny dla każdej reprezentacji z osobna.

Domyślnie, piny są specyficzne dla każdej reprezentacji każdej części, ponieważ ich liczba różni się dla każdej części, a ich konstrukcja jest inna dla każdej reprezentacji. Gdy pin jest wspólny wystarczy wyprowadzić go tylko raz (np. w przypadku pinów zasilania). Również w przypadku projektu, który jest prawie zawsze identyczny dla każdej części (ale różni się pomiędzy normalną a skonwertowaną reprezentacją).

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.

eeschema_libedit_pins_per_part_png

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

eeschema_libedit_not_interchangeable_png

Część 1

eeschema_libedit_unit1_png

Część 2

eeschema_libedit_unit2_png

Część 3

eeschema_libedit_unit3_png

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

eeschema_libedit_disable_common_png

Tworzenie i edycja wyprowadzeń (pinów)

Aby utworzyć i wstawić pin należy kliknąć w polecenie icons/pin_png. Aby dokonać prostych edycji wyprowadzeń najlepiej jest kliknąć dwukrotnie na wybranym wyprowadzeniu, lub kliknąć prawym klawiszem by skorzystać z menu podręcznego. Piny muszą być tworzone starannie, ponieważ każdy błąd będzie mieć wpływ na projekt PCB. Każdy dodany już pin można ponownie edytować, usunąć, obrócić lub przenieść.

Wyprowadzenia - Informacje podstawowe

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

Ważne uwagi:

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

  • Nazwa pinu z sygnałem zanegowanym rozpoczyna się od znaku tyldy ~. Wtedy nad tekstem zostanie dorysowana pozioma kreska. Znak ten działa jak przełącznik, zatem możliwe jest również stosowanie go tylko dla wybranego fragmentu nazwy, np. PA0/INT0/PCI0, co w rezultacie da PA0/INT0/PCI0.

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

  • Nazwy pinów rozpoczynające się od znaku hash #, są zarezerwowane dla symboli zasilania.

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

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

Właściwości wyprowadzeń

eeschema_libedit_pin_properties_png

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

  • Nazwa i rozmiar tekstu nazwy.

  • Numer i rozmiar tekstu numeru.

  • Długość.

  • Typ graficzny i elektryczny wyprowadzenia.

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

  • Widoczność.

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.

eeschema_libedit_pin_properties_style_png

Typy elektryczne

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

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

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

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

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

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

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

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

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

Wyprowadzenia - Zmiany globalne

W przypadku wielokrotnych zmian jednego typu z parametrów: rozmiar pinu, rozmiar jego nazwy, czy numeru pinu, można użyć menu podręcznego, a w nim opcji zgrupowanych pod poleceniem Globalne. Za pomocą tych opcji można jedną z tych cech skopiować do innych pinów na podstawie pinu wskazywanego w danej chwili.

eeschema_libedit_pin_context_menu_png

Wyprowadzenia - Symbole wieloczęściowe i podwójna reprezentacja

Symbole z wieloma częściami i/lub reprezentacjami stanowią szczególny problem dla tworzenia pinów i ich edycji. O ile większość z pinów jest specyficzna dla każdej części (bo ich numer pinu jest specyficzny dla każdej części) i do każdej reprezentacji (bo ich forma jest specyficzna dla każdej z reprezentacji), tworzenie i edycja pinów byłaby prawdopodobnie długa i męcząca. Domyślnie, dla symboli z wieloma częściami i/lub reprezentacją podwójną, zmiany te są wykonywane dla wszystkich pinów odpowiadających częściom i reprezentacjom podczas tworzenia lub edycji (z wyjątkiem formy i numeracji), usuwania lub przenoszenia pinu, (tj. dla wszystkich pinów umieszczonych w tej samej lokacji).

Jedynym wyjątkiem od tego to graficzny typ pinów i nazwa. Ta zależność została wprowadzona by umożliwić łatwiejsze tworzenie pinów i ich edycję w najczęstszych przypadkach. Zależność może być przełączona za pomocą icons/pin2pin_png na głównym pasku narzędzi. Pozwala to na całkowicie niezależne tworzenie pinów dla każdej części i reprezentacji.

Symbol może mieć dwie reprezentacje symboliczne (reprezentacja znana jako "De Morgan") i może się składać z więcej niż jednej części, jak w przypadku układów z bramkami logicznymi. Dla niektórych elementów, może zaistnieć potrzeba kilku różnych elementów graficznych i pinów. Podobnie jak w przypadku przykładu przekaźnika pokazanym w punkcie 11.7.1, przekaźnik może być reprezentowany jako trzy odrębne jednostki: cewka, przełącznik 1, przełącznik 2.

Zarządzanie elementami z wieloma częściami i symbolami z alternatywnymi reprezentacjami jest elastyczne. Pin może być wspólny lub specyficzny dla różnych części. Pin może być wspólny dla obu reprezentacji lub specyficzny dla każdej reprezentacji.

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

Jako przykład niech posłuży pin wyjściowy czterokrotnej dwuwejściowej bramki NAND 7400. Ponieważ istnieją cztery części i dwie reprezentacje istnieje osiem oddzielnych pinów wyjściowych w jego definicji. Podczas tworzenia nowego symbolu 7400, część A z normalnej reprezentacji będzie wyświetlana w edytorze bibliotek. Aby edytować styl pinu w alternatywnej reprezentacji, to najpierw musi być włączony przycisk icons/morgan2_png na pasku narzędzi. Aby zmienić numer pinu dla poszczególnych części, należy wybrać odpowiednią część za pomocą listy rozwijanej images/toolbar_libedit_alias.png.

Pola symboli

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

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.

eeschema_libedit_field_context_menu_png

By dokonać edycji niezdefiniowanych pól, dodać nowe lub usunąć należy użyć icons/add_text_png z głównego paska narzędziowego, by otworzyć okno dialogowe z właściwościami pokazane poniżej.

eeschema_libedit_field_properties_png

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

Ważne uwagi:

  • Modyfikacja tekstu w polu Wartość, równa się utworzeniu nowego symbolu na podstawie starego, służącego wtedy za bazę dla nowego symbolu. Ten nowy symbol po zapisaniu go w aktualnie aktywnej bibliotece ma nazwę taką jak zawarta w polu Wartość.

  • Powyższe okno dialogowe musi być użyte także w przypadku modyfikacji pola, które jest puste lub ma włączony atrybut Niewidoczny.

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

Tworzenie symboli zasilania

Symbole portów zasilania są tworzone tak jak zwykłe symbole. Może być to przydatne w celu zebrania ich w specjalnej bibliotece takiej jak power.lib. Zawierają się one w swoim symbolu graficznym (żądanej postaci) i w pinie o typie "Niewidoczne źródło zasilania". Będą one zatem traktowane jak każdy inny symbol przeznaczony dla oprogramowania do tworzenia schematów elektronicznych. Jednakże, pewne środki ostrożności są dalej niezbędne. Poniżej mamy symbol zasilania (zasilanie +12V):

eeschema_libedit_power_symbol_png

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

  • Dodać pin typu "Wejście zasilania" nazwany +12V (Ważne, ponieważ połączenie pomiędzy poszczególnymi portami odbywa się po nazwie), z numerem pinu 1 (numer nie jest tak istotny), z długością 0 i stylem graficznym "Linia".

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

  • Ustawić punkt zaczepienia w miejscu pinu.

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

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

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

  • Załadować istniejący symbol zasilania.

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

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

  • Zapisać nowy symbol.

Edytor bibliotek LibEdit - Dodatkowe możliwości

Przegląd zagadnień

Symbol składa się z kilku elementów

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

  • Wyprowadzenia (piny).

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

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

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

  • Linię komentarza.

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

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

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

    kicad/share/library/doc

    Jeśli nie znaleziono:

    kicad/library/doc

    W systemie Linux:

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

    /usr/share/kicad/library/doc

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

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

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

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

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

Pozycja punktu zaczepienia

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

eeschema_libedit_anchor_png

Punkt zaczepienia może być przeniesiony wybierając polecenie icons/anchor_png i klikając w jego nowym punkcie położenia. Rysunek zostanie automatycznie wycentrowany wobec nowego punktu zaczepienia.

Aliasy

Alias jest nazwą alternatywną odpowiadającą temu samego symbolowi w bibliotece. Symbole o podobnym rozkładzie pinów i podobnej reprezentacji mogą być reprezentowane tylko przez jeden symbol o kilku aliasach (np.: 74LS00 może posiadać aliasy takie jak 7400, 74HC00, 74HCT00).

Korzystanie z aliasów pozwala na tworzenie kompletnych bibliotek symboli znacznie szybciej. Oprócz tego biblioteki takie są znacznie bardziej zwarte i są ładowane szybciej.

Aby zmodyfikować listę aliasów, należy wybrać w głównym oknie edycji narzędzieicons/part_properties_png i wybrać zakładkę Alias:

eeschema_libedit_alias_png

Za pomocą klawiszy obok listy można dodawać lub usuwać aliasy. Bieżący alias nie może być oczywiście zmieniony ponieważ jest edytowany.

By usunąć wszystkie aliasy należy najpierw wybrać symbol główny (pierwszy z listy aliasów na górnym pasku narzędzi edytora bibliotek).

Pola specjalne

Edytor pól jest wywoływany za pomocą ikony icons/add_text_png.

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

eeschema_library_component_field_png

Pola specjalne to:

  • Odnośnik.

  • Wartość: Jest to nazwa symbolu w bibliotece, oraz domyślna wartość jaka zostanie umieszczona na schemacie.

  • Footprint: nazwa modułu używanego na PCB. Nie jest zbyt potrzebna jeśli używamy CvPcb do ustalania listy footprintów.

  • Dokumentacja: zarezerwowane (tutaj nie używane).

Dokumentowanie symboli

Aby dokonać edycji opcji związanych z informacjami dokumentującymi symboli, należy wywołać główne okno właściwości symbolu za pomocą ikony icons/part_properties_png oraz przełączyć się na zakładkę Opis.

eeschema_libedit_description_png

Należy pamiętać, aby wybrać odpowiedni alias lub symbol główny, ponieważ opcje dokumentacyjne są jedyną cechą, którą różnią się poszczególne aliasy. Polecenie "Kopiuj pola z elem. nadrzędnego" pozwala na skopiowanie tych informacji z dokumentacji symbolu głównego do aktualnie edytowanego aliasu.

Słowa kluczowe

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

Wielkość liter nie jest istotna, bo narzędzie zawarte w Eeschema nie rozróżnia wielkość liter. Najbardziej popularne słowa kluczowe użyte w bibliotekach to:

  • CMOS TTL dla rodzin układów logicznych

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

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

  • ADC, DAC, MUX …​

  • OpenCol dla bramek posiadających wyjścia typu otwarty kolektor. Tak więc, jeśli w oprogramowaniu do edycji schematów będziemy szukać symboli za pomocą słów kluczowych NAND2 OpenCol, Eeschema wyświetli listę symboli pasujących do tych 2 słów kluczowych.

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.

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

Filtrowanie footprintów dla CvPcb

Za pomocą listy znajdującej się na zakładce Filtr footprintów można określić jakie moduły byłby odpowiednie dla obecnie projektowanego symbolu. Listę tą wykorzystuje CvPcb by podczas przypisywania obudów można było odfiltrować listę dostępnych modułów tylko do tych najbardziej odpowiednich. Jeśli nie chcemy korzystać z tych możliwości można albo opcję filtracji w CvPcb wyłączyć, albo pozostawić tą listę pustą.

eeschema_libedit_footprint_png

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

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

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

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

Z filtrowaniem

eeschema_cvpcb_with_filtering_png

Bez filtracji

eeschema_cvpcb_without_filtering_png

Biblioteka wzorców

W łatwy sposób można skompilować podręczną biblioteczkę z rysunkami, zawierającą często używane grafiki. Można to wykorzystywać do tworzenia podstawowych komponentów składowych symboli (np. trójkąty, prostokąty, kształty bramek AND, OR, XOR…​) w celu ich późniejszego ponownego użycia.

Pliki te są przechowywane domyślnie w katalogu biblioteki jako poszczególne pliki z rozszerzeniem '.sym'. Wzorce te nie są zbierane w jednym pliku bibliotecznym jaksymbole, ponieważ zazwyczaj nie są zbyt liczne.

Eksport/Tworzenie wzorca

Symbol może być wyeksportowany jako wzorzec graficzny za pomocą narzędzia eksportu icons/import_png znajdującego się na prawym pasku narzędzi. Generalnie przy tworzeniu wzorców głównie chodzi o samą grafikę, zatem dobrym pomysłem jest by przed eksportem, usunąć istniejące piny.

Importowanie wzorca

Podczas edycji symbolu można za pomocą narzędzia "Importuj" istniejące rysunki Ikona Importowanie grafiki symbolu dodać zapisany wcześniej wzorzec. Zaimportowana grafika zostanie dodana tak jakby została ona właśnie narysowana.

Przeglądarka bibliotek ViewLib

Wprowadzenie

Przeglądarka bibliotek pozwala na szybkie sprawdzenie zawartości aktywnych bibliotek. Przeglądarkę można wywołać klikając w ikonę icons/library_browse_png lub przez narzędzie "Wstaw symbol" dostępne na prawym pasku narzędziowym.

eeschema_viewlib_choose_png

Ekran główny

eeschema_viewlib_select_library_png

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

eeschema_viewlib_select_component_png

Pasek narzędzi przeglądarki bibliotek

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

images/pl/toolbar_viewlib.png

Dostępne polecenia to:

icons/library_png

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

icons/add_component_png

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

icons/lib_previous_png

Display previous component.

icons/lib_next_png

Display next component.

zoom in zoom out zoom redraw zoom fit in page

Zoom tools.

morgan1 morgan2

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

images/toolbar_viewlib_part.png

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

icons/datasheet_png

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

icons/export_png

Close Viewlib and place the selected component in Eeschema. This icon is only displayed when Viewlib has been called from Eeschema (click on a symbol in the component chooser).

Tworzenie własnych list sieci i plików BOM

Plik pośredniej listy sieci

Lista materiałowa BOM i lista sieci może być skonwertowana z formatu pośredniego tworzonego przez Eeschema.

Plik ten jest zbudowany z tagów XML i nosi nazwę pliku pośredniego listy sieci. Ponieważ zawiera on jednak wiele danych na temat komponentów schematu, może być też wykorzystywany do tworzenia list materiałowych BOM lub innych raportów - nie tylko list sieci.

W zależności od formatu wyjściowego (BOM, nowe listy sieci), tylko niektóre sekcje tego pliku będą wykorzystywane w trakcie przetwarzania.

Przykładowy schemat

Przykładowy schemat

Przykład pośrednej listy sieci

Odpowiednia dla przedstawionego schematu pośrednia lista sieci (używając składni XML) jest pokazana poniżej.

<?xml version="1.0" encoding="utf-8"?>
<export version="D">
  <design>
    <source>F:\kicad_aux\netlist_test\netlist_test.sch</source>
    <date>29/08/2010 20:35:21</date>
    <tool>eeschema (2010-08-28 BZR 2458)-unstable</tool>
  </design>
  <components>
    <comp ref="P1">
      <value>CONN_4</value>
      <libsource lib="conn" part="CONN_4"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E2141</tstamp>
    </comp>
    <comp ref="U2">
      <value>74LS74</value>
      <libsource lib="74xx" part="74LS74"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E20BA</tstamp>
    </comp>
    <comp ref="U1">
      <value>74LS04</value>
      <libsource lib="74xx" part="74LS04"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E20A6</tstamp>
    </comp>
    <comp ref="C1">
      <value>CP</value>
      <libsource lib="device" part="CP"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E2094</tstamp>
    </comp>
    <comp ref="R1">
      <value>R</value>
      <libsource lib="device" part="R"/>
      <sheetpath names="/" tstamps="/"/>
      <tstamp>4C6E208A</tstamp>
    </comp>
  </components>
  <libparts>
    <libpart lib="device" part="C">
      <description>Condensateur non polarise</description>
      <footprints>
        <fp>SM*</fp>
        <fp>C?</fp>
        <fp>C1-1</fp>
      </footprints>
      <fields>
        <field name="Reference">C</field>
        <field name="Value">C</field>
      </fields>
      <pins>
        <pin num="1" name="~" type="passive"/>
        <pin num="2" name="~" type="passive"/>
      </pins>
    </libpart>
    <libpart lib="device" part="R">
      <description>Resistance</description>
      <footprints>
        <fp>R?</fp>
        <fp>SM0603</fp>
        <fp>SM0805</fp>
        <fp>R?-*</fp>
        <fp>SM1206</fp>
      </footprints>
      <fields>
        <field name="Reference">R</field>
        <field name="Value">R</field>
      </fields>
      <pins>
        <pin num="1" name="~" type="passive"/>
        <pin num="2" name="~" type="passive"/>
      </pins>
    </libpart>
    <libpart lib="conn" part="CONN_4">
      <description>Symbole general de connecteur</description>
      <fields>
        <field name="Reference">P</field>
        <field name="Value">CONN_4</field>
      </fields>
      <pins>
        <pin num="1" name="P1" type="passive"/>
        <pin num="2" name="P2" type="passive"/>
        <pin num="3" name="P3" type="passive"/>
        <pin num="4" name="P4" type="passive"/>
      </pins>
    </libpart>
    <libpart lib="74xx" part="74LS04">
      <description>Hex Inverseur</description>
      <fields>
        <field name="Reference">U</field>
        <field name="Value">74LS04</field>
      </fields>
      <pins>
        <pin num="1" name="~" type="input"/>
        <pin num="2" name="~" type="output"/>
        <pin num="3" name="~" type="input"/>
        <pin num="4" name="~" type="output"/>
        <pin num="5" name="~" type="input"/>
        <pin num="6" name="~" type="output"/>
        <pin num="7" name="GND" type="power_in"/>
        <pin num="8" name="~" type="output"/>
        <pin num="9" name="~" type="input"/>
        <pin num="10" name="~" type="output"/>
        <pin num="11" name="~" type="input"/>
        <pin num="12" name="~" type="output"/>
        <pin num="13" name="~" type="input"/>
        <pin num="14" name="VCC" type="power_in"/>
      </pins>
    </libpart>
    <libpart lib="74xx" part="74LS74">
      <description>Dual D FlipFlop, Set &amp; Reset</description>
      <docs>74xx/74hc_hct74.pdf</docs>
      <fields>
        <field name="Reference">U</field>
        <field name="Value">74LS74</field>
      </fields>
      <pins>
        <pin num="1" name="Cd" type="input"/>
        <pin num="2" name="D" type="input"/>
        <pin num="3" name="Cp" type="input"/>
        <pin num="4" name="Sd" type="input"/>
        <pin num="5" name="Q" type="output"/>
        <pin num="6" name="~Q" type="output"/>
        <pin num="7" name="GND" type="power_in"/>
        <pin num="8" name="~Q" type="output"/>
        <pin num="9" name="Q" type="output"/>
        <pin num="10" name="Sd" type="input"/>
        <pin num="11" name="Cp" type="input"/>
        <pin num="12" name="D" type="input"/>
        <pin num="13" name="Cd" type="input"/>
        <pin num="14" name="VCC" type="power_in"/>
      </pins>
    </libpart>
  </libparts>
  <libraries>
    <library logical="device">
      <uri>F:\kicad\share\library\device.lib</uri>
    </library>
    <library logical="conn">
      <uri>F:\kicad\share\library\conn.lib</uri>
    </library>
    <library logical="74xx">
      <uri>F:\kicad\share\library\74xx.lib</uri>
    </library>
  </libraries>
  <nets>
    <net code="1" name="GND">
      <node ref="U1" pin="7"/>
      <node ref="C1" pin="2"/>
      <node ref="U2" pin="7"/>
      <node ref="P1" pin="4"/>
    </net>
    <net code="2" name="VCC">
      <node ref="R1" pin="1"/>
      <node ref="U1" pin="14"/>
      <node ref="U2" pin="4"/>
      <node ref="U2" pin="1"/>
      <node ref="U2" pin="14"/>
      <node ref="P1" pin="1"/>
    </net>
    <net code="3" name="">
      <node ref="U2" pin="6"/>
    </net>
    <net code="4" name="">
      <node ref="U1" pin="2"/>
      <node ref="U2" pin="3"/>
    </net>
    <net code="5" name="/SIG_OUT">
      <node ref="P1" pin="2"/>
      <node ref="U2" pin="5"/>
      <node ref="U2" pin="2"/>
    </net>
    <net code="6" name="/CLOCK_IN">
      <node ref="R1" pin="2"/>
      <node ref="C1" pin="1"/>
      <node ref="U1" pin="1"/>
      <node ref="P1" pin="3"/>
    </net>
  </nets>
</export>

Konwersja na nowy format listy sieci

Poprzez zastosowanie filtra dla tego pliku pośredniego z listą sieci, można wygenerować listę sieci w wielu innych formatach oraz listę materiałową BOM. Ponieważ jest to tylko transformacja jednej postaci tekstu na drugą postać, filtr ten można łatwo napisać w języku PYTHON lub XSLT.

XSLT sam w sobie jest językiem XML przeznaczonym do definiowania transformacji XML. Istnieje darmowy program zwany xsltproc który, można pobrać oraz zainstalować. Program xsltproc może zostać użyty do odczytu pośredniego pliku listy sieci w formacie XML, zastosowanie arkusza stylów (tzw. "filtr") do przetworzenia pliku wejściowego i zapisaniu danych wynikowych. Użycie xsltproc wymaga odpowiedniego pliku arkusza stylów używającego konwencji przyjętych w XSLT. Cały proces konwersji jest obsługiwany przez Eeschema zaraz jak tylko zostanie on skonfigurowany.

Konwerter XSLT

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

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

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

Przykład tworzenia listy sieci programu OrcadPCB2

Ten format posiada tylko jedną sekcję - listę footprintów. Każdy z footprintów zawiera swoją listę wyprowadzeń z odnośnikami do właściwych sieci.

Arkusz stylów wymagany do przeprowadzenia tej konwersji:

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

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

<!DOCTYPE xsl:stylesheet [
  <!ENTITY nl  "&#xd;&#xa;"> <!--new line CR, LF -->
]>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" omit-xml-declaration="yes" indent="no"/>

<!--
    Netlist header
    Creates the entire netlist
    (can be seen as equivalent to main function in C
-->
<xsl:template match="/export">
    <xsl:text>( { Eeschema Netlist Version 1.1  </xsl:text>
    <!-- Generate line .TIM <time> -->
<xsl:apply-templates select="design/date"/>
<!-- Generate line eeschema version ... -->
<xsl:apply-templates select="design/tool"/>
<xsl:text>}&nl;</xsl:text>

<!-- Generate the list of components -->
<xsl:apply-templates select="components/comp"/>  <!-- Generate list of components -->

<!-- end of file -->
<xsl:text>)&nl;*&nl;</xsl:text>
</xsl:template>

<!--
    Generate id in header like "eeschema (2010-08-17 BZR 2450)-unstable"
-->
<xsl:template match="tool">
    <xsl:apply-templates/>
</xsl:template>

<!--
    Generate date in header like "20/08/2010 10:45:33"
-->
<xsl:template match="date">
    <xsl:apply-templates/>
    <xsl:text>&nl;</xsl:text>
</xsl:template>

<!--
    This template read each component
    (path = /export/components/comp)
    creates lines:
     ( 3EBF7DBD $noname U1 74LS125
      ... pin list ...
      )
    and calls "create_pin_list" template to build the pin list
-->
<xsl:template match="comp">
    <xsl:text> ( </xsl:text>
    <xsl:choose>
        <xsl:when test = "tstamp != '' ">
            <xsl:apply-templates select="tstamp"/>
        </xsl:when>
        <xsl:otherwise>
            <xsl:text>00000000</xsl:text>
        </xsl:otherwise>
    </xsl:choose>
    <xsl:text> </xsl:text>
    <xsl:choose>
        <xsl:when test = "footprint != '' ">
            <xsl:apply-templates select="footprint"/>
        </xsl:when>
        <xsl:otherwise>
            <xsl:text>$noname</xsl:text>
        </xsl:otherwise>
    </xsl:choose>
    <xsl:text> </xsl:text>
    <xsl:value-of select="@ref"/>
    <xsl:text> </xsl:text>
    <xsl:choose>
        <xsl:when test = "value != '' ">
            <xsl:apply-templates select="value"/>
        </xsl:when>
        <xsl:otherwise>
            <xsl:text>"~"</xsl:text>
        </xsl:otherwise>
    </xsl:choose>
    <xsl:text>&nl;</xsl:text>
    <xsl:call-template name="Search_pin_list" >
        <xsl:with-param name="cmplib_id" select="libsource/@part"/>
        <xsl:with-param name="cmp_ref" select="@ref"/>
    </xsl:call-template>
    <xsl:text> )&nl;</xsl:text>
</xsl:template>

<!--
    This template search for a given lib component description in list
    lib component descriptions are in /export/libparts,
    and each description start at ./libpart
    We search here for the list of pins of the given component
    This template has 2 parameters:
        "cmplib_id" (reference in libparts)
        "cmp_ref"   (schematic reference of the given component)
-->
<xsl:template name="Search_pin_list" >
    <xsl:param name="cmplib_id" select="0" />
    <xsl:param name="cmp_ref" select="0" />
        <xsl:for-each select="/export/libparts/libpart">
            <xsl:if test = "@part = $cmplib_id ">
                <xsl:apply-templates name="build_pin_list" select="pins/pin">
                    <xsl:with-param name="cmp_ref" select="$cmp_ref"/>
                </xsl:apply-templates>
            </xsl:if>
        </xsl:for-each>
</xsl:template>


<!--
    This template writes the pin list of a component
    from the pin list of the library description
    The pin list from library description is something like
          <pins>
            <pin num="1" type="passive"/>
            <pin num="2" type="passive"/>
          </pins>
    Output pin list is ( <pin num> <net name> )
    something like
            ( 1 VCC )
            ( 2 GND )
-->
<xsl:template name="build_pin_list" match="pin">
    <xsl:param name="cmp_ref" select="0" />

    <!-- write pin numner and separator -->
    <xsl:text>  ( </xsl:text>
    <xsl:value-of select="@num"/>
    <xsl:text> </xsl:text>

    <!-- search net name in nets section and write it: -->
    <xsl:variable name="pinNum" select="@num" />
    <xsl:for-each select="/export/nets/net">
        <!-- net name is output only if there is more than one pin in net
             else use "?" as net name, so count items in this net
        -->
        <xsl:variable name="pinCnt" select="count(node)" />
        <xsl:apply-templates name="Search_pin_netname" select="node">
            <xsl:with-param name="cmp_ref" select="$cmp_ref"/>
            <xsl:with-param name="pin_cnt_in_net" select="$pinCnt"/>
            <xsl:with-param name="pin_num"> <xsl:value-of select="$pinNum"/>
            </xsl:with-param>
        </xsl:apply-templates>
    </xsl:for-each>

    <!-- close line -->
    <xsl:text> )&nl;</xsl:text>
</xsl:template>

<!--
    This template writes the pin netname of a given pin of a given component
    from the nets list
    The nets list description is something like
      <nets>
        <net code="1" name="GND">
          <node ref="J1" pin="20"/>
              <node ref="C2" pin="2"/>
        </net>
        <net code="2" name="">
          <node ref="U2" pin="11"/>
        </net>
    </nets>
    This template has 2 parameters:
        "cmp_ref"   (schematic reference of the given component)
        "pin_num"   (pin number)
-->

<xsl:template name="Search_pin_netname" match="node">
    <xsl:param name="cmp_ref" select="0" />
    <xsl:param name="pin_num" select="0" />
    <xsl:param name="pin_cnt_in_net" select="0" />

    <xsl:if test = "@ref = $cmp_ref ">
        <xsl:if test = "@pin = $pin_num">
        <!-- net name is output only if there is more than one pin in net
             else use "?" as net name
        -->
            <xsl:if test = "$pin_cnt_in_net>1">
                <xsl:choose>
                    <!-- if a net has a name, use it,
                        else build a name from its net code
                    -->
                    <xsl:when test = "../@name != '' ">
                        <xsl:value-of select="../@name"/>
                    </xsl:when>
                    <xsl:otherwise>
                        <xsl:text>$N-0</xsl:text><xsl:value-of select="../@code"/>
                    </xsl:otherwise>
                </xsl:choose>
            </xsl:if>
            <xsl:if test = "$pin_cnt_in_net &lt;2">
                <xsl:text>?</xsl:text>
            </xsl:if>
        </xsl:if>
    </xsl:if>

</xsl:template>

</xsl:stylesheet>

Poniżej znajduje się plik wyjściowy programu OrcadPCB2.

( { Eeschema Netlist Version 1.1  29/08/2010 21:07:51
eeschema (2010-08-28 BZR 2458)-unstable}
 ( 4C6E2141 $noname P1 CONN_4
  (  1 VCC )
  (  2 /SIG_OUT )
  (  3 /CLOCK_IN )
  (  4 GND )
 )
 ( 4C6E20BA $noname U2 74LS74
  (  1 VCC )
  (  2 /SIG_OUT )
  (  3 N-04 )
  (  4 VCC )
  (  5 /SIG_OUT )
  (  6 ? )
  (  7 GND )
  (  14 VCC )
 )
 ( 4C6E20A6 $noname U1 74LS04
  (  1 /CLOCK_IN )
  (  2 N-04 )
  (  7 GND )
  (  14 VCC )
 )
 ( 4C6E2094 $noname C1 CP
  (  1 /CLOCK_IN )
  (  2 GND )
 )
 ( 4C6E208A $noname R1 R
  (  1 VCC )
  (  2 /CLOCK_IN )
 )
)
*

Używanie systemu wtyczek Eeschema

Konwertery pośrednich list sieci mogą być wywoływane bezpośrednio z Eeschema. Wystarczy tylko odpowiednio skonfigurować narzędzie do tworzenia list sieci.

Inicjowanie okna dialogowego

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

eeschema_plugin_add_plugin_png

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

eeschema_plugin_padspcb_png
Ustawienia nowych wtyczek

Zakładka z ustawieniami wymaga następujących informacji:

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

  • Lini poleceń, której przekazanie do systemu operacyjnego uruchomi konwersję.

Przy aktywacji klawisza Lista sieci na takiej zakładce:

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

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

Generowanie list sieci za pomocą linii poleceń

Zakładając, że zostanie użyty program xsltproc.exe by zastosować filtr z arkusza stylów na pliku pośrednim listy sieci, xsltproc.exe będzie potrzebował odpowiednio skonstruowaną listę parametrów, zgodnie ze wzorcem:

xsltproc.exe -o <plik wyjściowy> <plik arkusza stylów> <plik wejściowy XML do konwersji>

Tak więc, używając systemu Windows linia poleceń przekazana do systemu będzie miała postać:

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

Używając systemu Linux polecenie będzie miało postać:

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

Plik netlist_form_pads-pcb.xsl jest w tym przypadku arkuszem stylu. Należy pamiętać by nazwy plików zawierające (lub mogące zawierać) znaki spacji zamknąć w cudzysłowach.

Linia poleceń akceptuje parametry dla nazw plików:

Jako parametry obsługiwane są sekwencje:

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

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

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

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

Generowanie list materiałowych (BOM)

Ponieważ lista pośrednia sieci zawiera wszystkie informacje o zastosowanych komponenetach, można na jej podstawie utworzyć listę materiałową (BOM). Poniżej znajduje się okno z ustawieniami (w systemie Linux) pozwalające utworzyć własny plik BOM:

bom-netlist-tab_png

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

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.

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>

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>

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.

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 name of the lib where this component was found.

part

component name inside this library.

sheetpath

path of the sheet inside the hierarchy: identify the sheet within the full schematic hierarchy.

tstamps (time stamps)

time stamp of the schematic file.

tstamp (time stamp)

time stamp of the component.

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.

Sekcja elementów bibliotecznych

Sekcja elementów bibliotecznych znajduje się w tagu <libparts>, a dane w tej sekcji są zdefiniowane w bibliotekach schematu. Dla każdego komponentu sekcja ta zawiera dane:

  • Nazwy dozwolonych footprintów (nazwy używają masek), zawarte w tagu <fp>.

  • Pola zdefiniowane w bibliotece, zawarte w tagu <fields>.

  • Lista pinów, zawarte w tagu <pins>.

<libparts>
<libpart lib="device" part="CP">
  <description>Condensateur polarise</description>
  <footprints>
    <fp>CP*</fp>
    <fp>SM*</fp>
  </footprints>
  <fields>
    <field name="Reference">C</field>
    <field name="Valeur">CP</field>
  </fields>
  <pins>
    <pin num="1" name="1" type="passive"/>
    <pin num="2" name="2" type="passive"/>
  </pins>
</libpart>
</libparts>

Linie jak <pin num="1" type="passive"/> określają również typ elektryczny pinów. Dostępne są typy:

Input

Zwykły pin wejściowy

Output

Zwykły pin wyjściowy

Bidirectional

Wejście lub wyjście

Tri-state

Wejście lub wyjście trójstanowe

Passive

Pasywny, zwykle w komponentach biernych

Unspecified

Nieznany

Power input

Wejście zasilania dla komponentu

Power output

Wyjście zasilania z komponentu

Open collector

Otwarty kolektor

Open emitter

Otwarty emiter

Not connected

Musi być pozostawiony niepodłączony

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>

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

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

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.

Synopsis

xsltproc [[-V] | [-v] | [-o *plik* ] | [--timing] | [--repeat] |
[--debug] | [--novalid] | [--noout] | [--maxdepth *wart* ] | [--html] |
[--param *nazwa* *wart* ] | [--stringparam *nazwa* *wart* ] | [--nonet] |
[--path *ścieżki* ] | [--load-trace] | [--catalogs] | [--xinclude] |
[--profile] | [--dumpextensions] | [--nowrite] | [--nomkdir] |
[--writesubtree] | [--nodtdattr]] [ *arkuszstylu* ] [ *plik1* ] [ *plik2* ]
[ *....* ]

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. Listy, które zawierają spacje należy zamknąć w cudzysłowy.

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

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

Więcej informacji na temat xsltproc

Strona WEB libxml: http://www.xmlsoft.org/

Strona WEB W3C XSLT: http://www.w3.org/TR/xslt

Table of Contents