QnACPU プログラミングマニュアル(SFC 編)

QnACPU プログラミングマニュアル(SFC 編)
QnACPU
プログラミングマニュアル(SFC 編)
形名
QNACPU-P(SFC)
形名
コード
13J520
SH(名)-3559-A(9507)MEE
● 安全上のご注意 ●
(ご使用前に必ずお読みください)
MELSEC-A/QnAシリーズシーケンサのご使用に際しては,各製品に付属しているマニュアルおよび付属
マニュアルで紹介している関連マニュアルをよくお読みいただくと共に,安全に対して充分に注意を払っ
て,正しい取扱いをしていただくようお願いいたします。
なお,このマニュアルでは,安全注意事項のランクを「危険」,「注意」として区分してあります。
危険
注意
取扱いを誤った場合に,危険な状況が起こりえて,死亡または重傷
を受ける可能性が想定される場合。
取扱いを誤った場合に,危険な状況が起こりえて,中程度の傷害や
軽傷を受ける可能性が想定される場合および物的損害だけの発生が
想定される場合。
なお, 注意 に記載した事項でも,状況によっては重大な結果に結びつく可能性があります。
いずれも重要な内容を記載していますので必ず守ってください。
製品に付属しているマニュアルは必要なときに取り出して読めるように大切に保管すると共に,必ず
最終需要家までお届けいただくようにお願いいたします。
危険
【設計上の注意事項】
● 外部電源の異常やシーケンサ本体の故障時でも,システム全体が安全側に働くようにシーケンサの外
部で安全回路を設けてください。
誤出力,誤動作により,事故の恐れがあります。
(1) 非常停止回路,保護回路,正転/逆転などの相反する動作のインタロック回路,位置決めの上限/
下限など機械の破損防止のインタロック回路などは,シーケンサの外部で回路構成してください。
(2) シーケンサが次の異常状態を検出すると,演算を停止して全出力をOFFにします。
・電源ユニットの過電流保護装置または過電圧保護装置が働いたとき。
・シーケンサCPUでウォッチドグタイマエラーなど自己診断機能で異常を検出したとき。
また,シーケンサCPUで検出できない入出力制御部分などの異常時は,全出力がONすることがあ
ります。このとき,機械の動作が安全側に働くよう,シーケンサの外部でフェールセーフ回路を
構成したり,機構を設けたりしてください。
フェールセーフ回路例については,CPUユニットのユーザーズマニュアルを参照してください。
(3) 出力ユニットのリレーやトランジスタなどの故障によっては,出力がONしっぱなしになったり,
OFFしっぱなしになったりすることがあります。重大な事故につながるような出力信号について
は,外部で監視する回路を設けてください。
● シーケンサ本体電源立上げ後に,外部供給電源を投入するように回路を構成してください。
外部供給電源を先に立ち上げると,誤出力,誤動作により事故の恐れがあります。
1
━━━━ 安全上のご注意 ━━━━
危険
【設計上の注意事項】
● データリンクが交信異常になったとき,交信異常局は次のような状態になります。交信状態情報を使っ
て,システムが安全側に働くようにシーケンスプログラム上でインタロック回路を構成してください。
誤出力,誤動作により,事故の恐れがあります。
(1) データリンクデータは,交信異常前のデータを保持します。
(2) MELSECNET(Ⅱ,/B,/10)のリモートI/O局は,全出力がOFFします。
(3) MELSECNET/MINI-S3のリモートI/O局は,E.C.モード設定により出力保持または全出力がOFFします。
交信異常局の確認方法や交信異常時の動作状態については,各データリンクのマニュアルを参照して
ください。
注意
【設計上の注意事項】
● 制御線や通信ケーブルは,主回路や動力線などと束線したり,近接したりしないでください。
100mm以上を目安として離してください。
ノイズにより,誤動作の原因になります。
注意
【取付け上の注意事項】
● シーケンサは,マニュアル記載の一般仕様の環境で使用してください。
一般仕様の範囲以外の環境で使用すると,感電,火災,誤動作,製品の損傷あるいは劣化の原因にな
ります。
● ユニット下部のユニット固定用突起を,ベースユニットの固定穴に確実に挿入してから装着してくだ
さい。 ユニットが正しく装着されていないと,誤動作,故障,落下の原因になります。
● 増設ケーブルは,ベースユニットやユニットのコネクタに確実に装着してください。装着後に,浮上
りがないかチェックしてください。
接触不良により,誤入力,誤出力の原因になります。
● メモリカセットは,メモリカセット装着用コネクタに押し付けて確実に装着してください。装着後に,
浮上りがないかチェックしてください。
接触不良により,誤動作の原因になります。
● メモリは,メモリソケットに押し付けて確実に装着してください。装着後に,浮上りがないかチェッ
クしてください。
接触不良により,誤動作の原因になります。
2
━━━━ 安全上のご注意 ━━━━
危険
【配線上の注意事項】
● 取付け,配線作業などは,必ず電源を外部にて全相遮断してから行ってください。
全相遮断しないと,感電あるいは製品の損傷の恐れがあります。
● 取付け,配線作業などの後,通電,運転を行う場合は,必ず製品に付属の端子カバーを取り付けてく
ださい。
端子カバーを取付けないと,感電の恐れがあります。
注意
【配線上の注意事項】
● FG端子およびLG端子は,シーケンサ専用の第三種接地以上で必ず接地を行ってください。
感電,誤動作の恐れがあります。
● シーケンサへの配線は,製品の定格電圧および端子配列を確認した上で正しく行ってください。
定格と異なった電源を接続したり,誤配線をすると,火災,故障の原因になります。
● 複数の電源ユニットの出力を並列接続しないでください。
電源ユニットが加熱し,火災,故障の原因になります。
● 端子ネジは,規定トルクで締め付けてください。
端子ネジの締め付けがゆるいと,短絡,火災,誤動作の原因になります。
● ユニット内に,切粉や配線クズなどの異物が入らないように注意してください。
火災,故障,誤動作の原因になります。
● 外部接続用コネクタは,指定の工具で圧着,圧接または正しくハンダ付けしてください。
圧着工具,圧接工具については,入出力ユニットのユーザーズマニュアルを参照してください。
接続が不完全になっていると,短絡,火災,誤動作の原因になります。
3
━━━━ 安全上のご注意 ━━━━
危険
【立上げ・保守時の注意事項】
● 通電中に端子に触れないでください。
感電の恐れや,誤動作の原因になります。
● バッテリは正しく接続してください。充電,分解,加熱,火中投入,ショート,ハンダ付けなどを行
わないでください。
バッテリの取扱いを誤ると,発熱,破裂,発火などにより,ケガ,火災の恐れがあります。
● 清掃や端子ネジの増し締めは,電源をOFFしてから行ってください。
通電中に行うと,感電の恐れがあります。
注意
【立上げ・保守時の注意事項】
● 運転中のプログラム変更,強制出力,RUN,STOP,PAUSE等の操作はマニュアルを熟読し,十分に安全を
確認してから行ってください。
操作ミスにより機械の破損や事故の原因になります。
● 各ユニットの分解,改造はしないでください。
故障,誤動作,ケガ,火災の原因になります。
● ユニットの着脱は,電源をOFFしてから行ってください。
通電中に行うと,ユニットの故障や誤動作の原因になります。
● ヒューズを交換するときは,指定のヒューズを使用してください。
容量の大きなものや電線などを使用すると,火災の原因になります。
注意
【廃棄時の注意事項】
● 製品を廃棄するときは,産業廃棄物として扱ってください。
4
改
定
履
歴
※取扱説明書番号は,本説明書の裏表紙の左下に記載してあります。
印刷日付
1995年 7月
※
取扱説明書番号
SH(名)-3559-A
改
定
内
容
初版印刷
本書によって,工業所有権その他の権利の実施に対する保証,または実施権を許諾するものではありません。また本書
の掲載内容の使用により起因する工業所有権上の諸問題については,当社は一切その責任を負うことができません。
 1995 MITSUBISHI ELECTRIC CORPORATION
