Skip to main content

例: オブジェクト指向プログラミング (拡張)

製品: CODESYS Development System

この例では、オブジェクト指向を使用して、さまざまな機能を持つさまざまな部屋を持つ建物を実現する方法を示します。付属の視覚化は実装を示しています。

_example_img_oop_extended.png

説明

この例は、オブジェクト指向プログラミングのアプローチを示しています。この目的のために、さまざまな部屋と機能を備えた建物が実装されました。日中はすべての電球が消え、エアコンは 21°C に設定されます。夜間はすべての電球が点灯し、温度は 15°C に設定されます。マニュアルモードでは、ライトのオンとオフを個別に切り替えることができます。の CellarRoom ライトは 1 つありますが、サービスは提供されません。の CheapRoom も電球が 1 つありますが、寿命に達した電球を交換するサービスが追加で提供されます。の BetterRoom 通常の部屋の 2 倍の寿命を持つデュオライトがあり、 ClimateBetterRoom さらに、一定回数の温度変化後にフィルターを交換する必要があるエアコンも備えています。

追加情報

  • Main: 4 つの部屋すべてを作成し、モードに応じて必要な関数を呼び出します (daytimenighttimemanual

  • clsRoom: ルームの基本機能ブロック。部屋ごとに必要な機能をここにまとめました。 4 つの部屋すべてがこの機能ブロックを継承します。

  • clsCellarRoom: ベース ルームを拡張し、 clsLight 電球を実装する関数ブロック

  • clsCheapRoom: ベース ルームを拡張し、 clsLight1min 関数ブロック。寿命が 1 分の電球を実装します。サービス機能も搭載しております。

  • clsBetterRoom: ベース ルームを拡張し、次のインスタンスを含みます。 clsDuoLight1min、寿命が 2 倍になり、サービス機能も含まれます。

  • clsClimateBetterRoom: を拡張します。 clsBetterRoom そしてエアコンも追加

  • FB_AirCondition: この機能ブロックは昼と夜の温度を調整します。

  • clsLight: ライトのオン/オフを検出する基本機能ブロック

  • clsLight1min: を拡張します。 clsLight 関数ブロックを実装し、 IService インターフェース。この機能は電球の寿命を監視するために使用されます。

  • clsDuoLight1min: を拡張します。 clsLight1min 2番目のタイマーによる機能ブロックにより寿命が2倍になります

  • FB_LifeTimer: スイッチが入った電球の寿命をカウントダウンします。

  • Visualization: メインのビジュアライゼーションにはさまざまな部屋が含まれています。各部屋は次の要素で構成されます。

    • 電球1個

    • 1 サービスメッセージ

    • 1 サービス表示 (サービスが必要かどうかを表示)

    • 1 つのボタンでライトのオンとオフを切り替えます

    • サービスをリセットするための 1 つのボタン

    上部の部屋には温度も表示されます。の OpMode スライダーを使用して、モードを「昼間照明あり」、「夜間照明なし」または「手動」に設定できます。

システム要件と制限事項

プログラミングシステム

CODESYS Development System (バージョン 3.5.14.0 以降)

ランタイムシステム

CODESYS Control Win (バージョン 3.5.14.0)

アドオンコンポーネント

-

注記

_example_icon.png ダウンロード 計画