APIを介してプログラムをコンパイル/ダウンロードできる市販のPLCはありますか?


9

私のチームは、最小限の処理で外部デバイスへのシンプルなリアルタイムIOを必要とする産業プロセスを制御するためにPLCを使用することを決定しました。ただし、実行ごとに変化する必要のある正確な出力が予想され(実際、特定の実行が繰り返されることはほとんどありません)、オペレーターはPLC /ソフトウェアのプログラミング経験がありません。

実際の製品を開示することはできませんが、最良のアナロジーは、PLCがさまざまなバルブの開閉をリアルタイムで正確に制御する工業用スムージーメーカーを設計していることです。オペレーターは、当社のソフトウェアを使用して、さまざまな試薬の追加のカスタムシーケンスと、関連する重機(産業用ミキサーなど)のオン/オフを設計します。

ここでの課題は次のとおりです。現在のアプローチは、オペレーターが与える指示(バルブAを10ミリ秒開き、バルブBを20ミリ秒開く)をラダーロジックとPLCマシンコードに変換する独自のコンパイラーを作成することです。次に、自己コンパイルしたプログラムをシリアル経由でPLCに直接ダウンロードします。これらすべてを自動化する必要があるため、オペレーターは一連のステップを考え出した後にボタンをクリックするだけで済みます。

ただし、私の調査にもかかわらず、1)APIを備えたコンパイラーを備えているか、コンパイラーを記述できるようにPLCマシンコードに関する十分な情報を公開している2つのPLCベンダーを見つけていません、2)PLCへのプログラムの直接ダウンロードをサポートしていますベンダーのプログラミングソフトウェア(CX-programmer、Atmel studioなど)を使用しない。

私たちは間違ったアプローチをとっているのではないか、少なくとも探すべき製品がわからないのではないかと思いました。I / Oは、私たち自身のボードの構築を正当化しないほど十分に単純ですが、私たちが求めている機能、つまり、高レベルPCソフトウェアとのPLCの相互作用は、利用できないようです。

プログラム全体を一度にPLCにダウンロードし、一度に1つずつ命令を送信しないことが理想的です。PLC(または最終的に使用するデバイス)でのすべての命令の実行は、リアルタイムである必要があります。

プロセス全体をより大きなプログラムで自動化できるように、マシンコードのコンパイルとダウンロードをサポートする市販のPLCはありますか?高級言語で書かれたPCソフトウェアで書かれたPLCにリアルタイムプログラムをダウンロードする方法は他にありますか?


OSを使用して、ユーザーがカスタムGUIを介してプログラムコードを編集し、GCCなどでコンパイルしてから、コンパイルしたプログラムを「PLC」にダウンロードできるようにするにはどうすればよいでしょうか。
Eggi

RTOSプログラミングと原理を紹介する資料やチュートリアルを提案していただけませんか?私はRT以外の組み込み開発と従来のラダーロジックに最も慣れているので、このソリューションに非常に興味がありますが、どこから始めればよいのかよくわかりません。
Dragonsheep、

@APIとは?「アプリケーションプログラムインターフェース」の場合、どのようにコンパイル/ダウンロードできますか?
Dmitry Grigoryev

1
@Dragonsheepこのアイデアは無視してください。Henry Cunが述べたように、業界で証明されない側面が多すぎます。1番目:コンパイルする前にコードをどのように変更しますか?平文のどこかに入れますか?2番目:OSによる数十年にわたるサポート
Eggi

回答:


11

これにはPLCを明確に使用できます。ただし、「スムージーレシピ」ごとにPLCコードを変更する必要はありません。
sdカード、ネットワークストレージ、内部ストレージ、またはQRコードなどのソースからレシピを読み取るPLCアプリケーションを作成する必要があります。

多くの場合、PLCにはすでにこの機能があり、レシピは、ロード(およびHMIで編集)できるパラメータのセットです。

最小限の処理で外部デバイスへのリアルタイムIO

どちらを使用する場合でも、独自のPLCを発明しないでください。それはおそらく時間の価値はありません。そして、ソフトウェアや追加のモジュールが高価だとは思わないでください、あなたはその価格でそれを書くことができません。


