Posts tagged with 'Report'

Component Report

The Component Report in PCB-Investigator is a useful tool to get a summary of all components used in the PCB. This can be very helpful to make sure that all required components are present on the board and to make sure that they are placed and wired correctly.

 

component_report

     1. The path of the currently loaded job is displayed here

     2. The window is for customizing temporary field contents of the layout.
      All items of the layout type "Custom" are listed here. The changes are
      only temporary.

     3. With this button you can choose your printer

     4. With this button you can see the print preview

     5. At "Layout Options" you can set the options for creating the layout.
      More about this in the following paragraph.

     6. The Last Button is for printing your Component Report

 

 

 

 

Layout Options


1. Tablepartitioning sets which attributes/properties of the CMP should be listed and which attribute/property should be used for coloring (Component with same attribute value get same color)

2. Layer options gives you the possibility to display different layers during printing

3. Drawing Options can be used to change the color or thickness if you like

4. Layout of the side is used to create your own page layout and can be extended as you wish.

Pagetype: Image or Table
  • Image => Used for the pages where the image of the component is visible and for the preview page.
  • Table => Used for the pages where only the table is visible (only important if 0 was previously selected for Row per Page)
Layout Item: Predefined layout items.
  • Layername: Layer name
  • Date: Date
  • Page_Number: Numbering of the page (related image and table pages have the same number here)
  • Custom: Custom value, which will be displayed on the main dialog as well

Custom Value: Will only be filled if the item was set to Custom before. Values filled here will be saved in the layout.

Alignment: Used to determine where on the page this element should be placed. Same alignments lead to the fact that these are arranged afterwards under each other.
  • Top_Left
  • Top_Center 
  • Top_Right
  • Bottom_Left
  • Bottom_Center
  • Bottom_Right

5. Page Options gives you the options in which paper format to print. In addition, you can select how many lines of the table should be displayed on one page (0 means that the table will have its own page). Furthermore you can sort the table by attributes and choose between predefined page layouts like:

  • HeaderFooter - Simple layout with a header and a footer.
  • TopLeft - All important information is placed at the top left of the preview image
  • Custom - Completely own layout

all three layouttypes are shown in the print preview at the end of this page.

Page Arrangement is Important only for Rows per page = 0 (table on extra page)

  • Image then Table: First all images of the colored components are listed, then all tables
  • First the image with the colored components and directly afterwards the corresponding table.

It is possible to ignore components with different options to hide them or crossout them.

How to use

Testcoverage Report use the results of machine analysis for reporting the test efficiency and production yield for the complete PCB.

overview testcoverage report dialog

You can use AOI/AXI Analysis and DFT Preperation to generate machine results to include them in the testcoverage calculation.

All saved results possible to select for single machines, depending to the machine you have some filters e.g. AOI THT machine use only results with THT filter off.

 

You can organize your production street with different machines:

1) Use default machine order with SPI-, AOI-, AXI-, ICT-, BScan- and FPT-Machines

2) Add new machine with own settings or from the template list.

3) Remove selected machine from the machien order list.

4) Move selected machine to the left.

5) Move selected machine to the right.

6) OK close the dialog and save the new machine order.

Each machine should be configurated with parameters to start an analysis and get check information from there. E.g. you can have an AOI machine which can test some components found in the AOI Analysis, or you have an AXI machine with specific settings (e.g. test only BGAs and DPack components) this creates an analysis result and the machine definition define the machine connection to the test result. You can start the analysis for each machine directly with the small button beside the drop down "Selected Result".

 

In the Overview you find some tab pages, at the end the Test Contribution Chart shows you which machine has how much influence on the check:

On the left side you can change the PPVS selection to display the diagram for the selected type.

1) how much components not tested

2) multi machine tests mean components found in more than one machines result (e.g. in AOI and ICT results)

3+4) AOI SMD and AXI have here 0 %, because the results overlap with other machines and included in 2)

5) ICT has some component only tested by this machine. 

