私がSCADAに曞いたように。 パヌト3

こんばんは

私は私の蚘事のサむクルを続けたす、前のものはここにありたす 。

森の䞭に行くほどパルチザンは厚くなり、日数はたすたす少なくなりたす。 しかし、独特の過負荷にもかかわらず、私は頑固に改善を続け、゚ンゞニアリングアむデアを䜿った私の想像を絶するこずのない想像力を私の頭脳に適甚したす。 珟時点では、5぀の実際のオブゞェクトがすでに䜜成され、私のシステムに実装されおいたす。そのうち3぀は、ビゞネスでシステムに觊れるこずに興味がある奜奇心のあるサヌドパヌティ開発者によっお䜜成されたした。 それらのボリュヌムはそれほど倧きくありたせんが、それでもこれは䜕かですが、リファレンスは増え続けおいたす。 私自身は、最も必芁なもののような小さなものを亀換せずに、その厚いずころに登りたす-その結果、すでに私の地域で2぀の䞻芁な開発になりたした3,000 I / Oポむントシステムはほが半幎皌働しおおり、珟圚は商業運転に入っおいたすそしお、ここに5500の最近のものがありたす。しかし、すべおの革新に぀いおは少し䜎く、本文で...



進行状況から始めたしょう。これは、ご存じのように、じっずしおいたせん。 「火星に生呜が存圚する」ずいう考えのもう1぀の掚進力は、3,000ポむントのシステムだけでした。そこでは、私のスキャッドに基づいおコントロヌルルヌムに3぀のAWPが既にありたす。 そしお、ディスパッチャはどこにありたす-垞に写真がありたす。

グラフィックの点でGDI +の機胜を十分に掻甚し、芋たいものを提䟛し、商業運甚のために斜蚭でシステムを立ち䞊げたずころ、運甚者ずしおの顧客が必死に「ナヌザヌマニュアル」の圢で文曞を必芁ずするようになりたした「。 顧客は现心の泚意を払い、このシステムのオンスクリヌンディスプレむのすべおの可胜な圢匏があるようなマニュアルの非垞に詳现なバヌゞョンを提䟛するように䟝頌したした。 「はい、男性が蚀った」ず圌らのスクリヌンショットを撮り始めたした...は、それはそれほど単玔ではありたせん、50番目の画面のどこかで私はそのようなルヌチンから気分が悪くなり、圌らの絶え間ない「ここでそれを修正したしょう」は垞にこれらのフォヌムを倉曎したした新しい方法でスクリヌンショットを䜜成し、䞊郚で承認のために予備文曞を倉曎したす。 私はランタむムの特別な機胜を䜜成しなければなりたせんでしたが、それに応じお圌はすべおの画面フォヌムを画像ファむルの圢で自動的に生成したしたずころで、䟿利なMS Wordオフィス圢匏を䜿甚しお、必芁なSNIPでマニュアルを自動的に組み立おるこずもできたす。 したがっお、ランタむムがシステム出力で考え出され、390の画面フォヌムを提䟛したずき、CPUはゎムではなく、GDI +は確かにシンプルで䟿利であるずいう考えに少しうんざりしおいたしたが、ビデオシステムの最新のデゞタルテクノロゞヌボヌナスずハヌドりェアアクセラレヌションオプションに぀いおは既に考えおおく必芁がありたす。ご存知のように、かわいらしさの法倖な欲求は、そのような決定に関しお珟代のプロセッサのパフォヌマンスをすぐに完党に食い物にするこずができたす。 これに察する远加のキックは、倖郚のオブザヌバヌの発蚀でもありたした。「ええず、なぜARMのCPU負荷はほが垞に60〜80ですか」 プロセッサは動䜜するために䜜成されたず説明するこずはできたすが、それでも、たずえオペレヌタのワヌクステヌションであっおも、グラフィックだけに焊点を合わせるべきではありたせん。

私は.Netに完党に倢䞭になったずいう考えで歊装しお、情報を掘り始め、最新のテクノロゞヌが私に䜕を提䟛できるかを考え始めたした。 そしお、それは始たりたしたDirectX、OpenGL、およびそれらに基づいたいく぀かの有料゚ンゞンの哀れな詊みは、最終開発者のプロセスを簡玠化したした。 その結果、すべおが正しくありたせんでした-私はスキヌに出かけなかった、たたは私-いずれにせよ-私はそのようなレベルのプログラミングの第䞀人者ではありたせん、それは残念でした。

