SlideShare uma empresa Scribd logo
1 de 9
Baixar para ler offline
IEC61131-3 Ed.3 オブジェクト指向FB
第11回FA設備技術勉強会
1. IEC61131-3 Ed.3って何?
2. オブジェクト指向って何?
3. オブジェクト指向は装置制御プログラムと相性がいい?
4. ラダーでオブジェクト指向FB使う時どう書くの?
5. ラダーでオブジェクト指向FBどう書くの?
6. PLC用プログラムでオブジェクト指向FBは使われる
ようにになるの?
笹大熊猫
2022/12/17
1. IEC61131-3 Ed.3って何?
・PLC用プログラミング言語国際規格(Ed.3 2013)
・Ed.2と読み比べてみて
- 標準データ型、標準FUN/FB、ユーザ定義型 の整備
- SFC言語の文法の明確化
- オブジェクト指向FB
クラス、メソッド、継承、インタフェース
・各社ツールの対応状況
GUIにCoDeSys使用ツールはほどほど対応(Beckhoff ,Schneider,B&R,…)
シーメンス、三菱、オムロン徐々に対応 ロックウエル?、キーエンス?
・詳しくは
JIS B 3503 http://www.kikakurui.com/b3/B3503-2016-01.html や
「IEC61131-3 ed3」で検索して出てくるオムロンor MONOistの
解説記事参照
第11回FA設備技術勉強会
メソッドD
状
態
変
数
戻値D
・継承を使った状態変数の追加や
制御内容の追加
継承
オブジェクト
・継承を使った状態変数の追加や
制御内容の追加
継承
オブジェクト
2. オブジェクト指向って何?
状
態
変
数
オブジェクト
メソッドA
状態変数
値の変更
メソッドB
戻値A
メソッドC
戻値B
戻値C
制御実装と状態値のカプセル化
・FBは制御内容をひとつだけ実装
オブジェクト指向FBは制御内容
(メソッド)を複数個持てる
第11回FA設備技術勉強会
3. オブジェクト指向は装置制御プログラム
と相性がいい?
第11回FA設備技術勉強会
状態
変数
装置を制御する
オブジェクト指向FB
スライダ(引or出)
… チャック(開or閉)
セ
ン
サ
・
釦
ア
ク
チ
ュ
エ
|
タ
4.ラダーでオブジェクト指向FB使う時
どう書くの?
変数名 or
%IX7(アドレス表現)
変数名 or
%IX1(アドレス表現) FB変数名 . メソッド名
in1:BOOL out1:BOOL
in2:INT
in2:REAL
out2:DINT
( )
第11回FA設備技術勉強会
5.ラダーでオブジェクト指向FBどう書くの?
(Beckhoff TwinCat3の場合)
FB定義の生成(実装依存)
FBの名前
Ladder(LD)
FBのMAINプログラム
第11回FA設備技術勉強会
FBのメソッド定義の生成(実装依存)
Ladder(LD)
5.ラダーでオブジェクト指向FBどう書くの?
(Beckhoff TwinCat3の場合)
第11回FA設備技術勉強会
5.ラダーオブジェクト指向FBどう書くの?
(Beckhoff TwinCat3の場合)
FB Body(Main)やメソッドのプログラムの記述
変数定義フィールド
(変数の定義は
IEC61131-3 Ed.3の
定義方法)
プログラム定義フィールド
(ラダープログラム記法は
IEC51131-3 Ed.3
で細かくは規定
されていない)
●変数のスコープ
メソッドは,メソッド内定義変数だけでなく,
FB宣言(FBのMainプログラム)で定義される
入力変数,出力変数又は内部変数への
アクセス可能
入力変数
メソッド名 ×
出力変数
内部変数
第11回FA設備技術勉強会
6. PLC用プログラムでオブジェクト指向FB
は使われるようにになるの?
●オブジェクト指向FBの定義をユーザ自身が書くように
なるには時間がかなりかかるように思う。
●ベンダー提供オブジェクト指向FBのライブラリを
ユーザプログラムで使うのは案外早いかも。
モーション軸制御FBがオブジェクト指向FB化
されれば早めに使われるようになりそう。
全てのFBでAXIS_REF型の入出力変数(=軸の状態)を持ち
プログラムの中で引きずり回しているため

Mais conteúdo relacionado

Mais procurados

ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
Taiji Tsuchiya
 
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組みモバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
MorioImai
 
保全マンだった私がこれからFA業界でやりたいこと
保全マンだった私がこれからFA業界でやりたいこと保全マンだった私がこれからFA業界でやりたいこと
保全マンだった私がこれからFA業界でやりたいこと
ssusera9355c
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
Yoshiki Shibukawa
 

Mais procurados (20)

【de:code 2020】 レガシーシステムをデジタルの世界へ! Power Automate UI フロー入門
【de:code 2020】 レガシーシステムをデジタルの世界へ! Power Automate UI フロー入門【de:code 2020】 レガシーシステムをデジタルの世界へ! Power Automate UI フロー入門
【de:code 2020】 レガシーシステムをデジタルの世界へ! Power Automate UI フロー入門
 
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudyネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
 
EtherCATやPROFINETを OPC UAで接続してみた
EtherCATやPROFINETを OPC UAで接続してみたEtherCATやPROFINETを OPC UAで接続してみた
EtherCATやPROFINETを OPC UAで接続してみた
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
誰でもできるスマートシティ向けOSS : FIWAREのはじめかた
誰でもできるスマートシティ向けOSS : FIWAREのはじめかた誰でもできるスマートシティ向けOSS : FIWAREのはじめかた
誰でもできるスマートシティ向けOSS : FIWAREのはじめかた
 
今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみた今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみた
 
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
 
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組みモバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
 
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
 
保全マンだった私がこれからFA業界でやりたいこと
保全マンだった私がこれからFA業界でやりたいこと保全マンだった私がこれからFA業界でやりたいこと
保全マンだった私がこれからFA業界でやりたいこと
 
Maven基礎
Maven基礎Maven基礎
Maven基礎
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
 
MLflowによる機械学習モデルのライフサイクルの管理
MLflowによる機械学習モデルのライフサイクルの管理MLflowによる機械学習モデルのライフサイクルの管理
MLflowによる機械学習モデルのライフサイクルの管理
 
BigQuery で 150万円 使ったときの話
BigQuery で 150万円 使ったときの話BigQuery で 150万円 使ったときの話
BigQuery で 150万円 使ったときの話
 
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェースモジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
 
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
 
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ることGraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
 
Cloud Firestoreで、 全文検索してみた。
Cloud Firestoreで、 全文検索してみた。Cloud Firestoreで、 全文検索してみた。
Cloud Firestoreで、 全文検索してみた。
 

IEC61131-3_Ed3_オブジェクト指向FB.pdf