Overview

The report is stored in Extras, in the dialog you have some options:

Overview for Extended Design Report

1) Select output format (interactive html report or MS Word file)

2) Output unit (mm or mil)

3) For many Analysis results you can filter "Only Critical" results

4) Create the Export File

 

HTML Export

Here is an example how the report can be organized, with extra tab pages for each exported analysis:

Example output html report

The report begin with an overview for each step with e.g. design size, component count and the stackup information (signal layers, step count, layer count, net count,...)

With the extended design report you can use customization to change colors and images, you can also add own reports and pages. The report has an open Interface to automate it and create complete reports for all made analysis/checks.

 

Create a new project

Create a new project

To create a new project, start the Part Explorer in PCB-Investigator (1) and click on "Project" > "New..." in the upper left corner (2).

Now you can see the Project Manager. You have the possibility to create several subprojects for your new project. This can be useful if you want to produce different designs and consider quantity discounts for the used components. To create a new one, please click the "Add"-Button (1).

Choose an appropriate name for your project (2) and specify how often the PCB should be manufactured (3). The components on your design will later be multiplied by the number of PCBs. For each project, you can decide whether to load the parts from the open design or import a BOM (4).

Click on "Create" to create the project. When you have created all the sub-projects, click on "Prepare >" to merge the sub-projects and start the Part Expert (5).

 

Query Builder

With the Query Builder you can easily define suitable queries for your parts. First select your MPN property according to which the components are grouped (1). If you specify a global description property (2), this will automatically be assigned to the parts that do not have an MPN property (see first row in the screenshot for example). You can always adjust the query manually in the left pane. Optionally, you can specify a Manufacturer property (3).

To customize individual search queries, select a corresponding entry. On the left, you now have the option to choose between "MPN" and "Description".

MPN
This type requests exactly one MPN in the selected libraries. You can select the part number, a specific property or free text input.

Description
In this case, a compound string is sent to the libraries. You can use the Description Builder to select the properties that make up the string. If you have good description properties in the design, it is usually sufficient to select this description property.

To complete this process, click "Continue" afterwards.

 

 

The Part Expert UI

The Part Expert UI

The Part Expert essentially consists of the following six main areas.

  1. API Libraries
    Here you can define from which PCB-Investigator Libraries you want to query stock levels, delivery times and price data.
  2. Search Queries
    Here you can see all components that can be queried. The bold text is the selected search query.
  3. Part Results
    In this area you can see all the parts found and the information returned by the library (e.g stock information, delivery times and minimum order quantities).
  4. Part Information
    General information of the selected part
  5. Price Information
    Price information of the selected part
  6. Assigned Parts
    All assigned parts of the selected search query in area (2)

Overview

 

Select Libraries

First, you need to specify in which libraries to search for information. To do this, select the "Add Library" button in area (1) and choose a library to add.

Now you can query the selected libraries by clicking on "Start Request" in area (1). In the brackets behind you can see how many Search Queries are selected in area (2).

 

Assign Parts

To assign found parts, either double-click on the desired result in area (3) or right-click and select "Assign Part(s)...".

Then you need to specify how many components you want to assign. If there is a minimum order value you cannot assign less than this value. Click "Save" to assign the part. Above area (6) you can see the indicator how many of the required parts are already assigned.

 

Combined Details (Multi-Selection)

To get summary information about specific search queries, you can select multiple search queries in area (2). Now you can see under "Assigned Parts" all assigned parts to the selected lines as well as information about the required and already assigned number of parts.

 

Modify Queries

To subsequently adjust individual search queries, right-click on an entry and select "Edit Search Query..." from the context menu.

You can now adjust the request type and query for this entry. By clicking on “Save” the changes will be applied.

If there are already entries with the same search query and the same request type, you will be asked whether you would like to merge the entries. In this case, component references, alternative parts and assigned parts are merged into one entry. Part information that has already been queried and assigned parts of the renamed entry are always lost when adjusting a search query.

 

 

Project Summary

Project Summary

In the main view you can see at the bottom left (see picture "Project Summary 1") the total costs for your project as well as the maximum delivery time for all assigned parts.

Project Summary 1

 

At the top right (see image "Project Summary 2") you can see how many percent of the total required components have already been assigned. This way you always have an overview of the project progress.

Project Summary 2

 

Print Preview

Custom Layout

Custom Layout

 

HeaderFooter Layout

HeaderFooter Layout

 

 

 

 

 

 

 

Crossout of Ignore Components

Example Report for crossout of ignore components

TopLeft Layout

HeaderFooter Layout

HTML Tombstone Report

The Tombstone Result can be added to the Extended Design Report, this has options to export only critical errors (after review them). Or all result entries. It contains all important information and an small image for the component and the connected copper.

 

Here is an example how it should look in the HTML Report:

PCBI Tombstone Result in Extended Design Report

HTML Hazard Report

After running hazard analysis it is possible to add the result to the extended design report.

You can filter for critical results and modify the result entries with controller, status and comment. In the top area you see the used settings and an overview image for both sides with links for jumping to the connected result with image and result details.

 

The html report entry looks like this example:

Hazard Result in HTML Report

HTML DRC Report

After saving the DRC Analysis result, it is possible to add it to the extended design report. If you make an review of all entries you can filter for critical entries to make the report smaller. It is possible to check the ruleset in the HTML Region at the top and individual foil rules below (in this example the layer top has different rule).

All errors have an linked image with some informations depending on the error type (e.g. net names, distances, area,...), it is possible to add comments and status to each result.

Here is an example output:

HTML Report Example for Bare Board Analysis

HTML DFM Report

After saving the DFM Analysis result (for each type extra), you can export it in Extended Design Report with option to filter for critical results.

Each Part of the DFM analysis has an extra drop down area with own table, comments and results.

All THT, Fiducial, Badmark, Testpoint, Paste Pad and Trace Under results in the report have additional information like status and an preview image.

Here is an example report:

DFM HTM Report result

Video Tutorial

Watch our PCB-Investigator - DFT Preperation Video here:


Tutorial: DFT Preperation & Machine Export:

Setup

For a quick start, download the following project with an exemplary class structure, which can be used to create a ready-made example report.

Click on the link to download the project: ExampleHTMLReportProject.zip


1. Plug-in for Extended Design Report

  1. Right-click on the report project and select Properties.
  2. Under Application, set the Output type to Class Library.
  3. Build the project to create the necessary files in the \bin folder.
  4. Copy the compiled ExampleReport.dll to the PCB-Investigator (Beta) plugin folder1).
  5. Open your installed PCB-Investigator Beta. Your report should now appear as an entry in the Extended Design Report and can be combined with other reports as needed.

For debugging to work properly, the following additional steps must be carried out.

  1. Set the Build Configuration to Debug.
  2. Copy the PCB-Investigator (Beta) plugin folder1) into the bin\Debug folder of the project. If the Debug folder doesn't exist simply create it.
  3. Under Debug set the Start action to Start external program. Use Browse to select the PCB-Investigator.exe file located in the bin\Debug folder of the project.
  4. Under Build set the output path to the bin\Debug\PlugIn folder.
  5. Running the project will open a PCB-Investigator instance. Open the Extended Design Report there and the report should appear as an entry.

You can now start porgramming and customize the report to your needs. The starting point for the embedded report is the ReportPlugin class. It implements the IPluginReport interface which provides the methods that are called by the Extended Design Report. This also includes the method that returns the actual HtmlReport class to the Extended Design Report. More information on the individual classes of the Example HTML Report can be found in the next section.

When you are finished programming the report, simply repeat steps 4 and 5 from above. You can also create a post-build process to automate step 4 if you wish.

