19
技術セミナー IEC言語の概要とSFC言語のメリット (デモソフト実演付き) introduction_common_elements.pptPLCopen IEC 61131-3 Tutorial 参考資料 Eelco van der Wal Managing Director PLCopen

技術セミナーalgosystem.ecsv.jp/ezcatfiles/algosystem/img/img/3464/...Programming techniques usable in more environments (general industrial control) 異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 技術セミナーalgosystem.ecsv.jp/ezcatfiles/algosystem/img/img/3464/...Programming techniques usable in more environments (general industrial control) 異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

技術セミナー

IEC言語の概要とSFC言語のメリット(デモソフト実演付き)

(introduction_common_elements.ppt)PLCopen : IEC 61131-3 Tutorial

参考資料

Eelco van der Wal Managing Director PLCopen

Page 2: 技術セミナーalgosystem.ecsv.jp/ezcatfiles/algosystem/img/img/3464/...Programming techniques usable in more environments (general industrial control) 異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

☆IEC61131標準化の成果

What is the Benefit of such a Standard

ソフトウェアの再利用(開発投資やサプライヤー依存性を下げる)によって、

問題を解決する方向に導いた。Creating a focus to problem solving via software re-usability (reduced application

investment and supplier dependency)

誤解やエラーがなくなった。

Reduced misunderstandings and errorsこのプログラミングテクニックは、広範囲な環境(一般的な産業制御分野)に

おいて利用できるようになった。Programming techniques usable in more environments (general industrial control)

異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

組み合わせることができるようになった。Combining harmonously different components from different locations, companies or

countries, or projects人的資源(トレーニング、デバッギング、メンテナンス、コンサルタント)の

浪費を減少させた。Reduced waste of human resources (in training, debugging, maintenance and

consultancy)

接続性が増大した(機密は保護されつつ) 。Increased connectivity (investment protection)

Page 3: 技術セミナーalgosystem.ecsv.jp/ezcatfiles/algosystem/img/img/3464/...Programming techniques usable in more environments (general industrial control) 異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

☆IEC言語の特長

Key quality features of IEC 61131-3

・ Structured software (構造化されたソフトウェア)

- through use of Configuration, Resource and Program Organization Units (POUs)

・ Strong Data Typing (厳密なデータ型の適用)

- through languages that restrict operationsto only apply to appropriate types of data

・ Execution control (タスクによる制御の実行)

- through use of tasks

・ Complex sequential behaviour (SCFによる複雑な順次的動作)

- through Sequential Function Charts

・ Software encapsulation (ソフトウェアのカプセル化)

- through use of POUs, structures and complex data types.

Page 4: 技術セミナーalgosystem.ecsv.jp/ezcatfiles/algosystem/img/img/3464/...Programming techniques usable in more environments (general industrial control) 異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

☆IEC5言語の概要(1)

Industrial Control Programming...with support for people with different backgrounds

言語 言語の特徴 用途 及び 利点・欠点

IL:Instruction List

アセンブラ言語に近い。LD、ST、AND等のニーモニックで記述。

アプリケーションの小型化や高速化には有効だが、生産性や保守性には劣るので使用される機会は減少。

ST:Structured Text

PASCALをベースに設計された言語、IF、WHILE、REPEATなどの構造化された制御文が特長。コンピュータ技術者向き。

数値演算やデータ処理、ネストした条件分岐など、LDでは記述し難い用途で力量発揮。PLCopen Japanが普及プロジェクトを発足(2010)

FBD:Function Block Diagram

電子部品を配線して電子回路を設計する様にプログラムが記述できる。ソフト部品化しやすい。

日本でも、計装分野では従来から使用されてきた。データの流れが一目見て判るので可読性が高くなる。

LD:Ladder Diagram

リレーシーケンス制御回路をラダーの形式に表現した言語。 Ⅰ/Oのインターロック処理など、ビットレベルの処理に向いている。

日本、米国では広く使用されている。モジュール分けが難しく、一本の巻物スタイルに成り勝ちで、流用や仕様変更は困難になる。