䞀般的に、遅かれ早かれそれを決定したしたが、それでもWPFテクノロゞヌに觊れ、XAML圢匏で䜜業する必芁がありたす。 ある皮の恐怖、ある皮のWPFずXAMLの本を電車の䞭で1週間1000ペヌゞで「飲み蟌んだ」ず感じたした。人生でこのようなアヌティストを読んだこずはありたせん。 そしお、3日間で孊んだこずの印象の䞋、圌はFBDアルゎリズムの新しい゚ディタヌのプロトタむプを投げるこずができたした。 正盎なずころ、最初の3日間は、これをやったこずがないずいう事実から少しばかり砎裂しおいたした。 おそらく䞖界の叀兞の玠晎らしい䜜品を初めお読んだ小孊生ずしお、私はその胜力ず技術に非垞に感銘を受けたした。 しかし、私が最も驚いたのは、DGI +およびXML圢匏を䜿甚しお自分のScad甚の独自のグラフィック゚ンゞンを「発明」したずきに、このテクノロゞヌにどれほど近づいたかです。 小さなものず私たちずの倚くの瞬間は、1぀の図面からほが1察1のプロトタむプであるこずが刀明したした。 すでに、゚ンゞニアリングの誇りさえありたした。

ためらうこずなく、珟圚のバヌゞョンのscadaのランタむムを䜜成する可胜性を怜蚎し始めたしたが、すでにハヌドりェアグラフィックスアクセラレヌションずXAMLおよびWPFの远加機胜を備えおいたす。 ビュヌアのプロトタむプが甚意されたした。これにより、珟圚のscada圢匏の画面をおおよその圢匏で簡単に開き、その堎でXAMLに簡単に移怍できたす。ここから、オヌトマトンではなく、実際のデザむナヌずその目的のための本栌的なシステムでGUI開発を共有する可胜性が開かれたす。 Microsoft Expression Blendを䜿甚しお、この方向で積極的に䜜業を詊みおいたす以䞋のビデオで䜿甚されおいたす。

途䞭で、私はModelist技術オブゞェクトモデリングシステムの3番目のバヌゞョンちなみに、珟圚のボックス内のアルゎリズムのFBD゚ディタヌが成長したを䜜成するこずを決めたした。それを積極的に䜿甚しお、プロゞェクトに送信し、オブゞェクトに送信する前にそのアルゎリズム郚分をテストサむトで開発したす。 以前のバヌゞョンにいたこずで、斜蚭をたったく蚪問せずにシステムをセットアップし、その埌、技術自䜓の最小限の改善ず単調さで斜蚭を開始するこずができたした。 興味があれば、時間の節玄が本圓に巚倧であり、オブゞェクト自䜓がその危険性のためにそれ自䜓での実隓を生きるこずを単に蚱可しなかったであろう実際の䟋を挙げるこずができたす。

これで、新しいモデラヌのシステムは、珟圚のバヌゞョンのscadaの通垞の倖郚デバッガヌずしお完成し、デバッグ゚グれクティブモゞュヌルの䞋でネットワヌクを介しお䜜業䞭のプロゞェクトに接続し、リアルタむムで珟圚のシステムパラメヌタヌを開発者自身がランタむムモヌドで䜜成およびデバッグできるモデルに眮き換えるこずができたすプロゞェクト自䜓に違反し、それを停止したせん。 珟圚、この方法はトレヌニング堎で非垞に積極的に䜿甚され、オブゞェクトに送信する前にすべおの決定を実行したす。

次のようになりたすクリック可胜

画像



グラフによるず、芖聎者ずフヌドを䜿甚した実隓の䞀郚は次のずおりです。









そしお、新しいモデラヌによるずここに少しです



ここでの真実は非垞に早い3日間のバヌゞョンですが、今ではすでに少し成熟しおおり、ビデオよりも倚くのこずができたす。

ビデオではわずか100KBであるアプリケヌションのサむズが、珟代のscadaシステムではどういうわけかしっかりしおいないこずは泚目に倀したす。

特に興味のある人は、このバヌゞョンを詊甚版のフォヌラムに投皿し、特に「今やドむツ人が戊争に負けた理由がわかりたした」ずいう唯䞀のコメントに満足しおいたす。 ちなみに、圌は唯䞀の人物でもありたした。䜕らかの理由で、人々は芋るのが面倒であるか、たたはその埌䜕も蚀うこずがありたせんでした。





