SlideShare a Scribd company logo
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型の入出力変数(=軸の状態)を持ち
プログラムの中で引きずり回しているため

More Related Content

What's hot

Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のことSpring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと
心 谷本
 
Mongo dbを知ろう
Mongo dbを知ろうMongo dbを知ろう
Mongo dbを知ろうCROOZ, inc.
 
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組みモバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
MorioImai
 
大規模データに基づく自然言語処理
大規模データに基づく自然言語処理大規模データに基づく自然言語処理
大規模データに基づく自然言語処理
JunSuzuki21
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」Yoshiki Shibukawa
 
DXのための内製化のススメ
DXのための内製化のススメDXのための内製化のススメ
DXのための内製化のススメ
Daiyu Hatakeyama
 
AmebaのMongoDB活用事例
AmebaのMongoDB活用事例AmebaのMongoDB活用事例
AmebaのMongoDB活用事例Akihiro Kuwano
 
機械学習モデルのサービングとは?
機械学習モデルのサービングとは?機械学習モデルのサービングとは?
機械学習モデルのサービングとは?
Sho Tanaka
 
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
NTT DATA Technology & Innovation
 
Git超入門_座学編.pdf
Git超入門_座学編.pdfGit超入門_座学編.pdf
Git超入門_座学編.pdf
憲昭 村田
 
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
増田 亨
 
ローカライズって何?(UE4 Localization Deep Dive)
ローカライズって何?(UE4 Localization Deep Dive)ローカライズって何?(UE4 Localization Deep Dive)
ローカライズって何?(UE4 Localization Deep Dive)
エピック・ゲームズ・ジャパン Epic Games Japan
 
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Takahiko Ito
 
Active Learning と Bayesian Neural Network
Active Learning と Bayesian Neural NetworkActive Learning と Bayesian Neural Network
Active Learning と Bayesian Neural Network
Naoki Matsunaga
 
ブースティング入門
ブースティング入門ブースティング入門
ブースティング入門
Retrieva inc.
 
Gstreamer Basics
Gstreamer BasicsGstreamer Basics
Gstreamer Basics
Seiji Hiraki
 
Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善
Naoaki Okazaki
 
分離されたネットワークでの複合機/プリンターの共有
分離されたネットワークでの複合機/プリンターの共有分離されたネットワークでの複合機/プリンターの共有
分離されたネットワークでの複合機/プリンターの共有
Hiroshi Ota
 
AWSではじめるMLOps
AWSではじめるMLOpsAWSではじめるMLOps
AWSではじめるMLOps
MariOhbuchi
 
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
Norishige Fukushima
 

What's hot (20)

Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のことSpring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと
 
Mongo dbを知ろう
Mongo dbを知ろうMongo dbを知ろう
Mongo dbを知ろう
 
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組みモバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
 
大規模データに基づく自然言語処理
大規模データに基づく自然言語処理大規模データに基づく自然言語処理
大規模データに基づく自然言語処理
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
 
DXのための内製化のススメ
DXのための内製化のススメDXのための内製化のススメ
DXのための内製化のススメ
 
AmebaのMongoDB活用事例
AmebaのMongoDB活用事例AmebaのMongoDB活用事例
AmebaのMongoDB活用事例
 
機械学習モデルのサービングとは?
機械学習モデルのサービングとは?機械学習モデルのサービングとは?
機械学習モデルのサービングとは?
 
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
 
Git超入門_座学編.pdf
Git超入門_座学編.pdfGit超入門_座学編.pdf
Git超入門_座学編.pdf
 
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
 
ローカライズって何?(UE4 Localization Deep Dive)
ローカライズって何?(UE4 Localization Deep Dive)ローカライズって何?(UE4 Localization Deep Dive)
ローカライズって何?(UE4 Localization Deep Dive)
 
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
 
Active Learning と Bayesian Neural Network
Active Learning と Bayesian Neural NetworkActive Learning と Bayesian Neural Network
Active Learning と Bayesian Neural Network
 
ブースティング入門
ブースティング入門ブースティング入門
ブースティング入門
 
Gstreamer Basics
Gstreamer BasicsGstreamer Basics
Gstreamer Basics
 
Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善
 
分離されたネットワークでの複合機/プリンターの共有
分離されたネットワークでの複合機/プリンターの共有分離されたネットワークでの複合機/プリンターの共有
分離されたネットワークでの複合機/プリンターの共有
 
AWSではじめるMLOps
AWSではじめるMLOpsAWSではじめるMLOps
AWSではじめるMLOps
 
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
 

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