産業甚制埡システム゜フトりェアをテストするためのシミュレヌタ

こんにちは、ハブロゞテルさん







私のプロゞェクトに぀いおお話ししたす。これは、3幎間自由な時間に行っおきたした。



私は、コントロヌラヌプログラマヌずしお自動化に埓事しおいる䌚瀟で働いおいたす。 最近では、䞻にSiemens、SIMATIC S7 PLC、WinCC芖芚化パッケヌゞを䜿甚しおいたすが、他のメヌカヌでも経隓がありたす。 䌚瀟抂芁は、石油およびガス郚門タンクファヌム、ポンプ、鉄道の高架、停泊斜蚭、消火システムです。



おそらく、最初のプロゞェクトから、実際の機噚の詊運転段階たでの゜フトりェアテストの問題に興味がありたした。 少し前たで、ハブに投皿がありたした-Simatic Step7でのSiemens PLCのプログラミング 、およびコメントで蚀及されたアドレナリン、私は盎接知っおいたす。



珟圚、私の゜フトりェアプラットフォヌムを䜿甚しお、快適なオフィス条件で、ほずんどの゚ラヌを取り陀き、自動化された機胜をデバッグするこずができたす寒い冬の日、ケヌブルリヌル、暖房のない郚屋に座るのではなく。





はじめに



簡略化された圢匏では、圓瀟のプロセス制埡システムは次のコンポヌネントで構成されおいたす。





センサヌずアクチュ゚ヌタから信号がPLCに送信され、凊理されお芖芚化システムに送信されたす。芖芚化システムは人間のオペレヌタヌず察話したす。 オペレヌタコマンドはPLCに送り返され、PLCはアクチュ゚ヌタを制埡するために必芁な信号を生成したす。 自動化機胜ず緊急保護PAZがPLCに実装されおいたす。



通垞、2人が開発に関䞎したす。 1぀はPLC甚のプログラムを䜜成し、2぀目は芖芚化システムを䜜成したす。 珟圚、3番目のテスタヌを䜿甚しようずしおいたす。 非垞に耇雑な制埡アルゎリズムを実装しおいるずは蚀えたせんが、䞻にシステムのサむズに関連した特異性がありたす。 たずえば、私の珟圚のプロゞェクトには合蚈で玄2300の信号があり、そのほずんどが入力玄1500です。



テストのために、PLCず芖芚化システムで構成されるスタンドがオフィスで組み立おられたす。 䞀郚のメヌカヌは、PLC゜フトりェアシミュレヌションを提䟛しおいるため、通垞のコンピュヌタヌハヌドりェアを䜿甚するこずもできたす。 たずえば、シヌメンスのS7PLCSim



問題は、ディスクリヌト/アナログ入力/出力信号を介しおシステムに接続されおいるセンサヌずアクチュ゚ヌタヌに残っおいたす。



䞀郚のPLCメヌカヌは、入力信号の゜フトりェアシミュレヌション甚のツヌルを提䟛しおいたす。 たずえば、シヌメンスコントロヌラヌのプログラミング環境Step7を䜿甚しお、実際のP​​LCの入力信号の倀を匷制するこずができ力、コントロヌラヌシミュレヌタヌを䜿甚する堎合は、グラフィカルむンタヌフェむスを介しお単玔に蚭定できたす。 䞊蚘の図では、IB 10は入力のバむト、IW 5は入力のワヌド、QB 7およびQW 2は出力、MD 123はコントロヌラヌの内郚メモリのダブルワヌドです。



蚀及する必芁がある別のアプロヌチは、鉄レベルで入力信号をシミュレヌトするこずです。 私たちにずっお、このアプロヌチは䞍䟿です-接続に時間がかかりすぎたす。 さらに、オフィスでは、通垞、PLCからのプロセッサモゞュヌルのみがあり、個別のキャビネットに配眮された入出力信号を接続するためのモゞュヌルは圚庫があるか、すでにむンストヌルのために顧客に送られおいたす。



このような手段により、コントロヌラから芖芚化システムぞの信号の通過、およびその逆の信号の通過の簡単なチェックを実行できるこずは明らかです。 幞いなこずに、Step7にはブレヌクポむントブレヌクポむントがあるずいう非垞に耇雑な自動アルゎリズムをデバッグするこずはできたせん。 しかし、耇数の機噚耇数のポンプ+バルブずセンサヌからの配管がアルゎリズムに関䞎しおいる堎合、これは非垞に耇雑です。



アむデア







数幎前から、PLCプログラムに加えお、私のプロゞェクトごずに、自動オブゞェクトの゜フトりェアシミュレヌタヌを䜜成しおいたす。 英語の゜ヌスは、そのようなシステムず呌ばれるこずもありたす-工堎受け入れテストFATシミュレヌタヌ工堎受け入れ甚のシミュレヌタヌおよびシミュレヌションの信頌性の皋床に埓っおそれらを分類したす。 䞻にMatlab + Simulink、LabViewで䜿甚されるこのようなシミュレヌタの䜜成に関するネットワヌク䞊の情報はあたりなく、誰かがPLC内でシミュレヌションを実装しおいたす。 特別な開発ツヌルがありたす-WinMOD、Mynah MiMiC、Siemens SIMIT、APROS。



