無線コンポーネントの最低価格をリアルタイムで計算するプログラム

電子デバイスの開発における最も重要な質問は、常に「いくらかかりますか?」という質問です。さらに、開発の世界にかかわり、時間とお金をかけて投資する前に、正確な答えを知っておくことをお勧めします。 ほとんどの場合、開発者はコンポーネントのコストに集中します。



実際、部品のリストのコストを計算することは、オンラインディレクトリでの長時間の検索、ディストリビューターの呼び出し、通信および回答の待機などに関連する不快で日常的なプロセスです。 などなど。 しかし、それでさえ悪くはありませんが、それは反復プロセスです。 コストが許容範囲を超えていることに突然気付いた開発者は、回路および他のコンポーネントの他のオプションを探し始めます。 そして再び検索.... そして、ルーチンは開発者の敵です。 それを避けるために、多くの人が最適性を犠牲にします。 しかし、幸いなことに、この問題は軽減できます。



インターネットには長い間、多くのサプライヤからデータを収集し、開発者にとって便利な形式でオンラインで提供する無線コンポーネント用の検索エンジンがあります。 さまざまなサービスと検索ツールも提供されています。 たとえば、BOMを検索エンジン(部品表、材料および付属品のリスト)にインポートし、このリストで自動検索を実行します。



無線コンポーネントには多くの検索エンジンがあります。 octopart.comを選択しました。







残りの部分からは、リモート検索クエリ(APIクエリ)のサービスに関する非常に明確なドキュメントで際立っています。



オクトパート検索の対象となるサプライヤーのリストも、以前に使用されたリストと完全に一致していました。



さまざまなアプリケーション向けに、組み込みマイクロプロセッサデバイスのカスタムメイドの小さなバッチを開発しています。 私の主な競争上の優位性は、期限のスピードと正確さです。 これは、Farnell、Moser、Digi-Key、Future、Avnet、TMEなどのグローバルオンラインディストリビューターのサービスを使用する場合にのみ実現できます。 これらのディストリビューターと検索オクトパートの倉庫で。



ここで、これまでの目標は購入することではなく、価格を見つけることであり、選択したオプションによっては、価格のダイナミクスさえあることに注意する必要があります。 私たちは、それを最適化するための努力から、価格変動を調査またはテストします。 この場合に必要な検索エンジンは、非常に柔軟で効率的でなければならないことは明らかです。 ここでは、購入専用に作成された厳格なオンライン検索フォームとサービスはほとんど役に立ちません。 明らかに、オープンで柔軟なスタンドアロンPCアプリケーションが必要です。



このためにMS Accessを選びました。 これは、 MS Officeスイートのプロフェッショナル版のプログラムの1つです。 MS AccessでのプログラミングはVBA言語で行われます。これは、翻訳中のアプリケーションのVisual Basicを意味します。



MS Accessの機能は、最大数十万レコードの小さなデータベースで作業する際の驚くべき柔軟性と速度です。 BOMを使用する場合、これで十分です。 MS Accessでは、コードのコンパイルは瞬時に行われ、データとプログラムは1つのファイルに含まれます;最近では、MS Accessファイルを実行するために、MS Office全体を購入する必要はありません。 無料の実行エンジンをダウンロードするだけです。



これが私のプログラム、つまりフロントエンドの外観です。







プログラムは何をしますか





プログラムは完全に開いています。 モジュールタブには、すべてのソーステキストがあります。 すべてのラベルとボタンのレイアウトは自由に変更できます。 唯一の要求はOctopartキーを取得することです。 これはOctopartからの要求に応じて発行されるOctopart APIユーザーキーです



典型的なアプリケーションシナリオ



Altium Designerで電子回路とプリント基板を作成するプログラムで働いています。 この種のすべてのプログラムと同様に、Altiumは、作成されたスキームに従ってBOMを生成する機能を備えています。 BOMの場合、プログラムとの互換性のために、価格計算にはいくつかの簡単な要件があります。



ExcelのBOMの例を次に示します。







ExcelにBOMがあるので、プログラムで[ BOMのインポート ]をクリックします。



プログラムウィンドウのテーブルは、BOMの内容に従って変換され、追加の列が追加されます。





次に、 フィールド選択リストによる検索で、 検索する BOMテーブルのフィールドを選択します。

次に、 Quant.multiplierフィールドに興味のあるパーティーの数を設定します。 最も単純な場合、これはボードの数です。 これは重要なパラメーターです。すべての売り手にとって、同じ額面の特定の数の購入部品から価格が急激に低下し始めるためです。 ボード(パーティ)の数を変えることにより、特定の予算の制約の下で1つのボードの最適なコスト価格を見つけることができます。



別のニュアンスは、倉庫に指定した数量が常にあるとは限らないこと、または販売者がそのような少数のコンポーネントを販売することに同意しないことです。 次に、[Quant.multiplier]フィールドの値を変更して、見つかった位置の最大数を取得する必要があります。



ところで、プログラムのBOMテーブルは階層的です。 プログラムの左側のプラス記号をクリックすると、選択した行のサブテーブルが表示され、見つかったすべてのオファーのリストが表示されます。



結論として、 Recalc最低価格とBOMコストボタンをクリックすることは残ります。



プログラムはOctopartからダウンロードした価格オファーのすべてのレコードを調べ、各コンポーネントの最低価格を見つけます。 これは、指定したコンポーネントの数を考慮します。これは、 数量フィールドとQuant.multiplier値の積に等しくなります。 提案はそれ以上でなければなりません。 コンポーネントの最小注文数量に対する売り手の要件も考慮されます。



その後、1ロットの合計BOM価格がBOMコストフィールドに表示されます。



重要! 正しい価格変換を行うには、 tbl_CurrRatesテーブルを編集する必要があります。 この表には、すべての通貨がリストされているわけではなく、検索時に処理する必要がある通貨のみがリストされています。 テーブルは補足することができます。



プログラムとデータは一緒にAccessファイルに格納されるため、クライアントとサーバーの部分、インストール、ディレクトリの場所への依存などはありません。 ファイルをプリント回路基板の作業ドラフトのフォルダーにコピーし、好きな名前に変更し、BOMをインポートして、スキャンをクリックするだけです。 Accessファイルは、プロジェクトの数だけコピーされます。 さらに、複数のプロジェクトのAccess BOMの外部テーブルへのリンクを使用して集計し、異なるプロジェクトの個別購入のロジスティクスコストを削減することもできます。 確かに、これは別のプロジェクトのトピックです。



以下にレイアウトされているプログラムからデモデータの110レコードをスキャンするには、59秒しかかかりません。 為替レートの変更を考慮して、BOMのコストを毎日再確認するか、回路設計プログラムが追加しない他の費用またはコンポーネントをBOMに追加できます。



上級ユーザーは、基準に基づいて最低価格を計算するアルゴリズムを自由に変更して、さまざまなサプライヤーの数を最小限に抑え、関税を削減し、物流コストを削減できます。



デモデータを含むプログラムファイルにリンクします



All Articles