SFC:Sequential Function Charts

システムの状態遷移を記述するのに適した言語。演算機能や入出力機能を持たない。

工程間の遷移条件や工程内の処理を明確に分けて記載できるのが利点。

日本ではあまり使用されていない。

Page 5: 技術セミナーalgosystem.ecsv.jp/ezcatfiles/algosystem/img/img/3464/...Programming techniques usable in more environments (general industrial control) 異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

☆IEC5言語の概要(2)

Common Elements

Programming Languages

The IEC 61131‐3 Standard

• Variables, Data Types and Declaration• Configuration, Resources and Tasks• Function, Function Blocks and Programs• Sequential Function Charts

Instruction ListLD A

ANDN B

ST C

C:= A AND NOT B

Structured TextFunction Block

Diagram

AND

A C

B

A B C

-| |--|/|-------------( )

Ladder Diagram

• Powerful graphical technique fordescribing the sequential behaviour of  a control program

• Used to partition a control problem• Shows overview, also suitable for 

rapid diagnostics

Page 6: 技術セミナーalgosystem.ecsv.jp/ezcatfiles/algosystem/img/img/3464/...Programming techniques usable in more environments (general industrial control) 異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

☆SFC言語とは

システムをシーケンシャルなプロセスに分解し、ステップからステップへの遷移条件と各ステップ毎のアクションを記述することによって、システム全体のプロセスの流れを図的に表現する言語。

Stepは、次ぎのStepを引き起こす遷移条件によって、明確に区分されることが必要である。

Page 7: 技術セミナーalgosystem.ecsv.jp/ezcatfiles/algosystem/img/img/3464/...Programming techniques usable in more environments (general industrial control) 異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

☆SFC言語詳細(1)(基本形と要素)

Page 8: 技術セミナーalgosystem.ecsv.jp/ezcatfiles/algosystem/img/img/3464/...Programming techniques usable in more environments (general industrial control) 異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

☆SFC言語詳細(2) (並列分岐と選択分岐)

Page 9: 技術セミナーalgosystem.ecsv.jp/ezcatfiles/algosystem/img/img/3464/...Programming techniques usable in more environments (general industrial control) 異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

☆SFC言語詳細(3) (中味は他の言語で記述)

論理POUの挿入でSFC言語を選択すると、自動的に、「トランジション」と「アクション」を記述するフォルダーが作成される。

「トランジション」は、変数のみでもOKだが、論理式を書こうとすると言語(IL,LD,FBD,ST)の選択を問われる。

「アクション」は「アクション クオリファイア」(N,P,Dなど)で処理すべき内容を記述するが、その時も記述言語(IL,LD,FBD,ST)を指定する必要がある。

N:ステップがActiveである間中実行

P:ステップがActiveになった時のみ実行

D:ステップがActiveになって遅延して実行

要は、SFCは、プログラムの骨格を記述する言語であって、中味は、他の言語で記述しなければならない。

Page 10: 技術セミナーalgosystem.ecsv.jp/ezcatfiles/algosystem/img/img/3464/...Programming techniques usable in more environments (general industrial control) 異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

10

デモのシステム構成

ソフトPLC開発環境

ソフトPLC動作環境

TherCATスレーブ

Page 11: 技術セミナーalgosystem.ecsv.jp/ezcatfiles/algosystem/img/img/3464/...Programming techniques usable in more environments (general industrial control) 異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

☆SFCサンプル(sfc03)のフローチャート

簡単な洗濯機のモデル

Page 12: 技術セミナーalgosystem.ecsv.jp/ezcatfiles/algosystem/img/img/3464/...Programming techniques usable in more environments (general industrial control) 異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

☆SFCサンプル(sfc03)

フローチャートとSFCは対応付けやすい

Page 13: 技術セミナーalgosystem.ecsv.jp/ezcatfiles/algosystem/img/img/3464/...Programming techniques usable in more environments (general industrial control) 異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

☆SFCサンプル(sfc03‐b)

洗浄時間をTONで実現した例