しかし、グラフィックスはグラフィックスであり、サヌビスに぀いおも忘れないようにしおいたす。 6月䞊旬、別の興味深い状況が発生し、プロゞェクトシグナルテヌブルを䜿甚したより高床な䜜業をスカッドに含めるか、ToRの初期デヌタに埓っおプロゞェクト開発サヌビスを実行するようになりたした。

ちょっずした背景5500 I / OポむントのあるシステムのTKから5月31日に私にやっお来たすが、利点はグラフィックのないシステムですが、システムの゜ヌスノヌドは、鉄の操䜜方法がわからない別のプラットフォヌムの非垞に倧きなプロゞェクトのゲヌトりェむです、以䞋に瀺したすが、私の堎合は可胜です。 そしお、組み蟌みのドラむバヌを介しおボトムラむンの機噚で䜜業する必芁がありたすが、トップのスキャッドでは、ネットワヌクを介したModBus TCP / IP亀換、぀たりModBus TCP / IPスレヌブモヌドの完党なサポヌトに既に取り組んでいる必芁がありたす。

画面を描画する必芁はありたせん。プロゞェクトでこれをすべお構成し、トップレベルの開発者向けにModBus TCP / IPプロトコルを䜿甚しおアドレススペヌスのドキュメントを準備するだけです。

実行可胜で簡単なタスクのように芋えたすが、これもたた次のずおりです。

1時間の面では、6月10日には早くもシステムを斜蚭に出荷する必芁がありたす!!! そしお、出荷されただけでなく、完成した、぀たり-動䜜しおいたす

2TKでは、信号テヌブルを含むすべおの資料がPDF圢匏で衚瀺されたすが、これもパスワヌドでロックされおいたす。 PDFで䜜業しおいるデザむナヌは嫌いです私が䜕人働いおいないか、このフォヌマットは垞に開発プロセスでブレヌキをかけるだけです 䞀床は、この圢匏で提瀺された文曞に埓っおシステムを䜜成するように匷制する必芁がありたす。

3システムはゲヌトりェむであるため、䞊䜍レベルの開発者は、ModBusに埓っお各パラメヌタヌを登録したゲヌトりェむに関するドキュメントが必芁であるため、アむドル状態になっおいたす。



䞀般的に、条件はおかしいです...私の質問に、「あなたは以前どこにいたしたか、なぜプロゞェクトを締めたしたか」圌らはただ手を広げお、䞻なものに぀いお叀い歌を始めたした...



わかった 私は座っお考え、最初にやるべきこずはこの情報をすべおプロゞェクトに取り蟌むこずだず気づきたした。 ただし、PDFの芖芚的な文曞によるず、5500の信号でペンで打぀こずができたす。猿は機胜し、そのような猿はたくさんいたすが、時間のようなものはありたせん。 PDFリヌダヌを詊しおみるず、クヌルなドキュメントが埗られたした。名前はそれらず䌌おいたすが、同じ名前ではない堎合がありたす。たずえば、珟圚の指定 "I"はどこかでシンボル "1"になりたす。 そしお、これらすべおのささいなこずが、受け取ったテキストの䞀般的な構造を倧きく損なうものであり、再び線集する時間はありたせん。 ナヌティリティを䜿甚しおパスワヌドをスクレむピングするこずに぀いおは、この考えは根づきたせんでした。 それから、シグナルテヌブルを操䜜するメカニズムを完成させるずいうアむデアを埗たした。これは、開発者の環境に䜕らかの圢で既に組み蟌たれおいたす。 よく、圌らが蚀うように、「バレラ、あなたの時間は来たした」C



10日先の空き時間はほずんどなく、よく知られおいる挫画の䞻なルヌルもありたす。「1日を倱っおから2時間で飛ぶ方がいい」 そしお、先の暙準的な゜リュヌションによるず、同様のルヌトに沿った「飛行」が非垞に匷く迫りたした。



珟圚の芁件に基づいお、私は範囲を少し拡倧し、このケヌスに必芁なものより少し「ねじ蟌み」したしたが、それから私は怒りたした。

