株式会社マイクロネット - mnc.co.jp · 13:10~14:10(60分)...
TRANSCRIPT
1セミナー資料
株式会社マイクロネット
平成27年6月12日
ポリテクセンター京都
セミナー資料 2
13:05~13:10(5分) セミナーの流れについて (石川)
13:10~14:10(60分) 第1部ソフトウェアPLCについて (石川)
-休憩(10分)-
14:20~15:50(90分) 第2部プログラムの開発とデバッグ (小柳)
-休憩(15分)-
16:05~16:15(10分) 第3部ソフトウェアPLC適用事例 (石川)
16:15~17:00(45分) 質疑&アンケート
第1部 ソフトウェアPLCについて
セミナー資料 3
1.ソフトウェアPLCとはなにか2.ソフトウェアPLC「INplc」について3.INplc-Controllerについて4.ソフトウェアPLCの特徴5.ソフトウェアPLCの効果6.ソフトウェアPLCの課題
セミナー資料 4
1.ソフトウェアPLCとはなにか2.ソフトウェアPLC「INplc」について3.INplc-Controllerについて4.ソフトウェアPLCの特徴5.ソフトウェアPLCの効果6.ソフトウェアPLCの課題
第1部 ソフトウェアPLCについて
セミナー資料 5
汎用マイコン
パソコン(Windows PC)
A社
B社
C社ハードウェアPLC
ソフトウェアPLC本セミナーでは、Windows PCで動作するソフトウェアPLCをベースに進行します
ソフトウェアPLCとは?■汎用のCPUを使ってPLCのプログラムを実行するタイプのPLC■バスやインタフェース、基本ソフトウェアはオープンな標準仕様のものを使っている■ソフトウェアPLCは国際規格IEC61131-3に準拠している
D社
etc・・・
ハードウェアPLC
-PLC処理に特化した専用機器-安価で比較的に処理速度が速い-メーカーのサポート体制が整っている-メーカー間の互換性が無い
ソフトウェアPLC
-ハードウェアはWindows PCを使用-制御性能が高い-多彩なインターフェースを備えている-Windowsの機能を活用できる-国際規格IEC-61131-3に準拠している
セミナー資料 6
セミナー資料 7
5つのプログラム言語が選択可能
PLCメーカーに依存しないプログラミングが可能
プログラムの部品化が容易
IEC61131-3はPLCの国際標準規格
etc・・・
etc・・・
セミナー資料 8
Phoenix Contact Software(独)
ProConOS
3S(独)
CoDeSys
アルゴシステム
AI-PLC
B社
基本ソフトウェアライセンサー ソフトウェアPLCベンダーと製品群
マイクロネット
INplc
購入者
セミナー資料 9
ソフトウェアPLCベンダー
OEMライセンス提供ソフトウェアPLCはパッケージで提供され、PCを自前で調達し、自らPLCコントローラーを製作する方法。量産時にはランタイムライセンスをベンダーから購入しPLCコントローラーを作成します。利用目的にフィットしたPLCコントローラーを作り上げることができる。反面、難易度が高く、初期開発コストが掛かります。
PLCコントローラー提供ソフトウェアPLCベンダーが提供するPLCコントローラーを利用する方法。予め決められたPLCコントローラーから選択することになるが、購入後、簡単に利用できる。
※OEMラインセンス提供とPLCコントローラー提供のどちらの方法でも、PLCコントローラー上で実行するPLCプログラムは、IEC準拠の開発ツールを使ってユーザーが作成します。
セミナー資料 10
1.ソフトウェアPLCとはなにか2.ソフトウェアPLC「INplc」について3.INplc-Controllerについて4.ソフトウェアPLCの特徴5.ソフトウェアPLCの効果6.ソフトウェアPLCの課題
第1部 ソフトウェアPLCについて
セミナー資料 11
PLCプログラムのダウンロード
PLCプログラムのデバッグ
Windows PC
外部入出力
LAN
開発ツール MULTIPROG INplc-Controller
PLCプログラムの開発とデバッグソフトウェア - INplc-Controllerは産業用PCにINplcをインストールしたもの
- PLCプログラムはRTOS(INtime®)上で0.1msec周期のリアルタイム動作
INplc-Controller
セミナー資料 12
PLCプログラムの開発と保守に利用
ラダーを含む5種類のプログラム言語が利用可(IEC61131-3準拠)
オンラインデバッグ機能やRUN中書き込み機能が利用可能
Windows PC上で動作する開発ツール
MULTIPROG画面
セミナー資料 13
コンパクト モデル 多スロット モデル マルチカーネル モデル パネコンPLC モデル 組込み向け モデル
INplc-6000
Core i7 2.00GHz
INplc-4000
Atom D510 1.66GHz
INplc-300
Atom Z530P 1.60GHz
INplc-SPF
Core 2 Duo 3.00GHz INplc-PCoN
INplc-5250N
Atom N2600 1.60GHz
INplc-mk2000
Core i7 860 2.80GHz
制御性能
高↑
↓低
セミナー資料 14
プログラム言語(国際規格IEC61131-3準拠)
ラダーダイアグラム(LD)、ファンクションブロックダイアグラム(FBD)、インストラクションリスト(IL)、ストラクチャードテキスト(ST)、シーケンシャルファンクションチャート(SFC)
タスク 実行タスク数 16タスク
制御周期 0.1msec
タスクの種類 サイクリック、デフォルト、イベント、システム
PLCプログラムの最大ステップ数 32Kステップ
データ領域サイズ 64MB
リテイン機能 あり
リレーとコイルの接点数(タイマーも含む) 15000点
ファイル入出力 外部記憶装置(HDD/SSD/USBメモリ)が利用可
外部入出力 デジタル、アナログ、カウンタ、サーボモーター、RS232C/422/485、TCP/UDP、FL-net、CC-Link、 CC-Link IE、EtherCAT®、PROFIBUS、PROFINET、 MECHATROLINK、DeviceNet
セミナー資料 15
RT-SCADA RT-FBD RT-C言語コントローラ
SCADAとPLCを1台のPCに集約
グラフィカルプログラミング言語でリアルタイム制御
Visual Studio C#でリアルタイムプログラムを作成
※ INplcのスペックについては3製品ともに前頁の仕様に準じます。
+
セミナー資料 16
1.ソフトウェアPLCとはなにか2.ソフトウェアPLC「INplc」について3.INplc-Controllerについて4.ソフトウェアPLCの特徴5.ソフトウェアPLCの効果6.ソフトウェアPLCの課題
第1部 ソフトウェアPLCについて
セミナー資料 17
ソフトウェア
ハードウェア
INplc
デジタル アナログ カウンタ サーボモーター
シリアル ネットワーク
フィールドバス
・HMI/SCADA・EXCEL・ファイル処理・その他市販アプリなど
産業用PC
Windows 7/8.1 INtime®(RTOS)
外部入出力
PLCプログラムPLCプログラム
PLCプログラムPLCプログラム
セミナー資料 18
PLCプログラムPLCプログラム
ソフトウェア
ハードウェア
INplc
デジタル アナログ カウンタ サーボモーター
シリアル ネットワーク
フィールドバス
PLCプログラムPLCプログラム・HMI/SCADA
・EXCEL・ファイル処理・その他市販アプリなど
Windows 7/8.1 INtime®(RTOS)
外部入出力
産業用PC
セミナー資料 19
PCハードウェア
CPU(x86系)
LAN
USB
シリアル
ビデオ
PCI
PCIe
RAM
標準I/O※この他にサウンド、PS/2などがある
拡張用の外部バスHDD/SSD
PCは信頼性の高い産業用Windows PC
セミナー資料 20
●「熱」「振動」「粉じん」に対して耐環境性を考慮した構造●品質の高い電源・コンデンサー・抵抗の使用● FANレス、シリコンディスク(SSD)によるスピンドルレス仕様
産業用PCを選定する際のポイント
各ベンダー様から産業用PCとして販売
セミナー資料 21
ソフトウェアPLCの動作が要求を満たすための留意項目
クロックジッタ
タスク切替え性能
割込み応答性能
拡張スロットIRQ
内臓NIC
PCに搭載されているタイマー割込みの精度
タスク切り替え時にかかる時間
割込みが発生してから割込みハンドラが駆動するまので時間
PCI拡張スロットのIRQリソースがWindowsと競合していないこと
内蔵NICがリアルタイムOSで利用可能なNICであること
セミナー資料 22
PLCプログラムPLCプログラム
ソフトウェア
ハードウェア
INplc
デジタル アナログ カウンタ サーボモーター
シリアル ネットワーク
フィールドバス
PLCプログラムPLCプログラム・HMI/SCADA
・EXCEL・ファイル処理・その他市販アプリなど
産業用PC
Windows 7/8.1 INtime®(RTOS)
外部入出力
セミナー資料 23
• PCハードウェア上で動作するRTOS
• 最短50usの制御周期を実現• 1台のPC上でWindowsと共存す
るので、Windows機能が利用可能
• リアルタイムカーネルは独立しているのでWindowsの影響を受けない
• マルチコアCPUを利用することで複数カーネルを実現
• INtime®で動作するアプリケーションはMicrosoft Visual Studioで開発
• INplcはINtime®により0.1msecのアルタイム制御を実現
セミナー資料 24
PLCプログラムPLCプログラム
ソフトウェア
ハードウェア
デジタル アナログ カウンタ サーボモーター
シリアル ネットワーク
フィールドバス
PLCプログラムPLCプログラム・HMI/SCADA
・EXCEL・ファイル処理・その他市販アプリなど
産業用PC
Windows 7/8.1 INtime®(RTOS)
外部入出力
INplc
セミナー資料 25
ProConOS
PLCプログラムの実行部INplc
I/Oドライバファームウェアライブラリ
デジタル、アナログ各種フィールドバスなど・・・外部入出力
比較、演算、算術、文字変換、PID、ファイル操作など・・・
ライブラリの集合。サブルーチンのようなもの
セミナー資料 26
PLCプログラムPLCプログラム
ソフトウェア
ハードウェア
INplc
デジタル アナログ カウンタ サーボモーター
シリアル ネットワーク
フィールドバス
PLCプログラムPLCプログラム・HMI/SCADA
・EXCEL・ファイル処理・その他市販アプリなど
産業用PC
Windows 7/8.1 INtime®(RTOS)
外部入出力
セミナー資料 27
PLCプログラムの構成要素
設定
プログラミング
POU POU
POUPOU
I/Oコンフィガレーション
グローバル変数
POU
POUPOU
POU POU
POUPOU
POU
POU
POU
定周期 デフォルト イベント
ファンクション、ファンクションブロック
プログラム POU
システム タスク
※POU・・・Program Organization Unitの略。プログラムの構成単位。
セミナー資料 28
ソフトウェアPLCは、IEC61131-3に準拠した5つのプログラミング言語が使える
LD(ラダー) FBD(ファンクション) SFC(チャート)
IL(ニーモニック)ST(構造化)
セミナー資料 29
現在、ハードウェアPLCで広く使われているラダー言語と同じプログラミング言語
インターロック処理など、ビットを用いたシーケンス処理に向いている
セミナー資料 30
ファンクションブロックダイアグラム機能と機能間のデータや信号の流れを把握しやすいグラフィカル言語
コードは回路図のように各ブロック同士を配線するように記述
ファンクションブロックには「入力パラメータ」と「出力パラメータ」があり、複数の機能を組み合わせた処理を一つの命令のように扱える
セミナー資料 31
フローチャートの表現に近いグラフィカル言語
シーケンス制御を状態遷移図のように記述できるためプロジェクト全体の把握が容易
コードは、ACTION、BLOCKS、TRANSITIONS、STEPの基本要素により構成され、工程間の遷移条件や処理を明確に分けることが可能
セミナー資料 32
PASCALをベースに設計された構造化テキスト言語
数値演算式や複数の条件分岐などが記述できる
セミナー資料 33
ラダーニーモニックに似た言語
アプリケーションを小型化・高速化することが可能
コードは行ごとにシーケンスを記述
各行は演算子、オペランド、任意修飾子で構成される
セミナー資料 34
PLCプログラムPLCプログラム
ソフトウェア
ハードウェア
INplc
デジタル アナログ カウンタ サーボモーター
シリアル ネットワーク
フィールドバス
PLCプログラムPLCプログラム・HMI/SCADA
・EXCEL・ファイル処理・その他市販アプリなど
産業用PC
Windows 7/8.1 INtime®(RTOS)
外部入出力
セミナー資料 35
Windows ソフトウェアPLC(INplc)
お互いに独立し、影響を与えることはない
INplc-ControllerではWindows 7/8.1が動作する
Windowsの機能を利用することでPLCに付加価値を与える
セミナー資料 36
PLCプログラムPLCプログラム
ソフトウェア
ハードウェア
INplc
デジタル アナログ カウンタ サーボモーター
シリアル ネットワーク
フィールドバス
PLCプログラムPLCプログラム・HMI/SCADA
・EXCEL・ファイル処理・その他市販アプリなど
産業用PC
Windows 7/8.1 INtime®(RTOS)
外部入出力
セミナー資料 37
市販のHMIやSCADAソフトウェアの活用(ACTIVE TOUCH、KingSCADA、LabVIEW、InTouchなど)
EXCEL等のofficeソフトウェアの活用
Visual Studioで開発したプログラム(C++、C#、Basic etc・・・)
HMIやSCADA機能を搭載したPLCが構築できる
セミナー資料 38
大容量ストレージを利用・長期間のデータ保管・詳細データの保管
計測データ オペレーションログ
保守用履歴データ システム動作ログ
セミナー資料 39
音声基盤 PCのサウンドを利用
音声案内はWindowsのサウンドを利用PLCプログラムから音声ファイルを指定して鳴らす
WEBカメラの画像をHMI画面に表示(監視機能など)
インターネット
Windowsのネットワークサービスを利用することで、システムに付加価値を与える
遠隔操作を利用した保守機能の提供や、IISを利用したブラウザやメール機能等
WEBカメラ
セミナー資料 40
PLCプログラムPLCプログラム
ソフトウェア
ハードウェア
デジタル アナログ カウンタ サーボモーター
シリアル ネットワーク
フィールドバス
PLCプログラムPLCプログラム・HMI/SCADA
・EXCEL・ファイル処理・その他市販アプリなど
Windows 7/8.1 INtime®
外部入出力
WindowsレスのソフトウェアPLCが構築可能
INplc
産業用PC
セミナー資料 41
PLCプログラムPLCプログラム
ソフトウェア
ハードウェア
INplc
デジタル アナログ カウンタ サーボモーター
シリアル ネットワーク
フィールドバス
PLCプログラムPLCプログラム・HMI/SCADA
・EXCEL・ファイル処理・その他市販アプリなど
産業用PC
Windows 7/8.1 INtime®(RTOS)
外部入出力
セミナー資料 42
標準I/O
拡張I/O(PCI、PCI express)
ネットワーク
フィールドバス
デジタル
アナログ
カウンタ
EtherCAT® CC-Link
PROFINETPROFIBUS
DeviceNet
TCP・UDP
FL-net
RS232C
RS485/422
USB
サウンド
モーション
コントローラネットワーク
MECHATROLINK
INplc-Controller
●各社から販売しているさまざまな外部入出力を利用可能●ほとんどの省配線システムに対応(CC-Link, PROFIBUS, EtherCAT®、etc・・)
CC-Link IE
標準LANポート
セミナー資料 43
リアルタイムイーサーネット(100Mbps)
スレーブ機器の種類が豊富
デジ
タル
アナ
ログ
カウ
ンタ
RS-2
32/4
22/4
85
サー
ボモ
ータ
ー
EtherCAT®
スレーブ機器
最大入出力点数がほぼ無制限
INplc-Controller
オープン技術
セミナー資料 44
1.ソフトウェアPLCとはなにか2.ソフトウェアPLC「INplc」について3.INplc-Controllerについて4.ソフトウェアPLCの特徴5.ソフトウェアPLCの効果6.ソフトウェアPLCの課題
第1部 ソフトウェアPLCについて
セミナー資料 45
●高性能Intel系CPUは組込み用として最も高性能
●ローコストPCは標準化されているのでコストが安い
●ソフトウェアの互換性Windowsが動作するPCであればハードウェアに依存しない
●調達性ほとんどの構成要素(ハード、ソフト)は標準在庫
●選択の多様性さまざまなハードからニーズにフィットした構成が構築可能
セミナー資料 46
●高度なGUI機能が利用可能
●Windowsの機能が利用できる
●ネットワーク機能が先進的
●Windowsには互換がある
セミナー資料 47
各タスクは0.1msec周期のリアルタイムで動作
PLCプログラムは最大16タスクまでマルチタスクで実行
タスクには優先順位が設定可能
INplcはWindowsと独立動作
INplcは、Windowsがクラッシュしても動作を継続
INplcのリアルタイム性は、Windowsに影響を受けない
Core-1 Core-2
Core-3 Core-4
Quad Core CPU
■制御処理
装置のメイン制御処理をPLCプログラムで作成
セミナー資料 48
■ 画像解析処理
キャプチャーボードから取得した画像の解析処理を実行
■ Windows処理
Windowsを利用したHMIやインターネットサーバー機能を処理します。
■ サーボ制御処理
1.0msecを超える高速サーボ制御処理を実行
・・・Windows処理コア
・・・RTOS処理コア
-マルチコアCPUを搭載したPCを利用し、コア毎にWindowsやINplcを実行することによって、PLCに多くの機能が搭載可能
-コア毎の動作は完全に独立した並列動作
INplc
セミナー資料 49
命令 某社ハードウェアPLCINplc-Controller
Core i3 3240(3.40GHz)
LD・ST 34.97nsec 0.57nsec
ADD 104.68nsec 1.10nsec
SUB 104.68nsec 1.10nsec
AND 34.98nsec 1.08nsec
MUL 104.68nsec 2.62nsec
DIV 278.94nsec 11.84nsec
ROL 244.09nsec 22.89nsec
命令毎の処理速度データ
セミナー資料 50
0
50
100
150
200
250
300
350
400
450
1000step 2000step 3000step
某社ハードウェアPLC
INplc-Controller
入出力接点(64点)とタイマーとカウンタを組み合わせたPLCプログラムの速度比較結果
(usec)
16.9usec 18.4usec 20.1usec
283.3usec
354.8usec
427.4usec
セミナー資料 51
接点信号を入力しそれを出力へ
開始
内部リレーを反転する
タイマーを起動
内部リレーを別の内部リレーへ
終了
繰返し
カウンタ起動
1000ループ
64点分の接点信号を入力し、それをそのまま接点信号へ出力する
条件が異なる5つのタイマーを起動(タイマーは5.0秒)
条件が異なる5つのカウンタ起動(信号の立ち上がりを監視)
64点分の内部リレーを反転
64点分の内部リレーを別の内部リレーへコピー
①1000ステップ2000ステップ3000ステップ
それぞれの処理時間を計測(ステップ数の調節は最後の内部リレーの処理で調節)
②処理時間÷1000で1ループあたりの時間を算出
セミナー資料 52
1.ソフトウェアPLCとはなにか2.ソフトウェアPLC「INplc」について3.INplc-Controllerについて4.ソフトウェアPLCの特徴5.ソフトウェアPLCの効果6.ソフトウェアPLCの課題
第1部 ソフトウェアPLCについて
セミナー資料 53
他の機能を統合することによるコスト低減
PC技術を利用しているので、技術習得が容易で開発工数を低減可能
標準品の利用によるコスト低減
セミナー資料 54
部品化や階層化によるプログラム開発効率アップ
ロギングなどの機能を使って、効率的なテストが可能
セミナー資料 55
部品要素はマルチベンダーなので調達が比較的容易
メーカーやハードウェアには依存しないので、代替品での応急処置が可能
誰でもPCの取り扱いに慣れている
セミナー資料 56セミナー資料 56
1.ソフトウェアPLCとはなにか2.ソフトウェアPLC「INplc」について3.INplc-Controllerについて4.ソフトウェアPLCの特徴5.ソフトウェアPLCの効果6.ソフトウェアPLCの課題
第1部 ソフトウェアPLCについて
セミナー資料 57
課題1.保守サービスの方法- ハードウェアPLCベンダーのような全国規模のサービス体制に対して、
予備品やセンドバック保守、インターネットを活用した遠隔保守など
課題2.さらなるコストダウン- 安価なハードウェアPLCに対抗できるソフトウェアPLCの実現
課題3.ソフトウェアPLCの適用範囲の拡大- ソフトウェアPLCが広く認知されるために多くの導入実績が必要- 計装以外に適用するための外部入出力、ライブラリの拡充
課題4.安全PLCへの適応- 安全対応についてニーズが高まっている- 基本ソフトウェアライセンサーからは安全対応ソフトウェアPLCが提供されている
セミナー資料 58
第2部 プログラム開発
1.ソフトウェアPLC (INplc)構築2.PLCプログラム構成(IEC61131-3準拠)3.タスクの種類4. POUについて5.グローバル変数6. I/Oコンフィグレーション7.オンラインデバッグ8.PLCプログラミング(実演)9.デモについて
セミナー資料 59
I/Oドライバ インストール
ソフトウェアPLC(INplc)インストール
RTOS(INtime-RT)インストール
汎用Windows PCを準備
ソフトウェアPLCコントローラは下記の手順で作成します。
セミナー資料 60
プログラムは下記の構成で作成します。
FU
ローカル変数
POUFU
ローカル変数
POU
FB
ローカル変数
POUFB
ローカル変数
POU
I/Oコンフィグレーション
グローバル変数
FB
ローカル変数
POU
FU
ローカル変数
POUFB
ローカル変数
POU
プログラム、ローカル変数
FU
ローカル変数
POUFU
ローカル変数
POU
FB
ローカル変数
POUFB
ローカル変数
POU
FB
ローカル変数
POU
FB
ローカル変数
POU
FU
ローカル変数
POU
定周期 デフォルト イベント
ファンクションPOU
(部品)
プログラムPOU
タスク
FU
ローカル変数
POU
システム
設定
プログラミング
設定
セミナー資料 61
プログラムは下記の構成で作成します。
FU
ローカル変数
POUFU
ローカル変数
POU
FB
ローカル変数
POUFB
ローカル変数
POU
I/Oコンフィグレーション
グローバル変数
FB
ローカル変数
POU
FU
ローカル変数
POUFB
ローカル変数
POU
プログラム、ローカル変数
FU
ローカル変数
POUFU
ローカル変数
POU
FB
ローカル変数
POUFB
ローカル変数
POU
FB
ローカル変数
POU
FB
ローカル変数
POU
FU
ローカル変数
POU
定周期 デフォルト イベント
ファンクションPOU
(部品)
プログラムPOU
タスク
FU
ローカル変数
POU
システム
セミナー資料 62
タスク 動作 周期 タスク数
サイクリックタスク周期的に実行される
0.1ms~ 16
イベントタスク外部からのイベント通知で実行される
割込み 16
デフォルトタスク常時繰り返し実行される
0.5ms 1
システムタスクPLCシステムからのイベント通知で実行される
割込み 1
IEC
61
13
1-3
ベンダー
セミナー資料 63
1.0msec
・・・
サイクリックタスク
デフォルトタスク
・・・
イベントタスク
イベント発生
システムタスク
例外発生
プライオリティ1 プライオリティ1
プライオリティ2 プライオリティ2
プライオリティn プライオリティn
プライオリティ1
セミナー資料 64
プログラムは下記の構成で作成します。
FU
ローカル変数
POUFU
ローカル変数
POU
FB
ローカル変数
POUFB
ローカル変数
POU
I/Oコンフィグレーション
グローバル変数
FB
ローカル変数
POU
FU
ローカル変数
POUFB
ローカル変数
POU
プログラム、ローカル変数
FU
ローカル変数
POUFU
ローカル変数
POU
FB
ローカル変数
POUFB
ローカル変数
POU
FB
ローカル変数
POU
FB
ローカル変数
POU
FU
ローカル変数
POU
定周期 デフォルト イベント
ファンクションPOU
(部品)
プログラムPOU
タスク
FU
ローカル変数
POU
システム
セミナー資料 65
FB
プログラム
タスク
プログラム
FU
FB FU
FUFU・・・ファンクションPOUFB・・・ファンクションブロックPOU
セミナー資料 66
プログラムPOUは下記の構成で作成します。
FU
ローカル変数
POUFU
ローカル変数
POU
FB
ローカル変数
POUFB
ローカル変数
POU
I/Oコンフィグレーション
グローバル変数
FB
ローカル変数
POU
FU
ローカル変数
POUFB
ローカル変数
POU
プログラム、ローカル変数
FU
ローカル変数
POUFU
ローカル変数
POU
FB
ローカル変数
POUFB
ローカル変数
POU
FB
ローカル変数
POU
FB
ローカル変数
POU
FU
ローカル変数
POU
定周期 デフォルト イベント
ファンクションPOU
(部品)
プログラムPOU
タスク
FU
ローカル変数
POU
システム
セミナー資料 67
LD言語 ( Ladder Diagram )
•従来のLD言語と同じ考え方でプログラミングが可能•I/Oのインターロック処理などビットレベルの処理に向いている
FBD言語 ( Function Block Diagram )
•データや信号の流れの表現が得意なグラフィカル言語
•電子回路のようにプログラムを記述できるので、データや信号の流れが一目見て理解できる
IL言語 ( Instruction List )
•ニーモニック相当する言語(アセンブラのようなもの)•アプリケーションの高速化・小型化に発揮するがメンテナンス性が低い
ST言語 ( Structured Text )
•PASCALをベースに設計された構造化言語
•数値演算式やネストした条件分岐などに威力を発揮する
SFC言語 ( Sequential Function Chart )
•IEC規格以前から存在する言語•工程ごとの処理表現に優れている
グラフィック言語
テキスト言語
セミナー資料 68
プログラムは下記の構成で作成します。
FU
ローカル変数
POUFU
ローカル変数
POU
FB
ローカル変数
POUFB
ローカル変数
POU
I/Oコンフィグレーション
グローバル変数
FB
ローカル変数
POU
FU
ローカル変数
POUFB
ローカル変数
POU
プログラム、ローカル変数
FU
ローカル変数
POUFU
ローカル変数
POU
FB
ローカル変数
POUFB
ローカル変数
POU
FB
ローカル変数
POU
FB
ローカル変数
POU
FU
ローカル変数
POU
定周期 デフォルト イベント
ファンクションPOU
(部品)
プログラムPOU
タスク
FU
ローカル変数
POU
システム
セミナー資料 69
ファンクションは、複数の入力に対し結果は1つ
ファンクションブロックは、複数の入力に対し結果を複数実装することができる
ファンクション ファンクションブロック
入力:N出力:1
入力:N出力:N
種類 内容
標準ファンクション IEC準拠の準備されたファンクションやファンクションブロックの事をいいます。IEC準拠のソフトPLC間では互換性があり既に準備されているためユーザーがプログラミングする事無く使用する事が出来ます。
ベンダーが準備したファンクション
ベンダーに提供しているファンクションです。
※ベンダーのファンクションは別のPLCメーカに移行する場合は、使用していたメーカ独自のファンクションと同等のファンクションを準備する必要が有ります。標準ファンクション同様既に準備されているためユーザーがプログラミングする事無く使用する事が出来ます。
ユーザーファンクション ユーザーがIEC5言語で作成したファンクションやファンクションブロック
セミナー資料 70
No グループ 内容
1 型変換ファンクション 変数のデータ型を変換する
2 算術ファンクション 加算・減算・積算・除算・べき乗・補数など
3 ビット文字列ファンクション 左右ローテーション・左右シフトなど
4 文字列ファンクション 文字列の連結・検索・比較・置き換えなど
5 比較ファンクション =、>=、<=、>、<、<>
6 数値ファンクション 絶対値・sin・cos・tan・平方根など
7 ビット操作ファンクション AND・NOT・OR・XORなど
8 エッジ検出ファンクションブロック 立ち上がり、立ち下り検出
9 カウンタファンクション ブロック アップカウンタ、ダウンカウンタなど
10 タイマファンクション ブロック パルスカウンタ、ディレイタイマなど
11 PID処理 比例 + 積分 + 微分ループ機能
12 ファイル操作 ファイルの読み書き
13 時間操作 日付や時間取得
14 PLC操作 PLCの開始や停止、リテイン書き込みなど
セミナー資料 71
(一部抜粋)
IEC
61
13
1-3
ベンダー
セミナー資料 72
プログラムは下記の構成で作成します。
FU
ローカル変数
POUFU
ローカル変数
POU
FB
ローカル変数
POUFB
ローカル変数
POU
I/Oコンフィグレーション
グローバル変数
FB
ローカル変数
POU
FU
ローカル変数
POUFB
ローカル変数
POU
プログラム、ローカル変数
FU
ローカル変数
POUFU
ローカル変数
POU
FB
ローカル変数
POUFB
ローカル変数
POU
FB
ローカル変数
POU
FB
ローカル変数
POU
FU
ローカル変数
POU
定周期 デフォルト イベント
ファンクションPOU
(部品)
プログラムPOU
タスク
FU
ローカル変数
POU
システム
セミナー資料 73
従来のプログラム
変数型のプログラム
変数の定義
従来のPLCプログラムのようにアドレスを直接指定するのではなく、アドレスに対し変数を定義して使用します。
セミナー資料 74
変数の定義
全てのプログラムからアクセス可能な共通の変数のことを「グローバル変数」と呼びます。
また、I/Oモジュールに接続される入出力信号はアドレ
スを割り付ける事で変数名で信号の入出力が行えます
I/Oインプットメモリイメージ
0 08 07 06 05 04 03 02 01
1 16 15 14 13 12 11 10 09
2
アドレス
セミナー資料 75
プログラムは下記の構成で作成します。
FU
ローカル変数
POUFU
ローカル変数
POU
FB
ローカル変数
POUFB
ローカル変数
POU
I/Oコンフィグレーション
グローバル変数
FB
ローカル変数
POU
FU
ローカル変数
POUFB
ローカル変数
POU
プログラム、ローカル変数
FU
ローカル変数
POUFU
ローカル変数
POU
FB
ローカル変数
POUFB
ローカル変数
POU
FB
ローカル変数
POU
FB
ローカル変数
POU
FU
ローカル変数
POU
定周期 デフォルト イベント
ファンクションPOU
(部品)
プログラムPOU
タスク
FU
ローカル変数
POU
システム
セミナー資料 76
I/OモジュールのデータをI/Oのメモリイメージに割り付けます。
08 07 06 05 04 03 02 01
16 15 14 13 12 11 10 09
デジタル入力 16点I/Oインプットメモリイメージ
0 08 07 06 05 04 03 02 01
1 16 15 14 13 12 11 10 09
2 1ch
3 2ch
4 3ch
5 4ch
6
・・・
アドレス
アナログ入力 4ch
1ch
2ch
3ch
4ch
セミナー資料 77
従来のPLCプログラムの入出力記述のほかに、ファンクションで入出力する方法があります。大きなデータやステータス判定が伴う場合は、より詳細な処理を記述できるファンクションによる入出力が有効です。
No グループ 内容
1 シリアル シリアル通信に対応するアプリケーションや機器にPLCプログラムからデータの送受信する
2 ソケット通信 ソケット通信用ファンクション
3 位置決め 左右ローテーション・左右シフトなど
4 EtherCAT® ステートの変更やCoE読み込み書き込みなど
セミナー資料 78
(一部抜粋)
セミナー資料 79
PLCプログラムのデバッグは開発PCから行います。
INplc-Controller 開発PC
オンラインモードデバッグ画面
LAN
ロジックアナライザ画面 ウォッチウィンドウ画面
セミナー資料 80
PLC開発ツールでプロジェクトを新規作成します
I/Oの設定とI/Oメモリを変数へ割り付けます
FU/FB・プログラムを作成しタスクへ割り付けます
コンパイルしたプログラムをPLCコントローラへダウンロードします
ダウンロードしたプログラムを実行します
実行しているPLCプログラムをオンライン上でデバッグを行います
PLCプログラムは下記の流れで実際に開発からデバッグまでを行います。
オンラインデバッグ
ダウンロード
プログラミング
I/O割り付け
プロジェクト新規作成
実行
セミナー資料 81
PLCプログラミングの簡単な実演例として下記の内容でご説明いたします。
EtherCAT®のI/Oを使用し、サイクリックタスクでユーザーFB(FlipFlop)を使用したプログラミングを行います。
ハードウェア構成
S/W LED
EtherCAT®
PLCプログラム構成
プログラム
ユーザーFB
サイクリック タスク
セミナー資料 82
ユーザーFB(FlipFlop)は2点の入力と1点の出力を行うFBです。
プログラム
ユーザーFB
入力1(DI)でFBを起動します。
入力1の入力はFB内で自己保持されます。
自己保持中は500ms毎に出力(DO)のON・OFFを切り替えます。
入力2(DI)の入力により自己保持を解除し出力(DO)をOFFします。
セミナー資料 83
PLC開発ツールでプロジェクトを新規作成します
I/Oの設定とI/Oメモリを変数へ割り付けます
FU/FB・プログラムを作成しタスクへ割り付けます
コンパイルしたプログラムをPLCコントローラへダウンロードします
ダウンロードしたプログラムを実行します
実行しているPLCプログラムをオンライン上でデバッグを行います
PLCプログラムは下記の流れで開発とデバッグを行います。
オンラインデバッグ
ダウンロード
プログラミング
I/O割り付け
プロジェクト新規作成
実行
セミナー資料 84
初めに新規プロジェクトを作成を行います。
新規プロジェクトはテンプレートまたはウィザードを使用して作成します。
テンプレートを選択する事により基本的な設定が完了した状態のプロジェクト生成する事が出来ます。
新規プロジェクトの作成を行います。
セミナー資料 85
PLC開発ツールでプロジェクトを新規作成します
I/Oの設定とI/Oメモリを変数へ割り付けます
FU/FB・プログラムを作成しタスクへ割り付けます
コンパイルしたプログラムをPLCコントローラへダウンロードします
ダウンロードしたプログラムを実行します
実行しているPLCプログラムをオンライン上でデバッグを行います
PLCプログラムは下記の流れで開発とデバッグを行います。
オンラインデバッグ
ダウンロード
プログラミング
I/O割り付け
プロジェクト新規作成
実行
セミナー資料 86
I/Oを入出力メモリへの割り付け設定を行います。
変数にI/O入出力メモリを割り付けます。
PLCプログラムは入出力メモリに割
り付けた変数を参照・書き込みする事によりI/O入出力を行います。
I/Oの設定と変数への割り付けを行います。
セミナー資料 87
PLC開発ツールでプロジェクトを新規作成します
I/Oの設定とI/Oメモリを変数へ割り付けます
FU/FB・プログラムを作成しタスクへ割り付けます
コンパイルしたプログラムをPLCコントローラへダウンロードします
ダウンロードしたプログラムを実行します
実行しているPLCプログラムをオンライン上でデバッグを行います
PLCプログラムは下記の流れで開発とデバッグを行います。
オンラインデバッグ
ダウンロード
プログラミング
I/O割り付け
プロジェクト新規作成
実行
セミナー資料 88
IEC61131-3で使用できる5言語を使用しプログラミングを行います。
ユーザーFU/FBを作成します。
プログラムPOUにプログラミングします。
コンパイルし実行ファイルを作成します。
プログラミングを行います。
セミナー資料 89
PLC開発ツールでプロジェクトを新規作成します
I/Oの設定とI/Oメモリを変数へ割り付けます
FU/FB・プログラムを作成しタスクへ割り付けます
コンパイルしたプログラムをPLCコントローラへダウンロードします
ダウンロードしたプログラムを実行します
実行しているPLCプログラムをオンライン上でデバッグを行います
PLCプログラムは下記の流れで開発とデバッグを行います。
オンラインデバッグ
ダウンロード
プログラミング
I/O割り付け
プロジェクト新規作成
実行
セミナー資料 90
コンパイルしたPLCプログラムをPLCコントローラへダウンロードします。
ダウンロードはRUN中書き込みも可能です。
ダウンロードと実行を行います。
セミナー資料 91
PLC開発ツールでプロジェクトを新規作成します
I/Oの設定とI/Oメモリを変数へ割り付けます
FU/FB・プログラムを作成しタスクへ割り付けます
コンパイルしたプログラムをPLCコントローラへダウンロードします
ダウンロードしたプログラムを実行します
実行しているPLCプログラムをオンライン上でデバッグを行います
PLCプログラムは下記の流れで開発とデバッグを行います。
オンラインデバッグ
ダウンロード
プログラミング
I/O割り付け
プロジェクト新規作成
実行
セミナー資料 92
ダウンロード後、コールドスタートで実行します。
また停止したCPLプログラムも「コー
ルドスタート」「ウォームスタート」「ホットスタート」で実行する事が出来ます。
ダウンロードと実行を行います。
セミナー資料 93
PLC開発ツールでプロジェクトを新規作成します
I/Oの設定とI/Oメモリを変数へ割り付けます
FU/FB・プログラムを作成しタスクへ割り付けます
コンパイルしたプログラムをPLCコントローラへダウンロードします
ダウンロードしたプログラムを実行します
実行しているPLCプログラムをオンライン上でデバッグを行います
PLCプログラムは下記の流れで開発とデバッグを行います。
オンラインデバッグ
ダウンロード
プログラミング
I/O割り付け
プロジェクト新規作成
実行
セミナー資料 94
PLCコントローラでRUN中のプログラムをロードします。
RUN中のPLCコントローラに接続します。
オンラインデバッグをONにすると現
在の状態の確認や値の強制変更などする事が出来ます。
オンラインデバッグを行います。
ロジックアナライザ画面 ウォッチウィンドウ画面
セミナー資料 95
EtherCAT®
開発用PC
入出力ユニット
アナログS/W
LAN
INplc-Controller
キャリブレータ
デジタル
機器構成
LED
セミナー資料 96
デモはソフトPLCの特徴の1つでもある大容量ストレージ(ハードディスク)を活用し、アナログ信号とデジタル信号を1.0ms周期で各信号をハードディスクへ保存します。またI/O信号を共有メモリを使用しExcelへ値を表示します。
サンプリングデータファイル(CSV)
0
Low
HI
アナログ信号
0
1
デジタル信号
PLCソフトウェア
共有メモリ
PLCコントローラ
OCX Excel
・・・
セミナー資料 97
ソフトウェア
ハードウェア
INplc
デジタル アナログ カウンタ 位置決め
シリアル ネットワーク
フィールドバス
PLCプログラム
Excel
産業用PC
Windows 7/8.1 INtime®
サンプリングデータファイル
(CSV)
共有
メモ
リOCX
セミナー資料 98
共有メモリ
PLCプログラム
I/Oコンフィグレーション
グローバル変数
ファイル出力
定周期
ファンクションPOU
(部品)
プログラムPOU
タスク 定周期
メモリ入出力ファイル
I/O信号
取得
セミナー資料 99
EXCEL ソフトウェアPLCOCX
共有メモリ
・PLCソフトウェアから共有メモリへデータを書き込む・OCXを経由して共有メモリの値を取得し表示する。
Windows RTOS
セミナー資料 100
第3部 ソフトウェアPLC適用事例
1.太陽光発電モニターシステム2.試験用対抗機への適用例3.位置決めシステム
セミナー資料 101
太陽電池モジュール
気温計日射計
電力会社
モニターシステム
パワーコンディショナ 受変電設備
■PLCプログラム1)アナログ/デジタル信号入力2)パワコンとのTCP通信処理3)ファイル出力処理
■HMI(Windows)
セミナー資料
インターネット
ルーター
Ethernet(Modbus/TCP)
パワーコンディショナ
組込み用INplc-Controller
受変電設備日射計 気温計
Ethernet
EtherCAT®
アナログ/デジタル信号
ディスプレイ
102
セミナー資料
PLCプ
ログ
ラム
CC-Link IE
PROFI BUS
FL-net標準LAN
ソフトウェアPLCを対抗機として利用
これまではそれぞれのPLC毎に試験機を準備していた
ソフトウェアPLCの特徴である、・豊富なデバイスを利用可能・PLCプログラムの部品化
を活かし、1台のPLCコントローラーで対抗機を実現
対抗機はSIベンダーへ配布し、SIベンダーは試験内容に沿ってPLCプログラムを変更して利用
メーカー側が製作したファンクションはパスワードで保護
A社PLC
INplc
CC-Link PROFIBUS FL-net
ファンクション ファンクション ファンクション
B社PLC
C社PLC
シミュレーション処理
I/Oド
ライ
バ
標準LAN ハー
ドウ
ェア
INplc-Controller
103
セミナー資料
ソフトウェアPLC
サーボモーター
ハードウェアPLC
Ethernet
カメラ
画像処理PC
HMI
サーボモーター
EtherCAT®
モーションネットワーク
カメラ
画像ボード
画像ボード
タッチパネル
104
PLC+画像処理PC+HMIを1台のPLCコントローラーで実現
セミナー資料 105
INplc
PLCプログラム
HM
Iアプリケーション
産業用PC
Windows 7 INtime®(RTOS)
サーボ制御処理(C言語プログラム)
高速制御な周期(0.1msec)
動作指示動作指示
結果結果
複数サーボモーターの同期制御
画像処理
アプリケーション
画像ボード
カメラ
セミナー資料
106
・本セミナーテキストに掲載の製品の名称およびロゴはそれぞれ各社が商標として使用している場合があります。
・TenAsys®, INtime®, eVM® and iRMX® are registered trademarks in USA of the TenAsys Corporation.
・Windows は 、米国 Microsoft Corporation の米国およびその他の国における商標または登録商標です。
・MULTIPROG と ProConOS は、KW-Software GmbH, Langenbruch 6, 32657 Lemgo, Germany の登録商標です。
・EtherCAT®は、Beckhoff Automation GmbH, Germanyの登録商標です。・その他、本書に記載されている会社名、商品名は、各社の商標または登録商標です。
・本書の内容を無断で転載することは禁止されています。・本書の内容に関しては、予告なしに変更することがあります。あらかじめご了承ください。