は じ め に
このたびは,三菱汎用シーケンサMELSEC−QnAシリーズをお買い上げいただきまことにありがとうございました。
ご使用前に本書をよくお読みいただき,QnAシリーズシーケンサの機能・性能を十分ご理解のうえ,正しくご使用く
ださるようお願い致します。
なお,本マニュアルにつきましては最終ユーザまでお届けいただきますよう,宜しくお願い申し上げます。
目
1 概 要
次
1- 1∼1- 9
1.1 SFCプログラムとは ............................................................................ 1- 2
1.2 SFC(MELSAP3)の特長 ........................................................................... 1- 3
2 システム構成
3 仕
2- 1
様
3- 1∼3- 8
3.1 SFCプログラムに関する性能仕様 ................................................................. 3- 1
3.2 デバイス一覧 ................................................................................. 3- 3
3.3 SFCプログラムの処理時間 ...................................................................... 3- 4
3.4 SFCプログラムの容量計算 ...................................................................... 3- 7
4 SFCプログラムの構成
4- 1∼4-69
4.1 SFC図記号一覧 ................................................................................ 4- 2
4.2 ステップ ..................................................................................... 4- 4
4.2.1 ステップ
(ステップ属性なし) ............................................................ 4- 4
4.2.2 イニシャルステップ
4.2.3 ダミーステップ
..................................................................... 4- 6
......................................................................... 4- 6
4.2.4 コイル保持ステップ SC
.................................................................. 4- 7
4.2.5 動作保持ステップ(移行チェックなし) SE
................................................. 4- 9
4.2.6 動作保持ステップ(移行チェックあり) ST
................................................. 4-10
4.2.7 リセットステップ R
..................................................................... 4-11
4.2.8 ブロック起動ステップ(終了チェックあり)
................................................ 4-12
4.2.9 ブロック起動ステップ(終了チェックなし)
................................................ 4-13
4.2.10 ブロックエンド ........................................................................... 4-14
4.3 移行条件 ..................................................................................... 4-15
4.3.1 直列移行 ................................................................................. 4-15
4.3.2 選択移行 ................................................................................. 4-17
4.3.3 並列移行 ................................................................................. 4-20
4.3.4 ジャンプ移行 ............................................................................. 4-23
4.3.5 イニシャルステップが複数ステップのときの移行処理 .......................................... 4-24
4.3.6 動作出力(ステップ)/移行条件シーケンスプログラム作成上の注意事項 ........................ 4-25
4.4 SFCプログラムを命令で制御する(SFC制御命令) ................................................... 4-28
4.4.1 ステップ活性チェック命令(LD,LDI,AND,ANI,OR,ORI) ........................................... 4-31
4.4.2 強制移行チェック命令 ..................................................................... 4-33
4.4.3 ブロック活性チェック命令(BLm) ............................................................. 4-35
4.4.4 活性ステップ一括読出命令(MOV,DMOV) ........................................................ 4-36
4.4.5 活性ステップ一括読出命令(BMOV) ............................................................ 4-38
4.4.6 ブロック起動・終了命令(SET,RST) ........................................................... 4-40
4.4.7 ブロック停止・再開命令(PAUSE,RSTART) ...................................................... 4-41
4.4.8 ステップ起動・終了命令(SET,RST) ........................................................... 4-43
4.4.9 強制移行実行・解除命令(SET,RST) ........................................................... 4-45
4.4.10 活性ステップ変更命令(SCHG) ................................................................ 4-46
4.4.11 対象ブロック切替え命令(BRSET) ............................................................. 4-47
4.4.12 プログラム実行状態チェック命令 ............................................................ 4-49
4.4.13 サブルーチンコール命令(XCALL) ............................................................. 4-50
4.4.14 タイムチェック命令(TIMCHK) ................................................................ 4-52
4.5 SFC用情報レジスタ ............................................................................ 4-53
4.5.1
ブロック起動終了ビット ................................................................... 4-54
4.5.2
ステップ移行ビット ....................................................................... 4-55
4.5.3
ブロック停止再開ビット ................................................................... 4-56
4.5.4
ブロック停止モードビット .................................................................. 4-58
4.5.5
連続移行ビット ........................................................................... 4-59
4.5.6
活性ステップ数レジスタ ................................................................... 4-60
4.6 ステップ移行監視タイマ ....................................................................... 4-61
4.7 SFC動作モード設定 ............................................................................ 4-63
4.7.1
SFCプログラム起動モード ................................................................... 4-64
4.7.2
ブロック0起動条件 ........................................................................ 4-64
4.7.3
ブロック停止時の出力モード ................................................................ 4-65
4.7.4
定時実行ブロック設定 ..................................................................... 4-66
4.7.5
ブロック2重起動時の運転モード ............................................................. 4-67
4.7.6
活性ステップへの移行(ステップ2重起動時)の運転モード ..................................... 4-68
5 SFCプログラムの処理順序
5- 1∼5-12
5.1 プログラム全体の処理 ......................................................................... 5- 2
5.1.1 プログラム全体の処理の流れ ................................................................ 5- 2
5.1.2 命令による実行指定 ....................................................................... 5- 4
5.1.3 プログラム実行管理用SFCプログラム ......................................................... 5- 5
5.2 SFCプログラム処理の処理順序 ................................................................... 5- 7
5.2.1 SFCプログラムの実行サイクル ............................................................... 5- 7
5.2.2 各ブロックの実行順序 ..................................................................... 5- 8
5.2.3 各ステップの実行順序 ..................................................................... 5- 9
5.2.4 連続移行あり/なしによる動作 .............................................................. 5-10
6 SFCプログラムの実行
6- 1∼6- 9
6.1 SFCプログラムの起動と終了 ..................................................................... 6- 1
6.1.1 プログラムの続行スタート方法 .............................................................. 6- 2
6.2 ブロックの起動と終了 ......................................................................... 6- 3
6.2.1 ブロックの起動方法 ....................................................................... 6- 3
6.2.2 ブロックの終了方法 ....................................................................... 6- 4
6.3 ブロックの処理を一時停止・再開させる方法 ...................................................... 6- 5
6.3.1 ブロックを停止させる方法 .................................................................. 6- 5
6.3.2 停止させたブロックの処理を再開させる方法 .................................................. 5- 6
6.4 ステップの起動(活性),終了(非活性)方法 .................................................... 6- 7
6.4.1 ステップの起動(活性)方法 ................................................................ 6- 7
6.4.2 ステップの終了(非活性)方法 .............................................................. 6- 8
6.4.3 活性ステップの変更方法 ................................................................... 6- 9
付
録
付- 1∼付-10
付1 特殊リレー,特殊レジスタ一覧 ................................................................. 付- 1
付1.1 特殊リレーSM ............................................................................ 付- 1
付1.2 特殊レジスタSD .......................................................................... 付- 4
付2 MELSAP-ⅡとMELSAP3の比較 .................................................................... 付- 6
1.概 要
1.
概 要
MELSEC-QnA
1 概 要
本マニュアルは,MELSEC-Q2A, Q2A-S1, Q3A, Q4ACPU(以下QnACPUと略す)をMELSAP3によ
りSFCプログラムでプログラミングするときの仕様,機能,命令,プログラミング方法などにつ
いて説明したものです。
SFCとは,シーケンシャル・ファンクション・チャート(Sequential Function Chart)の略で,
一連の制御動作をステップ遷移で複数のステップに分割し,プログラムの実行順序や実行条件
を明確に表現できるようにした制御仕様の記述形式です。
MELSAP3は,IEC規格のSFCに準拠しています。
なお,本文中はSFC(プログラム,図)と記載しています。
関連マニュアル マニュアル名称
MELSAP3プログラミングマニュアル(ガイド編)
SFCプログラムの基本的な考え方,SFCプログラム作成の基本操作などについて説明しています。
(別売)
SW0NX-GPPQオペレーティングマニュアル(SFC編)
SFCプログラム作成用ソフトウェアパッケージを使用してのSFCプログラム作成のための操作
方法について説明しています。
(ソフトウェアパッケージSW0NX-GPPQに同梱)
Q2A(S1)/Q3A/Q4ACPUユーザーズマニュアル(詳細編)
QnACPUの仕様,機能,エラーコード一覧などについて説明しています。
(別売)
QnACPUプログラミングマニュアル(基礎編)
プログラムの作成に必要なプログラミング方法,デバイス名,パラメータ,プログラムの種
類,メモリエリアの構成などについて説明しています。
(別売)
QnACPUプログラミングマニュアル(共通命令編)
シーケンス命令,基本命令,応用命令の使用方法について説明しています。
1 - 1
(別売)
マニュアル番号
(形名コード)
標準価格
SH-3560
(13JG82)
¥600
IB-68518
(13J456)
¥1,000
SH-3522
(13JG73)
¥2,000
SH-3540
(13J521)
¥1,000
SH-3541
(13J522)
¥2,000
1.概 要
MELSEC-QnA
1.1 SFCプログラムとは
SFCプログラムは,機械の一連の動作における各動作単位を1つのステップとして表わし,
さらに各ステップにおける実際の細かな制御をラダー回路によりプログラミングします。
機械動作
フローチャート
加工開始操作
〔SFC図〕
1動作単位
〔各ステップの動作出力,移行条件のラダー図〕
イニシャル
ステップ
起動スイッチ ワーク検出
X0
X1
コンベア起動
Y20
パレット検出
X2
移行条件1
パレット確認
クランプ動作
Tran
パレットクランプ
1動作単位
Y21
ステップ1
クランプ確認
X3
移行条件2
Tran
ドリル回転
Y22
Y22
PLS
M0
ドリル下降
SET
Y23
M0
機械の一連動作
穴開け加工
1動作単位
ステップ2
X4
ドリル下降端
RST
Y23
K20
TO
ドリル上昇
SET
Y24
TO
ドリル上昇端
X5
移行条件3
Tran
パレットアンクランプ
Y25
アンクランプ動作
ワーク搬出
1動作単位
ステップ3
PLS
X6
アンクランプ確認
X7
ワーク搬出確認
RST
Y24
コンベア起動
Y20
移行条件4
加工完了
M1
M1
1動作単位
Tran
エンドステップ
SFCプログラム
SFCプログラムの動作は,イニシャルステップから始まり,移行条件が成立するごとに移行条
件の次のステップを順次実行して,エンドステップにて一連の動作を終了します。
(1) SFCプログラムを起動すると,最初にイニシャルステップを実行します。
(2) 移行条件1が成立するまでイニシャルステップのみを実行します。移行条件1が成立すると,
イニシャルステップの実行を停止し,イニシャルステップの次のステップを実行します。
このように,SFCプログラムでは,各ステップの次の移行条件が成立することにより,各ステッ
プを順番にエンドステップまで実行します。
1 - 2
1.概 要
MELSEC-QnA
1.2 SFC(MELSAP3)の特長
(1) システム設計・保全作業が容易
設備全体,各ステーションの機械装置,各機械の実際の制御をSFCプログラムの各ブロック,
各ステップと1対1で対応させることができるため,システム設計,保全などの作業をシー
ケンスプログラムの経験が浅くても,相当深い所まで追求して行くことが可能です。また,
シーケンスプログラムと比較し,他人が設計したプログラムでも容易に解読することがで
きます。
ステーション1
制御装置
ステーション2
制御装置
全体工程
歩進用
制御装置
ステーション3
制御装置
トランスファーマシン
設備全体
(SFCプログラム)
全体工程歩進用
制御装置
(ブロック0)
トラマン起動
(イニシャルステップ)
繰
り
返
し
ステーション1
制御装置
(ブロック1)
スタート
(イニシャルステップ)
ステーション2
制御装置
(ブロック2)
スタート
(イニシャルステップ)
ステーション3
制御装置
(ブロック3)
スタート
(イニシャルステップ)
ステーション1起動
(ブロック1起動)
パレットクランプ
(ステップ1)
パレットクランプ
(ステップ1)
パレットクランプ
(ステップ1)
ステーション2起動
(ブロック2起動)
穴開け加工
(ステップ2)
タッピング
(ステップ2)
ワークアンロード
(ステップ2)
ステーション3起動
(ブロック3起動)
パレットアンクランプ
(ステップ3)
パレットアンクランプ
(ステップ3)
パレットアンクランプ
(ステップ3)
(エンドステップ)
(エンドステップ)
(エンドステップ)
完了
(エンドステップ)
(2) 複雑なインタロック回路が不要
各ステップの動作出力プログラム内でのみインタロック回路を設けるだけでよく,ステッ
プ間のインタロックは一切不要なため,設備全体を見通した上でのインタロックを考える
必要がなくなります。
SOL1
SOL2
クランプ
LS-U
クランプ上昇端
クランプ下降端
MT1-F
MT1-B
MTO-F
MTO-B
LS-D
主軸台
回転MT2-R
搬送台
(主軸台後端)
LS0
(加工始) (加工終) (搬送台前進端)
LS2
LS1
LS-F
1 - 3
LS10
(搬送台後退端)
LS-R
1.概 要
MELSEC-QnA
搬送台前進
Y20
ステップ5
搬送台前進端
X3
Tran
左記SFCプログラムのように,各ステップには
前の動作が終了していることのインタロック接
点が不要です。
通常のシーケンスプログラムでは,主軸台を前
進させるための回路に,搬送台前進(Y20),ク
ランプ下降(Y21)のインタロック接点が必要に
なります。
クランプ下降
X3
ステップ6
Y21
クランプ下降端
X4
Tran
X3
主軸台前進
X4
ステップ7
Y20
Y21
X3
Y22
X4
主軸台前進
Y22
インタロック接点
SFCプログラム
(3) 制御対象に合わせブロック,ステップの分割編集が容易
ブロックはSFCプログラム全体で320ブロック,ステップは1ブロックで512ステップ,動作出
力,移行条件はラダー図プログラムがそれぞれ1ブロックあたり4Kシーケンスステップまで
作成することができます。
機械の動作単位によりブロックの分割をうまく行う,ブロック内のステップの分割をうまく
行うことにより,タクトタイムの短縮が計れる,デバッグ・試運転がより容易になります。
320ブロック
ブロック0
ブロック1
ブロック319
イニシャル
ステップ
イニシャル
ステップ
イニシャル
ステップ
ステップ1
ステップ1
ステップ2
ステップ2
動作出力プログラム
X0
ステップ1
TO
X1
512ステップ
Y20
K20
TO
Y21
ステップ2
1ブロックで動作出力,移動条件
それぞれ4Kシーケンスステップ
1 - 4
1.概 要
MELSEC-QnA
(4) 複数のイニシャルステップが作成可能
複数の工程を実行して合流していく処理が簡単に記述できます。
イニシャルステップの結合方法は,選択結合です。
複数のイニシャルステップ(S0∼S3)が活性になると,最初に選択結合の直前の移行条件(t4
∼t7)が成立したステップが非活性になり次のステップに移行します。
また,活性中のステップ直前の移行条件が成立すると,パラメータにより次の実行になり
ます。
・待機 ・・・・・・・・ 次のステップが非活性になるのを待ってから移行します。
・移行 ・・・・・・・・ 次のステップが活性中でもそのまま移行します。
・停止 ・・・・・・・・ 次のステップが活性中のときはエラーになります。
S0
S1
t0
t1
S4
S5
t4
t5
S2
t2
S6
t6
S3
t3
S7
t7
S8
備 考
イニシャルステップごとに,結合ステップを変えることもできます。
S0
S1
t0
t1
S3
S4
t3
t4
S6
t6
S7
1 - 5
S2
t2
S5
t5
1.概 要
MELSEC-QnA
(5) 豊富なステップ属性でプログラム設計が容易
各ステップには,各種ステップ属性を付けることができます。
制御に合わせ属性を使いわける,また組み合わせて使用することによりSFCプログラムの設
計が容易に行えます。
・保持ステップの種類と動作
① コイル保持ステップ( SC )
X0
・インタロック条件(X0)のON/OFFに関係
Y10
なく,移行条件成立時のコイル出力状
態を保持する。
X0
・再度移行条件が成立しても移行はしな
Y10
い。
(移行成立)
・該当ブロックの終了するまで出力を保
持したいとき(油圧モータの出力,通
移行条件成立により
活性しているステップ
過確認信号など)に便利。
② 動作保持ステップ(移行チェックなし)( SE )
X0
・移行後も動作出力の演算を続行し,イ
Y10
ンタロック条件(X0)のON/OFFによりコ
イル出力(Y10)もON/OFFする。
X0
・再度移行条件が成立しても移行はしな
Y10
い。
・シリンダの前進・後退のように該当ブ
ロックが活性中に同じ動作を繰り返す
移行条件成立により
活性しているステップ
ような動作に便利。
③ 動作保持ステップ(移行チェックあり)( ST )
X0
・移行後も動作出力の演算を続行し,イ
Y10
ンタロック条件(X0)のON/OFFによりコ
X1
PLS
M0
イル出力(Y10)もON/OFFする。
・再度移行条件が成立すると移行を実行
MO
Tran
(移行を実行)
して次のステップを活性させる。
・再活性した次のステップは,動作出力
の演算を実行し,移行条件が成立する
と移行して非活性となる。
・部品の搬入などのように繰り返し動作
をして,完了により加工開始するよう
前回の移行条件成立
により活性している
ステップ
1 - 6
な次の動作と連動させるような出力に
便利。
1.概 要
MELSEC-QnA
・リセットステップ( R )
・機械の制御上保持が不要になったとき
や,エラー検出などで手動回路へ選択
分岐したとき保持ステップに対してリ
セット要求を出し該当ステップを非活
性にすることができる。
R
n
リセットステップが活性
すると指定したステップ
が非活性になる
・ブロック起動ステップの種類と動作
① ブロック起動ステップ(終了チェックあり)( m)
m
・サブルーチンCALL∼RETと同様に起動
先ブロックがブロックエンドになるま
で起動元ブロックは移行しない。
m
・同一ブロックを複数回起動をかけた
り,複数のブロックで共用するなどに
便利。
・加工ラインなどで加工工程を別ブロッ
クにして加工完了で起動元へ戻り次の
工程へ移行するときなどに便利。
② ブロック起動ステップ(終了チェックなし)( m)
m
・起動先ブロックが活性している状態で
も,ブロック起動ステップに付随する
移行条件が成立すれば起動元ブロック
n
は移行する。
X0
Tran
このとき,起動先ブロックはそのまま
ブロックエンドになるまで処理を続行
する。
・あるステップでほかのブロックを起動
かけることにより,起動先ブロックは
自ブロックの処理終了まで単独で起動
元とは非同期に制御させることが可
能。
1 - 7
1.概 要
MELSEC-QnA
(6) 同一機能を目的に応じ複数の方法で制御可能
各ブロックの起動・終了,一時停止・再開,指定ステップの強制活性・強制終了などをSFC
図記号,SFC制御命令,SFC用情報レジスタの各方法で制御することができます。
・SFC図記号で制御する場合
・・・・自動運転制御などのように順序制御が容易なときに便利。
・SFC制御命令で制御する場合
・・・・SFC以外のプログラムファイルからも要求が可能であり,非常停止などの異常処理や
割込制御などに便利。
・SFC用情報レジスタで制御する場合
・・・・SFC用周辺機器で制御が可能であり,デバッグや試運転などのような部分運転が容易
に行うことができる。
同一機能を複数の方法で制御可能なおもな機能には次のようなものがあります。
機
能
制御方法
SFC制御命令
SFC用情報レジスタ
m
───
───
m
SET BLm
SFC図
ブロック起動
(終了待ちあり)
ブロック起動
(終了待ちなし)
ブロック終了
ブロック停止
停止中ブロック
の再開
ステップの
強制活性
ステップの
強制終了
RST BLm
──
──
PAUSE BLm
RSTART BLm
──
R
n
ブロック起動終了ビット
ON
ブロック起動終了ビット
OFF
ブロック停止再開ビット
ON
ブロック停止再開ビット
SET Sn
SCHG Kn
RST Sn
SCHG Kn
OFF
───
───
① 同一機能を複数の方法で実行できるものは,該当ブロックまたはステップへ先に要求を
出した制御方法が有効となります。
② ほかの制御方法で制御した機能を別の制御方法で解除することもできます。
例)ブロック起動の場合
SFC図(
m)で起動をかけ活性しているブロックをブロックエンド(
)を待たずに
SFC制御命令(RST BLm)で強制終了させる,またはSFC用情報レジスタのブロック起
動終了ビットをOFFさせ強制終了させることができます。
(7) 編集機能の充実によりプログラム編集が容易
SFC図と動作出力・移行条件の回路との同一画面表示のZOOM機能を左右・上下分割の指定が
できる,プログラムのカット&ペーストが容易,SFCの図や使用デバイスの検索機能などプ
ログラム編集機能が充実しており作成・編集作業を簡単に行うことができます。
1 - 8
1.概 要
MELSEC-QnA
(8) コメント付表示で見やすい表示が可能
各ステップ,移行条件にコメント(全角文字,半角文字)を半角時32文字(表示は8文字×
3段=24文字)入力することができます。
1
2
3
4
5
6
7
0 運転準備スタ
0 ート指令待ち
1 配合A
1
2 配合B
2
3 待合せステッ
4 待合せステッ
モニタ
ブロック 0
ステップ 1
3/ 252 [配合A
0
]
Y0010
Y0020
(9) 自動スクロール機能により機械系のトラブル発生箇所が容易
活性(実行)ブロック,活性(実行)ステップ,動作出力・移行条件回路の実行を周辺機
器によりモニタ(自動スクロール機能あり)することができます。
このモニタ機能により,シーケンスプログラム知識が豊富でなくても,トラブル発生箇所
を追求して行くことができます。
(10) 便利なトレース機能
ブロック間の同期をとってトレースができるので,複数のブロックがどんなタイミングで
動作しているかを確認できます。
また,トレース結果表示からブロックごとの詳細トレース結果表示に切り換えることもで
きます。
〔トレース結果表示〕
ブロック * * * -5 * * * * 0 * * * * 5 * * * *
1
8 8 8 8 9 9 9 9 10 10 11 11 12 13 13 13 13 13
2
0 0 1 1 1 3 3 5 5 5 5 6 6 8
3
0 0 0 1 2 2 2 3 3 3 8 8
4
15 15 18 18 18 18 25 25 25 30 30 30 31 32 32 33 33 35
5
0 0 1 1 1 2 2 2 10 10 17 17 17
各ブロックの活性し
ている若番ステップ
No.を表示
指定ブロックの詳細表示
〔トレース結果表示〕
ブロック 1
*
7
*
8
* -5
8 8
トレースを実行した
ブロック番号
* * * * 0 * * * * 5 * * * *
9 9 9 9 10 10 11 11 12 13 13 13 13 13
20 20 20 20
14 14 15 16 17
21 21 21
15 15 16 17
22 22
16 16
17 17
活性しているステッ
プNo.を表示
(11) Q6PU形プログラミングユニットでプログラム編集が可能
動作出力,移行条件のプログラムをQ6PUから簡単に修正できます。
SFC図は,リスト形式または回路形式で見ることができ,Q6PUはリスト形式のプログラム
で作成,修正を行います。
1 - 9
2.
システム構成
2.システム構成
MELSEC-QnA
2 システム構成
(1) 適用CPU
MELSAP3(SFCプログラム)は,下記CPU上で動作します。
・Q2ACPU
・Q2ACPU-S1
・Q3ACPU
・Q4ACPU
(2) SFCプログラム用周辺機器
SFCプログラムの作成,編集,モニタは,下記周辺機器で行えます。
周辺機器形名
備 考
ソフトウェアパッケージ形名
・詳細システム構成,環境設定などは
PC9801
SW0NX-GPPQ
“GPPQオペレーティングマニュア
ル”(オフライン編)を参照
・表示はSFC図を命令に置き換えたと
きのリスト表現となる。
Q6PU
─────
・SFC図の作成,編集不可。
動作出力,移行条件に付随する回路
の作成,修正のみ可。
(3) メモリカード
SFCトレース実行時には下記メモリカードが必要です。
Q1MEN−
メモリの種類
メモリサイズ
メモリカードの詳細は,QnACPUユーザーズマニュアル(詳細編)を参照してください。
2 - 1
3.
仕 様
3.仕 様
MELSEC-QnA
3 仕 様
SFCプログラムの性能仕様について説明します。
3.1 SFCプログラムに関する性能仕様
SFCプログラムに関する性能仕様を表3.1に示します。
表3.1 SFC機能に関する性能仕様
項 目
Q2ACPU
容量
Q2ACPU-S1
最大
最大
最大
最大
60kステップ
92kステップ
124kステップ
ファイル数
1本(スキャン実行できるファイル数)*1
ブロック数
最大320ブロック(0∼319)
全ブロックで最大8192ステップ
1ブロックで最大512ステップ
分岐数
同時活性ステップ数
最大32
全ブロックで最大1280ステップ
(保持ステップを含む)
1ブロックで最大256ステップ
動作出力
1ブロックで最大4Kステップ
シーケンスステップ数
1ステップあたりの制約はなし
移行条件
ブレーク
1ブロックで最大4Kステップ
シーケンスステップ数
1移行条件あたりの制約はなし
全ブロックブレーク
全ブロック一括ブレーク設定
指定ブロックブレーク
指定ブロック最大64ブロック設定可
指定ステップブレーク
指定ステップ最大64ポイント設定可
サイクル数
1∼255回
指定ブロック続行
指定ブロック 1ブロック設定
指定ステップ続行
指定ステップ 1ポイント設定
STEP-RUN
指定ステップからの続行
指定ステップ 1ポイント設定
運転機能
強制ブロック実行
指定ブロック 1ブロック設定
続行
指定ステップの
強制実行
Q4ACPU
28kステップ
SFCステップ数
SFCプログラム
Q3ACPU
指定ステップ 1ポイント設定
強制1ステップ実行
強制ブロック終了
指定ブロック 1ブロック指定
強制ステップ終了
指定ステップ 1ポイント設定
トレースメモリ容量
ステップトレース
トリガ後のトレース
機能
メモリ容量
(メモリカード必須)
ブロック指定
全ブロックで最大48Kバイト
1ブロックで1∼48Kバイト(1Kバイト単位)
128バイト∼各ブロックの設定容量
最大12ブロック
トリガステップ
1ステップ/ブロック
実行条件
指定時間ごとまたはスキャンごと
ステップ移行監視タイマ機能
あり(タイマ個数10個)
*1 別途“プログラム実行管理用SFCプログラム”(5.1.3項参照)を1本作成可能
3 - 1
3.仕 様
MELSEC-QnA
備 考
CPUのメモリに書き込めるプログラム容量とファイル数の関係について説明します。
複数プログラムファイル可
(SFCプログラム不可)
イニシャル
プログラム
複数プログラムファイル可
(SFCプログラムは1本のみ可)
スキャン
プログラム
待機
プログラム
複数プログラムファイル可
(SFCプログラムも複数可)
複数プログラム可
(SFCプログラム不可)
低速
プログラム
・合計で最大124本のプログラムファイルが可能
(登録はパラメータで設定する)
・全プログラムファイル合計でCPUタイプごとに次のプログラム容量が可
能
・Q2ACPU ・・・・・・・・ 最大28Kステップ
・Q2ACPU-S1 ・・・・・ 最大60Kステップ
・Q3ACPU ・・・・・・・・ 最大92Kステップ
・Q4ACPU ・・・・・・・・ 最大124Kステップ
* SFCプログラムは実行できるファイルは1本のみです。
待機中のSFCプログラムを実行するには,スキャン実行中のSFCプログラムを待機プログ
ラムにしてからスキャン実行にします。
3 - 2
3.仕 様
MELSEC-QnA
3.2 デバイス一覧
SFCプログラムの移行条件,動作出力で使用できるデバイスを表3.2に示します。
表3.2 デバイス一覧
分 類
内部システム
内部ユーザ
デバイス
引数入力
引数出力
引数レジスタ
特殊リレー
特殊レジスタ
入力リレー
出力リレー
内部リレー
ラッチリレー
アナンシェータ
エッジリレー
リンクリレー
データレジスタ
リンクレジスタ
通常タイマ
積算タイマ
カウンタ
特殊リンクリレー
特殊リンクレジスタ
種別
ビット
ビット
ワード
ビット
ワード
ビット
ワード
ビット・
ワード
ビット・
ワード
ビット
ステップリレー
リンク
ダイレクト
(NET/10)
特殊ユニット
ダイレクト
インデックス
レジスタ
ファイル
レジスタ
その他
定数
リンク入力
リンク出力
リンクリレー
リンク特殊リレー
リンクレジスタ
リンク特殊レジスタ
ビット
ワード
表 現
FX0∼FX15
FY0∼FY15
FD0∼FD4
SM0∼SM2047
SD0∼SD2047
X0∼X1FFF
Y0∼Y1FFF
M0∼M8192
L0∼L8192
F0∼F2047
V0∼V2047
B0∼B1FFF
D0∼12287
W0∼W1FFF
T0∼T2047
ST0∼ST2047
SB0∼SB1FF
SW0∼SW1FF
S0∼S511/1ブロック
(全ブロック合計で8192点)
J□¥X0∼J□¥X1FFF
J□¥Y0∼J□¥Y1FFF
J□¥B0∼J□¥B1FFF
J□¥SB0∼J□¥SB1FF
J□¥W0∼J□¥W1FFF
J□¥SW0∼J□¥SW1FF
U□¥G0∼U□¥G16383
インデックスレジスタ
ワード
Z0∼Z15
ファイルレジスタ
ワード
──
──
固定
・引数付サブルーチン(1点4ワード)
・DXでダイレクト処理
・DYでダイレクト処理
合計で28.75K
ワード以内で
可変
・TとSTはパラメータで設定
・接点とコイルはビット
・接点とコイルはビット
ワード
ビット
備 考
・引数付サブルーチン
C0∼C1023
バッファレジスタ
SFCブロック
SFC移行デバイス
ネットワークNO
I/ONO
10進定数
16進定数
実数定数
文字列定数
ユーザ割付け
・SFCプログラム専用
固定
・リンクユニットごとに存在する
固定
・装着した特殊ユニットごとに存在す
る
R0∼R32767
固定
ZR0∼ZR1042431
BL0∼BL319
TR0∼TR511
固定
J1∼J239
U0∼UFF
K-2147483648∼K2147483647
H0∼HFFFFFFFF
E±1.17549-38∼E±3.40282+38
“ABC123”など
3 - 3
・ブロック切替使用時
・通しNO時
・SFCプログラム専用
3.仕 様
MELSEC-QnA
3.3 SFCプログラムの処理時間
SFCプログラムの処理に要する時間について説明します。
(1) SFCプログラムの処理時間の計算方法
SFCプログラムの処理時間は,次に示すように動作出力/移行条件の命令処理時間と,シス
テム処理時間により求めます。
SFCプログラム
動作出力/移行条件
=
+ システム処理時間
の処理時間
の命令処理時間
(a) 動作出力/移行条件の命令処理時間
動作出力/移行条件
=〔動作出力の命令処理時間〕×2+〔移行条件の命令処理時間〕
の命令処理時間
(移行条件成立時のみ)
・動作出力の命令処理時間……活性状態となっている全ステップの動作出力に使用し
ている各命令の処理時間の総和
・移行条件の命令処理時間……活性状態となっている全ステップに付随する移行条件
に使用している各命令の処理時間の総和
動作出力/移行条件で使用する各命令の処理時間については,QnAプログラミングマ
ニュアル(共通命令編)の演算処理時間の項を参照してください。
(b) システム処理時間の計算方法
システム処理時間=SFCエンド処理時間+活性ブロック処理時間×活性ブロック数+
非活性ブロック処理時間×非活性ブロック数+非存在ブロック処
理時間×非存在ブロック数+活性ステップ処理時間×活性ステッ
プ数+活性ステップに付随する移行条件処理時間×活性ステップ
に付随する移行条件数+移行条件成立ステップ処理時間×移行条
件成立ステップ数
・活性ブロック数 ・・・・・・・ 活性状態となっている全ブロック数
・非活性ブロック数 ・・・・・ 非活性状態となっている全ブロック数
・非存在ブロック数 ・・・・・ パラメータで設定したブロック数内でプログラムを作成し
ていない全ブロック数
・活性ステップ数 ・・・・・・・ 全ブロックにおいて,活性状態となっている全ステップ数
・活性移行数 ・・・・・・・・・・・ 全ブロックにおいて,活性状態となっている全ステップに
付随する移行条件の数
・移行成立ステップ数 ・・・ 全ブロックにおいて,移行条件が成立したため,動作出力
をOFFするステップの数
3 - 4
3.仕 様
MELSEC-QnA
(2) CPU形名ごとのシステム処理時間
項 目
活性ブロック処理
非活性ブロック処理
非存在ブロック処理
活性ステップ処理
活性ステップに付随する移行条件処理
移行条件成立* 保持ステップ指定なし
ステップ処理 保持ステップ指定あり
イニシャルスタート時
SFCエンド処理
続行スタート時
Q4ACPU
20.3μS
4.0μS
2.1μS
3.2μS
7.4μS
7.8μS
2.1μS
14.3μS
97.5μS
Q3ACPU
40.5μS
7.9μS
4.1μS
6.3μS
14.7μS
15.6μS
4.2μS
28.5μS
195.0μS
Q2ACPU
54.0μS
10.5μS
5.5μS
8.4μS
19.6μS
20.8μS
5.6μS
38.0μS
260.0μS
*保持ステップはコイル保持ステップ,動作保持ステップ(移行チェックあり/なし)すべてを含み
ます。
* SFCシステム処理時間計算例
次の条件でQ4Aの場合を例にSFCシステム処理時間の計算方法を示します。
・イニシャルスタートに指定
・活性ブロック数:30
(SFCプログラムが作成されており活性状態になっているブロック)
・非活性ブロック数:70
(SFCプログラムが作成されており活性状態になっていないブロック)
・非存在ブロック数:50
( 0ブロックから作成した最大ブロック番号の間でSFCプログラムを作成していないブ
ロック)
・活性ステップ数:60
(活性ブロック内で活性状態になっているステップ)
・活性ステップに付随する移行条件:60
・移行条件成立ステップ:10
(活性状態になっているステップ(保持ステップはなし)で移行条件が成立している
ステップ)
SFCシステム処理時間=14.3+(20.3×30)+(4.0×70)+(2.1×50)+(3.2×60)
+(7.4×60)+(7.8×10)
=1722.3μS≒1.72ms
以上の計算からSFCシステム処理時間は,1.72msとなります。
なお,同一条件でQ3ACPUの場合は約3.41ms,Q2ACPUの場合は約4.56msとなります。
スキャンタイムはSFCシステム処理時間に,メインシーケンスプログラムの処理時間,
SFCの活性ステップと付随する移行条件のラダー回路の処理時間,CPUのEND処理時間を
合計した時間となります。
3 - 5
3.仕 様
MELSEC-QnA
活性ステップ数,移行条件数,移行成立ステップ数は,次に示す条件により異なります。
・移行条件不成立時
・移行条件成立時(連続移行なしのとき)
・移行条件成立時(連続移行ありのとき)
下図のSFC図により,それぞれにおける求め方の例を示します。
ステップ1
移行条件1
ステップ2
移行条件2
ステップ3
移行条件3
ステップ4
移行条件4
ステップ5
ステップ6
移行条件5
ステップ7
移行条件6
ステップ8
移行条件7
ステップ9
移行条件8
ステップ10
① 移行条件不成立時
ステップ2,ステップ6が共に活性していて,移行条件2,5が不成立の場合
活性ステップ数 ・・・・・・・・・・・ 2個(ステップ2/ステップ6)
移行条件数 ・・・・・・・・・・・・・・・ 2個(移行条件2/移行条件5)
移行成立ステップ数 ・・・・・・・ 0個
② 移行条件成立時
・ステップ2,ステップ6活性時に,移行条件2,5が共に成立し,移行条件3,6が不成立の場合
(連続移行なしのとき)
活性ステップ数 ・・・・・・・・・・ 2個(ステップ2/ステップ6)
移行条件数 ・・・・・・・・・・・・・・ 2個(移行条件2/移行条件5)
移行成立ステップ数 ・・・・・・ 2個(ステップ2/ステップ6)
(連続移行ありのとき)
活性ステップ数 ・・・・・・・・・・ 4個(ステップ2,3,6,7)
移行条件数 ・・・・・・・・・・・・・・ 4個(移行条件2,3,5,6)
移行成立ステップ数 ・・・・・・ 2個(ステップ2,6)
・ステップ2,ステップ6活性時に,移行条件2,3,5,6が共に成立した場合
(連続移行なしのとき)
活性ステップ数 ・・・・・・・・・・ 2個(ステップ2/ステップ6)
移行条件数 ・・・・・・・・・・・・・・ 2個(移行条件2/移行条件5)
移行成立ステップ数 ・・・・・・ 2個(ステップ2/ステップ6)
(連続移行ありのとき)
活性ステップ数 ・・・・・・・・・・ 6個(ステップ2∼4/ステップ6∼8)
移行条件数 ・・・・・・・・・・・・・・ 6個(移行条件2∼4/移行条件5∼7)
移行成立ステップ数 ・・・・・・ 4個(ステップ2,3/ステップ6,7)
3 - 6
3.仕 様
MELSEC-QnA
3.4 SFCプログラムの容量計算
SFCプログラムは,SFC図を命令として展開するため次のようにメモリが必要となります。
SFC図をSFC専用命令に展開したときのステップ数とSFCプログラムの容量計算方法について説
明します。
(1) SFCプログラムの容量計算方法
作成した最大
SFCプログラム容量=2+ 8× +(ブロック0の容量)+(ブロック1の容量)+…+(ブロックnの容量)
ブロック番号+1
(ステップ)
使用しているブロック数分
SFCファイルヘッダ容量
SFCプログラム開始命令(SFCP),終了命令(SFCPEND)
SFC図をSFC専用命令で
各ブロックの容量=2+ +(各ステップの動作出力の総和)+(各移行条件の総和)
表現したステップ数
*下記による
ブロック開始命令(BLOCK BLm),ブロック終了命令(BEND)
* SFC図をSFC専用命令で表現したステップ数
・ステップ(
,
)
Sn)とステップ終了命令(SEND)の3シーケンスステップ
ステップ開始命令(STEP
・移行条件(+)
① 直列移行または選択分岐−結合のとき
移行開始命令(TRAN
TRn)と移行先指定命令(TSET Sn)の4シーケンスステップ
② 並列分岐のとき
移行開始命令(TRAN
TRn)と並列分岐数分の移行先指定命令(TSET Sn)の合計ス
テップ数
③ 並列結合のとき
移行開始命令(TRAN
TRn)と(並列結合数−1)分の結合チェック命令(TAND Sn)
と移行先指定命令(TSET Sn)の合計ステップ数
・ジャンプ(
),ブロックエンド( )
直前の移行条件に含まれるので0ステップとして計算する
・各ステップの動作出力:1ステップあたりの容量は,次のとおりです。
・各命令のシーケンスステップ数の総和
(各命令のシーケンスステップ数については,QnAプログラ
ミングマニュアル(共通命令編)を参照してください。)
・各移行条件
:1移行条件あたりの容量は,次のとおりです。
・各命令のシーケンスステップ数の総和
(各命令のシーケンスステップ数については,QnAプログラ
ミングマニュアル(共通命令編)を参照してください。)
3 - 7
3.仕 様
MELSEC-QnA
(2) SFC図をSFC専用命令に展開したときのステップ数
SFC図をSFC専用命令に展開したときのステップ数は次のようになります。
名 称
SFCP開始命令
SFCP終了命令
ブロック開始命令
ブロック終了命令
ステップ開始命令
移行開始命令
結合チェック命令
移行先指定命令
ステップ終了命令
ラダー表現
[SFCP]
ステップ数=1
[SFCPEND]
ステップ数=1
[BLOCK BLm]
ステップ数=1
[BEND]
ステップ数=1
[STEP Si]
ステップ数=2
[TRAN TRj]
ステップ数=2
[TAND Si]
ステップ数=2
[TSET Si]
ステップ数=2
[SEND]
ステップ数=1
必要数
内 容
・SFCプログラムの開始を示す。
1プログラムに1つ
・SFCプログラムの終了を示す。
1プログラムに1つ
・ブロックの開始を示す。
1ブロックに1つ
・ブロックの終了を示す。
1ブロックに1つ
・ステップの開始を示す。
( はステップ属性により異なる)
・移行の開始を示す。
( はステップ属性により異なる)
1ステップに1つ
1移行条件に1つ
・並列結合時,結合完了をチェックする。
並列結合1箇所ごとに(結合数−1)個
・移行先ステップを指定する。
1移行条件ごとに直列移行・選択移行時は1
つ,並列分岐時は並列数分
・ステップ/移行の終了を示す。
1ステップに1つ
3 - 8
4.
SFCプログラムの構成
4.SFCプログラムの構成
MELSEC-QnA
4 SFCプログラムの構成
SFCプログラムを構成するための,SFCプログラム記号,SFC制御命令,SFC用情報レジスタに
ついて説明します。
(1) SFCプログラムは,下記に示すようにイニシャルステップ,移行条件,ステップ,ブロック
エンドで構成され,イニシャルステップからエンドステップまでのまとまりをブロックと
呼びます。
イニシャルステップ
移行条件 1
ステップ 1
移行条件 2
ステップ 2
移行条件
ステップ
移行条件
ブロック
ステップ
エンドステップ
(2) SFCプログラムの動作は,イニシャルステップから始まり,移行条件が成立するごとに移行
条件の次のステップを順次実行して,エンドステップにて一連の動作を終了します。
(a) SFCプログラムを起動すると,最初にイニシャルステップを実行します。
イニシャルステップ実行中は,イニシャルステップの次の移行条件(図中の移行条件1)
を確認し,条件が成立したかどうかをチェックします。
(b) 移行条件1が成立するまでイニシャルステップのみを実行します。
移行条件1が成立すると,イニシャルステップの実行を停止し,イニシャルステップの
次のステップ(図中のステップ1)を実行します。
ステップ1が実行している間,ステップ1の次の移行条件(図中の移行条件2)を確認
し,条件が成立したかどうかをチェックします。
(c) 移行条件2が成立すると,ステップ1の実行を停止し,次のステップ(図中のステップ2)
を実行します。
このように,SFCプログラムでは,各ステップの次の移行条件が成立することにより,各ステッ
プを順番にエンドステップまで実行します。
4 - 1
4.SFCプログラムの構成
4.1
MELSEC-QnA
SFC図記号一覧
SFCプログラムで表記する記号の一覧を示します。
分 類
名
称
SFC図記号
イニシャルステップ
数
O
ダミー
イニシャルステップ
コイル保持
イニシャルステップ
動作保持ステップ
(移行チェックなし)
イニシャルステップ
動作保持ステップ
(移行チェックあり)
イニシャルステップ
リセット
イニシャルステップ
SC O
SE O
R O Sn
j
j
SC j
SE j
R j
i
ダミーステップ
i
リセットステップ
ブロック起動ステップ
(終了チェックあり)
ブロック起動ステップ
(終了チェックなし)
4 - 2
イニシャルステップ以外
動作保持ステップ
(移行チェックなし)
動作保持ステップ
(移行チェックあり)
・1ブロックに合計で最大31個
ST j
ステップ
コイル保持ステップ
・1ブロックにいずれか1個
ST O
ステップ0以外のイニシャルステップ
イニシャルステップ
O
ステップ0のとき
ダミー
イニシャルステップ
コイル保持
イニシャルステップ
動作保持ステップ
(移行チェックなし)
イニシャルステップ
動作保持ステップ
(移行チェックあり)
イニシャルステップ
リセット
イニシャルステップ
ステップ
個
SC i
SE i
ST i
R i Sn
i BLm
i BLm
・1ブロックにイニシャルス
テップを含め最大512個
4.SFCプログラムの構成
分 類
MELSEC-QnA
名
SFC図記号
称
直列移行
個
数
a
選択分岐
a
b
選択分岐―並列分岐
a
選択結合
a
b
a
b
選択結合―並列分岐
n
b
a
並列分岐
移行
並列結合
a
並列結合―並列分岐
a
並列結合―選択分岐
a
並列結合―選択結合
a
ジャンプ
a
b
b
j
;
ブロック
エンド
ブロックエンド
1ブロックに複数可
4 - 3
4.SFCプログラムの構成
4.2
MELSEC-QnA
ステップ
ステップとは,ブロックを構成するための基本単位で,SFCプログラムの実行単位です。
(1) 1つのステップは,動作出力で構成されており,1ブロックに最大512ステップ(全ブロック
で最大8192ステップ)まで記述できます。
(2) 各ステップには,SFCプログラム作成時に自動的に,またはユーザ指定によりステップ番号
を付加します。
ステップ番号は,実行ステップのモニタを行ったり,SFC制御命令で強制起動・終了をかけ
るときに使用します。
4.2.1
ステップ
(ステップ属性なし)
ステップ(ステップ属性なし)とは,ステップ実行中つねに該当ステップの次に記述してい
る移行条件をチェックし,移行条件が成立すると次のステップに実行を移すステップです。
(1) 各ステップ(n)の動作出力は使用する命令により,次ステップ(n+1)へ移行したときの出力
状態が異なります。
・OUT命令を使用したとき。(OUT C
は除く)
次のステップへ移行し,該当ステップが非活性になることにより,OUT命令による出力は
自動的にOFFになります。
タイマも同様の処理となり現在値をクリアし接点もOFFします。
例)
ステップnの動作出力において,OUT命令
X1
ステップn
Y0
によりY0をONしている場合,移行条件mが
成立すると,自動的にY0がOFFします。
移行条件m
ステップn+1
・SET命令,基本命令,応用命令を使用したとき。
次のステップへ移行し,該当ステップが非活性になっても,ON状態または現在値を保持
します。
OFFさせる場合は,他のステップにおいてRST命令などを実行する必要があります。
例)
ステップnの動作出力において,SET命令
X2
ステップn
SET
移行条件m
Y0
によりY0をONしている場合,移行条件mが
成立し,ステップn+1に移行しても,Y0
のON状態を保持します。
ステップn+1
4 - 4
4.SFCプログラムの構成
・OUT C
MELSEC-QnA
命令を使用したとき。
該当ステップにあるカウンタの実行条件がすでにONしている場合,移行条件(m)が成立し
該当ステップが活性したときカウンタは1回カウントされます。
ステップn−1が活性しているとき,ス
例)
テップnのX10がすでにONしている状態で
ステップn−1
移行条件m
ある場合,移行条件mが成立しステップn
K10
X10
ステップn
C0
に移行すると,カウンタC0は1回カウント
します。
カウンタのリセット命令を実行する前に次のステップへ移行した場合,該当ステップが非
活性になってもカウンタの現在値および接点がONしている場合はONの状態を保持します。
カウンタをリセットさせる場合は,他のステップにおいてRST命令などを実行する必要が
あります。
ステップn+1以降のステップでカウンタ
例)
X10
ステップn
K10
C0をリセットすることにより現在値がク
C0
リアされ,接点がOFFします。
移行条件m
SM400
ステップn+1
RST
(2) 各ステップの動作出力にPLS,
C0
P命令が使用されているとき,実行条件接点が常時ONでも
該当ステップが非活性から活性状態になるごとに命令が実行されます。
例)
常時ON
ステップn
PLS
ステップn+1
Y0
上記回路は実際には次に示すような回路で実行しており,ス
テップ状態接点が活性時にON,非活性時にOFFするため,実行
条件接点が常時ONであっても該当ステップが活性状態になるご
とにPLS,
ステップ状態接点
P命令が実行されます。
活性時:ON
非活性時:OFF
常時ON
PLS
備
Y0
考
立上りPLS命令(
),立下りPLS命令(
4 - 5
)も上記PLS,
P命令と同一の実行となります。
4.SFCプログラムの構成
MELSEC-QnA
4.2.2 イニシャルステップ
イニシャルステップとは,各ブロックの先頭を示すステップで,各ブロックに最大32個まで
記述できます。
イニシャルステップの実行方法は,イニシャルステップ以外のステップと同様に行います。
(1) イニシャルステップが複数ステップの場合,ブロック起動要求によりイニシャルステップ
の活性状態は次のようになります。
起動方法
SFCプログラム
起
動
時
(SET SM321)
ブロック
番号
ブロック0
・ブロック起動ステップ( ,
)による起動
・ステップ起動命令(SET BLm¥Sn)
・ブロック起動命令(SET BLm)に
でイニシャルステップのいずれ
よる起動
かを指定した場合
・ブロック起動終了ビットによる
起動
全ステップ活性
全ステップ活性
ブロック0以外
指定ステップのみ活性
─────
(2) イニシャルステップにステップ属性を付けたときの動作は,イニシャルステップ以外のス
テップと同様になります。
備
考
・イニシャルステップが複数ステップのときの移行処理については4.3.5項を参照してくだ
さい。
4.2.3
ダミーステップ
ダミーステップとは,待合せステップなどステップに動作出力プログラムを記述しないステッ
プです。
(1) ダミーステップ実行中は,常に該当ステップの次に記述している移行条件をチェックし,
移行条件が成立すると次のステップに実行を移します。
(2) ダミーステップはラダー回路を作成すると表示が“□”に変わります。
4 - 6
4.SFCプログラムの構成
4.2.4
コイル保持ステップ
MELSEC-QnA
SC
コイル保持ステップとは,移行条件が成立したときOUT命令でONしているコイル出力を保持し
たまま移行するステップです。
(1) SFCプログラムでは,通常移行条件が成立するとOUT命令でONしているコイルはシステムが
自動的にOFFさせて次のステップへ移行します。
動作出力ステップをコイル保持ステップに指定すると,OUT命令でONしているコイルはOFF
とならずONのまま次のステップへ移行します。
コイル保持ステップに指定したとき
コイル保持ステップに指定されていないとき
X0
X0
SC
(ON)
(移行条件成立)
Y10
Y10
(ON)
Y10
(ON)
(ON)
(移行条件成立)
Y10
(ON)
(OFF)
・コイル保持ステップでOUT命令により
・コイル保持ステップに指定されていない
ONしている“Y10”は移行条件が成立
ステップでOUT命令によりONしている
してもOFFとならずONのままとなる。
“Y10”は移行条件が成立するとシステ
ムが自動的にOFFさせる。
(2) 移行条件が成立し,次のステップへ移行した後は回路の演算を行いません。
したがって,入力条件が変化してもコイル出力の状態は変化しません。
(3) コイル保持ステップでONのまま移行したコイルがOFFするタイミングは下記の場合です。
・該当ブロックのエンドステップを実行したとき。
・SFC制御命令(RST BLm)で該当ブロックを強制終了させたとき。
・SFC制御命令(RST BLm¥Sn,RSTSn)で該当ステップをリセットしたとき。
・SFC用情報レジスタのブロック起動終了デバイスに指定したデバイスをリセットしたとき。
・該当ステップをリセットするように設定したリセットステップが活性したとき。
・SFC起動・停止用特M(SM321)をOFFさせたとき。
・プログラムで該当コイルをリセットしたとき。
4 - 7
4.SFCプログラムの構成
MELSEC-QnA
(4) コイル保持ステップ指定時の注意事項
(a) PLS命令
PLS出力条件が成立しPLS出力した同一スキャンに移行条件が成立したときPLS接点は上
記(3)OFF条件が成立するまでONのままとなります。
(b) PLF命令
PLF出力は上記(3)のOFF条件が成立したときに行います。
(c) カウンタ
移行条件成立時にカウンタコイルがONしているときは,ステップ移行後にカウント入
力条件がON/OFFしてもカウントはしません。
(d) タイマ
移行条件成立時にタイマコイルがONしているときは,ステップが移行してもタイマ計
測を続行し設定値になるとタイムアップします。
(e) ブロック停止時の処理
該当ブロックがSFC用情報レジスタの停止再開ビットまたはSFC制御命令のブロック停
止命令によりブロック停止の要求が出されると該当ステップは非活性となり次のよう
に処理します。
・非活性になるタイミング
ブロック停止の要求が出された後,該当ブロックの処理を最初に行ったとき。
・コイル出力
コイル出力はすべてOFFとなる。
ただし,SET命令でONしているコイルはONを保持する。
4 - 8
4.SFCプログラムの構成
4.2.5
MELSEC-QnA
動作保持ステップ(移行チェックなし) SE
動作保持ステップ(移行チェックなし)とは,移行後も該当ステップの動作出力回路の演算
を続行するステップです。
ただし,再度移行条件が成立しても移行処理は実行しません。
(1) SFCプログラムでは,通常移行条件が成立するとOUT命令でONしているコイルはシステムが
自動的にOFFさせて次のステップへ移行します。
動作出力ステップを動作保持ステップ(移行チェックなし)に指定すると,移行後も該当
ステップは活性のままとなり,動作出力回路の演算を続行します。
したがって,入力条件が変化するとコイルの状態も変化します。
(2) 移行条件が成立し,次のステップが活性後は移行条件のチェックはしませんので,該当ス
テップの移行条件が再度成立しても移行はしません。
ポイント
・動作保持ステップ(移行チェックなし)とコイル保持ステップでは,移行成立後に演算
を続行する/しないの違いです。
X0
Y10
再移行は
しない
X0
Y10
移行条件成立により
活性しているステップ
(3) 動作保持ステップ(移行チェックなし)が非活性になるタイミングは下記の場合です。
・該当ブロックのエンドステップを実行したとき。
・SFC制御命令(RST BLm)で該当ブロックを強制終了させたとき。
・SFC制御命令(RST BLm¥Sn,RSTSn)で該当ステップをリセットしたとき。
・SFC用情報レジスタのブロック起動終了デバイスに指定したデバイスをリセットしたとき。
・該当ステップをリセットするように設定したリセットステップが活性したとき。
・SFC起動・停止用特M(SM321)をOFFさせたとき。
(4) ブロック停止時の処理
該当ブロックがSFC用情報レジスタの停止再開ビットまたはSFC制御命令のブロック停止命
令によりブロック停止の要求が出されたときの処理は次のようになります。
・停止状態になるタイミング
ブロック停止の要求が出された後,該当ブロックの処理を最初に行ったとき。
・コイル出力
SFC動作モード設定のブロック停止時の出力モード設定(4.7.3項参照)により,コイル
出力をOFFまたは保持する。
ただし,SET命令でONしているコイルはONを保持する。
ポイント
(1) 該当ステップの直前の移行条件が成立したとき,またはJUMP命令で再活性状態になっ
たときは移行条件成立時に再移行します。
(2) 再活性状態となったときは,ステップの2重起動の対象とはなりません。
4 - 9
4.SFCプログラムの構成
4.2.6
MELSEC-QnA
動作保持ステップ(移行チェックあり) ST
動作保持ステップ(移行チェックあり)とは,移行後も該当ステップの動作出力回路の演算
を続行し,再度移行条件が成立すると該当ステップの次のステップを再活性させます。
(1) SFCプログラムでは,通常移行条件が成立するとOUT命令でONしているコイルはシステムが
自動的にOFFさせて次のステップへ移行します。
動作出力ステップを動作保持ステップ(移行チェックあり)に指定すると,移行後も該当ス
テップは活性のままとなり動作出力回路の演算を続行し,移行条件のチェックも行います。
再度移行条件が成立すると,該当ステップの次のステップへ移行し活性させ,自ステップ
はそのまま活性となりこの繰返しをします。
ポイント
(1) 移行条件はPLS化してください。
PLS化しないと条件が成立の間毎スキャン移行処理をしますので注意してください。
(2) 移行先のステップが活性状態のとき移行条件が成立し二重起動となったときの処理に
ついてはパラメータの設定によります。
パラメータの設定と設定ごとの処理については,4.7.6項を参照してください。
(3) 動作保持ステップ(移行チェックあり)と動作保持ステップ(移行チェックなし)で
は,移行条件が再度成立したとき,後追いで次のステップを活性させる/させないの
違いです。
X0
Y10
X1
PLS
M0
M0
Tran
(再移行を実行)
前回の移行条件成立
により活性している
ステップ
4 - 10
4.SFCプログラムの構成
MELSEC-QnA
(2) 動作保持ステップ(移行チェックあり)が非活性になるタイミングは下記の場合です。
・該当ブロックのエンドステップを実行したとき。
・SFC制御命令(RST BLm)で該当ブロックを強制終了させたとき。
・SFC制御命令(RST BLm¥Sn,RST Sn)で該当ステップをリセットしたとき。
・SFC用情報レジスタのブロック起動終了デバイスに指定したデバイスをリセットしたとき。
・該当ステップをリセットするように設定したリセットステップが活性したとき。
・SFC起動・停止用特M(SM321)をOFFさせたとき。
(3) ブロック停止時の処理
該当ブロックがSFC用情報レジスタの停止再開ビットまたはSFC制御命令のブロック停止命
令によりブロック停止の要求が出されたときの処理は次のようになります。
・停止状態になるタイミング
ブロック停止の要求が出された後,該当ブロックの処理を最初に行ったとき。
・コイル出力
SFC動作モード設定のブロック停止時の出力モード設定(4.7.3項参照)により,コイル
出力をOFFまたは保持する。
ただし,SET命令でONしているコイルはONを保持する。
4.2.7
リセットステップ
R
リセットステップとは,該当ステップで指定したステップ(動作出力)を強制的に非活性に
させるステップです。
(1) 該当ステップが活性したとき,自ブロック内の指定ステップをリセット(非活性)にさせ
ます。なお,指定ステップの番号が“999”の場合は,自ブロック内のコイル保持ステップ・
動作保持ステップ(移行チェックなし)・動作保持ステップ(移行チェックあり)の全ス
テップを一括リセットします。
(2) リセットステップは指定ステップ(1ステップまたは保持ステップ全ステップ一括)をリセッ
トする以外は,通常のステップ(ステップ属性なし)と同一の機能として動作します。
n
R
n
リセットステップが活性
すると指定したステップ
が非活性になる
ポイント
・リセットステップでリセット(非活性)にできるのは保持ステップのみです。
保持ステップが活性していても保持状態になっていないときと,保持ステップに指定さ
れていないステップはリセットの対象となりません。
4 - 11
4.SFCプログラムの構成
4.2.8
MELSEC-QnA
ブロック起動ステップ(終了チェックあり)
ブロック起動ステップ(終了チェックあり)とは,指定ブロックの起動をかけて活性させ起
動先ブロックが非活性になると移行するステップです。
(1) ブロックの起動要求は,並列移行(4.3.3参照)を行うことにより同時に複数のブロックを
起動することができます。
同時に起動した各ブロックのそれぞれのステップは並列に処理されます。
(2) ブロックの起動要求元は,起動先ブロックの実行が終了するまでブロック起動要求ステッ
プの位置で停止しています。
起動したブロックの実行が終了することにより,起動要求元のブロックは次のステップに
移行します。
(3) ブロック起動ステップの次に記述した移行条件にラダー回路を作成した場合は,起動要求
先ブロックの実行の終了とラダー回路のAND条件で次のステップへ移行します。
(4) 同時に実行できるステップ数は,全ブロック合わせて最大1280ステップです。
また,1ブロックにおいて同時に実行できるステップ数は保持ステップを含め最大256ステッ
プです。
m
m
ポイント
(1) 1つのブロックに対して,同時に起動を行うこと,またすでに起動しているブロックに
対して起動を行うことはできません。
起動を行うと“BLOCK EXE.ERROR”エラーとなりシーケンサCPUが停止します。
(2) 各ブロックの実行状態は,ブロック起動終了ビット(4.5.1項参照)またはSFC制御命
令のブロック活性チェック命令(4.4.3項参照)によりほかのブロックで認識すること
ができます。
(3) ブロックの起動要求を行う前の移行条件中に,該当ブロックのブロック起動終了ビット
またはブロック活性チェック命令をインタロックとして用い,該当ブロックが実行して
いないことを確認してから該当ブロックの起動を行うようにすることを推奨します。
例)
M1
BL1
Tran
移行条件
Tran
ブロック1の
起動要求
ブロック1のブロック起動終了
ビットをM1としたとき
4 - 12
ブロック1が活性/
非活性をチェック
4.SFCプログラムの構成
MELSEC-QnA
4.2.9 ブロック起動ステップ(終了チェックなし)
ブロック起動ステップ(終了チェックなし)とは,指定ブロックの起動をかけて活性させ起
動先ブロックが非活性になるのを待つことなくステップに付随する移行条件が成立すると移行
するステップです。
(1) ブロックの起動要求元は,起動先ブロックの実行の終了を待つことなく,ブロック起動ス
テップの次に記述した移行条件が成立すると次のステップへ移行します。
なお,起動先のサブブロックはそのまま処理を続行します。
(2) ブロックの起動要求は,並列移行(4.6.3項参照)を行うことにより同時に複数のブロック
を起動することができます。
同時に起動した各ブロックのそれぞれのステップは並列に処理されます。
(3) 同時に実行できるステップ数は,全ブロック合わせて最大1280ステップです。
また,1ブロックにおいて同時に実行できるステップ数は保持ステップを含め最大256ステッ
プです。
m
m
X0
TRAN
ポイント
(1) 同一のサブブロックに対して,同時に起動を行うこと,またはすでに起動しているサ
ブブロックに対して起動を行うことはできません。
起動を行うと“BLOCK EXE.ERROR”エラーとなりシーケンサCPUが停止します。
(2) 各ブロックの実行状態は,ブロック起動終了ビット(4.5.1項参照)またはSFC制御命
令のブロック活性チェック命令(4.4.3項参照)によりほかのブロックで認識すること
ができます。
(3) ブロックの起動要求を行う前の移行条件中に,該当ブロックのブロック起動終了ビット
またはブロック活性チェック命令をインタロックとして用い,該当ブロックが実行して
いないことを確認してから該当ブロックの起動を行うようにすることを推奨します。
M1
BL1
Tran
移行条件
Tran
ブロック1の
起動要求
ブロック1のブロック起動終了
ビットをM1としたとき
4 - 13
ブロック1が活性/
非活性をチェック
4.SFCプログラムの構成
4.2.10
MELSEC-QnA
ブロックエンド
(1) 各ブロックの一連の処理をすべて終了したことを宣言します。
(2) ブロックエンド実行後の再起動は次のようになります。
ブロック番号
パラメータのSFC設定でブ
ロック0の起動条件を“自
0ブロック
動起動する”に設定
再起動方法
・自動的に再度イニシャルステップに戻り繰返し
処理を実行
パラメータのSFC設定でブ ・次のいずれかが実行されたとき再起動となる
ロック0の起動条件を“自
動起動しない”に設定
① 他のブロックから再度起動要求を受け付け
たとき(ブロック起動ステップが活性した
とき)
② SFC制御命令のブロック起動命令を実行した
0ブロック以外の全ブロック
とき
③ ブロック情報レジスタのブロック起動終了
ビットを強制的にONさせたとき
4 - 14
4.SFCプログラムの構成
MELSEC-QnA
4.3 移行条件
移行条件とは,次のステップに移動移行するための条件で,条件が成立することにより次の
ステップに移行します。
4.3.1 直列移行
直列移行とは,移行条件成立にて直列につながるすぐ下のステップに実行を移行する方法です。
nステップ(動作出力〔A〕)
移行条件b
n+1ステップ(動作出力〔B〕)
(1) 直列移行時ステップ(
・ nステップの動作出力〔A〕を実行時,移行条件bが成立
すると,動作出力〔A〕を非実行とし,n+1ステップの
動作出力〔B〕を実行する。
, , )は,各ブロックに最大512個記述することができます。
したがって,直列移行(+)は最大512個まで記述することができます。
ただし,SFC表示列設定により,次に示すように縦行数が制限されます。
SFC表示列設定が
1または2の場合
最大1536行
SFC表示列設定が
“n”の場合
直列移行数
最大512個
縦行数
* 主なSFC表示列設定数ごとによる縦行数例
は下記のようになります。
なお,SFC表示列設定は1∼32の範囲で任意
設定できます。
SFC表示列
設定
1/2
8
16
22
28
32
作成可能
縦行数
1536
384
192
138
108
96
横列数(最大32)
縦行数≦
4 - 15
約3000
SFC表示列縦数(n)
となります。
4.SFCプログラムの構成
MELSEC-QnA
(2) 直列移行の動作状態をフローチャートで説明します。
イニシャルステップ
移行条件 a
動作状態
イニシャルステップの動作出力を実行。
1 ステップ
移行条件 b
2 ステップ
移行条件 c
NO
移行条件aは成立したか
YES
*1
イニシャルステップの動作出力を非実
行にする。
3 ステップ
移行条件 d
1ステップの動作出力を実行。
エンドステップ
NO
移行条件bは成立したか
YES
*1
イニシャルステップの動作出力を非実
行にする。
2ステップの動作出力を実行。
NO
移行条件cは成立したか
YES
*1
2ステップの動作出力を非実行にする。
3ステップの動作出力を実行。
NO
移行条件dは成立したか
YES
*1
3ステップの動作出力を非実行にする。
エンドステップを実行し,
動作を終了する。 *1 該当ステップにステップ属性が指定されているときの処理は属性に従います。
4 - 16
4.SFCプログラムの構成
MELSEC-QnA
4.3.2 選択移行
選択移行とは,並列につながる複数のステップのうち,1番早く移行条件が成立したステップ
のみを実行する方式です。
nステップ
(動作出力〔A〕)
移行条件b
分岐
移行条件c
n+1ステップ
(動作出力〔B〕)
n+2ステップ
(動作出力〔C〕)
nステップ
(動作出力〔A〕)
n+1ステップ
(動作出力〔B〕)
移行条件 b
移行条件 c
結合
n+2ステップ
(動作出力〔C〕)
・ nステップの動作出力〔A〕実行時,移行条件bまたはcの
うち早く条件が成立した方のステップ(n+1またはn+2)
を選択し,そのステップの動作出力(〔B〕または〔C〕)
を実行する。
・移行条件が同時に成立した場合は左側の移行条件を優先
する。
nステップの動作出力〔A〕は非実行になる。
・選択後は,結合が行われるまで選択された列の各ステッ
プを順次実行する。
・分岐において実行した方の列の移行条件(bまたはc)が
成立すると実行していたステップの動作出力(〔A〕また
は〔B〕)を非実行にして,n+2ステップの動作出力〔C〕
を実行する。
(1) 選択移行では,最大32個のステップの選択を行うことができます。
nステップ
n+1
ステップ
n+2
ステップ
n+3
ステップ
n+4
ステップ
n+32
ステップ
最大32個
(2) 選択するステップの移行条件が複数同時に成立した場合は,左側に記述されている列を優
先して実行します。
例)移行条件cとdが同時に成
nステップ
立した場合は,n +2 ス
移行条件b
n+1
ステップ
移行条件c
n+2
ステップ
4 - 17
移行条件d
n+3
ステップ
移行条件e
n+4
ステップ
テップの動作出力を実行
します。
4.SFCプログラムの構成
MELSEC-QnA
(3) 選択移行では,次に示すように結合を省略することができます。
n+3
nステップの動作出力時に,移行条件bが
nステップ
成立すると,n+1ステップからn+3ス
テップを順番に実行し,移行条件dが成立
移行条件b
移行条件c
n+1ステップ
n+4ステップ
n+2ステップ
n+5ステップ
n+3ステップ
移行条件d
n
4 - 18
するとnステップにジャンプ移行します。
(ジャンプ移行については4.3.4項参照)
4.SFCプログラムの構成
MELSEC-QnA
(4) 選択移行の動作状態をフローチャートで説明します。
動作状態
イニシャルステップ
移行条件a
イニシャルステップの
動作出力を実行。
1ステップ
移行条件b
2ステップ
移行条件c
3ステップ
移行条件d
移行条件e
4ステップ
移行条件h
成立したか
6ステップ
YES
移行条件f
*1
イニシャルステップの動
作出力を非実行にする。
5ステップ
移行条件g
NO
移行条件aが
移行条件i
1 ステップの動作出力を
実行。
7ステップ
移行条件j
YES
移行条件bが
成立したか
NO
YES
移行条件eが
成立したか
NO
NO
移行条件hが
成立したか
*1
*1
1 ステップの動作出力を
非実行にする。
1 ステップの動作出力を
非実行にする。
4 ステップの動作出力を
実行。
2 ステップの動作出力を
実行。
*1
1 ステップの動作出力を
非実行にする。
6 ステップの動作出力を
実行。
YES
YES
*1
NO
移行条件cが
成立したか
*1
4ステップの動作出力を
非実行にする。
2ステップの動作出力を
非実行にする。
5 ステップの動作出力を
実行。
3 ステップの動作出力を
実行。
NO
移行条件iは
成立したか
YES
NO
移行条件fが
成立したか
*1
6ステップの動作出力を
非実行にする。
NO
移行条件gが
成立したか
YES
*1
5 ステップの動作出力を
非実行にする。
NO
移行条件dが
成立したか
YES
*1
3 ステップの動作出力を
非実行にする。
7 ステップの動作出力を
実行。
NO
移行条件jは
成立したか
YES
*1
7 ステップの動作出力を
非実行にする。
エンドステップを実行し
動作を終了する。
4 - 19
*1 該当ステップにステップ属性が指定され
ているときの処理は属性に従います。
4.SFCプログラムの構成
MELSEC-QnA
4.3.3 並列移行
並列移行とは,移行条件成立にて並列につながる複数のステップを同時に実行させる方式です。
nステップ
(動作出力〔A〕)
移行条件 b
分岐
n+1ステップ
(動作出力〔B〕)
n+3ステップ
(動作出力〔D〕)
移行条件 c
移行条件 d
n+2ステップ
(動作出力〔C〕)
n+4ステップ
(動作出力〔E〕)
nステップ
(動作出力〔A〕)
n+1ステップ
(動作出力〔B〕)
移行条件 b
結合
移行条件 c
待ち合せステップ
待ち合せステップ
移行条件 d
n+2ステップ
(動作出力〔C〕)
・ nステップの動作出力〔A〕を実行時,移行条件bが成立す
ると,n+1ステップの動作出力〔B〕,n+3ステップの動
作出力〔D〕を同時に実行する。
・移行条件がc成立するとn+2ステップに,移行条件dが成
立するとn+4ステップにそれぞれ移行する。
・ nステップの動作出力〔A〕,n+1ステップの動作出力
〔B〕実行時,移行条件b,移行条件cが成立すると,nス
テップの動作出力〔A〕,n+1ステップの動作出力〔B〕の
それぞれを非実行にして,待ち合せステップに移行する。
・待ち合せステップは,並列処理しているステップの同期
をとるステップで,並列処理しているすべてのステップ
が待ち合せステップへ移行することにより移行条件dを
チェックし,移行条件dが成立すると,n+2ステップの動
作出力〔C〕を実行する。
・待ち合せステップはダミーステップとして,動作出力回
路なしでもかまいません。
(1) 並列移行では,最大32ステップの同時処理を行うことができます。
nステップ
n+1
ステップ
n+2
ステップ
n+3
ステップ
最大32個
4 - 20
n+4
ステップ
n+32
ステップ
4.SFCプログラムの構成
MELSEC-QnA
(2) 並列移行により他のブロックの起動を行った場合は,起動元のブロックと起動先のブロッ
クを同時に実行します。(下記の場合,n+1ステップ以降とブロック1を同時に実行)
ブロック0
nステップ
移行条件b
n+1
ステップ
移行条件
ブロック1の起動
移行条件
nステップ実行時に,移行条件bが成立すると
n+1ステップの実行およびブロック1の起動
を行い,ブロック0,ブロック1を同時に処理
します。
(3) 全ブロックにおいて,同時に処理できるステップ数は,最大1280です。
同時処理ステップ数が1280ステップを超えると,エラーとなりシーケンサCPUの処理が停止
します。
なお,1ブロック内の活性ステップ数は256です。
(4) 並列移行を行った場合は,必ず結合を行ってください。
結合を行わない場合,プログラムが作成できません。
例)結合を行わないプログラム(悪い例)
ジャンプ
エンドステップ
エンドステップ
それぞれにおいてエンドス
テップで終了している。
ジャンプ移行(4.3.4項参照)
して結合していない。
(5) 結合の前には,必ず待ち合せステップを作成してください。
ただし,下記に示すように各並列移行列における処理ステップがそれぞれ1個のみのプログ
ラム(並列移行の分岐から結合までの間に移行条件のないプログラム)の場合は,待ち合
せステップを作成する必要はありません。
4 - 21
4.SFCプログラムの構成
MELSEC-QnA
(4) 並列移行の動作状態をフローチャートで説明します。
動作状態
イニシャルステップ
移行条件a
イニシャルステップの
動作出力を実行。
1ステップ
移行条件b
2ステップ
移行条件c
待ち合せ
ステップ
3ステップ
移行条件d
待ち合せ
ステップ
NO
移行条件aが
成立したか
4ステップ
YES
移行条件e
*1
イニシャルステップの動
作出力を非実行にする。
待ち合せ
ステップ
移行条件f
1 ステップの動作出力を
実行。
5ステップ
移行条件g
NO
移行条件bが
成立したか
YES
*1
1 ステップの動作出力を
非実行にする。
2 ステップの動作出力を
実行。
3 ステップの動作出力を
実行。
NO
移行条件cは
成立したか
並列処理
YES
NO
3 ステップの動作出力を
非実行にする。
待ち合せステップを
実行。
待ち合せステップを
実行。
NO
移行条件eが
成立したか
YES
*1
2ステップの動作出力を
非実行にする。
NO
移行条件dが
成立したか
4 ステップの動作出力を
実行。
YES
*1
4 ステップの動作出力を
非実行にする。
待ち合せステップを
実行。
すべての待ち
合せステップを実行し
ているか
YES
NO
移行条件fは
成立したか
YES
5 ステップの動作出力を
実行。
NO
移行条件gは
成立したか
YES
*1
5 ステップの動作出力を
非実行にする。
エンドステップを実行し
動作を終了する。
*1 該当ステップにステップ属性が指定されてい
るときの処理は属性に従います。
4 - 22
4.SFCプログラムの構成
MELSEC-QnA
4.3.4 ジャンプ移行
ジャンプ移行とは,移行条件成立にて同一ブロック内の指定したステップに実行を移行する
方式です。
n
nステップ
(動作出力〔A〕)
mステップ
(動作出力〔B〕)
移行条件 b
m
・nステップの動作出力〔A〕実行時,移行条
件bが成立すると,動作出力〔A〕を非実行
にし,mステップの動作出力〔B〕を実行す
る。
(1) ジャンプ移行は,1ブロック内における使用個数に制限はありません。
(2) 並列移行内でのジャンプ移行は,分岐したそれぞれの縦方向でのジャンプのみ可能です。
分岐した別の縦の回路へのジャンプ移行や並列分岐から抜け出すジャンプ移行のプログラ
ムは作成できません。
例)並列分岐から抜け出すプログラム(悪い例)
並列移行
ジャンプ移行
並列結合がされていない
例)分岐から結合までの縦方向内でのジャンプ移行プログラム(良い例)
m
m
n
n
分岐から結合までの範囲でジャンプしており作成できます。
4 - 23
4.SFCプログラムの構成
4.3.5
MELSEC-QnA
イニシャルステップが複数ステップのときの移行処理
イニシャルステップが複数のステップのブロックを作成したときの移行処理について説明し
ます。
なお,イニシャルステップが複数のときの結合は選択結合のみ可能です。
(1) ブロック起動時の活性ステップ
イニシャルステップが複数のステップのブロックに起動をかけたときの活性ステップは起
動方法により次のようになります。
・ブロック起動ステップが( , )により起動をかけたとき
イニシャルステップ
・SFC制御命令のブロック起動命令(SET BLm)により起動をか
すべてが活性する
けたとき
・SFC用情報レジスタのブロック起動終了ビットにより強制
起動をかけたとき
・SFC制御命令のステップ制御命令(SET BLm¥Sn,SET Sn)によ
指定ステップのみ活
性する
りイニシャルステップのいずれかを指定したとき
(2) イニシャルステップが複数ステップ活性した時の移行処理
S0
t0
S4
t4
S1
t1
S5
t5
S2
t2
S6
t6
S3
t3
S7
t7
S8
イニシャルステップが複数ステップ活性しているブロックを選択結合した場合,結合
の直前の移行条件のいずれか1つが成立すると結合の直後のステップが活性します。
上記プログラム例では移行条件t4∼t7のいずれかが成立するとステップ8(S8)が活性し
ます。
結合直後のステップが活性後,結合直前の他の移行条件が成立したときは後追い機能
として再度活性させる処理を行います。
なお,結合直後のステップ(上記例ではS8)が活性状態のとき他の移行条件が成立したと
きの処理は,パラメータのSFC設定の“活性中ステップへのステップ移行時(ステップ2重
起動時)の運転モード”(4.7.3項参照)により,停止/待機/移行が選択できます。
4 - 24
4.SFCプログラムの構成
4.3.6
MELSEC-QnA
動作出力(ステップ)/移行条件シーケンスプログラム作成上の注意事項
動作出力(ステップ)および移行条件のシーケンスプログラム作成上の注意事項について説
明します。
(1) ステップのシーケンスプログラム
(a) ステップのシーケンスプログラム表現方法
ステップのシーケンスプログラムをラダー回路で表現すると次のようになります。
出力命令
条件
備
先頭回路ブロックのみ
条件を省略可能
出力命令
考
ステップにシーケンスプログラムを作成しない場合でもエラーとはなりません。
この場合は,該当ステップのすぐ次の移行条件が成立するまで無処理となります。
(b) シーケンスプログラム容量
ステップに記述できるシーケンスプログラム容量は次のようになります。
・1ステップあたり最大4Kシーケンスステップ
・1ブロック合計で最大4Kシーケンスステップ
4 - 25
4.SFCプログラムの構成
MELSEC-QnA
(c) 使用可能命令
下記に示す使用できない命令を除いて,すべての命令が使用可能です。
使用できない命令一覧 分 類
マスタ
コントロール
終了
プログラム
分岐
ブログラム
制御
構造化
デバッグ
故障診断
SFC専用命令
命令記号
シンボル
機 能
MC
MCR
FEND
END
CJ
SCJ
JMP
RCJ
ACJ
GOEND
MC N□ 第1_D
MCR N□
FEND
END
CJ P□
SCJ P□
JMP P□
RCJ ○
S
ACJ ○
S
GOEND
マスタコントロールセット
マスタコントロールリセット
メインルーチンプログラム終了
シーケンスプログラム終了
条件ジャンプ
ディレイジャンプ
無条件ジャンプ
相対ジャンプ
絶対ジャンプ
ENDへジャンプ
IRET
IRET
割込みプログラムからの復帰
BREAK ○
BREAK
D P□
RET
RET
CHKST
CHKST
CHK
CHK
CHKCIR
CHKCIR
CHKEND
CHKEND
SFCP
SFCP
SFCPEND SFCPEND
BLOCK ○
BLOCK
S
BEND
BEND
STEP? ○
STEP?
S
? = N,D,SC,SE,ST,R,C,G,
I,ID,ISC,ISE,IST,IR
TRAN? ○
TRAN?
S
? = L,O,OA,OC,OCA,
A,C,CA,CO,COC
TAND
TSET
SEND
TAND ○
S
TSET ○
S
SEND
4 - 26
繰り返し強制終了
サブルーチンからの復帰
CHK命令スタート
特定フォーマット故障チェック
チェックパターンの変更始め
チェックパターンの変更終り
SFCプログラム開始
SFCプログラム終了
SFCブロック開始
SFCブロック終了
SFCステップ開始
SFC移行開始
SFC結合チェック
SFC移行先指定
SFCステップ終了
備 考
ラベルPも使用不可
ラベルIも使用不可
4.SFCプログラムの構成
MELSEC-QnA
(2) 移行条件のシーケンスプログラム
(a) 移行条件のシーケンスプログラム表現方法
移行条件のシーケンスプログラムをラダー回路で表現すると次のようになります。
条件
TRAN
[TRAN]はダミー出力
条件
(b) シーケンスプログラム容量
各移行条件に作成するシーケンスプログラム容量は,次のようになります。
・1移行条件あたり最大4Kシーケンスステップ
・1ブロックあたり最大4Kシーケンスステップ
(c) 使用可能命令
移行条件のシーケンスプログラムに使用可能な命令を示します。
分 類
接点
接点
結合
命令記号
LD
AND
OR
LDI
ANI
ORI
LDP
ANDP
ORP
LDF
ANDF
ORF
ANB
ORB
INV
MEP
MEF
EGP
EGF
LD□
AND□
OR□
LDD□
ANDD□
ORD□
比較演算
LDE□
ANDE□
ORE□
LD$□
AND$□
OR$□
接点
(プログラム実行
状態チェック)
LDPCHK
ANDPCHK
ORPCHK
機 能
演算開始(a接点)
直列接続(a接点)
並列接続(a接点)
演算開始(b接点)
直列接続(b接点)
並列接続(b接点)
立上がりパルス演算開始
立上がりパルス直列接続
立上がりパルス並列接続
立下がりパルス演算開始
立下がりパルス直列接続
立下がりパルス並列接続
回路ブロック直列接続
回路ブロック並列接続
演算結果反転
演算結果立上がりパルス化(ステップ記憶)
演算結果立下がりパルス化(ステップ記憶)
演算結果立上がりパルス化(メモリ記憶)
演算結果立下がりパルス化(メモリ記憶)
シンボル
V
V
LD□
AND□ ○
S2
S1 ○
OR□
□(=,<>,>,>=,<,<=)
LDD□
ANDD□ ○
S2
S1 ○
ORD□
□(=,<>,>,>=,<,<=)
LDE□
ANDE□ ○
S2
S1 ○
ORE□
□(=,<>,>,>=,<,<=)
LD$□
AND$□ ○
S2
S1 ○
OR$□
□(=,<>,>,>=,<,<=)
PCHK
PCHK
PCHK
4 - 27
S
○
BIN16ビットデータ比較
BIN32ビットデータ比較
浮動小数点データ比較
文字列データ比較
演算開始(a接点)
直列接続(a接点)
並列接続(a接点)
備 考
4.SFCプログラムの構成
MELSEC-QnA
4.4 SFCプログラムを命令で制御する(SFC制御命令)
SFC制御命令とは,ブロック・ステップの活性状態チェックや,強制起動・終了などを行うこ
とができる命令です。
SFC制御命令は,SFC図記号で作成したSFCプログラムと組み合わせて使用することによりSFC
プログラムの制御が容易になります。
SFC制御命令の種類とその機能について説明します。
名 称
ステップ活性チェック命令
強制移行チェック命令
ブロック活性チェック命令
機 能
ラダー表現
LD,AND,OR,
LDI,ANI,ORI
LD,AND,OR,
LDI,ANI,ORI
LD,AND,OR,
LDI,ANI,ORI
LD,AND,OR,
LDI,ANI,ORI
LD,AND,OR,
LDI,ANI,ORI
*1
Sn
・指定ブロックの指定ステップが活性か非活性をチェッ
クする。
BLm¥Sn
*1
TRn
BLn¥TRn
・指定ブロックの指定ステップが移行制御命令により移
行条件が強制的に成立しているか否かをチェックす
る。
BLm
・指定ブロックが活性か非活性かをチェックする。
D
○
*1
MOV(P)
K4Sn
MOV(P)
D
BLm¥K4Sn ○
DMOV(P)
K8Sn
DMOV(P)
D
BLm¥K8Sn ○
BMOV(P)
K4Sn
BMOV(P)
D Kn
BLm¥K4Sn ○
ブロック起動命令
SET
BLm
・指定ブロックを単独で強制的に起動(活性)させ,イ
ニシャルステップから実行させる。
ブロック終了命令
RST
BLm
・指定ブロックを強制的に終了(非活性)にする。
ブロック停止命令
PAUSE
BLm
・指定ブロックを一時停止状態にする。
ブロック再開命令
RSTART
BLm
・指定ブロックの一時停止を解除し停止ステップから実
行を再開させる。
SET
Sn
SET
BLm¥Sn
RST
Sn
RST
BLm¥Sn
SCHG
D
○
D
○
*1
・指定ブロックの活性ステップ状態をビット情報として
指定デバイスへ読み出す。
活性ステップ一括読出命令
ステップ制御命令
D Kn
○
*1
*1
・指定ブロックを単独で強制的に起動(活性)させ指定
ステップから実行させる。
*1
・指定ブロックの指定ステップを強制的に非活性にす
る。
*2
4 - 28
・命令実行ステップを非活性にし,指定ステップを活性
にする。
4.SFCプログラムの構成
名 称
MELSEC-QnA
ラダー表現
機 能
*1
SET
TRmn
SET
BLm¥TRn
RST
TRn
RST
BLm¥TRn
ブロック切替命令
BRSET
S
○
サブルーチンコール命令
XCALL
Pn
プログラム実行状態チェック命令
(LD,AND,OR)
PCHK“プログラム名”
・指定プログラムが実行状態か否かをチェックする。
タイムチェック命令
TIMCHK
S1 ○
S2 ○
D
○
・指定条件が成立後の時間を計測し,設定時間が経過す
ると出力デバイスに指定したデバイスをONさせる。
・指定ブロックの指定移行条件を強制的に成立させる。
移行制御命令
*1
・指定ブロックの指定移行条件の強制移行を解除する。
・SFC制御命令のうち*1の命令の対象ブロックを指定す
る。
・命令実行条件がONであれば常時サブルーチンコールを
実行,ON→OFF時はOFF実行を1回のみ実行。
*1:ブロック切替命令(BRSET)で指定したブロックが命令実行対象ブロックとなります。
(デフォルトは0ブロックまたは自ブロックが対象)・・・・詳細は4.4.11項参照)
*2:SFCプログラムのステップでのみ使用可能
SFCプログラム以外のシーケンスプログラムで実行するとエラーとなります。
4 - 29
4.SFCプログラムの構成
MELSEC-QnA
ポイント
4.4.1項以降の各命令の説明で記載している表の見方は次のようになります。
使用可能デバイス
内部デバイス
ファイル MELSECNET/10
特殊機能 インデ
拡 張
定数
その他
(システム,ユーザ) レジスタ ダイレクト J ¥
ユニット ックス
S F C
K,H
Sn
ビット
ワード
R
Z
BLm¥Sn
ビット ワード U ¥G
S
○
○
○
データ型
実行対象先
命令使用プログラム
シーケン SFCプログラム
ブロ ステ 移行
スプログ
移行
ック ップ 条件
ステップ
ラム
条件
BIN16/BIN32
○
D
○
○
○
○
BIN16/BIN32
①
③
②
④
⑤
①…回路上でのシンボル図を示します。
MOV
S
D
TIMCHK
S1
S2
D
ディスティネーション側を示す
ディスティネーション側を示す
ソース側を示す
ソース側を示す
命令記号を示す
命令記号を示す
ディスティネーション(destination) ・・・・・・・ 演算後のデータの行き先を示します。
ソース(source) ・・・・・・・・・・・・・・・・・・・・・・・・・・ 演算前にデータを格納します。
②…使用可能デバイスを示します。
・○印のデバイスが該当命令で使用可能です。
デバイスの使用区分は次のとおりです。
NET/10ダイレクト
内 部
ファイル
J ¥
(システム,ユーザ)
R
ビット
ワード
ビット
ワード
FX,FY,S, A,VD,SD, R,ZR
J□¥W
J□¥X
SM,X,Y, T,C,D,W,
J□¥SW
J□¥Y
使用可能
M,L,F,V, SW,FD,ST
J□¥B
デバイス
B,T,C,SB
J□¥SB
デバイス
区 分
特 殊
ユニット
U□¥G□
U□¥G
インデックス
Z□
Z
定 数
10進定数
16進定数
実数定数
文字列定数
その他
P,I,J,U,DX,
DY,N,BL,
TR,BL¥S
・定数欄,拡張SFC欄,その他欄にデバイス名が記載されている場合はそのデバイスの
み使用可能です。
例)定数欄に“K,H”と記載されているとき
10進定数(K),16進定数(H)のみ指定可能
実数定数(E),文字列定数($)は指定不可
③…指定デバイスのデータ型を示します。
・ビット ・・・・・・・ ビットデータを取り扱うことを示す
・BIN16 ・・・・・・・・ 16ビットBIN値を取り扱うことを示す
1ワード使用
・BIN32 ・・・・・・・・ 32ビットBIN値を取り扱うことを示す
2ワード使用
・文字列 ・・・・・・・ 文字列データを取り扱うことを示す
ワード数可変
・デバイス ・・・・・ デバイス名,先頭デバイスを扱うことを示す
ワード数可変
④…該当命令を使用可能なプログラムの種類を示します。
⑤…該当命令による要求先を示します。
4 - 30
4.SFCプログラムの構成
MELSEC-QnA
4.4.1 ステップ活性チェック命令(LD,LDI,AND,ANI,OR,ORI)
使用可能デバイス
特殊機能 インデ
ファイル MELSECNET/10
拡 張
定数
ユニット ックス
S F C その他
(システム,ユーザ) レジスタ ダイレクト J ¥
K,H
R
ビット
ワード
Z
BLm¥Sn
ビット ワード U ¥G
内部デバイス
S
○
*
○
○
* :Snのみ可
○
Sn
LD
Sn
LDI
Sn
AND
Sn
ANI
OR
データ型
デバイス名
nはステップ番号
BLm¥Sn
LD
BLm¥Sn
LDI
BLm¥Sn
AND
BLm¥Sn
Sn
ANI
BLm¥Sn
Sn
OR
BLm¥Sn
○
mはブロック番号,nはステップ番号
BLm¥Sn
Sn
BLm¥Sn
ORI
Sn
能
○
BLm¥Sn
Sn
機
○
BLm¥Sn
Sn
Sn
○
* 拡張SFC,その他のmはブロック番号,nはステップ/移行条件番号
Sn
ORI
命令使用プログラム
実行対象先
シーケン SFCプログラム
ブロ ステ 移行
移行
スプログ
ック ップ 条件
ステップ
条件
ラム
BLm¥Sn
BLm¥Sn
(1) 指定ブロックの指定ステップが活性状態か否かをチェックします。
(2) 該当ステップが活性状態であれば,a接点命令は接点がONし,b接点命令は接点がOFFします。
(3) 自ブロック内のステップを指定するときは“Sn”,他のブロックのステップを指定するまた
はシーケンスプログラムで命令実行時は“BLm¥Sn”でプログラミングしてください。
(4) 該当ステップがSFCプログラムに存在しない場合は常時OFFとなります。
4 - 31
4.SFCプログラムの構成
プログラム例
MELSEC-QnA
(1) 3ブロックの5ステップの活性状態をチェックし,活性になったときY20をONさせるプログ
ラム。
自ブロック内のステップを指定するとき S5
Y20
他のブロックのステップを指定するとき BL3¥S5
Y20
(2) 並列分岐で他のステップと同期をとって移行させるプログラム。
S5
S6
S10
S20
インタロック
Tran
S20
関連命令 ① SFC制御命令
・ブロック切替命令(BRSET) ・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 4.4.11項参照
・ステップ制御命令(SCHG) ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 4.4.10項参照
・活性ステップ一括読出命令(MOV(P),DMOV(P),BMOV(P)) ・・・ 4.4.4項参照
4 - 32
4.SFCプログラムの構成
4.4.2
MELSEC-QnA
強制移行チェック命令
使用可能デバイス
特殊機能 インデ
ファイル MELSECNET/10
拡 張
その他
定数
ユニット ックス
S F C
(システム,ユーザ) レジスタ ダイレクト J ¥
TRn
K,H
R
ビット
ワード
Z
BLm¥TRn
ビット ワード U ¥G
内部デバイス
S
○
○
○
データ型
デバイス名
命令使用プログラム
実行対象先
シーケン SFCプログラム
ブロ ステ 移行
移行
スプログ
ック ップ 条件
ステップ
条件
ラム
○
○
○
○
* 拡張SFC,その他のmはブロック番号,nはステップ/移行条件番号
TRn
LD
TRn
LDI
TRn
AND
TRn
ANI
OR
nは移行条件番号
BLm¥TRn
LD
BLm¥TRn
LDI
BLm¥TRn
AND
BLm¥TRn
TRn
ANI
BLm¥TRn
TRn
OR
BLm¥TRn
TRn
BLm¥TRn
TRn
BLm¥TRn
TRn
BLm¥TRn
TRn
ORI
BLm¥TRn
TRn
ORI
TRn
機
能
mはブロック番号,nは移行条件番号
BLm¥TRn
BLm¥TRn
(1) 指定ブロックの指定移行条件が,強制移行に指定されているか否かをチェックします。
(2) 該当移行条件が強制移行に指定されておれば,a接点命令は接点がONし,b接点命令は接点
がOFFします。
(3) 自ブロック内のステップを指定するときは“TRn”,他のブロックのステップを指定するま
たはシーケンスプログラムで命令実行時は“BLm¥TRn”でプログラミングしてください。
(4) 該当移行条件がSFCプログラムに存在しない場合は常時OFFとなります。
4 - 33
4.SFCプログラムの構成
プログラム例
MELSEC-QnA
(1) 3ブロックの移行条件5が強制移行に指定されているかをチェックし,指定されている場合
Y20をONさせるプログラム。
自ブロック内の移行条件番号を指定するとき
TR5
Y20
他のブロックの移行条件番号を指定するとき
BL3¥TR5
Y20
関連命令
① SFC制御命令
・移行制御命令
SET TRn, SET BLm¥TRn
RST TRn, RST BLm¥TRn
・・・・ 4.4.9項参照
・ブロック切替命令(BRSET) ・・・・・・・・・・・・・・・・ 4.4.11項参照
4 - 34
4.SFCプログラムの構成
MELSEC-QnA
4.4.3 ブロック活性チェック命令(BLm)
使用可能デバイス
特殊機能 インデ
ファイル MELSECNET/10
定 数 拡 張 その他
ユニット ックス
(システム,ユーザ) レジスタ ダイレクト J ¥
K,H S F C
BLm
R
ビット
ワード
Z
ビット ワード U ¥G
内部デバイス
S
○
○
データ型
デバイス名
命令使用プログラム
実行対象先
シーケン SFCプログラム
ブロ ステ 移行
移行
スプログ
ック ップ 条件
ステップ
条件
ラム
○
○
○
○
* 拡張SFC,その他のmはブロック番号,nはステップ/移行条件番号
BLm
mはブロック番号
LD
OR
BLm
BLm
LDI
BLm
AND
ORI
BLm
BLm
ANI
機
能
(1) 指定ブロックが活性か否かをチェックします。
(2) 該当ブロックが活性状態であれば,a接点命令は接点がONし,b接点命令は接点がOFFしま
す。
(3) 該当ブロックがSFCプログラムに存在しない場合は常時OFFとなります。
プログラム例
(1) 3ブロックが活性かをチェックし,活性であればY20をONさせるプログラム。
BL3
Y20
関連命令
① SFC制御命令
・ブロック起動命令(SET BLm),ブロック終了命令(RST BLm) ・・・ 4.4.6項参照
② SFC図記号
・ブロック起動ステップ(
n,
n) ・・・・・・・・・・・・・・・・・・・・・・・・・ 4.2.8項,4.2.9項
参照
③ SFC用情報レジスタ
・ブロック起動終了ビット ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 4.5.1項参照
4 - 35
4.SFCプログラムの構成
MELSEC-QnA
4.4.4 活性ステップ一括読出命令(MOV,DMOV)
使用可能デバイス
特殊機能 インデ
ファイル MELSECNET/10
拡 張
定数
ユニット ックス
S F C その他
(システム,ユーザ) レジスタ ダイレクト J ¥
K,H
R
ビット
ワード
Z
BLm¥Sn
ビット ワード U ¥G
内部デバイス
S
○
*
○
○
命令使用プログラム
シーケン SFCプログラム
ブロ ステ 移行
スプログ
移行
ック ップ 条件
ステップ
ラム
条件
データ型
○
BIN16/BIN32
D
○
○
○
○
○
* :Snのみ可
○
読出指令
機
実行対象先
能
* 拡張SFC,その他のmはブロック番号,nはステップ/移行条件番号
nはステップ番号
mはブロック番号,nはステップ番号
MOV(P)
S
(K4Sn)
D
MOV(P)
S
(BLm¥K4Sn)
D
DMOV(P)
S
(K8Sn)
D
DMOV(P)
S
(BLm¥K8Sn)
D
(1) 指定ブロックのステップ活性状態を一括で読み出します。
D に指定したデバイスへ次のように格納されます。
(2) 読み出した結果は,○
b15 b14 b13 b12 b11 b10 b9
b8
b7
b6
b5
b4
b3
b2
b1
b0
0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
Snで指定したステップ
Sn+15ステップ
Sn+1ステップ
0:該当ステップが非活性状態
1:該当ステップが活性状態
(3) 該当ステップがSFCプログラムに存在しない場合は常時OFFとなります。
4 - 36
4.SFCプログラムの構成
プログラム例
MELSEC-QnA
(1) ブロック3の活性ステップをX0がONしたときにステップ0から32ステップ分読み出すプログ
ラム。
自ブロック内のステップを指定するとき
X0
DMOVP
D0
K8S0
他のブロックのステップを指定するとき
X0
DMOVP
D0
BL3¥K8S0
b15 b14 b13 b12 b11 b10
b9
b8
b7
b6
b5
b4
b3
b2
b1
b0
S15 S14 S13 S12 S11 S10
S9
S8
S7
S6
S5
S4
S3
S2
S1
S0
D0
ステップ番号
D1
S31 S30 S29 S28 S27 S26 S25 S24 S23 S22 S21 S20 S19 S18 S17 S16
関連命令
① SFC制御命令
・ブロック切替命令(BRSET) ・・・・・・・・・・・ 4.4.11項参照
・ステップ活性チェック命令(Sn) ・・・・・・ 4.4.1項参照
・活性ステップ一括読出命令(BMOV) ・・・・ 4.4.5項参照
4 - 37
4.SFCプログラムの構成
4.4.5
MELSEC-QnA
活性ステップ一括読出命令(BMOV)
使用可能デバイス
特殊機能 インデ
ファイル MELSECNET/10
拡 張
その他
定数
ユニット ックス
S F C
(システム,ユーザ) レジスタ ダイレクト J ¥
Sn
K,H
R
BLm¥Sn
ビット
ワード
Z
ビット ワード U ¥G
内部デバイス
S
○
*
○
実行対象先
ブロ ステ 移行
スプログ
移行
ック ップ 条件
ステップ
ラム
条件
○
D
○
○
BIN16
n
○
○
○
○
○
* :Snのみ可
○
* 拡張SFC,その他のmはブロック番号,nはステップ/移行条件番号
nはステップ番号
BMOV(P)
機
データ型
命令使用プログラム
シーケン SFCプログラム
能
S
(K4Sn)
D
読出数
mはブロック番号
BMOV(P)
n
S
(BLm¥K4Sn)
D
n
(1) 指定ブロックのステップ活性状態を指定ワード分一括で読み出します。
D に指定したデバイスへ次のように格納されます。
(2) 読み出した結果は,○
b15 b14 b13 b12 b11 b10 b9
D
b8
b7
b6
b5
b4
b3
b2
b1
b0
0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
Snで指定したステップ
Sn+15ステップ
Sn+1ステップ
0:該当ステップが非活性状態
1:該当ステップが活性状態
D +1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
Sn+31
Sn+16
D +A 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
Sn+(A×16+15)
Sn+(A×16)
(3) 該当ステップがSFCプログラムに存在しない場合は常時OFFとなります。
4 - 38
4.SFCプログラムの構成
プログラム例
MELSEC-QnA
(1) ブロック3の活性ステップ状態をX0がONしたときにステップ0から3ワード分D0からへ読み出
すプログラム。
自ブロック内のステップを指定するとき
X0
BMOVP
K4S0
K3
D0
他のブロックのステップを指定するとき
X0
BMOVP
BL3¥S0
K3
D0
b15 b14 b13 b12 b11 b10
b9
b8
b7
b6
b5
b4
b3
b2
b1
b0
S15 S14 S13 S12 S11 S10
S9
S8
S7
S6
S5
S4
S3
S2
S1
S0
D0
ステップ番号
D1
S31 S30 S29 S28 S27 S26 S25 S24 S23 S22 S21 S20 S19 S18 S17 S16
D2
S47 S46 S45 S44 S43 S42 S41 S40 S39 S38 S37 S36 S35 S34 S33 S32
関連命令
① SFC制御命令
・ブロック切替命令(BRSET) ・・・・・・・・・・・・・・・ 4.4.11項参照
・ステップ活性チェック命令(Sn) ・・・・・・・・・・ 4.4.1項参照
・活性ステップ一括読出命令(MOD,DMOV) ・・・・ 4.4.4項参照
4 - 39
4.SFCプログラムの構成
MELSEC-QnA
4.4.6 ブロック起動・終了命令(SET,RST)
使用可能デバイス
拡 張
特殊機能 インデ
ファイル MELSECNET/10
定数 S F C その他
ユニット ックス
(システム,ユーザ) レジスタ ダイレクト J ¥
K,H BLm¥Sn
BLm
R
ビット
ワード
Z
ビット ワード U ¥G
BLm¥TRn
内部デバイス
D
○
○
データ型
命令使用プログラム
実行対象先
シーケン SFCプログラム
ブロ ステ 移行
移行
スプログ
ック ップ 条件
ステップ
条件
ラム
デバイス名
○
○
○
* 拡張SFC,その他のmはブロック番号,nはステップ/移行条件番号
mはブロック番号
SET
機
能
D
(BLm)
RST
D
(BLm)
(1) SET BLm
① 指定ブロックを単独で強制的に活性させイニシャルステップから実行させます。
イニシャルステップが複数ステップの場合すべてのイニシャルステップが活性します。
SFC用情報レジスタのブロック起動終了ビットが設定されている場合,該当ビットデバ
イスはOFFからONに変化します。
② 命令実行時,指定ブロックがすでに活性状態の場合は命令を無視(NOP命令相当)して
処理を続行します。
(2) RST BLm
① 指令ブロックを単独で強制的にブロックエンド処理をさせ非活性にします。
SFC用情報レジスタのブロック起動終了ビットが設定されている場合,該当ビットデバ
イスはONからOFFに変化します。
② 命令実行時,指定ブロックが非活性の場合は何も変化しません。
演算エラー
・指定ブロックが存在しないとき。・・・・エラーNo.4621
プログラム例
(1) X1がONしたときブロック1を強制的に活性させ,X2がONしたときブロック1を強制的に終了
させ非活性にするプログラム。
X1
SET BL1
X2
RST BL1
関連命令 ① SFC図記号
・ブロック起動ステップ ,
・・・・ 4.2.8項,4.2.9参照
② SFC用情報レジスタ
・ブロック起動終了ビット ・・・・・・・・・・ 4.5.1項参照
4 - 40
4.SFCプログラムの構成
MELSEC-QnA
4.4.7 ブロック停止・再開命令(PAUSE,RSTART)
使用可能デバイス
拡 張
特殊機能 インデ
ファイル MELSECNET/10
定数 S F C その他
ユニット ックス
(システム,ユーザ) レジスタ ダイレクト J ¥
BLm
K,H BLm¥Sn
R
ビット
ワード
Z
ビット ワード U ¥G
BLm¥TRn
内部デバイス
D
○
○
データ型
デバイス名
命令使用プログラム
実行対象先
シーケン SFCプログラム
ブロ ステ 移行
移行
スプログ
ック ップ 条件
ステップ
条件
ラム
○
○
○
* 拡張SFC,その他のmはブロック番号,nはステップ/移行条件番号
mはブロック番号
PAUSE
機
能
D
(BLm)
RSTART
D
(BLm)
(1) PAUSE
① 指定ブロックを一時停止状態にします。
② 命令実行時の停止タイミングおよびOUT命令によるコイル出力状態は設定により次
のようになります。
パラメータのブ
ロック停止時の
出力モード設定
コイル出力OFF
・
コイル出力保持
コイル出力保持
出力モード用特殊
リレーSM325の状態
OFF
(コイル出力OFF)
ON
(コイル出力保持)
ブロック停止モー
ドビット の状態
OFFまたは
設定なし
(即停止)
ON
(移動後停止)
OFFまたは
設定なし
(即停止)
ON
(移行後停止)
動 作 内 容
動作保持ステップ以外の活性ステップ
活性している動作保持ステップ
・停止要求後,最初に該当ブロックの処理実行時コイル出力をOFFにして停
止する。
・停止要求後,移行条件が成立すると
コイル出力をOFFにして停止する。
・複数ステップ活性時は,移行条件が
成立したステップから順次停止する。
・停止要求後,最初に該当ブロッ
クの処理実行時コイル出力を
OFFにして停止する。
・停止要求後,最初に該当ブロックの処理実行時にコイル出力を保持して
停止する。
・停止要求後,移行条件が成立すると
コイル出力を保持して停止する。
・複数ステップ活性時は,移行条件が
成立したステップから順次停止する。
・停止要求後,最初に該当ブロッ
クの処理実行時コイル出力を保
持して停止する。
ポイント
(1) コイル保持ステップは,停止要求後最初に該当ブロックの処理実行時に非活性となり
ます。
(2) 特殊リレーM325は,SFCプログラム実行時にシステムがパラメータの設定に合わせ“コ
イル出力OFF時”はOFF,“コイル出力ON”時はONさせます。
ユーザプログラムでON/OFFさせることによりパラメータの設定とは無関係に設定を変
更することができます。
③ SFC制御命令のブロック停止命令(PAUSE BLm)実行時は,停止再開ビットもONします。
4 - 41
4.SFCプログラムの構成
MELSEC-QnA
(2) RSTART
① 該当ブロックは停止していたステップから実行を再開します。
なお,動作保持状態で停止になった動作保持ステップ(移行チェックあり/移行チェッ
クなし)は動作保持状態で実行を再開します。
コイル保持ステップは停止時に非活性になっているため再活性はしません。
② ブロック停止時の動作出力を保持するか,すべてOFFするかを選択する特殊リレーSM325
のON(保持)/OFF(すべてOFF)により,ブロック停止解除後のPLS命令,P
命令の
動作が異なります。
SM325
ON時 :実行しない
OFF時:再実行する
③ ブロック停止中にブロック再開命令(RSTART BLm)実行時は,ブロック停止再開ビットも
OFFします。
演算エラー
・指定ブロックが存在しないとき。 … エラーNo.4621
プログラム例
(1) X1がONしたときブロック1を停止状態にし,X2がONしたとき処理を再開するプログラム。
X1
PAUSE
BL1
X2
RSTART BL1
関連命令
① SFC用情報レジスタ
・ブロック停止再開ビット ・・・・ 4.5.3項参照
4 - 42
4.SFCプログラムの構成
MELSEC-QnA
4.4.8 ステップ起動・終了命令(SET,RST)
使用可能デバイス
内部デバイス
ファイル MELSECNET/10
特殊機能 インデ
拡 張
定数
その他
(システム,ユーザ) レジスタ ダイレクト J ¥
ユニット ックス
S F C
K,H
Sn
ビット
ワード
R
Z
BLm¥Sn
ビット ワード U ¥G
D
○
○
○
データ型
デバイス名
実行対象先
命令使用プログラム
シーケン SFCプログラム
ブロ ステ 移行
移行
スプログ
ック ップ 条件
ステップ
条件
ラム
○
○
○
* 拡張SFC,その他のmはブロック番号,nはステップ/移行条件番号
nはステップ番号
SET
D
(Sn)
RST
D
(Sn)
RST
D
(BLm¥Sn)
mはブロック番号
SET
機
能
D
(BLm¥Sn)
(1) SET
① 指定ブロックの指定ステップを強制的に活性させます。
指定先ブロックの活性・非活性により該当ブロックの動作は次のようになります。
・指定ブロックが非活性の場合
指定ブロックは,命令実行時に活性となり指定ステップから処理を開始します。
SFC用情報レジスタのブロック起動終了ビットが設定されている場合,該当ビットデ
バイスはOFFからONに変化します。
・指定ブロックがすでに活性になっている場合
すでに活性しているステップはそのまま活性を続け処理を継続し,新たに指定ステッ
プが活性します。(複数ステップ活性,後追い機能となります。)
② イニシャルステップが複数ステップあるとき,特定ステップを指定して活性させること
によりイニシャルステップの選択スタートがかけられます。
③ 並列分岐の中のステップを指定するときは,並列すべて活性するようにしてください。
並列分岐で活性していない分岐回路があると,並列結合の条件が成立しなくなります。
④ すでに活性しているステップへ命令実行した場合は命令を無視(NOP命令相当)して処
理を続行します。
4 - 43
4.SFCプログラムの構成
MELSEC-QnA
(2) RST
① 指定ブロックの指定ステップを強制的に非活性にします。
コイル保持ステップ,動作保持ステップに対して命令実行できます。
② 命令実行により,該当ブロックの活性ステップ数が0になったときはブロックエンド処
理を行いブロックが非活性となります。
SFC用情報レジスタのブロック起動終了ビットが設定されている場合,該当ビットデバ
イスはONからOFFに変化します。
③ 並列分岐の中のステップへ命令を実行すると,並列結合の条件が成立しなくなります。
④ すでに非活性になっているステップへ命令を実行した場合,命令を無視(NOP命令相当)
します。
演算エラー
・指定ステップが存在しないとき……エラーNo.4631
プログラム例
(1) X1がONしたときイニシャルステップが複数あるブロック1のステップ2を選択し起動をかけ
るプログラム。
(ブロック1)
S0
S1
S2
自ブロック内のステップを指定するとき
X1
SET
S3
S4
S2
S5
他のブロックのステップを指定するとき
X1
S6
SET
BL1¥S2
(2) ステップ5の保持ステップをステップ10が活性したとき非活性にするプログラム。
SE
S5
S6
S10
RST S5
4 - 44
4.SFCプログラムの構成
MELSEC-QnA
4.4.9 強制移行実行・解除命令(SET,RST)
使用可能デバイス
内部デバイス
ファイル MELSECNET/10
特殊機能 インデ
拡 張
定数
その他
(システム,ユーザ) レジスタ ダイレクト J ¥
ユニット ックス
S F C
K,H
TRn
ビット
ワード
R
Z
BLm¥TRn
ビット ワード U ¥G
D
○
○
○
データ型
実行対象先
命令使用プログラム
シーケン SFCプログラム
ブロ ステ 移行
移行
スプログ
ック ップ 条件
ステップ
条件
ラム
デバイス名
○
○
○
* 拡張SFC,その他のmはブロック番号,nはステップ/移行条件番号
nは移行条件番号
SET
D
(TRn)
RST
D
(TRn)
RST
D
(BLm¥TRn)
mはブロック番号
SET
機
能
D
(BLm¥TRn)
(1) SET
① 指定ブロックの指定移行条件を強制的に成立させ,直前のステップを無条件に移行させ
ます。
ユーザ設定
移行条件
連続移行阻止
SM324
Tran
常時ON
(命令実行によるイメージ回路)
② 命令実行後は,解除命令を実行するまで強制移行のままとなります。
(2) RST
① SET命令で強制移行に設定されている移行条件を解除してユーザ作成の移行条件回路を
有効にします。
演算エラー
・指定した移行条件が存在しない・・・・エラーNo.4631
プログラム例
(1) X1がONしたら1ブロックの移行条件1を強制移行にし,X2がONしたら解除するプログラム。
自ブロック内の移行条件番号を指定するとき
X1
SET TR1
X2
RST TR1
自ブロック内の移行条件番号を指定するとき
X1
SET BL1¥TR1
X2
RST BL1¥TR1
4 - 45
4.SFCプログラムの構成
MELSEC-QnA
4.4.10 活性ステップ変更命令(SCHG)
使用可能デバイス
拡 張 その他
内部デバイス
ファイル MELSECNET/10
特殊機能 インデ
BLm
S F C
(システム,ユーザ) レジスタ ダイレクト J ¥
ユニット ックス 定数
Sn
BLm¥Sn
ビット
ワード
R
Z
ビット ワード U ¥G
BLm¥TRn TRn
D
○
○
データ型
実行対象先
命令使用プログラム
シーケン SFCプログラム
ブロ ステ 移行
スプログ
移行
ック ップ 条件
ステップ
ラム
条件
BIN16
○
○
* 拡張SFC,その他のmはブロック番号,nはステップ/移行条件番号
SCHG
機
能
D
(1) 命令を実行したステップを非活性にし,同一ブロック内の指定ステップを強制的に活性さ
せます。
(2) 指定先ステップがすでに活性していたときは命令を実行したステップを非活性にし,指定
先ステップはそのまま処理を続行します。
(3) 非活性になるタイミングは,命令実行後該当ステップに付随するプログラムをすべて演算
して移行条件の成立/不成立のチェックに移るときです。
(4) 本命令は,SFCプログラムのステップのみで使用可能です。
演算エラー
・指定先ステップが存在しないとき……エラーNo.4631
・SFCプログラム以外のシーケンス ……エラーNo.4001
プログラムで命令を記述
プログラム例
(STOP→RUN時にエラーとなる)
(1) ステップ5でX1がONしたとき,ステップ5を非活性にしステップ6を活性にするプログラム。
S5
S6
X1
SCHG
4 - 46
K6
4.SFCプログラムの構成
MELSEC-QnA
4.4.11 対象ブロック切替え命令(BRSET)
使用可能デバイス
拡 張 その他
特殊機能 インデ
ファイル MELSECNET/10
BLm
S F C
ユニット ックス 定数
(システム,ユーザ) レジスタ ダイレクト J ¥
Sn
BLm¥Sn
ビット
ワード
R
Z
ビット ワード U ¥G
BLm¥TRn TRm
内部デバイス
S
○
○
データ型
BIN16
実行対象先
命令使用プログラム
シーケン SFCプログラム
ブロ ステ 移行
移行
スプログ
ック ップ 条件
ステップ
条件
ラム
○
○
* 拡張SFC,その他のmはブロック番号,nはステップ/移行条件番号
BRSET
機
能
S
(1) ステップ(Sm),移行条件(TRm)のみを指定するSFC制御命令の対象先ブロック番号を指定し
ます。
(2) 対象先ブロック番号の指定は,各命令のデバイスを“BLm¥Sn”または“BLm¥TRn”にするこ
ともできますが“BLm”のmに指定できるのは定数(K/H)のみで指定先が固定となります。
本命令により対象先ブロックを切替えると,ワードデバイスによる間接指定,インデック
ス修飾などが可能となります。
(3) 本命令を実行したとき対象先ブロックの切替えが有効となるのは実行したプログラムによ
り次のようになります。
① 本命令をシーケンスプログラムで実行した場合,対象ブロック切替えの有効は命令実行
からENDステップまでです。
次のスキャン時は再度命令を実行するまでデフォルトとして対象ブロックは0ブロック
となります。
② 本命令をSFCプログラムで実行した場合,対象ブロック切替えの有効は実行中のステッ
プのみです。
対象ステップが同一の場合でもSn,TRn命令を使用するブロックごとに本命令を実行す
る必要があります。
また,ステップ内でも有効になるのは命令実行から該当ステップの処理終了までです。
該当ブロックの処理が終了し,次のスキャンで再度処理するときは再度命令を実行する
までデフォルトとして対象ブロックは自ブロックとなります。
(繰返し)
・シーケンスプログラム
・シーケンスプログラム
A
B
0
END/0
SFCプログラム
END
ブロックn
ブロックn+1
命
令
実
行
命
令
実
行
END
実行プログラム
命
令
実
行
Sn/TRnの対象先
ブロック
ブロック0
命令で指定
したブロック
命
令
実
行
ブロック0
命令で指定
したブロック
自ブロック
命令で指定 *
したブロック
自ブロック
命令で指定 *
したブロック
1スキャン
※ BLm¥Sn,BLm¥TRnで指定するブロック番号(m)は,本命令の実行/非実行にかかわらず有効となります。
* 並列分岐などで複数ステップ活性時は命令実行したステップのみ有効となります。
複数ステップでブロックを指定したい場合は,ステップごとに命令を実行する必要があります。
4 - 47
4.SFCプログラムの構成
MELSEC-QnA
演算エラー
・指定したブロックが存在しないとき…エラーNo.4621
プログラム例
(1) X1がONしたときSn,TRnの対象先ブロック番号をデータレジスタD0に格納されている値のブ
ロックに切り換えるプログラム。
条件
MOV
Kn
D0
BRSET
D0
X1
(2) X2がONしたときSn,TRnの対象先ブロック番号をインデックスレジスタZ1で修飾した定数で
切り換えるプログラム。
X2
BRSET K0Z1
4 - 48
4.SFCプログラムの構成
MELSEC-QnA
4.4.12 プログラム実行状態チェック命令
使用可能デバイス
ファイル MELSECNET/10
(システム,ユーザ) レジスタ ダイレクト J ¥
R
ビット
ワード
ビット ワード
内部デバイス
デバイス
D
○
拡 張 その他
特殊機能 インデ
定数 S F C
BLm
ユニット ックス
Sn
$ BLm¥Sn
U ¥G
Z
BLm¥TRn TRn
○
プログラム名
データ型
文字列
命令使用プログラム
シーケン SFCプログラム
移行
スプログ
ステップ
条件
ラム
○
○
* 拡張SFC,その他のmはブロック番号,nはステップ/移行条件番号
LD
PCHK プログラム名
AND
機
能
PCHK プログラム名
PCHK プログラム名
(1) 指定したプログラムが実行中か否かをチェックします。
(2) 該当プログラムが実行中のときA接点としてONします。
演算エラー
・指定したプログラムファイルが,パラメータの“プログラム ……エラーNo.2410設定”
に登録されていないとき
プログラム例
(1) プログラムファイル“ABC.QPR”が実行中のときY10をONさせるプログラム。
PCHK
"ABC.QPR"
実行中
非実行中
4 - 49
Y10
4.SFCプログラムの構成
MELSEC-QnA
4.4.13 サブルーチンコール命令(XCALL)
使用可能デバイス
特殊機能 インデ
ファイル MELSECNET/10
拡 張
定数
その他
ユニット ックス
S F C
(システム,ユーザ) レジスタ ダイレクト J ¥
K,H
P
ビット
ワード
R
Z
BLm¥Sn
ビット ワード U ¥G
内部デバイス
P
S1
○
○
○*
S5
○
能
指定デバイス
による
※ 拡張SFC,その他のmはブロック番号,nはステップ/移行条件番号
XCALL
機
デバイス名
○
○
(サブルーチンプログラムに引数として渡すデバイス)
* T,C,Fは不可
データ型
実行対象先
命令使用プログラム
シーケン SFCプログラム
ブロ ステ 移行
移行
スプログ
ック ップ 条件
ステップ
条件
ラム
P
S1
∼
S5
(1) 条件が成立時“P
”で指定されたサブルーチンCALL(ON実行)し,条件がON→OFF時
サブルーチンプログラムをFCALL(OFF実行)します。
X0
CALL
X0
①
P1
X10
M0
②
① X0がONの間該当ステップ実行ごとに毎スキャンサブルーチンプログラム“P1”を実行す
る
P1
RET
② X0のON→OFF時1回のみサブルーチンプログラム“P1”をOFF実行する
(2) SFCプログラムではポインタが使用できないため,SFCプログラムでXCALL命令使用時は共通
ポインタをCALLする必要があります。
(3) サブルーチンプログラムの引数とXCALL命令の引数のデバイスの種類が異なる場合正常な処
理がされません。
(4) XCALL命令のネスティングは他のCALL命令と合わせ16重までです。
ポイント
・共通ポインタ,サブルーチンプログラムの引数についての詳細は,QnACPUプログラミン
グマニュアル(共通命令編)を参照してください。
4 - 50
4.SFCプログラムの構成
演算エラー
MELSEC-QnA
・指定したポインタに対するプログラムが存在しないとき ・・・・・・ エラーNo.4210
・RET命令実行前にEND,FEND,GOEND,STOP命令を実行したとき ・・・・ エラーNo.4211
・XCALL命令実行前にRET命令を実行したとき ・・・・・・・・・・・・・・・・・・ エラーNo.4212
・ネスティングが16重を超えたとき ・・・・・・・・・・・・・・・・・・・・・・・・・・ エラーNo.4213
4 - 51
4.SFCプログラムの構成
MELSEC-QnA
4.4.14 タイムチェック命令(TIMCHK)
使用可能デバイス
拡 張 その他
特殊機能 インデ
ファイル MELSECNET/10
定数 S F C
BLm
ユニット ックス
(システム,ユーザ) レジスタ ダイレクト J ¥
Sn
K,H BLm¥Sn
ビット
ワード
R
Z
ビット ワード U ¥G
BLm¥TRn TRn
内部デバイス
○
S1
○
D
○
BIN16
○
S2
○
データ型
実行対象先
命令使用プログラム
シーケン SFCプログラム
ブロ ステ 移行
移行
スプログ
ック ップ 条件
ステップ
条件
ラム
BIN16
○
ビット
○
* 拡張SFC,その他のmはブロック番号,nはステップ/移行条件番号
TIMCHK
機
能
S1
S2
D
(1) 条件のデバイスのON時間を計測し,設定時間以上連続してONであれば指定したデバイスを
ONさせます。
(2) 命令で使用するデバイスは次の役目となります。
条件
TIMCHK
S1
S2
D
タイムアップ時ONさせるデバイス
計測の設定値を格納しているデバイス
計測した現在値を格納するデバイス
計測を実行する条件
(3) 計測を実行する条件がONして,計測した現在値とタイムアップによりONしたデバイスは,
計測を実行する条件がOFFする,または移行条件が成立した場合でも状態を保持します。
現在値の0クリアとONしたデバイスのOFFは,再度計測を実行する条件がONしたとき,また
はプログラムでリセットしたときです。
プログラム例
(1) X0のON時間を設定値を5秒,現在値格納デバイスをD0,タイムアップ時ONするデバイスをY10
とするプログラム。
X0
TIMCHK
4 - 52
D0
K50
Y10
4.SFCプログラムの構成
4.5
MELSEC-QnA
SFC用情報レジスタ
各ブロックごとに設定するSFC用情報レジスタについて説明します。
SFC用情報レジスタの機能を使用する必要のない場合は,SFCプログラム作成時に特に設定し
なくても,SFCプログラムの実行に何ら影響はありません。
SFC用情報レジスタの種類と各機能に使用できるデバイスは,次のとおりです。
使用できるデバイス
SFC用情報レジスタ
ブロ ック起動 終了ビ ット
ステップ移行ビット
ブロ ック停止 再開ビ ット
Y,M,L,F,V,B
ブロック停止モードビット
連 続 移 行 ビ ッ ト
活性 ステップ 数レジ スタ
備
D,W,R,ZR
考
SFC用情報レジスタの設定は,SW0NX-GPPQ形GPP機能ソフトウェアパッケージでSFC図の入力
時に行います。
4 - 53
4.SFCプログラムの構成
4.5.1
MELSEC-QnA
ブロック起動終了ビット
ブロック起動終了ビットは,ブロック起動ステップにより該当ブロックが活性になったとき
の確認デバイスとしての使用方法と,シーケンスプログラムまたは周辺機器のテスト操作によ
り該当ブロックを強制起動をかけたり強制終了させるためのものです。
(1) ブロック起動ステップによりサブブロックを起動させるとき,該当サブブロックが非活性
状態であることを確認するときのインタロックなどに使用します。
ブロック0
ブロック5
0
0
ブロック5の“ブロック活性ビット:M0
0
0
①
1
1
“M0” ON
1
1
OFF
5
2
2
①
②
2
②
(2) 該当ブロックが非活性のとき,ブロック起動終了ビットを周辺機器のテスト機能により強
制的にONさせると該当ブロックを単独で起動をかけることができます。
また,強制的にOFFさせることにより該当ブロックの処理を強制終了することもできます。
(3) ブロック起動終了ビットを強制的にOFFさせ,該当ブロックを非活性にしたとき次のような
処理をします。
・該当ブロックの実行を停止し,実行していたステップの出力もすべてOFFします。
(ただし,SET命令によりONしたデバイスはOFFしません。)
・他のブロックの起動をかけている場合でも停止しますが,起動先のブロックは活性状態
のままとなり処理を続行します。
起動先のブロックも同時にクリアをかける場合は,起動先のブロック起動終了ビットも
OFFさせる必要があります。
(4) 該当ブロックを強制的に非活性にした後の再開は次のようになります。
該当ブロック
パラメータのSFC設定で,ブロック0の起動
ブロック0 条件が“自動起動する”の場合
パラメータのSFC設定で,ブロック0の起動
条件が“自動起動しない”の場合
ブロック1∼319
再開状態
エンドステップ処理後,イニシャルステップから
再開
エンドステップ処理後,該当ブロックを非活性状
態にし,再び該当ブロックに対する起動要求があ
ればイニシャルステップから再開
関連命令 ① SFC制御命令
・ブロック起動命令(SET BLm),ブロック終了命令(RST BLm) ・・・ 4.4.6項参照
② SFC図記号
・ブロック起動ステップ( n, n) ・・・・・・・・・・・・・・・・・・・・・・・ 4.2.8項,4.2.9項
参照
4 - 54
4.SFCプログラムの構成
4.5.2
MELSEC-QnA
ステップ移行ビット
ステップ移行ビットは,実行中のステップの移行条件が成立しているか否をチェックするも
のです。
(1) 各ステップの動作出力を実行後,次ステップへの移行条件が成立していると“ステップ移
行ビット”が自動的にONします。
(2) ONした移行ビットは,再度該当ブロックの処理を実行時に自動的にOFFします。
例)ステップ移行ビット=M1
“M1”
ON
OFF
移行条件3=未成立
ステップ2
他のブロック実行
移行条件2=成立
ステップ1
他のブロック実行
(移行条件1)
移行条件2=未成立
ステップ1
0
他のブロック実行
移行条件1=成立
ステップ0
ブロックn
1
(移行条件2)
(3) 連続移行ビットをONにして連続移行ありにしたとき,移行条件が成立し次のステップの動
2
作出力を実行中および複数ステップ実行後移行条件末成立になったときも移行ビットはON
(移行条件3)
のままとなり,次のスキャンに該当ブロック実行時にOFFとなります。
3
例)ステップ移行ビット=M1
“M1”
ON
OFF
ステップ1
他のブロック実行
移行条件2=不成立
ステップ1
移行条件1=成立
ステップ0
(4) 並列分岐のステップが活性している場合は,いずれか1つでも移行条件が成立すると移行ビッ
トはONします。
n
n+1
Tran
n+2
Tran
Tran
“M1”
ステップn
他のブロック実行
移行条件不成立
ステップn+2
移行条件成立
ステップn+1
移行条件不成立
ステップn
4 - 55
4.SFCプログラムの構成
4.5.3
MELSEC-QnA
ブロック停止再開ビット
ブロック停止再開ビットは,該当ブロックが活性中に機械の故障などにより処理を
一時的に停止させるためのものです。
(1) 設定された“ブロック停止再開ビット”をシーケンスプログラムや周辺機器でONすること
により,該当ブロックは実行中のステップで停止します。
他のブロックの起動をかけている場合でも停止しますが,起動先のブロックは活性状態の
ままとなり処理を続行します。
起動先のブロックも同時に停止をかける場合は,起動先のブロック停止再開ビットもONさ
せる必要があります。
(2) ブロック停止再開ビットをONさせ該当ブロックを停止させるときの停止のタイミングは次
のようになります。
パラメータのブ
ロック停止時の
出力モード設定
コイル出力OFF
・
コイル出力保持
コイル出力保持
出力モード用特殊
リレーSM325の状態
OFF
(コイル出力OFF)
ON
(コイル出力保持)
ブロック停止モー
ドビット の状態
OFFまたは
設定なし
(即停止)
ON
(移動後停止)
OFFまたは
設定なし
(即停止)
ON
(移行後停止)
動 作 内 容
動作保持ステップ以外の活性ステップ
活性している動作保持ステップ
・停止要求後,最初に該当ブロックの処理実行時コイル出力をOFFにして停
止する。
・停止要求後,移行条件が成立すると
コイル出力をOFFにして停止する。
・複数ステップ活性時は,移行条件が
成立したステップから順次停止する。
・停止要求後,最初に該当ブロッ
クの処理実行時コイル出力を
OFFにして停止する。
・停止要求後,最初に該当ブロックの処理実行時にコイル出力を保持して
停止する。
・停止要求後,移行条件が成立すると
コイル出力を保持して停止する。
・複数ステップ活性時は,移行条件が
成立したステップから順次停止する。
・停止要求後,最初に該当ブロッ
クの処理実行時コイル出力を保
持して停止する。
ポイント
(1) コイル保持ステップは,停止要求後最初に該当ブロックの処理実行時に非活性となり
ます。
(2) 特殊リレーM325は,SFCプログラム実行時にシステムがパラメータの設定を反映“コイ
ル出力OFF”時はOFF,“コイル出力ON”時はONさせます。
ユーザプログラムでON/OFFさせることによりパラメータの設定とは無関係に設定を変
更することができます。
(3) シーケンスプログラムまたは周辺機器で“ブロック停止再開ビット”をOFFすることにより,
該当ブロックは停止していたステップから実行を再開します。
なお,動作保持状態で停止になった動作保持ステップ(移行チェックあり/移行チェック
なし)は動作保持状態で実行を再開します。
コイル保持ステップは停止時に非活性になっているため再活性はしません。
4 - 56
4.SFCプログラムの構成
MELSEC-QnA
(4) ブロック停止時の動作出力を保持するか,すべてOFFするかを選択する特殊リレーSM325の
ON(保持)/OFF(すべてOFF)により,ブロック停止解除後のPLS命令,
P命令の動作が
異なります。
SM325
ON時 :実行しない
OFF時:再実行する
(5) SFC制御命令のブロック停止命令(PAUSE BLm)実行時は,該当ブロックが停止しブロック停
止再開ビットもONします。
また,ブロック停止中にブロック再開命令(RSTART BLm)実行時は,該当ブロックが再開と
なりブロック停止再開ビットもOFFします。
ポイント
(1) ブロック停止再開ビットのON,またはブロック停止命令によるSFCプログラム処理の停
止は,該当ブロックに対してのみ行われます。
(2) 起動先ブロックに対してブロック停止を行っても,起動元のブロックは,停止を行い
ません。
(3) 起動元ブロックに対してブロック停止を行っても,起動先のブロックは,停止を行い
ません。
関連命令 ① SFC用情報レジスタ
・ブロック停止モードビット ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 4.5.4項参照
② SFC制御命令
・ブロック停止命令(PAUSE BLm),ブロック再開命令(RSTART BLm) ・・・・ 4.4.7項参照
4 - 57
4.SFCプログラムの構成
4.5.4
MELSEC-QnA
ブロック停止モードビット
ブロック停止モードビットは,ブロック停止再開ビットをONさせるまたはブロック停止命令
(PAUSE BLm)により該当ブロックを停止させるときの停止のタイミングを決めるものです。
(1) 設定したブロック停止モードビットのON/OFFにより,該当ブロックに停止要求を出したと
きの停止タイミングは次のようになります。
・ブロック停止再開ビットOFF→ON,またはブロック停止命令実
ブロック停止モードビット
行で即停止。ただし,自ブロック内でONさせたときは次ス
OFF
キャンで該当ブロックを処理するときに停止,または命令実
行時。
・活性中のステップの移行条件が成立し,移行すると停止する。
ブロック停止モードビット
ただし,移行後のステップの動作出力は実行されない。
ON
・並列分岐で複数ステップが活性しているときは,移行が成立
したステップから順次停止となる。
関連命令 ① SFC用情報レジスタ
・ブロック停止再開ビット ・・・・・・・・・・・・ 4.5.3項参照
② SFC制御命令
・ブロック停止命令(PAUSE BLm) ・・・・・・・ 4.4.7項参照
4 - 58
4.SFCプログラムの構成
4.5.5
MELSEC-QnA
連続移行ビット
連続移行ビットは,移行条件が成立したとき同一スキャン内で次のステップの動作出力を実
行するか否かを指定するものです。
(1) SFCプログラム移行処理には,連続移行ありとなしの2通りがあり連続移行ビットをユーザー
でON(あり)/OFF(なし)させることにより次のように動作します。
・連続移行あり ・・・・・・・ 連続したステップの移行条件がすべて成立している場合,1スキャ
ン内に移行条件が成立しているステップをすべて実行する
・連続移行なし ・・・・・・・ 1スキャンに1ステップずつ実行する
例)下記プログラムの場合の処理
(nブロック)
・連続移行ありの場合
SM400
Tran
該当ブロックが活性すると同一スキャンで全ステップの演算を
実行しブロックエンドとなり非活性となる。
SM400
Tran
・連続移行なしの場合
該当ブロックが活性すると1スキャンに1ステップずつ実行し,
SM400
3スキャン目にブロックエンド処理を行い非活性となる。
Tran
(2) 連続移行の有無は,ブロックごとに設定可能な連続移行ビットの他に全ブロック一括設定
用の特殊リレーがあります。
連続移行ビットと特殊リレー(SM323)との組合わせによる連続移行の実行/非実行は下記の
ようになります。
特殊リレーの状態
・SM323 ON
連続移行ビットの状態
・連続移行ビット OFF
・連続移行ビット 未設定
・連続移行ビット ON
・SM323 OFF
・連続移行ビット 未設定
・連続移行ビット OFF
SFCプログラムの動作
・連続移行なしで動作
・連続移行ありで動作
・連続移行なしで動作
ポイント
タクトタイムを速くするために,連続移行ありにして,ステップの移行を速くすることを
お推めします。
これにより,移行条件成立から移行先ステップの動作出力実行までの待ち時間を解消する
ことができます。
4 - 59
4.SFCプログラムの構成
4.5.6
MELSEC-QnA
活性ステップ数レジスタ
活性ステップ数レジスタは,該当ブロックの現在活性しているステップの数を格納するもの
です。
(1) 該当ブロックの活性ステップ数を格納します。
指定デバイス
D
ステップ数 (2) 活性ステップ数には,通常の活性ステップ以外にコイル保持ステップ,動作保持ステップ
(移行チェックあり),動作保持ステップ(移行チェックなし)も対象となります。
4 - 60
4.SFCプログラムの構成
4.6
MELSEC-QnA
ステップ移行監視タイマ
ステップ移行監視タイマとは,該当ステップが実行状態となってから,次のステップに移行
するまでの時間を計測し,あらかじめ設定されている時間内に移行したかどうかをチェックす
る機能です。
時間内に,該当ステップから次のステップへの移行が行われない場合,あらかじめ設定され
ているアナンシェータ(F)をONします。
(1) ステップ移行監視タイマは,特殊レジスタSD90∼SD99に設定時間,タイムオーバー時にON
するアナンシェータ(F)のデバイス番号を設定し,タイムチェックを行うステップの動作出
力において特殊リレーSM90∼SM99をONすることによりタイマ計測を開始します。 計測中
に,SM90∼SM99をOFFすると,計測を中止してタイマをリセットします。
(2) 監視タイマは,SFCプログラム全体で10個あり,それぞれの監視タイマにおいて特殊リレー
特殊レジスタが次のように割り付けられています。
監視タイマ1 監視タイマ2 監視タイマ3 監視タイマ4 監視タイマ5 監視タイマ6 監視タイマ7 監視タイマ8 監視タイマ9 監視タイマ10
特殊リレー SM90
SM91
SM92
SM93
SM94
SM95
SM96
SM97
SM98
SM99
特殊レジスタ
SD90
SD91
SD92
SD93
SD94
SD95
SD96
SD97
SD98
SD99
(3) 特殊レジスタSD90∼SD99への設定方法は,次のとおりです。
b15
b8 b7
b0
時間設定
(1∼255(設定値×1sec))
タイムオーバー時にONするアナンシェータ(F)
のデバイス番号を設定
(0∼255)
(4) 監視タイマの使用方法は,次のとおりです。
MOVP H010A SD90
タイムチェックを
行うステップ
SM90
設定時間…10×1sec=10sec
アナンシェータ(F)番号…F1
H010A
移行条件a
10(sec)
F1(アナンシェータ)
(a) 上図のようにタイムチェックを行うステップの動作出力において,特殊リレーをONす
ることにより,タイマは計測を開始します。
(b) SM90 ON後,設定時間内(10sec)に該当ステップの次の移行条件aが成立しない場合,ア
ナンシェータF1がONします。
(ただし,SFCプログラムは動作を続行します。)
(c) 設定時間内に移行条件aが成立し,SM90がOFFすると,計測を中止してタイマをリセッ
トします。
4 - 61
4.SFCプログラムの構成
MELSEC-QnA
(5) アナンシェータ(F0∼F255)がONしても,SD62,SD63,SD64∼SD79にはアナンシェータのON
検出個数,アナンシェータ番号は格納されません。
(6) ステップ移行監視タイマは,同時に活性状態にならないステップであれば同一タイマを使
用することができます。
例)
4
5 監視タイマ1
ステップ5とステップ6は同時に活性状態になることは絶
5
6 監視タイマ1
6
4 - 62
対に起こらないため,同一監視タイマを使用できます。
4.SFCプログラムの構成
4.7
MELSEC-QnA
SFC動作モード設定
SFC動作モード設定は,SFCプログラムの起動条件や2重起動時の処理方法などを設定するもの
です。
設定にはシステム共通設定のパラメータファイルとSFCプログラムファイルに設定できるもの
があります。
SFC動作モード設定の項目と設定による動作について説明します。
項 目
設定内容
設定範囲
デフォルト値
SFCプログラム起動
モード
・SFCプログラム起動時にイニシャルスタートか続行ス
タートを設定する。
イニシャルスタート
/続行スタート
イニシャル
スタート
ブロック0起動条件
・ブロック0を自動起動するか否かを設定する。
自動起動する
/自動起動しない
自動起動
コイル出力
OFF/保持
OFF
ブロック停止時の出力
・ブロック停止時のコイル出力モードを設定する。
モード
・定時実行ブロックの先頭番号を設定する。
パラメータ
ファイル
0∼319
定時実行ブロック設定
ブロック2重起動時の
運転モード
設定ファイル
設定なし
・定時実行ブロックを実行させる時間間隔を設定する。
1∼65535ms
・すでに活性しているブロックに対して起動要求を出し
たときの動作を設定する。
停止/待機
停止のブロック
範囲設定可
待機
停止/待機/移行
停止と待機の
ステップ範囲設定可
移行
活性ステップへの移行 ・すでに活性しているステップへ後追いにより移行しよ
(ステップ2重起動時)
うとしたとき,または起動をかけたときの動作を設定
の運転モード
する。
4 - 63
SFCプログラム
4.SFCプログラムの構成
4.7.1
MELSEC-QnA
SFCプログラム起動モード
SFCプログラム起動モードは,SFCプログラム起動時(SM321 OFF→ON時)にイニシャルスター
トにするか,直前の実行状態から続行スタートするかを設定するものです。
(1) 設定項目と動作内容
SFCプログラム起動をイニシャルスタート/続行スタートに設定します。
動作内容は,パラメータの設定と特殊リレー(SM322)との組合わせにより次のようになりま
す。
設 定
SM322の状態 *1
イニシャルスタート
(デフォルト)
ON/OFF
OFF
続行スタート
ON
動作内容
・イニシャルスタート
・ブロック0自動起動に設定時
……0ブロックのイニシャルステップから実行。
・ブロック0自動未起動に設定時
……SFC制御命令のブロック起動命令で起動をかけたブ
ロックのイニシャルステップから実行。
・続行スタート
直前に活性していた状態から続行スタートする。*2
*1:SM322は,CPUのSTOP→RUN時にシステムがパラメータの設定に合わせ,イニシャルス
タート設定時はOFF,続行スタート設定時はONさせます。
*2:直前の状態とは,SFCプログラム実行中にSM321をOFFにしたとき,またはCPUリセット
や電源をOFFにしたときの活性状態です。
4.7.2 ブロック0起動条件
ブロック0の起動条件とは,SFCプログラム起動時(SM321 OFF→ON時)に0ブロックを自動的
に起動をかけ活性にするか否かを設定するものです。
(1) 設定項目と動作内容
0ブロックを自動起動する/自動起動しないに設定します。
動作内容は,SFCプログラム起動時とブロックエンド時それぞれ次のようになります。
設 定
自動起動する
(デフォルト)
自動起動しない
動作内容
SFCプログラム起動時
ブロック0のブロックエンド時
・0ブロックは自動的に活性し,イニ ・ブロックエンドになると,再度イニ
シャルステップから演算を実行。
シャルステップが自動的に活性する。
・0ブロックも他のブロックと同様にSFC
・ブロックエンドになると,非活性とな
制御命令のブロック起動命令やブロッ
り再度他から起動要求が出されるのを
ク起動ステップにより起動要求があっ
待つ。
たとき活性となる。
4 - 64
4.SFCプログラムの構成
4.7.3
MELSEC-QnA
ブロック停止時の出力モード
ブロック停止時の出力モードは,SFC用情報レジスタの停止再開ビットまたはSFC制御命令の
ブロック停止命令(PAUSE BLm)により該当ブロックを一時停止状態にしたときのOUT命令による
出力をONで保持するかOFFにするかを設定するものです。
(1) 設定と動作内容
ブロック停止時の出力を保持するか強制的にOFFするかを設定します。
動作内容は,パラメータの設定と特殊リレー(SM325)との組合わせにより次のようになりま
す。
設 定
コイル出力OFF
(デフォルト)
・
コイル出力ON
コイル出力ON
ブロック停止モー
ドビット の状態
SM325の状態
OFF
(コイル出力OFF)
ON
(コイル出力保持)
OFFまたは
設定なし
(即停止)
ON
(移行後停止)
OFFまたは
設定なし
(即停止)
ON
(移行後停止)
動 作 内 容
動作保持ステップ以外の活性ステップ
動作保持ステップ
・停止命令実行時に動作出力のコイル出力をOFFにして停止する。
・停止命令実行後,移行条件が成立す
ると動作出力のコイル出力をOFFにし
て停止する。
・停止命令実行時に動作出力のコ
イル出力をOFFにして停止する。
・停止命令実行時に動作出力のコイル出力を保持して停止する。
・停止命令実行後,移行条件が成立す
ると動作出力のコイル出力を保持し
て停止する。
・停止命令実行時に動作出力のコ
イル出力を保持して停止する。
ポイント
(1) コイル保持ステップは,停止要求後最初に該当ブロックの処理実行時に非活性となり
ます。
(2) 特殊リレーSM325は,CPUのSTOP→RUN時にシステムがパラメータの設定に合わせ“コイ
ル出力OFF”時はOFF,“コイル出力ON”時はONさせます。
ユーザプログラムでON/OFFさせることによりパラメータの設定とは無関係に設定を変
更することができます。
4 - 65
4.SFCプログラムの構成
MELSEC-QnA
4.7.4 定時実行ブロック設定
定時実行ブロック設定は,該当ブロックを毎スキャン実行させず設定時間間隔で実行させる
ためのものです。
(1) 設定項目
定時実行ブロックの先頭番号と実行する時間を設定します。
設定すると設定したブロック番号以降の全ブロックが定時実行ブロックとなります。
なお,実行時間間隔は1∼65535msの範囲で1ms単位で任意に設定できます。
(2) 定時実行ブロックの実行方法
定時実行ブロックの実行は下記のようになります。
①
②
③
1スキャン
①
②
④
③
①
1スキャン
実行間隔
②
1スキャン
③
①
②
④
③
1スキャン
実行間隔
① 毎スキャン実行シーケンスプログラム
② 毎スキャン実行ブロック
③ END処理
④ 定時実行ブロック
① 設定した実行間隔に達するまでは,毎スキャン実行に指定されているシーケンスプロ
グラムファイルとSFCプログラムの毎スキャン実行ブロックのみ実行します。
② 設定した実行間隔に達すると毎スキャン実行のブロック実行後,定時実行ブロックを
実行します。
なお,実行間隔がスキャンタイムより短い設定の場合は毎スキャン実行ブロックと同様
の処理となります。
③ 設定した実行間隔の計測は連続で行います。
4 - 66
4.SFCプログラムの構成
4.7.5
MELSEC-QnA
ブロック2重起動時の運転モード
ブロック2重起動時の運転モードは,すでに活性しているブロックに対してブロック起動ステッ
プ( , )で起動要求を出したときの運転モードを設定するものです。
(1) 設定項目と動作内容
停止/待機のいずれかに設定します。
設定した項目ごとの動作は下記のようになります。
設 定
備 考
動作内容
・CPUの演算エラー(BLOCK EXE.ERROR)となりCPUの演算が停止
・停止にさせるブロック
する。
の範囲を設定可
・出力“Y”は全点OFFとなる。
・CPUの演算を続行し,移行条件成立状態で待機して起動先の
ブロックが非活性になるのを待つ。
待 機
・起動先のブロックが非活性になると移行を実行し,該当ブ
(デフォルト)
ロックを再度活性にする。
・移行待ちになると直前のステップは非活性になり,出力は
OFFとなり動作出力の演算は実行されない。
停 止
条件
保持ステップ
(移行チェックあり)
Tran
n
ブロック起動中の
ステップへ移行
ポイント
・すでに活性しているブロックに対して,SFC制御命令のブロック起動命令(SET BLm)によ
り起動要求をかけたとき,またはSFC用情報レジスタのブロック起動終了ビットのONによ
り起動要求をかけたときは,起動要求を無視してそのままSFCプログラムの処理を続行し
ます。
4 - 67
4.SFCプログラムの構成
4.7.6
MELSEC-QnA
活性ステップへの移行(ステップ2重起動時)の運転モード
活性ステップへの移行(ステップ2重起動時)の運転モードは,動作保持ステップ(移行チェッ
クあり)などの後追い機能によりすでに活性しているステップへ移行しようとしたときの運転
モードを設定するものです。
(1) 設定項目と動作内容
停止/待機/移行のいずれかを設定します。
設定した項目ごとの動作は下記のようになります。
設 定
停 止
待 機
移 行
(デフォルト)
備 考
動作内容
・CPUの演算エラー(STEP EXE.ERROR)となりCPUの演算が停止
・停止にさせるステップ
する。
の範囲を設定可
・出力“Y”は全点OFFとなる。
・CPUの演算を続行し,移行条件成立状態で待機して起動先の
・待機にさせるステップ
ステップが非活性になると移行を実行する。
の範囲を設定可
・移行待ちになると直前のステップは非活性となり,出力は
OFFとなり動作出力の演算は実行されない。
・CPUの演算を続行し,そのまま移行を実行して直前のステッ
プは非活性となり移行先ステップへ吸収される。
活性ステップ
非活性
移行成立
活性ステップ
活性
移行末成立
(2) 保持ステップへの2重起動による移行の動作
コイル保持ステップ,動作保持ステップ(移行チェックあり),動作保持ステップ(移行
チェックなし)の各ステップへ2重起動の条件が成立したときは,上記(1)の設定にかかわ
らず次のように動作します。
設 定
停 止
・
待 機
・
移 行
備 考
動作内容
・設定にかかわらずすべて“移行”として動作する。
・コイル保持ステップ
……動作出力の演算を再開するとともに,移行条件チェッ
クを開始する。
・動作保持ステップ(移行チェックなし)
……移行条件のチェックを開始する。
・2重起動後に移行条件が
・動作保持ステップ(移行チェックあり)
成立した以降の該当ス
……そのまま演算を続行する。
テップはステップ属性
活性ステップ
非活性
に従う。
移行条件成立
コイル保持ステップ
または
動作保持ステップ
(移行チェックなし)
(移行条件チェックなし)
4 - 68
活性
移行条件
チェックをする
4.SFCプログラムの構成
MELSEC-QnA
(3) 移行先が並列分岐の場合の注意事項
・設定が“停止”のとき
……並列分岐の移行先が1つでも活性の場合エラーとなりCPUの演算が停止します。
・設定が“待機”のとき
……並列分岐の移行先ステップすべてが非活性になるまで待機となります。
移行先ステップがすべて非活性になると移行を実行し,並列分岐の先頭ステップす
べて活性となります。
なお,待機状態のとき直前のステップは非活性となります。
活性
移行条件成立
待機状態
非活性
(待機)
非活性
移行実行
すべて活性
移行
・設定が“移行”のとき
……並列分岐の移行先ステップが1つでも活性していると移行を実行して,直前のステッ
プが非活性となります。
なお,このとき移行先ステップのうち非活性のステップは活性しません。
移行条件成立
備
考
移行先ステップがすべて非活性の場合は,通常の移行処理となり移行先ステッ
プすべてが活性します。
ポイント
・活性ステップへの移行(ステップ2重起動時)の運転モードは,移行条件成立による移行
時およびSFC制御命令の移行制御命令(SET TRn)で強制移行に設定されているときに対象
となります。
すでに活性しているステップへSFC制御命令のステップ制御命令(SET Sn)で起動要求をか
けたときは要求を無視して処理を続行します。
4 - 69
5.
SFCプログラムの処理順序
5.SFCプログラムの処理順序
5
MELSEC-QnA
SFCプログラムの処理順序
SFCプログラムの処理順序について説明します。
CPU RUN
イニシャルプログラム実行
OFF
SM321はONか?
ON
続行スタート
OFF
SM322はONか?
SFCプログラムの
起動モードは?
イニシャル
スタート
ON
続行スタート
・・・・・ ・パラメータのSFC設定で,SFCプログラムをイニ
シャルスタート/続行スタートに設定する。
・設定が続行スタートのときは,システムが
SM322をONさせる。
SFCプログラムがスキャン実行になる前にSM322
をOFFさせるとイニシャルスタートとなる。
イニシャルスタート
自動未起動
ブロック0の
起動条件は?
自動起動
NO
・・・・・ ・CPU電源投入時,またはSTOP→RUN時はシステ
ムがSM321をONさせるため自動起動となる。
・SFCプログラムがスキャン実行になる前にSM321
をOFFするとSFCプログラムはSM321がONされる
まで実行されない。
ブロック起動要求
は出されたか?
YES
起動要求の出されたブロックの
イニシャルステップより実行
0ブロックのイニシャルステップ
より実行
NO
SM321はOFFに
なったか?
YES
SFCプログラムの実行終了
5 - 1
・・・・・ ・パラメータのSFC設定で,ブロック0を自動起動
する/自動起動しないに設定する。
・自動起動設定時は,0ブロックのイニシャルス
テップより実行する。
・自動起動しない設定時は,他のプログラムファ
イルよりSFC制御命令により起動要求のあった
ブロックのイニシャルステップより実行する。
5.SFCプログラムの処理順序
5.1
MELSEC-QnA
プログラム全体の処理
QnACPUプログラム全体の処理について説明します。
なお,本マニュアルでは概要のみ記載していますので詳細はQnACPUユーザーズマニュアルを参
照してください。
5.1.1
プログラム全体の処理の流れ
QnACPUは,プログラムメモリ内に複数のプログラムをファイルとして管理して複数ファイル
同時または指定ファイルのみを実行することができます。
全体の動作イメージは次のようになります。
CPU RUN
①
イニシャル
プログラム
必要時のみ
起動
②
④
スキャン
プログラム
待機
プログラム
③
実行時間監視
低速
プログラム
CPU RUN
①
END
処理
イニシャルスキャン
END
処理
②
1スキャン
③
END
処理
②
③
①
1スキャン
・低速プログラム(③)は,コンスタントスキャン時間の余り時間または設定されている低
速プログラム実行時間のいずれか長い時間分実行されます。
5 - 2
5.SFCプログラムの処理順序
MELSEC-QnA
内 容
実行タイプ
イニシャルプログラム
(初期実行)
スキャンプログラム
②
(スキャン実行)
低速プログラム
③
(低速実行)
待機プログラム
④
(待機)
①
備
SFCの対応
・電源ON時またはSTOP→RUN時の1スキャンのみ実行する。
・以降は待機プログラムとなる。
×
・毎スキャン実行されるファイル。
○
・コンスタントスキャン時間の余剰時間に実行されるファイル。
または,あらかじめ設定時間のみ実行されるファイル。
・サブルーチンプログラム,割込みプログラムなどのファイル。
・プログラム起動命令により起動し実行される。
×
○
考
(1) SFCプログラムは,スキャン実行ファイルのうち1本のみ実行できます。
待機プログラムとなっているSFCプログラムを起動かける場合は,スキャン実行中のSFC
プログラムを待機プログラムにしてから行う必要があります。
スキャン実行←
→待機プログラムの切替え方法は5.1.2項を参照してください。
(2) 各プログラムファイルの実行タイプ指定は,パラメータの補助設定の中の“プログラ
ム設定”で行います。
5 - 3
5.SFCプログラムの処理順序
5.1.2
MELSEC-QnA
命令による実行指定
命令による実行指定とは,パラメータのプログラム設定により設定されている実行タイプを
命令により変更することができる機能です。
命令による実行指定について説明します。
(1) 命令と動作内容
命令
動作内容
SFC対応
PSTOP
・指定したプログラムを次スキャンから待機状態にする。
・指定したSFCプログラムは次スキャンに全ブロックの終了処理を実行し,命令実
行後2スキャン目に待機状態にする。
・指定したプログラムを次スキャンよりスキャン実行にする。
・複数プログラム実行時の実行順序は,パラメータのプログラム設定順序による。
・指定したプログラムを次スキャンより低速実行にする。
・複数プログラム実行時の実行順序は,パラメータのプログラム設定順序による。
×
POFF
PSCAN
PLOW
備
○
○
×
考
・次の場合は演算エラーとなります。
・指定したプログラムが存在しないとき(エラーNO.2410)
・PSCAN・PLOW命令実行時,指定したプログラムがスキャン実行または低速実行になって
いるとき(エラーNO.2411)
・すでにスキャン実行になっているSFCプログラムがあるとき,PSCAN命令で別のSFCプロ
グラムを指定したとき(エラーNO.2412)
・指定するSFCプログラムが実行中か否かは,SFC制御命令のPCHK命令で確認できます。
PCHK命令の詳細は,4.4.12項を参照してください。
(2) 命令の記述方法
命令 プログラム名
文字列または文字列を格納しているワードデバイス
PSTOP・POFF・PSCAN・PLOW
(3) SFCプログラムを待機状態からスキャン実行に切り換える時間
SFCプログラムを待機状態からスキャン実行に切り換えるとき次のような処理時間がかかり
ます。
なお,処理時間分スキャンタイムは延びますがウォッチドグタイマエラー検出の対象とは
なりません。
切換え時間(μS)=(作成ブロック数×20)+(作成ステップ数×40)+(SFCプログラム容量×2)
例)下記条件のときの計算例
作成ブロック数:3 0 ,作成ステップ数:1 2 0 0 ,S F C プログラム容量:2 0 K シーケンスステップ
(30×20)+(1200×40)+(20K×2)=89560μS=89.56ms
備
考
・スキャン実行から待機状態にするときはシステム処理時間はかかりません。
5 - 4
5.SFCプログラムの処理順序
MELSEC-QnA
5.1.3 プログラム実行管理用SFCプログラム
プログラム実行管理用SFCプログラムとは,制御対象に合わせ複数のプログラムファイルを切
り換えながら制御するときの実行順序を管理するプログラムとして使用できます。
プログラム実行管理SFCプログラムは,スキャン実行のSFCプログラムとは別に1ファイルで1
ブロックのみ作成・実行できます。
(1) プログラム実行管理SFCプログラムの作成方法
(a) 作成可能数
スキャン実行プログラムとして,SFCプログラムとは別に1ファイルのみ作成できます。
ブロック数は1ブロックのみ作成可能です。
(b) 使用可能命令
通常のSFCプログラムで使用可能なSFC図記号(ブロック起動ステップ
, は除く)
とステップ,移行条件で使用可能なシーケンス命令すべてが使用可能です。
ポイント
・ブロック起動ステップ( , )を記述すると,プログラム実行時に“BLOCK EXE.ERROR”
(エラーNO.4621)となりCPUが停止します。
(2) 実行方法
スキャン実行ファイルとして登録しておくことにより自動起動となります。
また,ブロックエンド処理時はイニシャルステップが再度活性し繰返し処理をします。
備
考
・プログラム実行管理用SFCプログラムか,通常のSFCプログラムかは,プログラミング用
ソフトウェアパッケージSW0NX-GPPQで設定します。
設定方法の詳細は,GPPQオペレーティングマニュアル(SFC編)を参照してください。
5 - 5
5.SFCプログラムの処理順序
MELSEC-QnA
(3) プログラム実行管理用SFCプログラム例
SFC1.QPR,SFC2.QPR,SFC3.QPRはSFCプログラムファイル,SQ.QPRはSFCプログラム以外の
プログラムファイルと仮定します。
条件1
S0
S0
t0
PSCAN “SFC1.QPR”
t4
S1
PSCAN “SQ.QPR”
S3
条件2
POFF “SFC1.QPR”
t1
t2
S2
t5
・原点復帰などの前処理制御用SFCプログ
ラムと,常時監視用のシーケンスプログ
ラムをスキャン実行にする。
t6
・原点復帰完了信号でSFCプログラムを待
機にする。
S4
条件3
t3
t7
・SFCプログラム(SFC1)が待機になった
とき,条件3(製品種類など)がONであ
(INV:直前の演算結果反転)
れば選択移行する。
t0
PCHK “SFC1.QPR”
S1
TRAN
PSCAN “SFC2.QPR”
・自動運転用SFCプログラムをスキャン実
行にする。
POFF “SFC2.QPR”
・サイクル停止,非常停止などの自動運
転終了条件成立でSFCプログラムを待機
にする。
条件4
条件5
条件4
t1
PCHK “SFC2.QPR”
TRAN
・条件4成立(サイクル停止など正常終了
時)で移行条件成立したときはブロッ
クエンドとなり,S0が再活性する。
PCHK “SFC2.QPR”
TRAN
・条件5成立(非常停止などで強制終了
時)で移行条件成立したときはS2へ選
択移行する。
条件5
t2
S2
PSCAN “SFC3.QPR”
・異常処理SFCプログラムをスキャン実行
にする。
POFF “SFC3.QPR”
・条件6成立(異常処理完了)でSFCプロ
グラムを待機する。
条件6
t3
PCHK “SFC3.QPR”
TRAN
・異常処理完了で移行条件成立するとブ
ロックエンドとなりS0が再活性する。
* 移行条件t4成立時は製品種類が異なるのみで処理順序は上記例と同様となります。
5 - 6
5.SFCプログラムの処理順序
MELSEC-QnA
5.2 SFCプログラム処理の処理順序
5.2.1 SFCプログラムの実行サイクル
SFCプログラムの実行サイクルは,SFCプログラム起動・停止の特殊リレー“SM321”がONの間
1スキャンに1回実行します。
例)下記条件のときの実行サイクル
条件① パラメータのプログラム設定順
1:ABC(シーケンス) 〈スキャン〉
2:DEF(SFC)
〈スキャン〉
3:XYZ(シーケンス) 〈低速〉
② パラメータの低速プログラム時間設定 20mS
③ SFCは自動起動に設定
CPU RUN
プログラム
ABC実行
SFC実行
END プログラム
処理 XYZを20ms
実行
1スキャン
プログラム
ABC実行
SFC実行
END プログラム
処理 XYZを20ms
実行
1スキャン
* SFCプログラムの起動・停止方法は6.1項を参照してください。
5 - 7
5.SFCプログラムの処理順序
MELSEC-QnA
5.2.2 各ブロックの実行順序
(1) 該当ブロックが活性になると,イニシャルステップから順次各ステップの動作出力プログ
ラムを実行していきます。
(2) 複数ブロック存在するSFCプログラムの場合は,0ブロック→1ブロック→2ブロック…の順
に若番号ブロックから老番号ブロックへ順に実行していきます。
(3) SFCプログラムにおいて,並列移行により実行状態となっているステップが複数存在する
場合,実行状態となっているすべてのステップの動作出力を1スキャン内で処理します。
例)下記SFCプログラムにおいて,ブロック0のステップ3,ステップ4,ブロック1のステッ
プ4,ステップ5が同時に実行状態となっている場合
ブロック1
ブロック0
ステップ1
ステップ1
ステップ2
*
ブロック1
起動
ステップ2
ステップ4
*
ステップ3
ステップ5
ステップ5
SFCプログラムの処理
ブロック0
のステップ
3の実行
ブロック0
のステップ
4の実行
ブロック1
のステップ
5の実行
ブロック1
のステップ
4の実行
*
*
* 同一ブロックの活性ステップは左から順に実行します。
5 - 8
ステップ3
ステップ4
5.SFCプログラムの処理順序
MELSEC-QnA
5.2.3 各ステップの実行順序
SFCプログラムは,SFCプログラム起動終了用特殊リレーSM321がONの間毎スキャン各ステップ
の動作出力プログラムを実行します。
(1) プログラムスタートからSFCプログラムのステップ1へ移行するまでの実行順序
SFCプログラム起動終了用特殊リレーSM321をONさせ,プログラムを起動かけたときイニシャ
ルステップからステップ1へ移行するまでの実行順序は次のようになります。
CPU
RUN
END処理
(SM321ON)
END処理
(SM321ON)
(SM321ON)
イニシャル
ステップ
(動作出力実行)
SFCプログラム
END処理
イニシャル
ステップ
(動作出力実行)
ステップ1
(動作出力実行)
ブロック0
(移行条件未成立)
(移行条件未成立)
(移行条件未成立)
・各ステップの動作出力実行終了時,次ステップへの移行条件の成立状態をチェックする。
移行条件未成立時:次のスキャン実行時,再度同一ステップの動作出力を実行
移行条件成立時 :実行したステップのOUT命令による出力をすべてOFFにし,次のス
キャン実行時,次ステップの動作出力を実行
・移行条件成立によりSFCプログラムの処理が次ステップに移行したとき,前回実行したス
テップの動作出力は,非活性(非実行)となる。
CPUは,現在活性(実行)状態にあるステップの動作出力と次ステップへの移行条件のプ
ログラムしか処理しない。
備 考
・ステップ属性で保持ステップに設定したときは非活性(非実行)とならず,属性に従っ
て処理を続行します。
・SFC用情報レジスタとして該当ブロックに設定した連続移行ビットをON(連続移行あり)
にすることにより,各ステップの動作出力実行終了ごとにSFCプログラムの処理を終了せ
ず,移行条件が成立していれば連続して次ステップへ移行することができる。
CPU
RUN
END処理
(SM321ON)
(SM321ON)
イニシャル
ステップ
(動作出力実行)
SFCプログラム
END処理
イニシャルステップ
(動作出力実行)
ステップ1
(動作出力実行)
ブロック0
(移行条件未成立)
(移行条件成立)
(移行条件未成立)
ポイント
タクトタイムを速くするために,連続移行ありにして,ステップの移行を速くすることを
お推めします。
これにより,移行条件成立から移行先ステップの動作出力実行までの待ち時間を解消する
ことができます。
連続移行の詳細は,5.2.4項を参照してください。
5 - 9
5.SFCプログラムの処理順序
MELSEC-QnA
5.2.4 連続移行あり/なしによる動作
SFCプログラム移動処理には,連続移行ありとなしの2通りがあり,SFC用情報レジスタの連続
移行ビットに設定したデバイスをユーザでON(あり)/OFF(なし)させることにより次のよう
に動作します。
・連続移行あり ・・・・・ 連続したステップの移行条件がすべて成立している場合,1スキャン内
に移行条件が成立しているステップをすべて実行する
・連続移行なし ・・・・・ 1ステップに1ステップずつ実行する
(並列分岐で複数ステップ活性時は,並列分岐すべて実行)
例) 下記プログラムの場合の処理
(nブロック)
・連続移行ありの場合
SM400
Tran
該当ブロックが活性すると同一スキャンで全ステップの演算を
実行しブロックエンドとなり非活性となる。
SM400
Tran
・連続移行なしの場合
該当ブロックが活性すると1スキャンに1ステップずつ実行し,
SM400
Tran
3スキャン目にブロックエンド処理を行い非活性となる。
5 - 10
5.SFCプログラムの処理順序
MELSEC-QnA
(1) 連続移行あり時の移行処理
連続移行ありのときのSFCプログラムの処理方法について説明します。
① 活性ステップ(n)のラダー回路演算
Y10
n
② 移行条件の成立/不成立チェック
X0
Tran
n+1
移行条件不成立時 移行条件成立時 Y11
③ END処理
③'活性ステップ(n)を非活性にし,OUT命令
ほかのブロックが存在するときは該当
でONしているコイルをOFFにする
ブロック以降の老番ブロックを処理後
END処理実行
④'n+1ステップを活性させ,ラダー回路演
算
④ 前スキャンと同じステップ(n)のラダー
回路演算
⑤'移行条件成立/不成立チェック
⑥'以降,移行条件不成立のステップまで連
続して処理を実行
⑦'END処理
ほかのブロックが存在するときは該当
ブロック以降の老番ブロックを処理後
END処理実行
⑧'前スキャンで移行条件不成立により活性
しているステップのラダー回路を演算
ポイント
・END処理は,パラメータのプログラム設定で“スキャン実行”に設定されているプログラ
ムファイルをすべて実行後行われます。
処理順序の詳細,処理内容については,QnACPUユーザーズマニュアル(詳細編)を参照
してください。
5 - 11
5.SFCプログラムの処理順序
MELSEC-QnA
(2) 連続移行なし時の移行処理
連続移行なしのときのSFCプログラムの処理方法
① 活性ステップ(n)のラダー回路演算
Y10
n
② 移行条件の成立/不成立チェック
X0
Tran
n+1
移行条件不正立時 移行条件成立時 Y11
③ END処理
③'活性ステップ(n)を非活性にし,OUT命令
ほかのブロックが存在するときは該当
でONしているコイルをOFFにする
ブロック以降の老番ブロックを処理後
END処理実行
④'END処理
ほかのブロックが存在するときは該当
④ 前スキャンと同じステップ(n)のラダー
回路演算
ブロック以降の老番ブロックを処理後
END処理実行
⑤'前スキャンで非活性になったステップの
次のステップ(n+1)のラダー回路演算
ポイント
・END処理は,パラメータのプログラム設定で“スキャン実行”に設定されているプログラ
ムファイルをすべて実行後行われます。
処理順序の詳細,処理内容については,QnACPUユーザーズマニュアル(詳細編)を参照
してください。
5 - 12
6.
SFCプログラムの実行
6.SFCプログラムの実行
6
MELSEC-QnA
SFCプログラムの実行
6.1 SFCプログラムの起動と終了
SFCプログラムの起動停止の特殊リレー“SM321”はCPUをSTOP→RUN時システムが自動的にON
させ,SFCプログラムを自動起動かけます。
ほかのプログラムファイルでSM321をON/OFFすることにより,SFCプログラムの処理を一時的
に中断・再開させることができます。
CPU RUN
OFF
SM321 ON
SM322はONか?
ON
ほかのプログラム
ファイルは実行ファイルに
設定されているか?
NO
続行スタート
YES
イニシャルスタート
SFCプログラム実行
ほかのプログラム
ファイルでSM321を
ON/OFFさせたか?
ON
SM321はONのままか?
OFF
ON
OFF
SFCプログラム非実行
SFCプログラム非実行
ポイント
(1)“POFF”命令により,SFCプログラムを待機プログラムにしたときは“SM321”をOFFさ
せたと同様の処理となります。
(2)“PSCAN”命令によりSFCプログラムをスキャン実行にしたときは“CPU RUN”時と同様
の処理となります。
6 - 1
6.SFCプログラムの実行
MELSEC-QnA
6.1.1 SFCプログラムの続行スタート方法
SFCプログラムの起動時,イニシャルスタートにするか続行スタートにするかの設定ができます。
続行スタート設定の動作と注意事項について説明します。
(1) 続行スタートの設定方法
SFCプログラムの続行スタート設定は,パラメータのSFC設定の“SFCプログラム起動モー
ド”により行います。
(2) SFCプログラムの起動モードによるブロックの活性状態
SFCプログラムの起動時,パラメータのSFCプログラム設定の起動モード設定によりブロッ
クの活性状態は次のようになります。
パラメータのSFCプロ
グラム起動モード設定
イニシャルスタート
(デフォルト)
SM322の状態 *1
ON/OFF
OFF
続行スタート
ON
動作内容
・イニシャルスタート
・ブロック0自動起動するに設定時 *2
……0ブロックのイニシャルステップから実行。
・ブロック0自動起動しないに設定時 *2
……SFC制御命令のブロック起動命令で起動をかけたブ
ロックのイニシャルステップから実行。
・続行スタート
直前に活性していた状態から続行スタートする。*3
*1:SM322は,CPUのSTOP→RUN時システムがパラメータの設定に合わせ,イニシャルスター
ト設定時はOFF,続行スタート設定時はONさせます。
*2:ブロック0の自動起動する/自動起動しないは,パラメータのSFC設定の“ブロック0
起動条件”の設定によります。
*3:直前の状態とは,SFCプログラム実行中にSM321をOFFにしたとき,またはCPUリセット
や電源をOFFにしたときの活性状態です。
ポイント
(1) シーケンサ電源OFF,またはリセット操作後に続行スタートを行う場合,SFCプログラ
ムの停止位置は保持していますが,動作出力で使用している各デバイスの状態は保持
しません。
したがって続行スタートを行う上で保持しておく必要のあるデバイスは,ラッチ設定
を行う必要があります。
(2) シーケンサ電源OFF,またはリセット操作時は,特殊機能ユニットは初期化されます。
続行スタートを行う場合,特殊機能ユニットに対するイニシャルプログラムは常時活性
するブロックまたはSFCプログラム以外のシーケンスプログラム上に作成してください。
(3) 続行スタートに設定時,SFCプログラムの変更(ステップの追加,削除などSFC図の修
正)を行ったときは一度イニシャルスタートさせてから続行スタートに戻してください。
SFCプログラム変更後,そのまま続行スタートすると変更前のステップ番号でスタート
するため機械系の誤動作につながります。
(4) 続行スタートに設定してSFCプログラムを実行中に,CPUリセットを行うと再スタート
時続行不可と見なしイニシャルスタートとなることがあります。
6 - 2
6.SFCプログラムの実行
MELSEC-QnA
6.2 ブロックの起動と終了
6.2.1 ブロックの起動方法
SFCプログラムを実行するうえでのブロックの起動方法について説明します。
ブロックの起動方法には次の方法があり,目的に応じ使いわけることができます。
起動方法
SFC
プログラム
起動時
自動起動
する
自動起動
しない
SFC図記号による
ブロック起動
動作内容
備 考
・パラメータのSFC設定で“ブロック0起動条件”を自動
・0ブロックを管理ブロックとして使用する,前
起動するに設定しておくことにより,SFCプログラム
処理ブロックとして使用する,常時監視ブロッ
起動時0ブロックは自動的に起動がかかりイニシャル
クとして使用するときなどに便利。
ステップから処理を実行する。
・パラメータのSFC設定で“ブロック0起動条件”を自動 ・製品種類などによりSFCプログラム起動時に起
起動しないに設定しておき,ほかのシーケンスプログ
動ブロックを可変にしたいときに便利。
ラムから任意ブロックの起動要求を出し指定したブロッ ・パラメータのプログラム設定で必ずSFCプログ
クを起動かけイニシャルステップから処理を実行する。
ラム以外のシーケンスプログラムの設定が必要
・SFCプログラムの各ブロックで,ブロック起動ステッ
プ( , )によりほかのブロックを起動させる。
・自動運転のように順序制御か明確なときに便
m
利。
・ブロック起動には,起動先のブロックが終了す
るまで起動元ステップが活性のまま待つ機能
TRAN
と,終了を待たず起動元の移行ができる機能
m
起動をかける
(SFC図記号: m)がある。
・SFCプログラムのステップ(動作出力)またはほかの
シーケンスプログラムで,SFC制御命令により指定し
たブロックを強制的に起動をかけ活性させる。
① 指定したブロックのイニシャルステップから実行
させる場合
条件
SET
SFC制御命令による
ブロック起動
BLm
* mはブロック番号
・異常検出時などにエラー復旧処理ブロックを起
動かける,割込処理を実行するときなどに便
利。
② 指定したブロックの指定ステップから実行させる
場合
条件
SET
BLm¥Sn
* mはブロック番号,nはステップ番号
SFC用情報レジスタによる
ブロック起動
・SFC用情報レジスタとして各ブロックごとに設定した
・プログラムなしで,周辺機器のみでも起動をか
“ブロック起動終了ビット”をプログラムまたは周辺
けれるのでブロック単位でのデバッグ,試運転
機器で強制的にONさせることにより該当ブロックが活
時に便利。
性する。
6 - 3
6.SFCプログラムの実行
MELSEC-QnA
6.2.2 ブロックの終了方法
ブロックの終了方法について説明します。
ブロックの終了方法には次の方法があり,目的に応じ使いわけることができます。
終了方法
SFC図記号による
ブロック終了
動作内容
備 考
・該当ブロックのエンドステップを実行するとブロッ
クの処理を終了し非活性になる。
エンドストップ
・自動運転時サイクル停止で動作を止めるときな
どに便利。
・エンドステップは1ブロックに複数可能。
・SFCプログラムのステップ(動作出力)またはほかの
シーケンスプログラムで,SFC制御命令により指定し
たブロックを強制的に終了させ非活性にする。
条件
SFC制御命令による
ブロック終了
RST
BLm
* mはブロック番号
・非常停止などで動作状態にかかわらず強制的に
処理を中止するときなどに便利。
* RST BLm¥Sn命令で該当ブロックの活性しているス
テップをすべて非活性にしたときもブロック処理
の終了となる。
SFC用情報レジスタによる
ブロック終了
・SFC用情報レジスタとして各ブロックごとに設定した
“ブロック起動終了ビット”をプログラムまたは周
辺機器で強制的にOFFさせることにより該当ブロック
の処理を終了し非活性にする。
・プログラムなしで,周辺機器のみでも終了させ
れるのでデバッグ,試運転時の強制終了操作な
どに便利。
ポイント
(1) 異なる機能により起動をかけて活性しているブロックに対しても別の方法で強制的に
終了させることもできます。
例)① SFC図記号( , )で起動をかけたブロックをSFC制御命令(RST BLm)で終了さ
せる。
② SFC制御命令(SET BLm)で起動をかけたブロックをSFC用情報レジスタのブロッ
ク起動終了ビットを強制的にOFFさせて終了させる。
(2) ブロック終了後の再起動は次のようになります。
該当ブロック
ブロック0の起動条件設定が
“自動起動する”のとき
ブロック0
ブロック0の起動条件設定が
“自動起動しない”のとき
ブロック0以外
(ブロック1∼319)
6 - 4
・ブロックの処理を終了後,自動的にイニシャルス
テップから処理を開始する。
・ブロックの処理を終了すると,6.2.1項のいずれか
の方法で起動要求が出されるまで非活性のまま。
6.SFCプログラムの実行
MELSEC-QnA
6.3 ブロックの処理を一時停止・再開させる方法
6.3.1 ブロックを停止させる方法
SFCプログラム実行中に指定したブロックを一時的に停止させ実行を中断させる方法について
説明します。
(1) ブロックを停止させる方法
SFCプログラム実行中に指定したブロックを停止させる方法には次のものがあります。
停止方法
動作内容
SFC制御命令による
停止方法
備 考
・SFCプログラムのステップ(動作出力)またはほかの
シーケンスプログラムで,SFC制御命令により指定し
たブロックの実行を一時的に中断し停止させる。
条件
PAUSE
BLm
* mはブロック番号
SFC用情報レジスタによる
停止方法
・SFC用情報レジスタとして各ブロックごとに設定した
“ブロック停止再開ビット”をプログラムまたは周
辺機器で強制的にONさせることにより該当ブロック
の実行を一時的に中断し停止させる。
・異常検出時などに,一時的に機械を停止させ手
動運転で異常箇所を修復するときなどに便利。
* 手動運転制御プログラムを別のブロック
に用意しておき,ブロック停止と同時に
該当ブロックを強制的に起動をかける方
法と組み合わせると便利。
・プログラムなしで,周辺機器のみでも停止させ
れるのでデバッグ,試運転時に確認しながらの
ステップ運転的な制御などが可能。
(2) ブロック停止のタイミングと停止時のコイル出力状態
ブロック停止の要求を出したときの停止タイミングと停止中のコイル出力の出力状態は次
のようになります。
パラメータのブ
ロック停止時の
出力モード設定
コイル出力OFF
・
コイル出力保持
コイル出力保持
出力モード用特殊
リレーSM325の状態
OFF
(コイル出力OFF)
ON
(コイル出力保持)
ブロック停止モー
ドビット の状態
OFFまたは
設定なし
(即停止)
ON
(移行後停止)
OFFまたは
設定なし
(即停止)
ON
(移行後停止)
動 作 内 容
動作保持ステップ以外の活性ステップ
活性している動作保持ステップ
・停止要求後,最初に該当ブロックの処理実行時コイル出力をOFFにして停
止する。
・停止要求後,移行条件が成立するとコ
イル出力をOFFにして停止する。
・複数ステップ活性時は,移行条件が
成立したステップから順次停止する。
・停止要求後,最初に該当ブロッ
クの処理実行時コイル出力を
OFFにして停止する。
・停止要求後,最初に該当ブロックの処理実行時にコイル出力を保持して
停止する。
・停止要求後,移行条件が成立すると
コイル出力保持して停止する。
・複数ステップ活性時は,移行条件が
成立したステップから順次停止する。
・停止要求後,最初に該当ブロッ
クの処理実行時コイル出力を保
持して停止する。
ポイント
・コイル保持ステップは,停止要求後最初に該当ブロックの処理実行時に非活性となります。
6 - 5
6.SFCプログラムの実行
MELSEC-QnA
6.3.2 停止させたブロックの処理を再開させる方法
SFCプログラム実行中に一時停止させたブロックの処理を再開させる方法について説明します。
(1) ブロックの処理を再開する方法
一時停止させたブロックの処理を再開させる方法には次のものがあります。
再開方法
SFC制御命令による
再開方法
動作内容
備 考
・SFCプログラムの停止しているブロック以外のステッ
プ(動作出力)またはほかのシーケンスプログラム
により指定したブロックの処理を再開させる。
条件
RSTART
・一時停止中の手動制御完了信号で自動運転に戻
すなどのとき便利。
BLm
* mはブロック番号
SFC用情報レジスタによる
再開方法
・SFC用情報レジスタとして各ブロックごとに設定した
“ブロック停止再開ビット”をプログラムまたは周
辺機器で強制的にONさせることにより該当ブロック
の実行を再開させる。
・プログラムなしで,周辺機器のみでも再開させ
れるのでデバッグ,試運転時に確認しながらの
ステップ運転的な制御などが可能。
(2) 再開時の活性ステップ
ブロックの処理を再開するときの活性ステップは停止時の状態により次のようになります。
停止方法
動作保持ステップ以外のステップ
ブロック停止モードビット
OFFで停止しているとき
・停止直前に活性して演算を実行していたステップか
ら演算を再開する。
ブロック停止モードビットON
で停止しているとき
・移行条件成立で停止しているため移行後のステップ
から演算を再開する。
動作保持ステップ
動作保持状態で停止になった動作保持ステップ
(移行チェックあり/移行チェックなし)は動作
保持状態で実行を再開する。
ポイント
・コイル保持ステップは停止時に非活性になっているため再活性はしません。
6 - 6
6.SFCプログラムの実行
MELSEC-QnA
6.4 ステップの起動(活性),終了(非活性)方法
6.4.1 ステップの起動(活性)方法
ステップを活性させる方法について説明します。
(1) ステップの起動(活性)方法
ステップの起動(活性)方法には次のものがあります。
ステップの起動
( 活性)方法
動作内容
備 考
・直前の移行条件が成立すると該当ステップは自動的
に起動がかけられ活性する。
SFC図記号による
ステップの起動
・SFCプログラムの基本動作
条件
TRAN
条件成立で起動(活性)する。
・SFCプログラムのステップ(動作出力)またはほかの
シーケンスプログラムでSFC制御命令により指定した
ステップを強制的に起動をかけ活性させる。
SFC制御命令による
ステップの起動
条件
SET
Sn
* nはステップ番号
条件
SET
・異なるブロックへのジャンプが可能
・指定先ステップのブロックが非活性のときは指
定ステップからのブロック強制起動となる。
・イニシャルステップが複数のブロックの場合,
選択スタートがかけれる。
BLm¥Sn
* mはブロック番号,nはステップ番号
(2) ステップ2重起動時の動作
すでに活性しているステップへ2重で起動要求を出したときの動作は,起動方法により次の
ようになります。
(a) SFC図記号による2重起動時
該当ブロックのブロックパラメータによる“活性ステップへのステップ移行”設定に
より動作が異なります。
・“停止”に設定時 ・・・・・ CPUの演算エラーとなりCPUの演算が停止する。
・“待機”に設定時 ・・・・・ 直前のステップを非活性して待機し,移行先ステップが非
活性になると移行する。(移行先ステップが再活性する。)
・“移行”に設定時 ・・・・・ 即移行し,直前のステップは非活性になる。(活性が吸収
される。)
(b) SFC制御命令による2重起動
命令を無視し,起動先ステップは処理を続行します。
(命令はNOP命令相当として実行されます。)
6 - 7
6.SFCプログラムの実行
MELSEC-QnA
6.4.2 ステップの終了(非活性)方法
ステップを処理を終了させ非活性にする方法について説明します。
(1) ステップを終了(非活性)にする方法には次のものがあります。
終了方法
動作内容
備 考
・該当ステップに付随する移行条件が成立するとシス
テムが自動的に非活性にする。
条件成立で非活性にする。
条件
・SFCプログラムの基本動作
・該当ステップにステップ属性が指定されている
ときは属性に従った動作となる。
TRAN
SFC図記号による
終了方法
・ステップにステップ属性としてリセットステップに
設定し,リセット(非活性)にするステップを指定
する。
R
n S10
リセットするステップの番号
・SFCプログラム実行中に機械動作の条件が成立
したとき,選択分岐でエラー処理のステップへ
移行したときなどに保持ステップをリセットす
るときに便利。
・リセット(非活性)にするステップは同一ブ
ロック内のみ指定可能。
・SFCプログラムのステップ(動作出力)またはほかの
シーケンスプログラムで,SFC制御命令により指定し
たステップを強制的にリセット(非活性)する。
SFC制御命令による
終了方法
条件
RST
Sn
* nはステップ番号
条件
SET
BLm¥Sn
* mはブロック番号,nはステップ番号
6 - 8
・異なるブロックのステップのリセットも可能。
・リセットにより該当ブロックの全ステップが非
活性になったときはブロックの終了となる。
6.SFCプログラムの実行
MELSEC-QnA
6.4.3 活性ステップの変更方法
活性しているステップを非活性し,指定したステップを活性させる方法について説明します。
変更方法
動作内容
備 考
・SFCプログラムのステップ(動作出力)で,命令実行
のステップを非活性にし,指定したステップを強制
的に起動をかけ活性させる。
SFC制御命令による
変更方法
条件
SCHG Kn
命令実行ステップ
は非活性になる
n
指定ステップが
活性する
6 - 9
・条件によりジャンプ先が異なるときに便利。
・変更先ステップは自プロック内のみ可能。
・変更先ステップの指定は間接指定(D0,K4M0な
ど)も可能
・1ステップ内に命令を複数記述したときは同一
スキャンで実行した変更先が有効となる。
付 録
付 録
MELSEC-QnA
付 録
付1 特殊リレー,特殊レジスタ一覧
SFCプログラムで使用可能な特殊リレー,特殊レジスタを示します。
SFCプログラム用以外の特殊リレー,特殊レジスタについてはQnACPUプログラミングマニュア
ル(共通命令編)を参照してください。
付1.1 特殊リレーSM
番号
名 称
SM0
診断エラー
SM90
ステップ移行監視
タイマ起動
(SD90に対応)
SM91
ステップ移行監視
タイマ起動
(SD91に対応)
SM92
ステップ移行監視
タイマ起動
(SD92に対応)
SM93
ステップ移行監視
タイマ起動
(SD93に対応)
SM94
ステップ移行監視
タイマ起動
(SD94に対応)
SM95
ステップ移行監視
タイマ起動
(SD95に対応)
SM96
ステップ移行監視
タイマ起動
(SD96に対応)
SM97
ステップ移行監視
タイマ起動
(SD97に対応)
SM98
ステップ移行監視
タイマ起動
(SD98に対応)
SM99
ステップ移行監視
タイマ起動
(SD99に対応)
内 容
内容詳細
OFF:エラーなし
ON :エラーあり
・診断の結果エラーが生じればONする。
(外部診断エラーでもONする)
・正常になってもONのまま。
OFF:監視タイマリセット
ON :監視タイマ起動
ステップ移行監視タイマの計測を開始する場合
にONする。
OFFすると監視タイマをリセットする。
付 - 1
ON/OFF制御
システム
(エラー発生時)
ユーザ
付 録
番号
SM320
SM321
SM322
SM323
SM324
SM325
MELSEC-QnA
名 称
SFCプログラムの有無
SFCプログラムの起動/
停止
SFCプログラムの
起動状態
全ブロック連続移行の
有無
連続移行阻止フラグ
ブロック停止時の
動作出力
内容詳細
ON/OFF制御
OFF:SFCプログラムなし
ON :SFCプログラムあり
・SFCプログラムが正常な状態で,パラメータ
のプログラム設定がされているときONする。
システム
(初期値)
OFF:SFCプログラム停止
ON :SFCプログラム起動
・SFCプログラムありで自動的にONする。
・SFCプログラム実行前にほかのプログラム
ファイルでOFFするとSFCプログラムは実行し
ない。
・ユーザプログラムでON/OFFさせることにより
SFCプログラムの起動/停止指定ができる。
システム
(初期値)
・
ユーザ
OFF:イニシャルスタート
ON :続行スタート
・デフォルトはパラメータのSFCプログラム起
動モードの設定と同じになる。
OFF時: SFCプログラム停止時の実行状態を
すべてクリアして,ブロック0のイ
ニシャルステップから起動する。
ON時 : SFCプログラムを停止したときの実
行ブロック,実行ステップから起動
する。
* ONはパラメータのSFCプログラム起動
モード設定が“続行スタート”のときの
み有効
システム
(初期値)
・
ユーザ
OFF:連続移行なし
ON :連続移行あり
・連続したステップの移行条件がすべて成立し
ている場合,1スキャン内に移行条件が成立
しているステップをすべて実行するか否かを
選択する。
ON時 : 連続に実行する(連続移行あり)
OFF時: 1スキャンに1ステップずつ実行する
(連続移行なし)
* 各ブロックにSFC用情報レジスタの連続
移行ビットが設定されているときは各ブ
ロックの設定が優先される。
ユーザ
OFF:移行終了時
ON :未移行時
・連続移行あり時で,連続移行が実行していな
いときにON,1ステップの移行が終了すると
システム
OFFする。
移行条件に,SM324をAND条件で記述しておく (命令実行時)
ことにより,該当ステップの連続移行が阻止
できる。
OFF:コイル出力OFF
ON :コイル出力ON
・ブロック停止を行ったときの動作出力を選択
する。
ON時 : ブロック停止時に実行していたス
テップの動作出力で使用しているコ
イルのON/OFF状態を保持する。
OFF時: コイル出力をすべてOFFにする
(SET命令による動作出力は,SM325のON/OFF
に関係なく保持する。)
内 容
付 - 2
システム
(初期値)
・
ユーザ
付 録
MELSEC-QnA
番号
名 称
SM816
ステータスラッチ
SFC情報
SM820
ステップトレース準備
内容詳細
ON/OFF制御
OFF:なし
ON :あり
・SFCプログラムでステータスラッチが完了し
たときONする。
ONするとSD816・817に情報が格納される。
システム
(状態変化)
OFF:準備未
ON :準備完了
・ステップトレースの登録後準備完了にてONす
る。
システム
(状態変化)
ユーザ
内 容
SM821
ステップトレース開始
OFF:トレース中止
ON :トレース開始
・ステップトレースの実行の開始/中止を選択
する。
ON時 : ステップトレースの実行を開始する。
OFF時: ステップトレースの実行を中止する。
ステップトレース実行中にOFFする
と,トレースを中止する。
SM822
ステップトレース
実行フラグ
OFF:トレース未実行
ON :トレース実行中
・ステップトレース実行中にON,完了または中
止にてOFFする。
システム
(状態変化)
SM823
ステップトレース
トリガ後
OFF:トリガ未成立
ON :トリガ成立
・ステップトレース中のブロックのうち1ブ
ロックでもトリガ成立するとONする。
システム
(状態変化)
SM824
ステップトレース
トリガ後
OFF:トリガ未成立ブロックあり
ON :全ブロックトリガ成立
・ステップトレース中の全ブロックのトリガが
成立するとONする。
システム
(状態変化)
SM825
ステップトレース
完了フラグ
OFF:トレース開始
ON :トレース完了
・全指定ブロックのステップトレース完了にて
ON,ステップトレース開始にてOFFする。
システム
(状態変化)
付 - 3
付 録
MELSEC-QnA
付1.2 特殊レジスタSD
番号
名 称
内 容
内容詳細
・診断エラーを生じたときのエラー番号をBIN4桁で格納する。
”となる。
* SFCプログラムに起因するエラーの場合“4
SD0
診断エラー
診断エラー番号
・複数のエラー発生のときは表示優先度の高いエラー内容が格納される。
・SD0のデータが更新されたときの時計データを格納する。
b15
SD1
診断エラー発生時刻
診断エラー発生時刻
SD3
b8 b7
b0
SD1
年(00∼99)
月(1∼12)
SD2
日( 1∼31)
時(0∼23)
SD3
分( 0∼59)
秒(0∼59)
各々BCD2桁で
格納される
・エラー共通情報と個別情報の区分コードを格納する。
b15
b8 b7
(BIN 8ビット)
b0
(BIN 8ビット)
共通情報区分コード
SD4
エラー情報区分
個別情報区分コード
エラー情報区分コード
0
1
2
3
4
5
6
7
:
:
:
:
:
:
:
:
なし
─────
ファイル名
時間(実測値)
プログラムエラー箇所
パラメータNO.
アナンシェータF NO.
CHK命令 故障NO.
0
1
2
3
4
:
:
:
:
:
なし
ユニットNO.
ファイル名
時間(設定値)
プログラムエラー箇所
・エラー共通情報を格納する。
* SFCプログラムが起因するときは次のように格納する。
SD5
SD6
ファイル名
SD7
SD8
SD5
エラー共通情報
エラー共通情報
SD15
SD9
SD10
,(2EH)
拡張子
SD12
ブロック番号
SD13
ステップ番号/移行条件番号
SD14 ステップ,移行条件に付随する
SD15 シーケンスプログラムステップ番号
SD16
エラー個別情報
AD25
エラー個別情報
b3 b2
b15
パターン
SD11
0
b0
b0…SFCブロック情報あり
b1…SFCステップ情報あり
b2…SFC移行条件情報あり
・エラー個別情報を格納する
* SFCプログラムに起因するエラーの場合個別情報はなし。
付 - 4
b1
0/1 0/1 0/1
付 録
MELSEC-QnA
番号
名 称
SD90
ステップ移行
監視タイマ設定
(SM90に対応)
SD91
ステップ移行
監視タイマ設定
(SM91に対応)
SD92
ステップ移行
監視タイマ設定
(SM92に対応)
SD93
ステップ移行
監視タイマ設定
(SM93に対応)
SD94
ステップ移行
監視タイマ設定
(SM94に対応)
内容詳細
内 容
・ステップ移行監視タイマの設定値,および監視タイマのタイムオーバー
にてONするFの番号を設定する。
b15
タイマ設定値およびタイム
オーバー時のF番号
∼
b8 b7
∼
b0
タイマ時限の設定
(1∼255sec(1sec単位))
SD95
ステップ移行
監視タイマ設定
(SM95に対応)
SD96
ステップ移行
監視タイマ設定
(SM96に対応)
SD97
ステップ移行
監視タイマ設定
(SM97に対応)
SD98
ステップ移行
監視タイマ設定
(SM98に対応)
SD99
ステップ移行
監視タイマ設定
(SM99に対応)
SD816
ステータスラッチ実行
ブロック番号
ステータスラッチ実行ブ
ロック番号
・SFCプログラムでステータスラッチを行った時点のブロック番号を格納する。
* SM816 ON時のみ有効
SD817
ステータスラッチ実行
ステップ番号
ステータスラッチ実行ス
テップ番号
・SFCプログラムでステータスラッチを行った時点のステップ番号を格納する。
* SM816 ON時のみ有効
F番号の設定
をONすることによりタイマが起動し,タイマ時限内に該当ステップの次
の移行条件が成立しないと,設定したアナンシェータ(F)がONする。
付 - 5
付 録
MELSEC-QnA
付2 MELSAP-ⅡとMELSAP3の比較
MELSAP3は,MELSAP-Ⅱに比較しSFCプログラムをより使いやすくするため機能追加,改善がさ
れています。
下記にMELSAP-ⅡとMELSAP3について比較を示します。
* 主な機能追加,改善項目
① 命令によるSFCプログラムの制御機能
SFC制御命令を計ることにより,シーケンスプログラムでSFCプログラムの実行状態を
チェックしたり,ブロック・ステップの強制起動・終了などを行うことができるように
なりました。
② SFCプログラムをシーケンスプログラム(回路/リスト)表現可能
SFCプログラムを回路・リスト表現することができ,Q6PUでタイマ(T),カウンタ(C)の設
定値変更などステップ,移行条件に付随するプログラムの修正ができます。
③ ステップ属性の追加
動作保持ステップ,リセットステップ,ブロック起動ステップ(終了待ちなし)などス
テップに設定できる属性が大幅に増加し,ステップの後追い機能(1ブロック内で直列に
複数ステップ活性する機能),ブロック起動要求時に起動先ブロックの終了を待つこと
なく移行させ起動元と起動先ブロックを非同期に制御できるなどSFCプログラムによる機
械装置の制御が容易になりました。
④ メモリ容量の拡充
1ブロックあたりのステップ数,分岐数が増加するとともに,1つのステップ,移行条件
に付随するプログラムの制限を最大4kシーケンスステップに増加させプログラミングを
容易にしました。
⑤ ブロック情報の充実
連続移行の指定をブロック単位で行う,ブロック停止要求時の停止タイミングを即停止
/移行成立後の選択指定を行うなどブロック情報の追加と,ブロック情報によるブロッ
ク起動・終了を1つのデバイスで行えるなどの簡素化を計りました。
⑥ システム処理時間の短縮による高速処理化
SFCプログラムのシステム処理処理時間の短縮により,高速処理が可能となりSFCプログ
ラムの各機能との組合わせにより,タクトタイムの短縮がさらに計れます。
⑦ SFC対応ソフトウェアパッケージの操作性向上
SFC図作成と同時にSFCコメントの作成,ステップ,移行条件プログラムの作成が行える
ようになり,メニューの切換えなどのわずらわしさを解消しました。
また,SFC図のカット&ペースト,ブロック単位の登録・流用なども容易になりました。
* 次ページ以降に主な機能の比較を記載していますので参照してください。
付 - 6
付 録
MELSEC-QnA
(1) SFC図記号
名 称
MELSAP-Ⅱ
MELSAP3
コイル保持ステップ
S
SC
動作保持ステップ
(移行チェックなし)
──
SE
動作保持ステップ
(移行チェックあり)
──
ST
リセットステップ
──
R
ステップ
ブロック起動ステップ
(終了待ちあり)
ブロック起動ステップ
(終了待ちなし)
──
結合・分岐
* 移行条件に結合・分岐が重なるときは必ずダミー
ステップ( )が必要
付 - 7
* 移行条件に結合・分岐の重複が可能
付 録
MELSEC-QnA
(2) SFC制御命令
MELSAP3には下記SFC制御命令があります。
なお,MELSAP-ⅡにはSFC制御命令は存在しません。
名 称
ステップ活性チェック命令
強制移行チェック命令
ブロック活性チェック命令
機 能
ラダー表現
LD,AND,OR,
LDI,ANI,ORI
LD,AND,OR,
LDI,ANI,ORI
LD,AND,OR,
LDI,ANI,ORI
LD,AND,OR,
LDI,ANI,ORI
LD,AND,OR,
LDI,ANI,ORI
*1
Sn
・指定ブロックの指定ステップが活性か非活性をチェッ
クする。
BLm¥Sn
*1
TRn
BLn¥TRn
・指定ブロックの指定ステップが移行制御命令により移
行条件が強制的に成立しているか否かをチェックす
る。
BLm
・指定ブロックが活性か非活性かをチェックする。
*1
MOV(P)
K4Sn
MOV(P)
BLm¥K4Sn ○
D
DMOV(P)
K8Sn
DMOV(P)
BLm¥K8Sn ○
D
BMOV(P)
K4Sn
BMOV(P)
BLm¥K4Sn ○
D Kn
ブロック起動命令
SET
BLm
・指定ブロックを単独で強制的に起動(活性)させ,イ
ニシャルステップから実行させる。
ブロック終了命令
RST
BLm
・指定ブロックを強制的に終了(非活性)にする。
ブロック停止命令
PAUSE
BLm
・指定ブロックを一時停止状態にする。
ブロック再開命令
RSTART
BLm
・指定ブロックの一時停止を解除し停止ステップから実
行を再開させる。
SET
Sn
SET
BLm¥Sn
RST
Sn
RST
BLm¥Sn
SCHG
D
○
*2
SET
TRmn
*1
SET
BLm¥TRn
RST
TRn
RST
BLm¥TRn
D
○
D
○
*1
・指定ブロックの活性ステップ状態をビット情報として
指定デバイスへ読み出す。
活性ステップ一括読出命令
ステップ制御命令
D Kn
○
*1
*1
・指定ブロックを単独で強制的に起動(活性)させ指定
ステップから実行させる。
*1
・指定ブロックの指定ステップを強制的に非活性にす
る。
・命令実行ステップを非活性にし,指定ステップを活性
にする。
・指定ブロックの指定移行条件を強制的に成立させる。
移行制御命令
*1
・指定ブロックの指定移行条件の強制移行を解除する。
付 - 8
付 録
MELSEC-QnA
名 称
ラダー表現
機 能
・SFC制御命令のうち*1の命令の対象ブロックを指定す
る。
・命令実行条件がONであれば常時サブルーチンコールを
実行,ON→OFF時はOFF実行を1回のみ実行。
ブロック切替命令
BRSET
D
○
サブルーチンコール命令
XCALL
Pn
プログラム実行状態チェック命令
(LD,AND,OR)
PCHK“プログラム名”
・指定プログラムが実行状態か否かをチェックする。
タイムチェック命令
TIMCHK
S1 ○
S2 ○
D
○
・指定条件が成立後の時間を計測し,設定時間が経過す
ると出力デバイスに指定したデバイスをONさせる。
(3) ブロック・ステップの起動・終了と停止方法
S F C 図記 号
による方法
ブロック起動
(終了チェックあり)
m
ブロック起動
(終了チェックなし)
──
MELSAP-Ⅱ
ブロック情報
による方法
S F C 図記号
による方法
──
m
ブロック活性ビット
ON
m
ブロッククリアビット
ON→OFF
ブロック終了
ブロック停止
──
ブロック停止ビット
ON
──
ブロック再開
(停止解除)
──
ブロック停止ビット
OFF
──
ステップ起動
ブロック活性番号
レジスタ
(ブロック停止時のみ)
ステップ終了
──
R Sn
MELSAP3
ブロック情報
による方法
SFC制御命令
による方法
──
──
ブロック起動
終了ビット
ON
ブロック起動
終了ビット
OFF
ブロック停止
再開ビット
ON
ブロック停止
再開ビット
OFF
SET BLm
SET BLm¥Sn
RST BLm
PAUSE BLm
RSTART BLm
──
SET Sn
SET BLm¥Sn
──
RST Sn
RST BLm¥Sn
活性ステップの交換
──
──
──
──
SCHG Sn
活性ステップの
強制移行
──
──
──
──
SET TRn
SET BLm¥TRn
強制移行解除
──
──
──
──
RST TRn
RST BLm¥Sn
ブロック停止要求時の
停止タイミング
──
指定なし
(即停止)
──
ブロック停止
モートビット
(即停止/移行成立後)
──
付 - 9
付 録
MELSEC-QnA
(4) SFCプログラム仕様
MELSAP-Ⅱ
MELSAP3
最大58Kバイト
(A3N,A3A,A3U,A4U)
(メインプログラムのみ)
最大124kステップ
(Q4ACPU)
最大256ブロック
最大320ブロック
1ブロックで最大255ステップ
全ブロックで最大8192ステップ
1ブロックで最大512ステップ
最大22
最大32
全ブロックで最大1024ステップ
1ブロックで最大22ステップ
全ブロックで最大1280ステップ
1ブロックで最大256ステップ
(保持ステップを含む)
動作出力
シーケンスステップ数
最大255シーケンスステップ
1ブロックで最大4Kステップ
1ステップあたりの制約はなし
移行条件
シーケンスステップ数
最大255シーケンスステップ
1ブロックで最大4Kステップ
1移行条件あたりの制約はなし
あり(タイマ個数8個)
あり(タイマ個数10個)
項 目
容量
ブロック数
SFCステップ数
分岐数
SFCプログラム
同時活性ステップ数
ステップ移行監視タイマ機能
(5) 主なCPUタイプのシステム処理時間
MELSAP-Ⅱ
MELSAP3
A3ACPU(F)
A3UCPU
A4UCPU
AnNCPU-F
A1SCPU
Q4ACPU
Q3ACPU
活性ブロック処理
57.0μS
260.0μS
20.3μS
40.5μS
非活性ブロック処理
14.0μS
45.0μS
4.0μS
7.9μS
非存在ブロック処理
4.0μS
25.0μS
2.1μS
4.1μS
活性ステップ処理
49.5μS
355.0μS
3.2μS
6.3μS
活性ステップに付随する移行条件処理
29.5μS
100.0μS
7.4μS
14.7μS
保持ステップ指定なし
17.0μS
60.0μS
7.8μS
15.6μS
保持ステップ指定あり
2.4μS
13.5μS
2.1μS
4.2μS
イニシャルスタート時
28.5μS
14.3μS
28.5μS
97.5μS
195.0μS
項 目
移行条件成立
ステップ処理
SFCエンド処理
285.0μS
続行スタート時
195.0μS
付 - 10
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement