データベースライブラリ機能の基盤は、データベースライブラリファイルです。これには、標準データベースライブラリを使用している場合と、バージョン管理されたデータベースライブラリを使用している場合とで、2つの形式があります:
-
標準データベースライブラリ - データベースライブラリファイル。このファイルは、Altium DesignerのDatabaseLibエディタを使用して作成および管理されます。このエディタは、メインデザインウィンドウのアクティブドキュメントが*.DbLibファイルである場合に利用可能になります。
-
バージョン管理データベースライブラリ - SVNデータベースライブラリファイル。このファイルは、Altium DesignerのSVNDatabaseLibエディタを使用して作成および管理されます。このエディタは、メインデザインウィンドウのアクティブドキュメントが*.SVNDbLibファイルである場合に利用可能になります。
DbLibファイルの例、DatabaseLibエディタで開いています。画像にカーソルを合わせると、SVNDatabaseLibエディタで開いたSVNDbLibファイルの例が表示されます。
メインメニューからFile » New » Libraryコマンドを選択し、開かれたNew LibraryダイアログのDatabase領域からDatabase LibraryまたはSVN Database Libraryオプションを選択することで、これらのタイプの新しいファイルを作成します。
外部データベースへの接続
テーブルとマッピングデータは、アクティブなデータベースライブラリ/SVNデータベースライブラリファイルが必要な外部データベースに正常に接続された後にのみ、エディターのメイン表示ウィンドウに表示されます。接続は、Source of Connection領域で提供されるコントロールを使用して定義されます。
DbLibファイルを通じて外部データベースへの接続を指定します。画像にカーソルを合わせると、SVNDbLibファイルを通じた接続が表示されます。
OLE DBサポートを提供する任意のデータベースに接続できます。この領域で提供されるオプションは、それぞれOLE DB接続文字列を使用して対象データベースに接続します。一部のデータベースではOLE DBサポートが提供されていない場合があります。しかし、現在使用されているほぼすべてのデータベース管理システムは、Open Database Connectivity (ODBC) インターフェースを通じてアクセスできます。データベースリンク機能は、MicrosoftのODBCプロバイダーを使用し、ADO (ActiveX Data Object) が任意のODBCデータソースに接続できるようにします。その結果、任意のODBCデータベースに接続できます。ODBCデータベースのためのOLE DBプロバイダーは、接続文字列の一部として指定されます。
接続は、メインメニューからTools » Database Connectionコマンドを選択するか、または領域の下部にあるConnectボタンの右側にあるAdvancedボタンをクリックすることでアクセスできる、データベース接続ダイアログのConnectionタブで定義することもできます。
データベース接続ダイアログのオプションとコントロール
接続タブ
-
Source of Connection
-
Use Data Link File - 接続文字列はデータベースへの接続情報の文字列バージョンで、.udl 拡張子を持つ別のファイルとして保存できます。これはMicrosoft Data Linkファイルとして参照されます。データベースへの接続元としてデータリンクファイルを使用したい場合は、このオプションを選択し、Browseをクリックしてデータリンクファイルを選択ダイアログを開くか、ドロップダウンを使用して所望の.udlファイルを検索します。
-
Use Connection String - このオプションを選択し、BuildをクリックしてData Link Propertiesダイアログを開き、コンポーネントのパラメーターのマッピングのためにデータベースへの接続文字列を再構築します。接続文字列に指定された情報は、指定されたOLE DBプロバイダーによって異なる場合があります。
詳細タブ
使用される特定の引用符は使用されるデータベースに依存します。例えば、角括弧 ([ ]) はMicrosoftデータベース、例えばMS Accessでのみ有効で、MySQLでは"`"文字が引用のために使用されます。
ほとんどのデータベースにはテーブル名で識別されるテーブルがあります。Oracleなどの他のデータベースには、テーブルスキーマ名と呼ばれる接頭辞が付いたテーブルもあります。このようなテーブルを含めるには、このオプションを有効にする必要があります。
AccessおよびExcelデータベースへの迅速な接続
Select Database Typeオプションは、ターゲットデータベースがMicrosoft AccessまたはMicrosoft Excelを使用して作成された場合に、接続文字列を作成する迅速な方法を提供します。このオプションを使用して、データベースタイプを選択し、必要なデータベースファイルを参照して選択します。対応する接続文字列が自動的に作成され、Use Connection Stringオプションのフィールドに入力されます。
完全なパスを指定することも、データベースライブラリ/SVNデータベースライブラリファイルに対して相対的にパスを保存することもできます。
接続文字列の構築
会社のデータベースがAccessやExcelベースでなく、接続文字列を明示的に構築したい場合は、Use Connection Stringオプションを有効にしてから、右側のBuildボタンをクリックしてください。データリンクプロパティダイアログが表示されます。
Data Link Propertiesダイアログを通じて接続文字列を構築する。
ダイアログはConnectionタブで開きます。OLE DBプロバイダーMicrosoft Office <バージョン> Access Database Engine OLE DB ProviderがダイアログのProviderタブでデフォルトで設定されています。これは、新しいデータベースライブラリ/SVNデータベースライブラリファイルのデフォルトプロバイダー設定であり、Accessデータベースファイル(*.mdb)に接続するためにも使用されます。必要に応じてプロバイダーを変更してください。
Connectionタブから、接続したいデータベースの名前(パスを含む)を入力します。
データベースがログイン許可を要求する場合は、必要に応じてこれを入力し、ダイアログのAdvancedタブから利用可能なその他の高度な設定も一緒に入力します。Allタブは、定義されたリンクオプションの要約リストと、選択したOLE DBプロバイダーに関連する拡張オプションを提供します。このタブから必要に応じてオプションを変更できます。
リンクオプションが定義されたら、ConnectionタブでTest Connectionボタンをクリックして、接続が成功したかどうかを確認できます。接続が成功すると、その旨の確認ダイアログが表示されます。
Data Link Properties ダイアログは Microsoft のダイアログであるため、F1キーを押すか、利用可能なHelpボタンを使用すると、Microsoft Data Link ヘルプファイルにアクセスできます。このファイルは Altium Designer のドキュメントセットの一部ではありません。
Data Link ファイルの指定
接続したいデータソースが Microsoft Data Link ファイル(*.udl)を使用して記述されている場合は、接続オプションの三番目 - Use Data Link File - を有効にし、関連するBrowseボタンをクリックして必要なファイルを探します。Data Link ファイルは、基本的に接続文字列のための格納容器です。
接続の進行
外部データベースへの接続を定義した後、Connectボタンのテキストが太字になり、接続を進めることができることを示します。接続の詳細が正しい場合、対象データベースのテーブルとマッピング情報がデータベースライブラリ/SVNデータベースライブラリファイルに読み込まれます。ConnectボタンのテキストはConnected
に変わり、ボタンはグレーアウトされます。
接続の詳細に問題がある場合、例えば接続文字列が正しく構築されていない、またはパスが誤って入力されている場合、接続は失敗し、この事実を警告するメッセージが表示されます。接続設定を確認し、Connectボタンを再度クリックしてください。
データベースライブラリでの接続失敗を示す例。
データベースに接続中に接続設定を変更すると、ライブ接続が失われ、ConnectボタンのテキストがReconnectに変わります。クリックして接続を再確立してください。
初回接続に成功し、データベースライブラリ/SVNデータベースライブラリファイルを保存した後、対象データベースの場所とファイル名が変更されていない限り、ファイルを開くたびに自動的に接続が行われます。
バージョン管理リポジトリへのリンクの指定 (SVNDbLibのみ)
DbLibでは、シンボルとモデルのライブラリは、ハードディスクやその他のローカル/ネットワークメディアに保存されます。しかし、SVNDbLibの場合、これらのライブラリはSubversionリポジトリのバージョン管理下に保存されます。SVNDbLibファイルの一部として、このリポジトリへのリンクを定義する必要があります。SVNリポジトリへの接続は、Database Library OptionsダイアログのSVN Repositoryタブで定義されます(Tools » Options)。このダイアログは、ドキュメントビューのField Settings領域にあるOptionsボタンをクリックすることでアクセスすることもできます。
ファイルベースのSVNリポジトリへの接続例。
データベーステーブルリスト
外部データベースへの接続に成功すると、テーブルとマッピングデータが読み込まれます。DbLib/SVNDbLibドキュメントの左側には、接続されたデータベースに存在するすべてのテーブルがリストされます。
Excelベースのデータベースの場合、テーブルは実際にはリンクされたスプレッドシート内のシートです。テーブルの名前には接尾辞$が付きます。
対象のデータベースが複数のExcelスプレッドシートファイル(*.xls)を使用して作成されている場合、ODBCドライバーの制限により、接続できるシートの数には64枚の制限があります。
接続されたデータベースに存在するテーブル。
各テーブルエントリの隣にあるEnableオプションを使用すると、そのテーブルが結果のデータベースライブラリの一部になるかどうかを制御できます。データベースライブラリがComponentsパネルで閲覧するための利用可能なファイルベースのライブラリリストに追加されると、各テーブルは別々のライブラリエンティティとして表示されます。したがって、実際には1つのデータベースライブラリのみが追加されますが、コンポーネントパネルの観点からは、複数の異なるライブラリを追加したかのように見えます。詳細については、ファイルベースおよびデータベースライブラリでのコンポーネントの検索を参照してください。
リスト内のテーブルエントリをクリックすると、そのアイコンがからに変わり、現在アクティブなテーブルであることを区別します。テーブル(およびそのすべてのデータ)は、ドキュメントのTable Browserタブに表示されます。これはテーブルの編集可能なビューであり、外部データベース自体を起動することなく、その内容をすばやく参照し、必要に応じて編集できます。
接続されたデータベース内のソーステーブルを閲覧中。
一致条件の指定
外部データベースからコンポーネントが配置された後、その配置されたコンポーネントと、それを作成するために使用されたデータベースレコードの情報との間にリンクを保持する方法が必要です。本質的に、二つを一致させる必要があります。
コンポーネントが配置されると、そのパラメータ情報は、データベースレコードの対応するフィールドを使用してその場で作成されます。配置後のスキーマティックコンポーネントとデータベースレコードとのリンクは、これらのパラメータの1つ以上を使用して確立されます。Field Settings領域のドキュメントでは、簡単な単一キー検索、またはWhere句を使用したより高度なマッチングを使用して、一致基準を定義できます。
一致基準は、テーブルごとに指定されます。
配置後の照合条件を制御する。
単一キー検索
Single key lookupオプションが有効になっている場合(デフォルト)、Database fieldとPart parameterフィールドが利用可能になります。前者は、データベースのアクティブテーブルにある利用可能なフィールド名(列見出し)をすべてリストします。スキーマティックコンポーネントのパラメータは配置されると追加されるため、Part parameterフィールドは選択されたデータベースフィールドを反映します。
通常、外部データベース内の各コンポーネントを一意に識別するために使用されるルックアップキーフィールドは、部品番号のようなものです。選択されたルックアップフィールドは、ドキュメントのField Mappingsタブで、灰色で表示されたDesign Parameterエントリによって区別されます。
部品番号によるシングルキーマッピング。
Update Parameters From Database機能を配置後のある段階で使用すると、配置された回路図コンポーネント内の選択されたキーパラメータから情報が読み取られ、その後、データベースの選択された(キー)フィールド内で検索されます - 有効なすべてのテーブルを通じて。一致がある場合、その親テーブルのレコードの他のセルからの情報を、回路図コンポーネント内のマップされたパラメータに戻すことができます。
高度なマッチング - Where句
Single key lookupオプションは、一意の部品番号/IDにマッチングする場合にはうまく機能しますが、容量や抵抗のように一意でないパラメータでマッチングする場合にはあまり効果的ではありません。この場合、より高度なWhere句を使用するべきで、これにより複数のキーマッチングを指定して、回路図コンポーネントをそのソースデータベースレコードにリンクすることができます。
最もシンプルな形では、Where句(SQL構文を使用して記述)は、単一キー検索を定義する選択されたエントリを反映します。例えば、Database fieldがデフォルトのPart Number
に設定された場合、Part parameterフィールドも自動的にPart Number
に設定され、Where句のエントリは以下のようになります:
[Part Number] = '{Part Number}'
データベースフィールド(テーブル列)の周りの角括弧は、Database ConnectionダイアログのAdvancedタブで指定された引用符です。このダイアログには、ドキュメントのSource of Connection領域にあるAdvancedボタンをクリックするか、メインのToolsメニューからアクセスします。
Database ConnectionダイアログのAdvancedタブには、構築されたWhere句でテーブルを引用したり、テーブルスキーマ名を使用するための追加のSQLオプションが提供されています。
テーブルを引用する際に使用する特定の引用符は、使用しているデータベースによって異なります。たとえば、角括弧 [ ] は、Access、Excel(ADO経由)、またはMSSQL(後のバージョン)のようなMicrosoftのデータベースでのみ使用可能です。MYSQLでは、`(バックティック)文字が引用のために使用されます。実際には、スペースが含まれているか、予約語(そのデータベース用)である場合に限り、どのデータベースでも列名を引用する必要があります。使用している特定のデータベースソフトウェアのドキュメントを確認して、使用されている引用符(ある場合)を確認してください。
波括弧(ブレース)は、参照されているエントリが設計パラメータであることを指定します。シングルクォートは、設計パラメータを数値(引用符なし)ではなく文字列として扱うように指定するために使用されます。型の一致は非常に重要です。SQLは型に敏感です。設計パラメータは、データベース内の列と同じ型にする必要があります。
標準SQL構文を使用すると、Where句は、複数のDatabase field/Part parameterエントリを使用してマッチングを拡張することができます。例えば:
[Capacitance] = '{Capacitance}' AND [Tolerance] = {Tolerance} AND [Manufacturer] = '{Manufacturer}'
この場合、データベースの関連テーブルにある単一のレコードが、3つの異なる設計パラメーターを使用してリンクされます。Tolerance
の設計パラメーターのエントリーに引用符がないことに注意してください。これは、関連するテーブルのデータベースの列のタイプがNumber
であり、String
ではないことを意味します。
標準のSQL構文を使用すると、Where句を好きなだけシンプルまたは複雑にすることができます。
データベースフィールドを設計パラメーターにマッピングする
コンポーネントがデータベースライブラリから配置される際に、設計パラメータは配置時に作成/追加されます。実際に作成されるパラメータと、配置後にその情報を更新するために使用されるオプション - Tools » Update Parameters From Database コマンドを使用 - は、データベースライブラリ/SVNデータベースライブラリファイルで指定されたマッピングと更新情報によって決定されます。これらの設定は、メインドキュメントビューのField Mappingsタブで行われます。
マッピングと更新オプションは、テーブルごとに指定されます。
DbLib/SVNDbLibドキュメントのField Mappingsタブで、パラメータマッピングと更新オプションを指定します。
モデルとパラメータのマッピング
Field Mappingsタブの左から最初の2列は、データベースからの情報がコンポーネントの属性、モデル、およびパラメータにどのようにマッピングされるかを制御するために使用されます。
-
Database Field Name - この列には、現在アクティブなデータベースのテーブル内のすべてのフィールド(列)名がリストされています。
-
Design Parameter - この列は、データベース内の各対応するフィールドがどのように使用されるかを定義します。これは、コンポーネントのシンボルやフットプリントモデルをソースするために使用される場合(角括弧で囲まれます)、またはコンポーネントパラメータとして含まれる場合があります(これらは括弧で囲まれません)。
データベースに接続されたDbLib/SVNDbLibドキュメントを開くと、一部の設計パラメータに角括弧が含まれていることに気付くでしょう。角括弧は予約名、例えば[Library Ref]
を示します。このデータは、コンポーネントの属性やモデルを埋めるために使用されます。角括弧を含まない設計パラメータは、コンポーネントパラメータになります。
データベースへの接続時に、すべてのデータベースフィールドが自動的にマッピングされます。
自動マッピングは、データベースフィールド名がAltium Designerで使用される予約名と一致することを前提としています。一致しない場合は、マッピングを手動で設定する必要があります。
属性 & モデル
データベースフィールド名が以下の予約名のいずれかである場合、対応する属性/モデルマッピングエントリーはDesign Parameterフィールドに自動的に設定されます:
-
Description → [Description]
-
Footprint Ref → [Footprint Ref]
-
Footprint Path → [Footprint Path]
-
Footprint Ref n → [Footprint Ref n]
-
Footprint Path n → [Footprint Path n]
データベーステーブルには無制限のフットプリントモデル参照(およびパス)を指定でき、DbLib/SVNDbLibファイルでマッピングできます。予約名では、nは2から始まる正の整数を表します。
-
Library Ref → [Library Ref]
-
Library Path → [Library Path]
-
Orcad Footprint → [Orcad Footprint]
-
Orcad Library → [Orcad Library]
これらの参照は、OrCAD CIS設定ファイルとライブラリをインポートし、標準データベースライブラリ(DbLib)を生成する際に使用されます。
-
PCB3D Ref → [PCB3D Ref]
-
PCB3D Path → [PCB3D Path]
-
PCB3Dへの参照は、レガシー3Dビューワを指します。これらは新しい設計には使用しないでください。PCBエディターのネイティブ3Dエンジンは、コンポーネントのボディとコンポーネントのフットプリントに関連付けられたインポートされた3Dモデルファイルをレンダリングできます。
-
PCB3DモデルマッピングはSVNDbLibファイルで定義できますが、Subversionリポジトリ内のPCB3Dモデルライブラリの保存はサポートされていません。
-
Sim Description → [Sim Description]
-
Sim Excluded Parts → [Sim Excluded Parts]
-
Sim File → [Sim File]
-
Sim Kind → [Sim Kind]
-
Sim Model Name → [Sim Model Name]
-
Sim Netlist → [Sim Netlist]
-
Sim Parameters → [Sim Parameters]
-
Sim Port Map → [Sim Port Map]
-
Sim Spice Prefix → [Sim Spice Prefix]
-
Sim SubKind → [Sim SubKind]
外部データベースのコンポーネントには、一つのシミュレーションモデルリンクのみを定義できます。通常、コンポーネントにリンクされるシミュレーションモデルは一つだけです。複数のシミュレーションモデルリンクを設定したい場合、他のリンクはそのコンポーネントをソースの回路図ライブラリファイルに定義して保存する必要があります。
バージョン管理されたデータベースライブラリ(SVNDbLib)では、リンクされたシミュレーションモデルがサポートされていますが、Subversionリポジトリ内のシミュレーションモデルファイルの保存はサポートされていません。
これらのマッピングは、コンポーネントの属性とモデル情報を定義します。コンポーネントが配置されると、対応するデータベースレコードの `[Library Ref]` フィールドによって指定された回路図シンボルが指定された回路図ライブラリから抽出されます。同様に、レコードに保存されているPCBフットプリントとシミュレーションモデル情報が、それぞれリンクされたフットプリントとシミュレーションモデルとしてコンポーネントに追加されます。 `[Library Ref]` エントリはDesign Parameter列に存在し、回路図シンボルを指定するDatabase Field Nameにマッピングされている必要があります。これにより、データベースライブラリ/SVNデータベースライブラリから回路図にコンポーネントを配置することができます。データベーステーブルが異なるDatabase Field Name、例えば `SCH Symbol` の下にシンボル参照を含む場合、そのセルの利用可能なドロップダウンリストを使用して、このフィールドの関連するDesign Parameterエントリを `[Library Ref]` に手動で設定する必要があります。
同様に、モデル参照情報が異なるフィールド名を使用してデータベースに入力された場合、適切なDesign Parameterエントリ([Footprint Ref]、[Footprint Ref n]、[PCB3D Ref]、[Sim Model Name]など)をドロップダウンリストから選択して、各フィールドに対して手動でマッピングする必要があります。
コンポーネントを配置する際にシンボルとモデル情報を定義するためには、データベース内のシンボルとモデル参照フィールドが重要なマッピングエンティティです - 定義されたマッピングの一部としてシンボルと少なくとも1つのPCBフットプリント参照があることを確認してください。
言及されたように、複数のPCBモデルをマッピングできます。Database Field NameはDesign Parameter[Footprint Ref]
にマッピングされ、コンポーネントが回路図上に配置されたときのデフォルトフットプリントになります。このフットプリントは、設計がPCB領域に転送されるときに配置されます。
シミュレーションモデルマッピング
このセクションでは、外部データベーステーブルに追加できるデータベースフィールドについて説明し、それによってコンポーネント配置時に作成されるシミュレーションモデルリンクを定義します。
-
Sim Model Name - 使用したいモデルの名前です。コンポーネントが配置された後、この情報はSim ModelダイアログのModel Nameフィールドに表示されます。
DBLibファイル内でデータベースフィールドを設計パラメータにマッピングする場合、Simモデル名フィールドはフットプリント参照、ライブラリ参照などのフィールドと同様です。
-
Sim Description - リンクされたモデルの説明です。この情報はオプションであり、シミュレーションモデルリンクの操作には影響しません。
-
Sim File - Sim Model Nameフィールドで指定されたシミュレーションモデルを探す特定のモデルファイルです。このフィールドを使用する方法はいくつかあります:
検索パスは、Tools » OptionsのDatabase Library OptionsダイアログのSymbol & Model Search PathsタブからDbLibファイルに対して定義されます。
-
モデルファイルへの絶対パスを入力できます(例:C:\DbLibs\Switching Diodes\Libraries\JAS33.mdl
)。このファイル内でSim Model Nameフィールドに指定されたモデルが検索され、見つかった場合は使用されます。
-
モデルファイルへの相対パス(DbLibファイルに対して相対的)を入力できます(例:Libraries\JAS33.mdl
)。このファイル内でSim Model Nameフィールドに指定されたモデルが検索され、見つかった場合は使用されます。
-
モデルファイル名のみを入力できます(例:JAS33.mdl
)。DbLibファイルの一部として定義された検索パスが使用され、指定された名前に一致し、Sim Model Nameフィールドに指定されたモデルを含む最初のモデルファイルが探されます。
-
フィールドを空白のままにすることができます。DbLibファイルの一部として定義された検索パスが使用され、Sim Model Nameフィールドに指定されたモデルを含む最初のモデルファイルが探されます。
-
Sim Kind - リンクされるモデルの親カテゴリです。
-
Sim SubKind - リンクされるモデルのタイプです。
Sim Netlist - リンクされるモデルのタイプに従ったネットリストテンプレート情報です。このフィールドは、特に自分自身のネットリストテンプレートを指定し、Sim SubKindフィールドをGeneric Editor
に設定して、ネットリストに配置される情報をより詳細に制御したい場合に特に重要になります。
このフィールドは定義されていなければならず、空白のままにしてはいけません。そうでないと、モデルはシミュレーションネットリストにエントリされず、データベースライブラリから配置された部品はシミュレートされません。
ネットリストテンプレートの構文
ネットリストテンプレートを定義する際に入力された情報は、SPICEの要件と以下に説明される構文ルールに従うべきです。
テンプレートに入力された文字は、以下の特殊文字を除いて、SPICEネットリストにそのまま書き込まれます:
% |
パーセント記号 |
@ |
アットマーク |
& |
アンパサンド |
? |
クエスチョンマーク |
~ |
チルダ |
# |
ナンバーサイン |
これらの文字は、ネットリストを作成する際に、次の表に示すように変換されます:
ネットリストテンプレートの構文... |
ネットリスターが置き換える... |
@<param> |
<param>の値。この名前のパラメータが存在しない場合や値が割り当てられていない場合は、エラーが発生します。 |
&<param> |
<param>の値。パラメータが未定義の場合でもエラーは発生しません。 |
?<param>s...s |
<param>が定義されている場合は、s...sセパレータ間のテキスト。 |
?<param>s...ss...s |
<param>が定義されている場合は、最初のs...sセパレータ間のテキスト、そうでなければ2番目のs...sセパレータ間。 |
~<param>s...s |
<param>が未定義の場合は、s...sセパレータ間のテキスト。 |
~<param>s...ss...s |
<param>が未定義の場合は最初のs...sセパレータ間のテキスト、そうでなければ2番目のs...sセパレータ間。 |
#<param>s...s |
テキスト間のテキストs...s セパレータ<param>は定義されていますが、<param>が未定義の場合はテンプレートの残りの部分を無視します。 |
#s...s |
ネットリスト テンプレートの後続のエントリから XSpice ネットリストに入力するテキストがある場合のs...sセパレータ間のテキスト
|
%<pin id> |
<pin id> にマップされた回路図ピンが接続するネットのネット名。 |
%% |
リテラルのパーセント文字。 |
上の表では、
パラメータ名に英数字以外の文字が含まれている場合は、二重引用符で囲む必要があります。例えば:
@"DC Magnitude"
- ここで二重引用符を使用しているのは、名前にスペースが含まれているためです。
&"Init_Cond"
- ここで二重引用符を使用しているのは、名前にアンダースコアが含まれているためです。
二重引用符は、パラメータ名に英数字のプレフィックスを追加する場合にも使用する必要があります。例えば:
@"DESIGNATOR"A
- 二重引用符を使用すると、コンポーネント指定子に A が追加されます。
次に、前の表の特殊文字構文エントリの例を示します。いずれの場合も、Netlister によって構文エントリがどのように変換されるかについての情報が提供されます。
@"AC Phase"
パラメータ名 AC Phase は、スペースがあるため中括弧で囲んでいます。これは、ネットリストで AC Phase パラメーターの値に置き換えられます。この名前のパラメータがない場合、またはその値が空白の場合は、エラーが発生します。
&Area
Area という名前のパラメーターが存在し、値がある場合、その値はネットリストに入力されます。パラメータが未定義の場合 (つまり、パラメータが存在しないか、値が割り当てられていない場合)、ネットリストには何も書き込まれませんが、エラーは発生しません。これは、オプションのパラメーターに使用できます。
?IC|IC=@IC|
IC という名前のパラメータが定義されている場合、||セパレータがネットリストに挿入されます。たとえば、パラメータ IC の値が 0.5 の場合、このエントリの代わりに IC=0.5 がネットリストに挿入されます。パラメータが未定義の場合、ネットリストには何も挿入されません。
?IC/IC=@IC//IC=0/
これは前の例と同じですが、パラメータ IC が未定義の場合、IC=0 がネットリストに挿入されます。また、異なる区切り文字が使用されていることにも注意してください。
~VALUE/1k/
VALUE という名前のパラメータが定義されていない場合は、テキスト 1k がネットリストに挿入されます。
~VALUE/1k//@VALUE/
これは前の例と同じですが、パラメータ VALUE が定義されている場合は、そのテキスト値がネットリストに挿入されます。
#"AC Magnitude"|AC@"AC Magnitude"|@"AC Phase"
この例は、正弦波電圧源の事前定義ネットリスト テンプレートで確認できます。
AC 振幅パラメータが定義されている場合は、セパレータの内容が評価され、ネットリストに挿入されます。ネットリスト内の後続のすべてのエントリも評価され、ネットリストに入力されます (この場合は @"AC Phase")。
たとえば、AC Magnitude=1 で AC Phase=0 の場合、AC 1 0 がネットリストに挿入されます。ただし、AC フェーズが未定義の場合は、エラーが発生します。
パラメータ AC Magnitude が未定義の場合、ネットリスト テンプレートの #"AC Magnitude" エントリに続くものはネットリストに入力されません。
#|PARAMS:|?Resistance|Resistance=Resistance|?Current|Current=@Current|
この例は、パラメーター化されたサブサーキットの事前定義ネットリスト テンプレートで確認できます (Fuse.PrjPcb の F1 を参照)。
Resistance パラメータと Current パラメータが両方とも未定義の場合、ネットリストに #|パラメータ:|エントリであるため、セパレータ内のテキストも省略されます。
たとえば、パラメータの値が Resistance=1k と Current=5mA の場合、テキストは #|パラメータ:|エントリとPARAMS:抵抗= 1k 電流= 5mAは、ネットリストに作成されるエントリになります。
@DESIGNATOR%1%2@VALUE
この例では、% 文字の使用方法を示します。
たとえば、パラメータの値が DESIGNATOR=R1 と VALUE=1k で、ピンが Sim Modelダイアログの Pin Mapping領域で次の表に従ってマッピングされているとします。
回路図ピン |
モデルピン |
回路図ピンの接続先ネット名 |
1 (N+) |
1 (1) |
GND |
2 (N-) |
2 (2) |
OUT |
次に、テキスト R1 GND OUT 1k がこのコンポーネントの SPICE ネットリストに配置されます。
各ピンのペアは、次の形式で入力する必要があります。
(SchematicPinNumber:ModelPinNumber)
,
マップされた各ペアはコンマで区切られます。
たとえば、回路図ピン 1 (アノード) をモデル ピン 1 (アノード) にマップし、回路図ピン 3 (カソード) をモデル ピン 2 (カソード) にマップする必要があるダイオード シミュレーション モデルをマッピングする場合、これは次のようにデータベース フィールドに入力されます。
(1:1),(3:2)
デフォルトでは、マルチパートコンポーネントのすべてのパートがシミュレーションに含まれるため、除外するパートを番号で指定するだけです。除外リスト内の複数の部分は、コンマで区切ります。たとえば、コンポーネントに 4 つのパーツがあり、パーツ 2 と 4 をシミュレーションに含めない場合は、データベース フィールドに次のように入力します。
2,4
パラメータは、次の形式で入力する必要があります。
ParameterName=Value
,
複数のパラメータは、パイプ文字 (|) で区切る必要があります。
コンポーネントレベルのシミュレーションパラメータは、コンポーネントパラメータとしても設定でき、関連するComponent PropertiesダイアログのParameters領域に表示され、回路図シートに表示される機能があることを覚えているかもしれません。デフォルトでは、Sim Parametersフィールドのパラメータエントリは、コンポーネントパラメータとして自動的に追加されます。シミュレーション パラメータをコンポーネント パラメータとして追加しない場合は、パラメータ名に感嘆符の接頭辞(例:!Initial Voltage=100mV
)を追加します 。
次の 4 つのコンポーネント レベルのパラメーターを持つダイオード モデルについて考えてみます:
-
Area Factor
-
Starting Condition
-
Initial Voltage
-
Temperature.
次に、データベースに Area Factor (2 など) と Temperature (22°C など) の値を追加すると考えてみます。また、これらの両方をコンポーネント パラメーターとして追加しないでください。Sim Parametersフィールドのエントリは次のようになります:
!Area Factor=2|!Temperature=22
データベースライブラリからコンポーネントを配置したら、シミュレーションリンクに定義された情報が実際に必要とされていることを確認できます。デザイン空間で配置されたコンポーネントを選択したら、PropertiesパネルのParameters領域でシミュレーションモデルのエントリを選択し、ボタンをクリックしてSim Modelダイアログにアクセスします。ここから、以下の点を確認できます:
データベースフィールドに格納された値は、シミュレーションの実行時にデータベースライブラリから配置されたコンポーネントに使用されます。ただし、データベース ライブラリから配置されたコンポーネントのシミュレーション モデルの
Sim Modelダイアログにアクセスして
OKをクリックすると、選択したモデル テキストに基づいて、そのコンポーネントの
Sim Netlist
フィールドと
Sim Spice Prefix
フィールドが自動的に設定されます。
パラメータ
他のすべてのデータベースフィールド名は、同じ名前を使用して設計パラメータに自動的にマッピングされます。例えば、データベースのフィールドがTolerance
と呼ばれている場合、その名前Tolerance
の設計パラメータがそれにマッピングされます。設計パラメータの名前を変更するには、そのセル内をクリックして直接新しい名前を入力します。これらの設計パラメータ名が、スキーマティックシート上に配置された後、コンポーネントの関連プロパティダイアログのParameters領域に表示されます。
データベースに関連付けられたコンポーネントのデータフィールドが多数存在する場合がありますが、それらの全てを回路図シートに配置する際にデザインパラメータとして追加したい、または必要とするわけではありません。この情報の多くは、部品表を生成する際にのみ必要とされる場合があります。Report Managerダイアログを使用すると、リンクされたデータベースから直接BOMにパラメータ情報を追加できるため、回路図ソースドキュメントに「持ち運ばれる」情報の量を減らすことができます。詳細については、レポートマネージャーでのBOMの準備のセクションを参照してください。
データベースから明示的にマッピングされないようにしたいフィールドには、
Design Parameterエントリーを
[None]に設定してください。マッピングされていないデータベースフィールドは、赤い十字アイコン(
)を使用してタブ上で区別されます。マッピングされたデータベースフィールドは、緑のチェックマークアイコン(
)によって区別されます。
必要に応じてパラメータマッピングを設定します。データベース内のパラメータが配置されたコンポーネントにマッピングされないようにするには、[None]に設定します。
マッピングされていないパラメータは、必要に応じてBOMに直接含めることができます。
マッピングされていないフィールドをすばやく再マッピングするには、そのフィールドの行内をクリックして、Ctrl+D キーボードショートカットを使用します。モデルマッピングの場合は、関連する設計パラメータドロップダウンから手動で選択する必要があります。
パラメータ更新オプション
Field Mappingsタブの残りの列では、データベースライブラリからコンポーネントを初めて配置する際、またはTools » Update Parameters From Databaseコマンドを使用して配置されたコンポーネントを更新する際に、パラメータに対して行われるアクションを指定できます。
4つの列は以下の通りです:
-
Update Values - この列のセルは、パラメータが回路図シートとデータベースの両方に存在するが、現在の値が異なる場合に取るべきアクションを決定するために使用されます。配置されたコンポーネントのパラメータをデータベースに保存されている値で更新する(Update
)、または全く更新しない(Do not update
)を選択できます。このオプションは、コンポーネントが配置された後にUpdate Parameters From Databaseコマンドを使用する際に従われます。
-
Add To Design - この列のセルは、パラメータがデータベースに見つかるが、配置されたコンポーネントには存在しない場合に取るべきアクションを決定するために使用されます。パラメータを追加する(Add
)、パラメータを追加しない(Do not add
)、またはデータベースに値が割り当てられている場合のみパラメータを追加する(Add only if not blank in database
)を選択できます。このオプションは、データベースライブラリからコンポーネントを初めて配置する際と、コンポーネントが配置された後にUpdate Parameters From Databaseコマンドを使用する際の両方で従われます。
-
Visible On Add - この列のチェックボックスは、初期配置または配置後の更新から生じる新しく追加されたパラメータが、回路図シート上のコンポーネントに対して表示されるかどうか(有効)または表示されないか(無効)を決定するために使用されます。
-
Remove From Design - この列のセルは、パラメータが配置されたコンポーネントに存在するが、データベースには存在しない、または存在するが値がない場合に取るべきアクションを決定するために使用されます。パラメータを全く削除しない(Do not remove
)、またはデータベースに割り当てられた値がない場合にのみ削除する(Remove only if blank in database
)を選択できます。このオプションは、コンポーネントが配置された後にデータベースからパラメータを更新コマンドを使用する際に従われます。
最初に、各マップされたデータベースフィールドに対して、Update Values、Add To Design、Remove From Designフィールドは、エントリーDefaultに設定され、Visible On Addオプションは無効になります。以下の画像で示されています。
初期(デフォルト)のパラメータ更新オプション。
画像を見ると、更新オプションに関して重要な4点があります:
-
マッピングされていないデータベースフィールドには、関連する更新オプションがありません。
-
属性およびモデルベースのマッピング(Design Parameter列に角括弧で示されるエントリ)には、これらが設計パラメータではないため、関連する更新オプションがありません。
-
キーフィールド(画像のPart Number
など)には、関連する更新オプションがありません。このフィールドは、パラメータマッチングの目的でのみ使用されます。
-
デフォルトの設定は、Database Library OptionsダイアログのDefault Actionsタブ(メインメニューからTools » Options、またはTable Browserタブの右クリックメニューからOptions)に指定されている対応するデフォルト定義に従って更新オプションが適用されることを意味します。このダイアログは、ドキュメントビューのField Settings領域にあるOptionsボタンをクリックすることでアクセスすることもできます。
デフォルトのパラメータ更新オプションをDbLibの中央の場所で定義します。画像にカーソルを合わせると、SVNDbLibに相当するものが表示されます。
第四のポイントは、中央の場所から更新オプションを指定できるようにし、各マップされたフィールドの更新オプションを定義する際にその場所を指すことができるため有益です。そのため、データベースフィールドを設計パラメータにマッピングすると、Defaultエントリが関連する更新フィールドに自動的に読み込まれます。
更新オプションのデフォルト設定を上書きしたい場合は、Field Mappingsタブの関連する更新フィールド内をクリックし、もう一度クリックして適用可能な更新選択肢を提供するドロップダウンにアクセスしてください。
必要に応じて、パラメータ更新オプションを手動で上書きできます。
この方法では、設計のパラメータがどのように更新されるかを完全に制御できます。
Defaultにすべてのフィールドを設定し、
Database Library Optionsダイアログから必要な更新決定を行うか、各更新フィールドを個別に設定するか、またはその両方の混合を行うことができます - 決定は完全にあなたが適切と思うように行うことができます。配置されたコンポーネントの場合、実行される更新は、
Engineering Change Orderダイアログを使用して行われます。この段階で、あなたが行いたくない更新がある場合、それら特定の変更を含めないように選択できます - どの設計パラメータが更新されるかについて、最終的かつ究極の決定をあなたに委ねます。
シンボルとモデルライブラリの場所を指定する
データベースライブラリからコンポーネントを配置すると、[Library Ref]
マッピングで指定されたそのシンボルは、指定された回路図ライブラリ (*.SchLib) から抽出されます。同様に、データベースで指定された任意のモデル参照(フットプリント、PCB3D、シミュレーション)は、基礎となるPCBライブラリ (*.PcbLib)、PCB3Dライブラリ (*.PCB3DLib)、シミュレーションモデル (*.mdl、*.ckt) ファイルに存在します。これらのファイルへのパスは、データベースで以下の方法で明示的に指定できます:
-
ファイルへの絶対パスを入力します。
-
ファイルへの相対パスを入力します。
データベースにパス情報のフィールドを定義している場合、これらのフィールドを適切な設計パラメーターにマッピングする必要があります - [Library Path]
、[Footprint Path]
、[PCB3D Path]
、[Sim File]
など(モデルとパラメータマッピングを参照してください)。
データベーステーブルにパスを入力することは、たとえ相対パスであっても、少し制限があるかもしれません。ライブラリやモデルファイルの場所を移動した場合、データベーステーブルをそれに応じて更新する必要があります。より大きな自由を提供するために、DbLib/SVNDbLibファイル自体内でライブラリ検索情報を指定する能力があります。これにより、データベースでソースライブラリやモデルファイルの名前を指定するか、またはまったく定義しないことができます。
Using Search Paths with a large number of symbol/model files - 検索パスはシンボルやモデルの配置方法を設定する際に、より大きな柔軟性と簡便性を提供しますが、検索場所に多数のシンボルまたはモデルファイルが存在する場合には推奨されません。使用されるファイル命名規則によっては、検索パスは、コンポーネントを閲覧したり、設計を回路図からPCBに転送する際など、シンボル/モデルが必要になるたびに、パス内のすべてのライブラリ/モデルファイルを検索する必要があります。
データベースライブラリ用
DbLib では、Database Library Optionsダイアログ(Tools » Options)のSymbol and Model Search Pathsタブでライブラリ検索パスが定義されます。このダイアログは、ドキュメントビューのField Settings領域にあるOptionsボタンをクリックすることでアクセスすることもできます。
シンボルおよびモデルライブラリの検索パスを指定。
リストにパスを追加するには:
-
ライブラリ検索パス領域の下にあるフィールドに直接パスを入力するか、または ボタンをクリックしてフォルダを参照ダイアログにアクセスし、必要なライブラリ/モデルファイルが存在するディレクトリを探します。
-
フルパス、またはDbLibファイルの位置に対する相対パスとして追加できます。Add/Update As Relative Pathオプションを使用してこれを制御します。
-
必要なパスを指定した後、Addボタンをクリックして検索パスリストに追加します。
-
必要に応じて追加の検索パスを続けて追加します。
直接入力する場合、存在しないフォルダーなど間違ったパスを指定した場合でも、エントリーは追加されますが、リストで灰色表示され、無効な検索パスであることが示されます。誤ってパスを入力した場合は、リストで選択し、Removeボタンをクリックするか、パスの定義を変更してUpdateボタンをクリックできます。
ライブラリ検索パスは、データベースライブラリから配置する際や配置後にモデルを検索する際に、ライブラリファイルやモデルファイルをどこで見つけるかを決定します。使用される特定のモデルは、ライブラリ検索パスの設定方法とデータベースに特定のライブラリ情報を追加したかどうかに依存します。検索は以下の順序で進行します:
-
シンボルまたはモデルのマップされたパスフィールドに完全なパスが存在する場合、そのライブラリ/モデルファイルを使用し、適用される参照フィールドで指定されたシンボルまたはモデルを抽出します。
-
シンボルまたはモデルのマップされたパスフィールドに相対パスが存在する場合、そのライブラリ/モデルファイルを使用し、適用される参照フィールドで指定されたシンボルまたはモデルを抽出します。
-
シンボルまたはモデルのマップされたパスフィールドにライブラリ/モデルファイル名のみが存在する場合、検索パスを使用して、指定された名前に一致し、適用される参照フィールドで指定されたシンボルまたはモデルに一致する最初のライブラリ/モデルファイルを探します。
-
データベースにライブラリ/モデルファイル情報が存在しない場合、検索パスを使用して、適用される参照フィールドで指定されたシンボルまたはモデルに一致する最初のライブラリ/モデルファイルを探します。
SVNデータベースライブラリの場合
SVNDbLibにおいて、シンボルとフットプリントモデルが存在するSubversionリポジトリ内の基本ディレクトリは、Database Library Optionsダイアログ(Tools » Options)のSVN Repositoryタブで指定されます。このダイアログは、ドキュメントビューのField SettingsエリアにあるOptionsボタンをクリックすることでアクセスすることもできます。
シンボルとフットプリントのための基本リポジトリディレクトリを指定する。
Models Location領域で利用可能なフィールドを使用して、シンボルとフットプリントのベースディレクトリを指定します。
ボタンをフィールドの右側でクリックすると、リンクされたリポジトリへの窓口である
Browse for directoryダイアログにアクセスします。このダイアログを使用して、必要なフォルダを選択します。
リンクされたSVNリポジトリ内の関連ディレクトリを探索中。
シンボルとフットプリントは、指定されたベースリポジトリディレクトリ内に存在しなければならないことを強調することが重要です。もちろん、これらのディレクトリのサブフォルダ内に配置することができ、シンボルとフットプリントの両方に指定されたパスは、リポジトリ内の同じディレクトリを指すことができます。
モデルの場所は、バージョン管理されたデータベースライブラリから配置する際や配置後にモデルを検索する際に、ライブラリファイルとモデルファイルがどこにあるかを決定します。使用される特定の回路図シンボルとフットプリントモデルは、これらの場所をどのように設定したか、およびデータベースに特定のライブラリ情報を追加したかどうかに依存します。検索は以下の順序で進行します:
-
シンボルまたはフットプリントモデルのマップされたパスフィールドに完全なパスが存在する場合(例:http://MyServer/svn/MyCompany/ParentDirectory/SchematicSymbols/Capacitor_NonPolarized.SchLib)、そのライブラリファイルを使用し、該当する参照フィールドに指定されたシンボルまたはフットプリントを抽出します。
-
シンボルまたはフットプリントモデルのマップされたパスフィールドにリポジトリのルートに対する相対パスが存在する場合(例:/ParentDirectory/SchematicSymbols/Capacitor_NonPolarized.SchLib)、そのライブラリファイルを使用し、該当する参照フィールドに指定されたシンボルまたはフットプリントを抽出します。ダイアログのリポジトリサーバー接続領域に指定されたリポジトリのURLが入力されたパスの前に追加され、絶対アドレスが与えられます。
-
シンボルまたはフットプリントモデルのマップされたパスフィールドにライブラリファイル名のみが存在する場合(例:Capacitor_NonPolarized.SchLib)、リポジトリ内の指定されたモデルの場所を使用して、指定された名前に一致し、該当する参照フィールドに指定されたシンボルまたはフットプリントモデルに一致する最初のライブラリファイルを探します。
シンボル/モデルのマッチを検索する際、ベースシンボルまたはフットプリントディレクトリ内のフラット化されたフォルダパスは、アルファベット順にソートされ検索されます。もしライブラリ分割ウィザードを使用する場合、実際のシンボル/フットプリントの名前を持つ対応するライブラリが常に存在します。
-
データベースにライブラリファイル情報が存在しない場合、指定されたモデルの場所を使用して、適用される参照フィールドで指定されたシンボルまたはフットプリントモデルに一致する最初のライブラリファイルを探します。
シンボル/フットプリントを検索する際、システムは最初にシンボルまたはフットプリント自体の名前と同じ名前のライブラリを探します。例えば、データベース内の論理シンボル名が([Library Ref]のマッピングによって指定されている)Capacitor_NonPolarizedである場合、システムは最初にCapacitor_NonPolarized.SchLibという名前のファイルを探し、このファイル内でシンボルを探します。シンボル/フットプリントがこの方法で見つからない場合、システムはすべてのライブラリ内で一致を探します。