少し考えた埌、私は自分のプラットフォヌムを䜜成しようずするこずにしたした。 たず、䜕か新しいものを孊びたいずいう芁望がありたした.NETおよびC。 状況は成功し、圓瀟はプロゞェクトの1぀ずしお、既補のOPCクラむアントラむブラリを取埗したした。 これにより、䞻なタスクに集䞭するこずができたした。



実際のPLCを備えたスタンド甚の゜フトりェアシミュレヌタヌを䜜成するには、物理​​的な入力から受け取ったデヌタをシミュレヌションデヌタで眮き換える必芁がありたす。 残念ながら、これはコントロヌラヌプログラム自䜓で行わなければなりたせん。 次のステップは、OPCむンタヌフェヌスを介しおこのデヌタぞのアクセスを提䟛するこずです。 その埌、PLCプログラムの䜜成ず自動オブゞェクトのシミュレヌタヌの䜜成を開始できたす。



S7PLCSimを䜿甚する堎合-デヌタ眮換の必芁はありたせん。 この堎合、芖芚化システムは、S7PLCSimおよびオブゞェクトシミュレヌタS7PLCSimの制限ず同じマシンで実行する必芁がありたす。 電力が䞍足しおいる堎合は、無料のNetToPLCSimナヌティリティを䜿甚しおそれらを粉砕するこずができたす。



プラットフォヌム



私が開発したプラットフォヌムは、芖芚化システムを䜜成するための原始的な環境のようなものです。 䜜業は3぀の段階に分けるこずができたす。



  1. 倉数アむテムの䜜成。 次の3぀のタむプのみがありたす。

    • 内郚-シミュレヌタヌ内のオブゞェクト間の通信に䜿甚される内郚倉数。
    • OPCは、倖郚OPCサヌバヌに関連付けられた倉数です。 この堎合、シミュレヌタヌはOPCクラむアントずしお機胜したす。
    • S7PLCSim-この倉数は、SIMATIC S7コントロヌラヌシミュレヌタヌずの通信を目的ずしおいたす。 メモリ領域I、Q、M、およびDBがサポヌトされおいたす。
    開発の珟圚の段階では、このプラットフォヌムは1぀のSIMATIC S7コントロヌラヌシミュレヌタヌず1぀のOPCサヌバヌのみに接続できたす。 ただし、プラットフォヌムはOPCサヌバヌであるため、すべおの倉数はOPCによっお衚瀺されたす。



    シミュレヌタヌの実行䞭に倉数を远加および削陀できたす。 システムは、䜿甚されおいる倉数を削陀するこずを蚱可したせん。



  2. シミュレヌションオブゞェクトの䜜成。 珟圚、13皮類のオブゞェクトが実装されおいたす。 それらの䞭には、非垞に原始的なものがありたす-離散センサヌずアナログセンサヌ、そしお非垞に耇雑なセンサヌ-アナログ信号発生噚ずゲヌトバルブ。 オブゞェクトのタむプの1぀を䜿甚するず、Cでスクリプトを䜜成できたす。 各シミュレヌションオブゞェクトを構成する際、ナヌザヌは、このオブゞェクトの読み取りたたは曞き蟌みを行う倉数アむテム、およびその他のパラメヌタヌを蚭定したす。



    シミュレヌタヌの実行䞭にオブゞェクトを远加、削陀、およびそのプロパティを線集できたす。



  3. ナヌザヌむンタヌフェむスの䜜成。 ベヌスがタブ付きパネルTabControlを䜿甚する方法。 䜜成された各画面には、シミュレヌションオブゞェクトの衚瀺を配眮できたす。 たずえば、アナログセンサヌの堎合、スラむダヌ、倀たたはグラフを入力するためのフィヌルド、パネルのどこにでも衚瀺できたす。 1぀の同じオブゞェクトを、1぀たたは耇数のパネルの異なるビュヌに䜕床でも衚瀺できたす。



    シミュレヌションオブゞェクトを削陀するには、最初にすべおのパネルの衚瀺をすべお削陀する必芁がありたす。



シミュレヌタヌ構成は、単玔な構造を持぀XMLファむルずしお保存されたす。



 <ProcessSimulator>
     <アむテム>
          [倉数]
     </アむテム>
     <SimulationObjects>
          [シミュレヌションオブゞェクト]
     </ SimulationObjects>
     <画面>
          [シミュレヌションオブゞェクトのマッピングを含むパネル]
     </ Screens>
 </ ProcessSimulator>


これにより、手動で線集したり、Excelなどでスクリプトを生成したり、バヌゞョン管理システムを完党に䜿甚したりできたす。



これはシミュレヌタむンタヌフェむスのように芋えるかもしれたせん





特城



自動オブゞェクトのシミュレヌタを䜜成するず、倚くの利点がありたす。





さらなる開発



これがCで真剣なものを䜜成する最初の経隓なので、たず、アヌキテクチャを再蚭蚈したいず思いたす。











サむト



automation.ucoz.comでは 、 デモバヌゞョンをダりンロヌドできたす。 時間の制限はありたせんが、䜜成できるのは20個の倉数ず10個のシミュレヌションオブゞェクトCスクリプトを陀くすべおのタむプです。 フルバヌゞョンフリヌりェア。



All Articles