2. Standalone version

  1. Right-click on the report project and select Properties.
  2. Under Application, set the Output type to Windows Application
  3. Copy the PCB-Investigator (Beta) plugin folder1) into the bin\Debug* folder of the project. (* or the folder corresponding to your build configuration)
  4. Running the project will open a save file dialogue where the location for the report can be specified. Once created, a browser window with your report will automatically open.

You can now start programming and customize the report to your needs. The starting point for the standalone report is the ReportCreator class. More information on the individual classes of the Example HTML Report can be found in the next section.

1) PCB-Investigator (Beta) plugin folder: C:\Program Files (x86)\easylogix\PCB-Investigator-Beta\PlugIn

Getting Started

The following is a rough outline of the report creation process based on an example class division.

 

Html Report

Used interfaces: IHtmlReport, IHtmlReportNoHtmlExtension
Purpose: The actual report class responsible for displaying the html page.

Interfaces
IHtmlReport

Provides the following methods:

  • OrderNum: The order number of the report in the list of reports. Use OrderNums.DefaultFirst or OrderNums.DefaultLast if you don't care about the specific order. Otherwise, use a number to define the specific index of the report.
  • GetHtml()
  • GetCss()
  • GetJs()
  • GetReportData(): Define basic settings like the title of the tab and settings for the main window.
  • TryGetChildReportTitlesByReportId(): Used for help links in report windows when combining multiple reports in one tab. Note: May be deprecated in future versions.
IHtmlReportNoHtmlExtension

Introduces a new method:

  • GetHtmlData(): Replaces GetHtml() and expects a list of IWindowContentData objects as a return.
IWindowContentData

Represents all template data that can be defined at the first level within a window.

 

Window Content Data Types
IDefaultTemplateData

Predefined standard templates from the Report Tools that reference a template file from the default report templates library. Users only need to add their own data.

HtmlData

Standard container consisting of a template and corresponding data. Allows inclusion of custom templates using dotliquid syntax.

HtmlDataContainer

An abstract class for template data that allows defining further sub-templates within the template. Enables flexible combination and nesting of templates.

 

Html Data Container Implementations
ReportWindowData

Creates a report window. Can be used to define additional sub-windows in the main window of a report.

AreaData

Simple container without styling, used to group templates. Custom styling can be applied using a definable CSS class.

GeneralInfoContainerData

Simple container without styling but with a title. The title is separated from the container with a line. Particularly suitable for displaying simple information text.

 

 

Report Creator

Used Classes: ReportCreatorRevised, ReportHelper
Purpose: A class for creating a HTML Report without UI, purely via code

ReportType => Defines which customization file is loaded.

 

Report Plugin

Used interfaces: IPluginReport, New: IPluginReportMultiType
Purpose: A class for integrating an HTML Report into the Extended Design Report (or new: Testcoverage Report)

Interfaces
IPluginReport Interface
  • All PCBI-Plugins implementing this interface can be output using the Extended Design Report.
  • Key method: GetHtmlReport()
    • Returns the HtmlReport class mentioned earlier.
    • Enables combination of multiple reports into a single HTML report via a UI.
    • Individual reports are listed on the page as switchable tabs.
IPluginReportMultiType Interface
  • Used when the report needs to be compatible with other PCBI report generators from PCB-Investigator (e.g. Testcoverage report).
  • Provides:
    • GetHtmlReport() method
    • IsReportIncluded() method
      • Queries whether the report should be included in each report generator.
      • Currently implemented only for the Testcoverage report.

 

Report Data

[optional]

Purpose: Class for intermediate storage and bundling of all relevant report data.

This class should be used to collect all required data. Similar to a DTO, it is helpful, among other things, to keep the constructor of the HtmlReport manageable.

 

ReportConstants

[optional]

Purpose: Class for global constants.

This class is intended to serve for the clean separation of constant values from the rest of the code.

Standard Templates

The following is a list of all the HTML templates currently available in the Html Report Tools Library.

  • Heading
  • Spacer
  • Area
  • VerticalBar
  • Tooltip
  • TooltipIcon
  • Image
  • GeneralInfoContainer