5

これは、高度な産業用PLCを使用するものではなく、最小限のPLCのかなり単純なタスクであると想定します

これは産業的にも有用であると私は思います。つまり、お客様は10年後にレシピを変更できるはずです。また、その有用性は、廃業や新製品への移行にも耐えられるはずです。

多くのシステムでは、あなたが言うように、ダウンロードやコンパイルのために特別なソフトウェアが必要になります。長期的には、Windows 11、12、13でソフトウェアが実行されなくなることに顧客は気付くでしょう。これを回避するには、プログラムをある種のシリアルポートを介して送信される単純なASCIIにする必要があります。これは約50年前から続いており、消える気配はありません。

Forthはターゲット上で「コンパイル」できるので、顧客は端末からASCIIを送信するだけで済みます。廃止されることはありません。

Forthの精神の一部は、顧客が製品の特定の言語として扱うドメイン固有のプリミティブ(「AddBanana」、「Blend」、「Pour」)を記述することです。Forthはコンピューターの人々によって難解であると考えられていますが、エンドユーザーにとって概念的には非常に簡単に使用できます。これは有効なプログラムです。

10 grams Thickener 500 grams Banana 15 seconds Hi Blend 50 grams Blueberry 5 seconds slow Blend Pour 5 seconds wait CleanCycle

例として、小さなArduinoベースのPLCを使用して、FlashForthをロードできます 。MPEForthやARM皮質ベースのPLCなど、他にも多くの選択肢があります。

あなたのソフトウェアは今やどんなエディタでもあり、シリアルを送るためのいくつかのプログラムです。これには標準的なツールがあり、あなたがいなくても、とても簡単なので、顧客は最初からそれを機能させることができます。

あなたの全体的な考えの失敗は、顧客が製品をプログラミングしていて、もちろん間違ったことをすることによってそれを詰め込むことができるということです-あなたが取るどんなアプローチでも。

それは単なるasciiファイルなので、顧客のために豪華なシェルを作成するのは非常に簡単ですが、製品はそれなしでも動作します。


返信いただきありがとうございます!あなたが提案したControllinoのようなものがまさに私たちが探しているものです!ソフトウェアを直接制御し、シリアル経由でプログラムをダウンロードできる最小限のPLC。「他に多くの選択肢」があるとおっしゃる場合、関連する検索用語は何ですか/他にどのような製品を提案しますか?私のチームは重工業に最も精通しているので、通常のシーメンス/三菱/オムロンのカタログを調べても、探していたものが見つからなかったため、アイデアが足りなくなりました。
Dragonsheep、2018

@Dragonsheep:回答を受け入れるまでに1〜2日待つことをお勧めします。これは他の人が書くことを奨励し、あなたはより多くの返信と異なる見解を得るでしょう。
トランジスタ

これがあなたにとって興味深いアプローチであり、あなたがツール、専門知識、サポートにお金を払っている人なら、MPEForthのStephen Pelcに相談することをお勧めします。彼はこの種のことを商業的にしている。一方、フリービールのソフトウェアを使用している場合は、arduinoベースのモジュールまたはplcとFlashForthを探してください。
Henry Crun

1
@TransistorとJeroenの答えにも同意します。必要なものが産業用PLCである場合、それらは必要なものです。(そして、ランダムなArduino plcモジュールは、ファクトリーコントローラー、より内側の良性ボックスコントローラーになるほど堅牢ではありません)。「OSで何かを入手してGCCを使用する」タイプのソリューションは、おそらくすべての可能な世界で最悪の事態につながるので、私は反対する傾向があります。
Henry Crun

これは確かに、クライアントに販売したい産業用アプリケーションです。大手の産業ベンダー(三菱など)が自社製品で実証してきた20年以上の信頼性を期待しています。そのため、これらの新しいオープンソースハードウェアベンダーの1つに行くことに懸念があります。同時に、ソフトウェアに関しては、オープンソースは私たちが求めているコントロールを私たちに与えるようです。スティーブンは連絡をとるのにいい人のようです。リードをありがとう。
Dragonsheep