アむデアは次のずおりです。scadaシステムの開発者は、TKを垞に受け​​取りたす。プロゞェクトパラメヌタデヌタベヌスを圢成するための䞻芁な初期デヌタはシグナルテヌブルです。 シグナルテヌブル自䜓は、䞻に構造化された圢匏csv、excel、word、DBMSテヌブルで衚されたす。もちろん、コピヌアンドペヌストを䜿甚しお、この構造化されたすべおの皮類を通垞のクリップボヌドに攟り蟌む誘惑です。 これで、䞀連のプロゞェクト信号を迅速に生成するために、クリップボヌドからTORから盎接scadaプロゞェクトに信号列をコピヌできたす。 パラメヌタヌのリストを持぀機噚のオブゞェクトがしばしば繰り返されるか、将来的に繰り返し䜿甚される可胜性があるため、既補の信号テヌブルをスカッドからXMLファむルにむンポヌトおよび゚クスポヌトする機胜が远加されたした。 圢匏は単玔であったため、サヌドパヌティ補ツヌルによる自動凊理にも䜿甚できたす。 シグナルテヌブル自䜓には、グルヌプ線集パラメヌタヌ、セクション間でのシグナルのドラッグ、および関連するマむナヌサヌビス甚のサヌビスが䜜成されおいたす。

離散信号の凊理は、各離散信号のバむト、ワヌド、ダブルワヌド、長敎数の圢匏のパック圢匏でパックで実行されるこずを考慮しお、USOによっおグルヌプずその入力番号を事前に決定できたす。これにより、このグルヌプのビット番号が決たりたす。

さらに、プロゞェクトの䜜業䞭のフラむトを分析するために、むンスペクタヌからコメントを受け取るず、シグナルテヌブルは察話性を受け取りたした。テヌブル内の各シグナルは、プロゞェクトパラメヌタヌデヌタベヌスを自動的に構築した埌、プロゞェクトコンポヌネントずプロゞェクト内のこのシグナルの゜ヌスぞの実際のリンクを受け取りたしたそのハヌドりェア蚘述子。 これにより、開発者は信号テヌブルを開き、「問題」信号を遞択しお、それを凊理するコンポヌネントのプロゞェクトにすばやく配眮できたす。 さらに、このコンポヌネントで通垞の䟝存関係遷移関数を䜿甚し、どこで䜕が間違っおいたのか、なぜ機胜しないのかを分析するこずにより、アルゎリズム、画面、およびコンポヌネント間通信でこのコンポヌネントの完党な凊理チェヌンを拡匵できたす。



その結果、そのようなサヌビスの開発ずデバッグに自由時間で玄1週間の䌑憩を費やしお、技術の時代遅れず勝利が来たしたSCADAシステムの初期プロゞェクトは、既存のTKを䜿甚しお完党にれロから組み立おられ、登録の出力圢匏のドキュメントが生成されたしたscadでわずか1時間の䜜業で、完党なコメント、名前などを含むビット単䜍の正確なシステムパラメヌタ 䞡方の領域HEXおよびFLOATのHTML圢匏のプロゞェクトのパラメヌタヌアドレスのマップのみが、ほが1メガバむトの重量がありたす。 これらはすべお、プロゞェクト自䜓を含むトップレベルの開発者にすぐに匕き継がれ、翌日、成功した予備テストの結果が埗られたした。



もちろん、これに関する䜜業は100完了しおいるわけではありたせんが、暙準゜リュヌションを䜿甚した将来の暙準開発の蚭蚈ず圢成に関しお、深刻なバックログが䜜成されおいたす。

先週、私はこの斜蚭から戻り、1.5日で珟圚のバヌゞョンのプロゞェクトをコヌミングしお起動したした 出来䞊がり、頭を飛び越えるこずができたす。

さお、結果によるず、信号テキストはプロゞェクトで䜕らかの圢で䜿甚される䞀皮の情報パラメヌタであるため、信号テヌブルから蟞曞ログ、グラフィックスにテキストコンポヌネントを迅速に耇補するサヌビスでscadaを補完したす。リ゜ヌスずしおプロゞェクト

䟋ずしお、この技術に関する短いビデオもスケッチしたした。







さお、私は四捚五入したすが、少しやりたかったのですが、い぀ものように刀明したした-䜕らかの情報䞋痢。これは、コヌディングプロセス䞭に安心や脳を䞎えおくれたせん。



最埌たで読んでくれた人たちに泚目しおくれおありがずう。 しかし、これは終わりではなく、これが始たりにすぎないこずをたすたす確信しおいたす...私は文献を読み、曞き、実装し、すでに倚くのプロセス制埡システム開発者が仕事に関連しお私のシステムを調査し始めおいたす。 Habrでお䌚いしたしょう




All Articles