Image preview for General Info Container

  • InfoTable

  • InfoTableMulti

  • TwoRatiosBar

  • ReportSettingsInfoBox

  • ReportSettingsInfoBoxTable

  • ReportSettingsInfoBoxContainer
  • ReportOverviewControl

  • PieChart

  • DataTable

  • InlineDataTable

  • ExtendedTableReport

  • ReportWindow

  • ReportBase

  • DefaultSPA

 

Resources

Note: All resource files (.js/.css/.html) must be included as Embedded Resource so that they are present in the .dll.

Dot Liquid

The Html Report Tools are built on the DotLiquid library. This means that the syntax used to create templates is the liquid syntax. This must be used in order to create your own templates and fill them with data. Below are the links to the documentation, both from DotLiquid[1] and from the original Liquid Library from Shopify[2]. The latter has a more comprehensive list of the usable syntax and appears to match the DotLiquid syntax.

Video Tutorial

Watch our PCB-Investigator - Graphic Board Compare Video here:


Tutorial: Graphic Board Compare:

Video Tutorial

Watch our PCB-Investigator - Database Compare Video here:


Tutorial: Database Compare:

Video Tutorial

Watch our PCB-Investigator - Instance Sync Compare Videos here:


Tutorial: Instance Sync (CAD data)


Tutorial: Instance Sync (PDF document)

Predefined Views

You can select multiple different settings to adjust the view quickly. 

 

From left to right they to the following.

  • Display components on both sides of the PCB-Designs.
  • Display only the components that are on the Top layer of the design
  • Display only the components that are on the Bot layer of the design
  • Display the BOM (displays the same columns that our BOM Export uses)
  • Display the Component Report (displays the same columns that our component report displays)
  • Display the Pick and Place of the Design (displays the same columns that our pick and place export displays)
  • Activate the relevant Attrribute. For example if you deactviate the "C" you will no longer see any standard component values like "Part Name","Package" or "Height" inside of the Property List.

By right clicking the component list you can export the current view to and Excel or HTML file.

Component Statistics

There are multiple statistics about the design that can be easily viewed in the lower right hand corner. 

In total there are 6 different statistics that can easily be accessed inside of the different tabs. 

The first tab shows the amount of top and bottom components that populate the board as well as the amount of pins on the board. Furthermore you can see the statistics also divided depending on the mounting type of the component.


The next tab shows the different packages that are used and how often they are used. Starting from this statistic you can choose between a bar chart or a pie chart with the radio buttons below the chart.

 

The next tab does the exact same just sorted by the Part Name instead of the Package. 

The height tab looks at the different Heihgts that are present in the design and displays them.

The tab called "Has Value" inspects how many components have a certain property. You are able to select the different properties and find out if for example all components have a "MPN" property.

The Sum up Tab does the exact same as the sum up function inside of the Property List, but in the form of a bar or pie chart.

 

9) Design History 365

The Design History shows all important actions for the current design.

 

Design hisotry dialog

Here is an example for an deleted object.

Component View

With the PCBI Documentation Plugin it is easy to generate images for reports or documentation.

There are many options to generate your image:

Black and white: Change colours for all layers to a greyscale image

Draw Copper Layer: Activate the top/bottom copper layer

THT/SMT/Pressfit/Other Components: Filter the technology type of the components

Fill Components: Allow to switch between filled and outline drawing for components

Draw Outline: Option to show board outline

Draw Size: Display ruler for width and height of the PCB

Draw Mask/Paste/Silk Screen Layer: Activate the layers with specific type

Draw Board Color: Option to fill the outline

Draw MPN Outline: For additional Part/Package information they are shown extra (in the overview image with Cyan)

 

Custom Layer

There is an option to define your own layer list/Views and Synchronize with PCB-Investigator

And the Real View option, this define fix views as realistic image for your virtual twin.