2

産業用アプリケーションのためにArduinoなどをいじらないでください。PLCは、信頼性、堅牢性、標準、および長期的なサポートを念頭に置いて設計されています。私が勤務している会社では、1987年以来少なくとも1つのTexas Instruments PLCと、1990年代初頭から数社が稼働しています。スペアは引き続きeBayなどの産業用ソースから入手できます。

必要なことを行うのに十分な電力を備えたPLCと産業用HMIを使用します。私は最近、自動および手動のステップでレシピの柔軟性を求めていたミキサージョブを完了しました。シーケンスは、HMIを介してプログラムされたアレイをステップ実行することによって制御されます。

  • ステップ番号。例:「5」。
  • 説明。たとえば、「バナナの自動計量」、「手動ロードチェリー」、「こすり落とす」などです。
  • 混合速度(RPM)。例:「25」。
  • 混合時間(秒)。例:「120」。
  • ステップの最後にスクレイプダウンが必要ですか?(Y / N)例: 'Y'。
  • 熱が必要ですか?(Y / N)たとえば「N」。
  • 温度(°C)。例:「0」。

予測可能な将来には十分ですが、必要に応じて簡単に拡張できる20ステップの配列でシステムを設計しました。すべての設定には、HMIアプリケーションで設定された最小値と最大値があります。

これにより、システムは非常に柔軟で編集可能になります。当社には、PLCとHMIを備えた堅牢なシステムがあり、非常に多くの企業のいずれにも馴染みがあり、サポート可能です。


返信いただきありがとうございます。私たちが持っている特定のアプリケーションは自動化された生化学です。そのため、私たちが自動化しているプロセスには数百の試薬と潜在的に数百のステップが含まれるため、あらゆる種類のHMIデバイスのプログラミングは絶望的に複雑になると私は現在考えています。
Dragonsheep、2018

1

開発ハードウェアとソフトウェア、または導入されたハードウェアのユニットあたりのコストの予算を指定していませんが、余裕があれば、National Instruments CompactRIOハードウェアとLabVIEW Real-Timeソフトウェアを使用して要件を確実に満たすことができます。

CompactRIOコントローラーは、業界標準の認定を受けた、堅牢で信頼性の高い、高性能の産業用組み込みコントローラーです。

コントローラーシャーシに接続するさまざまなI / Oモジュールが利用可能です。または、設計が固定されており、ユニットあたりのコストを削減したい場合、コントローラーとI / Oは、ハードウェアと統合するためのシングルボードとして利用できます。 。コントローラ上で実行してプロセス制御を実行するソフトウェアをLabVIEW Real-Timeで記述します。これにより、プロセスステップを編集するためのWebベースのUIを提供したり、LabVIEWまたは他の言語で記述されたUIプログラムと通信したりできます、ホストPCで実行されます。PLCの経験は限られていますが、おそらくこのコストは高くなりますが、このソリューションの方が桁違いに強力で柔軟性があります。

cRIOコントローラーにはオンボードFPGAが付属していますが、実際にFPGAコードを記述する必要がない限り、LabVIEW FPGAモジュールを購入する必要はありません。まるでリアルタイムがあなたのニーズに合っているように思えます。


0

私の提案はLabVIEWを見てみることです。私はあなたの投稿にリストされているニーズを満たすと思います。コンパイラの作成は避けてください。これは、必要以上に多くの作業です。彼らは法案に合うだろう多くの商用PLCです。NIは扱いやすいものの1つだと思います。ユーザープログラムのダウンロードについては、それを実現するためのアプリケーションを作成する必要があります。

http://www.ni.com/en-us/shop/labview.html

NIには、AtoD、デジタル出力、アナログ出力、CANインターフェイスなどの幅広いモジュールがあります。このソフトウェアは、見栄えの良いユーザーインターフェイスを作成するのに非常に役立ちます。欠点は、それが安くないということです。また、テキストベースのプログラミングとは大きく異なります。いくつかのトレーニングが必要になります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.