Page 14: 技術セミナーalgosystem.ecsv.jp/ezcatfiles/algosystem/img/img/3464/...Programming techniques usable in more environments (general industrial control) 異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

☆SFCサンプル(sfc03‐c)

洗浄時間をアクション クオリファイア:Dで実現した例

Page 15: 技術セミナーalgosystem.ecsv.jp/ezcatfiles/algosystem/img/img/3464/...Programming techniques usable in more environments (general industrial control) 異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

☆SFCサンプル(sfc04)のフローチャート

並列処理が必要なモデル

Page 16: 技術セミナーalgosystem.ecsv.jp/ezcatfiles/algosystem/img/img/3464/...Programming techniques usable in more environments (general industrial control) 異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

☆SFCサンプル(sfc04‐c)

並列処理をSFCで実現

Page 17: 技術セミナーalgosystem.ecsv.jp/ezcatfiles/algosystem/img/img/3464/...Programming techniques usable in more environments (general industrial control) 異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

☆SFC言語のメリット

1.システムの処理順序や状態・遷移が理解しやすい

(可読性、高いドキュメント性)・職人技や癖のある記述方法を拒絶するので、他人にも理解容易。・古いシステム(開発者がいなくなっても)もメンテナンス可能になる。

2.設計に時間を要するが、複数人が分担して作成可能

(開発期間短縮・高い生産性)・一人のSEと複数のプログラマーによるモジュール開発が可能。・SEは、システムをステップ分けし、システムの骨格のみを記述。・各ステップの遷移条件やアクションは、プログラマーがLDやSTで記述。

3.デバッグ及びメンテナンスに要する工数が低減できる

(信頼性・保守性向上)・モジュール毎のデバッグが出来、全体のデバッグも問題箇所の発見が容易。・デバッグモニターで、どのステップを実行中であるかが一目瞭然・ステップが進まない原因は、遷移条件に問題がある。

4.SFCプログラムからシステムの工程図は、容易に作成可能

・SFCのチャート図は、工程図と相似の関係。GUI画面も容易に作成可。

Page 18: 技術セミナーalgosystem.ecsv.jp/ezcatfiles/algosystem/img/img/3464/...Programming techniques usable in more environments (general industrial control) 異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

☆まとめ

SFCのメリットで書き上げた可読性、生産性、信頼性、保守性等は、ソフトウェア工学で上位に掲げられる品質目標そのものです。

IEC61131-3がめざしたソフトウェアのモジュール化・部品化、また、再利用という目標においても、SFCは、5言語の中では、最も大きく貢献しうる素質を備えている言語だと言えます。

しかし、この言語を使う人には、システム分析・設計を前段としてやることを要請してきます。これは、職人技に頼らないソフトウェア工学的な開発のやり方(構造化設計)を、言語が要請してくるということであり、これを面倒と見るか、逆に歓迎するか、どちらを選択するかを問いかけていると言えます。

結論:

IEC規格の主旨を尊重するなら、この言語を無視したり避けたりするのではなく、この言語に慣れ親しみ、メインフロー(Top Level)は、この言語で記述するのが、いいシステムを作り上げることに繋がると言えます。

Page 19: 技術セミナーalgosystem.ecsv.jp/ezcatfiles/algosystem/img/img/3464/...Programming techniques usable in more environments (general industrial control) 異なる場所、会社、国、プロジェクトで作成された異なるソフト部品をうまく

19

株式会社アルゴシステム

<東京支社> 東京都中央区銀座7-15-8 銀座堀ビル2FTEL:03-3541-7170 FAX:03-3541-7175

お問合せ先

URL http://www.algosystem.co.jp

<本 社> 大阪府堺市美原区小平尾656TEL:072-362-5067 FAX:072-362-4856

<大阪支社> 大阪市中央区南船場1-12-3 船場グランドビル3FTEL:06-6263-9575 FAX:06-6263-9576

<名古屋営業所> 名古屋市東区葵2-3-15 ふぁみーゆ葵ビル503TEL:052-939-5333 FAX:052-939-5330