sはじめに
オーガニゼーションブロック

1

SIMATICSFC の共通パラメータ2

S7-300/400 システム用システム
ソフトウェアおよび標準ファンク
ション - ボリューム 1/2

コピーファンクションとブロックファンクション

3

プログラムの実行を制御する
SFC

4

システムクロック操作用のSFC

5

ランタイムメータ操作用のSFC

6

データレコード転送用のSFC/SFB7PNO AK 1131 による DPV1
SFB

8

時刻割り込み操作用の SFC

9

時間遅延割り込み操作用のSFC

10

同期エラー処理用の SFC

11

割り込みと非同期エラー処理
用の SFC

12

診断用の SFC

13

リファレンスマニュアル

05/2017

A5E41733394-AA

プロセスイメージ更新とビッ
トフィールド処理のためのSFC と SFB

14

モジュールのアドレス指定を行うシステムファンクション

15

リモート I/O またはPROFINET IO の SFC

16

PROFInet

17

PROFINET CPU 用の SFC とSFB

18法律上の注意
警告事項
本書には、ユーザーの安全を守るため、および製品や接続された機器の損傷を防ぐために遵守すべき注意事項が記載されています。ユーザーの安全性に関する注意事項は、安全警告サインで強調表示されています。
このサインは、物的損傷に関する注意事項には表示されません。
危険
適切な予防措置を講じなければ、きわめて高い可能性で、死亡、重傷、または機器の重大な損傷を引き起こす
恐れがあります。
警告
適切な予防措置を講じない場合、死亡、重傷、または機器の重大な損傷を引き起こす恐れがあります。
注意
適切な予防措置を講じなければ、人体に軽度の傷害を引き起こす恐れがあります。
注意
適切な予防措置を講じなければ、機器の損傷を引き起こす恐れがあります。
複数の危険度が存在する場合、一番高い危険度を表す警告が使用されます。安全警告シンボルを伴う人的傷害に関する警告には、物的損害に関する警告も含まれる場合があります。

有資格者
装置/システムのセットアップおよび使用にあたっては必ず本マニュアルを参照してください。機器のインス
トールおよび操作は有資格者のみが行うものとします。有資格者とは、法的な安全規制/規格に準拠してアースの取り付け、電気回路、設備およびシステムの設定に携わることを承認されている技術者のことをいいます。

Siemens製品を正しくお使いいただくために以下の点に注意してください。
警告
Siemens製品は、カタログおよび付属の技術説明書の指示に従ってお使いください。他社の製品または部品との併用は、弊社の推奨もしくは許可がある場合に限ります。Siemens 製品を正しく安全にご使用いただくには、適切な運搬、保管、組み立て、据え付け、配線、始動、操作、保守を行ってください。ご使用になる場所は、許容された範囲を必ず守ってください。付属の技術説明書に記述されている指示を遵守してください。

商標
本書において®で識別されるすべての名称は、Siemens AG の登録商標です。その他、この文書に記載されている会社名や製品名は各社の商標であるため、第三者が自己の目的のためにこれらの名前を使用すると、商標所有者の権利を侵害する恐れがあります。

免責事項
本書の内容は、記載されているハードウェアやソフトウェアとの齟齬がないよう見直されています。しかしながら、相違点をすべて取り除くことはできないため、完全な一致を保証するものではありません。本マニュアルの内容は定期的に見直され、必要な修正は次回の版で行われます。

Siemens AG

A5E41733394-AA

Copyright © Siemens AG 2017.

Division Digital FactoryⓅ 03/2017 は変更されることがあります。

All rights reserved

Postfach 48 48
90026 NÜRNBERGGERMANY

はじめに
目的
本マニュアルは、
S7-300 および S7-400 の CPU のオペレーティングシステムに収納されているオー
ガニゼーションブロック(OB)、システムファンクション(SFC)、システム標準ファンクションブロック(SFC)、および IEC ファンクションと、診断データ、システムステータスリスト(SZL)、イベントについて包括的な概要を提供します。

注記
以下の参照箇所をご覧ください:「S7-300 自動システム CPU 仕様: CPU 31xC と CPU 31x」および「S7-300 自動システム CPU 仕様: CPU 312IFM - 318-2 DP」/70/または「 自動システム S7-400: CPU仕様」リファレンスマニュアル/101/ または、命令リスト: S7-400 プログラマブルコントローラ/102/(ご使用の CPU に適合するバージョン)－CPU で使用できるファンクション、ブロックが詳述。
特定の CPU 用の CFT と S'7 信号ファンクションのプロパティは、/70/ and /101/に記述されています。

CPU オペレーティングシステム、プログラム設計、CPU の通信および診断機能については、『Configuring Hardware and Communication Connections STEP 7 V5.5』マニュアル/234/を参照してください。ユーザープログラムでファンクションおよびファンクションブロックを呼び出す方法については、言語説明に記述されています。
STEP 7 標準ソフトウェアを使ってこうしたファンクションのすべてにパラメータを割り付け、プログラムできます。このソフトウェアの使用方法については、「 STEP 7 V5.5 によるプログラミング」
マニュアルと/231/ STEP 7 オンラインヘルプを参照してください。

対象読者
本マニュアルは制御プロセスに精通しているプログラマおよびエンジニア、ならびにプログラマ
ブルロジックコントローラのプログラムの作成担当のプログラマおよびエンジニアを対象としています。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

3

はじめに

オンラインヘルプ
本マニュアル(ボリューム 1 および 2)はソフトウェアに組み込まれているオンラインヘルプと併せてご使用ください。このオンラインヘルプは、STEP 7 を使用する際に詳細なサポートを提供することを目的としています。
ソフトウェアに組み込まれたヘルプシステムでは、いくつかのインターフェースが利用できます。
•

Help メニューで、いくつかのメニューコマンドを選択できるようになっています。[目次]コマ
ンドは STEP 7 のヘルプのインデックスを開きます。

•[ヘルプの使用]は、オンラインヘルプの使い方について詳しく説明しています。

•

状況に応じたヘルプは、現在のコンテキスト、たとえば開いたダイアログ、アクティブなウィン
ドウについての情報を提供します。状況に応じたヘルプを開くには、[ヘルプ]ボタンをクリック
するか、F1 キーを押します。

•

ステータスバーにも状況に応じたヘルプが表示されます。マウスポインタがメニューコマンドの上に置かれると、各メニューコマンドについての簡単な説明が表示されます。

•

マウスポインタをツールバーのアイコンの上に置くと、アイコンの簡単な説明が少しの間、表示されます。

オンラインヘルプの情報を紙媒体へ印刷して読みたい場合、すべてのヘルプ、トピック毎、ブック毎に印刷できます。
このマニュアルは HTML ベースの STEP 7 のヘルプから抽出されたものです。マニュアルとオンラ
インヘルプはほぼ同一構造なので、マニュアルとオンラインヘルプを交互に容易に参照できます。

ドキュメントについてのフィードバック
STEP 7 のユーザに今後より良いドキュメントを提供するために、ご協力をお願いいたします。
このマニュアルやオンライン ヘルプに関係のあるコメントや提案がある場合、本マニュアルの最後にあるアンケートに記入し、下記の住所に送ってください。このマニュアルの評価についてもご記入ください。

その他のマニュアル
さまざまな、S7-300 および S7-400 CPU や S7-300 およい S7-400 モジュールについては、次のマニュアルを参照してください。
•

S7-300 プログラマブルロジックコントローラについては、マニュアル: 『PLC S7-300, CPU
Specifications CPU 312 IFM to CPU 318-2 DP and S7-300 CPU 31xC and CPU 31x: Technicalspecifications』/70/、『S7-300 S7-300 Module data』/71/、『命令リスト』/72/を参照してくだ
さい。

•

S7-400 プログラマブルロジックコントローラについては、マニュアル: 『S7-400 Automation
System: Module Data』/101/、『命令リスト』/102/を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
4

リファレンスマニュアル, 05/2017, A5E41733394-AA

はじめに

このマニュアルの使い方
次のトピックについて説明しています。
•

第 1 章: すべてのオーガニゼーションブロックのファンクション•

第 2 章: 共通パラメータ RET_VAL, REQ および BUSY•

第 3 章から第 32 章まで、SFC、SFB、IEC-FC について説明しています。

•

第 33 章から第 36 章までは、診断データの構造、SZL-ID の概要、可能なイベント、本マニュアルで記載された SFC、SFB、FC のリスト、SDB の概要。

•

参考文献には他のマニュアルの一覧が掲載されています。

•

用語集は重要な用語について説明しています。

•

インデックスで必要なセクションおよびトピックを素早く、検索できます。

表記法
他のマニュアル、ドキュメントへの参照は、スラッシュ/.../で囲まれた番号で示されています。この番号は参考文献でリストされてマニュアルのタイトルを参照しています。

重要
システムファンクションは割り込み可能です。SFC や状況に適用される何らかの制限がある場合、該当する SFC に説明があります。

その他のサポート
技術的な質問がある場合、シーメンスの担当者または代理店の担当者に連絡をとってください。
連絡先は下記のアドレスで検索できます。
http://www.siemens.com/automation/partner
各 SIMATIC 製品およびシステムの技術文書のガイドは、以下でご覧になれます。
http://www.siemens.com/simatic-tech-doku-portal
オンラインカタログおよび注文システムは以下にあります。
http://mall.automation.siemens.com/

トレーニングセンター
Siemens 社は、SIMATIC S7 オートメーションシステムに精通していただくためのたくさんのトレー
ニングコースを用意しております。
システム。詳しくは、該当地区のトレーニングセンターか、下記のドイツ D 90026 ニュルンベルクの中央トレーニングセンターにご連絡ください。
Internet: http://sitrain.automation.siemens.com/sitrainworld/

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

5

はじめに

技術サポートすべての産業用オートメーション&ドライブテクノロジ製品のテクニカルサポートは次のとおりです。
•

サポートリクエスト Web フォーム経由
http://www.siemens.com/automation/support-request

テクニカルサポートについての追加情報は、インターネットのhttp://www.siemens.com/automation/service ページにあります。

インターネットによるサービスとサポート
マニュアルの他に、ノウハウを次のインターネットで提供します。
http://www.siemens.com/automation/service&support
内容:•

ニュースレター、製品に関する最新情報を提供•「Service & Support」の検索機能を利用して必要な文書を検索•フォーラム、世界中のユーザや専門家がその経験を交換•

産業用オートメーション&ドライブテクノロジを担当するお客様の最寄りのお問い合わせ先•

フィールドサービス、修理、スペアパーツ、コンサルティングについての情報

セキュリティ情報：
シーメンスの製品およびソリューションでは、プラント、システム、マシン、ネットワークの安全な操作をサポートする産業用セキュリティファンクションが提供されています。
プラント、システム、マシン、ネットワークをサイバー攻撃から保護するには、総合的な最新の産業用セキュリティコンセプトを実装し、継続的に維持する必要があります。シーメンスの製品
およびソリューションのみが、このようなコンセプトの 1 つのエレメントを形成します。
お客様のプラント、システム、マシン、ネットワークへの未許可のアクセスを防止するのは、お客様の責任です。システム、マシン、コンポーネントは、必要な場合に必要な部分のみ、インターネットの企業ネットワークに接続します。この場合、適当な位置で適切なセキュリティ手段(たとえば、ファイアウォールおよびネットワークセグメンテーションの使用など)を使用します。
さらに、適切なセキュリティ手段に関するシーメンスのアドバイスを検討する必要があります。
産業用セキュリティに関する詳細は、次を参照してください
http://www.siemens.com/industrialsecurity。
シーメンスの製品およびソリューションは、セキュリティ度を高めるための継続的な更新を続けます。
製品更新が使用可能になったらすぐにそれを適用し、常に最新の製品バージョンを使用することを
シーメンスは強く推奨します。サポートされなくなった製品バージョンを使用したり、最新の更新を適用しないままでいると、お客様のサーバー攻撃に曝される度合いが高まります。
製品更新に関する継続通知を希望する場合は、次の Siemens Industrial Security RSS Feed でその申し込みを行います
http://www.siemens.com/industrialsecurity。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
6

リファレンスマニュアル, 05/2017, A5E41733394-AA目次
はじめに ............................................................................................................................................................3
1

オーガニゼーションブロック .................................................................................................................11
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13
1.14
1.15
1.16
1.17
1.18
1.19
1.20
1.21
1.22
1.23
1.24
1.25
1.26
1.27
1.28

2

SFC の共通パラメータ ..........................................................................................................................87
2.1
2.2

3

出力パラメータ RET_VAL によるエラーの評価 ....................................................................................... 87
非同期 SFC のパラメータ REQ、RET_VAL、BUSY の意味 ..................................................................... 91

コピーファンクションとブロックファンクション.................................................................................. 95
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12

4

オーガニゼーションブロック(OB)の概要................................................................................................. 11
周期オーガニゼーションブロック(OB1)をプログラムします。 ................................................................ 14
時刻割り込みオーガニゼーションブロック(OB10～OB17) ...................................................................... 16
時間遅延割り込みオーガニゼーションブロック(OB20～OB23) ................................................................ 20
周期割り込みオーガニゼーションブロック (OB30～OB38)...................................................................... 22
ハードウェア割り込みオーガニゼーションブロック(OB40 から OB47) ..................................................... 24
ステータス割り込み OB(OB55) ............................................................................................................... 26
更新割り込み OB(OB56) ......................................................................................................................... 29
製造元仕様割り込み OB (OB57) .............................................................................................................. 32
マルチコンピューティング割り込みオーガニゼーションブロック(OB60) .................................................. 35
同期サイクル割り込み OB(OB61～OB64) ............................................................................................... 37
テクノロジ同期割り込み OB(OB65) ........................................................................................................ 38
I/O リダンタントエラーOB (OB 70)......................................................................................................... 39
CPU リダンダントエラーOB(OB72) ........................................................................................................ 41
通信リダンダントエラーOB (OB73) ........................................................................................................ 44
タイムエラーオーガニゼーションブロック(OB80)................................................................................... 45
電源エラーオーガニゼーションブロック (OB81) ..................................................................................... 49
診断割り込みオーガニゼーションブロック (OB82).................................................................................. 51
挿入/削除モジュール割り込みオーガニゼーションブロック(OB83) .......................................................... 54
CPU ハードウェア故障オーガニゼーションブロック(OB84) .................................................................... 59
優先度クラスエラーオーガニゼーションブロック(OB85) ........................................................................ 61
ラック障害オーガニゼーションブロック(OB86) ...................................................................................... 65
通信エラーオーガニゼーションブロック(OB87) ...................................................................................... 70
プロセス割り込み OB(OB88) .................................................................................................................. 72
バックグラウンドオーガニゼーションブロック(OB90) ............................................................................ 74
起動オーガニゼーションブロック(OB100、OB101 および OB102) .......................................................... 76
プログラミングエラーオーガニゼーションブロック(OB121) ................................................................... 81
I/O アクセスエラーオーガニゼーションブロック(OB122) ........................................................................ 84

SFC 20 "BLKMOV"によるメモリエリアのコピー ..................................................................................... 95
SFC 81 "UBLKMOV"による変数の連続コピー ......................................................................................... 98
SFC 21 "FILL"によるメモリ領域の初期化.............................................................................................. 100
SFC 22 "CREAT_DB"によるデータブロックの作成 ............................................................................... 103
SFC 23 "DEL_DB"によるデータブロックの削除 .................................................................................... 105
SFC 24 "TEST_DB"によるデータブロックのテスト .............................................................................. 107
SFC 25 "COMPRESS"によるユーザーメモリの圧縮.............................................................................. 108
SFC 44 "REPL_VAL"によるアキュムレータ 1 への置換値の転送 ........................................................... 110
SFC 82 "CREA_DBL"によるロードメモリでのデータブロックの生成 ..................................................... 111
SFC 83 "READ_DBL"によるロードメモリのデータブロックからの読み取り ....................................... 114
SFC 84 "WRIT_DBL"によるロードメモリ内のデータブロックの書き込み .............................................. 116
SFC 85 "CREAT_DB"によるデータブロックの作成 ............................................................................... 118

プログラムの実行を制御する SFC ....................................................................................................... 121
4.1
4.2

SFC 43 "RE_TRIGR"によるサイクルタイムモニタの再トリガ ............................................................... 121
SFC 46 "STP"による CPU の STOP への変更 ........................................................................................ 121

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

7

目次

4.3
4.4
4.5
4.6
4.7
4.8

5

システムクロック操作用の SFC........................................................................................................... 135
5.1
5.2
5.3
5.4

6

時刻割り込みの操作.............................................................................................................................. 197
SFC 28～31 の特性............................................................................................................................... 199
SFC 28 "SET_TINT"による時刻割り込みの設定 .................................................................................... 201
SFC 29 "CAN_TINT"による時刻割り込みのキャンセル.......................................................................... 202
SFC 30 "ACT_TINT"による時刻割り込みの起動 .................................................................................... 203
SFC 31 "QRY_TINT"による時刻割り込みの問い合わせ ......................................................................... 204

時間遅延割り込み操作用の SFC........................................................................................................... 207
10.1
10.2
10.3
10.4

11

SFB 52 "RDREC"によるデータレコードの読み取り .............................................................................. 171
SFB 53 "WRREC"によるデータレコードの書き込み.............................................................................. 173
SFB 54 "RALRM"による割り込みの受信................................................................................................ 175
SFB 75 "SALRM"による DP マスタへの割り込みの送信 ........................................................................ 191

時刻割り込み操作用の SFC ................................................................................................................. 197
9.1
9.2
9.3
9.4
9.5
9.6

10

データレコードの書き込みおよび読み取り............................................................................................ 149
SFC 54 "RD_DPARM"による定義されたパラメータの読み取り ............................................................. 151
SFC 102 "RD_DPARA"による予め定義されたパラメータの読み取り ..................................................... 152
SFC 55 "WR_PARM"による動的パラメータの書き込み ......................................................................... 153
SFC 56 "WR_DPARM"によるデフォルトパラメータの書き込み ............................................................ 155
SFC 57 "PARM_MOD"によるモジュールへのパラメータの割り付け...................................................... 156
SFC 58 "WR_REC"によるデータレコードの書き込み............................................................................ 159
SFC 59 "RD_REC"によるデータレコードの読み取り ............................................................................ 161
SFC 55 ～ 59 のエラー情報詳細............................................................................................................ 166
SFB 81 "RD_DPAR"による予め定義されたパラメータの読み取り ......................................................... 167

PNO AK 1131 による DPV1 SFB ......................................................................................................... 171
8.1
8.2
8.3
8.4

9

ランタイムメータ ................................................................................................................................. 141
SFC 101 "RTM"によるランタイムメータの処理 .................................................................................... 142
SFC 2 "SET_RTM"によるランタイムメータの設定................................................................................ 144
SFC 3 "CTRL_RTM"によるランタイムメータの開始と停止 ................................................................... 145
SFC 4 "READ_RTM"によるランタイムメータの読み取り ...................................................................... 146
SFC 64 "TIME_TCK"によるシステム時間の読み取り ............................................................................. 147

データレコード転送用の SFC/SFB ...................................................................................................... 149
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9
7.10

8

SFC 0 "SET_CLK"による時刻の設定 ..................................................................................................... 135
SFC 1 "READ_CLK"による時刻の読み取り ........................................................................................... 136
SFC 48 "SNC_RTCB"によるスレーブクロックの同期 ........................................................................... 137
SFC 100 "SET_CLKS"による時刻と TOD ステータスの設定.................................................................. 138

ランタイムメータ操作用の SFC........................................................................................................... 141
6.1
6.2
6.3
6.4
6.5
6.6

7

SFC 47 "WAIT"によるユーザープログラム実行の遅延 ........................................................................... 122
SFC 35 "MP_ALM"によるマルチコンピューティング割り込みのトリガ .................................................... 123
SFC 104 "CiR"による CiR のコントロール............................................................................................. 124
SFC 109 "PROTECT"による CPU アクセス保護の有効化と無効化......................................................... 126
SFB 73 "RCVREC"によるデータレコードの受信 ................................................................................... 129
SFB 74 "PRVREC"によるデータレコードの送信 ................................................................................... 132

時間遅延割り込みの操作 ....................................................................................................................... 207
SFC 32 "SRT_DINT"による時間遅延割り込みの開始 ............................................................................. 209
SFC 34 "QRY_DINT"による時間遅延割り込みの問い合わせ .................................................................. 210
SFC 33 "CAN_DINT"による時間遅延割り込みのキャンセル .................................................................. 211

同期エラー処理用の SFC ..................................................................................................................... 213
11.1
11.2
11.3
11.4

同期エラーのマスク.............................................................................................................................. 213
SFC 36 "MSK_FLT"による同期エラーのマスク ..................................................................................... 220
SFC 37 "DMSK_FLT"による同期エラーのアンマスク ............................................................................ 221
SFC 38 "READ_ERR"によるエラーレジスタの読み取り........................................................................ 222

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
8

リファレンスマニュアル, 05/2017, A5E41733394-AA

目次

12

割り込みと非同期エラー処理用の SFC ................................................................................................ 223
12.1
12.2
12.3
12.4
12.5

13

診断用の SFC ...................................................................................................................................... 231
13.1
13.2
13.3
13.4
13.5
13.6
13.7

14

SFC 7 "DP_PRAL"による DP マスタ上のハードウェア割り込みのトリガ............................................... 281
SFC 11 "DPSYC_FR"による DP スレーブグループの同期 ..................................................................... 284
SFC 12 "D_ACT_DP"による DP スレーブ/PROFINET IO デバイスの停止と起動 ................................ 289
SFC 13 "DPNRM_DG" (スレーブ診断) による DP スレーブの診断データの読み取り.............................. 294
SFC 14 "DPRD_DAT"による DP 標準スレーブ//PROFINET IO デバイスの一貫データ読み取り ................. 297
SFC 15 "DPWR_DAT"による DP 標準スレーブ/PROFINET IO デバイスへの一貫データ書き込み........... 300

PROFInet ............................................................................................................................................ 303
17.1
17.2
17.3
17.4

18

SFC 5 "GADR_LGC"によるモジュールの論理ベースアドレスの問い合わせ ........................................... 271
SFC 49 "LGC_GADR"による論理アドレスに属するモジュールスロットの問い合わせ............................. 272
SFC 50 "RD_LGADR" によるモジュールのすべての論理アドレスの問い合わせ.................................. 275
SFC 70 "GEO_LOG"によるモジュールの開始アドレスの特定 ............................................................... 276
SFC 71 "LOG_GEO"による論理アドレスに属するスロットの特定......................................................... 278

リモート I/O または PROFINET IO の SFC .......................................................................................... 281
16.1
16.2
16.3
16.4
16.5
16.6

17

SFC 26 "UPDAT_PI"によるプロセスイメージ入力テーブルの更新......................................................... 259
SFC 27 "UPDAT_PO"によるプロセスイメージ出力テーブルの更新 ....................................................... 261
SFC 126 "SYNC_PI"による同期サイクルでのプロセスイメージパーティション入力テーブルの更新...... 262
127 "SYNC_PO"による同期サイクルでのプロセスイメージパーティションの更新 ................................ 264
SFC 79 "SET"による I/O 領域のビットフィールドの設定....................................................................... 266
SFC 80 "RSET"による I/O 領域のビットフィールドのリセット ............................................................. 267
SFB 32 "DRUM"によるシーケンサの装備 .............................................................................................. 268

モジュールのアドレス指定を行うシステムファンクション.................................................................. 271
15.1
15.2
15.3
15.4
15.5

16

システム診断 ........................................................................................................................................ 231
SFC 6 "RD_SINFO"による OB 起動情報の読み取り............................................................................... 231
SFC 51 "RDSYSST"によるシステムステータスリストまたは部分リストの読み取り .............................. 234
SFC 52 "WR_USMSG"によるユーザー定義の診断イベントの診断バッファへの書き込み....................... 241
SFC 78 "OB_RT"による OB プログラム RUN タイムの特定 ................................................................... 245
SFC 87 "C_DIAG"による現在の接続ステータスの診断 .......................................................................... 250
SFC 103 "DP_TOPOL"による DP マスタシステムのバストポロジの識別 ................................................... 254

プロセスイメージ更新とビットフィールド処理のための SFC と SFB ................................................. 259
14.1
14.2
14.3
14.4
14.5
14.6
14.7

15

割り込みと非同期エラーの遅延および無効化 ........................................................................................ 223
SFC 39 "DIS_IRT"による新規割り込みと非同期エラーの処理の無効化 .................................................. 225
SFC 40 "EN_IRT"による新規割り込みと非同期エラーの処理の有効化 ................................................... 227
SFC 41 "DIS_AIRT"による高優先度の割り込みと非同期エラーの処理の遅延 .......................................... 229
SFC 42 "EN_AIRT"による高優先度の割り込みと非同期エラーの処理の有効化 ...................................... 230

SFC 112、113 および 114 についてのバックグラウンド情報 ................................................................ 303
SFC 112 "PN_IN"を使用した、
PROFINET CBA コンポーネント用ユーザープログラムインターフェー
スの入力の更新..................................................................................................................................... 306
SFC 113 "PN_OUT"を使用した、PROFInet CBA コンポーネントの PROFINET インターフェース
出力の更新 ........................................................................................................................................... 307
SFC 114 "PN_DP"を使用して DP 相互接続を更新する .......................................................................... 308

PROFINET CPU 用の SFC と SFB ...................................................................................................... 309
18.1
18.2

SFC99 "WWW"を使用してユーザーの Web ページを有効化または同期する .......................................... 309
SFB104 "IP_CONF"を使用して IP コンフィグレーションを設定する ..................................................... 311

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

9

目次

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
10

リファレンスマニュアル, 05/2017, A5E41733394-AA

1

オーガニゼーションブロック

1.1

オーガニゼーションブロック(OB)の概要

オーガニゼーションブロックとは?
オーガニゼーションブロック(OB)は、CPU のオペレーティングシステムとユーザープログラム間のインターフェースです。OB は、特定のプログラムセクションを実行するために使用されます:•

CPU の起動時•周期またはクロック実行時•

エラーが発生する場合•

ハードウェア割り込みが発生する場合

オーガニゼーションブロックは、それらに割り付けられている優先度にしたがって実行されます。

使用可能な OB は?
すべての CPU が STEP 7 で使用可能なすべての OB を処理できるわけではありません。使用するCPU にどの OB が含まれるかについては、
オペレーションリスト/72/および/102/を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

11

オーガニゼーションブロック
1.1 オーガニゼーションブロック(OB)の概要

詳細情報は？
詳細については、オンラインヘルプと下記マニュアルを参照してください。
•/70/: このマニュアルには、各種 S7-300 CPU の機能に関する技術データが記載されています。

•/101/: このマニュアルには、各種 S7-400 CPU の機能に関する技術データが記載されています。

下の表には、既定の優先度クラスだけでなく各 OB に属する開始イベントも含まれています。
OB

開始イベント

既定の優先度クラス

説明

OB1
OB10
OB11
OB12
OB13
OB14
OB15
OB16
OB17
OB20
OB21
OB22
OB23
OB30
OB31
OB32
OB33
OB34
OB35
OB36
OB37
OB38

起動の終わりまたは OB1 の終わり
時刻割り込み 0
時刻割り込み 1
時刻割り込み 2
時刻割り込み 3
時刻割り込み 4
時刻割り込み 5
時刻割り込み 6
時刻割り込み 7
時間遅延割り込み 0
時間遅延割り込み 1
時間遅延割り込み 2
時間遅延割り込み 3
周期割り込み 0 (既定の間隔: 5 s)
周期割り込み 1 (既定の間隔: 2 s)
周期割り込み 2 (既定の間隔: 1 s)
周期割り込み 3 (既定の間隔: 500 ms)
周期割り込み 4 (既定の間隔: 200 ms)
周期割り込み 5 (既定の間隔: 100 ms)
周期割り込み 6 (既定の間隔: 50 ms)
周期割り込み 7 (既定の間隔: 20 ms)
周期割り込み 8 (既定の間隔: 10 ms)

1
2
2
2
2
2
2
2
2
3
4
5
6
7
8
9
10
11
12
13
14
15

フリーサイクル
既定の時間指定なし

OB40
OB41
OB42
OB43
OB44
OB45
OB46
OB47
OB55
OB56

ハードウェア割り込み 0
ハードウェア割り込み 1
ハードウェア割り込み 2
ハードウェア割り込み 3
ハードウェア割り込み 4
ハードウェア割り込み 5
ハードウェア割り込み 6
ハードウェア割り込み 7
ステータス割り込み
更新割り込み

16
17
18
19
20
21
22
23
2
2

ハードウェア割り込み

OB57
OB60

製造元仕様割り込み
SFC35 "MP_ALM" 呼び出し

2
25

OB61
OB62
OB63
OB64

同期サイクル割り込み 1
同期サイクル割り込み 2
同期サイクル割り込み 3
同期サイクル割り込み 4

25
25
25
25

OB65

割り込み同期のテクノロジ

25

既定の時間指定なし

周期割り込みDPV1 割り込み

マルチコンピューティ
ング割り込み同期サイクル割り込み

割り込み同期のテクノロジ

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
12

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.1 オーガニゼーションブロック(OB)の概要
OB

開始イベント

既定の優先度クラス

説明

OB70
OB72
OB73

I/O リダンダントエラー(H CPU のみ)
CPU リダンダントエラー(CPU のみ)
通信リダンダントエラーOB (H CPU の場合に限る)
タイムエラー
電源障害

25
28
25

リダンダントエラー割り込み

OB90 で実行中のブロックのウォームまたは
コールドリスタートか、CPU への OB90 のロー
ド、あるいは OB90 の終了
ウォームリスタート
ホットリスタート
コールドリスタート
プログラミングエラー

29 2)

背景サイクル

27 1)
1)
27
27 1)
エラーを起こした OBの優先度
エラーを起こした OBの優先度

STARTUP(起動)

OB80
OB81

OB82

OB83

OB84

OB85

OB86

OB87

OB88
OB90

OB100
OB101
OB102
OB121

26, 28 1)
非同期エラー割り込み1)
S7-300: 26、28 、
S7-400 および CPU 318:
25、28 1)
1)
診断割り込みS7-300: 26、28 、
S7-400 および CPU 318:
25、28 1)
モジュール割り込みの挿入/削除
S7-300: 26、28 1)、
S7-400および CPU 318:
25、28 1)
CPU ハードウェア故障
S7-300: 26、28 1)、
S7-400 および CPU 318:
25、28 1)
1)
プログラムエラー
S7-300: 26、28 、
S7-400 および CPU 318:
25、28 1)
分散 I/O の増設ラック、DP マスタシステムまた S7-300: 26、28 1)、
S7-400 および CPU 318:はステーションの故障
1)
25、28
通信エラー
S7-300: 26、28 1)、
S7-400 および CPU 318:
1)
25、28
処理割り込み28

OB122 I/O アクセスエラー
1)
2)

同期エラー割り込み

優先度クラス27および28は、起動に関する優先度クラスモデルで有効です。
優先度クラス29は、優先度0.29に対応します。これは、背景サイクルがフリーサイクルより優先度が低いことを意味します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

13

オーガニゼーションブロック
1.2 周期オーガニゼーションブロック(OB1)をプログラムします。

1.2

周期オーガニゼーションブロック(OB1)をプログラムします。

説明
S7 CPU のオペレーティングシステムは、OB1 を定期的に実行します。OB1 が実行されると、オペレーティングシステムは、それを再実行します。OB1 の周期実行は、起動完了後に起動されます。
他のファンクションブロック(FB、SFB)または OB1 内のファンクション(FC、SFC)を呼び出すことができます。

OB1 の動作について
RUN タイムがモニタされる OB すべての中で、OB1 の優先度が最下位です。つまり、OB90 を除く
他の OB はすべて、OB1 の実行に割り込むことができます。以下のイベントにより、オペレーティ
ングシステムは OB1 を呼び出します。
•

起動が完了

•

OB1(前サイクル)の実行が終了

OB1 が実行されると、オペレーティングシステムは、グローバルデータを送信します。OB1 を再起動する前に、オペレーティングシステムは、プロセスイメージ出力を出力モジュールに書き込み、
プロセスイメージ入力を更新し、CPU に対するすべてのグローバルデータを受信します。
S7 は、最大スキャン時間をモニタし、最大応答時間を保証します。最大スキャン時間の値は、事前に 150 ms に設定されています。ユーザーは新しい値を設定したり、あるいは SFC43 "RE_TRIGR"を使用してプログラム内の任意の位置から時間のモニタを再開することができます。プログラムが、OB1 の最大サイクルタイムを超えると、オペレーティングシステムは、OB80 (時間エラーOB)を呼び出します。OB80 がプログラムされていない場合、CPU は STOP モードに切り替わります。
最大スキャン時間のモニタ以外に、最小スキャン時間を保証することもできます。オペレーティン
グシステムは、最小スキャン時間に達するまで新しいサイクルの開始(プロセスイメージ出力を出力モジュールに書き込む)を遅延させます。
"最小"スキャン時間と"最大"スキャン時間の各パラメータの範囲については、『/70/』と『/101/』の各マニュアルを参照してください。STEP 7 を使用すると、パラメータの設定値を変更できます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
14

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.2 周期オーガニゼーションブロック(OB1)をプログラムします。

OB1 のローカルデータ
以下の表で、OB1 のテンポラリ(TEMP)変数について説明します。変数名は、OB1 の既定の名前です。
変数

タイプ

説明

OB1_EV_CLASS

BYTE

イベントクラスと識別子: B#16#11: OB1 有効

OB1_SCAN_1

BYTE

•

B#16#01:ウォームリスタートの完了•

B#16#02:ホットリスタートの完了•

B#16#03:メインサイクルの完了•

B#16#04:コールドリスタートの完了•

B#16#05: マスタ-予備間の切り替え後、および直前のマスタの STOP 後、新規マスタ CPU の最初の OB1
サイクル

OB1_PRIORITY

BYTE

優先度クラス 1

OB1_OB_NUMBR

BYTE

OB 番号(01)

OB1_RESERVED_1

BYTE

予約済み

OB1_RESERVED_2

BYTE

予約済み

OB1_PREV_CYCLE

INT

前のスキャンの実行時間(ms)OB1_MIN_CYCLE

INT

前回の起動以降の最小サイクルタイム(ms)OB1_MAX_CYCLE

INT

前回の起動以降の最大サイクルタイム(ms)OB1_DATE_TIME

DATE_AND_TIME

OB が呼び出された日付と時刻

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

15

オーガニゼーションブロック
1.3 時刻割り込みオーガニゼーションブロック(OB10～OB17)

1.3

時刻割り込みオーガニゼーションブロック(OB10～OB17)

説明
STEP 7 は、一回または定期的に実行できる最大 8 つの OB(OB10～OB17)を提供します。これらのOB を以下の間隔で処理するため、SFC または STEP 7 を使用して CPU にパラメータを割り付けることができます:
•

1回

•

毎分

•

毎時

•

毎日

•

毎週

•

毎月

•

月末

注記
時刻割り込み OB を毎月行う場合には、1、2、... 28 が開始日付として使用できます。

時刻割り込み OB の動作について
時刻割り込みを開始するには、まず、設定してから割り込みを有効にする必要があります。以下の3 つの方法で開始できます:•

時刻割り込みの自動開始。この動作は、STEP 7 により時刻割り込みを設定して有効にすると発生します。次の表に、STEP 7 により時刻割り込みを有効にする基本的な方法を示します。

•

STEP 7 により時刻割り込みを設定し、プログラムの SFC30 "ACT-TINT"を呼び出して時刻割り込みを有効にします。

•

SFC28 "SET_TINT"を呼び出すことにより時刻割り込みを設定し、SFC30 "ACT_TINT."を呼び出して時刻割り込みを有効にします。
間隔

説明アクティブにならない

CPU にロードされても、時刻割り込みは、実行されません。SFC30 を呼び出すことにより有効にできます。

一度だけアクティブになる

時刻 OB は、1 回実行後、自動的にキャンセルされます。
プログラムは、SFC28 および SFC30 を使用することにより OB をリセット
および再度アクティブにできます。

定期的にアクティブになる

時刻割り込みが発生すると、CPU は、現在の時刻と周期に基づいて時刻割り込みの次の開始時刻を計算します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
16

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.3 時刻割り込みオーガニゼーションブロック(OB10～OB17)

クロックを順方向または逆方向に動かす場合の時刻割り込みの挙動は、/234/に説明されています。

注記対応する OB を一回処理するように時刻割り込みをコンフィグレーションする場合、DATE_AND_TIME を(CPU のリアルタイムクロックと比較して)過去にしないでください。
対応する OB を定期的に処理するように時刻割り込みをコンフィグレーションしたが、開始
DATE_AND_TIME が過去になっている場合、次回割り込み予定時に、時刻割り込みが処理されます。下図を参照してください。

SFC 39～42 を使用すれば、時刻割り込みを無効または遅延し、再度有効にできます。

Presetstart time

Presetinterval

Current
time

Point at which the time-of-day
interrupt OB is first executed.

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

17

オーガニゼーションブロック
1.3 時刻割り込みオーガニゼーションブロック(OB10～OB17)

時刻割り込み OB に影響する条件
時刻割り込みは、指定間隔においてのみ発生するため、一定条件がプログラム実行中の OB の作動に影響を及ぼす可能性があります。下表は、これらの条件のいくつかを示し、時刻割り込み OB の実行に及ぼす影響を説明したものです。
条件

結果

プログラムにより SFC29 (CAN_TINT)が呼び出
され、時刻割り込みがキャンセルされる。

オペレーティングシステムにより、時刻割り込みの開始
イベント( DATE_AND_TIME)がクリアされる。OB を再び呼び出せるようにする前に開始イベントを設定して有効にする必要があります。

プログラムが時刻割り込み OB をアクティブにしようとしたが、OB は、CPU にロードされていない。

オペレーティングシステムが OB85 を呼び出す OB85 がプログラムされていない(CPU にロードされていない)場
合、CPU は、STOP モードに切り替わる。

CPU のシステムクロックの同期または訂正中に オペレーティングシステムは、OB80 を呼び出し、OB80 の時刻設定を先に進めて、時刻 OB の開始イベント 時刻 OB 番号および開始イベント情報をコード化します。
の日付または時刻をスキップした。
オペレーティングシステムは、この OB の本来の実行回数に関係なく時刻 OB を一回実行します。OB80 の開始イベ
ント情報には、時刻 OB を最初にスキップした
DATE_AND_TIME が示される。
CPU のシステムクロックの同期または訂正中に時刻設定を前に戻したことにより、OB の開始
イベント、日付または時刻が繰り返される。

S7-400-CPU および CPU 318:
クロックの設定を戻す前に時刻 OB が既に有効になっている場合は、この OB は、再び呼び出されません。
S7-300-CPU: 時刻割り込み OB が実行されます。

CPU は、ウォームまたはコールドリスタートを通じて作動します。

SFC によりコンフィグレーションされたあらゆる時刻
OB は、STEP 7 で指定されたコンフィグレーションに戻されます。
対応する OB の一回限りの開始に対応して時刻割り込みをコンフィグレーションし、STEP 7 でこの操作を設定し、実行すると、コンフィグレーションした開始時間が、(CPU のリアルタイムクロックと比較して)過去になっている場合、オペレーティングシステムのウォームリスター
トまたはコールドリスタート後に、OB が一回呼び出される。

時刻 OB の実行中に、次の間隔の開始イベントが オペレーティングシステムが OB80 を呼び出す OB80 が発生した。
プログラムされていない場合、CPU が、STOP モードに切り替わる。
OB80 がロードされると、まず、OB80 と時刻割り込み
OB が実行され、その後、要求された割り込みが実行されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
18

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.3 時刻割り込みオーガニゼーションブロック(OB10～OB17)

時刻割り込み OB のローカルデータ
下表は、時刻割り込み OB のテンポラリ(TEMP)変数の説明です。変数名は、OB10 の既定の名前です。
変数

タイプ

説明

OB10_EV_CLASS

BYTE

イベントクラスと識別子: B#16#11 =割り込みが有効

OB10_STRT_INFO

BYTE

B#16#11:OB10 の開始要求(B#16#12:OB11 の開始要求)::(B#16#18:OB17 の開始要求)

OB10_PRIORITY

BYTE

割り付け優先度クラス; 既定 2

OB10_OB_NUMBR

BYTE

OB 番号(10～17)

OB10_RESERVED_1

BYTE

予約済み

OB10_RESERVED_2

BYTE

予約済み

OB10_PERIOD_EXE

WORD

OB は、指定間隔で実行されます:
W#16#0000:一回だけW#16#0201:毎分
W#16#0401:毎時
W#16#1001:毎日
W#16#1201:毎週
W#16#1401:毎月
W#16#1801:毎年
W#16#2001: 月末

OB10_RESERVED_3

INT

予約済み

OB10_RESERVED_4

INT

予約済み

OB10_DATE_TIME

DATE_AND_TIME

OB が呼び出された日付と時刻

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

19

オーガニゼーションブロック
1.4 時間遅延割り込みオーガニゼーションブロック(OB20～OB23)

1.4

時間遅延割り込みオーガニゼーションブロック(OB20～OB23)

説明S7 には、指定された遅延後に実行される最大 4 つの OB(OB20～OB23)が備わっています。常時遅延
OB は、SFC32 (SRT_DINT)を呼び出すことにより起動されます。遅延時間は、SFC の入力パラメータです。
プログラムで SFC32(SRT_DINT)を呼び出す場合は、OB 番号、遅延時間およびユーザー固有の識別子を指定する必要があります。指定された遅延後、OB が起動します。また、まだ起動していない時間遅延割り込みの実行をキャンセルすることもできます。

時間遅延割り込み OB の動作について
遅延時間の終了後(OB 番号と一緒に SFC32 に転送されるミリ秒単位の値)、オペレーティングシス
テムは、対応する OB を起動します。
時間遅延割り込みを使用するには、次のタスクを実行する必要があります:•

SFC32(SRT_DINT)を呼び出す必要があります。

•

プログラムの一部として、時間遅延割り込み OB を CPU へダウンロードする

時間遅延 OB は、CPU が RUN モードにある場合のみ実行されます。ウォームまたはコールドリス
タートは、時間遅延 OB のあらゆる 開始イベントをクリアします。時間遅延割り込みが起動していない場合は、SFC33(CAN_DINT)を使用すると、その実行をキャンセルできます。
遅延時間の分解能は 1 ms です。遅延時間が終了しても、その遅延時間を直ちに再開することができます。SFC34(QRY_DINT)を使用すれば、遅延時間割り込みの状態を問い合わせることができます。
次のイベントのいずれかが発生すると、オペレーティングシステムにより非同期エラーOB が呼び出されます:•

オペレーティングシステムがロードされていない OB を開始しようとした上、その番号をSFC32 "SRT_DINT."を呼び出した時に指定している場合•

時間遅延 OB が完全に実行される前に時間遅延割り込みの次の開始イベントが発生した場合

SFC 39～42 を使用することにより、遅延割り込みを無効または遅延および再度有効にできます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
20

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.4 時間遅延割り込みオーガニゼーションブロック(OB20～OB23)

時間遅延割り込み OB のローカルデータ
下表は、時間遅延 OB のテンポラリ(TEMP)変数の説明です。変数名は、OB20 の既定の名前です。
変数

タイプ

説明

OB20_EV_CLASS

BYTE

イベントクラスと識別子:
B#16#11:割り込みが有効

OB20_STRT_INF

BYTE

B#16#21:OB20 の開始要求(B#16#22:OB21 の開始要求)(B#16#23:OB22 の開始要求)(B#16#24:OB23 の開始要求)

OB20_PRIORITY

BYTE

優先度クラスの割り付け: 既定値 3 (OB20)～6 (OB23)

OB20_OB_NUMBR

BYTE

OB 番号(20～23)

OB20_RESERVED_1

BYTE

予約済み

OB20_RESERVED_2

BYTE

予約済み

OB20_SIGN

WORD

ユーザーID: SFC32 (SRT_DINT)の呼び出しによる入力パラメ
ータ SIGN

OB20_DTIME

TIME

コンフィグレーションされた遅延時間(ミリ秒単位)

OB20_DATE_TIME

DATE_AND_TIME

OB が呼び出された日付と時刻

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

21

オーガニゼーションブロック
1.5 周期割り込みオーガニゼーションブロック (OB30～OB38)

1.5

周期割り込みオーガニゼーションブロック (OB30～OB38)

説明
S7 では、定期的にプログラムに割り込む周期割り込み OB(OB30～OB38)を最大 9 個使用できます。
下表には、周期割り込み OB の既定の間隔と優先度クラスが示されています。
OB 番号

既定の間隔

既定の優先度クラス

OB30

5秒

7

OB31

2秒

8

OB32

1秒

9

OB33

500 ms10OB34

200 ms11

OB35

100 ms

12

OB36

50 ms

13

OB37

20 ms

14

OB38

10 ms

15

周期割り込み OB の動作について
周期割り込み OB の等間隔開始時間は、間隔と位相オフセットにより決定されます。OB の開始時間、間隔、および位相オフセットの関係については、/234/を参照してください。

注記
各周期割り込み OB の実行時間は、その間隔より相当短くなることを認識する必要があります。
周期割り込み OB が完全に実行されていないのに間隔の終了により再実行状態になると、タイムエラーOB(OB80)が起動されます。エラーを発生させた周期割り込みは、あとで実行されます。

SFC 39～42 を使用することにより、周期割り込みを無効または遅延および再度有効にできます。
間隔、優先度クラスおよび位相オフセットのパラメータの範囲については、使用中の CPU の仕様書を参照してください。STEP 7 を使用すると、パラメータの設定値を変更できます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
22

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.5 周期割り込みオーガニゼーションブロック (OB30～OB38)

周期割り込み OB のローカルデータ
下表は、周期割り込み OB のテンポラリ(TEMP)変数の説明です。
変数

タイプ

説明

OB3x_EV_CLASS

BYTE

イベントクラスと識別子
B#16#11:割り込みが有効

OB3x_STRT_INF

BYTE

•

B#16#30: H システム内の周期割り込み OB に対する特殊な開始要求("リダンダント"システムス
テータスに変更するために特殊な処理が選択されている)•

B#16#31: OB30 の開始要求:••

B#16#36: OB35 の開始要求:••

B#16#39: OB38 の開始要求•

B#16#3A: 周期割り込みのクロックレートが 1 ミ
リ秒未満のときの周期割り込み OB(OB30～
OB38)の開始要求

OB3x_PRIORITY

BYTE

優先度クラスの割り付け: 既定値 7 (OB30)～15(OB38)

OB3x_OB_NUMBR

BYTE

OB 番号(30～38)

OB3x_RESERVED_1

BYTE

予約済み

OB3x_RESERVED_2

BYTE

予約済み

OB3x_PHS_OFFSET

INT

OB30～34 および 36～38 用:•

OB3x_STRT_INF=B#16#3A の場合:
位相オフセット(n s単位)

上記以外の場合: 位相差(ms 単位)
OB3x_PHASE_OFFSET

WORD

OB35 用•OB35_STRT_INF=B#16#3A の場合:
位相差(μs 単位)•

上記以外の場合: 位相差(ms 単位)

OB3x_RESERVED_3

INT

予約済み

OB3x_EXC_FREQ

INT•

OB35_STRT_INF=B#16#3A の場合:
サイクルタイム(μs 単位)•

他のすべての場合: クロック時間(ms 単位)

OB3x_DATE_TIME

DATE_AND_TIME

OB が呼び出された日付と時刻

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

23

オーガニゼーションブロック
1.6 ハードウェア割り込みオーガニゼーションブロック(OB40 から OB47)

1.6

ハードウェア割り込みオーガニゼーションブロック(OB40 から OB47)

説明
S7 には、それぞれ独自の OB を有する最大 8 つのハードウェア割り込みが備わっています。
STEP 7 を使用してパラメータを割り付けることにより、ハードウェア割り込みをトリガする各信号モジュールに対して次の情報を指定する必要があります:•

どの条件下でどのチャンネルがハードウェア割り込みをトリガするか。

•

個々のチャンネルグループに対して、どのハードウェア割り込み OB が割り付けられるのか(既定として、すべてのハードウェア割り込みは、OB40 により処理されます)。

CP と FM により、これらのパラメータをそれらのソフトウェアを使用して割り付けます。
STEP 7 を使用して、個々のハードウェア割り込み OB の優先度クラスを選択します。

ハードウェア割り込み OB の動作について
モジュールによりハードウェア割り込みがトリガされた後、オペレーティングシステムは、スロットおよび対応するハードウェア割り込み OB を識別します。この OB の優先度が現在アクティブな優先度クラスよりも高い場合は、その OB が起動されます。チャンネル専用の確認は、このハード
ウェア割り込み OB が実行された後に送信されます。
ハードウェア割り込みの認識および確認時間中、ハードウェア割り込みをトリガする別のイベント
が同じモジュール上で発生する場合、次の状態が発生します:•

以前にハードウェア割り込みをトリガしたチャンネルにイベントが発生した場合は、新しい割り込みが失われます。これは、デジタル入力モジュールのチャンネルの例に基づいて下図に説明されます。信号立ち上がりエッジがトリガイベントになります。ハードウェア割り込み OB
は、OB40 です。
These hardware interrupts are not detected
Process signal

OB40

•

Execution of OB40

同じモジュールの別のチャンネルでイベントが発生した場合、その時点でハードウェア割り込みをトリガできません。ただし、この割り込みは、失われずに、現在有効なハードウェア
割り込みの受信確認後にトリガされます。

ハードウェア割り込みがトリガされ、別のモジュールからのハードウェア割り込みにより、そのOB が現在有効になっている場合、この新規要求が記録され、OB が、フリーになった時点で処理されます。
SFC 39～42 を使用することにより、ハードウェア割り込みを無効または遅延および再度有効にできます。
STEP 7 だけでなく SFC 55～57 を使用しても、モジュールのハードウェア割り込みのパラメータを割り付けることができます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
24

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.6 ハードウェア割り込みオーガニゼーションブロック(OB40 から OB47)

ハードウェア割り込み OB のローカルデータ
下表は、ハードウェア割り込み OB のテンポラリ(TEMP)変数の説明です。変数名は、OB40 の既定の名前です。
変数タイプ

OB40_EV_CLASS

BYTE

説明
イベントクラスと識別子:
B#16#11:割り込みが有効

OB40_STRT_INF

BYTE

•

B#16#41:割り込みライン 1 を介する割り込み•

B#16#42:割り込みライン 2 を介する割り込み(S7-400 のみ)•

B#16#43:割り込みライン 3 を介する割り込み(S7-400 のみ)•

B#16#44:割り込みライン 4 を介する割り込み(S7-400 のみ)•

B#16#45: WinAC: PC を介した割り込みのトリガ

注: マルチコンピューティングモードでは、割り込み行 1～4
は、CPU1～4 に割り付けられます。
OB40_PRIORITY

BYTE

優先度クラスの割り付け: 既定値 16 (OB40)～23 (OB47)

OB40_OB_NUMBR

BYTE

OB 番号(40～47)

OB40_RESERVED_1 BYTE

予約済み

OB40_IO_FLAG

入力モジュール: B#16#54

BYTE

出力モジュール: B#16#55
OB40_MDL_ADDR

WORD

割り込みをトリガするモジュールの論理基本アドレス

OB40_POINT_ADDR

DWORD

•

デジタルモジュール使用時:
ハードウェア割り込みをトリガしたモジュール上の入力を含んだビットフィールドです。
OB40_POINT_ADDR のどのビットが、モジュールのどのチャンネルに割り付けられているかについては、関連するモジュールの説明を参照してください。

•

アナログモジュールの場合:
ビットフィールドには、どのチャンネルがどの制限を超過したかを示す情報が含まれています(この構造の詳細な説明については、関連するモジュールの説明を参照してくだ
さい)。

•

CP または IM 使用時:
モジュールの割り込みステータス(ユーザーには関係ありま
せん)。

OB40_DATE_TIME

DATE_AND_TIME OB が呼び出された日付と時刻

注記
DPV1 対応 CPU を使用している場合、SFB54 "RALRM"を使用すれば、割り込みに関して、OB の開始情報を超える情報を追加入手できます。これは、S7 互換モードで DP マスタを操作する場合にも適用できます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

25

オーガニゼーションブロック
1.7 ステータス割り込み OB(OB55)

1.7

ステータス割り込み OB(OB55)
注記ステータス割り込み OB (OB55)は、DPV1 および PROFINET 対応 CPU 以外では使用できません。

説明
DPV1 スレーブまたは IO デバイスのスロットを介してステータス割り込みがトリガされると、CPU
オペレーティングシステムは OB55 を呼び出します。これに該当するのは、DPV1 スレーブまたは
IO デバイスのコンポーネント(モジュールまたはラック)がその動作モードを変更した場合です。
たとえば、RUN モードから STOP モードに変更した場合が挙げられます。ステータス割り込みをトリガするイベントの詳細については、DPV1 スレーブまたは IO デバイスの製造元の文書を参照
してください。

ステータス割り込み OB のローカルデータ
以下の表で、ステータス割り込み OB のテンポラリ(TEMP)変数について説明します。選択した変数
名は、OB55 の既定の名前です。
変数

データタイプ

説明

OB55_EV_CLASS

BYTE

イベントクラスと識別子:
B#16#11 (予定されているイベント)

OB55_STRT_INF

BYTE

•
•

OB55_PRIORITY

BYTE

優先度クラスのコンフィグレーション、既定値 2

OB55_OB_NUMBR

BYTE

OB 番号(55)OB55_RESERVED_1

BYTE

予約済み

OB55_IO_FLAG

BYTE

入力モジュール: B#16#54
出力モジュール: B#16#55

OB55_MDL_ADDR

WORD

コンポーネント(モジュール)をトリガする割り込みの論理基本アドレス

OB55_LEN

BYTE

割り込みで使用されるデータブロック長さ

OB55_TYPE

BYTE

割り込みタイプステータス割り込みの ID

OB55_SLOTBYTE

コンポーネント(モジュール)をトリガする割り込みのスロット番号

OB55_SPEC

BYTE

指定子
• ビット 0～1: 割り込み指定子• ビット 2: Add_Ack• ビット 3～7: シーケンス番号

OB55_DATE_TIME

DATE_AND_TIME

OB が呼び出された日付と時刻

B#16#55: DP のステータス割り込み
B#16#58: PROFINET IO のステータス割り込み

注記
上記の表に記載された OB55_LEN、OB55_TYPE、OB55_SLOT、および OB55_SPEC の意味は、DP のステータス割り込みにのみ当てはまります。PROFINET IO にステータス割り込みが発生した
場合、次の表に示すようにローカル変数を整理する必要があります。
注記
フレームの割り込みについての完全な追加情報は、OB55 で SFB54 "RALRM"を呼び出すことで得られます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
26

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.7 ステータス割り込み OB(OB55)
開始イベントに応じて OB55 をプログラミングしたい場合は、次のようなローカル変数の編成をお勧めします。
変数

データタイプ

OB55_EV_CLASS

BYTE

OB55_STRT_INF

BYTE

OB55_PRIORITY

BYTE

OB55_OB_NUMBR

BYTE

OB55_RESERVED_1

BYTE_

OB55_IO_FLAG

BYTE

OB55_MDL_ADR

WORD

OB55_Z2

WORD

OB55_Z3

WORD

OB55_DATE_TIME

DATE_AND_TIME

開始イベントに応じて、変数 OB55_Z2 と OB55_Z3 は異なる情報を含みます。下記に詳しく説明
しています。

OB55_Z2 の意味
OB55_STRT_INF

OB55_Z2 の意味

B#16#55•

下位バイト: 割り込みタイプ"ステータス割り込み"の ID•

上位バイト: 割り込みで与えられるデータフィー
ルド長

B#16#58

割り込みタイプの ID:•

W#16#0005: ステータス割り込み

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

27

オーガニゼーションブロック
1.7 ステータス割り込み OB(OB55)

OB55_Z3 の意味
OB55_STRT_INF

OB55_Z3 の意味

B#16#55••
B#16#58

下位バイト: 指定子-

ビット 0～1: 割り込み指定子-

ビット 2: Add_Ack-

ビット 3～7: シーケンス番号

上位バイト: コンポーネントトリガ割り込みのス
ロット(モジュールまたはサブモジュール)

割り込み指定子:•

ビット 0～10: シーケンス番号(値の範囲: 0～
2047)

•

ビット 11: チャンネル診断

•

•

-

0: チャンネル診断情報なし-

1: チャンネル診断情報あり

ビット 12: 製造元指定の診断ステータス:-

0: 使用できる製造元指定のステータス情報なし-

1: 製造元指定のステータス情報、使用可能

ビット 13: サブモジュールの診断ステータス:-

0: 使用可能なステータス情報なし。すべてのエラーが解消済み-

1: チャンネル診断および/またはステータス
情報の少なくとも 1 項目が使用可能•

ビット 14: 予約済み•

ビット 15: アプリケーション関係の診断状態:-

0: この AR 内のコンフィグレーション済み
モジュールで診断情報がレポートされているものはありません。

-

1: この AR 内のコンフィグレーション済み
モジュールの少なくとも 1 つで診断情報がレポートされています。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
28

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.8 更新割り込み OB(OB56)

1.8

更新割り込み OB(OB56)
注記
更新割り込み OB (OB56)は、DPV1 および PROFINET 対応 CPU 以外では使用できません。

説明
DPV1 スレーブまたは IO デバイスのスロットを介して更新割り込みがトリガされると、CPU オペ
レーティングシステムは OB56 を呼び出します。これに該当するのは、(ローカルアクセスまたは
リモートアクセスを使用して)DPV1 スレーブまたは IO デバイスのスロットに応じてパラメータを変更した場合です。更新割り込みをトリガするイベントの詳細については、DPV1 スレーブまたは
IO デバイスの製造元の文書を参照してください。

更新割り込み OB のローカルデータ
以下の表で、更新割り込み OB のテンポラリ(TEMP)変数について説明します。選択した変数名は、
OB56 の既定の名前です。
変数

データタイプ

説明

OB56_EV_CLASS

BYTE

イベントクラスと識別子:
B#16#11 (予定されているイベント)

OB56_STRT_INF

BYTE

•
•

OB56_PRIORITY

BYTE

優先度クラスのコンフィグレーション、既定値 2

B#16#56:DP の更新割り込み
B#16#59: PROFINET IO の更新割り込み

OB56_OB_NUMBR

BYTE

OB 番号(56)OB56_RESERVED_1

BYTE

予約済み

OB56_IO_FLAG

BYTE

入力モジュール: B#16#54
出力モジュール: B#16#55

OB56_MDL_ADDR

WORD

コンポーネント(モジュール)をトリガする割り込みの論理基本アドレス

OB56_LEN

BYTE

割り込みで使用されるデータブロック長さ

OB56_TYPE

BYTE

割り込みタイプ更新割り込みの ID

OB56_SLOTBYTE

コンポーネント(モジュール)をトリガする割り込みのスロット番号

OB56_SPEC

BYTE

指定子
• ビット 0～1: 割り込み指定子• ビット 2: Add_Ack• ビット 3～7: シーケンス番号

OB56_DATE_TIME

DATE_AND_TIME

OB が呼び出された日付と時刻

注記
上記の表に記載された OB56_LEN、OB56_TYPE、OB56_SLOT、および OB56_SPEC の意味は、DP の更新割り込みにのみ当てはまります。PROFINET IO に更新割り込みが発生した場合、次の表に示すようにローカル変数を整理する必要があります。
注記
フレームの割り込みについての完全な追加情報は、OB56 で SFB54 "RALRM"を呼び出すことで得られます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

29

オーガニゼーションブロック
1.8 更新割り込み OB(OB56)
開始イベントに応じて OB56 をプログラミングしたい場合は、次のようなローカル変数の編成をお勧めします。
変数

データタイプ

OB56_EV_CLASS

BYTE

OB56_STRT_INF

BYTE

OB56_PRIORITY

BYTE

OB56_OB_NUMBR

BYTE

OB56_RESERVED_1

BYTE_

OB56_IO_FLAG

BYTE

OB56_MDL_ADR

WORD

OB56_Z2

WORD

OB56_Z3

WORD

OB56_DATE_TIME

DATE_AND_TIME

開始イベントに応じて、変数 OB56_Z2 と OB56_Z3 は異なる情報を含みます。下記に詳しく説明
しています。

OB56_Z2 の意味
OB56_STRT_INF

OB56_Z2 の意味

B#16#56•

下位バイト: 割り込みタイプ"更新割り込み"の ID•

上位バイト: 割り込みで与えられるデータフィー
ルド長

B#16#59

割り込みタイプの ID:•

W#16#0006: 更新割り込み

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/230

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.8 更新割り込み OB(OB56)

OB56_Z3 の意味
OB56_STRT_INF

OB56_Z3 の意味

B#16#56••
B#16#59

下位バイト: 指定子-

ビット 0～1: 割り込み指定子-

ビット 2: Add_Ack-

ビット 3～7: シーケンス番号

上位バイト: コンポーネントトリガ割り込みのス
ロット(モジュールまたはサブモジュール)

割り込み指定子:••••

ビット 0～10: シーケンス番号(値の範囲: 0～2047)
ビット 11: チャンネル診断-

0: チャンネル診断情報なし-

1: チャンネル診断情報あり

ビット 12: 製造元指定の診断ステータス:-

0: 使用できる製造元指定のステータス情報なし-

1: 製造元指定のステータス情報、使用可能

ビット 13: サブモジュールの診断ステータス:-

0: 使用可能なステータス情報なし。すべてのエラーが解消済み-

1: チャンネル診断および/またはステータス
情報の少なくとも 1 項目が使用可能•

ビット 14: 予約済み•

ビット 15: アプリケーション関係の診断状態:-

0: この AR 内のコンフィグレーション済み
モジュールで診断情報がレポートされているものはありません。

-

1: この AR 内のコンフィグレーション済み
モジュールの少なくとも 1 つで診断情報がレポートされています。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

31

オーガニゼーションブロック
1.9 製造元仕様割り込み OB (OB57)

1.9

製造元仕様割り込み OB (OB57)
注記
製造元固有の割り込みの OB (OB 57)は、DPV1 および PROFINET 対応 CPU 以外では使用できません。

説明
DPV1 スレーブまたは IO デバイスのスロットを介して製造元仕様割り込みがトリガされると、CPU
オペレーティングシステムは OB57 を呼び出します。

製造元仕様割り込み OB のローカルデータ
以下の表で、製造元仕様割り込み OB のテンポラリ(TEMP)変数について説明します。選択した変数
名は、OB57 の既定の名前です。
変数

データタイプ

説明

OB57_EV_CLASS

BYTE

イベントクラスと識別子:
B#16#11 (予定されているイベント)

OB57_STRT_INF

BYTE

•
•
•

OB57_PRIORITY

BYTE

優先度クラスのコンフィグレーション、既定値 2

OB57_OB_NUMBR

BYTE

OB 番号(57)OB57_RESERVED_1

BYTE

予約済み

OB57_IO_FLAG

BYTE

入力モジュール: B#16#54
出力モジュール: B#16#55

OB57_MDL_ADDR

WORD

コンポーネント(モジュール)をトリガする割り込みの論理基本アドレス

OB57_LEN

BYTE

割り込みで使用されるデータブロック長さ

OB57_TYPE

BYTE

割り込みタイプ製造元仕様割り込みの ID

OB57_SLOTBYTE

コンポーネント(モジュール)をトリガする割り込みのスロット番号

OB57_SPEC

BYTE

指定子
• ビット 0～1: 割り込み指定子• ビット 2: Add_Ack• ビット 3～7: シーケンス番号

OB57_DATE_TIME

DATE_AND_TIME

OB が呼び出された日付と時刻

B#16#57: DP の製造元割り込み
B#16#5A: PN IO の製造元割り込み
B#16#5B: IO: プロファイル特有の割り込み

注記
上記の表に記載された OB57_LEN、OB57_TYPE、OB57_SLOT、および OB57_SPEC の意味は、
DP の製造元固有割り込みにのみ当てはまります。PROFINET IO に製造元固有割り込みが発生した
場合、次の表に示すようにローカル変数を整理する必要があります。

注記
フレームの割り込みについての完全な追加情報は、OB57 で SFB54 "RALRM"を呼び出すことで得られます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
32

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.9 製造元仕様割り込み OB (OB57)
開始イベントに応じて OB57 をプログラミングしたい場合は、次のようなローカル変数の編成をお勧めします。
変数

データタイプ

OB57_EV_CLASS

BYTE

OB57_STRT_INF

BYTE

OB57_PRIORITY

BYTE

OB57_OB_NUMBR

BYTE

OB57_RESERVED_1

BYTE_

OB57_IO_FLAG

BYTE

OB57_MDL_ADR

WORD

OB57_Z2

WORD

OB57_Z3

WORD

OB57_DATE_TIME

DATE_AND_TIME

開始イベントに応じて、変数 OB57_Z2 と OB57_Z3 は異なる情報を含みます。下記に詳しく説明
しています。

OB57_Z2 の意味
OB57_STRT_INF

OB57_Z2 の意味

B#16#57•

下位バイト: 割り込みタイプ"製造元仕様割り込み"の ID•

上位バイト: 割り込みで与えられるデータフィー
ルド長

B#16#5A

割り込みタイプの ID:•

W#16#0020～007F: 製造元仕様割り込み

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

33

オーガニゼーションブロック
1.9 製造元仕様割り込み OB (OB57)

OB57_Z3 の意味
OB57_STRT_INF

OB57_Z3 の意味

B#16#57••
B#16#5A

下位バイト: 指定子-

ビット 0～1: 割り込み指定子-

ビット 2: Add_Ack-

ビット 3～7: シーケンス番号

上位バイト: コンポーネントトリガ割り込みのス
ロット(モジュールまたはサブモジュール)

割り込み指定子:•

ビット 0～10: シーケンス番号(値の範囲: 0～
2047)

•

ビット 11: チャンネル診断

•

•

-

0: チャンネル診断情報なし-

1: チャンネル診断情報あり

ビット 12: 製造元指定の診断ステータス:-

0: 使用できる製造元指定のステータス情報なし-

1: 製造元指定のステータス情報、使用可能

ビット 13: サブモジュールの診断ステータス:-

0: 使用可能なステータス情報なし。すべてのエラーが解消済み-

1: チャンネル診断および/またはステータス
情報の少なくとも 1 項目が使用可能•

ビット 14: 予約済み•

ビット 15: アプリケーション関係の診断状態:-

0: この AR 内のコンフィグレーション済み
モジュールで診断情報がレポートされているものはありません。

-

1: この AR 内のコンフィグレーション済み
モジュールの少なくとも 1 つで診断情報がレポートされています。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
34

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.10 マルチコンピューティング割り込みオーガニゼーションブロック(OB60)

1.10

マルチコンピューティング割り込みオーガニゼーションブロック(OB60)

説明
マルチコンピューティング割り込みを使用すると、マルチコンピューティング中、CPU の反応を
1 つのイベントに同期させることができます。シグナルモジュールによりトリガされるハードウェア
割り込みと比較すると、CPU だけがマルチコンピューティング割り込みを出力できます。

マルチコンピューティング割り込み OB の動作について
SFC35 "MP_ALM"を呼び出すと、マルチコンピューティング割り込みがトリガされます。この結果、マルチコンピューティング中、バスセグメントの CPU すべてで同期 OB60 が開始します。ただし、SFC39 "DIS_IRT"を使用して OB60 を無効にしている場合、または SFC41 "DIS_AIRT"を使用してOB60 を遅延させている場合は除きます。OB60 を CPU にロードしていない場合は、CPU が割り込み前に最後の優先度クラスに戻り、そこでプログラムの実行を継続します。シングルプロセッサ
オペレーションにおいて分割ラックを使用する場合、OB60 は、SFC35 "MP_ALM."を呼び出したCPU でのみ起動されます。
プログラムが SFC35 "MP_ALM"を呼び出すと、ジョブ ID を供給します。この ID は、すべての CPUへ送られます。これは、特定のイベントに反応できるようにするものです。各 CPU に異なる方法
で OB60 を組み込んだ場合は、OB の実行時間が異なる可能性があります。この場合、CPU は、異なる時間で割り込み優先度クラスに戻ります。次のマルチコンピューティング割り込みが CPU により出力されているが、別の CPU が依然として前のマルチコンピューティング割り込みの OB60 を実行中である場合、OB60 は、要求中の CPU またはバスセグメントに属するいかなる他の CPU の
いずれにおいても起動されません。これは、2 つの CPU を例にとる下図で説明されます。その結果は、呼び出される SFC35 の関数値により示されます。

CPU 1:"CALL SFC35"
OB60 execution

OB60 execution
Cycle

Cycle

"CALL SFC35"
CPU 2:"CALL SFC35"

OB60 execution
Cycle

OB60 execution
Cycle

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

35

オーガニゼーションブロック
1.10 マルチコンピューティング割り込みオーガニゼーションブロック(OB60)

マルチコンピューティング割り込み OB のローカルデータ
下表は、マルチコンピューティング割り込み OB のテンポラリ(TEMP)変数の説明です。変数名は、OB60 の既定の名前です。
変数

データタイプ

説明

OB60_EV_CLASS

BYTE

イベントクラスと ID
B#16#11:割り込みが有効

OB60_STRT_INF

BYTE

B#16#61: 専用の CPU によりトリガされるマルチコンピュー
ティング割り込み
B#16#62: 別の CPUによりトリガされるマルチコンピューティ
ング割り込みOB60_PRIORITY

BYTE

優先度クラスの割り付け、既定 25

OB60_OB_NUMBR

BYTE

OB 番号: 60

OB60_RESERVED_1 BYTE

予約済み

OB60_RESERVED_2 BYTE

予約済み

OB60_JOB

INT

ジョブ ID: SFC35 "MP_ALM"の入力変数 JOB

OB60_RESERVED_3 INT

予約済み

OB60_RESERVED_4 INT

予約済み

OB60_DATE_TIME

OB が呼び出された日付と時刻

DATE_AND_TIME

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
36

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.11 同期サイクル割り込み OB(OB61～OB64)

1.11

同期サイクル割り込み OB(OB61～OB64)

説明
DP サイクルまたは PN 送信クロックを使用すれば、同期サイクル割り込みにより、同期サイクルでプログラムを起動できます。OB61 は、同期サイクル割り込み TSAL1 のインターフェース OB として使用されます。OB61 に設定できる優先度は、0(OB の選択解除)、および 2～26 です。
•

注意 L または T コマンドを使ってダイレクトアクセス(L PIB、T PQB など)をする際は、SFC 14"DPRD_DAT"および 15 "DPWR_DAT"を使用する場合と同様に、プロセスイメージパーティ
ションが OB6x(同期サイクル割り込み)への接続で割り付けられている I/O エリアへのアクセスは避けてください。

同期サイクル割り込み OB のローカルデータ
以下の表で、同期サイクル割り込み OB のテンポラリ(TEMP)変数について説明します。変数名は、OB61 の既定の名前です。
変数

データタイプ

説明

OB61_EV_CLASS

BYTE

イベントクラスと ID:B#16#11:割り込みが有効

OB61_STRT_INF

BYTE

B#16#64:OB 61 の開始要求
B#16#67: OB 64 の開始要求

OB61_PRIORITY

BYTE

優先度クラスの割り付け、既定 25

OB61_OB_NUMBR

BYTE

OB 番号: 61～64

OB61_RESERVED_1

BYTE

予約済み

OB61_RESERVED_2

BYTE

予約済み

OB61_GC_VIOLBOOL

PROFIBUS DP での GC 違反

OB61_FIRST

BOOL

起動ステータスまたは停止ステータス後に最初に使用

OB61_MISSED_EXEC

BYTE

OB61 を最後に実行してから後に発生した OB61 の
起動失敗数

OB61_DP_ID

BYTE

アイソクロナスモードでの DP マスタシステムのDP マスタシステム ID(1～32)、
またはアイソクロナスモードでの PNIO システムのPROFINET IO システム ID(100～115)

OB61_RESERVED_3

BYTE

予約済み

OB61_RESERVED_4

WORD

予約済み

OB61_DATE_TIME

DATE_AND_TIME

OB が呼び出された日付と時刻

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

37

オーガニゼーションブロック
1.12 テクノロジ同期割り込み OB(OB65)

1.12

テクノロジ同期割り込み OB(OB65)
注記
テクノロジ同期割り込み OB(OB65)は"Technology CPU"にのみ有効です。

説明
割り込み同期のテクノロジには、プログラムの開始と同時にテクノロジブロックを更新するオプ
ションがあります。ブロックが更新されてから、割り込み OB 同期のテクノロジの開始されます。
割り込み OB 同期のテクノロジの優先度クラスは 25 個の設定が固定されており、変更はできません。

注記
割り込み OB 同期のテクノロジが開始される時点では、テクノロジファンクションを有効にする
ために更新されたインスタンスデータは存在しません。

割り込み OB 同期のテクノロジのローカルデータ
以下の表で、テクノロジ同期割り込み OB(OB65)のテンポラリ(TEMP)変数について説明します。
変数名は、OB65 の既定の名前です。

変数

データタイプ

説明

OB65_EV_CLASS

BYTE

イベントクラスと ID:B#16#11:
着信イベント、イベントクラス 1

OB65_STRT_INF

BYTE

B#16#6A:OB65 の開始要求

OB65_PRIORITY

BYTE

優先度クラス: 25(固定設定)

OB65_OB_NUMBR

BYTE

OB 番号(65)OB65_RESERVED_1

BYTE

予約済み

OB65_RESERVED_2

BYTE

予約済み

OB65_RESERVED_3

BOOL

予約済み

OB65_FIRST

BOOL

起動後、最初の OB65 の使用

OB65_MISSED_EXEC

BYTE

OB65 を最後に実行してから後に発生した OB65 の
起動失敗数

OB65_RESERVED_4

BYTE

予約済み

OB65_RESERVED_5

BYTE

予約済み

OB65_RESERVED_6

WORD

予約済み

OB65_DATE_TIME

DATE_AND_TIME

OB が呼び出された日付と時刻

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
38

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.13 I/O リダンタントエラーOB (OB 70)

1.13

I/O リダンタントエラーOB (OB 70)
注記
H CPU によってのみ I/O リダンダントエラーOB(OB70)を使用できます。

説明
PROFINET IO システム / DP マスタシステムで最低でも 1 つの IO デバイス/IP スレーブにリダンダ
ント損失またはリダンダントの復帰が発生した場合、H CPU のオペレーティングシステムは OB 70を呼び出します。
OB 70 の開始イベントの例:•

IO デバイス / DP スレーブのインターフェースのエラー•

最低でも 1 つの DP スレーブでのリダンダント損失につながる、アクティブな DB マスタでの
バス障害.
注記: DP マスタシステムに障害が発生するか復帰し、すべての DP スレーブの冗長化ステータ
スがプロセス内で同じままになっている場合、OB 86 が呼び出されます。

開始イベントが発生し、OB70 が組み込まれていない場合、CPU は、STOP モードに替わりません。
OB70 がロードされ、H システムがリダンダントモードにある場合、OB70 は、両 CPU で実行されます。H システムは、リダンダントモードのままです。

I/O リダンダント OB のローカルデータ
下表には、I/O リダンダントエラーOB のテンポラリ(TEMP)変数が示されています。選択変数名は、OB70 の既定の名前です。
変数

タイプ

説明

OB70_EV_CLASS

BYTE

イベントクラスと ID

OB70_FLT_ID

BYTE

•

B#16#72: イベントの終了•

B#16#73: イベントの開始

エラーコード(以下の値が返されます:
B#16#A2, B#16#A3, B#16#A5

OB70_PRIORITY

BYTE

優先度クラス。STEP 7 (ハードウェア
コンフィグレーション)を使用すれば割り付けることができる。

OB70_OB_NUMBR

BYTE

OB 番号(70)OB70_RESERVED_1

WORD

予約済み

OB70_INFO_1

WORD

エラーコードに応じて相違する

OB70_INFO_2

WORD

エラーコードに応じて相違する

OB70_INFO_3

WORD

エラーコードに応じて相違する

OB70_DATE_TIME

DATE_AND_TIME

OB が呼び出された日付と時刻

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

39

オーガニゼーションブロック
1.13 I/O リダンタントエラーOB (OB 70)

下表には、OB70 を開始するイベントが示されています。
OB70_EV_CLASS

OB70_FLT_ID

OB70 の開始イベント

B#16#73

B#16#A2

少なくとも 1 つの DP スレーブで冗長性が欠落した DP マスタ/DP
マスタシステムのエラー、または少なくとも 1 つの IO デバイスで冗長性が欠落した IO コントローラ/PROFINET IO システムのエラー

B#16#73/B#16#72

B#16#A3

リダンダントのロス/DP スレーブのリダンダントの復帰

B#16#73/B#16#72

B#16#A5

リダンダントのロス/IO デバイスのリダンダントの復帰

エラーコードに応じて相違する変数には、以下の意味があります:
エラーコード•ビット

意味

B#16#A2(DP マスタシステムのエラーの場合)-

OB70_INFO_1:

対象 DP マスタの論理基本アドレス-

OB70_INFO_2:

0～7:

予約済み

-

OB70_INFO_3:

8～15

予約済み
対象となっている DP マスタの DP マスタシステム ID•

B#16#A2-

OB70_INFO_1:

0～10:(PROFINET IO システムのエラーの場合)-

OB70_INFO_2:

11～14:

影響を受ける IO コントローラの論理ベースアドレス-

OB70_INFO_3:

15:

予約済み
予約済み
PROFINET IO システム ID (オフセット 10 進数 100)
1•

B#16#A3-

OB70_INFO_1:-

OB70_INFO_2:-

OB70_INFO_3

DP マスタの論理基本アドレス
0～14:
15:
0～7:
8～15:

対象 DP スレーブ:
S7 スレーブが使用される場合には論理基本アドレス、DP
標準スレーブが使用される場合には診断アドレス
I/O 識別
対象 DP スレーブ:
DP ステーションの番号
DP マスタシステム ID

B#16#A5
OB70_INFO_1:

0～14:

IO コントローラの論理ベースアドレス

OB70_INFO_2:

15:

影響を受ける IO デバイス
論理ベースアドレス

OB70_INFO_3

0～10:

I/O 識別子

11～14:

影響を受ける IO デバイス

15:

ステーション番号
PROFINET IO システム ID (オフセット 10 進数 100)

注記
DPV1 対応 CPU を使用している場合、SFB54 "RALRM"を使用すれば、割り込みに関して、OB の開始情報を超える情報を追加入手できます。これは、S7 互換モードで DP マスタを操作する場合にも適用できます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
40

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.14 CPU リダンダントエラーOB(OB72)

1.14

CPU リダンダントエラーOB(OB72)
注記
CPU リダンダントエラーOB(OB72)は、H CPU を使用する場合にのみ存在します。

説明
次のいずれかのイベントが発生すると、H CPU のオペレーティングシステムにより OB72 が呼び出されます:•CPU リダンダントの損失•

予備-マスタ切り替え

•

同期エラー

•

SYNC モジュールのエラー•

更新が中止されました•

比較エラー(RAM、PIQ など)

OB72 は、適当な開始イベントに続いて RUN または STARTUP モードにあるすべての CPU により実行されます。

CPU リダンダントエラーOB のローカルデータ
下表には、CPU リダンダントエラーOB のテンポラリ(TEMP)変数が示されています。OB72 の既定の名前は、変数名です。
変数

タイプ

説明

OB72_EV_CLASS

BYTE

イベントクラスと ID:
B#16#78: 発信イベント
B#16#73、B#16#75、B#16#79: 着信イベント

OB72_FLT_ID

BYTE

エラーコード(可能な値: B#16#01, B#16#02, B#16#03,
B#16#20, B#16#21, B#16#22, B#16#23, B#16#31,
B#16#33, B#16#34, B#16#35, B#16#40, B#16#41,
B#16#42, B#16#43, B#16#44, B#16#50, B#16#51,
B#16#52, B#16#53, B#16#54, B#16#55, B#16#56,
B#16#C1, B#16#C2)

OB72_PRIORITY

BYTE

優先度クラス。STEP 7 (ハードウェアコンフィグレーション)を使用すれば割り付けることができる。

OB72_OB_NUMBR

BYTE

OB 番号(72)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

41

オーガニゼーションブロック
1.14 CPU リダンダントエラーOB(OB72)
変数

タイプ

説明

OB72_RESERVED_1

WORD

エラーコード B#16#03 の場合に限ります。
••
OB72_INFO_1

WORD

上位バイト: OB72_INFO_2 と OB72_INFO_3 の内容のID-

0: OB72_INFO-2 と OB72_INFO_3 は重要でありません。

-

B#16#C4: (OB72_INFO_3=W#16#0001 の場合には)スタンバイ-マスタ切り替えにより、(OB72_INFO_3=W#16#0002 の場合には)スタン
バイ-マスタ切り替えをせずに、トラブルシュー
ティングモード後にリダンダントモードへの遷移が実行されます。OB72_INFO_2 は予約されています。

-

B#16#CD: OB72_INFO_2 と OB72_INFO_3 には、15 より大きい優先度クラスの実ロック時間が指定されています。

下位バイト: 予約済み

エラーコード B#16#C2 の場合に限ります。
•-

上位バイト: 超過したモニタ時間の ID-

1: サイクルタイムの延長-

2: I/O 不動作時間-

4: 通信遅延

下位バイト: 現在の更新試行

OB72_INFO_2

WORD

エラーコード B#16#03 とOB72_RESERVED_1=B#16#CD の場合に限ります。15より大きい優先度クラスの実ロック時間(単位: ms)の上位ワード。

OB72_INFO_3

WORD

エラーコード B#16#03 の場合に限ります。
••
OB82_DATE_TIME

DATE_AND_TIME

OB72_RESERVED_1=B#16#C4:-

W#16#0001: スタンバイ-マスタの切り換えにより、トラブルシューティングモード後にリダ
ンダント動作への遷移が実行されます。

-

W#16#0002: スタンバイ-マスタの切り換えをせずに、トラブルシューティングモード後のリダ
ンダント動作への遷移が実行されます。

OB72_RESERVED_1=B#16#CD: 15 より大きい優先度クラスの実ロック時間(単位: ms)の上位ワード

OB が呼び出された日付と時刻

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
42

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.14 CPU リダンダントエラーOB(OB72)

下表には、OB72 を開始するイベントが示されています。
OB72_EV_CLASS

OB72_FLT_ID

OB72 の開始イベント

B#16#73

B#16#01

CPU のエラーのため、リダンダント(2 つの内の 1 つ)が失われました。

B#16#73

B#16#02

ユーザーによりトリガされるリザーブの STOP によるリダンダント(2 の 1)の損失

B#16#73

B#16#03

リダンダントモードに切り替えられる H システム(2 の 1)

B#16#73

B#16#20

RAM 比較のエラー

B#16#73b#16#21

プロセスイメージ出力値を比較するエラー

B#16#73

B#16#22

メモリビット、タイマまたはカウンタを比較するエラー

B#16#73

B#16#23

異なるオペレーティングシステムデータが認識されました。

B#16#73

B#16#31

マスタに障害が発生したため、スタンバイ-マスタ切り替えが実行されました

B#16#73

B#16#33

RUN モード時にコンフィグレーションが行われたため、スタンバイ-マスタ切り替えが実行されました

B#16#73

B#16#34

同期モジュールで接続問題が発生したため、スタンバイ-マスタ切り替えが実行されました。

B#16#73

B#16#35

SFC90 "H_CTRL"により、スタンバイ-マスタ切り替えがトリガされましたB#16#73

B#16#40

経過待機時間によるユーザープログラムの同期エラー

B#16#73

B#16#41

各種同期ポイントで待機しているため、ユーザープログラムで 同期
エラーが発生しました

B#16#73

B#16#42

各種同期ポイントで待機しているため、オペレーティングシステム
で 同期エラーが発生しました

B#16#73

B#16#43

経過待機時間によるオペレーティングシステムの同期エラー

B#16#73

B#16#44

データが間違っているため、オペレーティングシステムで同期エラーが発生しました。

B#16#79

B#16#50

SYNC モジュールなし

B#16#79

b#16#51

電源投入していない SYNC モジュールにおける変更

B#16#79/B#16#78

B#16#52

SYNC モジュールの取り外し/挿入

B#16#79

B#16#53

リセットのない SYNC モジュールにおける変更

B#16#79

B#16#54

SYNC モジュールにラック番号が 2 回割り付けられました

B#16#79/B#16#78

B#16#55

SYNC モジュールエラー/排除

B#16#79

B#16#56

SYNC モジュールに設定される不正なラック番号

B#16#73

B#16#C1

更新が中止されました

B#16#73

B#16#C2n 番目の試行中にモニタ時間を超えたため、更新試行を中止します。
(1 <= n <= モニタ時間超過による、更新中止後の最大可能更新試行
回数)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

43

オーガニゼーションブロック
1.15 通信リダンダントエラーOB (OB73)

1.15

通信リダンダントエラーOB (OB73)
注記
通信リダンダントエラーOB (OB73)は、CPU 417-4H のファームウェアバージョン V2.0.x でしか使用できません。

説明
フォルトトレラント S7 コネクションでリダンダントのロスが初めて発生すると、H CPU のオペ
レーティングシステムが OB73 を呼び出します。ここで、フォルトトレラント S7 コネクションが存在するのは、S7 通信の場合だけです。詳細については、「S7-400 H Programmable Controller,
Fault-Tolerant Systems (S7-400 H プログラマブルコントローラ、フォルトトレラントシステム)」を参照してください。追加のフォルトトレラント S7 コネクションでリダンダントのロスが発生
しても、これ以上 OB73 が起動することはありません。
フォルトトレラントだった S7 コネクションすべてのリダンダントを回復して初めて、別の OB73 が開始します。
開始イベントが発生したときに、OB73 がプログラムされていない場合、CPU は STOP モードに切り替わません。

通信リダンダントエラーOB のローカルデータ
以下の表で、通信リダンダントエラーOB のテンポラリ(TEMP)変数について説明します。OB73 の既定の名前は、変数名として使用されています。
変数

タイプ

説明

OB73_EV_CLASS

BYTE

イベントクラスと ID

OB73_FLT_ID

BYTE

エラーコード(可能な値: B#16#E0)

OB73_PRIORITY

BYTE

優先度クラスの割り付け、既定 25

OB73_OB_NUMBR

BYTE

OB 番号(73)OB73_RESERVED_1

WORD

予約済み

OB73_INFO_1

WORD

•

OB73_INFO_2

WORD(ユーザーには無関係)

OB73_INFO_3

WORD(ユーザーには無関係)

OB73_DATE_TIME

DATE_AND_TIME

OB が呼び出された日付と時刻

B#16#73、B#16#72(ユーザーには無関係)

以下の表に、OB73 を開始するイベントを示します。
OB73_FLT_ID

OB73 の開始イベント

B#16#E0

通信で冗長性が失われました/問題は解消されましたS7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
44

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.16 タイムエラーオーガニゼーションブロック(OB80)

1.16

タイムエラーオーガニゼーションブロック(OB80)

説明
OB の実行中にエラーが発生すると、S7-300 CPU のオペレーティングシステムにより OB80 が呼び出されます。このようなエラーには、サイクルタイムの超過、OB 実行時の受信確認エラー、時間を順方向に移動した結果として OB の開始時間がスキップされる場合、時刻同期の障害または回復、
CiR 後の RUN モードの再開などがあります。たとえば、前の呼び出し後、依然として同じ OB が実行されている場合に周期割り込み OB の開始イベントが発生すると、オペレーティングシステム
により OB80 が呼び出されます。
OB80 を組み込んでいない場合は、CPU は、STOP モードに切り替わります。
SFC39～42 を使用して、タイムエラーOB を無効または遅延および再度有効にできます。
注記
スキャン時間の超過により同一スキャンサイクル中に OB80 が 2 回呼び出されると、CPU は、
STOP
モードに切り替わります。これは、プログラム内の適当なポイントで SFC43 "RE_TRIGR"を呼び出す
ことにより阻止できます。

"レポートシステムエラー"の使用に関する注意"レポートシステムエラー"では、その実行中に発生した割り込みの処理が遅延します。
条件"レポートシステムエラー"のランタイム > サイクルタイムの 50%が満たされている場合、この効果は複合されます(ここでは、"レポートシステムエラー"のランタイムとは、サイクルタイム内の"レポートシステムエラー" のすべての処理時間の合計を指しています)。これによりタイムエラー
OB が呼び出され、CPU が停止する可能性があります(タイムエラーOB がロードされていない場合)。
これを防止するために、以下の対策を講じることができます。
•

クロック割り込み OB (OB61 bis OB64)を使用している場合、時間単位当たりの呼び出し回数を確実に前よりも少なくする必要があります。これを行うには、クロック割り込み OB ごとに対応するパラメータ"アプリケーションサイクルファクタ"を大きくします(: CPU プロパティの
HW Config: [クロックサイクル割り込み]タブ > [IO システム番号]ドロップダウンリスト > [詳細]ボタン > アプリケーションサイクルの[ファクタ]ドロップダウンリスト)。

•

比率を上げます(サイクルタイム - "レポートシステムエラー"のランタイム)/("レポートシステム
エラー"のランタイム)。
これには 2 つの方法があります。
-"レポートシステムエラー"を定周期割り込み OB (OB30～OB38)で呼び出した場合は、タイムサイクルを増やします。

-

OB1 で、"レポートシステムエラー"とは無関係にプログラムセクションのラインタイムを増やします。これは、たとえば SFC47 "WAIT"を使用して行うことができます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

45

オーガニゼーションブロック
1.16 タイムエラーオーガニゼーションブロック(OB80)

タイムエラーOB のローカルデータ
下表は、
タイムエラーOB のテンポラリ(TEMP)変数の説明です。
変数名は、OB80 の既定の名前です。
変数

タイプ

説明

OB80_EV_CLASS

BYTE

イベントクラスと識別子: B#16#35、B#16#38 (エラーコード
B#16#D5 の場合のみ)、B#16#39 (エラーコード B#16#D5 の場合のみ)

OB80_FLT_ID

BYTE

エラーコード: (可能な値:
B#16#01、B#16#02、B#16#05、B#16#06、B#16#07、B#16#08、B#16#09、B#16#0A、B#16#0B、B#16#D5

OB80_PRIORITY

BYTE

優先度クラス: OB 80 は、RUN モードでは優先度クラス 26で動作し、OB 要求バッファのオーバーフロー時には優先度
クラス 28 で動作します。

OB80_OB_NUMBR

BYTE

OB 番号(80)OB80_RESERVED_1

BYTE

予約済み

OB80_RESERVED_2

BYTE

予約済み

OB80_ERROR_INFO

WORD

エラー情報: エラーコードに応じて違ってくる。

OB80_ERR_EV_CLASS BYTE

エラーを発生した開始イベントのイベントクラス

OB80_ERR_EV_NUM

BYTE

エラー発生した開始イベントのイベント番号

OB80_OB_PRIORITY

BYTE

エラー情報: エラーコードに応じて違ってくる。

OB80_OB_NUM

BYTE

エラー情報: エラーコードに応じて違ってくる。

OB80_DATE_TIME

DATE_AND_TIME

OB が呼び出された日付と時刻

エラーコードに応じて相違する変数には、次の意味があります:
エラーコード
•

•

ビット

意味

B#16#01

サイクルタイム超過-

OB80_ERROR_INFO:

最後のスキャンサイクルのランタイム(ミリ秒)-OB80_ERR_EV_CLASS:

割り込みをトリガしたイベントクラス-

OB80_ERR_EV_NUM:

割り込みをトリガしたイベントの番号-

OB80_OB_PRIORITY:

エラー発生時に実行されていた OB の優先度クラス-

OB80_OB_NUM

エラー発生時に実行されていた OB の番号

B#16#02

呼び出された OB はまだ実行中である。

-

呼び出されたブロックの各テンポラリ変数は、

OB80_ERROR_INFO:•

OB80_ERR_EV_CLASS と•

OB80_ERR_EV_NUM により決定される-

OB80_ERR_EV_CLASS:•

割り込みをトリガしたイベントクラス-

OB80_ERR_EV_NUM:•

割り込みをトリガしたイベントの番号-

OB80_OB_PRIORITY•

エラーの発生原因となった OB の優先度クラス(たとえば、OB30 の"7"/優先度 7 を起動する必要があったが起動できなかった場合が挙げられる。

-

OB80_OB_NUM:•

エラーの発生原因となった OB の番号(たとえば、
OB30 の"30"起動する必要があったが起動できな
かった場合が挙げられる。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
46

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.16 タイムエラーオーガニゼーションブロック(OB80)
エラーコード••ビット

B#16#05 およびクロックを進めることによる時刻割り込み終了

B#16#06-

OB80_ERROR_INFO:

意味HOLD 後、RUN に戻る時点で時刻割り込み終了

ビット 0 設定
ビット 7 設定

時刻割り込み 0 の開始時間は過ぎている

ビット 8～15:

使用されない時刻割り込み 7 の開始時間は過ぎている-

OB80_ERR_EV_CLASS:

使用されない-OB80_ERR_EV_NUM:

使用されない-OB80_OB_PRIORITY:

使用されない-OB80_OB_NUM:

使用されない•B#16#07
パラメータの意味について
は、エラーコード B#16#02 を参照する。

現在の優先度クラスの OB 要求バッファのオーバー
フロー(優先度クラスの各 OB 開始要求は、対応する OB 要
求に入力される。OB が終了すると、このエントリは削除される。対応する OB 要求バッファに最大許容エントリ数以上の優先度に対する OB 開始要求がある
場合、OB80 は、エラーコード B#16#07 により呼び出されます)。

•

B#16#08
パラメータの意味について
は、エラーコード B#16#02 を参照する。

同期サイクル割り込み時間エラー•

B#16#09
パラメータについては、エラー
コード B#16#02 を参照する。

割り込み負荷が高いため、割り込みが失われた。

b#16#0A•

OB80_ERROR_INFO:

b#16#0B

CiR 後に RUN を再開する。
CiR の同期時間(ミリ秒単位)
割り込み同期のテクノロジ•

OB80_ERR_EV_NUM:

割り込みをトリガしたイベントの番号: W#16#116A•

OB80_OB_PRIORITY:

エラー発生時に処理されていた OB の優先度クラス•

OB80_OB_NUM

エラー発生時に処理されていた OB の番号: 65

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

47

オーガニゼーションブロック
1.16 タイムエラーオーガニゼーションブロック(OB80)
エラーコードB#16#D5•

OB80_ERROR_INFO:

ビット

意味
時刻同期フレームの障害または回復
インターフェース ID (OB80_OB_NUM の値 1、2、および 3 の場合のみ)
0: K バス(ラック 0)
1: X1, DP(ラック 0)
5: X5 - PROFINET(ラック 0)
8: X8 - PROFINET(ラック 0)
10: K バス(ラック 1)
11: X1 - DP(ラック 1)
15: X5 - PROFINET(ラック 1)
18: X8 - PROFINET(ラック 1)•

OB80_OB_NUM:

時刻同期のエラーの原因
1: 時刻同期が高度に同期されていない
2: 外部時刻同期が失敗した
3: 制御偏差が、±10 ms の許容誤差範囲外である
4: タイムエラーPG/ES
5: タイムエラーSFC

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/248

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.17 電源エラーオーガニゼーションブロック (OB81)

1.17

電源エラーオーガニゼーションブロック (OB81)

説明
電源(S7-400 の場合に限る)またはバックアップバッテリ(イベントの開始時とイベントの終了時)
関連のエラーまたは障害によりトリガされるイベントが発生すると必ず、CPU のオペレーティング
システムが OB81 を呼び出します。
S7-400 では、BATT.INDIC スイッチによりバッテリテストファンクションが実行されている場合に限り、バッテリ障害が発生すると、OB81 が呼び出されます。
OB81 がプログラムされていない場合、CPU は STOP モードに切り替わりません。
SFC39～42 を使用して、電源エラーOB を無効または遅延および再度有効にできます。

電源エラーOB のローカルデータ
下表は、電源エラーOB のテンポラリ(TEMP)変数の説明です。変数名は、OB81 の既定の名前です。
変数

タイプ

OB81_EV_CLASS

BYTE

説明
イベントクラスと識別子:
B#16#38: イベントの終了
B#16#39: イベントの開始

OB81_FLT_ID

BYTE

エラーコード: (可能な値)
B#16#21, B#16#22, B#16#23, B#16#25, B#16#26, B#16#27,
B#16#31, B#16#32, B#16#33)

OB81_PRIORITY

BYTE

優先度クラス。STEP 7(ハードウェアコンフィグレーション)を使用すれば割り付けることができる。

OB81_OB_NUMBR

BYTE

OB 番号(81)OB81_RESERVED_1

BYTE

予約済み

OB81_RESERVED_2

BYTE

予約済み

OB81_RACK_CPU

WORD

たとえば、RUN モードの値: 2～26•

ビット 0～7: B#16#00•

ビット 8～15:-

標準 CPU 使用時: B#16#00-

H-CPU 使用時: ビット 8～10: ラック番号、ビット 11:
0=予備 CPU, 1=マスタ CPU, ビット 12～15: 1111

OB81_RESERVED_3

BYTE

エラーコード B#16#31、B#16#32 および B#16#33 にのみ関連

OB81_RESERVED_4

BYTE

エラーコード B#16#31、B#16#32 および B#16#33 にのみ関連

OB81_RESERVED_5

BYTE

エラーコード B#16#31、B#16#32 および B#16#33 にのみ関連

OB81_RESERVED_6

BYTE

エラーコード B#16#31、B#16#32 および B#16#33 にのみ関連

OB81_DATE_TIME

DATE_AND_TIME

OB が呼び出された日付と時刻

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

49

オーガニゼーションブロック
1.17 電源エラーオーガニゼーションブロック (OB81)

変数 OB81_RESERVED_i, 3 ≤ i ≤ 6 は、バッテリバックアップ(エラーコード B#16#31)、バック
アップ電圧(エラーコード B#16#32)、または 24 V 電源(エラーコード B#16#33)が不良になっている
か復帰している増設ラックを示します。以下の表に、変数 OB81_RESERVED_i, 3 ≤ i ≤ 6 で、どの増設ラックにどのビットが割り付けられているかを示します。
OB81_RESERVED_6

OB81_RESERVED_5

OB81_RESERVED_4

OB81_RESERVED_3

ビット 0

予約済み

増設ラック 8増設ラック 16

予約済み

ビット 1

増設ラック 1増設ラック 9増設ラック 17

予約済み

ビット 2

増設ラック 2増設ラック 10増設ラック 18

予約済み

ビット 3

増設ラック 3増設ラック 11

増設ラック 19

予約済み

ビット 4

増設ラック 4増設ラック 12増設ラック 20

予約済み

ビット 5

増設ラック 5増設ラック 13

増設ラック 21

予約済み

ビット 6

増設ラック 6増設ラック 14

予約済み

予約済み

ビット 7

増設ラック 7増設ラック 15

予約済み

予約済み

変数 OB81_RESERVED_i のビットには、(対象となる増設ラックに対して)次の意味があります:
イベントが発生すると、最低 1 つのバッテリまたはバックアップ電圧あるいは 24 V 電源が故障している増設ラックがマークされます(対応するビットが設定される)。既に最低 1 つのバッテリまたはバックアップ電圧または 24 V 電源が故障している増設ラックは表示されません。
最低 1 つの増設ラックでイベントが排除され、バックアップが回復されると、これが送信されます(対応するビットが設定される)。
次の表は、OB81 を開始したイベントを示しています:
OB81_EV_CLASS

OB81_FLT_ID 意味

B#16#39/B#16#38

B#16#21:

中央ラックの最低 1 つのバックアップバッテリ消耗/問題排除(BATTF)
注記: このイベントが発生するのは、(リダンダントバックアップバッ
テリがある場合)2 台のバッテリの一方が故障した場合です。2 台目のバッテリも故障しても、このイベントが再度発生することはありません。

B#16#39/B#16#38

B#16#22:

中央ラックのバックアップ電圧障害/問題排除(BAF)

B#16#39/B#16#38

B#16#23:

中央ラックの 24 V 電源障害/問題排除

B#16#39/B#16#38

B#16#25:

最低 1 つのリダンダント中央ラックの最低 1 つのバックアップバッテ
リ消耗/問題排除(BATTF)

B#16#39/B#16#38

B#16#26:

最低 1 つのリダンダント中央ラックのバックアップ電圧障害/問題
排除(BAF)

B#16#39/B#16#38

B#16#27:

最低 1 つのリダンダント中央ラックの 24 V 電源障害

B#16#39/B#16#38

B#16#31:

最低 1 つの増設ラックの最低 1 つのバックアップバッテリ消耗/問題
排除(BATTF)

B#16#39/B#16#38

B#16#32:

最低 1 つの増設ラックのバックアップ電圧障害/問題排除(BAF)

B#16#39/B#16#38

B#16#33:

最低 1 つの増設ラックの 24 V 電源障害/問題排除S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
50

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.18 診断割り込みオーガニゼーションブロック (OB82)

1.18

診断割り込みオーガニゼーションブロック (OB82)

説明
診断割り込みを有効にしておいた診断機能付きのモジュールで、その診断ステータスの変化が検出されると、CPU に診断割り込み要求が送信されます。
•

障害がある、またはコンポーネントが保守を必要としている、あるいはその両方です(イベント入力状態)。

•

障害はなく、かつ他に保守を必要としているコンポーネントはありません(イベント終了状態)。

オペレーティングシステムにより OB82 が呼び出されます。
OB82 のローカル変数は、論理基本アドレスだけでなく、不具合のあるモジュールの 4 バイトの診断データも含んでいます(下表を参照)。
OB82 を組み込んでいない場合は、CPU は、STOP モードに切り替わります。
SFC 39～42 を使用して、診断割り込み OB を無効または遅延および再度有効にできます。

注記
PROFINET IO コントローラについては、通信割り込みによって診断割り込みを呼び出すようにするかどうかを、設定時に指定できます。考慮される割り込みは、PROFINET インターフェースの診断イベントです。
これらのイベントは、OB 82 呼び出しが発生しないように事前に設定されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

51

オーガニゼーションブロック
1.18 診断割り込みオーガニゼーションブロック (OB82)

診断割り込み OB のローカルデータ
下表は、診断割り込み OB のテンポラリ(TEMP)変数の説明です。変数名は、OB82 の既定の名前です。
変数

タイプ

説明

OB82_EV_CLASS

BYTE

イベントクラスと識別子:

OB82_EV_CLASS

BYTE

•

B#16#38: 発信イベント(モジュールエラーフリー すべてのエラーが除去済み)•

B#16#39: 着信イベント(現在もモジュールエラーがそのまま存在するまたはモジュールエラーが残っている - 保留中のエラーの数が変わっている)

イベントクラスと識別子:•

B#16#38: イベントの終了•

B#16#39: イベントの開始

OB82_FLT_ID

BYTE

エラーコード(B#16#42)

OB82_PRIORITY

BYTE

•

OB82_OB_NUMBR

BYTE

OB 番号(82)OB82_RESERVED_1

BYTE

予約済み

OB82_IO_FLAG

BYTE

優先度クラス。STEP 7(ハードウェアコンフィグ
レーション)を使用すれば割り付けることができる。

•

入力モジュール:

B#16#54•

出力モジュール:

B#16#55

OB82_MDL_ADDR

WORD

障害が発生したモジュールの論理基本アドレス

OB82_MDL_DEFECT

BOOL

モジュールの不具合

OB82_INT_FAULT

BOOL

内部エラー

OB82_EXT_FAULT

BOOL

外部障害

OB82_PNT_INFO

BOOL

チャンネル障害

OB82_EXT_VOLTAGE

BOOL

外部電圧障害OB82_FLD_CONNCTR

BOOL

フロントパネルコネクタの接続不良

OB82_NO_CONFIG

BOOL

モジュールのコンフィグレーションなし

OB82_CONFIG_ERR

BOOL

モジュールの不正なパラメータ

OB82_MDL_TYPE

BYTE

•

ビット 0～3: モジュールクラス•

ビット 4: チャンネル情報あり•

ビット 5: ユーザー情報あり•

ビット 6: 置換からの診断割り込み•

ビット 7: 保守要求

OB82_SUB_MDL_ERR

BOOL

サブモジュールなし、またはエラー

OB82_COMM_FAULT

BOOL

通信異常

OB82_MDL_STOP

BOOL

動作モード(0: RUN, 1: STOP)

OB82_WTCH_DOG_FLT

BOOL

ウオッチドッグタイマ応答

OB82_INT_PS_FLT

BOOL

内部電源障害OB82_PRIM_BATT_FLT

BOOL

バッテリ消耗

OB82_BCKUP_BATT_FLT

BOOL

バックアップ全体の障害

OB82_RESERVED_2

BOOL

要求される保守

OB82_RACK_FLT

BOOL

増設ラック異常OB82_PROC_FLT

BOOL

プロセッサの障害

OB82_EPROM_FLT

BOOL

EPROM 障害

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
52

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.18 診断割り込みオーガニゼーションブロック (OB82)
変数

タイプ

説明

OB82_RAM_FLTBOOL

RAM 障害OB82_ADU_FLT

BOOL

ADC/DAC エラー

OB82_FUSE_FLT

BOOL

ヒューズが切れたOB82_HW_INTR_FLT

BOOL

ハードウェア割り込みが失われた

OB82_RESERVED_3

BOOL

予約済み

OB82_DATE_TIME

DATE_AND_TIME

OB が呼び出された日付と時刻

注記
DPV1 対応 CPU を使用している場合、SFB54 "RALRM"を使用すれば、割り込みに関して、OB の開始情報を超える情報を追加入手できます。これは、S7 互換モードで DP マスタを操作する場合にも適用できます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

53

オーガニゼーションブロック
1.19 挿入/削除モジュール割り込みオーガニゼーションブロック(OB83)

1.19

挿入/削除モジュール割り込みオーガニゼーションブロック(OB83)

説明CPU オペレーティングシステムは、次のような状況で OB83 を呼び出します。
•

コンフィグレーション済みモジュールを挿入/削除した後•

RUN モード時のコンフィグレーションの一部として STEP 7 でモジュールパラメータを変更し(CiR 手順)、RUN モード中に CPU に変更内容をダウンロードした後プログラム済みの OB83 がない場合は、CPU が、STOP モードに切り替わります。
SFC 39～42 を使用して、挿入/削除割り込み OB を無効/遅延/有効にできます。

モジュールの挿入および削除
RUN、STOP および STARTUP モード中に構成モジュールが削除または挿入するたびに、挿入/削除
割り込みが発生します(これらのモードにおける電源モジュール、CPU、アダプタモジュールおよび
IM の削除は不可)。この割り込みにより、診断バッファおよび関連 CPU のシステムステータスリストにエントリが行われます。また、CPU が RUN モードにある場合、OB の挿入/削除も起動されます。
この OB が組み込まれていない場合、CPU は、STOP モードに切り替わります。
この後、システムは挿入または削除を検出するために、秒間隔で S7-400 モジュールをポーリング
します。CPU が S7-400 モジュールの削除および挿入を検出できるようにするには、削除から挿入までの間に少なくとも 2 秒の間隔が必要です。他のモジュールの場合は、この最小時間が多少長くなります。
RUN モードで構成モジュールを削除すると、OB83 が起動されます。1 秒間隔でモジュールの存在がモニタされるため、モジュールに直接アクセスするか、またはプロセスイメージが更新されると、アクセスエラーを検出する可能性があります。
RUN モードで構成スロットにモジュールを挿入すると、オペレーティングシステムは、挿入されたモジュールのタイプが記録されたコンフィグレーションに対応するかどうかチェックします。モ
ジュールタイプが一致すると、OB83 が起動され、パラメータが割り付けられます。

S7-300 に関する特記事項•

S7-300 を使って中央 IO デバイスを挿入したり、削除することはできません。

•

リモート IO デバイスに関連しては、CPU 318 は S7-400-CPU のように動作します。その他
すべての S7-300 CPU で挿入/削除割り込みがあるのは、31x PN/DP CPU に対してのみであり、PROFINET IO コンポーネントに対してのみです。

•

IM151/CPU(ET 200S 搭載の CPU)では、中央 IO デバイスに対してのみ挿入/削除割り込みがあります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
54

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.19 挿入/削除モジュール割り込みオーガニゼーションブロック(OB83)

モジュールの再コンフィグレーション
ランタイム(CiR)中にシステムコンフィグレーションを変更する際には、既存のモジュールにパラメータを再度付けることができます。このようなパラメータの再割り付けを実行するには、必要なパラメータデータレコードをモジュールに転送します。
この手順を次に示します。
1. STEP 7 でモジュールに新しいパラメータを割り付け、RUN モードでこのコンフィグレーション
を CPU にダウンロードすると、OB83 が開始されます(開始イベント W#16#3367)。関連する
OB 開始情報は、論理基本アドレス(OB83_MDL_ADDR)とモジュールタイプ(OB83_MDL_TYPE)です。モジュール I/O データは、現時点では間違っている場合があります(つまり、このモジュールにデータレコードを送信しているビジー状態の SFC が存在しない場合があります)。
2. OB83 が実行されると、モジュールパラメータが再度割り付けられます。
3. パラメータが割り付けられると、OB83 が再開されます(このパラメータ割り付けが成功した
場合は開始イベント W#16#3267、
失敗した場合は W#16#3968)。
モジュールの I/O データ応答と、
挿入割り込み後のモジュールの応答が同一になります(つまり、これらは現在間違っている場合があります)。ここで、SFC を再度呼び出して、データレコードをモジュールに送信することができます。

サブモジュールの再コンフィグレーション
ランタイム(CiR)中にシステムコンフィグレーションを変更する際には、既存のサブモジュールにパラメータを再度付けることができます。このようなパラメータの再割り付けを実行するには、必要なパラメータデータレコードをサブモジュールに転送します。
この手順を次に示します。
1. STEP 7 でサブモジュールに新しいパラメータを割り付け、RUN モードでこのコンフィグレー
ションを CPU にダウンロードすると、OB83 が開始されます(開始イベント W#16#335A)。
関連する OB 開始情報は、論理基本アドレス(OB83_MDL_ADDR)とモジュールタイプ(OB83_MDL_TYPE)です。
再コンフィグレーションするサブモジュールが CombinedObjectContainer グループの一部である場合は、COC グループ代理(この場合、グループのインターフェース)の論理基本アドレスとモジュールタイプが、OB 83 の開始情報に入力されます。
注: スロットの PDev サブモジュール(インターフェース、ポート)が CombinedObjectContainer
グループ(COC グループ)内にマージされます。この場合、インターフェースサブモジュールが
COC グループの代理です。サブモジュール I/O データは、現時点では間違っている場合があります(つまり、このサブモジュールにデータレコードを送信しているビジー状態の SFC が存在しない場合があります)。
2. OB83 が実行されると、サブモジュールパラメータが再度割り付けられます。

3. パラメータが割り付けられると、OB83 が再開されます(このパラメータ割り付けが成功した

場合は開始イベント W#16#325A 失敗した場合は W#16#395B。サブモジュールの I/O データ
応答と、挿入割り込み後のモジュールの応答が同一になります(つまり、これらは現在間違っている場合があります)。ここで、SFC を再度呼び出して、データレコードをサブモジュールに送信することができます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

55

オーガニゼーションブロック
1.19 挿入/削除モジュール割り込みオーガニゼーションブロック(OB83)

挿入/取り外し OB のローカルデータ
下表は、挿入/削除モジュール割り込み OB のテンポラリ(TEMP)変数の説明です。変数名は、OB83の既定の名前です。
変数

タイプ

OB83_EV_CLASS

BYTE

説明
イベントクラスと識別子:•

B#16#32: モジュールまたはサブモジュールパラメータの再割り付け終了•

B#16#33: モジュールまたはサブモジュールパラメータの再割り付け開始•

B#16#38:モジュールが挿入されている•

B#16#39: モジュールが取り外されているか応答していな
い、またはパラメータ割り付けがエラーで終了

OB83_FLT_ID

BYTE

エラーコード: (可能な値 B#16#51, B#16#54, B#16#55,
B#16#56, B#16#57, B#16#58, B#16#5A, B#16#5B, B#16#61,
B#16#63, B#16#64, B#16#65, B#16#66, B#16#67, B#16#68)

OB83_PRIORITY

BYTE

•

OB83_OB_NUMBR

BYTE

OB 番号(83)

優先度クラス。STEP 7 (ハードウェアコンフィグレーション)を使用すれば割り付けることができる。

OB83_RESERVED_1 BYTE

モジュールまたはサブモジュール/インターフェースモジュールの識別

OB83_MDL_TD

範囲:

BYTE

•
OB83_MDL_ADDR

OB83_RACK_NUM

WORD

WORD

B#16#54:周辺入力(PI)•B#16#55:周辺出力(PQ)•

中央またはリモート PROFIBUS DP: 対象となるモジュールの論理ベースアドレス 混成モジュールの場合、モジュール内で使用される論理アドレスは最小となります。混合ブロックの I および O のアドレスが同じ場合、イベント識別子を受け取るアドレスが論理ベースアドレスとなります。

•

リモート PROFINET IO: モジュール/サブモジュールの論
理ベースアドレス•OB83_RESERVED_1 =B#16#A0 の場合: サブモジュール/インターフェースサブモジュールの番号(下位バイト)•

OB83_RESERVED_1 = B#16#C4 の場合:-

中央: ラック番号-

リモート PROFIBUS DP: DP ステーションの番号(下位バイト)および DP マスタシステム ID(上位バイト)-

リモート PROFINET IO: 物理アドレス: 識別子ビット(ビット 15、1 = PROFINET IO)、IO システム ID(ビット 11～14)およびデバイス番号(ビット 0～10)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
56

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.19 挿入/削除モジュール割り込みオーガニゼーションブロック(OB83)
変数

タイプ

説明

OB83_MDL_TYPE

WORD

•

•

OB83_DATE_TIME

DATE_AND_TIME

中央またはリモート PROFIBUS DP:
関連するモジュールのモジュールタイプ(X: ユーザーには無関係):-

W#16#09CA: ET200SP F-PM-E 電源モジュール-

W#16#09E0: ET200SP F-DQ モジュール-

W#16#X5XX: アナログモジュール-

W#16#X6XX: ゲートウェイ-

W#16#X8XX: ファンクションモジュール-

W#16#XCXX: CP-

W#16#XFXX: デジタルモジュール-

W#16#8340: 入力モジュールの置換タイプ ID-

W#16#9340: 出力モジュールの置換タイプ ID-

W#16#A340: 混成モジュール(I/O)用の代替タイプ ID-

W#16#F340: 空モジュールまたはユニークなものとして識別できないモジュール(たとえば、アドレスがパックされているモジュール)用の代替タイプ ID-

ここに記載されていないモジュールタイプは、関連
モジュールのマニュアルに記載されています。

リモート PROFINET IO:-

W#16#8101: 挿入されたモジュールのモジュールタ
イプが、引き抜かれたモジュールと同じモジュール
タイプです

-

W#16#8102: 挿入されたモジュールのモジュールタ
イプが、引き抜かれたモジュールと同じモジュールタイプではありません

OB が呼び出された日付と時刻

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

57

オーガニゼーションブロック
1.19 挿入/削除モジュール割り込みオーガニゼーションブロック(OB83)次の表は、OB83 を開始したイベントを示しています:
OB83_EV_CLASS

OB83_FLT_ID

意味

B#16#39b#16#51

削除された PROFINET IO モジュール

B#16#39

B#16#54

PROFINET IO サブモジュールは取り外されました

B#16#38

B#16#54

挿入され、コンフィグレーションされたサブモジュールと一致する
PROFINET IO

B#16#38

B#16#55

挿入され、コンフィグレーションされたサブモジュールと一致しな
い PROFINET IO

B#16#38

B#16#56

挿入され、モジュールパラメータにエラーのある PROFINET IO
サブモジュール

B#16#38

B#16#57

PROFINET IO モジュール/サブモジュールが挿入されましたが、問題が存在するか、または保守が必要です

B#16#38

B#16#58

PROFINET IO サブモジュールアクセスエラーが訂正されました

B#16#33

B#16#5A

サブモジュールの再コンフィグレーションの開始

B#16#32

B#16#5A

サブモジュールの再コンフィグレーションの終了

B#16#39

B#16#5B

サブモジュールの再コンフィグレーションがエラーで終了

B#16#39

B#16#61

削除された、または応答しないモジュール
OB83_MDL_TYPE: 実際のモジュールタイプ

B#16#38

B#16#61

モジュールが挿入されている モジュールタイプ OK
OB83_MDL_TYPE: 実際のモジュールタイプ

B#16#38

B#16#63

挿入されたが、モジュールタイプが間違っているモジュール
OB83_MDL_TYPE: 実際のモジュールタイプ

B#16#38

B#16#64

挿入されたが問題のある(モジュール ID が読み取れない)モジュール
OB83_MDL_TYPE: コンフィグレーションされたモジュールタイプ

B#16#38

B#16#65

挿入されたが、モジュールパラメータの割り付けにエラーがあるモジュール
OB83_MDL_TYPE: 実際のモジュールタイプ

B#16#39

B#16#66

応答がなく、負荷電圧エラーが起こっているモジュール

B#16#38

B#16#66

モジュールが再度応答し、負荷電圧エラーが修正されます。

B#16#33

B#16#67

モジュールの再コンフィグレーション開始

B#16#32

B#16#67

モジュールの再コンフィグレーション終了

B#16#39

B#16#68

エラーによるモジュールの再コンフィグレーション終了

注記
DPV1 対応、あるいは PROFINET 対応 CPU を使用している場合、SFB54 "RALRM"を使用すれば、割り込みに関して、OB の開始情報を超える情報を追加入手できます。これは、S7 互換モードで
DP マスタを操作する場合にも適用できます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
58

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.20 CPU ハードウェア故障オーガニゼーションブロック(OB84)

1.20

CPU ハードウェア故障オーガニゼーションブロック(OB84)

説明
次の場合に、CPU の OS は OB84 を呼び出します:•

メモリエラーが検知され、修正された後•バージョン V4.5 以下の H CPU のコンフィグレーション: 2 つの CPU 間の冗長化リンクのパフォーマンスが下がっている場合
注記: バージョン V6.0 以降の H CPU のコンフィグレーション時に、CPU 間の冗長化結合のパフォーマンスが低下した場合、診断割り込み OB (OB 82)が呼び出されます。

•

S7-400H の場合: 2 つの CPU 間の余分なリンクの性能低下が生じた時•

WinAC RTX の場合: オペレーティングシステムのエラー(「青い画面」など)

プログラム済みの OB84 がない場合は、CPU は、STOP モードに切り替わりません。
SFC 39 から 42 を使用して CPU のハードウェアエラーOB を無効または遅延させ、その後再度有効にすることができます。

CPU ハードウェア故障 OB のローカルデータ
下表は、CPU ハードウェア故障のテンポラリ(TEMP)変数の説明です。変数名は、OB84 の既定の
名前です。
変数

タイプ

説明

OB84_EV_CLASS

BYTE

イベントクラスと識別子:•

B#16#38: イベントの終了•

B#16#35, B#16#39: 着信イベント

OB84_FLT_ID

BYTE

エラーコード(B#16#82、B#16#83、B#16#85、B#16#86、B#16#87、B#16#88、B#16#92)

OB84_PRIORITY

BYTE

優先度クラス。STEP 7 (ハードウェアコンフィグレーション)を使用すれば割り付けることができる。

OB84_OB_NUMBR

BYTE

OB 番号(84)OB84_RESERVED_1

BYTE

予約済み

OB84_RESERVED_2

BYTE

予約済み

OB84_RESERVED_3

WORD

予約済み

OB84_RESERVED_4

DWORD

予約済み

OB84_DATE_TIME

DATE_AND_TIME

OB が呼び出された日付と時刻

OB84_FLT_ID = B#16#88 の場合、影響を受けた CPU を次の機会に交換してください。影響を受けた
CPU は、以下に示すように、OB84_RESERVED_3 のビット 8 および 9 によって識別できます。
•

ビット 8=1: ラック 0 のエラー•

ビット 9=1: ラック 1 のエラー

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

59

オーガニゼーションブロック
1.20 CPU ハードウェア故障オーガニゼーションブロック(OB84)

OB84_FLT_ID = B#16#92 の場合、適宜、影響を受けた CPU を交換してください。この場合、
OB84_RESERVED_4 変数は値 DW#16#000xFCAC を持ちます。影響を受けた CPU は、
OB84_RESERVED_4 のビット 16～19 によって識別できます。
•

ビット 16=1: ラック 0 のモジュール 1 のエラー•

ビット 17=1: ラック 0 のモジュール 2 のエラー•

ビット 18=1: ラック 1 のモジュール 1 のエラー•

ビット 19=1: ラック 1 のモジュール 2 のエラー

次の表は、OB84 を開始したイベントを示しています:
OB84_EV_CLASS

OB84_FLT_ID

OB84 の開始イベント

B#16#35

B#16#82

オペレーティングシステム中のメモリエラー検知および修正

B#16#35

B#16#83

検知および修正されたメモリエラーの蓄積

B#16#35

B#16#85

PC オペレーティングシステムのエラー

B#16#35

B#16#86

2 つの CPU 間の冗長化結合のパフォーマンスの低下(バージョン
V4.5 以下の H-CPU のコンフィグレーションの場合のみ)

B#16#35

B#16#87

マルチビットエラーが検出され、修正されました

B#16#35

B#16#92

CPU の外部コンポーネントの障害が検出されました。

B#16#35

B#16#88

内蔵保持型ロードメモリに制限が検出されました

B#16#35

B#16#92

CPU の外部のコンポーネントによって障害が検出されましたS7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/260

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.21 優先度クラスエラーオーガニゼーションブロック(OB85)

1.21

優先度クラスエラーオーガニゼーションブロック(OB85)

説明
次のいずれかのイベントが発生すると、CPU のオペレーティングシステムにより OB85 が呼び出されます。
•

ロードされていない OB の開始イベント(OB80、OB81、OB82、OB83、OB86 を除く)。

•

オペレーティングシステムがモジュールにアクセスする場合のエラー•

コンフィグレーションのせいで OB85 がサポートされていない場合、システムによるプロセス
イメージの更新中に発生した I/O アクセスエラー

注記
OB85 が組み込まれていない場合、これらのイベントのいずれかが検出されると、CPU は、STOP
モードに切り替わります。

SFC 39～42 を使用して、優先度クラスエラーOB を無効または遅延および再度有効にできます。

優先度クラスエラーOB のローカルデータ
下表は、優先度クラスエラーOB のテンポラリ(TEMP)変数の説明です。変数名は、OB85 の既定の
名前です。
変数

タイプ

説明

OB85_EV_CLASS

BYTE

イベントクラスと識別子: B#16#35
B#16#38 (エラーコード B#16#B3 と B#16#B4 の場合に限る)
B#16#39 (エラーコード B#16#B1、B#16#B2、B#16#B3、および B#16#B4 の場合に限る)

OB85_FLT_ID

BYTE

エラーコード(possible values: B#16#A1, B#16#A2,
B#16#A3, B#16#A4, B#16#B1, B#16#B2, B#16#B3,
B#16#B4))

OB85_PRIORITY

BYTE

•

OB85_OB_NUMBR

BYTE

OB 番号(85)OB85_RESERVED_1

BYTE

予約済み

OB85_RESERVED_2

BYTE

予約済み

OB85_RESERVED_3

INT

予約済み

OB85_ERR_EV_CLASS

BYTE

エラーを発生したイベントクラス

OB85_ERR_EV_NUM

BYTE

エラーを発生したイベント番号

OB85_OB_PRIOR

BYTE

エラー発生時に処理されていた OB の優先度クラス(特定のエラーコードのみ。詳細については以下を参照)

OB85_OB_NUM

BYTE

エラー発生時に処理されていた OB の番号(特定のエラーコー
ドのみ。詳細については以下を参照)

OB85_DATE_TIME

DATE_AND_TIME

OB が呼び出された日付と時刻

優先度クラス。STEP 7(ハードウェアコンフィグレーション)を使用すれば割り付けることができる。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

61

オーガニゼーションブロック
1.21 優先度クラスエラーオーガニゼーションブロック(OB85)
エラーコードに依存する OB85 をプログラミングしたい場合は、次のようなローカル変数の編成をお勧めします:変数

タイプ

OB85_EV_CLASS

BYTE

OB85_FLT_ID

BYTE

OB85_PRIORITY

BYTE

OB85_OB_NUMBR

BYTE

OB85_DKZ23

BYTE

OB85_RESERVED_2

BYTE

OB85_Z1

WORD

OB85_Z23

DWORD

OB85_DATE_TIME

DATE_AND_TIME

次の表は、OB85 を開始したイベントと、エラーコードに関連する変数の占有状況を示しています。
OB85_EV_CLASS OB85_FLT_ID 意味
B#16#35

B#16#35

B#16#A1

B#16#A2

STEP 7 により生成されるコンフィグレーションの結果として、プログ
ラムまたはオペレーティングシステムは、CPU にロードされない OBの開始イベントを生成します。
•

OB85_Z1: OB85_Z23 により特定される、呼び出された OB の各
ローカル変数。

•

OB85_Z23:-

上位ワード: OB を呼び出したイベントのクラスおよび番号-

下位ワード、上位バイト: エラー時に有効なプログラムレベル
および OB
下位ワード、下位バイト: 有効な OB

STEP 7 により生成されるコンフィグレーションの結果として、プログ
ラムまたはオペレーティングシステムは、CPU にロードされない OBの開始イベントを生成します。
OB85_FLT_ID=B#16#A1 の場合は、OB85_Z1 および OB85_Z23

B#16#35

B#16#A3

オペレーティングシステムがモジュールにアクセスする場合のエラー••

OB85_Z1: オペレーティングシステムのエラーID-

上位バイト: 1=統合機能、2=IEC-タイマ-

下位バイト: 0=エラー修正なし、1=ロードされていないブロッ
ク、2=範囲長エラー、3=書き込み保護エラー

OB85_Z23:-

上位ワード: ブロック番号-

下位ワード: エラーを引き起こした MC7 コマンドの相対アドレス。ブロックタイプは OB85 DKZ23(B#16#88: OB、
B#16#8C: FC、B#16#8E: FB、B#16#8A: DB)から取得されなければなりません。

B#16#35

B#16#A4

PROFInet インターフェース DB がアドレス指定できません

B#16#34

B#16#A4

PROFInet インターフェース DB のアドレス指定が回復しました

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
62

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.21 優先度クラスエラーオーガニゼーションブロック(OB85)
OB85_EV_CLASS OB85_FLT_ID 意味
B#16#39

B#16#B1

入力のプロセスイメージの更新時に I/O アクセスエラーが発生した。
•
OB85_DKZ23: I/O アクセスエラーが生じたプロセスイメージ転送のタイプの ID
B#16#10: バイトアクセス
B#16#20: ワードアクセス
B#16#30: DWORD アクセスB#16#56 または B#16#57: コンフィグレーションした一貫性
範囲の送信•
OB85_Z1: CPU による内部使用のために予約されている
OB85_RESERVED_2 に値 B#16#76 が指定されている場合、
OB85_Z1 は、対象となっている SFC(SFC 14、15、26 または 27)の戻り値を受信します。
•
OB85_Z23:
バイト 0: OB85_DKZ23=B#16#57 の場合: パートプロセスイ
メージ番号
バイト 1: OB85_DKZ23=B#16#10、20 または 30 の場合は関係ありません。OB85_DKZ23=B#16#57 の場合は、コンシステ
ンシー範囲のバイト長です
バイト 0 および 1、OB85_DKZ23=B#16#56 の場合: 一貫性範囲の長さ(バイト単位)
バイト 2、3: PAE が発生した I/O アドレス、OB85_DKZ23 の場合、B#16#10、20 または 30;
一貫性レンジの開始論理アドレス。OB85_DKZ23 の場合、
B#16#57
B#16#39
B#16#B2
出力プロセスイメージを出力モジュールへ転送している際の I/O アク
セスエラー
OB85_FLT_ID=B#16#B1 の場合は、OB85_DKZ23、OB85_Z1 およびOB85_Z23
システムプロセスイメージテーブル更新に対応して I/O アクセスエラーの繰り返し OB85呼び出しをコンフィ
グレーションしている場合、エラーコード B#16#B1 と B#16#B2 が表示されます。
B#16#39/B#16#38 B#16#B3
入力のプロセスイメージを更新するとき、イベントの開始/終了時にI/O アクセスエラーが発生しました。
•
OB85_DKZ23: I/O アクセスエラーが生じたプロセスイメージ転送のタイプの ID
B#16#10: バイトアクセス
B#16#20: ワードアクセス
B#16#30: DWORD アクセスB#16#57 または B#16#57: コンフィグレーションした一貫性
範囲の送信•
OB85_Z1: CPU による内部使用のために予約されている
OB85_RESERVED_2 に値 B#16#76 が指定されている場合、
OB85_Z1 は、対象となっている SFC(SFC 14、15、26 または 27)の戻り値を受信します。
•
OB85_Z23:
バイト 0: OB85_DKZ23=B#16#57 の場合: パートプロセスイ
メージ番号
バイト 1: OB85_DKZ23=B#16#10、20 または 30 の場合は関係ありません。OB85_DKZ23=B#16#57 の場合は、コンシステ
ンシー範囲のバイト長です
バイト 0 および 1、OB85_DKZ23=B#16#56 の場合: 一貫性範囲の長さ(バイト単位)
バイト 2、3: PAE が発生した I/O アドレス、OB85_DKZ23 の場合、B#16#10、20 または 30;
一貫性レンジの開始論理アドレス。OB85_DKZ23 の場合、
B#16#57

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

63

オーガニゼーションブロック
1.21 優先度クラスエラーオーガニゼーションブロック(OB85)
OB85_EV_CLASS OB85_FLT_ID 意味
B#16#39/B#16#38

B#16#B4

出力のプロセスイメージを更新するとき、イベントの開始/終了時にI/O アクセスエラーが発生しました。
OB85_FLT_ID=B#16#B3 の場合は、OB85_DKZ23、OB85_Z1 およびOB85_Z23

システムによるプロセスイメージテーブル更新処理でイベントの開始時と終了時に I/O アクセスエラーが発生したら OB85 を呼び出すようにコンフィグレーションしている場合、エラーコード B#16#B3 と B#16#B4 が表示されます。コールドリスタートまたはウォームリスタート後、次のプロセスイメージテーブル更新中に、存在していない入力および出力へのアクセスはすべて、I/O アクセスエラーとしてレポートされます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
64

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.22 ラック障害オーガニゼーションブロック(OB86)

1.22

ラック障害オーガニゼーションブロック(OB86)

説明CPU オペレーティングシステムは、次のような状況で OB86 を呼び出します。
•

中央増設ユニット(S7-300 以外)の故障が検出された場合(イベント開始状態、終了状態の両方)。

•

DP マスタシステムの故障が検出された場合(イベント開始状態、終了状態の両方)。

•

リモート I/O(PROFIBUS DP または PROFINET IO)使用時に、ステーションの故障が検出された
場合(イベント開始状態、終了状態の両方)。

•

リモート I/O(PROFIBUS DP または PROFINET IO)使用時に、SFC 12 "D_ACT_DP"と設定
MODE=4 によってステーションを無効にした場合。

•

リモート I/O(PROFIBUS DP または PROFINET IO)使用時に、SFC 12 "D_ACT_DP"と設定
MODE=3 によってステーションを有効にした場合。

•

PROFINET IO システムの故障、PROFINET IO ステーションの故障、または PROFINET I-デバ
イスのいくつかのサブモジュールの故障が検出された場合。

OB86 が組み込まれていない場合、このエラータイプが検出されると、CPU は、STOP モードに切り替わります。
SFC 39～42 を使用して、OB86 を無効または遅延および再度有効にできます。

ラック障害 OB のローカルデータ
下表は、ラック障害 OB のテンポラリ(TEMP)変数の説明です。変数名は、OB86 の既定の名前です。
変数

タイプ

説明

OB86_EV_CLASS

BYTE

イベントクラスと識別子:•

B#16#32: SFC 12 "D_ACT_DP"、MODE=3 によるステーション有効化•

B#16#33: SFC 12 "D_ACT_DP"、MODE=3 によるステーション無効化•

B#16#38: イベント終了状態•

B#16#39: イベント開始状態

OB86_FLT_ID

BYTE

エラーコード: (可能な値: B#16#C1、B#16#C2、B#16#C3、B#16#C4、B#16#C5、B#16#C6、B#16#C7、B#16#C8、B#16#C9、B#16#CA、B#16#CB、B#16#CC、B#16#CD、B#16#CE、B#16#CF、B#16#F8、B#16#F9)

OB86_PRIORITY

BYTE

優先度クラス。STEP 7 (ハードウェアコンフィグレーション)を使用すれば割り付けることができる。

OB86_OB_NUMBR

BYTE

OB 番号(86)OB86_RESERVED_1

BYTE

予約済み

OB86_RESERVED_2

BYTE

予約済み

OB86_MDL_ADDR

WORD

エラーコードに応じて相違する

OB86_RACKS_FLTD

Array [0 ..31]

エラーコードに応じて相違する

of BOOL
OB86_DATE_TIME

DATE_AND_TIME

OB が呼び出された日付と時刻

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

65

オーガニゼーションブロック
1.22 ラック障害オーガニゼーションブロック(OB86)
エラーコードに応じて相違する OB86 をプログラミングしたい場合は、次のローカル変数を編成することをお勧めします。
変数

タイプ

OB86_EV_CLASS

BYTE

OB86_FLT_ID

BYTE

OB86_PRIORITY

BYTE

OB86_OB_NUMBR

BYTE

OB86_RESERVED_1

BYTE

OB86_RESERVED_2

BYTE

OB86_MDL_ADDR

WORD

OB86_Z23

DWORD

OB86_DATE_TIME

DATE_AND_TIME

次の表は、OB86 を開始したイベントを示しています:
OB86_EV_CLASS OB86_FLT_ID 意味
B#16#39

B#16#38

B#16#C1

B#16#C1

増設ラック異常•OB86_MDL_ADDR: IM の論理ベースアドレス•

OB86_Z23: 個々の増設する可能性のあるラックに対する 1 ビットを含んでいます。OB86 の呼び出しを生じさせた個々の増設ラック
は、障害があると報告されます(個々のビットが設定されます)。
既に増設に失敗した増設ラックは今後は表示されません。
-

ビット 0: 常に 0-

ビット 1: 増設ラック 1

-

:

-

ビット 21: 増設ラック 21-

ビット 22～29: 常に 0-

ビット 30: SIMATIC S5 領域の最低 1 つの増設ラックの障害-

ビット 31: 常に 0

増設ラックが動作を再開した。
OB86_FLT_ID=B#16#C1 の場合、OB86_MDL_ADDR。再び操作可能となった増設ラックは、OB86_Z23(個々のビットが設定されます)で報告されます。

B#16#38

B#16#C2

再び操作可能となった増設ラック(想定されるコンフィグレーションと実際のコンフィグレーションとの矛盾による増設ラックの障害)•

OB86_MDL_ADDR: IM の論理ベースアドレス•

OB86_Z23: 個々の増設される可能性のあるラックに対する 1 ビットを含んでいます。OB86_FLT_ID B#16#C1 を参照してください。
設定されたビットの意味: 影響のある増設ラックにおいて:-間違ったタイプ ID が指定されたモジュールが存在する-

コンフィグレーションしたモジュールがない-

すくなくとも 1 台のモジュールに不具合がある

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
66

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.22 ラック障害オーガニゼーションブロック(OB86)
OB86_EV_CLASS OB86_FLT_ID 意味
B#16#39

B#16#C3

B#16#39/B#16#38

B#16#C4

B#16#39/B#16#38

B#16#C5

B#16#38

B#16#C6

B#16#38

B#16#C7

B#16#38

B#16#C8

リモート I/O デバイス: DP マスタシステムのエラー。
着信イベントのみが OB86 を起動し、エラーコード B#16#C3 を発生させます。発信イベントは、OB86 を起動し、エラーコード B#16#C4 とイベントクラス B#16#38 を発生させます。
DP スレーブステーションが復帰するたびに、OB86 が起動します。
•
OB86_MDL_ADDR: DP マスタの論理ベースアドレス•
OB86_Z23: DP マスタ ID:
ビット 0～7: 予約済み
ビット 8～15: DP マスタシステム ID
ビット 16～31: 予約済み
DP ステーションの故障• OB86_MDL_ADDR: DP マスタの論理ベースアドレス• OB86_Z23: 影響を受ける DP スレーブのアドレス:
ビット 0～7: DP ステーションの番号
ビット 8～15: DP マスタシステム ID
ビット 16～30: S7 スレーブの論理基本アドレス、または標準
DP スレーブの 診断アドレス
ビット 31: I/O 識別子
ステーションが復帰しましたが、障害があります。
FLT_ID=B#16#C4 と同様に、OB86_MDL_ADDR および OB86_Z23 です。
増設ラックが再度使用可能になりましたが、依然モジュールパラメータのエラーが生じています。
• OB86_MDL_ADDR: IM の論理ベースアドレス• OB86_Z23: 個々の増設する可能性があるラックに対するビットを含んでいます:ビット 0: 常に 0
ビット 1: 増設ラック 1:
ビット 21: 増設ラック 21
ビット 22～30: 予約済み
ビット 31: 常に 0
• (対象増設ラックの)ビット設定時の意味:
間違ったタイプ識別子指定されたモジュールが存在する
間違ったパラメータが指定されているモジュール、または
パラメータが指定されていないモジュールが存在する。
DP ステーションの復帰。ただし、モジュールパラメータ割り付けにエラーがある。
• OB86_MDL_ADDR: DP マスタの論理ベースアドレス• 対象 DP スレーブのアドレス:
ビット 0～7: DP ステーションの番号
ビット 8～15: DP マスタシステム ID
ビット 16～30: DP スレーブの論理基本アドレス
ビット 31: I/O 識別子
DP ステーションの復帰、ただし構成と実際のコンフィグレーションに相違がある• OB86_MDL_ADDR: DP マスタの論理ベースアドレス• OB86_Z23: 影響を受ける DP スレーブのアドレス:
ビット 0～7: DP ステーションの番号
ビット 8～15: DP マスタシステム ID
ビット 16～30: DP スレーブの論理基本アドレス
ビット 31: I/O 識別子

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

67

オーガニゼーションブロック
1.22 ラック障害オーガニゼーションブロック(OB86)
OB86_EV_CLASS OB86_FLT_ID 意味
B#16#32/B#16#33

B#16#C9SFC 12 "D_ACT_DP"、MODE=3/MODE=4 による DP スレーブ有効化/
無効化
OB86_MDL_ADDR: DP マスタの論理ベースアドレス
OB86_Z23: 関連する DP スレーブのアドレス:
ビット 0～7: DP ステーションの番号
ビット 8～15: DP マスタシステム ID
ビット 16～30: S7 スレーブの論理基本アドレス、または標準 DP スレーブの診断アドレス
ビット 31: I/O 識別子

B#16#39

B#16#CAPROFINET IO システムエラー• OB86_MDL_ADDR: IO システムの論理アドレス• OB86_Z23:
ビット 0～10: 0(ステーション番号)-

ビット 11～14: IO システム ID
ビット 15:1
ビット 16～31: 0

B#16#39/38

B#16#CBPROFINET IO ステーションエラー/ステーションリターン• OB86_RESERVED_1: B#16#C4• OB86_MDL_ADDR: IO システムの論理アドレス• OB86_Z23:
ビット 0～10:ステーション番号
ビット 11～14: IO システム ID
ビット 15:1
ビット 16～30: ステーションの論理ベースアドレス
ビット 31: I/O 識別子
注記: PROFINET IO ステーションの障害が OB 86 の開始の原因かどうかを調べるためにプログラムをチェックする前に、PROFINET IO システ
ム障害が発生していないかどうかをチェックする必要があります。

B#16#38

B#16#CC

1.

B#16#38

B#16#CD

PROFINET IO ステーションが復帰しましたが、問題が存在するか、または
保守が必要

2.

OB86_RESERVED_1: B#16#C4

3.

OB86_MDL_ADDR: IO コントローラの論理ベースアドレス

4.

OB86_Z23:

5.

ビット 0～10: ステーション番号6.

ビット 11～14: IO システム ID

7.

ビット 15:1

8.

ビット 16～30: ステーションの論理ベースアドレス

9.

ビット 31: I/O ID

PROFINET IO ステーションは復帰したが、期待されるコンフィグレー
ションと実際のコンフィグレーションが異なります。
• OB86_MDL_ADDR: IO コントローラの論理ベースアドレス• OB86_Z23:-

ビット 0～10: ステーション番号
ビット 11～14: IO システム ID
ビット 15:1
ビット 16～30: ステーションの論理ベースアドレス-

ビット 31: I/O ID

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
68

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.22 ラック障害オーガニゼーションブロック(OB86)
OB86_EV_CLASS OB86_FLT_ID 意味
B#16#38

B#16#CEPROFINET IO ステーションリターン、モジュールのコンフィグレー
ションパラメータにエラーがある• OB86_MDL_ADDR: IO コントローラの論理ベースアドレス• OB86_Z23:-

B#16#32/B#16#33

B#16#CF

ビット 0～10: デバイス番号
ビット 11～14: IO システム ID
ビット 15:1
ビット 16～30: ステーションの論理ベースアドレス
ビット 31: I/O 識別子

SFC 12 "D_ACT_DP"、MODE=3/MODE=4 による PROFINET IO デバ
イス有効化/無効化• OB86_MDL_ADDR: IO コントローラの論理ベースアドレス• OB86_Z23:-

ビット 0～10: ステーション番号
ビット 11～14: IO システム ID
ビット 15:1
ビット 16～30: ステーションの論理ベースアドレス
ビット 31: I/O 識別子

B#16#39/B#16#38

B#16#F8

1 つの PROFINET I-デバイスのいくつかのサブモジュールの障害/リターン• OB86_MDL_ADDR: IO コントローラの論理ベースアドレス• OB86_Z23:
ビット 0～10: ステーション番号
ビット 11～14: IO システム ID
ビット 15:1
ビット 16～30: ステーションの論理ベースアドレス
ビット 31: I/O ID

B#16#38

B#16#F9

デバイスコンフィグレーションの相違による、1 つの PROFINET Iデバイスのいくつかのサブモジュールのリターン• OB86_MDL_ADDR: IO コントローラの論理ベースアドレス• OB86_Z23:
ビット 0～10: ステーション番号
ビット 11～14: IO システム ID
ビット 15:1
ビット 16～30: ステーションの論理ベースアドレス
ビット 31: I/O ID

注記
DPV1 対応 CPU を使用している場合、SFB54 "RALRM"を使用すれば、割り込みに関して、OB の開始情報を超える情報を追加入手できます。これは、S7 互換モードで DP マスタを操作する場合にも適用できます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

69

オーガニゼーションブロック
1.23 通信エラーオーガニゼーションブロック(OB87)

1.23

通信エラーオーガニゼーションブロック(OB87)

説明
通信エラーによりトリガされたイベントが発生すると、CPU のオペレーティングシステムにより
OB87 が呼び出されます。
プログラム済みの OB87 がない場合に OB87 の開始イベントが生じると、CPU は以下のように反応します。
•

S7-300 CPU は STOP モードに切り替わります。

•

S7-400 CPU は STOP モードに切り替わりません。

SFC 39～42 を使用して、通信エラーOB を無効または遅延および再度有効にできます。

OB87 のローカルデータ
下表は、通信エラーOB のテンポラリ(TEMP)変数の説明です。変数名は、OB87 の既定の名前です。
変数

タイプ

説明

OB87_EV_CLASS

BYTE

イベントクラスと識別子: B#16#35

OB87_FLT_ID

BYTE

エラーコード：(可能な値: B#16#D2、B#16#D3、B#16#D4、B#16#D5、B#16#E1、B#16#E2、B#16#E3、B#16#E4、B#16#E5、B#16#E6)

OB87_PRIORITY

BYTE

•

優先度クラス。STEP 7 (ハードウェアコンフィグレーション)を使用すれば割り付けることができる。

OB87_OB_NUMBR

BYTE

OB 番号(87)OB87_RESERVED_1 BYTE

予約済み

OB87_RESERVED_2 BYTE

予約済み

OB87_RESERVED_3 WORD

エラーコードに応じて相違する

OB87_RESERVED_4 DWORD

エラーコードに応じて相違する

OB87_DATE_TIME

OB が呼び出された日付と時刻

DATE_AND_TIME

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
70

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.23 通信エラーオーガニゼーションブロック(OB87)
エラーコードに応じて相違する変数には、次の意味があります:
エラーコード•バイト/ワード 意味

B#16#D2:

現在、診断エントリの送信が不能です。

•

B#16#D3

同期メッセージを送信できません(マスタ)。

•B#16#D4:

クロック同期による不正な時刻ジャンプです。

•

B#16#D5

同期タイムを受信する時のエラーです(スレーブ)。

-

OB87_RESERVED_3:

関連情報を含んでいません。

-

OB87_RESERVED_4:

関連情報を含んでいません。

•

B#16#E1:

グローバルデータ通信中の不正なフレーム ID です。

•

B#16#E3:

グローバルデータ通信中のフレーム長エラ－です。

•

B#16#E4:

不正な GD パケット番号を受信している。

•

•

-

OB87_RESERVED_3:-

OB87_RESERVED_4:

インターフェース ID(0: K バス、1: MPI)
上位バイト:

GD 回路番号

下位バイト:

関連情報を含んでいません。

B#16#E2:

GD パケットステータスを DB に入力できません。

-

OB87_RESERVED_3:

DB 番号

-

OB87_RESERVED_4:

上位ワード:

関連情報を含んでいません。

下位ワード:•GD サークル番号(上位バイト)、•

GD パケット番号(下位バイト)

B#16#E5:-

OB87_RESERVED_3:-

OB87_RESERVED_4:

コミュニケーションファンクションブロック(CFB)を介するデータ交換中の DB に対するアクセスエラーです。
CPU による内部使用のため未使用。
上位ワード:

エラーを引き起こした MC7 コマンドを含むブロックの番号。

下位ワード:

エラーを引き起こしている MC7 コマンドの相対アドレス。

ブロックタイプは、OB_87_RESERVED_1 (B#16#88: OB、B#16#8A: DB、B#16#8C: FC、B#16#8E:
FB)から読み取ることができます。
エラーコード•意味

B#16#E6:

GD グループステータスを DB に入力できません。

OB87_RESERVED_3:

DB 番号

OB87_RESERVED_4:

関連情報を含んでいません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

71

オーガニゼーションブロック
1.24 プロセス割り込み OB(OB88)

1.24

プロセス割り込み OB(OB88)

説明プログラムブロックの実行が中止されると、CPU オペレーティングシステムは OB88 を呼び出します。
この中断について可能性のある原因の例:•

同期エラーのネストレベルが高すぎる。

•

ブロック呼び出し(I スタック)のネストレベルが高すぎる。

•

ローカルデータの割り振り中にエラーが発生した。

OB88 を組み込んでいない場合にプログラムブロックの実行が中止されると、CPU が STOP モードになります(イベント ID W#16#4570)。
優先度クラス 28 でプログラムブロックの実行が中止されると、CPU が STOP モードになります。
SFC 39～42 を使用して、処理割り込み OB を無効/遅延/有効にできます。

処理割り込み OB のローカルデータ
以下の表で、処理割り込み OB のテンポラリ(TEMP)変数について説明します。OB88 の既定の名前は変数名として選択されています。
変数

データタイプ

説明

OB88_EV_CLASS

BYTE

イベントクラスと ID: B#16#35

OB88_SW_FLT

BYTE

エラーコード値:·•

B#16#71: ネストスタックのネストレベル
が高すぎる

•

B#16#72: マスタコントロールリレーのネストレベルが高すぎる•

B#16#73: 同期エラーのネストレベルが
高すぎる。

•

B#16#74: ブロック呼び出し(I スタック)のネストレベルが高すぎる•

B#16#75: ブロック呼び出し(B スタック)のネストレベルが高すぎる•

B#16#76: ローカルデータの割り振り中にエラーが発生した•

B#16#78: 不明な命令•

B#16#7A: ジャンプ命令の宛先がブロックの範囲外である

使用中の CPU に適用されるエラーコードを判定するには、CPU の操作リストを参照してください。
OB88_PRIORITY

BYTE

•

OB88_OB_NUMBR

BYTE

OB 番号(88)

優先度クラス: 28

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
72

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.24 プロセス割り込み OB(OB88)
変数
OB88_BLK_TYPE

データタイプ
BYTE

説明
エラーが発生したブロックのタイプ••••

B#16#88: OB
B#16#8C: FC
B#16#8E: FB
B#16##00: 割り込み元を特定できない。

OB88_RESERVED_1

BYTE

予約済み

OB88_FLT_PRIORITY

BYTE

エラーを引き起こした OB の優先度クラス

OB88_FLT_OB_NUMBR BYTE

エラーを引き起こした OB の番号

OB88_BLK_NUM

WORD

エラーを引き起こした MC7 命令を持つブ
ロックの番号

OB88_PRG_ADDR

WORD

エラーを引き起こした MC7 命令の相対アドレス

OB88_DATE_TIME

DATE_AND_TIME

OB 呼び出しの日付と TOD

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

73

オーガニゼーションブロック
1.25 バックグラウンドオーガニゼーションブロック(OB90)

1.25

バックグラウンドオーガニゼーションブロック(OB90)

説明STEP 7 を使用すると、最大スキャンサイクルタイムをモニタし、最小スキャンサイクルタイムを保証できます。すべてのネストされた割り込みおよびシステムアクティビティを含む OB1 の実行
時間が指定した最小スキャンサイクルタ時間未満の場合、オペレーティングシステムは、次のように反応します:•

背景 OB を呼び出します(ただし、CPU に存在していることを条件とします)。

•次の OB1 を開始させます(OB90 が CPU に存在しない場合)。

背景 OB の動作について
OB90 では、すべての OB の優先度が最下位になります。あらゆるシステムアクティビティおよびすべての割り込み(最小サイクルタイムの終了後の OB1 による割り込みでさえも)により割り込まれ、選択された最小スキャンサイクルタイムに達していない場合のみ再開されます。この唯一の例外は、
OB90 で起動された SFC と SFB の実行です。これらは、OB1 の優先度で実行されるため、OB1 により割り込まれません。OB90 の時間モニタはありません。
OB90 のユーザープログラムは、次の状況における最初の命令により起動するように処理されます:•

ウォーム、コールドまたはホットリスタート後•ブロックのロードまたは削除後(STEP 7)•

RUN モードの CPU に OB90 をロードした後•

背景サイクルの終了後

注記
最小スキャンサイクルタ時間とサイクルモニタ時間に大きな相違がないコンフィグレーションの場合、背景 OB における SFC および SFB の呼び出しは、予期しないサイクルタイムの超過につながる可能性があります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
74

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.25 バックグラウンドオーガニゼーションブロック(OB90)

背景 OB のローカルデータ
以下の表で、OB90 のテンポラリ(TEMP)変数について説明します。変数名は、OB90 の既定の名前です。
変数

データタイプ

説明

OB90_EV_CLASS

BYTE

イベントクラスと識別子: B#16#11: 有効

OB90_STRT_INF

BYTE

•

B#16#91: ウォームリスタート/コールドリスタート/
ホットリスタート•

B#16#92: ブロックが削除されている•

B#16#93: RUN モードの CPU に OB90 をダウンロード
している•

B#16#95: 背景サイクルの終了

OB90_PRIORITY

BYTE

優先度クラス: 29(優先度 0.29 に対応)

OB90_OB_NUMBR

BYTE

OB 番号(90)OB90_RESERVED_1

BYTE

予約済み

OB90_RESERVED_2

BYTE

予約済み

OB90_RESERVED_3

INT

予約済み

OB90_RESERVED_4

INT

予約済み

OB90_RESERVED_5

INT

予約済み

OB90_DATE_TIME

DATE_AND_TIME

OB が呼び出された日付と時刻

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

75

オーガニゼーションブロック
1.26 起動オーガニゼーションブロック(OB100、OB101 および OB102)

1.26

起動オーガニゼーションブロック(OB100、OB101 および OB102)

起動のタイプ以下の種類の起動があります。
•

ホットリスタート(S7-300 と S7-400H を除く)•

ウォームリスタート•

コールドリスタート

下表において、起動中にオペレーティングシステムにより呼び出される OB を確認することができ
ます。
起動タイプ

対応 OB

ホットリスタート

OB101

ウォームリスタート

OB100

コールドリスタート

OB102

起動タイプの詳細については、『Programming with STEP 7』、『Configuring hardware andconnections with STEP7』、『S7-400H PLC』の各マニュアルを参照してください。

起動イベントCPU は、次のように起動を実行します:
•

電源投入後

•

モードセレクタを STOP から RUN-P に切り替えた場合•

通信ファンクションを使用する要求後(プログラミングデバイスからメニューコマンドを使用
するか、または別の CPU で通信ファンクションブロック 19 "START"または 21 "RESUME"を呼び出すことによる要求)•

マルチコンピューティングの同期•

リンクアップ後の H システムで(スタンバイ状態の CPU のみ)

開始イベント、特定の CPU およびそのパラメータに応じて、適当な起動 OB(OB100、OB101 またはOB102)が呼び出されます。適切なプログラミングを使用すれば、周期プログラムの所定の設定を実行できます。ただし、以下の場合は除きます。H システムでは、スタンバイ CPU がリンクされていると、スタンバイ CPU で起動が実行されますが、起動 OB は呼び出されません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
76

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.26 起動オーガニゼーションブロック(OB100、OB101 および OB102)

起動 OB のローカルデータ
下表は、起動 OB のテンポラリ(TEMP)変数の説明です。変数名は、OB100 の既定の名前です。
変数

タイプ

説明

OB10x_EV_CLASS

BYTE

イベントクラスと識別子: B#16#13: 有効

OB10x_STRTUP

BYTE

起動要求:

OB10x_PRIORITY

BYTE

OB10x_OB_NUMBR

BYTE

•

B#16#81:

手動ウォームリスタート•

B#16#82:

自動ウォームリスタート•

B#16#83:

手動ホットリスタートの要求•

B#16#84:

自動ホットリスタートの要求•

B#16#85:

手動コールドリスタートの要求•

B#16#86:

自動コールドリスタートの要求•

B#16#87:

マスタ: 手動コールドリスタートの要求•

B#16#88:

マスタ: 自動コールドリスタートの要求•

B#16#8A:

マスタ: 手動ウォームリスタートの要求•

B#16#8B:

マスタ: 自動ウォームリスタートの要求

優先度クラス: 27
OB 番号(100、101 または 102)

OB10x_RESERVED_1 BYTE

予約済み

OB10x_RESERVED_2 BYTE

予約済み

OB10x_STOP

WORD

CPU をストップするイベントの番号

OB10x_STRT_INFO

DWORD

現在の起動に関する補足情報

OB10x_DATE_TIME

DATE_AND_TIME

OB が呼び出された日付と時刻

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

77

オーガニゼーションブロック
1.26 起動オーガニゼーションブロック(OB100、OB101 および OB102)

下表には、変数 OB100_STR_INFO と OB101_STR_INFO が示されています。
ビット番号

意味

考えられるバイナリ値

説明31 - 24

起動情報

0000 xxxx

ラック番号 0(H CPU のみ)

0100 xxxx

ラック番号 1(H CPU のみ)

1000 xxxx

ラック番号 2(H CPU のみ)

0001 xxxx

マルチコンピューティング(S7-400 のみ)

0010 xxxx

CPU in the 分割ラックの 1 つ以上の CPUの作動(S7-400 のみ)

xxxx xxx0

期待コンフィグレーションと実際のコンフィグレーションの相違なし(S7-300 のみ)

xxxx xxx1

期待コンフィグレーションと実際のコンフィグレーションの相違(S7-300 のみ)

xxxx xx0x

期待コンフィグレーションと実際のコンフィグレーションの相違なし

xxxx xx1x

期待コンフィグレーションと実際のコンフィグレーションの相違

xxxx x0xx

H CPU ではない

xxxx x1xx

H CPU

xxxx 0xxx

最後の電源投入時にタイムスタンプのク
ロックをバッテリバックアップしていない

xxxx 1xxx

最後の電源投入時にタイムスタンプのク
ロックをバッテリバックアップしている

0000 0001

パラメータの割り付けに応じて、CPU の設定を変更せずに、マルチコンピューティ
ングでウォームリスタートを実行する(S7-400 の場合に限る)。

0000 0011

モードセレクタによりトリガされるウォー
ムリスタート0000 0100

MPI を介してコマンドによりトリガされる
リスタート(ウォームリスタート)

0000 0101

パラメータの割り付けにしたがって CPU の設定を変更することなく実施されるマルチコンピューティングのコールドリスタート(S7-400 のみ)

0000 0011

モードセレクタによりトリガされるコール
ドリスタート0000 1000

MPI を介してコマンドによりトリガされる
コールドリスタート

0000 1010

パラメータの割り付けに応じて、CPU の設定を変更せずに、マルチコンピューティ
ングでホットリスタートを実行する(S7-400 の場合に限る)。

0000 1011

モードセレクタによりトリガされるホット
リスタート(S7-400 のみ)

0000 1100

MPI を介してコマンドによりトリガされる
ホットリスタート(S7-400 の場合に限る)

0001 0000

バッテリバックアップ電源投入後の自動ウォームリスタート

23 - 16

起動完了

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
78

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.26 起動オーガニゼーションブロック(OB100、OB101 および OB102)
ビット番号

15 - 12

11 - 87-0

意味

自動起動の許可

手動起動の許可考えられるバイナリ値

説明

0001 0001

パラメータの割り付けに応じて、バッテリ
バックアップされた電源投入の後にコールドリスタートを実行する。

0001 0011

モードセレクタによりトリガされるリス
タート(ウォームリスタート)。最後の電源投入がバッテリバックアップされる。

0001 0100

MPI を使用してコマンドによりトリガされるリスタート(ウォームリスタート)。最後の電源投入がバッテリバックアップされる。

0010 0000

バッテリバックアップされない電源投入後に自動ウォームリスタートを実行する(システムによるメモリリセット)

0010 0001

バッテリバックアップされない電源投入の後にコールドリスタートを実行する(システムによるメモリリセット)。

0010 0011

モ－ドセレクタによりトリガされるリス
タート(ウォームリスタート)。最後の電源投入がバッテリバックアップされない。

0010 0100

MPI を介してコマンドによりトリガされる
ウォームリスタート; 最後の電源投入がバッテリバックアップされない。

1010 0000

パラメータの割り付けに応じて、バッテリ
バックアップされた電源投入の後に自動ホットリスタートを実行する(S7-400 の場合に限る)。

0000

自動起動不正、メモリリセット要求

0001

自動起動不正、パラメータ変更等が必要

0111

自動リスタート(ウォーム)許可

1111

自動(ウォーム/ホット)リスタート許可(S7-400 のみ)

0000

起動不正、メモリリセット要求

0001

起動不正、パラメータ変更等が必要

0111

リスタート(ウォーム)許可

1111(ウォーム/ホット)リスタート許可(S7-400
のみ)

前回の有効な介入また 0000 0000
は電源投入時の自動
起動の設定

起動なし

0000 0001

パラメータの割り付けに応じて、CPU の設定を変更せずに、マルチコンピューティ
ングでウォームリスタートを実行する(S7-400 の場合に限る)。

0000 0011

モードセレクタによりトリガされるリス
タート(ウォームリスタート)

0000 0100

MPI を介してコマンドによりトリガされる
リスタート(ウォームリスタート)

0000 0101

パラメータの割り付けに応じて、CPU の設定を変更せずに、マルチコンピューティ
ングでホットリスタートを実行する(S7-400 の場合に限る)。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

79

オーガニゼーションブロック
1.26 起動オーガニゼーションブロック(OB100、OB101 および OB102)
ビット番号

意味

考えられるバイナリ値

説明

0000 0111

モードセレクタによりトリガされるコール
ドリスタート0000 1000

MPI を介してコマンドによりトリガされる
コールドリスタート

0000 1010

パラメータの割り付けに応じて、CPU の設定を変更せずに、マルチコンピューティ
ングでホットリスタートを実行する(S7-400 の場合に限る)。

0000 1011

モードセレクタによりトリガされるホット
リスタート(S7-400 のみ)

0000 1100

MPI を介してコマンドによりトリガされる
ホットリスタート(S7-400 の場合に限る)

0001 0000

バッテリバックアップ電源投入後の自動ウォームリスタート

0001 0001

パラメータの割り付けに応じて、バッテリ
バックアップされた電源投入の後にコールドリスタートを実行する。

0001 0011

モードセレクタによりトリガされるリス
タート(ウォームリスタート)。最後の電源投入がバッテリバックアップされる。

0001 0100

MPI を使用してコマンドによりトリガされるリスタート(ウォームリスタート)。最後の電源投入がバッテリバックアップされる。

0010 0000

バッテリバックアップ電源投入後の自動ウォームリスタート(システムによるメモ
リリセット)

0010 0001

パラメータの割り付けに応じて、バッテリ
バックアップされた電源投入の後にコールドリスタートを実行する。

0010 0011

モ－ドセレクタによりトリガされるリス
タート(ウォームリスタート)。最後の電源投入がバッテリバックアップされない。

0010 0100

MPI を介してコマンドによりトリガされる
ウォームリスタート; 最後の電源投入がバッテリバックアップされない。

1010 0000

パラメータの割り付けに応じて、バッテリ
バックアップされた電源投入の後に自動ホットリスタートを実行する(S7-400 の場合に限る)。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
80

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.27 プログラミングエラーオーガニゼーションブロック(OB121)

1.27

プログラミングエラーオーガニゼーションブロック(OB121)

説明プログラム処理に関連するエラーによりイベントが発生すると、CPU のオペレーティングシステムに
より OB121 が呼び出されます。たとえば、プログラムが CPU にダウンロードされていないブロッ
クを呼び出すと、OB121 が呼び出されます。

プログラミングエラーOB の動作について
OB121 は、割り込まれたブロックと同じ優先度クラスで実行されます。
OB121 が組み込まれていない場合は、CPU は、RUN モードから STOP モードに切り替わります。
S7 には、プログラムの実行中に OB121 の開始イベントをマスクおよびマスク解除するために次のSFC が備わっています。
•

SFC36 (MSK_FLT): 特定のエラーコードをマスクする。

•

SFC37 (DMSK_FLT): SFC36 によりマスクされたエラーコードのマスクを解除する。

•

SFC38 (READ_ERR): エラーレジスタを読み取る。

プログラミングエラーOB のローカルデータ
次の表は、プログラミングエラーOB のテンポラリ(TEMP)変数の説明です。変数名は、OB121 の
既定の名前です。
変数

タイプ

説明

OB121_EV_CLASS

BYTE

イベントクラスと識別子: B#16#25

OB121_SW_FLT

BYTE

エラーコード：(可能な値: B#16#21、B#16#22、B#16#23、B#16#24、B#16#25、B#16#26、B#16#27、B#16#28、B#16#29、B#16#30、B#16#31、B#16#32、B#16#33、B#16#34,
B#16#35、B#16#3A、B#16#3C、B#16#3D、B#16#3E、B#16#3F)

OB121_PRIORITY

BYTE

優先度クラス=エラーが発生した OB の優先度クラス

OB121_OB_NUMBR

BYTE

OB 番号(121)

OB121_BLK_TYPE

BYTE

エラーが発生したブロックのタイプ(S7-300 の場合、ここには有効な値は入力されません): B#16#88: OB、B#16#8A:
DB、B#16#8C: FC、B#16#8E: FB

OB121_RESERVED_1

BYTE

予約済み

OB121_FLT_REG

WORD

エラーソース(エラーコードに応じて違ってくる)
たとえば:•

変換エラーが発生したレジスタ•

間違ったアドレス(読み取り/書き込みエラー)•

間違ったタイマ、カウンタ、またはブロック番号•

間違ったメモリ領域

OB121_BLK_NUM

WORD

エラーの発生原因となった MC7 コマンドによるブロック
番号(S7-300 では、ここに有効な番号は入力されません)

OB121_PRG_ADDR

WORD

エラーを発生した MC7 コマンドの相対アドレス(S7-300 の場合、ここに有効値は入力されません)

OB121_DATE_TIME

DATE_AND_TIME

OB が呼び出された日付と時刻

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

81

オーガニゼーションブロック
1.27 プログラミングエラーオーガニゼーションブロック(OB121)
エラーコードに応じて相違する変数には、次の意味があります:
エラーコードB#16#21:
OB121_FLT_REG:意味
BCD 変換エラー
該当するレジスタの ID (W#16#0000: アキュムレータ 1)

B#16#22:

読み取り時の領域長エラー

B#16#23:

書き込み時の領域長エラー

B#16#28:

ビットアドレスが 0 でないポインタによるバイト、ワードまたはダブルワー
ドへの読み取りアクセス

B#16#29:

ビットアドレスが 0 でないポインタによるバイト、ワードまたはダブルワー
ドへの書き込みアクセス
間違ったバイトアドレス データ領域とアクセスタイプを
OB121_RESERVED_1 から読み取ることができます。

OB121_RESERVED_1:••

ビット 7～4、アクセスタイプ:-

0: ビットアクセス-

1:バイトアクセス-

2:ワードアクセス-

3: ダブルワードアクセス

ビット 3～0、メモリ領域:-

0: I/O 領域-

1: プロセスイメージ入力テーブル-

2: プロセスイメージ出力テーブル-

3: ビットメモリ-

4: グローバル DB-

5: インスタンス DB-

6: 専用のローカルデータ-

7: 呼び出し側のローカルデータ

B#16#24:

読み取り時の範囲エラー

B#16#25:

書き込み時の範囲エラー

OB121_FLT_REG:

下位バイトの不正領域の ID を含む(ローカルデータ領域の B#16#86)

B#16#26:

タイマ番号エラー

B#16#27:

カウンタ番号エラー

OB121_FLT_REG:

不正な番号

B#16#30:

書き込み保護されたグローバル DB への書き込みアクセス

B#16#31:

書き込み保護されたインスタンス DB への書き込みアクセス

B#16#32:

グローバル DB にアクセスする DB 番号エラー

B#16#33:

インスタンス DB にアクセスする DB 番号エラー

OB121_FLT_REG:

不正な DB 番号

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
82

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.27 プログラミングエラーオーガニゼーションブロック(OB121)
エラーコード意味

B#16#34:

FC 呼び出し時の FC 番号エラー

B#16#35:

FB 呼び出し時の FB 番号エラー

B#16#3A:

ロードされていない DB へのアクセス。DB 番号は、許容範囲内に入っている。

OB121_FLT_REG:
B#16#3C:
OB121_FLT_REG:
B#16#3D:
OB121_FLT_REG:
B#16#3E:
OB121_FLT_REG:
B#16#3F:
OB121_FLT_REG:

DB 番号
ロードされていない FC へのアクセス。FC 番号は、許容範囲内に入って
いる。
FC 番号
使用できない SFC へのアクセス。SFC 番号は、許容範囲内に入っている。
SFC 番号
ロードされていない FB へのアクセス。FB 番号は、許容範囲内に入って
いる。
FB 番号
使用できない SFB へのアクセス。SFB 番号は、許容範囲内に入っている。
SFB 番号

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

83

オーガニゼーションブロック
1.28 I/O アクセスエラーオーガニゼーションブロック(OB122)

1.28

I/O アクセスエラーオーガニゼーションブロック(OB122)

説明あるモジュールでデータへのアクセス中にエラーが発生すると、CPU のオペレーティングシステム
により OB122 が呼び出されます。たとえば、I/O モジュールのデータにアクセスするときに CPU が読み取りエラーを検出すると、オペレーティングシステムにより OB122 が呼び出されます。

I/O アクセスエラーOB の動作について
OB122 は、割り込まれた OB と同じ優先度クラスで実行されます。OB122 が組み込まれていない
場合、CPU は、RUN モードから STOP モードに切り替わります。
S7 には、プログラム実行中に OB122 の開始イベントをマスクおよびマスク解除する次の SFC が備わっています。
•

SFC36 (MSK_FLT): 特定のエラーコードをマスクする。

•

SFC37 (DMSK_FLT): SFC36 によりマスクされたエラーコードのマスクを解除する。

•

SFC38 (READ_ERR): エラーレジスタを読み取る。

I/O アクセスエラーOB のローカルデータ
下表は、I/O アクセスエラーOB のテンポラリ(TEMP)変数の説明です。変数名は、OB122 の既定の
名前です。
変数

タイプ

説明

OB122_EV_CLASS

BYTE

イベントクラスと識別子: B#16#29

OB122_SW_FLT

BYTE

エラーコード：OB122_PRIORITY

BYTE

•

B#16#42: I/O アクセスエラー、読み取り時•

B#16#43: I/O アクセスエラー、書き込み時

優先度クラス:•

OB122_OB_NUMBR BYTE
OB122_BLK_TYPE

エラーが発生した OB の優先度クラス

OB 番号(122)

BYTE

エラーが発生したブロックのタイプ(B#16#88: OB、
B#16#8C: FC、B#16#8E: FB) (S7-300 の場合、ここには有効な番号が入力されません)

OB122_MEM_AREA BYTE

メモリ領域およびアクセスタイプ:••

OB122_MEM_ADDR

WORD

ビット 7～4: アクセスタイプ-

0: ビットアクセス-

1: バイトアクセス-

2: ワードアクセス-

3: DWORD アクセス

ビット 3～0: メモリ領域:-

0: I/O 領域-

1: 入力のプロセスイメージ-

2: 出力のプロセスイメージ

エラーが発生したメモリアドレス

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
84

リファレンスマニュアル, 05/2017, A5E41733394-AA

オーガニゼーションブロック
1.28 I/O アクセスエラーオーガニゼーションブロック(OB122)
変数

タイプ

説明

OB122_BLK_NUM

WORD

エラーの発生原因となった MC7 コマンドによるブロック番号(S7-300 では、ここに有効な番号は入力されません)

OB122_PRG_ADDR WORD

エラーを発生した MC7 コマンドの相対アドレス(S7-300 の場合、ここに有効番号は入力されません)

OB122_DATE_TIME DATE_AND_TIME OB が呼び出された日付と時刻

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

85

オーガニゼーションブロック
1.28 I/O アクセスエラーオーガニゼーションブロック(OB122)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
86

リファレンスマニュアル, 05/2017, A5E41733394-AA

2

SFC の共通パラメータ2.1

出力パラメータ RET_VAL によるエラーの評価

エラー情報のタイプ
ユーザープログラムで実行されるシステムファンクション(SFC)により、CPU が SFC ファンクションを正常に実行できたかどうかが示されます。
どんなエラーが発生した場合でも、次の 2 つにそのエラーに関する情報が示されます。
•

ステータスワードの BR ビット•

出力パラメータ RET_VAL (戻り値)

注記
SFC 固有の出力パラメータを評価する前に、次のステップを実行する必要があります。
•

まず最初に、ステータスワードの BR ビットを評価します。

•

次に、出力パラメータ RET_VAL をチェックします。

BR ビットにエラーの発生が示されていたり、RET_VAL に一般エラーコードが示されている場合は、SFC 出力パラメータの評価は行わないでください。

戻り値のエラー情報
システムファンクション (SFC)の実行中にエラーが発生した場合、ステータスワードのバイナリ
リザルトビット (BR) が"0"に設定されます。システムファクションによっては、追加のエラーコード(戻り値 RET_VAL) が出力されます。一般エラーが出力パラメータ RET_VAL に入力されると(下記の説明を参照)、ステータスワードの BR ビットに "0" が示されます。
この戻り値はデータタイプ整数(INT)になります。戻り値が"0"か否かにより、ファンクションの実行中にエラーが発生したかどうかを示します。
CPU による SFC の実行

BR

戻り値

整数の符号

エラーあり

0

"0"未満

負
(符号ビットは"1")

エラーなし

1

"0"以上

正
(符号ビットは"0")S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

87

SFC の共通パラメータ
2.1 出力パラメータ RET_VAL によるエラーの評価

エラー情報への対応
RET_VAL に示されるエラーコードには次の 2 種類があります。
•

一般エラーコード：すべてのシステムファンクションで出力可能•

固有エラーコード：システムファンクションで出力することができ、特定のファンクションに関連しているシステムファンクションの実行時に発生したエラーに対応できるように、プログラムを作成することができます。この方法により、最初のエラーが原因で次のエラーが発生するのを防ぐことができます。

一般エラー情報と固有エラー情報
システムファンクションの戻り値 (RET_VAL)では、次の 2 種類のエラーコードのいずれかが示されます。
•

すべてのシステムファンクションで発生する可能性のあるエラーに関連する一般エラーコード•

特定のシステムファンクションにのみ関連する固有エラーコード

出力パラメータ RET_VAL のデータタイプは整数 (INT) ですが、システムファンクションのエラー
コードは 16 進値でグループ化されます。戻り値を検査して、本マニュアルにリストされている
エラーコードと比較したい場合は、16 進形式のエラーコードを表示します。
次の図は、16 進形式のシステムファクションエラーコードの構造を示しています。
Error code, for example W#16#8081
15

8 7

0

1
X
Event number or error class and single error
x = ‘0’ indicates that this is a specific error code from an SFC. The error
codes are listed in the section entitled "Error Information" in thedescriptions of the individual system functions.
x > ‘0’ indicates that this is a general error code from an SFC. In thiscase, x is the number of the SFC parameter that caused the error. The
possible error codes are shown in the following table.

Sign bit = 1 indicates that an error has occurred.

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
88

リファレンスマニュアル, 05/2017, A5E41733394-AA

SFC の共通パラメータ
2.1 出力パラメータ RET_VAL によるエラーの評価

一般エラーの情報
一般エラーコードは、すべてのシステムファンクションで発生する可能性のあるエラーを示します。
このエラーコードは、次の 2 つの数字で構成されます。
•

パラメータ番号 1～111。
1 は SFC の 1 番目のパラメータを表し、2 は 2 番目のパラメータを表す。

•

イベント番号 0～127。このイベント番号は、同期エラーが発生したことを示します。

次の表に、一般エラーコードをリストし、各エラーの説明を示します。
Bits 15
1

8
Parameter number

7

Event number

0

Sign

注記
RET_VAL に一般エラーコードが入力された場合、以下の可能性があります。
•

SFC に関連するアクションが開始したか、既に完了している•アクションの実行時に固有の SFC エラーが発生した。ただし、後で発生した一般エラーが原因
で固有エラーが発生した場合、この固有エラーは示されません。

固有エラーの情報
一部のシステムファンクション (SFC) では、固有エラーコードを示す戻り値が示されます。この
エラーコードは、特定のシステムファンクションに関連するエラーがファンクションの実行中に発生したことを示します (図を参照)。固有エラーコードは、次の 2 つの数字で構成されます。
•

エラークラス 0～7•

エラー番号 0～15
Bits 15
1

0

8

4 3
7
0
1 Error class Error no.

Sign

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

89

SFC の共通パラメータ
2.1 出力パラメータ RET_VAL によるエラーの評価

一般エラーコード
次の表では、戻り値に含まれる一般エラーコードを説明します。エラーコードは 16 進形式で示されています。各コード番号のアルファベット x はプレースホルダであり、システムファンクションのどのパラメータ番号がエラーの原因となったかを示します。
エラーコード (W#16#...) 説明
8x7F

内部エラー
このエラーコードは、パラメータ x での内部エラーを示しています。

8x01

ANY パラメータの構文 ID が不正です。

8x22
8x23

パラメータ読み取り時の領域長エラーです。
パラメータ書き込み時の領域長エラーです。
このエラーコードは、パラメータ x が完全にまたは部分的にアドレス範囲から外れていることを、または ANY パラメータのビットフィールド長が 8 の倍数でないことを示しています。

8x24
8x25

パラメータ読み取り時の領域エラーです。
パラメータ書き込み時の領域エラーです。
このエラーコードは、システムファンクションに許可されていない領域にパラメータ xがあることを示しています。不正領域については、各ファンクションの説明を参照して
ください。

8x24
8x25

パラメータ読み取り時の領域エラーです。
パラメータ書き込み時の領域エラーです。
このエラーコードは、システムファンクションに許可されていない領域にパラメータ xがあることを示しています。不正領域については、各ファンクションの説明を参照して
ください。

8x26

タイマロケーションとして大きすぎる数値がパラメータに含まれています。
このエラーコードは、パラメータ xで指定されたタイマが存在しないことを示しています。

8x27

カウンタ番号として大きすぎる数値がパラメータに含まれています(カウンタ番号エラー)。
このエラーコードは、パラメータ x で指定されたカウンタが存在しないことを示してい
ます。

8x28
8x29

パラメータ読み取り時のアライメントエラーです。
パラメータ書き込み時のアライメントエラーです。
このエラーコードは、パラメータ x への参照が、0 以外のビットアドレスであることを示しています。

8x30
8x31

パラメータが、リードオンリーのグローバル DB 内にあります。
パラメータが、リードオンリーのインスタンス DB 内にあります。
このエラーコードは、パラメータ x がリードオンリーのデータブロック内にあることを示しています。データブロックがシステムファンクションで開かれた場合、システム
ファンクションは常に値 W#16#8x30 を出力します。

8x32
8x34
8x35

DB 番号として大きすぎる数値がパラメータに含まれています (DB 番号エラー)。
FC 番号として大きすぎる数値がパラメータに含まれています (FC 番号エラー)。
FB 番号として大きすぎる数値がパラメータに含まれています (FB 番号エラー)。
このエラーコードは、パラメータ x に含まれているブロック番号が最大限度を超えていることを示しています。

8x3A
8x3C
8x3E

ロードされていない DB の番号がパラメータに含まれています。
ロードされていない FC の番号がパラメータに含まれています。
ロードされていない FB の番号がパラメータに含まれています。

8x42

システムがペリフェラル入力領域からパラメータ読み取りを試みたときにアクセス
エラーが発生しました。
システムがペリフェラル入力領域へのパラメータ書き込みを試みたときにアクセス
エラーが発生しました。

8x43
8x44

エラー発生後、n 回目(n>1)の読み取りアクセスでのエラーです。

8x45

エラー発生後、n 回目(n>1)の書き込みアクセスでのエラーです。
このエラーコードは、必要なパラメータへのアクセスが拒否されたことを示しています。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
90

リファレンスマニュアル, 05/2017, A5E41733394-AA

SFC の共通パラメータ2.2 非同期 SFC のパラメータ REQ、RET_VAL、BUSY の意味

2.2

非同期 SFC のパラメータ REQ、RET_VAL、BUSY の意味

非同期 SFC
非同期的に動作する SFC は、複数回呼び出されてから機能が完了する SFC です。次の SFC は、
常に、あるいは特定の状況で非同期的に実行します。
•

SFC 7 "DP_PRAL"•

SFC 11 "DPSYC_FR"•

SFC 12 "D_ACT_DP"•

SFC 13 "DPNRM_DG"•

SFC 51 "RDSYSST"•SFC 55 "WR_PARM"•

SFC 56 "WR_DPARM"•

SFC 57 "PARM_MOD"•

SFC 58 "WR_REC"•

SFC 59 "RD_REC"•

SFC 65 "X_SEND"•SFC 67 "X_GET"•SFC 68 "X_PUT"•

SFC 69 "X_ABORT"•SFC 72 "I_GET"•SFC 73 "I_PUT"•

SFC 74 "I_ABORT"•SFC 82 "CREA_DBL"•

SFC 83 "READ_DBL"•

SFC 84 "WRIT_DBL"•

SFC 90 "H_CTRL"•

SFC 102 "RD_DPARA"•SFC 103 "DP_TOPOL"•

SFC 114 "PN_DP"

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

91

SFC の共通パラメータ2.2 非同期 SFC のパラメータ REQ、RET_VAL、BUSY の意味

ジョブの識別ハードウェア割り込みをトリガすると、出力制御コマンドが DP スレーブに出力されてデータ転送が開始するか、あるいは、コンフィグレーションされていない接続が上記の SFC のいずれかによってアボートし、同じ SFC が再度呼び出されて現在のジョブが完了します。SFC への応答は、2 番目の呼び出しに同じジョブが含まれるか否かによって異なります。
次の表に、どの入力パラメータがどのジョブを指定するのかをこれらの SFC ごとに説明します。
これらのパラメータがまだ完了していないジョブのパラメータと一致する場合、SFC 呼び出しは次に続く呼び出しとしてカウントされます。
SFC

ジョブの識別7 "DP_PRAL"

IOID、LADDR

11"DPSYC_FR"LADDR, GROUP, MODE

12 "D_ACT_DP"

LADDR

13 "DPNRM_DG"

LADDR

51 "RDSYSST"SSL_ID, INDEX

55 "WR_PARM"

IOID, LADDR, RECNUM

56 "WR_DPARM"

IOID, LADDR, RECNUM

57 "PARM_MOD"

IOID、LADDR

58 "WR_REC"

IOID, LADDR, RECNUM

59 "RD_REC"

IOID, LADDR, RECNUM

65 "X_SEND"

DEST_ID, REQ_ID

67 "X_GET"

DEST_ID、VAR_ADDR

68 "X_PUT"

DEST_ID、VAR_ADDR

69 "X_ABORT"DEST_ID

72 "I_GET"IOID, LADDR, VAR_ADDR

73"I_PUT"

IOID, LADDR, VAR_ADDR

74 "I_ABORT"IOID、LADDR

82 "CREA_DBL"

LOW_LIMIT, UP_LIMIT, COUNT, ATTRIB, SRCBLK

83 "READ_DBL"

SRCBLK, DSTBLK

84 "WRIT_DBL"

SRCBLK, DSTBLK

90 "H_CTRL"

MODE, SUBMODE

102 "RD_DPARA"LADDR, RECNUM

103 "DP_TOPOL"

DP_ID

114 "PN_DP"-

入力パラメータ REQ
入力パラメータ REQ(要求)は、ジョブを開始するために使用されます。
•

アクティブでないジョブに SFC を呼び出す場合、REQ = 1 でジョブが開始します (ケース 1)。

•

特定のジョブの開始してからまだ完了していないときに、SFC を再度呼び出して同じジョブを実行すると (たとえば、周期割り込み OB において)、SFC は REQ を評価しません (ケース 2)。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
92

リファレンスマニュアル, 05/2017, A5E41733394-AA

SFC の共通パラメータ2.2 非同期 SFC のパラメータ REQ、RET_VAL、BUSY の意味

出力パラメータ RET_VAL および BUSY
ジョブ実行の状態は、出力パラメータ RET_VAL と BUSY で示されます。
出力パラメータ RET_VAL によるエラーの評価に記載される注記も参照してください。
•

ケース 1 (REQ=1 での最初の呼び出し) では、システムリソースに空きがあって、入力パラメータが正しい場合、RET_VAL に W#16#7001 が入力されます。次に BUSY が設定されます。
必要なシステムリソースが現在使用されているか、入力パラメータにエラーがある場合は、対応
するエラーコードが RET_VAL に入力され、BUSY の値は 0 です。

•

ケース 2 (同じジョブがアクティブな間の呼び出し)では、RET_VAL に W#16#7002 が入力され(これは、ジョブがまだ処理中であるという警告です)、BUSY が設定されます。

•

ジョブの最後の呼び出しには以下が適用されます。
-

エラーが発生しない場合は、SFC 13 "DPNRM_DG"、SFC 67 "X_GET"、SFC 72 "I_GET"を使用して、供給されたデータの番号がバイトの正数で RET_VAL に入力されます。BUSY
では、値は 0 になります。
エラーが発生した場合、RET_VAL の内容は以下のようになります。この場合、BUSY は評価されません。

-

エラーが発生しない場合は、SFC 59 "RD_REC"を使用して、データレコードのサイズがバイトで RET_VAL に入力されるか、値は 0 です (SFC 59 "RD_REC"によるデータレコードの読み取りを参照)。この場合、BUSY の値は 0 です。エラーが発生すると、エラー情報がRET_VAL に入力され、BUSY の値は 0 になります。

-

他のすべての SFC で、エラーなしでジョブが実行された場合、RET_VAL に 0 が入力され、BUSY の値は 0 になります。エラーが発生すると、エラー情報が RET_VAL に入力され、BUSY の値は 0 になります。

注記
最初と最後の呼び出しが一緒に実行されると、RET_VAL と BUSY への応答は最後の呼び出しと同じものになります。

そのジョブによって使用されるリソース
すべてのジョブが CPU リソースを使用します。たとえば、SFC 59 "RD_REC" では、ターゲット
範囲のメモリスペースが使用されます。これらのリソースはこのジョブのみに排他的に割り付けられます。SFC が有効である限り(すなわち、BUSY の値が 1 である限り)、これらのリソースは割り付けられます。
使用中のリソースは、他の目的のために使用したり変更したりすることはできません。たとえば、
SFC 59 "RD_REC" の場合、ターゲット範囲の長さや内容を変更することはできません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

93

SFC の共通パラメータ2.2 非同期 SFC のパラメータ REQ、RET_VAL、BUSY の意味

概要
次の表に、上記で説明した関係についての概要を説明します。特に、SFC の呼び出し後にジョブの実行が完了していない場合に、出力パラメータに出力される値を示します。

注記
呼び出しの後には、関連する出力パラメータをプログラムで評価する必要があります。

ジョブの実行中の呼び出し、REQ、RET、RET_VAL、BUSY の関係
呼び出しの番号

呼び出しのタイプ REQ

RET_VAL

BUSY

1

最初の呼び出し1

W#16#7001

1

2 ～ (n - 1)

エラーコード0

中間呼び出し対象外

W#16#7002

1

N

最後の呼び出し対象外

エラーが発生しない場合は、W#16#0000 0(例外: 指定領域が転送されたデータレコー
ドよりも大きい場合は SFC 59"RD_REC" 、およびSFC 13 "DPNRM_DG"、SFC 67 "X_GET"、SFC 72 "I_GET")
エラーが発生した場合はエラーコード

0

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
94

リファレンスマニュアル, 05/2017, A5E41733394-AA

3

コピーファンクションとブロックファンクション

3.1

SFC 20 "BLKMOV"によるメモリエリアのコピー

説明
SFC 20 "BLKMOV" (ブロックの移動) を使用して、メモリ領域 (=ソース領域) の内容を別のメモリ
領域 (=指定領域) にコピーします。
許可されたソース領域には次のものがあります。
•

データブロックの一部•

メモリビット•

入力用プロセスイメージパーティション(パートプロセスイメージ)•

出力用プロセスイメージパーティション(パートプロセスイメージ)

ソースパラメータは、プログラム実行と関係のないロードメモリ内のデータブロックに置くこともできます(キーワード UNLINKED でコンパイルされる DB)。

注記
SFC 83 が CPU に含まれている場合は、プログラムの実行に関連しないデータブロックを読み取る
ために SFC 83 を使用する必要があります。SFC 20 を使用する場合は、エラーW#16#8092 が出力されます。

DB10. DBW4

A

B

DB10. DBW6

C

D

DB10. DBW8
DB10. DBW10

E

F

G

H

Copy

Data is copiedin the direction ofascending
addresses
MW 10
MW 12

A
C

B
D

MW 14

E

F

MW 16

G

H

Memory area

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

95

コピーファンクションとブロックファンクション
3.1 SFC 20 "BLKMOV"によるメモリエリアのコピー

ソースデータと指定データの一貫性
SFC20 "BLKMOV"の実行中は、ソースデータは変化しないことに注意してください。そうでないと、
ターゲットデータの一貫性を保証できません。

割り込みの可能性
ソース領域がロードメモリ内のみに存在するデータブロックの一部でない限り、ネスティングの深さに制限はありません。
ただし、
プログラムの実行に関係しない DB からコピーしている間に SFC 20 が割り込みをかけても、
SFC 20 の実行はネストされません。
パラメータ 宣言

データタイプ メモリ領域

説明

SRCBLK

INPUT

ANY

I、Q、M、
D、L

コピーするメモリ領域(ソース領域)を 指定します。
データタイプ STRING のアレイは、使用できません。

RET_VALOUTPUT

INT

I、Q、M、
D、L

ファンクションの実行中にエラーが発生すると、戻り値にエラーコードが示されます。

DSTBLKOUTPUT

ANY

I、Q、M、
D、L

データのコピー先となるメモリ領域(指定領域)を指定します。データタイプ STRING のアレイは、使用できません。

ソースフィールドと指定フィールドの条件
ソース領域と指定領域は重複しないようにします。指定したターゲットフィールドがソースフィー
ルドよりも大きい場合は、ソースフィールドに実際に含まれているデータ量のみが指定フィールドにコピーされます。
指定した指定フィールド(DSTBLK パラメータ)がソースフィールド(SRCBLK パラメータ)よりも小さい場合は、ソースフィールドに含まれているデータのうち、指定フィールドに収納できる量だけがコピーされます。
実際に存在する指定フィールドまたはソースフィールドが、パラメータ(SRCBLK、DSTBLK)で設定されているソースフィールドまたは指定フィールドのメモリ領域のサイズより小さい場合の動作は、CPU タイプによって異なります。
•

S7-300 CPU: データは伝送されません。RET_VAL の値は W#16#837F になります。

•

次は、S7-400 V4 CPU(標準 CPU V4、H-CPU V4 および V4.5)に当てはまります: データは伝送されません。
次は、その他すべての S7-400 CPU に当てはまります: データは伝送されます。
すべての S7-400 CPU で、RET_VAL はエラーを示し、エラーコード W#16#8122 またはW#16#8323 が格納されます。ユーザープログラムでは常に、これらの RET_VAL を評価する
ことを確認してください。

ANY ポインタ(ソースまたは指定)のタイプが BOOL の場合、8 で割れる長さを指定しないとコピーできません。
SRCBLK および DSTBLK パラメータにデータタイプ STRING の変数を使用すると、STEP 7 はこれらの変数を、BYTE の ARRAY(最大長と現在長が格納された 2 つの管理バイトを含む)として解釈します。SFC20 のバイト単位コピーの結果: これは、最大長を含むバイト、現在長を含むバイト、
および実際の文字列がコピーされることを意味します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
96

リファレンスマニュアル, 05/2017, A5E41733394-AA

コピーファンクションとブロックファンクション
3.1 SFC 20 "BLKMOV"によるメモリエリアのコピー
SRCBLK と DSTBLK のいずれかまたは両方にデータタイプ STRING が使用されている場合、対応する ANY ポインタはユーザー自身で設定する必要があります。ソースが STRING の場合、最大で
STRING にある現在の文字だけがコピーされます。ソースおよび指定がともに STRING の場合、指定した文字列の現在の長さが、コピーする文字数として設定されます。

注記
SFC20 BLKMOV を使用して、ランタイムと無関係な DB をワークメモリにコピーし、同時に PGなどから再ロードすると、SFC が数ミリ秒遅れることがあります。これにより OB サイクルが長くなり、スキャンタイムウォッチドッグがトリガされることがあります。CPU が SFC20 を使用してこのブロックをコピーしているときは、このブロックの再ロードを避けてください。

エラー情報
エラーコード(W#16#...)

説明

0000

エラーは発生していません。

8091

ネストレベルを超えています。

8092

使用できない(書き込み禁止、アンロード時動作不可) データブロックにアクセスしたので、
SFC 20 "BLKMOV"を実行することはできません。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

97

コピーファンクションとブロックファンクション
3.2 SFC 81 "UBLKMOV"による変数の連続コピー

3.2

SFC 81 "UBLKMOV"による変数の連続コピー

説明
SFC 81 "UBLKMOV" (連続ブロック移動) を使用して、メモリ領域 (=ソース領域) の内容を一貫して別のメモリ領域 (=指定領域) にコピーすることができます。他のオペレーティングシステムのアク
ティビティにより、コピー操作に割り込みをかけることはできません。
SFC 81 "UBLKMOV"を使用して、次のメモリ領域以外のすべてのメモリ領域をコピーできます。
•

次のブロックタイプ: FB、SFB、FC、SFC、OB、SDB

•

カウンタ

•

タイマ

•

周辺 I/O 領域のメモリ領域•

不適切なランタイムブロック

最大 512 バイトのデータをコピーできます。CPU ごとの制限事項に注意してください。たとえば、
次のような事項が命令リストに記載されています。
ソースパラメータも、リンクされていないデータブロック (キーワード UNLINKED でコンパイル
済みの DB) のロードメモリに含まれます!

割り込みの可能性、割り込み応答時間
コピーに割り込みをかけることはできません。SFC 81 "UBLKMOV"を使用している場合は、CPUの割り込み応答時間が増えることを覚えておいてください。
パラメータ

宣言

タイプ

メモリ領域

説明

SRCBLK

INPUT

ANY

I、Q、M、D、L

コピーするメモリ領域(ソース領域)を指定します。データタイプ STRING のアレイは、使用できません。

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、戻り値にエラーコードが示されます。

DSTBLKOUTPUT

ANY

I、Q、M、D、L

データのコピー先となるメモリ領域(指定領域)を 指定します。
データタイプ STRING のアレイは、使用できません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
98

リファレンスマニュアル, 05/2017, A5E41733394-AA

コピーファンクションとブロックファンクション
3.2 SFC 81 "UBLKMOV"による変数の連続コピー

ソースフィールドと指定フィールドの条件
ソース領域と指定領域は重複しないようにします。指定したターゲット領域がソース領域よりも大きい場合は、ソース領域に実際に含まれているデータ量のみが指定領域にコピーされます。
指定した領域がソース領域よりも小さい場合は、ソース領域に含まれているデータのうち、ソース
指定領域に書き込める量だけがコピーされます。
実際に存在する指定フィールドまたはソースフィールドが、パラメータ(SRCBLK、DSTBLK)で設定されているソースフィールドまたは指定フィールドのメモリ領域のサイズより小さい場合の動作は、CPU タイプによって異なります。
•

S7-300 CPU: データは伝送されません。RET_VAL の値は W#16#837F になります。

•

次は、S7-400 V4 CPU(標準 CPU V4、H-CPU V4 および V4.5)に当てはまります: データは伝送されません。
次は、その他すべての S7-400 CPU に当てはまります: データは伝送されます。
すべての S7-400 CPU で、RET_VAL はエラーを示し、エラーコード W#16#8122 またはW#16#8323 が格納されます。ユーザープログラムでは常に、これらの RET_VAL を評価する
ことを確認してください。

ANY ポインタ(ソースまたは指定先)がタイプ BOOL の場合、8 で割り切れる数字を長さに指定しなければなりません。8 で割り切れない場合、SFC は実行されません。
ANY ポインタのタイプが STRING の場合、長さには 1 を指定しなければなりません。

エラー情報
エラーコード (W#16#...)

説明

0000

エラーは発生していません。

8091

ソース領域は、リンクされていないデータブロックです。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

99

コピーファンクションとブロックファンクション
3.3 SFC 21 "FILL"によるメモリ領域の初期化

3.3

SFC 21 "FILL"によるメモリ領域の初期化

説明
SFC 21 "FILL"により、別のメモリ領域 (ソース領域) の内容でメモリ領域 (指定領域) を初期化することができます。SFC は、指定領域が、ソース領域の内容で完全に埋まるまでコピーを継続します。

ソースフィールドと指定フィールドの条件
ソース領域と指定領域は重複しないようにします。
事前に割り付ける指定領域の長さが、入力パラメータ BVAL の長さの整数倍でない場合でも、指定領域の最終バイトまでデータが書き込まれます。
指定したターゲットフィールドがソースフィールドよりも小さい場合は、指定フィールドに書き込める量のデータだけがコピーされます。
実際に存在する指定フィールドまたはソースフィールドが、パラメータ(BVAL、BLK)で設定されているソースフィールドまたは指定フィールドのメモリ領域のサイズより小さい場合の動作は、CPU
タイプによって異なります。
•

S7-300 CPU: データは伝送されません。RET_VAL の値は W#16#837F になります。

•

次は、S7-400 V4 CPU(標準 CPU V4、H-CPU V4 および V4.5)に当てはまります: データは伝送されません。
次は、その他すべての S7-400 CPU に当てはまります: データは伝送されます。
すべての S7-400 CPU で、RET_VAL はエラーを示し、エラーコード W#16#8122 またはW#16#8323 が格納されます。ユーザープログラムでは常に、これらの RET_VAL を評価する
ことを確認してください。

ANY ポインタ(ソースまたは指定先)がタイプ BOOL の場合、8 で割り切れる数字を長さに指定しなければなりません。8 で割り切れない場合、SFC は実行されません。
指定領域がデータタイプ STRINGSFC21 の場合、SFC "FILL"によって管理情報を含む文字列全体が書き込まれます。
FILL
A B

BVAL

A B

MW100

C D

MW102

MW18

E F

MW104

MW20

G H

MW106

C D

MW14
MW16

E F
G H

BLK

A B

MW108

C D

MW110

E F

MW112

G H
A B

MW114
MW116

C D

MW118

Example: The content of the area MW100 to MW118 will be
written with the contents of memory words MW14 to MW20.

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2100

リファレンスマニュアル, 05/2017, A5E41733394-AA

コピーファンクションとブロックファンクション
3.3 SFC 21 "FILL"によるメモリ領域の初期化

ソースデータと指定データの一貫性
SFC21 "FILL"の実行中は、ソースデータは変化しないことに注意してください。そうでないと、ター
ゲットデータの一貫性を保証できません。

例外
次のものはソースフィールドとして使用できません。
•

カウンタ

•

タイマ

SFC 21 を使用して、次のものに値を書き込むことはできません。
•

次のブロックタイプ: FB、SFB、FC、SFC、SDB

•

カウンタ

•

タイマ

•

ペリフェラル I/O 領域のメモリ領域

パラメータ

宣言

データタイプ メモリ領域

説明

BVAL

INPUT

ANY

I、Q、M、D、L

パラメータ BVAL には、指定領域(ソース領域)の初期化に使用される内容が格納されている領域に関する説明が含まれています。データ
タイプ STRING のアレイは、使用できません。

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、戻り値にエラーコードが示されます。

BLK

OUTPUT

ANY

I、Q、M、D、L

パラメータ BLK には、初期化される領域(指定領域)に関する説明が含まれています。データ
タイプ STRING のアレイは、使用できません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

101

コピーファンクションとブロックファンクション
3.3 SFC 21 "FILL"によるメモリ領域の初期化

入力パラメータがストラクチャの場合
ストラクチャを入力パラメータとして転送する場合は、次の点を考慮する必要があります。
STEP 7 は常に、ストラクチャの長さを偶数バイトで定義します。このため、奇数バイトのストラ
クチャを宣言すると、このストラクチャにはさらに 1 バイトが必要になります。
例
ストラクチャは以下のように宣言されました。
TYP_5_BYTE_STRUCTURE : STRUCTBYTE_1_2: WORDBYTE_3_4: WORDBYTE_5: BYTE
END_STRUCT
ストラクチャ"TYP_5_BYTE_STRUCTURE"を宣言するには、6 バイトのメモリが必要です。

エラー情報
SFC 21 "FILL"だけが一般的な(特定でない)エラー情報を提供します。「出力パラメータ RET_VAL
によるエラーの評価」を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
102

リファレンスマニュアル, 05/2017, A5E41733394-AA

コピーファンクションとブロックファンクション
3.4 SFC 22 "CREAT_DB"によるデータブロックの作成

3.4

SFC 22 "CREAT_DB"によるデータブロックの作成

説明
SFC 22 "CREAT_DB" (データブロックの作成) を使用して、初期化された値を含んでいないデータ
ブロックを作成します。その代わり、このデータブロックはランダムデータを含んでいます。このSFC でデータブロックを作成する場合、指定された範囲のブロック番号を使って長さを選択することができます。指定された範囲の DB には最小数を割り付けられます。特定の番号で DB を作成
したい場合は、上限値と下限値に同じ値を指定して範囲を選択します。同じ番号の DB が既にユー
ザープログラムに存在している場合、その番号を割り付けることはできません。DB の長さは、偶数バイトでなければなりません。

割り込みの可能性
SFC 22 "CREAT_DB"で、優先度の高い OB による割り込みをかけることができます。SFC 22"CREAT_DB"が優先度の高い OB で再び呼び出された場合、この呼び出しはエラーコード
W#16#8091 で棄却されます。
パラメータ

宣言

データタイプ

メモリ領域

説明

LOW_LIMIT

INPUT

WORD

I、Q、M、D、L、
定数

下限値は、データブロックに 割り付け
可能な番号範囲の 最小値です。

UP_LIMIT

INPUT

WORD

I、Q、M、D、L、
定数

上限値は、データブロックに 割り付け
可能な番号範囲の最大値です。

COUNT

INPUT

WORD

I、Q、M、D、L、
定数

カウンタ値は、ユーザがデータブロックに 確保しておくデータバイト数を指定します。ここでは、偶数バイト (最大65534)を指定する必要があります。

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、戻り値にエラーコードが示されます。

DB_NUMBEROUTPUT

WORD

I、Q、M、D、L

データブロック番号は、作成されたデー
タブロックの番号です。エラーが発生すると(RET_VAL のビット 15 が設定された)、値 0 が DB_NUMBER に入力されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

103

コピーファンクションとブロックファンクション
3.4 SFC 22 "CREAT_DB"によるデータブロックの作成

エラー情報
エラーコード(W#16#...)

説明

0000

エラーは発生していません。

8091

ネストされた SFC 22 を呼び出しました。

8092[DB の作成]ファンクションは、次の理由で現在実行できません。

80A1

80A2

•

[ユーザーメモリの圧縮]ファンクションが現在アクティブです。

•

CPU 内の DB の数が、最大数に既に達しています。

•

H CPU がカップリングまたは更新ファンクションを実行しています。

•

WinAC ソフトウェアの CPU は、WinAC がインストールされているコンピュータのオペレーティングシステムでエラーを検出しました。

•

前の削除アクションは完了していません。

DB 番号に以下のエラーが存在します。
•

番号が 0 です。

•

番号が、特定の CPU の DB 番号を超えています。

•

パラメータ 限値 > 上限値

DB 長に以下のエラーが存在します。
•

長さが 0 です。

•

指定された長さが奇数となっています。

•

長さが CPU の許容値を超えています。

80B1

使用できる DB 番号がありません。

80B2

使用可能な空きメモリが不足しています。

80B3

使用可能な連続したメモリスペースが不足しています (対策: メモリを圧縮してください!)

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
104

リファレンスマニュアル, 05/2017, A5E41733394-AA

コピーファンクションとブロックファンクション
3.5 SFC 23 "DEL_DB"によるデータブロックの削除

3.5

SFC 23 "DEL_DB"によるデータブロックの削除

説明
SFC 23 "DEL_DB" (データブロックの削除) を使用して、ワークメモリに置かれているデータブロッ
クと、CPU のロードメモリ (存在する場合) に置かれているデータブロックを削除します。削除する
DB は、現在の優先度クラスや、その DB よりも低いすべての優先度クラスで開いていないことが条件になります。つまり、2 つの DB レジスタのいずれかに、あるいは B スタックに入力することはできません。その条件に当てはまらない場合は、SFC 23が呼び出されると CPU は OB121 を開始します。OB12 1が存在しない場合は、CPU は STOP モードに切り替わります。S7-300 の場合(例外: CPU 318)、DB は OB121 を呼び出さずに削除されます。

注記
SFC 23 "DEL_DB"を使用してインスタンス DB を削除する方法は望ましくありません。これは常にプログラムエラーの原因になります。SFC 23 を使用してインスタンス DB を削除しないでください!

次の表は、SFC 23 "DEL-DB"を使用して DB を削除できる場合について説明しています。
状況

結果

SFC 22 "CREAT_DB"を呼び出して、DB が作成された。

SFC 23 で削除できる。

DB を STEP 7 を使って CPU に転送したため、キーワード UNLINKED を使って作成しなかった。

SFC 23 で削除できる。

キーワード UNLINKED を使って、DB が作成された。

•

S7-300 では、SFC
23 で削除できる。

•

S7-400 では、SFC
23 で削除できない。

SFC 82 "CREA_DBL"を呼び出して、DB が作成された。

SFC 23 で削除できる。

DB はフラッシュカードに格納されている。

SFC 23 で削除できない。

割り込みの可能性
高優先度の優先度クラスにより、SFC 23 "DEL_DB"は割り込みをかけることができます。ここでSFC が再度呼び出されると、SFC の 2 回目の呼び出しは取り消され、RET_VAL に W#16#8091 が入力されます。
パラメータ

宣言

データタイプ

メモリ領域

説明

DB_NUMBER

INPUT

WORD

I、Q、M、D、L、定数削除する DB の番号です。

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

105

コピーファンクションとブロックファンクション
3.5 SFC 23 "DEL_DB"によるデータブロックの削除

エラー情報
エラーコード 説明(W#16#...)
0000

エラーは発生していません。

8091

SFC 23 の呼び出しがネストされて、使用している CPU の最大ネスティングレベルが超過し
ました。

8092

"DB の削除"ファンクションは、現在次の理由で実行できません。
•

80A1[ユーザーメモリの圧縮]ファンクションが現在アクティブです。

•

CPU から削除される DB をオフラインプロジェクトへコピーしようとしています。

•

H CPU がカップリングまたは更新ファンクションを実行しています。

•

WinAC がインストールされているコンピュータのオペレーティングシステムで、WinAC
ソフトウェアの CPU がエラーを検出しました。

入力パラメータ DB_NUMBER におけるエラー: 選択された実パラメータは次のとおりです。
•

0 になっています。

•

使用している CPU の最大許容 DB 番号よりも大きくなっています。

80B1

指定した番号をもつ DB が CPU のワークメモリに存在していません。

80B2

指定した番号の DB がキーワード UNLINKED を使用して作成されています。
(S7-400 のみ)

80B3

DB はフラッシュカードに格納されています。

80B4

この DB を検出できません。考えられる原因:•

これは F プログラムに属しています。

•

これは S7 通信用(S7-400 専用)ブロックのインスタンス DB です。

•

これはテクノロジ DB です。

80C1

テンポラリなリソースのボトルネックのため、[DB の削除]ファンクションは現在実行できま
せん。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
106

リファレンスマニュアル, 05/2017, A5E41733394-AA

コピーファンクションとブロックファンクション
3.6 SFC 24 "TEST_DB"によるデータブロックのテスト

3.6

SFC 24 "TEST_DB"によるデータブロックのテスト

説明S7-300 では、SFC24 "TEST_DB"(データブロックのテスト)によって、CPU のワークメモリまたは
ロードメモリにあるデータブロックについての情報が得られます。S7-400 では、CPU のワーク
メモリにあるデータブロックについての情報が得られます。SFC は、選択された DB 内のデータバイト数を問い合わせて、DB が書き込み保護されているかどうかをチェックします。
パラメータ

宣言

データタイプ メモリ領域

DB_NUMBER

INPUT

WORD

I、Q、M、D、L、 テスト対象の DB の番号です。
定数

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報
選択した DBに含まれているデータバイト
数です。
DB の書き込み禁止識別子に 関する情報(1 はリードオンリー)

DB_LENGTHOUTPUT

WORD

I、Q、M、D、L

WRITE_PROTOUTPUT

BOOL

I、Q、M、D、L

説明

エラー情報
エラーコード (W#16#...)

説明

0000

エラーは発生していません。

80A1

入力パラメータ DB_NUMBER におけるエラー: 選択された実パラメータは次のとおりです。
•

0 になっています。

•

使用している CPU の最大許容 DB 番号を超えています。

80B1

指定した番号をもつ DB が CPU 上に存在していません。

80B2

DB がキーワード UNLINKED によって作成されています。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

107

コピーファンクションとブロックファンクション
3.7 SFC 25 "COMPRESS"によるユーザーメモリの圧縮

3.7

SFC 25 "COMPRESS"によるユーザーメモリの圧縮

メモリ内のギャップ
データブロックを削除してから再ロードするという作業を何度も行うと、ロードメモリとワーク
メモリの両方にギャップが生じる場合があります。このギャップが原因で、メモリ領域の効率性が低くなります。

説明
SFC 25 "COMPRESS"を使用して、ロードメモリとワークメモリ両方の RAM セクションの圧縮を起動します。圧縮ファンクションは、RUN-P モード(モードセレクタ設定)で外部起動される圧縮と同じです。
圧縮が外部で起動して、アクティブのままである場合、SFC 25 を呼び出すとエラーメッセージが現れます。
パラメータ 宣言

データタイプ

メモリ領域

説明

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

BUSY

OUTPUT

BOOL

I、Q、M、D、LSFC 25 を呼び出して開始した圧縮ファンク
ションがまだアクティブかどうかを示しています。(1 はアクティブを意味する)。

DONE

OUTPUT

BOOL

I、Q、M、D、LSFC 25 で開始した圧縮ファンクションが正常に完了したかどうかを示しています。
(1 は正常に終了したことを意味する)。

圧縮機能のチェックSFC 25 "COMPRESS"が呼び出されると、圧縮ファンクションが開始します。ただし、メモリが正常に圧縮されたかどうかをチェックすることはできません。
圧縮機能をチェックしたい場合は、次のステップに従います。
周期的に SFC 25 を呼び出します。各呼び出しの後で、まずパラメータ RET_VAL を評価します。
このパラメータの値が 0 である場合は、パラメータ BUSY と DONE を評価できます。BUSY=1
および DONE=0 の場合、圧縮機能はまだアクティブになっています。BUSY の値が 0 になり、DONEの値が 1 になると、圧縮が正常に終了したことを示します。その後 SFC 25 が再び呼び出されると、圧縮ファンクションが再び開始します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
108

リファレンスマニュアル, 05/2017, A5E41733394-AA

コピーファンクションとブロックファンクション
3.7 SFC 25 "COMPRESS"によるユーザーメモリの圧縮

エラー情報
エラーコード (W#16#...) 説明
0000

エラーは発生していません。圧縮機能が SFC 25 によって開始されました。
ユーザープログラムによる、出力パラメータ BUSYおよび DONEの評価(上記参照)
は、これが当てはまる場合のみ有用な情報を返します。

8091

圧縮機能が外部的に起動し、現在もアクティブです。

8092

以下が原因で、現段階では[ユーザーメモリの圧縮]ファンクションを実行できま
せん。

8xyy

•

[データブロックの削除]ファンクションが STEP 7によって外部的に起動され、現在もアクティブです。

•

テストとスタートアップの各ファンクションに特定のブロック(たとえばス
テータス)が必要です。

•[ブロックのコピー]ファンクションが外部的に起動され、現在もアクティブです。

•

H CPU がカップリングまたは更新ファンクションを実行しています。

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

109

コピーファンクションとブロックファンクション
3.8 SFC 44 "REPL_VAL"によるアキュムレータ 1 への置換値の転送

3.8

SFC 44 "REPL_VAL"によるアキュムレータ 1 への置換値の転送

説明
SFC 44 "REPL_VAL" (値の置換) を使用して、エラーの原因となる優先度クラスのアキュムレータ 1
へ値を転送します。

制限: 同期エラーの OB に限る
同期エラーの OB (OB121、OB122) 内だけで SFC 44 "REPL_VAL"を呼び出すことができます。

用途の例
入力モジュールが損傷を受け、そこから値を読み出せないようになった場合は、そのモジュールにアクセスするたびに OB 122 が起動します。SFC 44 "REPL_VAL"を使用して、中断した優先度クラスのアキュムレータ 1 へ、OB 122 にある適切な値を転送することができます。置換値を選択する
ための情報 (たとえば、エラーが発生したブロックや、影響を受けたアドレスなど) は、OB 122 のローカル変数に置かれています。
パラメータ 宣言

データタイプ

メモリ領域

説明

VAL

INPUT

DWORD

I、Q、M、D、L、定数

置換値

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、戻り値にエラーコードが示されます。

エラー情報
エラーコード (W#16#...)

説明

0000

エラーは発生していません。置換値が入力されました。

8080

SFC 44 は、同期エラーの OB (OB 121、OB 122) では呼び出されません。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
110

リファレンスマニュアル, 05/2017, A5E41733394-AA

コピーファンクションとブロックファンクション
3.9 SFC 82 "CREA_DBL"によるロードメモリでのデータブロックの生成

3.9

SFC 82 "CREA_DBL"によるロードメモリでのデータブロックの生成

説明
SFC 82 "CREA_DBL" (ロードメモリでのデータブロックの作成) を使用して、ロードメモリ (マイクロメモリカード) に新しいデータブロックを作成できます。SFC 82 は、指定された範囲からの番号を使用してデフォルトサイズのデータブロックを生成します。また、SFC 82 は有効な最も小さい番号を DB に割り付けます。指定する範囲の上限値と下限値に同じ番号を割り付けて、ある
一定の番号で DB を生成することができます。ユーザープログラムに存在する DB に既に割り付けられている番号は、割り付けることはできません。ワークメモリおよび (または) ロードメモリに同じ番号の DB が既に存在する場合、またはコピーされたバージョンとして DB が存在する場合は、SFC が終了してエラーメッセージが生成されます。

注記
SFC 24 "TEST_DB"を使用して、同じ番号の DB が既に存在するかどうか確かめることができます。

パラメータ SRCBLK(ソースブロック)の指すデータ領域の内容は DB へ書き込まれます。このデータ
領域は、DB または DB から開始する領域である必要があります。一貫性を保つために、SFC 82 が処理している間に(BUSY パラメータの値が TRUE である限り)、
データ領域を変更しないでください。
SFC 82 では、READ_ONLY 属性の DB だけを作成して初期化することができます。
SFC 82 はユーザープログラムのチェックサムを変更しません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

111

コピーファンクションとブロックファンクション
3.9 SFC 82 "CREA_DBL"によるロードメモリでのデータブロックの生成

動作原理
SFC 82 "CREA_DBL"は、非同期で動作します。つまり、処理は複数の SFC の呼び出しを対象とします。REQ=1 で SFC 82 を呼び出してジョブを開始します。
ジョブのステータスは、出力パラメータ RET_VAL および BUSY を介して表示されます。
参照項目: 非同期 SFC のパラメータ REQ、RET_VAL、BUSY の意味
パラメータ

宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L REQ = 1: DB 生成の要求

LOW_LIMIT

INPUT

WORD

I、Q、M、D、L われわれの DB へ番号を割り付けるために SFC で使用する範囲の下限値

UP_LIMIT

INPUT

WORD

I、Q、M、D、L われわれの DB へ番号を割り付けるために SFC で使用する範囲の上限値

COUNT

INPUT

WORD

I、Q、M、D、L カウント値は、ご使用の DB 用に保存しておきたい
データバイトの量を指定します。ここでは偶数のバイト数を指定する必要があります。

ATTRIB

INPUT

BYTE

I、Q、M、D、L DB プロパティ:
ビット 0 = 1: UNLINKED:

DB はロードメモリにのみ存在します。

ビット 1 = 1: READ_ONLY:
DB は書き込み禁止です。
ビット 2 = 1: NON_RETAIN:
DB は保持されません。
ビット 3～7: 予約済み作成される DB の値とともに初期化されるデータ
領域へのポインタ

SRCBLK

INPUT

ANY

D

RET_VALOUTPUT

INT

I、Q、M、D、L エラー情報

BUSY

OUTPUT

BOOL

I、Q、M、D、L BUSY = 1: 処理は終了していません。

DB_NUMOUTPUT

WORD

I、Q、M、D、L 生成された DB の番号

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
112

リファレンスマニュアル, 05/2017, A5E41733394-AA

コピーファンクションとブロックファンクション
3.9 SFC 82 "CREA_DBL"によるロードメモリでのデータブロックの生成

エラー情報
エラーコード(W#16#...):

説明

0000

エラーは発生していません。

0081

ターゲット範囲がソース範囲よりも大きいです。
ソース領域は完全にターゲット領域に書き込まれています。ターゲット領域の残っている
バイトが 0 で満たされています。

7000

REQ=0 での最初の呼び出し: アクティブなデータ転送はありません; BUSY の値は 0 です。

7001

REQ=1 での最初の呼び出し: アクティブなデータ転送はありません; BUSY の値は 1 です。

7002

中間の呼び出し (REQ は不適切): データ転送は既にアクティブです; BUSY の値は 1 です。

8081

ソース範囲がターゲット範囲よりも大きいです。
ターゲット範囲はすべて書き込まれています。ソース領域の残っているバイトは無視され
ます。

8091

ネストされた SFC 82 を呼び出しました。

8092"DB の生成"の操作は次の理由で現在実行できません。
•"アプリケーションメモリの圧縮"操作が現在アクティブです。

•

使用 CPU のブロック数が既に最大に達しました。

8093

パラメータ SRCBLK にデータブロックが指定されていないか、ワークメモリ内に存在しないデータブロックが指定されています。

8094

まだサポートされていない属性は、ATTRIB パラメータ用に指定されました。

80A1

DB 番号のエラー:

80A2

•

番号が 0 です•

下限値 > 上限値

DB 長さのエラー:•

長さが 0 です•

長さが奇数です•CPU で許可された長さより長いです。

80B1

空いている DB 番号はありません

80B2

メモリ不足

80BB

ロードメモリの不足

80C0

別の SFC または通信操作でターゲットは現在処理されています。

80C3"同時に"アクティブにできる SFC 82 の最大数に、現在達しています。

8xyy

一般エラーコードの例:•

ソース DB が存在しない、またはコピーバージョンとしてのみ使用可能です•

DB にソース領域が存在しません
参照して下さい 出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

113

コピーファンクションとブロックファンクション
3.10 SFC 83 "READ_DBL"によるロードメモリのデータブロックからの読み取り

3.10

SFC 83 "READ_DBL"によるロードメモリのデータブロックからの読み取り

説明
SFC 83 "READ_DBL" (ロードメモリのデータブロックの読み取り) を使用して、DB またはロード
メモリ (マイクロメモリカード) の DB から開始する領域の DB をターゲット DB のデータ領域へ
コピーします。ターゲット DB は、実行に適していなければなりません。言い換えると、属性
UNLINKED を使用して作成しないでください。ロードメモリの内容はコピー処理の間は変更されません。
一貫性を保つために、
SFC 83 が処理している間に(BUSY パラメータの値が TRUE である限り)、
ター
ゲット領域を変更しないでください。
次の制限事項は、パラメータ SRCBLK(ソースブロック)と DSTBLK(指定先ブロック)に適用されます。
•

BOOLEAN タイプの ANY ポインタは、長さが 8 で割り切れるようにします。

•

BOOLEAN タイプの ANY ポインタは、長さが 1 で割り切れなければなりません。

必要であれば、SFC 24 "TEST_DB"でソース DB の長さを確定できます。

注記
SFC 83 は非同期で処理されます。したがって、ロードメモリからの頻繁な(または周期的な)変数の読み取りには適していません。

注記
ジョブは開始していれば、必ず完了します。SFC 83 の同時にアクティブにできる最大数に達して、この時に優先度が高いクラスで SFC 83 がもう一度呼び出された場合、エラーコード W#16#80C3が返されます。このため、優先度の高いジョブを直ちに再スタートしても意味はありません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
114

リファレンスマニュアル, 05/2017, A5E41733394-AA

コピーファンクションとブロックファンクション
3.10 SFC 83 "READ_DBL"によるロードメモリのデータブロックからの読み取り

作業メソッドSFC 83 "READ_DBL"は非同期操作の SFC なので、処理は複数の SFC の呼び出しを対象とします。
REQ=1 で SFC 83 を呼び出してジョブを開始します。
ジョブのステータスは、出力パラメータ RET_VAL および BUSY を介して表示されます。
関連項目非同期 SFC のパラメータ REQ、RET_VAL、BUSY の意味
パラメータ

宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L

REQ = 1: 読み取り要求

SRCBLK

INPUT

ANY

D

読み取られるロードメモリにあるデータブロッ
クへのポインタ

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

BUSY

OUTPUT

BOOL

I、Q、M、D、L

BUSY = 1: 読み取り処理がまだ終了していません。

DSTBLKOUTPUT

ANY

D

書き込まれるワークメモリにあるデータブロッ
クへのポインタ

エラー情報
エラーコード(W#16#...):

説明

0000

エラーは発生していません。

8081

ソース範囲がターゲット範囲よりも大きいです。
ターゲット範囲はすべて書き込まれています。ソース領域の残っているバイトは無視され
ます。

7000

REQ=0 での最初の呼び出し: アクティブなデータ転送はありません; BUSY の値は 0 です。

7001

REQ=1 での最初の呼び出し: アクティブなデータ転送はありません; BUSY の値は 1 です。

7002

中間の呼び出し (REQ は不適切): データ転送は既にアクティブです; BUSY の値は 1 です。

0081

ターゲット範囲がソース範囲よりも大きいです。
ソース領域は完全にターゲット領域に書き込まれています。ターゲット領域の残っている
バイトは変更されません。

80C0

別の SFC または通信操作でターゲットは現在処理されています。

8093

パラメータ DSTBLK にデータブロックが指定されていないか、ワークメモリ内に存在しないデータブロックが指定されています。

80B1

パラメータ SRCBLK にデータブロックが指定されていないか、そこで指定されている
データブロックがロードメモリ内のオブジェクトでない(たとえば、SFC 22 によって生成された DB)。

80B4

F 属性の DB は読み取らないでください。

80C0

指定 DB は現在別の SFC または通信ファンクションによって処理中です。

80C3"同時に"アクティブにできる SFC 83 の最大数に、現在達しています。

8xyy

一般的なエラーコードについては、「出力パラメータ RET_VAL によるエラーの評価」を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

115

コピーファンクションとブロックファンクション
3.11 SFC 84 "WRIT_DBL"によるロードメモリ内のデータブロックの書き込み

3.11

SFC 84 "WRIT_DBL"によるロードメモリ内のデータブロックの書き込み

説明
SFC 84 "WRIT_DBL" (ロードメモリのデータブロックへの書き込み) を使用して、DB またはワーク
メモリから開始する DB領域の内容をマイクロメモリカードの DB または DB 領域へ転送できます。
ソース DB は、処理に適していなければなりません。言い換えると、属性 UNLINKED を使用して作成しないでください。ただし、SFC 22 "CREAT_DB"を使用して作成することもできます。
一貫性を保つために、SFC 84 が処理している間に (BUSY パラメータの値が TRUE である限り)、
ソース領域を変更しないでください。
次の制限事項は、パラメータ SRCBLK(ソースブロック)と DSTBLK(指定先ブロック)に適用されます。
•

BOOLEAN タイプの ANY ポインタは、長さが 8 で割り切れるようにします。

•

STRING タイプの ANY ポインタは、長さが 1 と等しくなるようにします。

必要であれば、SFC 24 "TEST _DB"でターゲット DB の長さを確定できます。
SFC を介して生成された DB を記述する場合、SFC 84 はユーザープログラムのチェックサムを変更しません。ただし、ロードされた DB の書き込み時に、この DB への最初のエントリがユーザープログラムのチェックサムを変更します。
注記
SFC 84 は、ロードメモリに変数を頻繁(または周期的)に書き込むのには適していません。これは、マイクロメモリカードのテクノロジにより、一定数の書き込みアクセス以外はマイクロメモリカード
に対して行うことが許されていないためです。詳細情報については、レファレンスマニュアル『SIMATIC S7-300 プログラマブルコントローラ CPU データ: CPU 31xC および CPU 31x』を参照
してください。

動作原理
SFC 84 "WRIT_DBL"は、非同期で動作します。つまり、処理は複数の SFC の呼び出しを対象とします。REQ=1 で SFC 84 を呼び出してジョブを開始します。
ジョブのステータスは、出力パラメータ RET_VAL および BUSY を介して表示されます。
参照項目: 非同期 SFC のパラメータ REQ、RET_VAL、BUSY の意味
パラメータ

宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L

REQ=1：書き込み要求です。t

SRCBLK

INPUT

ANY

D

読み取られるワークメモリにある DB へのポイ
ンタ

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

BUSY

OUTPUT

BOOL

I、Q、M、D、L

BUSY = 1: 書き込み処理がまだ終了していません。

DSTBLKOUTPUT

ANY

D

書き込まれるロードメモリにあるデータブロッ
クへのポインタ

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
116

リファレンスマニュアル, 05/2017, A5E41733394-AA

コピーファンクションとブロックファンクション
3.11 SFC 84 "WRIT_DBL"によるロードメモリ内のデータブロックの書き込み

エラー情報
エラーコード(W#16#...):

説明

0000

エラーは発生していません。

0081

ターゲット範囲がソース範囲よりも大きいです。
ソース領域は完全にターゲット領域に書き込まれています。ターゲット領域の残っている
バイトは変更されません。

7000

REQ=0 での最初の呼び出し: アクティブなデータ転送はありません; BUSYの値は 0 です。

7001

REQ=1 での最初の呼び出し: アクティブなデータ転送はありません; BUSYの値は 1 です。

7002

中間の呼び出し (REQ は不適切): データ転送は既にアクティブです; BUSY の値は 1 です。

8081

ソース範囲がターゲット範囲よりも大きいです。
ターゲット範囲はすべて書き込まれています。ソース領域の残っているバイトは無視され
ます。

8092

不正な動作モード: SFC 84 がアクティブの時は、CPU は STOP モードになります。この
エラーコードは、次に RUN モードへ移行するときに供給されます。SFC 84 を再び呼び
出します。

8093

パラメータ SRCBLK にデータブロックが指定されていないか、ワークメモリ内に存在しないデータブロックが指定されています。

80B1

パラメータ DSTBLK にデータブロックが指定されていないか、そこで指定されている
データブロックがロードメモリ内のオブジェクトでない(たとえば、SFC 22 によって生成された DB)。

80B4

F 属性の DB は変更しないでください。

80C0

別の SFC または通信操作でターゲットは現在処理されています。例: CPU からプロブラム装置(PG)へ DB をアップロードできます。この DB の内容を SFC 84 を使って変更でき
ます。

80C3

"同時に"アクティブにできる SFC 84 の最大数に、現在達しています。

8xyy

一般的なエラーコードについては、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

117

コピーファンクションとブロックファンクション
3.12 SFC 85 "CREAT_DB"によるデータブロックの作成

3.12

SFC 85 "CREAT_DB"によるデータブロックの作成

説明
SFC 85 "CREA_DB" (データブロックの作成) を使用して、ユーザープログラムのデフォルト値を含んでいないデータブロックを作成します。
その代わり、この DB はランダムデータを含んでいます。
SFC は、指定された領域からの番号を使用してデフォルトサイズのデータブロックを生成します。
また、SFC はこの領域から有効な最も小さい番号を DB に割り付けます。特定の番号で DB を作成するには、デフォルト領域の上限値と下限値に同じ値を入力します。ユーザープログラムで既に連続している DB から番号を発行することはできません。DB の長さは、偶数で指定しなければなりません。
ATTRIB パラメータの選択によって、作成される DB のプロパティが、RETAIN か NON_RETAINになります。
•

RETAIN は、DB がワークメモリ内の保持される部分に作成されていることを意味しています。
つまり、DB の現在の値は、電源をオフ/オンして再起動(ウォームリスタート)した後も保持されるということです。

•

NON_RETAIN は、DB がワークメモリ内の保持されない部分に作成されていることを意味しています。つまり、DB の現在の値は、電源をオフ/オンして再起動(ウォームリスタート)した後は保証されないということです。

ワークメモリの保持部分と非保持部分の区別が行われない場合は、ATTRIB パラメータは無視されます。つまり、DB の値は、電源をオフ/オンして再起動(ウォームリスタート)した後も保持されるということです。

割り込みの可能性
SFC 85 "CREA_DB"で、優先度の高い OB による割り込みをかけることができます。SFC 85"CREA_DB"が優先度の高い OB で再び呼び出された場合、この呼び出しはエラーコード
W#16#8091 で棄却されます。
パラメータ

宣言

データ
タイプ

メモリ領域

説明

LOW_LIMIT

INPUT

WORD

I、Q、M、D、L
定数

下限値は、データブロックに割り付け可能な番号範囲の最小値です。

UP_LIMIT

INPUT

WORD

I、Q、M、D、L
定数

上限値は、データブロックに割り付け可能な番号範囲の最大値です。

COUNT

INPUT

WORD

I、Q、M、D、L
定数

カウンタ値は、ユーザーがデータブロックに確保しておくデータバイト数を示します。
ここでは、偶数バイト(最大 65534)を指定する必要があります。

ATTRIB

INPUT

BYTE

I、Q、M、D、L
定数

DB 属性:•

B#16#00: RETAIN•

B#16#04: NON_RETAIN

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、戻り値にエラーコードが示されます。

DB_NUMBEROUTPUT

WORD

I、Q、M、D、L

データブロック番号は、作成されたデータ
ブロックの番号です。エラーが発生すると(RET_VAL のビット 15 が設定された)、値 0
が DB_NUMBER に入力されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
118

リファレンスマニュアル, 05/2017, A5E41733394-AA

コピーファンクションとブロックファンクション
3.12 SFC 85 "CREAT_DB"によるデータブロックの作成

エラー情報
エラーコード(W#16#...)

説明

0000

エラーは発生していません。

8091

ネストされた SFC 85 を呼び出しました。

8092[DB の作成]ファンクションは、次の理由で現在使用できません。
•[ユーザーメモリの圧縮]ファンクションが現在アクティブです。

•

WinAC ソフトウェアの CPU は、WinAC がインストールされているコンピュータのOS でエラーを検出しました。

8094

ATTRIB の値が無効です。

80A1

DB の番号がエラー

80A2

•

番号が 0 です•

番号が CPU 固有の DB 番号を超過しています。

•

下限値 > 上限値

DB の長さがエラー•

長さが 0 です•

指定された長さが奇数となっています•

長さが CPU の許容値を超えています

80B1

使用できる DB 番号がありません。

80B2

使用可能な空きメモリが不足しています。

80B3

使用可能な連続したメモリが不足しています (メモリを圧縮してください!)

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

119

コピーファンクションとブロックファンクション
3.12 SFC 85 "CREAT_DB"によるデータブロックの作成

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
120

リファレンスマニュアル, 05/2017, A5E41733394-AA

4プログラムの実行を制御する SFC

4.1

SFC 43 "RE_TRIGR"によるサイクルタイムモニタの再トリガ

説明SFC 43 "RE_TRIGR" (ウォッチドッグの再トリガ) を使用して、サイクルタイムモニタを再トリガ
できます。

パラメータ
SFC 43 "RE_TRIGR"にはパラメータはありません。

エラー情報
SFC 43 "RE_TRIGR"にはエラー情報はありません。

4.2

SFC 46 "STP"による CPU の STOP への変更

説明
SFC 46 "STP" (停止) を使用して、CPU を STOP モードに変更します。

パラメータ
SFC 46 "STP"にはパラメータはありません。

エラー情報
SFC 46 "STP"にはエラー情報はありません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

121

プログラムの実行を制御する SFC
4.3 SFC 47 "WAIT"によるユーザープログラム実行の遅延

4.3

SFC 47 "WAIT"によるユーザープログラム実行の遅延

説明
SFC 47 "WAIT"を使用して、ご使用のユーザープログラムで遅延または待ち時間をプログラムします。
待ち時間を最大 32767 µs までプログラムすることができます。有効な最も小さい待ち時間は、SFC
47 の実行時間と同じように個々の CPU によって異なります。

割り込みの可能性
SFC 47 "WAIT" は、優先度の高い OB で割り込みをかけることができます。

注記(S7-300 のみが対象、CPU 318 は対象外)
SFC 47 でプログラムされた待ち時間は最小時間です。これは、ネストされた優先度クラスの実行
時間とシステムへのロード時間だけ延長されます。

パラメータ 宣言

データタイプ

メモリ領域

説明

WT

INT

I、Q、M、D、L、定数

パラメータ WT には待ち時間が µs 単位で格納されています。

INPUT

エラー情報
SFC 47 "WAIT"にはエラー情報はありません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
122

リファレンスマニュアル, 05/2017, A5E41733394-AA

プログラムの実行を制御する SFC
4.4 SFC 35 "MP_ALM"によるマルチコンピューティング割り込みのトリガ

4.4

SFC 35 "MP_ALM"によるマルチコンピューティング割り込みのトリガ

説明マルチコンピューティングの間に SFC 35 "MP_ALM"を呼び出して、マルチコンピューティング
割り込みをトリガします。これにより、関連するすべての CPU 上で OB 60 の起動が同期されます。
シングルプロセッサモードの場合およびセグメントされたラックを操作する場合、FC 35 を呼び出す
CPU 上で OB 60 のみ開始されます。
JOB 入力パラメータを使用すると、マルチコンピューティング割り込み発生の原因を示すことができます。このジョブ識別子は、含まれるすべての CPU へ転送され、マルチコンピューティング
割り込みにおいて評価することができます (OB 60) (オンラインマニュアル『STEP 7 でのプログラミング』を参照)。
ご使用のプログラムのどのポイントでも SFC 35 "MP_ALM" を呼び出すことができます。ただし、
RUN 以外のモードでの呼び出しは、無意味です。たとえば、STARTUP モードで SFC35 を呼び出した場合、マルチコンピューティング割り込みは抑止されます。このことは、ファンクションの戻り値により通知されます。
パラメータ 宣言

データタイプ

メモリ領域

説明

JOB

INPUT

BYTE

I、Q、M、D、L、定数

ジョブ識別子: 有効な値: 1～15

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、エラーコードが含まれた
戻り値が返されます。

エラー情報
エラーコード(W#16#...)

説明

0000

エラーは発生していません。

8090

JOB 入力パラメータに不正な値が含まれています。

80A0

最後のマルチコンピューティング割り込みの後に実行された OB60 が、ローカル
CPU またはその他の CPU で完了していません。

80A1

モードが不正です(RUN ではなく STARTUP になっている)。

8xyy

一般的なエラーコードについては、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

123

プログラムの実行を制御する SFC
4.5 SFC 104 "CiR"による CiR のコントロール

4.5

SFC 104 "CiR"による CiR のコントロール

説明
SFC 104 "CiR"を使用して、RUN モードでの再コンフィグレーションに次のような影響を与えることができます。
•

CiR を完全に無効にすることができます。この場合は、変更されたコンフィグレーションを PGから CPU にダウンロードする操作が必ず拒否されます。SFC 104 "CiR"を使用してこれをリセットするまでは、このロック状態が続きます。

•

CiR の同期時間に上限を指定することで、CiR を条件付きで無効にすることができます。この場合は、変更されたコンフィグレーションの評価に対して指定されたこの時間よりも、CPU が必要とする時間の方が短い場合に限り、変更されたコンフィグレーションを PG から CPU に
ダウンロードすることができます。

•

CiR を有効にするかどうかを決定できます。有効あるいは条件付きで有効な場合は、パラメータ
A_FT により、CiR の同期時間に対する実際の上限値も返されます。

注記
CiR の同期周期中は出力がフリーズされ、入力が評価されません。

パラメータ
パラメータ

宣言

データタイプ メモリ領域

説明

MODE

INPUT

BYTE

ジョブ ID です。

FRZ_TIME

INPUT

TIME

I、Q、M、D、L、
定数

I、Q、M、D、L、
定数

以下の値が返されます。
•

0: 情報ファンクション•

1: CiR 操作の有効化(CiR の同期時間の上限が、ここでデフォルト値に設定されます)•

2: CiR の完全無効化•

3: CiR の条件付き無効化 CiR 同期時間の上限を FRZ_TIME に設定します。

"フリーズ時間"CiR の同期時間の上限(ms 単位)です。
値の許容範囲: 60～2500 ms(デフォルト:1000 ms)
注記: FRZ_TIME は、MODE=3 の場合にのみ関係します。

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションの処理中にエラーが発生した
場合は、戻り値にエラーコードが含まれます。
MODE=0 の場合は、RET_VAL に、CiR が有効かどうかを示す情報が含まれます。

A_FT

OUTPUT

TIME

I、Q、M、D、L

CiR の同期時間に対して現在有効な上限値です。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
124

リファレンスマニュアル, 05/2017, A5E41733394-AA

プログラムの実行を制御する SFC
4.5 SFC 104 "CiR"による CiR のコントロール

エラー情報
エラーコード(W#16#...)

説明

0000

ジョブは正常に実行されました。(このエラーコードは、MODE=1、MODE=2、MODE=3の場合にのみ有効です。)

0001

CiR は有効です。(このエラーコードは、MODE = 0 の場合にのみ有効です。)

0002

CiR は完全に無効です。(このエラーコードは、MODE = 0 の場合にのみ有効です。)

0003

CiR は条件付きで無効です。(このエラーコードは、MODE = 0 の場合にのみ有効です。)

8001

CPU は CiR 操作の準備を完了していません。H システム(スタンドアロン)で H CPU を使用
しているか、マルチコンピューティングモードで標準 CPU を使用しています。

8002

MODE の値が無効です。

8003

FRZ_TIME の値が無効です。

8xyy

一般的なエラーコードについては、出力パラメータ RET_VAL によるエラーの評価

SFC 104 のサンプルアプリケーション
SFC 104 "CIR"を使用して、たとえば最大または適切な CPU パフォーマンスを必要とする処理中に、CiR 操作が開始されないようにすることができます。
これを有効にするには、プロセスアクティビティが増加する時間帯の開始前に、次の CPU プログ
ラムセグメントを実行します。
•

MODE = 2 (CiR 操作の完全無効化)での SFC 104 の呼び出し

プロセスアクティビティが増加する時間帯が終了したら、次の CPU プログラムセグメントを実行します。
•

MODE = 1 (CiR 操作の再有効化)または MODE=3 (CiR の条件付き無効化)での SFC 104 の呼び出し

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

125

プログラムの実行を制御する SFC
4.6 SFC 109 "PROTECT"による CPU アクセス保護の有効化と無効化

4.6

SFC 109 "PROTECT"による CPU アクセス保護の有効化と無効化

説明
SFC 109 を使用して、CPU に以下の保護レベルを設定することができます。
•

MODE=0 での SFC 109 の呼び出し: 保護レベル 1 を設定します。
パスワードの認証が無効の場合は、MODE=0 での SFC 109 の呼び出しで有効になります。

•

MODE=1 での SFC 109 の呼び出し: パスワード認証ありの保護レベル 2 を設定します。つまり、有効なパスワードを持つユーザーは、SF 109109 1 による書き込み保護を解除することができます。
パスワードの認証が有効の場合、MODE=1 での SFC 109 の呼び出しで無効になります。

•

MODE=12 での SFC 109 の呼び出し:パスワード認証なしの保護レベル 3 を設定します。つまり、読み取り/書き込み保護が設定されている場合、有効なパスワードがあっても無効にすることはできません。認証された接続の確立時に MODE=12 で SFC 109 が呼び出された場合、SFC 109の呼び出しはこの接続には無効です。

保護レベルの意味については、マニュアル『S7-400 オートメーションシステム、CPU の仕様』を参照してください。

注記
SFC 109 "PROTECT"を使用して、STEP 7 "ハードウェアのコンフィグレーション"でコンフィグ
レーションしたものよりも低い保護レベルを設定することができます。
例:
保護レベル 3 をコンフィグレーションした後で、MODE=12 で SFC 109 を呼び出します。これにより、
パスワードの認証が無効になります。
MODE=0 または MODE=1 で SFC 109 を再度呼び出すと、保護レベル 3 が保持され、読み取り/
書き込み保護が有効なパスワードによって解除されます。

SFC 109 により、SSL パーツリストから SSL ID W#16#0232 およびインデックス W#16#0004 で保護レベル 2 または 3 がセットされた後は、この保護レベルが有効であるかどうかをチェックできます。

注記
使用している CPU の現在の保護レベルが、SIMATIC Manager の[動作モード]ダイアログボックスに表示されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
126

リファレンスマニュアル, 05/2017, A5E41733394-AA

プログラムの実行を制御する SFC
4.6 SFC 109 "PROTECT"による CPU アクセス保護の有効化と無効化

SFC 109 でセットされる保護レベルへの操作状態の遷移の効果
SFC 109 で設定された保護レベルの場合

操作•

動作モードスイッチを STOP にスイッチ•

バッファされない POWER ON•

動作モードスイッチによるメモリのリセット•

コールドリスタート•

ウォームリスタート

保護レベル 1 にセットされます(すべてのプログラム
装置ファンクションが許可されます)
オペレーティングシステムにより保護レベル 1 にセットされます(すべてのプログラム装置ファンクションが許可されます)。必要に応じて、SFC 109 を呼び出してプログラムに保護レベル 2 または 3 を設定できます。

バッファされた POWER ON

変更はありません

操作状態の遷移が RUN/STARTUP/HOLD から STOP 変更はありません
へと遷移します(SFC 46 の呼び出し、対応するエラー
OB のないプログラムエラー、またはプログラム装置
オペレータ操作により)S7-400: 再起動(プログラム装置オペレータ操作により、または POWER ON の後に自動で)変更はありません

パラメータ
パラメータ

宣言

データタイプ

メモリ領域

説明

MODE

INPUT

WORD

I、Q、M、D、L、
定数

ジョブ ID です。

RET_VALOUTPUT

INT

I、Q、M、D、L

以下の値が返されます。
•

W#16#0000: 保護レベル 1 にセットされます(すべてのプログラム装置ファンクションが許可されます)•

W#16#0001: 保護レベル 2 にセットされます(CPU のプログラムおよびコンフィ
グレーションは変更されません。CPUのプログラムはプログラム装置で読み取り可能です。)•

W#16#000C: パスワードの認証なしの保護レベル 3(読み取り/書き込み保護)に設定されます。

戻り値
ファンクションの実行中にエラーが発生す
ると、戻り値にエラー情報が示されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

127

プログラムの実行を制御する SFC
4.6 SFC 109 "PROTECT"による CPU アクセス保護の有効化と無効化

エラー情報
エラーコード(W#16#...)

説明

0000

ジョブは正常に実行されました。

8090

MODE パラメータの値が無効です。

80C3

必要なリソースが現在使用中です。

応用例•

CPU を RUN モードでの書き込みアクセスから保護しようとしています。保護は、動作モード
スイッチが STOP になっているとき以外は解除しないようにしてください。
OB 100 で MODE = W#16#0001 を使用して SFC 109 を呼び出すと、保護を実行できます。
こうすると、新規に起動した後(ウォームリスタート)でも、保護レベル 2 がセットされたままとなります。

•

HMI システムでコントロールされたタグまたは入力の状態によっては、動作モードスイッチを
STOP にセットせずに、CPU からプログラムを自分の CPU にダウンロードすることがあります。
これは、関連する入力またはタグを周期的に照会すると、実行できます。入力またはタグの定義された値を調べるには、MODE = W#16#0000 で SFC 109 を呼び出します。そして、プログラムを CPU にダウンロードします。ダウンロードが完了したら、MODE = W#16#0001 でSFC 109 を呼び出し、保護レベル 2 をリセットします。

•

入力のステータスまたはオペレータ制御および監視システムにより強制された変数とは無関係に、
CPU に読み取り/書き込み保護を設定しようとしています。
これは、影響を受ける入力または変数を周期的に照会すると、実行できます。入力または変数の定義された値を調べるには、MODE = W#16#000C で SFC 109 を呼び出します。これで、CPUが読み取り/書き込みアクセスから保護されます。この保護を解除したい場合は、MODE =W#16#0000 または W#16#0001 で SFC 109 を呼び出し、元の保護レベルに復元します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
128

リファレンスマニュアル, 05/2017, A5E41733394-AA

プログラムの実行を制御する SFC
4.7 SFB 73 "RCVREC"によるデータレコードの受信

4.7

SFB 73 "RCVREC"によるデータレコードの受信

説明
I デバイスは、上位のコントローラからデータレコードを受信できます。SFB 73 "RCVREC"による
データレコードの受信
SFB 73 には次の動作モードがあります。
•

I デバイスに対してデータ受信の要求があるかどうかをチェックします。

•

出力パラメータにデータレコードを供給します。

•

上位のコントローラに応答を送信します。

MODE 入力パラメータ(以下を参照)は、SFB 73 がこれらのモードのうちどれを使用するかを判定します。
I デバイスは RUN モードまたは START モードでなければなりません。
MLEN を使用すると、受信する最大バイト数を指定できます。したがって、データレコードの指定
領域は、少なくとも MLEN バイト以上に設定する必要があります。
データレコードが受信されると(MODE = 1 または MODE = 2)、NEW 出力パラメータが、データレコードが RECORD に保存されたことを示します。RECORD の長さが十分であることを慎重に確認してください。LEN 出力パラメータには、受信データレコードの実際の長さがバイト単位で含まれます。
上位のコントローラに肯定応答を返すには、CODE1 と CODE2 にゼロを記述してください。受信
データレコードを拒否する必要がある場合、CODE1 にエラーコード 1、CODE2 にエラーコード 2 を格納して、上位のコントローラに否定応答を返します。

注記
I デバイスがデータレコードの受信要求を受信した場合、この要求は指定した時間内に検出されなけ
ればなりません。いったん検出されたら、同じ時間内に上位のコントローラに応答を送信する必要があります。そうしないと、I デバイスにタイムアウトエラーが発生し、それにより I デバイスのオペレーティングシステムが否定応答を上位コントローラに送信します。時間の値の詳細については、
CPU の仕様を参照してください。

エラーが発生すると、STATUS 出力パラメータにエラー情報が示されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

129

プログラムの実行を制御する SFC
4.7 SFB 73 "RCVREC"によるデータレコードの受信

SFB 73 の動作モード
MODE 入力パラメータを使用して、SFB 73 "RCVREC"の動作モードを設定できます。この説明は、以下の表にあります。
MODE

意味

0

データレコードの受信要求があるかどうかをチェックします。
I デバイス上に上位コントローラからのデータレコードがある場合、SFB 73 は NEW、SLOT、
INDEX、および LEN 出力パラメータのみを書き込みます。MODE = 0 で、SFB 73 を複数回連続で呼び出すと、出力パラメータは必ず 1 つの同じ要求を参照します。

1

I デバイスのサブスロットのデータレコードを受信します。
I デバイスの任意のサブスロット上に上位コントローラからのデータレコードがある場合、SFB 73 は
出力パラメータを書き込み、データレコードを RECORD パラメータに伝送します。

2

I デバイスの特定のサブスロットのデータレコードを受信します。
I デバイスの特定のサブスロット上に上位コントローラからのデータレコードがある場合、SFB 73 は
出力パラメータを書き込み、データレコードを RECORD パラメータに伝送します。

3

上位のコントローラに肯定応答を送信します。
SFB 73 は上位のコントローラの要求をチェックしてデータレコードを受信し、利用可能なデータ
レコードを受け入れて、上位のコントローラに肯定応答を送信します。

4

上位のコントローラに否定応答を送信します。
SFB 73 は上位のコントローラの要求をチェックしてデータレコードを受信し、利用可能なデータ
レコードを拒否して、上位のコントローラに否定応答を送信します。拒否の理由は、入力パラメー
タ CODE1 および CODE2 で指定します。

注記
データレコードが着信したら(NEW = 1)、SFB 73 を 2 回呼び出して、確実に完全に実行されるようにします。次のシーケンスに従う必要があります。
•

最初の呼び出しは MODE=1 または MODE=2•

2 回目の呼び出しは MODE=3 または MODE=4

パラメータ

宣言

データタイプ メモリ領域

説明

MODE

INPUT

INT

I、Q、M、D、L、
定数

動作モード

F_ID

INPUT

DWORD

I、Q、M、D、L、
定数

受信するデータの I デバイスの伝送領域内にある
サブスロット(MODE=2 でのみ関連)(上位ワード
は常に 0 に設定)

MLEN

INPUT

INT

I、Q、M、D、L、
定数

受信するデータの最大長さ(バイト単位)。

CODE1

INPUT

BYTE

I、Q、M、D、L、
定数0(MODE=3 の場合)またはエラーコード
1(MODE=4 の場合)

CODE2

INPUT

BYTE

I、Q、M、D、L、
定数0(MODE=3 の場合)またはエラーコード
2(MODE=4 の場合)

NEW

OUTPUT

BOOL

I、Q、M、D、L

MODE=0: 新規データレコードを受信
MODE=1 or 2: データレコードを RECORD に転送済み

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
130

リファレンスマニュアル, 05/2017, A5E41733394-AA

プログラムの実行を制御する SFC
4.7 SFB 73 "RCVREC"によるデータレコードの受信
パラメータ

宣言

データタイプ メモリ領域

説明

STATUSOUTPUT

DWORD

I、Q、M、D、L

エラー情報

SLOT

OUTPUT

INT

I、Q、M、D、L、
定数

F_ID と等しい

SUBSLOTOUTPUT

INT

I、Q、M、D、L、
定数

F_ID と等しい

INDEX

OUTPUT

INT

I、Q、M、D、L、
定数

受信したデータレコード数LEN

OUTPUT

INT

I、Q、M、D、L

受信したデータレコードの長さ

RECORD

IN_OUT

ANY

I、Q、M、D、L

受信したデータレコードのターゲット領域
注: S7-300 CPU の RECORD パラメータには、DB パラメータの完全な仕様が常に必須であることに注意してください(例: P#DB13.DBX0.0 byte100)。明示的な DB 番号の省略は S7-300 CPU では許可されていないため、ユーザープログラム
でエラーが発生します。

エラー情報
STATUS パラメータの解釈については、SFB 54 "RALRM"による割り込みの受信

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

131

プログラムの実行を制御する SFC
4.8 SFB 74 "PRVREC"によるデータレコードの送信

4.8

SFB 74 "PRVREC"によるデータレコードの送信
説明
I デバイスは、上位のコントローラから要求を受信し、データレコードを送信できます。このタスク
はアプリケーションプログラムで、SFB 74 "PRVREC"(レコードの送信)を使用して行います。
SFB 74 には次のモードがあります。
•

I デバイスに対してデータ送信の要求があるかどうかをチェックします。

•

上位のコントローラに、要求されたデータレコードを送信します。

•

上位のコントローラに応答を送信します。

MODE 入力パラメータ(以下を参照)は、SFB 74 がこれらのモードのうちどれを使用するかを判定します。
I デバイスは RUN モードまたは START モードでなければなりません。
LEN を使用すると、受信する最大バイト数を指定できます。したがって、データレコードの指定
領域は、少なくとも LEN バイト以上に設定する必要があります。
データレコードの送信要求が保留になっている場合(MODE = 0)、NEW 出力パラメータが TRUE に設定されます。
データレコードの送信要求が受け入れられた場合、上位コントローラへの肯定応答として、要求されたレコードを RECORD に書き込み、CODE1 と CODE2 にゼロを書き込みます。データレコードの送信要求を拒否する必要がある場合、CODE1 にエラーコード 1、CODE2 にエラーコード 2 を格納して、上位のコントローラに否定応答を返します。

注記
I デバイスがデータレコードの受信要求を受信した場合、この要求は指定した時間内に検出されなければなりません。いったん検出されたら、同じ時間内に上位のコントローラに応答を送信する必要があります。そうしないと、I デバイスにタイムアウトエラーが発生し、それにより I デバイスのオペレーティングシステムが否定応答を上位コントローラに送信します。時間の値の詳細については、CPU の仕様を参照してください。

エラーが発生すると、STATUS 出力パラメータにエラー情報が示されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2132

リファレンスマニュアル, 05/2017, A5E41733394-AA

プログラムの実行を制御する SFC
4.8 SFB 74 "PRVREC"によるデータレコードの送信

SFB 74 の動作モード
MODE 入力パラメータを使用して、SFB 74 "PRVREC"の動作モードを設定できます。この説明は、以下の表にあります。
MODE

意味

0

データレコードの送信要求があるかどうかをチェックします。
I デバイス上に上位コントローラからのデータレコード送信要求がある場合、SFB 74 は NEW、
SLOT、INDEX、および RLEN 出力パラメータのみを書き込みます。MODE = 0 で、SFB 74 を複数回連続で呼び出すと、出力パラメータは必ず 1 つの同じ要求を参照します。

1

I デバイス上にある任意のサブスロットのデータレコードを送信するための要求を受信します。
I デバイス上の任意のサブスロットに対して、I デバイスに上位コントローラからのそのような要求がある場合、SFB 74 は出力パラメータを書き込みます。

2

I デバイス上にある特定のサブスロットのデータレコードを送信するための要求を受信します。
I デバイス上の特定のサブスロットに対して、I デバイスに上位コントローラからのそのような要求がある場合、SFB 74 は出力パラメータを書き込みます。

3

データを送信して、上位のコントローラに肯定応答を送信します。
SFB 74 は上位のコントローラの要求をチェックしてデータレコードを送信し、要求されたレコード
を RECORD で利用可能にして、上位のコントローラに肯定応答を送信します。

4

上位のコントローラに否定応答を送信します。
SFB 74 は上位のコントローラの要求をチェックしてデータレコードを受信し、この要求を拒否して、上位のコントローラに否定応答を送信します。拒否の理由は、入力パラメータ CODE1 およびCODE2 で指定します。

注記
要求が着信したら(NEW = 1)、SFB 74 を 2 回呼び出して、確実に完全に実行されるようにします。
次のシーケンスに従う必要があります。
•

最初の呼び出しは MODE=1 または MODE=2•

2 回目の呼び出しは MODE=3 または MODE=4

パラメータ

宣言

データタイプ メモリ領域

説明

MODE

INPUT

INT

I、Q、M、D、L、 動作モード
定数

F_ID

INPUT

DWORD

I、Q、M、D、L、 送信するデータの I デバイスの伝送領域内にある
定数
サブスロット(MODE=2 でのみ関連)(上位ワード
は常に 0 に設定)

CODE1

INPUT

BYTE

I、Q、M、D、L、 0(MODE=3 の場合)またはエラーコード
定数1(MODE=4 の場合)

CODE2

INPUT

BYTE

I、Q、M、D、L、 0(MODE=3 の場合)またはエラーコード
定数2(MODE=4 の場合)

LEN

INPUT

INT

I、Q、M、D、L、 送信するデータの最大長さ(バイト単位)。
定数

NEW

OUTPUT BOOL

I、Q、M、D、L

上位のコントローラによって新しいデータが要求された

STATUSOUTPUT DWORD

I、Q、M、D、L

エラー情報

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

133

プログラムの実行を制御する SFC
4.8 SFB 74 "PRVREC"によるデータレコードの送信
パラメータ

宣言

データタイプ メモリ領域

SLOT

OUTPUT INT

I、Q、M、D、L、 F_ID と等しい
定数

SUBSLOTOUTPUT INT

I、Q、M、D、L、 F_ID と等しい
定数

INDEX

OUTPUT INT

I、Q、M、D、L、 送信するデータレコード数
定数

RLEN

OUTPUT INT

I、Q、M、D、L

送信するデータレコードの長さ

RECORD

IN_OUT

I、Q、M、D、L送信されたデータレコード

ANY

説明

注: S7-300 CPU の RECORD パラメータには、DB パラメータの完全な仕様が常に必須であることに注意してください(例: P#DB13.DBX0.0 byte100)。明示的な DB 番号の省略は S7-300 CPU では許可されていないため、ユーザープログラム
でエラーが発生します。

エラー情報
STATUS パラメータの解釈については、SFB 54 "RALRM"による割り込みの受信

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
134

リファレンスマニュアル, 05/2017, A5E41733394-AA5

システムクロック操作用の SFC

5.1

SFC 0 "SET_CLK"による時刻の設定

説明
SFC 0 "SET_CLK" (システムクロックの設定) を使用して、CPU クロックの時刻と日付を設定します。SFC 0 はクロックの開始を呼び出します。CPU クロックは、設定された時刻と日付から作動し始めます。
クロックがマスタクロックの場合、CPU も SFC 0 が呼び出された時刻の同期を開始します。同期の間隔は、STEP 7 を使って設定します。
パラメータ 宣言

データタイプ メモリ領域

説明

PDT

INPUT

DT

D、L

PDT入力で、設定したい日付と時刻を入力します。

RET_VALOUTPUT

INT

I、Q、M、D、L ファンクションの実行中にエラーが発生すると、戻り値にエラーコードが示されます。

日付と時間
日付と時刻は、データタイプ DT で入力します。たとえば、1995 年 1 月 15 日午前 10 時 30 分 30 秒
は、DT#1995-01-15-10:30:30 と入力します。時間を入力できるのは、秒の精度までです。曜日は、入力された日付から SFC 0 "SET_CLK"が算出します。
データタイプ DT を作成するには、FC 3 "D_TOD_DT"を使用します(時刻ファンクションを参照: FC 1、
FC 3、FC 6、FC 7、FC 8、FC 33、FC 34、FC 35、FC 40)。

エラー情報
エラーコード (W#16#...)

説明

0000

エラーは発生していません。

8080

日付に問題があります。

8081

時間に問題があります。

8xyy

一般的なエラーコードについては、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

135

システムクロック操作用の SFC
5.2 SFC 1 "READ_CLK"による時刻の読み取り

5.2

SFC 1 "READ_CLK"による時刻の読み取り

説明
SFC 1 "READ_CLK" (システムクロックの読み取り) を使用して、CPU のシステムクロックの現在の日付または現在の時刻を読み取ります。
パラメータ 宣言

データタイプ メモリ領域

説明

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、戻り値にエラーコードが示されます。

CDT

OUTPUT

DT

D、L

現在の日付と時刻は、
CDT 出力で出力されます。

エラー情報参照項目 出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
136

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムクロック操作用の SFC
5.3 SFC 48 "SNC_RTCB"によるスレーブクロックの同期

5.3

SFC 48 "SNC_RTCB"によるスレーブクロックの同期

定義: スレーブクロックの同期
スレーブクロックの同期とは、日付と時刻をバスセグメント(たとえば、S7-400K ｰバス、MPI、S7
バックプレーンバスなど)のマスタークロックからバスセグメントのすべてのクロックに転送する
ことです。

説明
SFC 48 "SNC_RTCB" (リアルタイムクロックの同期) を使用して、コンフィグレーション済みの同期
間隔に関係なく、バスセグメントにあるすべてのスレーブクロックを同期させます。リアルタイム
クロックが、少なくとも 1 つのバスセグメントのマスタクロックファンクションに割り付けられたCPU 上で SFC 48 が呼び出された場合のみ、正常な同期が可能です。関連するパラメータは STEP 7
で割り付けます。
パラメータ宣言

データタイプ メモリ領域

説明

RET_VALOUTPUTINT

ファンクションの実行中にエラーが発生すると、戻り値にエラーコードが示されます。

I、Q、M、D、L

エラー情報
エラーコード (W#16#...)

説明

0000

同期中にエラーは発生していません。

0001

バスセグメントのすべてに対して、既存のクロックにマスタクロックファンクションが割り付けられてい
ません。

8xyy

一般的なエラーコードについては、出力パラメータ RET_VAL によるエラーの評価S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

137

システムクロック操作用の SFC
5.4 SFC 100 "SET_CLKS"による時刻と TOD ステータスの設定

5.4

SFC 100 "SET_CLKS"による時刻と TOD ステータスの設定

説明
SFC 100 "SET_CLKS"を使用して、ご使用の CPU の時刻と TOD ステータスを設定します。

注意
使用する CPU の TOD を同期しない場合は、SFC 100 のみ使用します。それ以外は、すべての同期
でマスタの TOD ステータスが適用されます。
これにより SFC ごとに指定された値を上書きします。

MODE パラメータを介して、TOD のみ変更、TOD ステータスのみ変更、または両方を変更するのかを指定します。この説明は、以下の表にあります。
モード(B#16#...)意味01

TOD の設定
SFC の呼び出しは、SFC 0 "SET_CLK"の呼び出しに対応します。
入力パラメータ CORR、SUMMER、ANN_1 は評価されません。

02

TOD ステータスの設定
入力パラメータ PDT は評価されません。残りの入力パラメータは、次の TOD ステータス
エレメントを形成します。
•

記号を含んだ補正値

•

告知時間

•

夏時間/冬時間のインジケータ

TOD の分解能は、使用している CPU の分解能に一致します。TOD ステータスのビット同期
エラーは、FALSE で表示されます。
TOD は変更されないままです。
03

TOD と TOD ステータスの設定

注記
SFC 51 "RDSYSST"を使用して SSL ID W#16#0132 インデックス W#16#0008 を読み取ることで、使用している CPU の現在の TOD ステータスを判断できます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
138

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムクロック操作用の SFC
5.4 SFC 100 "SET_CLKS"による時刻と TOD ステータスの設定
パラメータ

宣言

データタイプ

メモリ領域

説明

MODE

INPUT

BYTE

I、Q、M、D、L、
定数

動作モード
有効な値
B#16#01:

TOD の設定

B#16#02:

TOD ステータスの設定

B#16#03:

TOD と TOD ステータスの設定

PDT

INPUT

DT

D、L

デフォルトの TOD

CORR

INPUT

INT

I、Q、M、D、L、
定数

補正値 (0.5 時間パターン)
有効な値: −24～+26

SUMMER

INPUT

BOOL

I、Q、M、D、L、
定数

夏時間/冬時間 ID:

ANN_1

RET_VALINPUTOUTPUT

BOOL

INT

•

0 = 冬時間•

1 = 夏時間

I、Q、M、D、L、
定数

告知時間

I、Q、M、D、L

エラーコード

1: 次に時刻の時間が変わるときに、夏時間が冬時間に切り替わる、または冬時間が夏時間に切り替わる。

エラー情報
エラーコード(W#16#...):

説明

0000

エラーは発生していません。

8080

MODE が許可された値の範囲から外れています。

8081

CORR が許可された値の範囲を外れています。
(MODE = B#16#02 または MODE = B#16#03 だけです)

8082

PDT が許可された値の範囲を外れています: 不正なデータおよび (または) TOD

8xyy

一般的なエラーコードについては、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

139

システムクロック操作用の SFC
5.4 SFC 100 "SET_CLKS"による時刻と TOD ステータスの設定

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
140

リファレンスマニュアル, 05/2017, A5E41733394-AA

6

ランタイムメータ操作用の SFC

6.1

ランタイムメータ

概要
CPU には、多数のランタイムメータがあります(CPU のデータシートを参照)。
•

使用している CPU が 16 ビットのランタイムメータを備えている場合は、SFC 2、3、4 を使用
して、それらのランタイムメータの設定、開始、停止、読み取りを実行できます。

•

使用している CPU が 32 ビットのランタイムメータを備えている場合は、SFC 101"RTM"を使用して、それらのランタイムメータの設定、開始、停止、読み取りを実行できます。

注記
SFC 2、3、4 も 32 ビットのランタイムメータに使用できます。ただしこの場合は、ランタイムメータ
が 16 ビットモードで動作します(値の範囲: 0～32767 時間).
関連項目:SSL-ID W#16#0132 およびインデックス W#16#000B のサブリスト抽出のデータレコード.

アプリケーション
ランタイムメータは、様々な用途に使用できます。
•

CPU のランタイムを測定する•

被制御機器や接続された装置のランタイムを測定する

ランタイムメータの特性
ランタイムメータを起動すると、ランタイムメータは、直前に記録された値からカウントを開始します。別の初期値から開始したい場合は、その値を明示的に指定する必要があります(SFC 2 またはSFC 101、MODE=4)。CPU が STOP モードに変わった場合や、ユーザがランタイムメータを停止した場合は、CPU によってランタイムメータの現在値が記録されます。CPU のウォームリスタート
またはコールドリスタートの実行時には、ランタイムメータを再起動する必要があります(SFC 3または SFC 101、MODE=1)。オペレーティングシステムの更新後、および CPU を出荷直後の状態にリセットした後は、ランタイムメータは値 0 にリセットされます。

値の範囲•

16 ビットのランタイムメータを備えた CPU: 0～32 767 時間•

32 ビットのランタイムメータを備えた CPU: 0～(2E31) -1 時間 = 2.147.483.647 時間

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

141

ランタイムメータ操作用の SFC
6.2 SFC 101 "RTM"によるランタイムメータの処理

6.2

SFC 101 "RTM"によるランタイムメータの処理

説明
CPU の 32 ビットランタイムメータの設定、開始、停止、読み取りを行うには、SFC 101 "RTM"(ランタイムメータ)を呼び出します。
CPU に備わっているすべての 32 ビットランタイムメータの値をフェッチするには、
SZL_ID=W#16#0132 および INDEX=W#16#000B(ランタイムメータ 0～7 の場合)または
INDEX=W#16#000C(ランタイムメータ 8～15 の場合)の SFC 51 "RDSYSST"を呼び出します。(関連項目:SSL-ID W#16#0132 およびインデックス W#16#000B のサブリスト抽出のデータレコード.
パラメータ

宣言

データタイプ

メモリ領域

説明

NR

INPUT

BYTE

I、Q、M、D、L、
定数

ランタイムメータの番号
番号は 0 から開始します。
ご使用の CPU のランタイムメータの番号については、仕様を参照してください。

MODE

INPUT

BYTE

I、Q、M、D、L、
定数

ジョブ ID:•

0: フェッチ(ステータスが CQ に、現在値が CV に書き込まれます)。ランタイ
ムメータが(2E31) -1 時間に達すると、表示可能な最高値でランタイムメータが停止し、"オーバーフロー"エラーメッ
セージが出力されます。

•

1: (最後のカウンタ値で)開始

•

2: 停止

•

4: (PV で指定された値に)設定•

5: (PV で指定された値に)設定後、開始•

6: (PV で指定された値に)設定後、停止

PV

INPUT

DINT

I、Q、M、D、L、
定数

ランタイムメータの新規値

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションの処理中にエラーが発生した場合は、戻り値にエラーコードが含まれます。

CQ

OUTPUT

BOOL

I、Q、M、D、L

ランタイムメータのステータス(1: 実行中)CV

OUTPUT

DINT

I、Q、M、D、L

ランタイムメータの現在値

16 ビットランタイムメータを備えた CPU 用に開発されたプログラムとの互換性
32 ビットランタイムメータは、SFC 2 "SET_RTM"、3 "CTRL_RTM"、4 "READ_RTM"を使用しても操作できます。ただしこの場合は、ランタイムメータが 16 ビットモードで動作します(値の範囲:
0～32767 時間)。
SSL ID W#16#0132 およびインデックス W#16#0008 のサブリスト抽出には、32 ビットランタイム
メータ 0～7 が 16 ビットモードで表示されます。
これはつまり、SSL ID W#16#0132 およびインデッ
クス W#16#0008 のサブリスト抽出を使用する、16 ビットランタイムメータ装備の CPU 用に開発されたプログラムを引き続き使用できることを意味します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
142

リファレンスマニュアル, 05/2017, A5E41733394-AA

ランタイムメータ操作用の SFC
6.2 SFC 101 "RTM"によるランタイムメータの処理

エラー情報
エラーコードW#16#...)

説明

0000

エラーは発生していません。

8080

ランタイムメータの番号が間違っています。

8081

パラメータ PV に負の値が渡されました。

8082

ランタイムメータのオーバーフローが発生しました。

8091

入力パラメータ MODE の値が無効です。

8xyy

一般的なエラーコードについては、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

143

ランタイムメータ操作用の SFC
6.3 SFC 2 "SET_RTM"によるランタイムメータの設定

6.3

SFC 2 "SET_RTM"によるランタイムメータの設定

説明
CPU のランタイムメータを選択した値に設定するには、SFC 2 "SET_RTM"(ランタイムメータの設定)を使用します。設定できるランタイムメータの番号は、使用している特定の CPU によって異なります。
パラメータ 宣言

データタイプ メモリ領域

NR

BYTE

INPUT

説明

I、Q、M、D、L、 Input NR には、設定するランタイムメータの定数番号が示されます。
番号は 0 から開始します。
ご使用の CPU のランタイムメータの番号については、仕様を参照してください。

PV

INPUT

INT

I、Q、M、D、L、 Input PV には、ランタイムメータの設定値
定数(デフォルト) が示されます。

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、戻り値にエラーコードが示されます。

エラー情報
エラーコード (W#16#...)

説明

0000

エラーは発生していません。

8080

ランタイムメータの番号が間違っています。

8081

PV パラメータに負の値が転送されました。

8xyy

一般的なエラーコードについては、出力パラメータ RET_VAL によるエラーの評価S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
144

リファレンスマニュアル, 05/2017, A5E41733394-AA

ランタイムメータ操作用の SFC
6.4 SFC 3 "CTRL_RTM"によるランタイムメータの開始と停止

6.4

SFC 3 "CTRL_RTM"によるランタイムメータの開始と停止

説明
SFC 3 "CTRL_RTM" (ランタイムメータのコントロール) を使用して、CPU のランタイムメータを開始または停止することができます。
パラメータ 宣言

データタイプ メモリ領域

NR

BYTE

INPUT

説明

I、Q、M、D、L、 Input NR には、開始または停止するランタイ
定数
ムメータの番号が示されます。
番号は 0 から開始します。
ご使用の CPU のランタイムメータの番号については、仕様を参照してください。

S

INPUT

BOOL

I、Q、M、D、L、 Input S は、ランタイムメータを起動または定数停止します。カウンタを停止したい場合は、信号状態を"0"に設定します。カウンタを開始したい場合は、信号状態を"1"に設定します。

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、戻り値にエラーコードが示されます。

エラー情報
エラーコード (W#16#...)

説明

0000

エラーは発生していません。

8080

ランタイムメータの番号が間違っています。

8xyy

一般的なエラーコードについては、出力パラメータ RET_VAL によるエラーの評価S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

145

ランタイムメータ操作用の SFC
6.5 SFC 4 "READ_RTM"によるランタイムメータの読み取り

6.5

SFC 4 "READ_RTM"によるランタイムメータの読み取り

説明
SFC 4 "READ_RTM" (ランタイムメータの読み取り) を使用して、ランタイムメータを読み取ります。SFC 4 は、出力データとして現在のランタイムとカウンタのステータスを示します。例:"stopped"(停止) または"counting"(カウント)
ランタイムメータの動作時間が 32767 を超えると、カウント 32767 で停止し、エラーメッセージ"
オーバーフロー"が出力されます。
パラメータ 宣言

データタイプ

メモリ領域

NR

BYTE

I、Q、M、D、L、 Input NR には、読み取るランタイムメータ
定数の番号が示されます。

INPUT

説明

番号は 0 から開始します。
ご使用の CPU のランタイムメータの番号については、仕様を参照してください。
RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、戻り値にエラーコードが示されます。

CQ

OUTPUT

BOOL

I、Q、M、D、L

Output CQ は、ランタイムメータが実行中
なのか、それとも停止しているのかを示します。信号状態"0"は、ランタイムメータが停止していることを示します。信号状態"1"は、ランタイムメータが実行中であることを示します。

CV

OUTPUT

INT

I、Q、M、D、L

Output CV は、ランタイムメータの現在の値を示します。

エラー情報
エラーコード (W#16#...)

説明

0000

エラーは発生していません。

8080

ランタイムメータの番号が間違っています。

8081

ランタイムメータのオーバーフローが発生しました。

8xyy

一般的なエラーコードについては、出力パラメータ RET_VAL によるエラーの評価S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
146

リファレンスマニュアル, 05/2017, A5E41733394-AA

ランタイムメータ操作用の SFC
6.6 SFC 64 "TIME_TCK"によるシステム時間の読み取り

6.6

SFC 64 "TIME_TCK"によるシステム時間の読み取り

説明
SFC 64 "TIME_TCK" (時刻を刻む) を使用して、CPU のシステム時間を読み取ることができます。
システム時間は、0 から最高 2147483647ms までを繰り返しカウントする"時間カウンタ"です。オーバーフロー時には、システム時間は再び 0 からカウントされます。システム時間の分解能および精度は 1ms です。システム時間は、CPU の動作モードによってのみ影響を受けます。

アプリケーション
例えば、2 つの SFC 64 の呼び出しの結果を比較して処理の時間を測定する場合に、システム時間を使用できます。

システム時間とモード
モード

システム時間 ...

STARTUP(起動)

定期的に更新されます。

RUN
STOP

停止状態であり、現在値を維持しています。

ホットリスタート
STOP モードに切り替わったときに保存された値から、継続されます。
(S7-300 および S7-400 H は除く)
ウォームリスタート

削除され、"0"から再起動します。

コールドリスタート

パラメータ

宣言

データタイプ

メモリ領域

説明

RET_VALOUTPUT

TIME

I、Q、M、D、L

RET_VAL パラメータには、0 ～ 231−1
ms の範囲のシステム時間読み取り値が示されます。

エラー情報
SFC 64 "TIME_TCK" にはエラー情報はありません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

147

ランタイムメータ操作用の SFC
6.6 SFC 64 "TIME_TCK"によるシステム時間の読み取り

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
148

リファレンスマニュアル, 05/2017, A5E41733394-AA

7

データレコード転送用の SFC/SFB

7.1

データレコードの書き込みおよび読み取り原則
モジュールによっては、データレコードの転送先となるシステムデータ領域が書き込み専用になっています。このエリアには、最大で 0～240 の数値のデータレコードが含まれます。各モジュールにすべてのデータレコードが含まれているわけではありません(次の表を参照)。
上記以外のモジュールでは、データレコードの読み取りが可能なシステムデータ領域は読み取り専用になります。このエリアには、最大で 0～240 の数値のデータレコードが含まれます。各モジュールにすべてのデータレコードが含まれているわけではありません(次の表を参照)。

注記
書き込み専用と読み取り専用の両方のシステムデータ領域を持つモジュールもあります。この場合、領域同士は物理的に分割され、論理構造のみが共通しています。

書き込み専用のシステムデータ領域
次の表に、書き込み専用システムデータ領域の構造を示します。また、データレコードに許容される
長さと、データレコードの書き込みを実行できる SFC も示しています。
データレコード 内容
番号

サイズ

制限

SFC で書き込み可能

0

S7-300:S7-400 でのみ書き込み可能56 "WR_DPARM"

2 ～ 14 バイト
S7-300:-55 "WR_PARM"

1

2 - 127

パラメータ
パラメータ

57 "PARM_MOD"

2 ～ 14 バイト

56 "WR_DPARM"

データレコード 0 と 1 の両方で合計 16 バイト

57 "PARM_MOD"

ユーザーデータ 各 = 240 バイト-

55 "WR_PARM"
56 "WR_DPARM"
57 "PARM_MOD"
58 "WR_REC"

128 - 240

パラメータ

各 = 240 バイト-

55 "WR_PARM"
56 "WR_DPARM"
57 "PARM_MOD"
58 "WR_REC"

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

149

データレコード転送用の SFC/SFB
7.1 データレコードの書き込みおよび読み取り

リードオンリーのシステムデータ領域
次の表に、リードオンリーのシステムデータ領域の構造を示します。また、データレコードに許容される長さと、データレコードの書き込みを実行できる SFC も示しています。
データレコード
番号

内容

サイズ

SFC で読み取り 可能0モジュール固有の診断データ

4 バイト

51 "RDSYSST"(SSL_ID 00B1H)(システム全体に対して標準で設定)
1

チャンネル固有診断データ(データレコード 0 を含む)

59 "RD_REC"•

S7-300: 16 バイト

51 "RDSYSST"•

S7-400: 4～220 バイト(SSL_ID 00B2H and
00B3H)
59 "RD_REC"2 - 127

ユーザーデータ

各 < 240 バイト

59 "RD_REC"

128 - 240

診断データ

各 < 240 バイト

59 "RD_REC"

システムリソース
複数の非同期データレコード転送を短い間隔で次々に開始する場合、オペレーティングシステムによるシステムリソースの割り付けによって、すべてのジョブが実行され、相互に干渉されるのを防ぎます。
システムリソースの限界に達した場合、RET_VAL によってその旨が通知されます。この一時的なエラー状態は、ジョブを繰り返し行うことで解消できます。
"同時に"アクティブにできる SFC ジョブの最大数は、CPU により異なります。詳細については、/72/、/101/、/102/を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
150

リファレンスマニュアル, 05/2017, A5E41733394-AA

データレコード転送用の SFC/SFB
7.2 SFC 54 "RD_DPARM"による定義されたパラメータの読み取り

7.2

SFC 54 "RD_DPARM"による定義されたパラメータの読み取り

説明
SFC 54 "RD_DPARM" (定義されたパラメータの読み取り) を使用して、STEP7 でコンフィグレー
ションされたシステムデータから、アドレス指定されたモジュールの RECNUM 番号を持つデータ
レコードを読み取ります。読み取られたデータレコードは、パラメータ RECORD で開かれた指定領域に入力されます。
パラメータ 宣言

データタイプ メモリ領域

IOID

INPUT

BYTE

I、Q、M、D、L、 アドレス領域の ID です。
定数
B#16#54 = ペリフェラル入力(PI)B#16#55 = ペリフェラル出力(PQ)
混成モジュールの場合は、最下位アドレスの領域
ID を指定します。アドレスが同じである場合
は、B#16#54 を指定します。

LADDR

INPUT

WORD

I、Q、M、D、L、 モジュールの論理ベースアドレス。混成モジュー定数ルの場合は、2 つのアドレスのうち下位の方を指定します。

RECNUM

INPUT

BYTE

I、Q、M、D、L、 データレコード番号 (許可された値: 0～240)
定数

RET_VALOUTPUT INT

I、Q、M、D、L

説明

読み取り対象データレコードが指定領域に適合し、転送時にエラーが発生しない場合の、読み取り対象データレコードのバイトの長さ。
ファンクションがアクティブなときにエラーが発生すると、戻り値にエラーコードが示されます。

RECORDOUTPUT ANY

I、Q、M、D、L

読み取られたデータレコードの指定領域。データ
タイプ BYTE だけが許可されています。

エラー情報
SFC 57 "PARM_MOD"によるモジュールへのパラメータの割り付け

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

151

データレコード転送用の SFC/SFB
7.3 SFC 102 "RD_DPARA"による予め定義されたパラメータの読み取り

7.3

SFC 102 "RD_DPARA"による予め定義されたパラメータの読み取り

説明
SFC 102 "RD_DPARA"を使用して、STEP7 でコンフィグレーションされたシステムデータから、選択されたモジュールの RECNUM 番号を持つデータレコードを読み取ることができます。読み取る
データレコードは、パラメータ RECORD で開いたターゲット領域内へ入力します。

動作原理
SFC 102 "RD_DPARA"は、非同期で動作します。つまり、処理は複数の SFC の呼び出しを対象とします。REQ=1 で SFC 102 を呼び出してジョブを開始します。
ジョブのステータスは、出力パラメータ RET_VAL および BUSY を介して表示されます。
参照項目: 非同期 SFC のパラメータ REQ、RET_VAL、BUSY の意味
パラメータ

宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L

REQ = 1: 読み取り要求

LADDR

INPUT

WORD

I、Q、M、D、L、 モジュールの任意のアドレス。出力アドレスに定数
対しては、最高値ビットを設定する必要があります。

RECNUM

INPUT

BYTE

I、Q、M、D、L、 データレコード番号 (許可された値: 0～240
定数

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションがアクティブなときにエラーが発生すると、戻り値にエラーコードが示されます。
伝送中にエラーが発生しなかった場合は、次の2 つのケースが区別されます。
•

読み取られたデータレコードより宛先領域が大きい場合、RET_VAL には、実際に読み取られたデータレコードの長さがバイト単位で含まれます。

•

読み取られたデータレコードの長さが、宛先領域の長さと等しい場合、RET_VAL には 0が含まれます。

BUSY

OUTPUT

BOOL

I、Q、M、D、L

BUSY = 1: ジョブはまだ閉じていません。

RECORDOUTPUT

ANY

I、Q、M、D、L

読み取られたデータレコードの指定領域。ここでは、データタイプ BYTE だけが許可されます。
注: S7-300 CPU の RECORD パラメータには、DB パラメータの完全な仕様が常に必須であることに注意してください(例: P#DB13.DBX0.0 バイ
ト 100)。明示的な DB番号の省略は S7-300 CPU
では許可されていないため、ユーザープログラム
でエラーが発生します。

エラー情報参照して下さい SFC 57 "PARM_MOD"によるモジュールへのパラメータの割り付け

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
152

リファレンスマニュアル, 05/2017, A5E41733394-AA

データレコード転送用の SFC/SFB
7.4 SFC 55 "WR_PARM"による動的パラメータの書き込み

7.4

SFC 55 "WR_PARM"による動的パラメータの書き込み

説明
SFC 55 "WR_PARM" (パラメータの書き込み) を使用して、RECORD にあるデータレコードをアドレス指定されたモジュールに転送します。モジュールに転送されたパラメータは、STEP7 でコンフィグレーションされたパラメータを上書きしません。

必要条件•

転送されるデータレコードは静的であってはなりません。

(静的なデータレコードの詳細については、/71/および/101/ を参照してください。)
パラメータ 宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、
定数

REQ=1：書き込み要求です。t

IOID

INPUT

BYTE

I、Q、M、D、L、 アドレス領域の ID です。
定数
B#16#54 = ペリフェラル入力(PI)B#16#55 = ペリフェラル出力(PQ)
混成モジュールの場合は、最下位アドレスの領域
ID を指定します。アドレスが同じである場合
は、B#16#54 を指定します。

LADDR

INPUT

WORD

I、Q、M、D、L、
定数

RECNUM

INPUT

BYTE

I、Q、M、D、L、 データレコード番号
定数

RECORD

INPUT

ANY

I、Q、M、D、L

モジュールの論理ベースアドレス。混成モジュールの場合は、2 つのアドレスのうち下位の方を指定します。

データレコード
注: S7-300 CPU の RECORD パラメータには、DB パラメータの完全な仕様が常に必須であることに注意してください(例: P#DB13.DBX0.0 バイ
ト 100)。明示的な DB 番号の省略は S7-300 CPU
では許可されていないため、ユーザープログラ
ムでエラーが発生します。

RET_VALOUTPUT INT

I、Q、M、D、L

ファンクションがアクティブなときにエラーが発生すると、戻り値にエラーコードが示され
ます。

BUSY

OUTPUT BOOL

I、Q、M、D、L

BUSY=1：書き込みがまだ完了していません。

入力パラメータ RECORD
最初の SFC 呼び出しの際、転送されるデータはパラメータ RECORD から読み取られます。データ
レコードの転送時間が、呼び出し継続時間より長くなると、
パラメータ RECORD の内容は次の SFC
呼び出し(同じジョブのための)に対して、適切なものではなくなります。

エラー情報
SFC 57 "PARM_MOD"によるモジュールへのパラメータの割り付け

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

153データレコード転送用の SFC/SFB
7.4 SFC 55 "WR_PARM"による動的パラメータの書き込み

注記(S7-400 のみ)
一般的エラーW#16#8544 は、データレコードが格納されている I/O メモリ領域の最低 1 バイトにアクセスができなかったことを示しているだけです。このエラーが発生しても、データ転送は継続されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
154

リファレンスマニュアル, 05/2017, A5E41733394-AA

データレコード転送用の SFC/SFB
7.5 SFC 56 "WR_DPARM"によるデフォルトパラメータの書き込み

7.5

SFC 56 "WR_DPARM"によるデフォルトパラメータの書き込み

説明
SFC 56 "WR_DPARM" (デフォルトパラメータの書き込み) を使用して、RECNUM 番号を持つデータ
レコードを、STEP 7 のコンフィグレーションデータからアドレス指定されたモジュールに書き込みます。この機能では、データレコードが静的であっても動的であっても関係ありません。
パラメータ 宣言

データタイプ

メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、 REQ=1：書き込み要求です。t
定数

IOID

INPUT

BYTE

I、Q、M、D、L、 アドレス領域の ID です。
定数
B#16#54 = ペリフェラル入力 (PI)B#16#55 =ペリフェラル出力 (PO)

モジュールが混成モジュールの場合、最下位
アドレスの領域 ID を指定します。アドレスが同じである場合は、
B#16#54 を指定します。
LADDR

INPUT

WORD

I、Q、M、D、L、 モジュールの論理ベースアドレス。
定数
混成モジュールの場合は、2 つのアドレスのうち下位の方を指定します。

RECNUM

INPUT

BYTE

I、Q、M、D、L、 データレコード番号
定数

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションはアクティブなときにエラーは発生すると、戻り値にエラーコードが示
されます。

BUSY

OUTPUT

BOOL

I、Q、M、D、L

BUSY=1：書き込みがまだ完了していま
せん。

エラー情報
SFC 57 "PARM_MOD"によるモジュールへのパラメータの割り付け

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

155

データレコード転送用の SFC/SFB
7.6 SFC 57 "PARM_MOD"によるモジュールへのパラメータの割り付け

7.6

SFC 57 "PARM_MOD"によるモジュールへのパラメータの割り付け

説明
SFC 57 "PARM_MOD" (モジュールへのパラメータの割り付け) を使用して、STEP 7 でコンフィグ
レーションしたモジュールのすべてのデータレコードを、そのモジュールに転送します。この機能は、データレコードが静的であっても動的であっても関係ありません。
パラメータ 宣言

データタイプ

メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、
定数

REQ=1：書き込み要求です。t

IOID

INPUT

BYTE

I、Q、M、D、L、
定数

アドレス領域の ID です。
B#16#54 = ペリフェラル入力 (PI)B#16#55= ペリフェラル出力 (PQ)
モジュールが混成モジュールの場合、最下位アドレスの領域 ID を指定します。アド
レスが同じである場合は、B#16#54 を指定
します。

LADDR

INPUT

WORD

I、Q、M、D、L、
定数

モジュールの論理ベースアドレス。
混成モジュールの場合は、2 つのアドレスのうち下位の方を指定します。

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションはアクティブなときにエラーは発生すると、戻り値にエラーコードが示されます。

BUSY

OUTPUT

BOOL

I、Q、M、D、L

BUSY=1：書き込みがまだ完了していま
せん。

エラー情報
"実際の"エラー情報 (エラーコード W#16#8xyz) は、2 つのクラスに分けることができます。
•

一時的なエラー(エラーコード W#16#80A2 ～ 80A4, 80Cx):
この種のエラーは、措置を何も講じなくても除去できることがあります。SFC の再呼び出しを試みてください(場合によっては数回)。
たとえば、必要なリソースが現在使用中である場合、テンポラリエラーが発生します(W#16#80C3)。

•

永続的なエラー (エラーコード W#16#809x, 80A1, 80Bx, 80Dx):
この種のエラーは、措置を講じなければ除去することはできません。エラーを解消してからでなければ、SFC を正常に呼び出すことはできません。
たとえば、RECORD に不正な長さを指定した場合は、パーマネントエラーが発生します(W#16#80B1)。

注記
SFC 55、56、57 を使用してデータレコードを DPV1 スレーブに転送する場合、およびこのスレーブ
を DPV1 モードで操作する場合は、このスレーブから受け取ったエラー情報を次のとおり DP
マスタが評価します。
エラー情報が W#16#8000～W#16#80FF の範囲、または W#16#F000～W#16#FFFF の範囲内にある場合、DP マスタは SFC にエラー情報を送ります。エラー情報がこの範囲以外にある場合、CPU は値 W#16#80A2 を SFC に送り、スレーブを一時停止させます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
156

リファレンスマニュアル, 05/2017, A5E41733394-AA

データレコード転送用の SFC/SFB
7.6 SFC 57 "PARM_MOD"によるモジュールへのパラメータの割り付け
SFC 54 "RD_DPARM"、SFC 55 "WR_PARM"、SFC 56 "WR_DPARM"、SFC 57 "PARM_MOD"のエラー情報。
エラーコード 説明(W#16#...)

制限

0000

エラーは発生していません。

-

7000

REQ=0 による最初の呼び出し：データ転送がアクティブになっ ていません。BUSY の値は 0 です。

7001

REQ=1 による最初の呼び出し：データ転送が開始されました。 分散 I/O
BUSY の値は 1 です。

7002

中間の呼び出し (REQ は不適切)：データ転送はアクティブです。 分散 I/O
BUSY の値は 1 です。

8090

指定された論理ベースアドレスは無効です。
SDB1/SDB2x に何も割り付けられていない、またはベースアド
レスが何もありません。

8092

ANY リファレンスに指定されたタイプが BYTE ではありません。 SFC 54 "RD_PARM" およびSFC 55 "WR_PARM"の
S7-400 のみ。

8093

この SFC は、LADDR と IOID で指定されたモジュールには許可 されていません (次のモジュールは許可されています。
S7-300 の S7-300 モジュール、S7-400 の S7-400 モジュール、S7-300 と S7-400 の S7-DP モジュール)。

80A1

モジュールへのデータレコード送信時に否定応答が返されました 1)(転送時にモジュールが削除されたか、モジュールに障害が発生しました)。

80A2

レイヤ 2 での DP プロトコルエラーです。DP スレーブでハード リモート I/O 1)
ウェア/インターフェースが故障している可能性があります。

80A3

ユーザーインターフェース/ユーザーでの DP プロトコルエラー

リモート I/O 1)

80A4

コミュニケーションバスでの通信異常

CPU と外部 DP
インターフェースモジュー
ル 1)間でエラーが発生しま
した。

80B0

モジュールタイプに対する SFC が実行できません。モジュール 1)
がデータレコードを認識しません。

80B1

転送されたデータレコード長さが正しくありません。SFC 54"RD_PARM"を使用して、RECORD で開いた指定領域の長さが短すぎます。

-

80B2

コンフィグレーションされたスロットが空き状態となってい
ます。

1)

80B3

実際のモジュールタイプが、SDB1 で必要なモジュールタイプと 1)
一致していません。

80C1

モジュール上で、同一のデータレコードに対する前の書き込み
ジョブのデータがまだ処理されていません。

1)

80C2

モジュールが現在処理しているジョブ数が、CPU の最大許容数に達しています。

1)

80C3

必要なリソース(メモリなど)が使用されています。

1)

80C4

内部のテンポラリエラー ジョブを処理できません。

1)

•

-

ジョブを繰り返してください。このエラーが頻繁に発生する場合は、使用しているシステムの電気的障害の原因をチェッ
クしてください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

157

データレコード転送用の SFC/SFB
7.6 SFC 57 "PARM_MOD"によるモジュールへのパラメータの割り付け
エラーコード 説明(W#16#...)

制限

80C5

分散 I/O が使用できません。

リモート I/O 1)

80C6

優先度クラスの異常終了により、データレコード転送が停止しました(ホットリスタートまたはバックグランド)。

リモート I/O 1)

80D0

該当する SDB 内にモジュールのためのエントリが存在していま せん。

80D1

データレコード番号は、モジュールの対応する SDB でコンフィ グレーションされません (データレコード番号=241 は、STEP 7
により拒否されました)。

80D2

タイプ識別子に従って、モジュールにパラメータを割り付けることができません。

-

80D3

SDB が存在していないので、アクセスできません。

-

80D4

SDB の構造エラー: SDB 内部ポインタが SDB 以外の値を指して S7-300 の場合のみ
います。

80D5

データレコードが静的です。

8xyy

一般的なエラーコードについては、出力パラメータ RET_VAL
によるエラーの評価.

SFC 55"WR_PARM"の場合のみ

SFC 54 "RD_DPARM"では発生しません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
158

リファレンスマニュアル, 05/2017, A5E41733394-AA

データレコード転送用の SFC/SFB
7.7 SFC 58 "WR_REC"によるデータレコードの書き込み

7.7

SFC 58 "WR_REC"によるデータレコードの書き込み

説明
SFC 58 "WR_REC" (レコードの書き込み) を使用して、RECORD に含まれているデータレコード
をアドレス指定されたモジュールに転送します。
SFC 58 を呼び出し、入力パラメータ REQ に値 1 を割り付けて、書き込みジョブを開始します。
書き込みジョブがすぐに実行できた場合、SFC は出力パラメータ BUSY に値 0 を返します。BUSYに値 1 が返された場合、書き込みはまだ完了していません。

注記
DPV1 スレーブが GSD ファイル(Rev. 3 時点の GSD)を使用してコンフィグレーションされており、
DP マスタの DP インターフェースが「S7 互換」に設定されている場合、ユーザープログラムの I/Oモジュールに対して、SFC 58 を使用してデータレコードを書き込んではいけません。この場合、DP マスタが間違ったスロットをアドレス指定してしまうからです(コンフィグレーションされた
スロット+3)。
対処法: DP マスタのインターフェースを"DPV1"に設定します。

パラメータ

宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、
定数

REQ=1：書き込み要求です。t

IOID

INPUT

BYTE

I、Q、M、D、L、
定数

アドレス領域の ID です。
B#16#54 = ペリフェラル入力 (PI)B#16#55= ペリフェラル出力 (PQ)
混成モジュールでは、最下位アドレスの領域 IDを指定します。アドレスが同じ場合は、
B#16#54 を指定します。

LADDR

INPUT

WORD

I、Q、M、D、L、
定数

モジュールの論理アドレスです。混成モジュールの場合は、2 つのアドレスのうち下位の方を指定します。

RECNUM

INPUT

BYTE

I、Q、M、D、L、
定数

データレコード番号 (許可された値: 2～240)

RECORD

INPUT

ANY

I、Q、M、D、L

データレコード ここでは、データタイプ BYTEだけが許可されます。
注: S7-300 CPU の RECORD パラメータには、DB パラメータの完全な仕様が常に必須であることに注意してください(例: P#DB13.DBX0.0
バイト 100)。明示的な DB番号の省略は S7-300
CPU では許可されていないため、ユーザープ
ログラムでエラーが発生します。

RET_VALOUTPUT INT

I、Q、M、D、L

ファンクションがアクティブなときにエラーが発生すると、戻り値にエラーコードが示され
ます。

BUSY

OUTPUT BOOL

I、Q、M、D、L

BUSY=1：書き込みがまだ完了していません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

159

データレコード転送用の SFC/SFB
7.7 SFC 58 "WR_REC"によるデータレコードの書き込み

入力パラメータ RECORD
最初の SFC 呼び出しの際、転送されるデータはパラメータ RECORD から読み取られます。データ
レコードの転送時間が、呼び出し継続時間より長くなると、
パラメータ RECORD の内容は次の SFC
呼び出し(同じジョブのための)に対して、適切なものではなくなります。

エラー情報
SFC 59 "RD_REC"によるデータレコードの読み取り

注記一般的エラーW#16#8544 は、データレコードが格納されている I/O メモリ領域の最低 1 バイトにアクセスができなかったことを示しているだけです。このエラーが発生しても、データ転送は継続されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
160

リファレンスマニュアル, 05/2017, A5E41733394-AA

データレコード転送用の SFC/SFB
7.8 SFC 59 "RD_REC"によるデータレコードの読み取り

7.8

SFC 59 "RD_REC"によるデータレコードの読み取り

説明
SFC 59 "RD_REC" (レコードの読み取り) を使用して、RECNUM 番号のあるデータレコードをアドレス指定されたモジュールから読み取ります。SFC 59 を呼び出し、入力パラメータ REQ に値 1 を割り付けて、読み取りジョブを開始します。読み取りジョブをすぐに実行できた場合、SFC は出力パラメータ BUSY に値 0 を返します。BUSY の値が 1 の場合は、読み取りジョブがまだ終了していないことを示します(セクション 0 を参照)。読み取られたデータレコードは、データ転送中にエラーが発生しなかった場合に限り、RECORDパラメータで指示された指定領域に入力されます。

注記
1997 年 2 月以前に購入した FM または CPU(以下、"旧型モジュール"と呼びます)から、番号が 1 より大きいデータレコードをフェッチすると、SFC 59 が新型モジュールとは異なる応答をします。
この特殊な状況については、「旧型の S7-300 FM および CP で 1 よりも大きなデータレコード番号を使用する」を参照してください。

注記
DPV1 スレーブが GSD ファイル(Rev. 3 時点の GSD)を使用してコンフィグレーションされており、
DP マスタの DP インターフェースが「S7 互換」に設定されている場合、ユーザープログラムの I/Oモジュールから、SFC 59 を使用してデータレコードを読み込んではいけません。この場合、DP
マスタが間違ったスロットをアドレス指定してしまうからです(コンフィグレーションされたス
ロット+3)。
対処法: DP マスタのインターフェースを"DPV1"に設定します。

パラメータ 宣言

データタイプ

メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、 REQ = 1: 読み取り要求
定数

IOID

INPUT

BYTE

I、Q、M、D、L、 アドレス領域の ID です。
定数
B#16#54 = ペリフェラル入力 (PI)B#16#55 = ペリフェラル出力 (PQ)
モジュールが混成モジュールの場合、最下位ア
ドレスの領域 ID を指定します。アドレスが同じである場合は、B#16#54 を指定します。

LADDR

INPUT

WORD

I、Q、M、D、L、 モジュールの論理アドレスです。混成モジュール
定数の場合は、2 つのアドレスのうち下位の方を指定します。

RECNUM

INPUT

BYTE

I、Q、M、D、L、 データレコード番号(設定可能な値は、0～240
定数です)。

RET_VALOUTPUT INT

I、Q、M、D、L

ファンクションがアクティブなときにエラーが発生すると、戻り値にエラーコードが示されます。
指定領域が転送されたデータレコードよりも大きく、転送中に何もエラーが発生しなかった場合、実際にバイトで転送されたデータレコード長(有効な値: +1～+240) も入力されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

161

データレコード転送用の SFC/SFB
7.8 SFC 59 "RD_REC"によるデータレコードの読み取り
パラメータ 宣言

データタイプ

メモリ領域

説明

BUSY

OUTPUT BOOL

I、Q、M、D、L

BUSY=1：読み取りがまだ完了していないことを示します。

RECORDOUTPUT ANY

I、Q、M、D、L

読み取られたデータレコードの指定領域。非同期で実行する SFC59 では、RECORD の実パラメー
タがすべての呼び出しに対して、同じ長さの情報を持っているか確認してください。ここでは、データタイプ BYTE だけが許可されます。
注: S7-300 CPU の RECORD パラメータには、DB パラメータの完全な仕様が常に必須であることに注意してください(例: P#DB13.DBX0.0 バイ
ト 100)。明示的な DB 番号の省略は S7-300 CPU
では許可されていないため、ユーザープログラ
ムでエラーが発生します。

出力パラメータ RET_VAL•

ファンクションの実行中にエラーが発生した場合、戻り値にエラーコードが示されます。

•

エラーが発生していなければ、RET_VAL の内容は以下のようになります。
-

0: 指定領域全体が選択したデータレコードのデータで一杯の場合(データレコードが不完全な場合もあります)。

-

保存先領域が転送されたデータレコードよりも大きい場合、実際に転送されたバイト単位のデータレコード長(可能な値: +1～+240)。

注記
一般エラーW#16#8545 は、データレコードを含んでいる I/O メモリ領域内の少なくとも 1 バイトにアクセスできなかったことを意味するだけです。このエラーが発生しても、データ転送はモ
ジュールによって正確に読み取られ、I/O メモリ領域に書き込まれます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
162

リファレンスマニュアル, 05/2017, A5E41733394-AA

データレコード転送用の SFC/SFB
7.8 SFC 59 "RD_REC"によるデータレコードの読み取り

RECORD の設定
注記
データレコード全体が常に読み取られるようにするには、241 バイト長の指定領域を選択します。
データ転送中にエラーが発生しなかった場合、RET_VAL には実際のデータレコード長が含まれます。

旧型の S7-300 FM および CP で 1 よりも大きなデータレコード番号を使用する
SFC 59 "RD_REC"を使用して、旧型 S7-300 FM または旧型 S7-300 CP から 1 より大きい番号を持つデータレコードを読み取る場合には、次の点に注意してください。
•

指定領域が、必要なデータレコードの実際の長さより大きい場合、RECORD にデータは入力されません。
RET_VAL の値は W#16#80B1 になります。

•

指定領域が必要なデータレコードの実際の長さよりも小さい場合、CPU は、RECORD の長さ
情報で指定されているだけのバイト数をデータレコードの先頭から読み取り、それを RECORDに入力します。
RET_VAL の値は 0 になります。

•

RECORD の長さ情報が、必要なデータレコードの実際の長さと同じである場合、CPU は必要
なデータレコードを読み取り、それを RECORD に入力します。
RET_VAL の値は 0 になります。

エラー情報
次の表に示す"実際の"エラー情報(エラーコード W#16#8xyz)は、2 つのクラスに分けることができます。
•

テンポラリエラー (エラーコード W#16#80A2～ 80A4、80Cx):
このタイプのエラーは、操作を何も行わずにエラーが解消されます。すなわち、再び SFC を呼び出すことをお勧めします (必要であれば、2 回以上)。
たとえば、必要なリソースが現在使用中である場合、テンポラリエラーが発生します(W#16#80C3)。

•

パーマネントエラー (エラーコード W#16#809x、80A1、80Bx、80Dx):
このタイプのエラーは、操作を何も行わないとエラーは解消されません。問題を解決してからでなければ、SFC を正常に呼び出すことはできません。たとえば、RECORD に不正な長さを指定した場合は、パーマネントエラーが発生します(W#16#80B1)。

注記
SFC 58 "WR_REC"を使用して DPV1 スレーブにデータレコードを転送する場合、あるいは SFC 59"RD_REC"を使用して DPV1 スレーブからデータレコードをフェッチする場合、およびこの DPV1
スレーブが DPV1 モードで動作する場合、DP マスタはスレーブから受け取ったエラー情報を次のように評価します。
エラー情報が W#16#8000～W#16#80FF の範囲、または W#16#F000～W#16#FFFF の範囲内にある
場合、DP マスタは SFC にエラー情報を送ります。エラー情報がこの範囲以外にある場合、CPU は
値 W#16#80A2 を SFC に送り、スレーブを一時停止させます。
DPV1 スレーブから受け取ったエラー情報の詳細については、SFB 54 "RALRM"による割り込みの受信.

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

163

データレコード転送用の SFC/SFB
7.8 SFC 59 "RD_REC"によるデータレコードの読み取り

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
164

リファレンスマニュアル, 05/2017, A5E41733394-AA

データレコード転送用の SFC/SFB
7.8 SFC 59 "RD_REC"によるデータレコードの読み取り
SFC 58 "WR_REC"および SFC 59 "RD_REC"のエラー情報
エラーコード 説明(W#16#...)

制限

0000
7000

-

7001

7002

8090

8092
8093

80A0

80A1

80A2

80A3
80A4

80B0

80B1

エラーは発生していません。
REQ=0 による最初の呼び出し：データ転送がアクティブになっていません。BUSY の値は 0 です。
REQ=1 での最初の呼び出し: データ転送がアクティブになっていません。
BUSY の値は 1 です。
中間の呼び出し (REQ は不適切): データ転送は既にアクティブです;
BUSY の値は 1 です。
指定された論理ベースアドレスは無効です。
SDB1/SDB2x に何も割り付けられていない、またはベースア
ドレスが何もありません。
ANY リファレンスに指定されたタイプが BYTE ではありません。
この SFC は、LADDR と IOIDで指定されたモジュールには許可されていません (次のモジュールは許可されています。
S7-300 の S7-300 モジュール、S7-400 の S7-400 モジュー
ル、S7-300 と S7-400 の S7-DP モジュール)。
モジュールから読み取るときの否定の確認応答•
ジョブを読み取る間にモジュールは削除されたか、モジュールが不完全です。
•
H-Systems を追加して、スタンバイ CPU の一方向の I/Oは使用できません (例: STOP にあるスタンバイ CPU)
データレコードをモジュールに送るときの否定の確認応答•
転送する間にモジュールは削除されたか、モジュールが不完全です。
•
H-Systems を追加して、スタンバイ CPU の一方向の I/Oは使用できません (例: STOP にあるスタンバイ CPU)•
レイヤ 2 での DP プロトコルエラー(スレーブエラーやバス障害など)•ET 200S では、DPV0 モードでデータレコードを読み取ることができません。
ユーザーインターフェース/ユーザーでの DP プロトコルエラー
コミュニケーションバスでの通信異常

分散 I/O

分散 I/O-

S7-400 のみ-

SFC 59 "RD_REC"のみ

SFC 58 "WR_REC" のみ

分散 I/O

分散 I/O
CPU と
外部 DP インターフェースモ
ジュール間でエラーが発生

モジュールタイプに対して SFC を実行できません。
モジュールがデータレコードを認識していない。
データレコード番号 241 は許可されていません。
SFC 58 (WR_REC) では、データレコード 0 と 1 は許可されていません。
RECORD パラメータ内で指定された長さが正しくありま • SFC 58 "WR_REC"の長させん。
が正しくありません。
• SFC 59 "RD_REC"(旧型の S7-300 FM および
S7-300 CP を使用する場合
のみ): 指定された長さ > レ
コード長• SFC 13"DPNRM_DG"の場合: 指定
された長さ> レコード長

•
•
•
•

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

165

データレコード転送用の SFC/SFB
7.9 SFC 55 ～ 59 のエラー情報詳細
エラーコード 説明(W#16#...)

制限

80B2

-

80B3
80B7
80C0

80C1

80C2
80C3
80C4

80C5
80C6

8xyy

7.9

コンフィグレーションされたスロットが空き状態となっています。
実際のモジュールタイプが、SDB1 で必要なモジュールタイ
プと一致していません。
DP スレーブまたはモジュールが無効な範囲のパラメータまたは値を伝えています。
SFC 58 "WR_REC"使用時: CPU が STOP モードにある場合
のみ、データを書き込むことができます。注: これによりユーザープログラムによる書き込みが不可能になります。データ
は、オンラインで PG/PC を使用してのみ書き込み可能です。
SFC 59 "RD_REC"使用時: このモジュールにはデータレコー
ドがありますが、データが存在しないか、CPU が STOP モー
ドにある場合のみ、読み取ることができます。注: CPU が
STOP モードにあるときのみデータが読み取り可能な場合、ユーザープログラムによる評価は不可能です。この場合、データは、オンラインで PG/PC を使用してのみ読み取り可能です。
SFC 13 "DPNRM_DG"使用時: 診断情報がありません。
モジュール上で、同一のデータレコード
に対する前の書き込みジョブのデータがまだ処理されていません。
モジュールが現在処理しているジョブ数が、CPU の最大許容数に達しています。
必要なリソース(メモリなど)が使用されています。
内部のテンポラリエラー ジョブを処理できません。
•
ジョブを繰り返してください。このエラーが頻繁に発生する場合は、使用しているシステムの電気的障害の原因をチェックしてください。
分散 I/O が使用できません。
優先度クラスの異常終了によりデータレコード転送が停止しました(再起動またはバックグラウンド)。
一般的なエラーコードについては、出力パラメータ
RET_VAL によるエラーの評価

SFC 59 "RD_REC"のみ
SFC 58 "WR_REC"または
SFC 59 "RD_REC"または
SFC 13 "DPNRM_DG"--

分散 I/O
分散 I/OSFC 55 ～ 59 のエラー情報詳細

S7-400 のみ
S7-400 では、SFC55～59 がエラー情報 W#16#80Fx を返すことがあります。これは、発生場所がわからないエラーを示しています。この場合は、保守部門に連絡してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
166

リファレンスマニュアル, 05/2017, A5E41733394-AA

データレコード転送用の SFC/SFB
7.10 SFB 81 "RD_DPAR"による予め定義されたパラメータの読み取り

7.10

SFB 81 "RD_DPAR"による予め定義されたパラメータの読み取り

説明
SFB 81 RD_DPAR" (デバイスパラメータの読み取り)を使用して、STEP 7 でコンフィグレーション
されたシステムデータから、アドレス指定されたコンポーネントの INDEX 番号を持つデータレコードを読み取ります。これは、中央で挿入されたモジュールまたはリモートコンポーネントであることが考えられます(PROFIBUS DP または PROFINET IO)。
出力パラメータ VALID にある TRUE は、指定領域 RECORD 内に正常に転送されたことを示しています。この場合、出力パラメータ LEN には読み取られたデータのバイトの長さが含まれます。
データレコードの転送中にエラーが発生すると、
出力パラメータ ERROR が示されます。この場合、
出力パラメータ STATUS にはエラー情報が含まれます。

ファンクション
SFB 81"RD_DPAR"は、非同期で動作します。つまり、処理は複数の SFB の呼び出しを対象とします。
データの転送を開始するには、REQ = 1 の状態で SFB 81 を呼び出します。
ジョブのステータスは、出力パラメータ BUSY および出力パラメータ STATUS のバイト 2 とバイト3 で示されます。STATUS のバイト 2 とバイト 3 は、非同期で動作している SFC の出力パラメータ
RET_VAL に対応しています (参照項目非同期 SFC のパラメータ REQ、RET_VAL、BUSY の意味
データレコードの転送は、出力パラメータ BUSY が FALSE になったときに終了します。

パラメータ
パラメータ

宣言

データタイプ

メモリ領域

説明

REQ

INPUT

BOOL

E、A、M、D、L

REQ = 1: 読み取り要求

LADDR

INPUT

WORD

I、Q、M、D、L、
定数

モジュールのいずれかの論理アドレス
ビット 15 に存在するのが入力アドレス(ビット 15 = 0)なのか、出力アドレス(ビット 15 = 1)なのかを指定します。

INDEX

INPUT

INT

I、Q、M、D、L、
定数

データレコード番号VALID

OUTPUT

BOOL

I、Q、M、D、L

新規データレコードを受信して、有効となりました。

BUSY

OUTPUT

BOOL

I、Q、M、D、L

BUSY = 1: ジョブは終了していない。

エラー

OUTPUT

BOOL

I、Q、M、D、L

ERROR = 1: 読み取り処理の実行中にエラーが発生しました。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

167

データレコード転送用の SFC/SFB
7.10 SFB 81 "RD_DPAR"による予め定義されたパラメータの読み取り
パラメータ

宣言

データタイプ

メモリ領域

説明

STATUSOUTPUT

DWORD

I、Q、M、D、L•ID の呼び出し(バイト 2 およびバイ
ト 3)またはエラーコードの呼び出し•

バイト 1: エラーではない場合、
B#16#00。そうでない場合、
DPV1-PDU からのファンクション
ID。データレコード B#16#DE 読み
取り中にエラーが発生した場合、
およびデータレコード B#16#DF の書き込み中にエラーが発生した場合。DPV1 でない場合は、プロトコ
ルエレメントが使用されます。
B#16#C0.

•

バイト 4: エラーID のベンダー固有
拡張。

LEN

OUTPUT

INT

I、Q、M、D、L

読み取られたデータレコード情報の長さ

RECORD

IN_OUT

ANY

I、Q、M、D、L

読み取られたデータレコードのターゲッ
ト領域
注: S7-300 CPU の RECORD パラメータには、DB パラメータの完全な仕様が常に必須であることに注意してください(例: P#DB13.DBX0.0 byte 100)。明示的な DB 番号の省略は S7-300 CPU では許可されていないため、ユーザープログ
ラムでエラーが発生します。

エラー情報参照して下さい SFC 57 "PARM_MOD"によるモジュールへのパラメータの割り付け

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
168

リファレンスマニュアル, 05/2017, A5E41733394-AA

データレコード転送用の SFC/SFB
7.10 SFB 81 "RD_DPAR"による予め定義されたパラメータの読み取り

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

169

8

PNO AK 1131 による DPV1 SFB

8.1

SFB 52 "RDREC"によるデータレコードの読み取り
注記
SFB52 "RDREC"インターフェースは、"PROFIBUS Guideline PROFIBUS Communication andProxy Function Blocks according to IEC 61131-3" (IEC 61131～3 に準拠した PROFIBUS ガイド
ライン PROFIBUS 通信およびプロキシファンクションブロック) 標準で定義された FB "RDREC"と同一です。

説明
SFB52 "RDREC"(レコードの読み取り) を使用して、INDEX 番号の付いたデータレコードをコン
ポーネントから読み取ります。このコンポーネントは、セントラルラックのモジュールやリモート
コンポーネント(PROFIBUS DP または PROFINET IO)になります。
MLEN で読み取る最大バイト数を指定します。ターゲット領域 RECORD の選択した長さは、少なく
とも MLEN のバイトの長さでなければなりません。
出力パラメータ VALID にある TRUE は、データレコードがターゲット領域 RECORD 内に正常に転送されたかどうかを検証します。この場合、出力パラメータ LEN にはフェッチされたデータのバイトの長さが含まれます。
出力パラメータ ERRORは、
データレコードの転送エラーが発生したかどうかを示します。
この場合、出力パラメータ STATUS にはエラー情報が含まれます。

注記
DPV1 スレーブが GSD ファイル(Rev. 3 時点の GSD)を使用してコンフィグレーションされており、
DP マスタの DP インターフェースが「S7 互換」に設定されている場合、ユーザープログラムの I/Oモジュールから、SFC 52 を使用してデータレコードを読み込んではいけません。この場合、DP
マスタが間違ったスロットをアドレス指定してしまうからです(コンフィグレーションされたス
ロット+3)。
対処法: DP マスタのインターフェースを"DPV1"に設定します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

171

PNO AK 1131 による DPV1 SFB
8.1 SFB 52 "RDREC"によるデータレコードの読み取り

動作原理
SFC 52 "RDREC"は非同期で動作します。つまり、処理は複数の SFC の呼び出しを対象とします。
REQ = 1 で SFC52 を呼び出してジョブを開始します。
ジョブのステータスは、出力パラメータ BUSY と、出力パラメータ STATUS の中間の 2 バイトによって表示されます。ここでは STATUS の中間の 2 バイトは、非同期 SFC の出力パラメータ
RET_VAL に対応しています (非同期 SFC のパラメータ REQ、RET_VAL、BUSY の意味).
データレコードの転送は、出力パラメータ BUSY = FALSE のときに完了します。
パラメータ

宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、定数 REQ = 1: データレコードの転送

ID

INPUT

DWORD

I、Q、M、D、L、定数 DP スレーブ/PROFINET IO コンポーネン
ト(モジュールまたはサブモジュール)の論
理アドレス
アウトプットモジュールに対しては、ビット 15 がセットされている必要があります(例: アドレス 5 に対して:
ID:=DW#16#8005)。
混成モジュールに対しては、2 つのアドレ
スのうち小さい方を指定してください。

INDEX

INPUT

INT

I、Q、M、D、L、定数 データレコード番号

MLEN

INPUT

INT

I、Q、M、D、L、定数 フェッチ対象のデータレコード情報のバイトの最大の長さ

VALID

OUTPUT

BOOL

I、Q、M、D、L

新規データレコードを受信して、有効とな
りました。

BUSY

OUTPUT

BOOL

I、Q、M、D、L

BUSY = 1: 読み取り処理がまだ終了してい
ません。

エラー

OUTPUT

BOOL

I、Q、M、D、L

ERROR = 1: 読み取りエラーが発生しました。

STATUSOUTPUT

DWORD

I、Q、M、D、L

ブロックステータス、またはエラー情報

LEN

OUTPUT

INT

I、Q、M、D、L

フェッチされたデータレコード情報の長さ

RECORD

IN_OUT

ANY

I、Q、M、D、L

読み取られたデータレコードの指定領域
注: S7-300 CPU の RECORD パラメータには、DB パラメータの完全な仕様が常に必須であることに注意してください(例:P#DB13.DBX0.0 byte 100)。明示的な DB
番号の省略は S7-300 CPU では許可されていないため、ユーザープログラムでエラーが発生します。

注記
PROFINET IO 用のデータレコードを読み取るために SFB 52 を使用する場合、INDEX、MLEN
および LEN パラメータ内の負の値はすべて符号なしの 16 ビットとして解釈されます。

エラー情報
STATUS パラメータの解釈については、SFB 54 "RALRM"による割り込みの受信

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
172

リファレンスマニュアル, 05/2017, A5E41733394-AA

PNO AK 1131 による DPV1 SFB
8.2 SFB 53 "WRREC"によるデータレコードの書き込み

8.2

SFB 53 "WRREC"によるデータレコードの書き込み
注記
SFB 53 "WRREC"インターフェースは、"PROFIBUS Guideline PROFIBUS Communication andProxy Function Blocks according to IEC 61131-3" (IEC 61131～3 に準拠した PROFIBUS ガイド
ライン PROFIBUS 通信およびプロキシファンクションブロック) 標準で定義された FB "WRREC"と同一です。

説明
SFB 53 "WRREC"(レコードの書き込み)を使用して、ID で定義された DP スレーブ/PROFINET IO
デバイスコンポーネントに番号 INDEX が付いたデータレコードを転送します。このコンポーネン
トは、セントラルラックのモジュールやリモートコンポーネント(PROFIBUS DP または PROFINET
IO)になります。
転送対象のデータレコードのバイトの長さを指定します。ソース領域 RECORD の選択した長さは、少なくとも LEN のバイトの長さでなければなりません。
出力パラメータ DONE にある TRUE は、データレコードが DP スレーブに正常に転送されたかどうかを検証します。
出力パラメータ ERRORは、
データレコードの転送エラーが発生したかどうかを示します。
この場合、出力パラメータ STATUS にはエラー情報が含まれます。

注記
DPV1 スレーブが GSD ファイル(Rev. 3 時点の GSD)を使用してコンフィグレーションされており、
DP マスタの DP インターフェースが「S7 互換」に設定されている場合、ユーザープログラムの I/Oモジュールに対して、SFB 53 を使用してデータレコードを書き込んではいけません。この場合、DP マスタが間違ったスロットをアドレス指定してしまうからです(コンフィグレーションされた
スロット+3)。
対処法: DP マスタのインターフェースを"DPV1"に設定します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

173

PNO AK 1131 による DPV1 SFB
8.2 SFB 53 "WRREC"によるデータレコードの書き込み

動作原理
SFB 53 "WRREC" は非同期で動作します。つまり、処理は複数の SFC の呼び出しを対象とします。
REQ = 1 で SFB 53 を呼び出してジョブを開始します。
ジョブのステータスは、出力パラメータ BUSY および出力パラメータ STATUS の中間の 2 バイト
によって表示されます。ここで、STATUS の中間の 2 バイトは、非同期動作している SFC の出力パラメータ RET_VAL に対応しています (非同期 SFC のパラメータ REQ、RET_VAL、BUSY の意味).
データレコードの転送は、出力パラメータ BUSY = FALSE のときに完了します。
データ転送が実行中である限り、データ長もデータの内容も変更できません。
パラメータ

宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、定数 REQ = 1: データレコードの転送

ID

INPUT

DWORD

I、Q、M、D、L、定数 DP スレーブ/PROFINET IO コンポーネント(モジュールまたはサブモジュール)の論理アドレス
アウトプットモジュールに対しては、
ビット 15 がセットされている必要があります(例: アドレス 5 に対して:
ID:=DW#16#8005)。
混成モジュールに対しては、2 つのアドレ
スのうち小さい方を指定してください。

INDEX

INPUT

INT

I、Q、M、D、L、定数 データレコード番号

LEN

INPUT

INT

I、Q、M、D、L、定数 転送対象のデータレコードの最大のバイ
トの長さ

DONE

OUTPUT

BOOL

I、Q、M、D、L

データレコードが転送されました

BUSY

OUTPUT

BOOL

I、Q、M、D、L

BUSY = 1: 書き込み処理がまだ終了して
いません。

エラー

OUTPUT

BOOL

I、Q、M、D、L

ERROR = 1: 書き込みエラーが発生しました。

STATUSOUTPUT

DWORD

I、Q、M、D、L

ブロックステータス、またはエラー情報
STATUS パラメータの解釈については、
SFB 54 "RALRM"を使用した割り込みの受信に関する章を参照してください。

RECORD

IN_OUT

ANY

I、Q、M、D、L

データレコード
注: S7-300 CPU の RECORD パラメータには、DB パラメータの完全な仕様が常に必須であることに注意してください(例: P#DB13.DBX0.0 byte 100)。明示的な DB 番号の省略は S7-300 CPU では許可されていないため、ユーザープログラ
ムでエラーが発生します。

注記
PROFINET IO 用のデータレコードを書き込むために SFB 53 を使用する場合、INDEX、MLEN
および LEN パラメータ内の負の値はすべて符号なしの 16 ビットとして解釈されます。

エラー情報
STATUS パラメータの解釈については、SFB 54 "RALRM"による割り込みの受信

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
174

リファレンスマニュアル, 05/2017, A5E41733394-AA

PNO AK 1131 による DPV1 SFB
8.3 SFB 54 "RALRM"による割り込みの受信

8.3

SFB 54 "RALRM"による割り込みの受信
注記
SFB54 "RALRM"インターフェースは、"PROFIBUS Guideline PROFIBUS Communication andProxy Function Blocks according to IEC 61131-3" (IEC 61131～3 に準拠した PROFIBUS ガイド
ライン PROFIBUS 通信およびプロキシファンクションブロック) 標準で定義された FB "RALRM"と同一です。

説明
SFB "RALRM"は、I/O モジュール(集中構造)または DP スレーブまたは PROFINET IO デバイスのコンポーネントから、対応するすべての情報の割り込みを受信します。この情報は出力パラメータに提供されます。
出力パラメータにある情報には、割り込みソースの情報に加えて、呼び出された OB のスタート
情報が含まれています。
I/O 割り込みを観察するためには、SFB54 は、CPU オペレーティングシステムによって起動された割り込み内でのみ呼び出してください。

注記
I/O により開始イベントがトリガされなかった OB で SFB54 "RALRM"を呼び出す場合、SFB は
それに応じて削減した情報を出力に供給します。
異なる OB で SFB54 "RALRM"を呼び出すときは、異なるインスタンス DB を必ず使用してください。
関連する割り込み OB の外側で SFB54 を呼び出した結果であるデータを評価する場合、さらに OBの開始イベントごとに別々のインスタンス DB を使用しなければなりません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

175

PNO AK 1131 による DPV1 SFB
8.3 SFB 54 "RALRM"による割り込みの受信

SFB 54 の呼び出し
SFB54 "RALRM"は、3 つの動作モード (MODE) で呼び出すことができます。このモードは、下の表で説明しています。
MODE

SFB54 ...

0... 出力パラメータ ID で割り込みをトリガしたコンポーネント、および出力パラメータ NEW を
TRUE に設定するコンポーネントを示します。

1... 割り込みをトリガするコンポーネントと無関係の、すべての出力パラメータを表します。

2... 入力パラメータ F_IDで指定されたコンポーネントが割り込みをトリガしたかどうかをチェックします。
•

トリガしていない場合、NEW = FALSE•

トリガした場合、NEW = TRUE となり、その他すべての出力パラメータを表します。

パラメータ

宣言

データタイプ メモリ領域

説明

MODE

INPUT

INT

I、Q、M、D、L、定数 動作モード

F_ID

INPUT

DWORD

I、Q、M、D、L、定数 割り込みの受信対象のコンポーネント (モジュール) の論理スタートアドレス
注記: アドレスが出力アドレスの場合、
ビット 15 をセットする必要があります。

MLEN

INPUT

INT

I、Q、M、D、L、定数 受信対象のデータ割り込み情報のバイトの最大の長さNEWOUTPUT

BOOL

I、Q、M、D、L

新規割り込みを受信しました。

STATUSOUTPUT

DWORD

I、Q、M、D、LSFB または DP マスタのエラーコードID

OUTPUT

DWORD

I、Q、M、D、L

割り込みを受信するコンポーネント (モジュール) の論理スタートアドレス。
ビット 15 は、I/Q ID を含んでいます。入力
アドレスに 0。出力アドレスに 1。

LEN

OUTPUT

INT

I、Q、M、D、L

受信した割り込み情報の長さ

TINFO

IN_OUT

ANY

I、Q、M、D、L(タスク情報)OB スタートのターゲット範囲と管理情報
S7-300 CPU の場合、パラメータ TINFO
が、常に、DB パラメータの完全な指定(たとえば、P#DB13.DBX0.0 バイト 100)を必要とすることに注意してください。
明示的な DB 番号の省略は S7-300 CPU では許可されていないため、ユーザープログ
ラムでエラーメッセージが発生します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2176

リファレンスマニュアル, 05/2017, A5E41733394-AA

PNO AK 1131 による DPV1 SFB
8.3 SFB 54 "RALRM"による割り込みの受信

パラメータ

宣言

データタイプ メモリ領域

説明

AINFO

IN OUT

ANY(割り込み情報)

I、Q、M、D、L

ヘッダ情報と追加の割り込み情報のター
ゲット領域
AINFO には、少なくとも MLEN バイトの長さを供給する必要があります。
S7-300 CPU の場合、パラメータ AINFO
が、常に、DB パラメータの完全な指定(たとえば、P#DB13.DBX0.0 バイト 100)を必要とすることに注意してください。
明示的な DB 番号の省略は S7-300 CPU では許可されていないため、ユーザープログ
ラムでエラーメッセージが発生します。

注意ターゲット領域 TINFO または AINFO の選択が短すぎると、SFB54 はすべての情報を入力できません。

ターゲット領域 TINFO のデータ構造
バイト

意味

0 - 19SFB54 が現在呼び出されている OB の開始情報:•

0 バイトから 11 バイト: SFC 6 "RD_SINFO"の TOP_SI パラメータのような構造•

12 バイトから 19 バイト: OB が要求された日付と時刻

20 および 21 アドレス。詳しい説明は下記を参照してください。
22 - 31

管理情報。詳しい説明は下記を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

177

PNO AK 1131 による DPV1 SFB
8.3 SFB 54 "RALRM"による割り込みの受信アドレスのストラクチャ(バイト 20 および 21)
アドレスに含まれるもの:•

中央コンフィグレーション、ラック番号(0-31)•

PROFIBUS DP によるリモートコンフィグレーション•-

DP マスタシステム ID(1-32)-

ステーション番号(0-127)

PROFIBUS IO によるリモートコンフィグレーション-

PROFINET IO システム ID(0-15)内の最後の 2 つの位置 完全な PROFINET IO システム IDを取得するには、100(10 進数)を加える必要があります。

-

ステーション番号(0-2047)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
178

リファレンスマニュアル, 05/2017, A5E41733394-AA

PNO AK 1131 による DPV1 SFB
8.3 SFB 54 "RALRM"による割り込みの受信

バイト 20 から 25 の管理情報のストラクチャ
TINFO のデータ
バイト番号 タイプ

意味

20

中央

0

分散

PROFIBUS DP: DP マスタシステムの ID (有効な値 1～32)

BYTE

PROFINET IO: 上記を参照
21

BYTE

中央

モジュールのラック番号 (有効な値: 0～31

分散

DP ステーションの番号 (有効な値: 0～127
PROFINET IO: 上記を参照

22

BYTE

中央

0: データレコード 0 またはデータレコード 1

分散-

ビット スレーブ
0～3: タイプ

0000:

DP (構造データレコード 0)

0001:

DPS7 (構造データレコード 0 またはデー
タレコード 1)0010:

DPS7 V1 (構造データレコード 0 または
データレコード 1)

0011:

DPV1 (PROFIBUS DP 標準に準拠した
構造)

0100 0111:

予約済み

1000:

PROFINET IO (PROFINET IO 標準に準拠した構造)

1001 時点: 予約済み
-

23

BYTE

中央

0

分散

•

•

ビット プロファイ
4～7: ルタイプ

ビット 0 割り込み情報の～3:
タイプ

ビット 4 構造バージョン
～7:

予約済み

0000:

透過
常に PROFINET IO の場合(コンフィグレーションされたリモー
トモジュールから割り込みが発
生する)

0001:

ダミー
(非 DPV1 スレーブ/非 IO デバイ
スまたはコンフィグレーション
されていないスロットから割り込みが発生する)

0010:

生成(CPU で割り込みが生成した)0011 の
時点:

予約済み

0000:

初期

0001 時点: 予約済み

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

179

PNO AK 1131 による DPV1 SFB
8.3 SFB 54 "RALRM"による割り込みの受信
TINFO のデータ
バイト番号 タイプ

意味

24

中央

0

分散

PROFIBUS DP マスタインターフェースモジュール/PROFINET IO コント
ローラマスタインターフェースモジュールのフラグ

25

BYTE

BYTE

•

ビット 0 統合された DP インターフェース= 0:(PROFINET IO または PROFIBUS DP)から発生する割り込み)•

ビット 0 外部 DP インターフェースモジュール(PROFINET IO または= 1:
PROFIBUS DP)から発生する割り込み•

ビット 1 予約済み
～7:

中央

0

分散

PROFIBUS DP スレーブインターフェースモジュールのフラグ•

ビット 0 : 診断メッセージフレームの EXT_DIAG_FLAG、またはこのビットが割り込みに存在しない場合は 0•

ビット 1 予約済み
～7:

DP スレーブが故障している場合、ビットは 1 です。

PROFINET IO コントローラインターフェースモジュールのフラグ•

ビット 0 : ARDiagnosisstate、または割り込みに情報が含まれない場合
は0•

ビット 1 予約済み
～7:

IO デバイスが故障している場合、ビットは 1 です。

PROFIBUS および中央コンフィグレーションによるバイト 26 から 27 の管理情報のストラクチャ
TINFO の
バイト番号

データ
タイプ

意味

26 および 27 WORD

中央

0

WORD

分散

PROFIBUS DP スレーブのユニークな識別子としての
PROFIBUS ID 番号

28 および 29 WORD

0(バイト 28 と 29 は省略可能)

30 および 31 WORD

0(バイト 30 と 31 は省略可能)

これは、PROFIBUS および中央コンフィグレーションによる TINFO ターゲットエリアの管理情報の終わりです。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
180

リファレンスマニュアル, 05/2017, A5E41733394-AA

PNO AK 1131 による DPV1 SFB
8.3 SFB 54 "RALRM"による割り込みの受信

PROFINET IO によるバイト 26 から 31 の管理情報のストラクチャ
TINFO の
バイト番号

データ
タイプ

意味

26 および 27 WORD

分散

PROFINET IO デバイスのユニークな識別子としての PROFINET
IO デバイス ID 番号

28 および 29 WORD

分散製造メーカの ID

30 および 31 WORD

分散

インスタンスの ID 番号

PROFIBUS DP または中央 IO デバイスからの割り込みによるターゲットエリア AINFO のデータ構造
その他の PROFINET IO 用の情報は、以下のとおりです。
バイト

意味

0-3

ヘッダー情報。詳しい説明は下記を参照してください。

4 - 199

追加の割り込み情報: それぞれの割り込みのデータ
中央

ARRAY[0]～ARRAY[195]分散

ARRAY[0]～ARRAY[59]

PROFIBUS DP または中央 IO デバイスの割り込みによるヘッダー情報のストラクチャ
バイト

データタイプ 意味

0

BYTE

1

BYTE

受信した割り込み情報のバイトの長さ
中央

4 - 224

分散

4 - 63

ローカル:

予約済み

分散

割り込みタイプの ID
1:
2:
3:
4:
5:
6:
31

診断割り込みハードウェア割り込み
削除割り込み挿入割り込みステータス割り込み
更新割り込み拡張デバイスの故障、DP マスタシステムまたは DP ス
テーション

32 - 126

製造元仕様割り込み

2

BYTE

割り込みをトリガしたコンポーネントのスロット番号

3

BYTE

中央

予約済み

分散

識別子
ビット 0 と 0: 情報はありません
ビット 1
1: 次のイベント、分断したスロット

2: 発信イベント、スロットはこれ以上分断しません。
3: 発信イベント、スロットはまだ分断しています。

ビット 2 :

Add_Ack

ビット 3～7: シーケンス番号

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

181

PNO AK 1131 による DPV1 SFB
8.3 SFB 54 "RALRM"による割り込みの受信

PROFINET IO からの割り込みによるターゲットエリア AINFO のデータ構造
バイト

意味

0 - 25

ヘッダー情報。詳しい説明は下記を参照してください。

26 - 1431

追加の割り込み情報: 各割り込みの標準診断データ
ARRAY[0]～ARRAY[1405]
注記: その他の割り込み情報も省略されることがあります。

PROFINET IO からの割り込みによるヘッダー情報のストラクチャ
バイト

データ
タイプ

0 および 1 WORD
2 および 3 WORD
4 および 5 WORD

6 および 7 WORD意味•

ビット 0～7: ブロックタイプ•

ビット 8～15: 予約済み

ブロック長
バージョン:•

ビット 0～7: 予約済み•

ビット 8～15: 上位バイト

割り込みタイプの識別子•

1: 診断割り込み(着信)•

2: ハードウェア割り込み•

3: 削除割り込み•

4: 挿入割り込み•

5: ステータス割り込み•

6: 更新割り込み•

7: リダンダント割り込み•

8: スーパーバイザーによりコントロール済み•

9: スーパーバイザーによりリリース済み•

10: 未挿入のコンフィグレーション済みモジュール•

11: サブモジュールが復帰•

12: 診断割り込み(終了状態)•

13: 直接データ交換接続メッセージ•

14: 近隣変更メッセージ•

15: クロック同期メッセージ(バスより)•

16: クロック同期メッセージ(デバイスより)•

17: ネットワークコンポーネントメッセージ•

18: 時刻同期メッセージ(バスより)•

ビット 19～31: 予約済み•

32～127: ベンダー固有の割り込み•

ビット 128～65535: 予約済み

8 - 11DWORD

API (アプリケーションプロセス識別子)

12 - 13

WORD

割り込みをトリガするコンポーネントのスロット番号(値の範囲は 0～65535)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
182

リファレンスマニュアル, 05/2017, A5E41733394-AA

PNO AK 1131 による DPV1 SFB
8.3 SFB 54 "RALRM"による割り込みの受信

バイト

データ
タイプ

意味

14 - 15

WORD

割り込みをトリガするコンポーネントのサブモジュールスロット番号(値の範囲は0～65535)

16 - 19

DWORD

モジュール ID; 割り込みソースの固有情報

20 - 23

DWORD

サブモジュール ID; 割り込みソースの固有情報

24 - 25

WORD

割り込み指定子:•

ビット 0～10: シーケンス番号(値の範囲: 0～2047)•

ビット 11: チャンネル診断:
0: 使用可能なチャンネル診断なし
1: チャンネル診断使用可能•

ビット 12: 製造元指定の診断のステータス:
0: 使用できる製造元指定のステータス情報なし
1: 製造元指定のステータス情報、使用可能•

ビット 13: インターフェースモジュールの診断ステータス 0: 使用できるス
テータス情報なし; すべてのエラーが修正済み
1: 少なくとも 1 チャンネルおよび／またはステータス情報が使用可能•

ビット 14: 予約済み•

ビット 15: アプリケーションリレーションシップ診断の状態-

0: この AR内でコンフィグレーション済みのモジュールで診断がレポートされているものはありません。

-

1: この AR 内で少なくとも 1 つのコンフィグレーション済みモジュールで診断がレポートされています。

PROFINET IO からの割り込みによる追加割り込み情報のストラクチャ
PROFINET IO の追加割り込み情報はフォーマット識別子によって決定します。フォーマット ID が同じ、あるいは異なる、複数のデータブロックを構成可能です。使用可能なフォーマット ID を次に示します。
•

W#16#0000～W#16#7FFF: 製造元指定の診断。

バイト

データ
タイプ

意味

0-1

WORD

追加割り込み情報としての以下のデータストラクチャのためのフォーマット識別子
W#16#0000～W#16#7FFF: 製造元指定の診断

2～n

•

BYTE

製造元のマニュアルを参照。

W#16#8000: チャンネル診断

チャンネル診断はそれぞれ 6 バイトのブロックで出力されます。追加割り込み情報(フォーマット
識別子を含まない)は障害のあるチャンネルのためだけに出力されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

183

PNO AK 1131 による DPV1 SFB
8.3 SFB 54 "RALRM"による割り込みの受信

バイト

データ
タイプ

意味

0-1

WORD

追加割り込み情報としての以下のデータストラクチャのためのフォーマット識別子
W#16#8000: チャンネル診断

2-3

WORD

4

BYTE

割り込みをトリガするコンポーネントのチャンネル番号(値の範囲: 0～65535)•
W#16#0000～W#16#7FFF: インターフェースモジュール/サブモジュールのチャンネル番号•
W#16#8000: すべてのインターフェースモジュール用の汎用代替•
W#16#8001～W#16#FFFF:予約済み
ビット 0～2: 予約済み
ビット 3～4:

5

BYTE

6-7

WORD

エラーのタイプ•
0: 未使用
•1: 着信エラー•
2: 送信エラー•
3: 送信エラー、その他のエラーあり
ビット 5～7: チャンネルのタイプ•
0: 未使用•
1: 入力チャンネル•2: 出力チャンネル•
3: 入力/出力チャンネル
データのフォーマット
•B#16#00: フリーデータフォーマット
•B#16#01: ビット•
B#16#02: 2 ビット•
B#16#03: 4 ビット•
B#16#04: バイト•
B#16#05: ワード•
B#16#06: ダブルワード•
B#16#07: 2 ダブルワード
B#16#08～B#16#FF: 予約済み
エラーのタイプ•W#16#0000:予約済み•
W#16#0001: 短絡•
W#16#0002: 電圧不足•
W#16#0003: 過電圧•
W#16#0004: オーバーロード•
W#16#0005: 過度の高温•
W#16#0006: 断線•
W#16#0007: 上限値オーバーシュート•
W#16#0008: 下限値アンダーシュート•
W#16#0009:エラー•
W#16#000A～W#16#000F:予約済み•
W#16#0010～W#16#001F: 製造元指定•
W#16#0020～W#16#00FF:予約済み•
W#16#0100～W#16#7FFF: 製造元指定•
W#16#8000: デバイス診断、使用可能•
W#16#8001～W#16#FFFF:予約済み
すべてのチャンネルがどのエラータイプもサポートしているわけではありません。
詳細情報については、指定デバイスの診断データについての説明を参照してくだ
さい。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
184

リファレンスマニュアル, 05/2017, A5E41733394-AA

PNO AK 1131 による DPV1 SFB
8.3 SFB 54 "RALRM"による割り込みの受信

注記"チャンネル番号"から"エラータイプ"までのセクションが、0～n 回発生する可能性があります。

•

W#16#8001: MULTIPLE(異なるタイプの診断情報が送信されます)。

この場合、追加割り込み情報は変数の長さのブロックとして送信されます。
バイト

データ
タイプ

意味

0-1

WORD

追加割り込み情報としての以下のデータストラクチャのためのフォーマット識別子
W#16#8001: 製造元指定の診断および/またはチャンネル診断

2-3

WORD

ブロックタイプ

4-5

WORD

ブロック長

6

BYTE

バージョン: 上位バイト

7

BYTE

バージョン: 下位バイト

8 - 11DWORD

API (バージョンの低バイト= 1 の場合のみ)

12 - 13

WORD

スロット番号

14 - 15

WORD

サブスロット番号

16 - 17

WORD

チャンネル番号18 - 19

WORD

チャンネルのプロパティ

20 - 21

WORD

フォーマット識別子:

22～n

BYTE

•

W#16#0000～W#16#7FFF: 製造元指定の診断•

W#16#8000: チャンネル診断•

W#16#8002: 拡張チャンネル診断•

W#16#8003: ステップ付き拡張チャンネル診断•

W#16#8004～W#16#80FF:予約済み

フォーマット識別子が決定するデータ

注記"ブロックタイプ"で始まるセクションが、0～n 回発生する可能性があります。

•

W#16#8002: 拡張チャンネル診断

バイト

意味

0-1

フォーマット ID W#16#8002

2-3

チャンネル番号4-5

チャンネルのプロパティ

6-7

エラータイプ8-9

その他のエラー値

10 - 13その他のエラー情報

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

185

PNO AK 1131 による DPV1 SFB
8.3 SFB 54 "RALRM"による割り込みの受信•

W#16#8003: ステップ付き拡張チャンネル診断

バイト

意味

0-1

フォーマット ID W#16#8003

2-3

チャンネル番号4-5

チャンネルのプロパティ

6-7

エラータイプ8-9

その他のエラー値

10 - 13その他のエラー情報

14 - 17

修飾されたチャンネル修飾子•

W#16#8100: 保守情報

バイト

意味

0-1

フォーマット ID W#16#8100

2-3

ブロックタイプ

4-5

ブロック長

6-7

ブロックバージョン

8-9

予約済み

10 - 13

メンテナンスステータス

注記
その他のアラーム情報のコンフィグレーションの詳細情報については、『Programming Manual
SIMATIC PROFINET IO from PROFIBUS DP to PROFINET IO』および現バージョンの IEC
61158-6-10-1 規格を参照してください。

ターゲット領域 TINFO と AINFOSFB54 が呼び出されるそれぞれの OB で異なりますが、ターゲット領域 TINFO および AINFO は
部分的に書き込みが行われます。それぞれどの情報が入力されるのかは、下の表を参照してください。
割り込みタイプ

OB

TINFO
TINFO
OB ステータス情報 管理情報

AINFO
ヘッダ情報

AINFO
追加の割り込み情報

ハードウェア
割り込み

4x

する

する

中央

いいえ

分散

PROFIBUS DP スレー
ブ/PROFINET IO デバ
イスが配信

ステータス割り込み

55

更新割り込み56

製造元仕様割り
込み

57

する

する

する

する

する

する

する

する

する

する

する

する

する

する

する

する

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
186

リファレンスマニュアル, 05/2017, A5E41733394-AA

PNO AK 1131 による DPV1 SFB
8.3 SFB 54 "RALRM"による割り込みの受信
TINFO
TINFO
OB ステータス情報 管理情報

AINFO
ヘッダ情報

AINFO
追加の割り込み情報

I/O リダンダント 70
エラー

する

する

いいえ

いいえ いいえ

82

する

する

する

中央

データレコード 1

分散

PROFIBUS DP スレー
ブ/PROFINET IO デバ
イスが配信

中央

いいえ

分散

PROFIBUS DP スレー
ブ/PROFINET IO デバ
イスが提供

割り込みタイプ

診断割り込み削除/
挿入割り込み

OB

83

する

する

する

83

する

する

する

PROFINET IO のみ

83

する

する

する

PROFINET IO のみコンフィグレー 83
ションされていな
いモジュールが挿入されている

する

する

する

PROFINET IO のみ

モジュールラッ 86
ク/ステーション
エラー

する

する

いいえ

いいえ

...

する

いいえ

いいえ

いいえ

削除割り込みの特殊フォーム:スーパーバイザー
によりコントロー
ル済み
挿入割り込みの特殊フォーム:スーパーバイザー
によりコントロー
ル済み

その他すべての OB

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

187

PNO AK 1131 による DPV1 SFB
8.3 SFB 54 "RALRM"による割り込みの受信

エラー情報
出力パラメータ STATUS は情報を含んでいます。次の構造を持つエラー情報が ARRAY[1...4] OF
BYTE として割り込みをかけます。
フィールドエレメント 名前:

意味

STATUS[1]•エラーではない場合、B#16#00•

PV1-PDU: データレコード B#16#DE 読み取り中にエラーが発生した場合、およびデータレコード B#16#DF の書き込み中にエラーが発生した場合。DPV1 でない場合は、プロトコルエレメントが使用されます。B#16#C0.

Function_Num

STATUS[2]Error_Decode

エラーID のロケーション

STATUS[3]Error_Code_1

エラーID

STATUS[4]Error_Code_2

製造元仕様のエラーID 拡張

STATUS[2] は、次の値になります。
Error_Decode(B#16#...)

ソース

意味

00～7F

CPU

エラーなし、または警告なし

80

DPV1

IEC 61158-6 に基づいたエラー

81～8F

CPU

B#16#8x は SFB の nth 呼び出しパラメータにおけるエラーを示します。

FE、FF

DP プロファイル

プロファイル特有のエラー

STATUS[3] は、次の値になります。
Error_Decode Error_Code_1 DVP1 に基づいた
説明(B#16#...)(B#16#...)

意味

00

00

エラーなし、警告なし

70

00

保存、棄却

最初の呼び出し; アクティブなデータレコードの転送はあり
ません。

01

保存、棄却

最初の呼び出し; データレコードの転送が開始しました。

02

保存、棄却

中間の呼び出し; データレコードの転送は既にアクティブ
です。

90

保存、通過

無効な論理スタートアドレス

92

保存、通過

不正な ANY ポインタのタイプ

93

保存、通過

ID または F_ID を介してアドレス指定された DP コンポーネントは、コンフィグレーションされていません。

80

95

追加の割り込み情報のフェッチ時に、H システムでエラーが発生しました(外部 DP インターフェースを介してローカ
ルまたはリモート I/O で追加割り込み情報をフェッチすると、このエラーが"グループエラー"として出力されます)。
注記: 接続または更新時には、追加の割り込み情報が一時的に使用できなくなる場合があります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
188

リファレンスマニュアル, 05/2017, A5E41733394-AA

PNO AK 1131 による DPV1 SFB
8.3 SFB 54 "RALRM"による割り込みの受信
Error_Decode Error_Code_1 DVP1 に基づいた
説明(B#16#...)(B#16#...)
96

A0

意味
マスタリザーブの切り替えが H システムで発生しました。
前のマスタ CPU は STOP モードになりました。このとき、OB が処理されていました。SFB 54 は OB の開始情報、管理情報、ヘッダ情報あるいは追加の割り込み情報を提供
できません。
OB の起動情報は、SFC 6"RD_SINFO"で読み取ることができます。さらに、SFC 13 "DPNRM_DG"を使用して、OB
4x、55、56、57、82、83 の該当する DP スレーブの現在の診断フレームを同期させて読むことができます(OB スター
ト情報からのアドレス情報)。

読み取りエラーモジュール読み取り中の否定応答

A1

書き込みエラーモジュール書き込み中の否定応答

A2

モジュールのエラー レイヤ 2 での DP プロトコルエラー(スレーブエラーやバス
障害など)

A3

保存、通過

•

PROFIBUS DP:Direct-Data-Link-Mapper またはUser-Interface/User の DP プロトコルエラー•

PROFINET IO: CM エラー全般

A4

保存、通過

バス通信が不通

A5

保存、通過

–

A7

保存、通過

DP スレーブまたはモジュールがいっぱいです (テンポラリ
エラー

A8

バージョンのコン DP スレーブまたはモジュールが互換性のないバージョン
を伝えます。
フリクト

A9

エラーはサポート 今後 DP スレーブまたはモジュールはサポートされま
されません
せん。

AA～AF

ユーザ仕様

B0

無効なインデックス データレコードがモジュールで認知されません。

B1

書き込みの長さの パラメータ RECORD で指定された長さが間違っています。
SFB54 使用時: AINFO の長さエラー
エラー

B2

無効なスロット

B3タイプのコンフリ 実際のモジュールタイプが指定されたモジュールタイプと等しくありません。
クト

B4

無効な領域

B5

ステータスコンフ DP スレーブまたはモジュールがレディではありません。
リクト

B6

アクセス拒否

DP スレーブまたはモジュールがアクセスを拒否します。

B7

無効な範囲

DP スレーブまたはモジュールが無効な範囲のパラメータ
または値を伝えます。

B8

無効なパラメータ DP スレーブまたはモジュールが無効なパラメータを伝え

DP スレーブまたはモジュールは、アプリケーションの製造元でのエラーを伝えます。DP スレーブまたはモジュールの製造元が作成したマニュアルで調べてください。
不正なデータレコード番号 ≥ 256

SFB52、53 使用時: MLEN の長さエラー
コンフィグレーションされたスロットがふさがれていません。

DP スレーブまたはモジュールが無効な領域へのアクセスを伝えます。

ます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

189

PNO AK 1131 による DPV1 SFB
8.3 SFB 54 "RALRM"による割り込みの受信
Error_Decode Error_Code_1 DVP1 に基づいた
説明(B#16#...)(B#16#...)
B9

無効なタイプ意味
DP スレーブまたはモジュールが無効なタイプを伝えます。
SFB52 使用時: バッファが小さすぎる(サブセットの読み取り不可)
WFB53 使用時: バッファが小さすぎる(サブセットの書き込
み不可)

BA～BF

ユーザ仕様

DP スレーブまたはモジュールがアクセス時の製造元によるエラーを伝えます。DP スレーブまたはモジュールの製造元が作成したマニュアルで調べてください。
値 B#16# BA に関する注記: 以下は、フォールトトレラント
システムの PROFINET で有効です: 戻り値 W#16#80BA によりデータレコードジョブが拒否された場合、ジョブを繰り返す必要があります。

C0

読み取りによるコ SFB 53 "WRREC"使用時: CPU が STOP モードにある場合
のみ、データを書き込むことができます。注: つまり、ユーンフリクト
ザープログラムによる書き込みはできません。データは、オンラインで PG/PC を使用してのみ書き込み可能です。
SFB 52 "RDREC"使用時: このモジュールにはデータレコー
ドがありますが、使用可能なデータが存在しないか、CPU
が STOP モードにある場合のみ、読み取ることができます。注: CPU が STOP モードにあるときのみデータが読み取り可能な場合、ユーザープログラムによる評価は不可能です。この場合、データは、オンラインで PG/PC を使用
してのみ読み取り可能です。

C1

書き込みによるコ 同一のデータレコードのモジュールに対する前の書き込み
要求のデータが、まだモジュールで処理されていません。
ンフリクト

C2

リソースがふさがっている

C3

リソースが使用で 必要な操作リソースは現在ふさがっています。
きないC4

モジュールは現在処理可能な最大数の CPU のジョブを処理しています。

内部のテンポラリエラー ジョブを実行できませんでした。
ジョブを繰り返してください。たびたびこのエラーが発生する場合は、施設の電気的障害の原因を調べてください。

C5

DP スレーブまたはモジュールを使用できません。

C6

優先度クラスの取り消しにより、データレコードの転送はキャンセルされました。

C7

DP マスタのリスタート (ウォームリスタート) またはコールドリスタートにより、ジョブはキャンセルされました。

C8～CF

DP スレーブまたはモジュールが、製造元特有のリソース
エラーを伝えます。DP スレーブまたはモジュールの製造元が作成したマニュアルで調べてください。

Dx
8x (x = 1～9、 00～FF
A、B、C、D、
E、F)

FE、FF

00～FF

ユーザ仕様

DP スレーブ特有。DP Slave の詳細を参照してください。
y 番目の呼び出しパラメータのエラー(y = 1～15)-

エラーコード 1 = 00: 不正なモード

エラーコード 1 のその他すべての値について詳しくは、「出力パラメータ RET_VAL によるエラーの評価」の「一般エラーコード」を参照してください
プロファイル特有のエラー

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
190

リファレンスマニュアル, 05/2017, A5E41733394-AA

PNO AK 1131 による DPV1 SFB
8.4 SFB 75 "SALRM"による DP マスタへの割り込みの送信
DPV1 がエラーの場合、DP マスタは STATUS[4] を CPU と SFB に送ります。DPV1 にエラーがない場合、この値は 0 にセットされ、SFB52 および 53 の例外は次のようになります。
•

LEN > RECORD からのターゲット領域の長さの場合、STATUS[4]に RECORD からのターゲット領域の長さが含まれます。

•

データレコードの実際の長さ < LEN <RECORD からのターゲット領域の長さの場合、
STATUS[4]=LEN です。

•

STATUS[4]=0、STATUS[4]が 255 より大きい場合に設定が必要

DPV1 または PNIO のエラーで、プロトコルエレメントが渡されます(0xDE、xx、xx、xx)または(0xDF、xx、xx、xx)。プロトコルエレメントが存在しないことを意味する内部作成エラー(0xC0、xx、xx、xx)、最後のバイトは 0 に一致します。

8.4

SFB 75 "SALRM"による DP マスタへの割り込みの送信
注記
SFB 75 "SALRM"インターフェースは、"PROFIBUS Guideline PROFIBUS Communication andProxy Function Blocks according to IEC 61131-3" (IEC 61131～3 に準拠した PROFIBUS ガイド
ライン PROFIBUS 通信およびプロキシファンクションブロック) 標準で定義された FB "SALRM"と同一です。

説明
SFB 75 "SALRM"は、インテリジェントスレーブのユーザープログラムから関連付けられた DP
マスタへ、スロットに対する割り込みを送信します。この DP マスタは、移行領域(仮想スロット)
内でこの割り込みにアクセスします。これにより、DP マスタで関連付けられた OB が起動します。
この割り込みとともに、追加の割り込み固有情報を送信できます。DP マスタでは、SFB 54 "RALRM"を使用して、すべての追加情報を読み取ることができます。
SFB 75 は、S7 互換モードでしか使用できません。
•

DP: マスタは、I スレーブを統合するための GSD ファイルを使用します。

•

S7 互換: I スレーブは、HW Config を介して STEP 7 でマスタにリンクされます。

動作原理
SFB 75 "SALRM"は非同期 SFB なので、複数の SFB 呼び出しに渡って処理が行われます。割り込みの転送を開始するには、REQ = 1 の状態で SFB 75 を呼び出します。
DP マスタによって割り込み処理に対する確認応答が出されるか、または割り込み処理がキャンセルされるまで、送信プロシージャはアクティブ状態を保ちます。
出力パラメータ BUSY と、出力パラメータ STATUS のバイト 2 および 3 はジョブステータスを示します。したがって、
STATUSのバイト 2 および 3 は、
非同期動作SFC の出力パラメータ RET_VALに相当します。(非同期 SFC のパラメータ REQ、RET_VAL、BUSY の意味)
割り込みの転送は、出力パラメータ BUSY が FALSE になったときに終了します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

191

PNO AK 1131 による DPV1 SFB
8.4 SFB 75 "SALRM"による DP マスタへの割り込みの送信

ジョブの識別SFB 75 を使用して DP マスタへの割り込み転送を開始した後、現在のジョブが完了する前にこのSFB をもう一度呼び出した場合の SFB の応答は、新しい呼び出しが前の呼び出しと同一かどうかによって異なります。
パラメータ ID と TYPE が、まだ完了していないジョブと一致する場合は、新しい SFB 呼び出しがシーケンス順に扱われます。
パラメータ

宣言

データタイプ

メモリ領域

REQ

INPUT

BOOL

I、Q、M、D、L、定数 REQ = 1: 割り込みの転送

ID

INPUT

DWORD

I、Q、M、D、L、定数 ステーションの診断アドレスおよびスロッ
ト 2 の論理アドレス以外の、DP スレーブから表示されるような、DP マスタ(仮想ス
ロット)に対する移行エリアの論理アドレスすべて。関連情報は下位ワードにあります。
上位ワードには 0 を入力します。ビット 15
は I/O ID を示します(0 = 入力アドレス、1 =
出力アドレス)。

ATYPE

INPUT

INT

I、Q、M、D、L、定数 割り込みタイプを表す
ID。以下の値が返されます。

ASPEC

INPUT

INT

INT

説明

•

1: 診断割り込み•

2: ハードウェア割り込み

I、Q、M、D、L、定数 割り込み識別子•

0: 情報はありません•

1: 着信イベント、スロットエラー•

2: 発信イベント、スロットエラー解消•

3: 発信イベント、スロットエラー継続

LEN

INPUT

DONE

OUTPUT BOOL

I、Q、M、D、L、

DONE=1: 割り込みが伝送された

BUSY

OUTPUT BOOL

I、Q、M、D、L、

BUSY = 1: 割り込み伝送がまだビジー状態
である

エラー

OUTPUT BOOL

I、Q、M、D、L、

ERROR = 1: エラーが発生した

STATUSOUTPUT DWORD

I、Q、M、D、L、

エラー情報

AINFO

IN_OUT

I、Q、M、D、L、割り込み情報
追加割り込み情報のソース領域

ANY

I、Q、M、D、L、定数 送信される追加割り込み情報の長さ(バイト単位)
最高値: 16

S7-300 CPU の場合、パラメータ AINFO
が、常に、DB パラメータの完全な指定(たとえば、P#DB13.DBX0.0 バイト 100)を必要とすることに注意してください。明示的な DB 番号の省略は S7-300 CPU では許可されていないため、ユーザープログラムでエラーメッセージが発生します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
192

リファレンスマニュアル, 05/2017, A5E41733394-AA

PNO AK 1131 による DPV1 SFB
8.4 SFB 75 "SALRM"による DP マスタへの割り込みの送信

ATYPE パラメータ
次の表に、ATYPE に対して使用可能なすべての値、関連付けられたマスタで起動する OB、所定の割り込みタイプが許可される DP モードを示します。
ATYPE DPV1 標準における意味

S7 DP マスタで関連付けられた OB

DP モードDP

1

診断割り込み2

ハードウェア割り込み ハードウェア割り込み OB(OB 40～47)

診断割り込み OB(OB82)

S7 互換性

–

する

–

する

注記
上記の表に記載される情報の他に、割り込みタイプがどの程度まで使用できるかについても、DP
マスタによって制限される可能性があります。

割り込みタイプと S7 マスタの動作モードの依存関係(S7 マスタ上で操作される)S7 互換モードのスレーブの場合は、関連付けられた DP マスタが RUN
モード(DP: 操作)のときにしかハードウェア割り込みと診断割り込みを送信することができません。
DP マスタが STOP モード(DP: クリア)の場合は、割り込みが保留され、SFB 75 によりエラー情報
W#16#80C8 が返されます。この場合は、ユーザが後でこの割り込みを送信する必要があります。

ASPEC パラメータ
当該標準に従って、このパラメータは仮想スロットの診断ステータスを示します。このため、ASPECに 0 以外の値を割り付けられるのは、診断割り込みの送信時に限られます。
診断割り込み(データレコード 0)に関する S7 追加割り込み情報には着信/発信情報が含まれているため(診断データバイト 0 ビット 0 を参照)、追加割り込み情報のバイト 0 のビット 0(モジュールエラー)は次のように記述する必要があります。
ASPEC

AINFO 内の"モジュールエラー"ビット

0

0

1

1

2

0

3

1

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

193

PNO AK 1131 による DPV1 SFB
8.4 SFB 75 "SALRM"による DP マスタへの割り込みの送信

LEN パラメータ
LEN パラメータは、送信される追加割り込み情報の長さ(バイト単位)を指定します。値の最大許容範囲は 0～16 です。
次の表に、インテリジェントスレーブの各モジュールに対する LEN の値を割り込みタイプ別に示します。
割り込みタイプDP

S7 互換性診断割り込み–4 - 16

ハードウェア割り込み

–

4

次の表に、
BYTE 内の AINFO の長さ以外の値を LEN に割り付けた場合の SFB 75 の応答を示します。
LEN の値

SFB 75 の応答<= AINFO に指定した長さ

SFB 75 は DP マスタに割り込みを送信します。送信される追加割り込み情報のバイト量は、LEN に指定されたとおりです。

値の許容範囲外(< 0 または > 16)

SFB 75 は割り込みを送信しません。
エラー情報: W#16#80B1、STATUS[4]=B#16#FF> AINFO に指定した長さ

SFB 75 は DP マスタに割り込みを送信します。送信される追加割り込み情報のバイト量は、AINFO からの長さ情報に指定されたとおりです。
エラー情報: W#16#00B1、STATUS[4]=AINFO からの長さ情報

AINFO パラメータ
AINFO は、追加割り込み情報のソース領域です。インテリジェントスレーブに関する限り、この領域には任意の値を指定することができます。ただし、S7 ファミリの DP マスタを使用している場合は、割り込みとともに送信される追加情報が S7 の規約に従っていなければなりません。
診断割り込み(ATYPE=1)を送信する場合は、データレコード 0 と、必要に応じてデータレコード 1 に、
適切な関連値を入力する必要があります。
次の表に、推奨の S7 互換エントリセットを示します。この場合は、"モジュールエラー"ビット(上記を参照)が既に設定されています。このビットの実際の命名に従い、この推奨は既定の割り付け(POWER UP 後、インテリジェントスレーブでの STOP から RUN への移行後、またはステーションの戻り後に使用される割り付け)に対応しています。
データレコード番号[割り付け]

0

B#16#01、0B、00、00

1

S7 互換モード: データレコード 0 + 12 バイトの 0(関連項目 診断データ構造の概要)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
194

リファレンスマニュアル, 05/2017, A5E41733394-AA

PNO AK 1131 による DPV1 SFB
8.4 SFB 75 "SALRM"による DP マスタへの割り込みの送信

SFB75 の呼び出しがモジュールステータス情報およびグループエラーLED (SF)に与える影響
どの CPU についても、インテリジェントスレーブのスロットプロパティはモジュールステータス
情報に格納されます(参照項目: SSL-ID W#16#xy91 - モジュールステータス情報)
SFB 75 を使用して診断割り込みを送信する場合は、インテリジェントスレーブのオペレーティン
グシステムにより、
AINFO のバイト 0 のビット 0 に基づいて、
スレーブローカルのモジュールステー
タス情報と SF LED が影響を受けます(このビットは、"モジュールエラー"としてステータス情報に追加されます)。ただし、I スレーブでは診断バッファのエントリが作成されないため、どの診断
割り込み OB も起動しません。

DP マスタと I スレーブ間のモジュールステータス情報の一貫性
次のセクションでは、様々なシナリオと、それらがモジュールステータス情報に与える影響について説明します。
•

ステーション戻りの場合(結果: DP マスタと I スレーブで OB 86 が起動する)
これは、I スレーブと S7 マスタのモジュールステータス情報に影響します("モジュールエラー"のリセット)。ステーション戻り後に、ユーザの観点から見て I スレーブにエラーが発生した
場合は、SFB 75 を呼び出してこれらのエラーを DP マスタに報告する必要があります。

•

DP マスタで動作モードが STOP から RUN に移行した場合(結果: I スレーブで OB 82 が起動する)
I スレーブのモジュールステータス情報は変わりません。DP マスタにより、関連のモジュール
ステータス情報内の"モジュールエラー"ビットがリセットされます。
S7 互換モードで DP マスタと I スレーブ間のモジュールステータス情報の一貫性を保つには、
I スレーブで次のように対処する必要があります。

•-

エラーの発生していない各仮想スロットについては、SFB 75 を使用して発信診断割り込みをDP マスタに送信します。

-

エラーの発生している各仮想スロットについては、SFB 75 を使用して着信診断割り込みをDP マスタに送信します。

I スレーブで動作モードが STOP から RUN に移行した場合(結果: DP マスタで OB 82 が起動する)
DP マスタのモジュールステータス情報は変わりませんが、I スレーブの情報はリセットされます("モジュールエラー"のリセット)。
S7 互換モードで DP マスタと I スレーブ間のモジュールステータス情報の一貫性を保つには、
I スレーブで次のように対処する必要があります。
-

エラーの発生していない各仮想スロットについては、SFB 75 を使用して発信診断割り込みをDP マスタに送信します。

-

エラーの発生している各仮想スロットについては、SFB 75 を使用して着信診断割り込みをDP マスタに送信します。

注記
SFB 75 は非同期で機能するため、SFB 75 の呼び出しを起動 OB で終了させることはできません。
つまり、これらの呼び出しは、終了するまでは周期プログラムで実行する必要があります。

注記
前述の、マスタと I スレーブでのモジュールステータス情報の違いはすべて、SFB 75 を使用して診断割り込みを受信するスロットでのみ発生します。したがって前述の対処法も、このようなスロットにのみ該当します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

195

PNO AK 1131 による DPV1 SFB
8.4 SFB 75 "SALRM"による DP マスタへの割り込みの送信

エラー情報
STATUS 出力パラメータには、エラー情報が示されます。このパラメータが ARRAY[1 ... 4] OF
BYTE のようになっている場合、このエラー情報の構造は次のようになります。
フィールドエレメント 意味
STATUS[1]•B#16#00: エラーなし•

B#16#C0: I スレーブでエラーが検出された

STATUS[2],STATUS[3]SFC の出力パラメータ RET_VAL に対応します。

STATUS[4]B#16#00。ただし例外として、LEN と AINFO では長さに違いが発生する場合があります。次の表に、これらの例外を示します。

次の表に、SFB 75 固有のエラー情報をすべて示します。
エラー

STATUS[2,3](W#16# ...)

説明

0

0000

ジョブは正常に終了しました。LEN < AINFO の長さの場合は、追加割り込み情報
内の LEN バイトのみが伝送されました。

0

00B1

LEN > AINFO の長さ。ジョブが完了しました。AINFO 内の追加割り込み情報が伝送されました。STATUS[4]は、AINFO の長さを受信します。

0

7000

REQ=0 (空のサイクル)での最初の呼び出し。割り込みは送信されませんでした。
BUSY の値は 0 です。

0

7001

REQ=1 での最初の呼び出し。ジョブが開始されました。BUSY の値は 1 です。

0

7002

中間の呼び出し (REQ は不適切)。送信された割り込みに対し、DP マスタがまだ確認応答をしていません。BUSY の値は 1 です。

1

8090

ID で指定されたアドレスが、アドレスの許容範囲を超えているか、あるいはコン
フィグレーションされていません。

1

8091

•

構成で割り込みを無効にしています。

•

このタイプのスレーブに対しては、割り込みを使用できません。

1

8092

AINFO のデータタイプが無効です(BYTE および BLOCK-DBは無効なタイプです)。

1

8093

ID が仮想スロットに属しています。仮想スロットから割り込みを要求することはできません。

1

80B0

ASPEC

1
1

•

AINFO のバイト 0 のビット 0 と一致しません。

•

使用する割り込みタイプの値は 0 でなければなりません。

•

値の許容範囲を超えています。

80B1

LEN は値の許容範囲を超えています。STATUS[4]は B#16#FF を受信します。

80B5

DP マスタで SFB 75 を呼び出すことはできません。

80C3

この時点では必要なリソース(メモリなど)が占有されています。

1

80C5

リモート I/O デバイスは、現時点では使用できません(ステーションエラー)。

1

80C8

このファンクションは、現在の DP マスタ動作モード(DP マスタが S7 マスタで、STOP モードになっている)では許容されていません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
196

リファレンスマニュアル, 05/2017, A5E41733394-AA

9

時刻割り込み操作用の SFC

9.1

時刻割り込みの操作

定義
時刻割り込みにより、呼び出されている時刻割り込み OB(OB10～OB17)の 1 つになります。

呼び出しの条件
時刻遅延割り込み OB をオペレーティングシステムで呼び出すには、次の条件を満たす必要があり
ます。
•

•

時刻遅延割り込み OB には、次のいずれかを使用して、パラメータ(開始の日付と時間、実行)を割り付けなければなりません。
-

STEP 7-

ユーザープログラムにある SFC 28 "SET_TINT"

時刻遅延割り込み OB は、次のいずれかを使ってアクティブにする必要があります。
-

STEP 7-

ユーザープログラムにある SFC 30 "ACT_TINT"•

時刻遅延割り込み OB は、STEP 7 では削除できません。

•

時刻遅延割り込み OB は CPU に置かれていなければなりません。

•

SFC 30 "ACT_TINT"を使用して割り込みを設定する場合、および OB の実行を 1 度だけに指定した場合、開始の日付および時刻はまだ送る必要はありません。周期的実行を選択した場合、
時刻割り込み OB は次の周期が終了したときに呼び出されます (開始時刻 + 指定期間の乗数)

ヒント
STEP 7 を使用して時刻割り込みにパラメータを割り付けることができ、使用しているユーザー
プログラムで割り込みを起動することができます (SFC 30 "ACT_TINT")。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

197

時刻割り込み操作用の SFC
9.1 時刻割り込みの操作

SFC 28～SFC 31 の目的
次の項で説明するシステムファンクション SFC 28～SFC 31 は、以下のとおり使用します。
•

時刻割り込みの設定 (SFC 28 "SET_TINT")•

時刻割り込みのキャンセル (SFC 29 "CAN_TINT")•

時刻割り込みの起動 (SFC 30 "ACT_TINT")•

時刻割り込みの問い合わせ (SFC 31 "QRY_TINT")

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
198

リファレンスマニュアル, 05/2017, A5E41733394-AA

時刻割り込み操作用の SFC
9.2 SFC 28～31 の特性

9.2

SFC 28～31 の特性

様々な状況とその影響
次の表に、様々な状況をリストし、時刻割り込みに与える影響を説明します。
状況

結果

時刻割り込みを設定する (SFC 28
SET_TINT を呼び出す)

現在の時刻割り込みが取り消されます。

時刻割り込みをキャンセルする(SFC 29 CAN_TINT を呼び出す)

日付と時刻がクリアされます。時刻割り込みは再設定しなければ、有効にできません。

時刻遅延割り込み OB は、
呼び出し時に存在しない

オペレーティングシステムが OB85 を呼び出すことを意味
する優先度クラスエラーが自動的に生成されます。
OB85 が存在しない場合は、CPU は STOP に切り替わります。

リアルタイムクロックは同期あるいは進めた時刻 クロックの時間を進めたために、開始の日付/時刻がスキッに調整されています。
プされた場合1•

オペレーティングシステムが OB80 を呼び出す•

OB80 で処理されなかった場合は、OB80 の後に、スキップされたすべての時刻遅延割り込み OB が呼び出されます
(スキップされた周期の数に関係なく、1 度だけ)。

2

OB80 が存在しない場合は、CPU は STOP に切り替わります。
リアルタイムクロックは同期あるいは遅らせた
時刻に調整されています。

S7-400-CPUs と CPU 318:
クロックの時間を戻す前に、時刻割り込み OB が既に呼び出されている場合は、2 番目の周期で再度呼び出されることはありません。
S7-300-CPUs: 影響を及ぼす時刻割り込み OBすべてが実行されます。

1) OB80 には、エンコードされた開始イベント情報が含まれています。この情報は、クロックの時間を進めたために時刻割り込み OB を呼び出せなかったことを示しています。開始イベント
情報の時間は、進めた後の時間に対応しています。
2) スキップ後に有効になった時刻割り込みの開始イベント情報に示されている時間は、最初にスキップされた時刻割り込みの開始時間に相当します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

199

時刻割り込み操作用の SFC
9.2 SFC 28～31 の特性

ウォームリスタートまたはコールドリスタート
ウォームリスタートまたはコールドリスタートの実行中、SFC によってユーザープログラムで行われた時刻割り込み設定はすべてクリアされます。
この後、STEP 7 を使用して設定されたパラメータが有効になります。

時刻割り込み OB の実行
次の表に、「実行」パラメータの様々な効果を示します。STEP 7 または SFC 28 "SET_TINT" (入力パラメータ PERIOD) を使用してこのパラメータを設定します。
時刻割り込み OB の実行

応答なし

CPU にロードされている場合でも、時刻割り込み OB は実行されません。

(STEP 7 でのみ設定可能)

パラメータは SFC 28"SET_TINT" (時刻割り込みの設定) を使用して、ユーザープログラムで再割り付けできます。

1回

時刻割り込みは、時刻割り込み OB が呼び出された後にキャンセルされます。その後、設定して有効にすることができます。

周期的割り込みを起動したときに開始の日付と時刻が既に送られている場合、時刻
割り込み OB は次の"開始日付/時刻" の可能なポイントで、周期プログラムに割り込みをかけます。

(毎分、毎時、毎日、毎週、毎月、毎年)

ごくまれな例ですが、再度呼び出されたときに、時刻割り込み OB の処理が完了していない場合があります。
結果:•

タイムエラー(オペレーティングシステムが OB80 を呼び出す。OB80がない場合、CPU は STOP になる)•

時刻割り込み OB は後で実行される

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
200

リファレンスマニュアル, 05/2017, A5E41733394-AA

時刻割り込み操作用の SFC
9.3 SFC 28 "SET_TINT"による時刻割り込みの設定

9.3

SFC 28 "SET_TINT"による時刻割り込みの設定

説明
SFC 28 "SET_TINT" (時刻割り込みの設定) を使用して、時刻割り込みオーガニゼーションブロックの開始の日付と時刻を設定します。指定された開始時刻の秒とミリ秒は無視され、0 に設定されます。
パラメータ 宣言

データタイプ

メモリ領域

説明

OB_NR

INPUT

INT

I、Q、M、D、L、
定数

時刻 SDT+PERIOD の倍数で起動される OB の番号(OB10～OB17)です。

SDT

INPUT

DT

D、L

開始日付および時刻: 指定された開始時刻の秒とミリ秒は無視され、0 に設定されます。
時刻の割り込み OB の毎月の開始日を設定する
場合、開始日付として、1、2、... 28 日を使用できます。

PERIOD

INPUT

WORD

I、Q、M、D、L、
定数

開始点 SDT からの起動周期です。
W#16#0000=一度だけ
W#16#0201=毎分
W#16#0401=毎時
W#16#1001=毎日
W#16#1201=毎週
W#16#1401=毎月
W#16#1801=毎年
W#16#2001=月末毎に

RET_VALOUTPUT INT

I、Q、M、D、L

ファンクションがアクティブなときにエラーが発生すると、RET_VAL の実パラメータにエラーコードが示されます。

エラー情報
エラーコード (W#16#...)

説明

0000

エラーは発生していません。

8090

パラメータ OB_NR が不正です。

8091

パラメータ SDT が不正です。

8092

パラメータ PERIOD が不正です。

80A1

設定された開始時刻が過ぎています。(このエラーコードは、PERIOD =W#16#0000 の場合にのみ有効です。)

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

201

時刻割り込み操作用の SFC
9.4 SFC 29 "CAN_TINT"による時刻割り込みのキャンセル

9.4

SFC 29 "CAN_TINT"による時刻割り込みのキャンセル

説明
SFC 29 "CAN_TINT" (時刻割り込みのキャンセル) を使用して、起動した時刻オーガニゼーション
ブロックをキャンセルします。
パラメータ 宣言

データタイプ

メモリ領域

説明

OB_NR

INPUT

INT

I、Q、M、D、L、 開始日時を取り消す OB の番号(OB10～
定数OB17)です。

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションがアクティブなときにエラーが発生すると、RET_VAL の実パラメータにエラーコードが示されます。

エラー情報
エラーコード (W#16#...)

説明

0000

エラーは発生していません。

8090

パラメータ OB_NR が不正です。

80A0

時刻割り込み OB に対して、開始日時が指定されていません。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
202

リファレンスマニュアル, 05/2017, A5E41733394-AA

時刻割り込み操作用の SFC
9.5 SFC 30 "ACT_TINT"による時刻割り込みの起動

9.5

SFC 30 "ACT_TINT"による時刻割り込みの起動

説明
SFC 30 "ACT_TINT" (時刻割り込みの起動) を使用して、時刻割り込みのオーガニゼーションブロックを起動します。
パラメータ

宣言

データタイプ

メモリ領域

説明

OB_NR

INPUT

INT

I、Q、M、D、L、 有効にする OB 番号です(OB10～OB17)。
定数

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションがアクティブなときにエラーが発生すると、RET_VAL の実パラメータにエラーコードが示されます。

エラー情報
エラーコード (W#16#...)

説明

0000

エラーは発生していません。

8090

パラメータ OB_NR が不正です。

80A0

開始の日付/時刻がそれぞれの時刻割り込み OB に設定されていません。

80A1

設定した起動時刻は、既に過ぎています。このエラーは、一度だけ実行するよう設定した場合にだけ発生します。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

203

時刻割り込み操作用の SFC
9.6 SFC 31 "QRY_TINT"による時刻割り込みの問い合わせ

9.6

SFC 31 "QRY_TINT"による時刻割り込みの問い合わせ

説明
システムファンクション SFC 31 "QRY_TINT" (時刻割り込みの問い合わせ) を使用して、出力パラメータ STATUS に時刻割り込みオーガニゼーションブロックのステータスを表示できます。
パラメータ 宣言

データタイプ

メモリ領域

説明

OB_NR

INPUT

INT

I、Q、M、D、L、 ステータスを問い合わせる OB の番号です
定数(OB10～OB17)。

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションがアクティブなときにエラーが発生すると、RET_VAL の実パラメータにエラーコードが示されます。

STATUSOUTPUT

WORD

I、Q、M、D、L

時刻割り込みのステータス; 次の表を参照

出力パラメータ STATUS
注記
RET_VAL に 0 以外の値が格納されている場合、STATUS を評価してはいけません。

0
1
2

•

=0: CPU は RUN モード。

•

=1: CPU は起動中。

•=0: 割り込み有効。

•=1: 割り込みは SFC39 "DIS_IRT"を呼び出すことで無効になる。

•=0: 割り込みは無効か経過済み。

•=1: 割り込みは有効。

3

常に 0

4

•

=0: 番号 OB_NR の OB は存在しない。

•=1: 番号 OB_NR の OB がロードされている。

その他

常に 0

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
204

リファレンスマニュアル, 05/2017, A5E41733394-AA

時刻割り込み操作用の SFC
9.6 SFC 31 "QRY_TINT"による時刻割り込みの問い合わせ

エラー情報
エラーコード (W#16#...)

説明

0000

エラーは発生していません。

8090

パラメータ OB_NR が不正です。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

205

時刻割り込み操作用の SFC
9.6 SFC 31 "QRY_TINT"による時刻割り込みの問い合わせ

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
206

リファレンスマニュアル, 05/2017, A5E41733394-AA

10

時間遅延割り込み操作用の SFC

10.1

時間遅延割り込みの操作

定義
SFC 32 "SRT_DINT"を呼び出した後、オペレーティングシステムは指定された遅延時間が経過した
後で割り込みを生成します。すなわち、選択された時間遅延割り込み OB が呼び出されます。この割り込みを、時間遅延割り込みと言います。

呼び出しの条件
時間遅延割り込み OB をオペレーティングシステムで呼び出すには、次の条件を満たしている必要があります。
•

時間遅延割り込み OB は SFC 32 "SRT_DINT"により開始しなければならない•

時間遅延割り込み OB を STEP 7 で選択解除しないようにする•

時間遅延割り込み OB を CPU をロードしておく

SFC 32～SFC 34 の目的
次の項で説明するシステムファンクション SFC 32～SFC 34 は、以下のとおり使用します。
•

時間遅延割り込みの起動 (SFC 32 "SRT_DINT")•

時間遅延割り込みのキャンセル (SFC 33 "CAN_DINT")•

時間遅延割り込みの問い合わせ (SFC 34 "QRY_DINT").

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

207

時間遅延割り込み操作用の SFC
10.1 時間遅延割り込みの操作

様々な状況とその影響
次の表に、様々な状況をリストし、時間遅延割り込みの影響を説明します。
状況

追加の状況

結果

時間遅延割り込みが開始
時間遅延割り込みは既に起動して(SFC 32 "SRT_DINT"を呼び出して)。 います。

遅延時間が上書きされます。時間
遅延割り込みが再度、起動します。

時間遅延割り込み OB は、呼び出し オペレーティングシステムが、優時に存在していません。
先度クラスエラー(呼び出し OB85)を生成します。
OB85 が存在しない場合は、CPU は
STOP に切り替わります。
CPU が RUN に切り替わる前に、 CPU が RUN モードになるまで、起動 OB で割り込みが開始し、遅延 時間遅延割り込み OB の呼び出しが遅延します。
時間が経過します。
前に起動した時間遅延割り込み OB オペレーティングシステムが、タイがいまだに実行しています。
ムエラーを生成します(呼び出しOB80)。OB80 が存在しない場合は、CPU は STOP に切り替わります。

遅延時間が経過する

ウォームリスタートとコールドリスタート
ウォームリスタートまたはコールドリスタートの実行中、SFC によりユーザープログラムで行われた
時間遅延割り込み設定はすべてクリアされます。

起動 OB での開始
時間遅延割り込みは、起動 OB で開始できます。時間遅延割り込み OB を呼び出すには、次の 2 つの条件を満たしていなければなりません。
•

遅延時間が経過している•

CPU が RUN モードである

遅延時間が経過しているが CPU が RUN モードでない場合、CPU が RUN モードになるまで、時間
遅延割り込み OB 呼び出しは遅延します。そして、OB1 の最初の命令が実行される前に、時間遅延
割り込み OB が呼び出されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
208

リファレンスマニュアル, 05/2017, A5E41733394-AA

時間遅延割り込み操作用の SFC
10.2 SFC 32 "SRT_DINT"による時間遅延割り込みの開始

10.2

SFC 32 "SRT_DINT"による時間遅延割り込みの開始

説明
SFC 32 "SRT_DINT" (時間遅延割り込みの開始) を使用して、遅延時間が経過するとすぐに時間
遅延割り込みオーガニゼーションブロックを呼び出す時間遅延割り込みを開始します (パラメータ
DTIME).
SIGN パラメータを使用することで、時間遅延割り込みの起動を識別するための識別子を設定できます。指定した OB が実行されると、その OB の起動イベント情報内に DTIME と SIGN の値が再度表示されます。
パラメータ 宣言

データタイプ

メモリ領域

説明

OB_NR

INPUT

INT

I、Q、M、D、L、 遅延時間経過後に起動する OB の番号(OB20
定数～OB23)です。

DTIME

INPUT

TIME

I、Q、M、D、L、 時間遅延の値 (1～60000 ms)
定数より長い時間を実現するには、例えば時間遅延

SIGN

INPUT

WORD

I、Q、M、D、L、 時間遅延割り込み OB が呼び出されると、OB
定数の開始イベント情報に識別子が現れます。

RET_VALOUTPUT

INT

I、Q、M、D、L

割り込み OB にあるカウンタを使用します。

システムファンクションがアクティブなときにエラーが発生すると、RET_VAL の実パラ
メータにエラーコードが示されます。

精度
SFC 32 "SRT_DINT"の呼び出しと時間遅延割り込み OB の開始との間の時間は 1 ミリ秒が最大で、これは呼び出しを遅らせる割り込みイベントを供給しない選択された時間よりも短い

エラー情報
エラーコード (W#16#...)

説明

0000

エラーは発生していません。

8090

パラメータ OB_NR が不正です。

8091

パラメータ DTIME が不正です。

8xyy

一般的なエラー情報については、出力パラメータ
RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

209

時間遅延割り込み操作用の SFC
10.3 SFC 34 "QRY_DINT"による時間遅延割り込みの問い合わせ

10.3

SFC 34 "QRY_DINT"による時間遅延割り込みの問い合わせ

説明
SFC 34 "QRY_DINT" (時間遅延割り込みの問い合わせ) を使用して、時間遅延割り込み OB のステー
タスを問い合わせることができます。時間遅延割り込みは、OB20 から OB23 までのオーガニゼー
ションブロックで管理されます。
パラメータ 宣言

データタイプ

メモリ領域

説明

OB_NR

INPUT

INT

I、Q、M、D、L、
定数

ステータスの問い合わせ対象の OB の番号(OB20～OB23)です。

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションがアクティブなときにエラーが発生すると、RET_VAL の実パラメータにエラーコードが示されます。

STATUSOUTPUT

WORD

I、Q、M、D、L

時間遅延割り込みのステータス。次の表を参照してください。

出力パラメータ STATUS
注記
RET_VAL に 0 以外の値が格納されている場合、STATUS を評価してはいけません。

0
1
2

•

=0: CPU は RUN モード。

•

=1: CPU は起動中。

•=0: 割り込み有効。

•=1: 割り込みは SFC39 "DIS_IRT"を呼び出すことで無効になる。

•=0: 割り込みは無効か経過済み。

•=1: 割り込みは有効。

3

常に 0

4

•

=0: 番号 OB_NR の OB は存在しない。

•=1: 番号 OB_NR の OB がロードされている。

その他

常に 0

エラー情報
エラーコード (W#16#...)

説明

0000

エラーは発生していません。

8090

パラメータ OB_NR が不正です。

8xyy

一般エラーの情報, 出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
210

リファレンスマニュアル, 05/2017, A5E41733394-AA

時間遅延割り込み操作用の SFC
10.4 SFC 33 "CAN_DINT"による時間遅延割り込みのキャンセル

10.4

SFC 33 "CAN_DINT"による時間遅延割り込みのキャンセル

説明
SFC 33 "CAN_DINT" (時間遅延割り込みのキャンセル) を使用して、既に開始している時間遅延
割り込みをキャンセルします (SFC 32 "SRT_DINT"による時間遅延割り込みの開始). 時間遅延割り
込み OB は呼び出されません。
パラメータ 宣言

データタイプ

メモリ領域

説明

OB_NR

INPUT

INT

I、Q、M、D、L、 取り消し対象の OB の番号(OB20～OB23)です。
定数

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションがアクティブなときにエラーが発生すると、RET_VAL の実パラメータにエラーコードが示されます。

エラー情報
エラーコード (W#16#...)

説明

0000

エラーは発生していません。

8090

パラメータ OB_NR が不正です。

80A0

時間遅延割り込みが起動していません。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

211

時間遅延割り込み操作用の SFC
10.4 SFC 33 "CAN_DINT"による時間遅延割り込みのキャンセル

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
212

リファレンスマニュアル, 05/2017, A5E41733394-AA

11

同期エラー処理用の SFC

11.1

同期エラーのマスク

概要
同期エラーはプログラミングエラーおよびアクセスエラーです。このエラーは、不正なアドレス領域、
アドレス番号、アドレスを使ってプログラミングした場合に発生します。これらの同期エラーのマスクとは、以下を意味します。
•

マスクされた同期エラーは、エラーOB 呼び出しを起動せず、プログラミングされている代わりの応答方法を実行することもありません。

•

CPU は、マスクされたエラーが発生すると、エラーレジスタに「記録」します。

マスクは、SFC 36 "MSK_FLT"を呼び出して実行します。
エラーのアンマスクとは、以前に設定されたマスクを取り消して、現在の優先度クラスのイベント
ステータスレジスタの対応するビットをクリアすることです。マスクは次の方法で取り消されます。
•

SFC 37 "DMSK_FLT"を呼び出します。

•

現在の優先度クラスが完了する(S7-400 のみ)

アンマスクの実行後にエラーが発生すると、オペレーティングシステムが対応するエラーOB を起動します。プログラミングエラーへの応答には OB121 をプログラミングでき、アクセスエラーへの応答には OB122 をプログラミングできます。
SFC 38 "READ_ERR"を使用して、発生したマスクのエラーを読み出すことができます。
注記: エラーがマスクされているかアンマスクされているかどうかにかかわらず、S7-300 (CPU 318
を除く) で診断バッファにエラーが入力され、CPU のグループエラーLED が点灯します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

213

同期エラー処理用の SFC
11.1 同期エラーのマスク

エラー処理の一般的な方法
ユーザープログラムでプログラミングエラーやアクセスエラーが発生すると、様々な方法でこれに応答することができます。
•

エラーが発生した場合、オペレーティングシステムで呼び出される対応するエラーOB をプロ
グラミングできます。

•

エラーOB 呼び出しは、優先度クラスごとに無効にできます。この場合、この種のエラーが特定の優先度クラスで発生しても CPU は STOP になりません。CPU はエラーをエラーレジスタに記録します。ただし、この記録内容から、エラーの発生時期や発生過程を調べることはできま
せん。

Synchronous error

Error masked?
NO

YES

Error OB call (theCPU changes to
STOP if the error
OB is notprogrammed).

Error OB calldisabled(the CPU does
not change to STOP
if an error occurs).

The reaction to anerror is programmedin the OB.

An error is enteredin the error register.

フィルタ
同期エラーは、エラーフィルタ (マスク) として知られる特定のビットパターンに割り付けられます。
このエラーフィルタは、SFC 36、37、38 の入力/出力パラメータ内にもあります。
同期エラーは、
プログラミングエラーとアクセスエラーに分けることができ、これらは 2 つのエラーフィルタを使ってマスクできます。エラーフィルタにていては、次の図で説明します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
214

リファレンスマニュアル, 05/2017, A5E41733394-AA

同期エラー処理用の SFC
11.1 同期エラーのマスク

エラーフィルタのプログラミング
次の図に、プログラミングエラー用エラーフィルタのビットパターンを示します。プログラミング
エラー用エラーフィルタはパラメータ PRGFLT_... 内にあります。
プログラミングエラーの可能性のあるエラー原因、下位ワードまたはプログラミングエラー上位
ワードの可能性のあるエラー原因を参照してください。

対象外のビット
上記の図では、x は次の意味になります。
... 入力パラメータ

SFC 36、37、38 用= "0"... 出力パラメータ

SFC 36、37 用= "1" (S7-300)= "0" (S7-400)

SFC 38 用= "0"S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

215

同期エラー処理用の SFC
11.1 同期エラーのマスク

すべての CPU のアクセスエラーフィルタ
次の図は、CPU 417 と CPU 417H 以外のすべての CPU のアクセスエラー用エラーフィルタのビットマップを示しています。アクセスエラー用エラーフィルタはパラメータ ACCFLT_...にあります。
アクセスエラーの説明は、"CPU 318 以外のすべての CPU 31x の可能性のあるエラー原因"あるいは"CPU 41x と CPU 318 のすべての CPU の可能性のあるエラー原因"の表を参照してください。

例
次の図は、すべての CPU のアクセスエラー用エラーフィルタの下位ワードを示しています。
•

SFC 36 の入力パラメータとして•

SFC 36 の出力パラメータとして

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
216

リファレンスマニュアル, 05/2017, A5E41733394-AA

同期エラー処理用の SFC
11.1 同期エラーのマスク

プログラミングエラーの下位ワード
次の表に、プログラミングエラー用エラーフィルタの下位ワードに割り付けられているエラーをリストします。この表では、エラーの原因についても説明します。
プログラミングエラーの原因、下位ワード
エラー

イベント ID(W#16#...)

エラーが発生する状況

BCD 変換エラー

2521

変換対象の値が BCD (たとえば 5E8)ではない

読み取り時の領域長エラー

2522

有効なアドレス領域にないアドレスが使用されている
例: メモリ領域は 256 バイトの長さしかないが、MW 320 を読み取らなければならない。

書き込み時の領域長エラー

2523

有効なアドレス領域にないアドレスが使用されている
例: メモリ領域は 256 バイトの長さしかないが、値を MW 320に書き込まなければならない。

読み取り時の領域エラー

2524

間接的な領域間アドレス指定を使用したとき、そのアドレスに不正な領域識別子が指定されている
例:

適正:

LAR1 P#E 12.0
L W[AR1, P#0.0]

不正:LAR1 P#12.0

L W[AR1, P#0.0]
この操作では、領域長のエラーが伝えられます。
書き込み時の領域エラー

2525

間接的な領域間アドレス指定を使用したとき、そのアドレスに不正な領域識別子が指定されている
例:

適正:

LAR1 P#E 12.0
T W[AR1, P#0.0]

不正:LAR1 P#12.0

T W[AR1, P#0.0]
この操作では、領域長のエラーが伝えられます。
タイマ番号エラー

2526

存在していないタイマにアクセスする
例: SP T [MW 0] where MW 0 = 129; 128 のタイマのみ使用可能であるが、129 のタイマを開始しなければならない。

カウンタ番号エラー

2527

存在していないカウンタにアクセスする
例: CU C [MW 0] where MW 0 = 600; 512 のカウンタのみ使用可能であるが、600 のカウンタにアクセスしなければならない。
(CPU 416-D)。

読み取り時のアライメント
エラー

2528

バイト、ワード、ダブルワードアドレスが ビットアドレス≠ 0 でアドレス指定されている
例:

適正:

LAR1 P#M12.0
L B[AR1, P#0.0]

不正:LAR1 P#M12.4
L B[AR1, P#0.0]

書き込み時のアライメント
エラー

2529

バイト、ワード、ダブルワードアドレスが ビットアドレス≠ 0 でアドレス指定されている
例:

適正:

LAR1 P#M12.0
T B[AR1, P#0.0]

不正:LAR1 P#M12.4
T B[AR1, P#0.0]

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

217

同期エラー処理用の SFC
11.1 同期エラーのマスク

プログラミングエラーの上位ワード
次の表に、プログラミングエラー用エラーフィルタの上位ワードに割り付けられているエラーをリストします。この表では、エラーの原因についても説明します。
プログラミングエラーの原因、上位ワード
エラー

イベント ID エラーが発生する状況(W#16#...)

データブロックの書き込み
エラー

2530

書き込み対象のデータブロックが読み取り専用である

インスタンスデータブロックの書き込みエラー2531

書き込み対象のインスタンスデータブロックが読み取り専用
である

DB のブロック番号エラー

2532

開くべきインスタンスデータブロックの番号が最大許容番号
より大きい

ブロック番号エラーDI

2533

開くべきインスタンスデータブロックの番号が最大許容番号
より大きい

FC のブロック番号エラー

2534

呼び出したファンクションの番号が最大許容番号より大きい

FB のブロック番号エラー

2535

呼び出したファンクションブロックの番号が最大許容番号より大きい

DB がロードされていない

253A

開こうとしたデータブロックがロードされていない

FC がロードされていない

253C

呼び出されたファンクションがロードされていない

SFC が存在しない

253D

呼び出されたシステムファンクションが存在しない

FB がロードされていない

253E

呼び出し対象のファンクションブロックがロードされていない

SFB が存在しない

253F

呼び出されたシステム/標準ファンクションブロックが存在しない

アクセスエラー
次の表は、すべての CPU のアクセスエラー用エラーフィルタに割り付けられたエラーをリストしたものです。さらに、エラーの原因もリストします。
エラー

イベント ID (W#16#...) エラーが発生する状況

読み取り時の I/O ア 2942
クセスエラー

シグナルモジュールが I/O領域内のアドレスに割り付けられていないまたは選択したモジュールウォッチドッグタイム内に、この I/O領域へのアクセスに対する確認応答がない(タイムアウト)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
218

リファレンスマニュアル, 05/2017, A5E41733394-AA

同期エラー処理用の SFC
11.1 同期エラーのマスク
エラー

イベント ID (W#16#...) エラーが発生する状況

書き込み時の I/O ア 2943
クセスエラー

シグナルモジュールが I/O領域内のアドレスに割り付けられていないまたは選択したモジュールウォッチドッグタイム内に、この I/O領域へのアクセスに対する確認応答がない(タイムアウト)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

219

同期エラー処理用の SFC
11.2 SFC 36 "MSK_FLT"による同期エラーのマスク

11.2

SFC 36 "MSK_FLT"による同期エラーのマスク

説明
SFC 36 "MSK_FLT" (同期エラーのマスク) を使用して、同期エラーに対する CPU のリアクションをコントロールします。この SFC では、エラーフィルタを使用して同期エラーをマスクすることができます (同期エラーのマスク). SFC 36 を呼び出して、現在の優先度クラスにある同期エラーを
マスクします。
同期エラーフィルタの各ビットを入力パラメータで"1"に設定すると、以前に設定されたその他のビットの値は"1"のままになります。このため、出力パラメータを使用すれば、新しいエラーフィルタを取得して読むことができます。マスクした同期エラーでは、OB の呼び出しをせず、エラーレジ
スタに記録されます。SFC 38 "READ_ERR"を使用して、エラーレジスタを読み出すことができます。
パラメータ

宣言

データタイプ

メモリ領域

説明

PRGFLT_SET_MASK

INPUT

DWORD

I、Q、M、D、L、
定数

マスクするプログラミングエラーです。

ACCFLT_SET_MASK

INPUT

DWORD

I、Q、M、D、L、
定数

マスクするアクセスエラーです。

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

PRGFLT_MASKED

OUTPUT

DWORD

I、Q、M、D、L

マスクされたプログラムエラー

ACCFLT_MASKED

OUTPUT

DWORD

I、Q、M、D、L

マスクされたアクセスエラーです。

エラー情報
エラーコード (W#16#...)

説明

0000

既にマスクされているエラーはありません。

0001

少なくとも 1 つのエラーがマスクされています。
その他のエラーはこれからマスクされます。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
220

リファレンスマニュアル, 05/2017, A5E41733394-AA

同期エラー処理用の SFC
11.3 SFC 37 "DMSK_FLT"による同期エラーのアンマスク

11.3

SFC 37 "DMSK_FLT"による同期エラーのアンマスク

説明
SFC 37 "DMSK_FLT" (同期エラーのアンマスク) を使用して、SFC 36 "MSK_FLT"でマスクした
エラーをアンマスクします。アンマスクを行うには、エラーフィルタの対応するビットを入力パラメータで"1"にセットする必要があります。SFC 37 を呼び出して、現在の優先度クラスの対応する
同期エラーをアンマスクします。同時に、エラーレジスタに入力された内容もクリアされます。出力パラメータを使用すれば、新しいエラーフィルタを読み取ることができます。
パラメータ

宣言

データタイプ

メモリ領域

説明

PRGFLT_RESET_MASK

INPUT

DWORD

I、Q、M、D、L、 アンマスクするプログラミング
定数エラーです。

ACCFLT_RESET_MASK

INPUT

DWORD

I、Q、M、D、L、 アンマスクするアクセスエラー
定数です。

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

PRGFLT_MASKED

OUTPUT

DWORD

I、Q、M、D、L

まだマスクされているプログラ
ミングエラーです。

ACCFLT_MASKED

OUTPUT

DWORD

I、Q、M、D、L

まだマスクされているアクセス
エラーです。

エラーコード (W#16#...)

説明

0000

指定されたすべてのエラーがアンマスクされました。

0001

指定されたエラーのうち、少なくとも 1 つがマスクされていません。
その他のエラーはこれからアンマスクされます。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

エラー情報

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

221

同期エラー処理用の SFC
11.4 SFC 38 "READ_ERR"によるエラーレジスタの読み取り

11.4

SFC 38 "READ_ERR"によるエラーレジスタの読み取り

説明
SFC 38 "READ_ERR" (エラーレジスタの読み取り) を使用して、エラーレジスタを読み取ります。
エラーレジスタの構造は、プログラミングの構造、および SFC 36 と SFC 37 を使用して入力パラメータとしてプログラムできるアクセスエラーフィルタの構造に対応しています。
入力パラメータには、エラーレジスタから読み取る同期エラーを入力します。SFC 38 を呼び出して、
エラーレジスタから必要なエントリを読み取り、同時にエントリをクリアします。
エラーレジスタには、現在の優先度クラスでマスクされた同期エラーのうち 1 回以上発生したエラーの情報が示されます。あるビットが設定されている場合、そのビットに対応するマスクされた同期エラーが 1 回以上発生したことを意味します。
パラメータ

宣言

データタイプ

メモリ領域

説明

PRGFLT_QUERY

INPUT

DWORD

I、Q、M、D、L、
定数

プログラムエラーの問い合わせ

ACCFLT_QUERY

INPUT

DWORD

I、Q、M、D、L、
定数

アクセスエラーの問い合わせRET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

PRGFLT_CLR

OUTPUT

DWORD

I、Q、M、D、L

プログラミングエラー発生

ACCFLT_CLR

OUTPUT

DWORD

I、Q、M、D、L

アクセスエラー発生

エラーコード(W#16#...)

説明

0000

問い合わせのあったすべてのエラーがマスクされています。

0001

問い合わせられたエラーのうち、最低 1 つがマスクされていませんでした。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

エラー情報

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
222

リファレンスマニュアル, 05/2017, A5E41733394-AA

12

割り込みと非同期エラー処理用の SFC

12.1

割り込みと非同期エラーの遅延および無効化

SFC 39～SFC 42 の目的
これらの SFC では、以下を実行できます。
•

SFC 39 "DIS_IRT"を使用して、引き続き起こるすべての CPU 周期の割り込みと非同期エラーを無効にします。

•

SFC 41 "DIS_AIRT"を使用して、OB の最後まで高優先度クラスを遅延させます。

•

SFC 40 "EN_IRT"または SFC 42 "EN_AIRT"を使用して、割り込みと非同期エラーを有効にします。

割り込みエラーおよび非同期エラーの処理は、ユーザープログラムでプログラミングします。この場合、対応する OB もプログラムする必要があります。

SFC 41 と SFC 42 のメリット
SFC 41 "DIS_AIRT"を使用して、高優先度の割り込みエラーと非同期エラーを無効にして遅延し、SFC 42 "EN_AIRT"を使用して再びこれらを有効にするのは、次のようなメリットがあります。
遅延された割り込み数が、CPU によりカウントされます。割り込みエラーおよび非同期エラーを遅延させている場合、標準的な FC 内で割り込みエラーおよび非同期エラーを無効にし、再び有効にしても、これらの標準的な FC 呼び出しによって遅延を取り消すことはできません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

223

割り込みと非同期エラー処理用の SFC
12.1 割り込みと非同期エラーの遅延および無効化

割り込みクラス
割り込みは、様々なクラスに分けられます。次の表に、割り込みクラスと対応する OB をすべて
リストします。
割り込みクラスOB

時刻割り込みOB10～OB17

時間遅延割り込み

OB20 ～ OB23

周期割り込みOB30～OB38

ハードウェア割り込み

OB40～OB47

DPV1 の割り込み

OB55～OB57

マルチコンピューティング割り込み

OB60

リダンダントエラー割り込みOB70, OB72

非同期エラー割り込みOB80～OB87 (下を参照)

同期エラー割り込み

OB121, OB122( SFC 36～SFC 38 を使用して、同期
エラー割り込みの処理をマスクまたはアンマスクすることができます)

非同期エラー
次の表に、ユーザープログラムで OB 呼び出しを使って応答できる非同期エラーをすべてリスト
します。
非同期エラーOB

タイムエラー(たとえば、サイクルタイム超過)

OB80

電源エラー(たとえば、バッテリの故障)

OB81

診断割り込み(たとえば、シグナルモジュールのヒューズ切れ)

OB82

モジュール割り込みの削除/挿入

OB83

CPU ハードウェア故障 (たとえば、メモリカードが取り外されている)

OB84

プログラムシーケンスエラー

OB85

ラックエラー

OB86

通信エラー

OB87

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
224

リファレンスマニュアル, 05/2017, A5E41733394-AA

割り込みと非同期エラー処理用の SFC
12.2 SFC 39 "DIS_IRT"による新規割り込みと非同期エラーの処理の無効化

12.2

SFC 39 "DIS_IRT"による新規割り込みと非同期エラーの処理の無効化

説明
SFC 39 "DIS_IRT" (割り込みの無効化) を使用して、新規割り込みと非同期エラーの処理を無効にします。つまり、割り込みが発生したとき、CPU のオペレーティングシステムは以下のように反応します。
•

割り込み OB または非同期エラーOB のいずれも呼び出しません。

•

また、割り込み OB または非同期エラーOB がプログラムされていなければ、通常の処理もトリガしません。

割り込みおよび非同期エラーを禁止すると、すべての優先順位クラスに対して適用されます。
"DIS_IRT"の効果は、SFC 40 "EN_IRT" (セクション 0 を参照) を呼び出して、あるいはウォーム
リスタートかコールドリスタートで、再びキャンセルのみ行うことができます。
オペレーティングシステムが、割り込みと非同期エラーを発生時に診断バッファに書き込むかどう
かは、MODE に選択した入力パラメータ設定によって異なります。

注記
SFC 39 "DIS_IRT"の使い方をプログラムするとき、発生するすべての割り込みは失われることを忘れないでください!

パラメータ 宣言

データタイプ

メモリ領域

MODE

INPUT

BYTE

I、Q、M、D、L、 無効にする割り込みと非同期エラーを指定
定数

説明

OB_NR

INPUT

INT

I、Q、M、D、L、 OB 番号
定数

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションがアクティブなときにエラーが発生すると、戻り値にエラーコードが示されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

225

割り込みと非同期エラー処理用の SFC
12.2 SFC 39 "DIS_IRT"による新規割り込みと非同期エラーの処理の無効化

MODE
モード
意味
(B#16#...)
00

新しく発生したすべての割り込みと非同期エラーは無効になります。(同期エラーは無効になりません。) OB_NR パラメータに値 0 を割り付けます。診断バッファへの入力は継続されます。

01

指定した割り込みクラスに属する新しく発生したすべてのイベントが無効になります。割り込み
クラスを次のように指定して識別します。
•

時刻割り込み: 10•

時間遅延割り込み: 20•

周期割り込み: 30•

ハードウェア割り込み: 40•

DPV1 の割り込み: 50•

マルチコンピューティング割り込み: 60•

リダンダントエラー割り込み: 70•

非同期エラー割り込み: 80

診断バッファへのエントリは続きます。
02

指定された割り込みが新たに発生するのを無効にします。OB 番号を使って割り込みを指定します。診断バッファへの入力は継続されます。

80

新たに発生する割り込みおよび非同期エラーは無効になり 診断バッファには入力されません。
OB_NR パラメータに値 0 を割り付けます。オペレーティングシステムは、診断バッファにイベ
ント W#16#5380 を入力します。

81

指定した割り込みクラスに属する新しく発生したすべてのイベントが無効になり、診断バッファ
への入力は行われません。オペレーティングシステムは、診断バッファにイベント W#16#5380
を入力します。

82

指定した割り込みクラスに属する新しく発生したすべてのイベントが無効になり、診断バッファ
への入力は行われません。オペレーティングシステムは、診断バッファにイベント W#16#5380
を入力します。

エラー情報
エラーコード (W#16#...) 説明
0000

エラーは発生していません。

8090

入力パラメータ OB_NR に不正な値が含まれています。

8091

入力パラメータ MODE に不正な値が含まれています。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
226

リファレンスマニュアル, 05/2017, A5E41733394-AA

割り込みと非同期エラー処理用の SFC
12.3 SFC 40 "EN_IRT"による新規割り込みと非同期エラーの処理の有効化

12.3

SFC 40 "EN_IRT"による新規割り込みと非同期エラーの処理の有効化

説明
SFC 40 "EN_IRT" (割り込みの有効化) を使用して、SFC 39 "DIS_IRT"で前に無効にした新規割り込みと非同期エラーの処理を有効にします。これは、割り込みイベントが発生した場合、CPU のオペレーティングシステムが次のうち 1 つのリアクションを行います。
•

割り込み OB または非同期エラーOB を呼び出します。

•

割り込み OB または非同期エラーOB がプログラミングされていない場合、標準的な応答が起動します。

パラメータ 宣言

データタイプ メモリ領域

説明

MODE

INPUT

BYTE

I、Q、M、D、L、 許可する割り込みおよび非同期エラーを指定
定数
します。

OB_NR

INPUT

INT

I、Q、M、D、L、 OB 番号
定数

RET_VALOUTPUT

INT

I、Q、M、D、L

モード(B#16#...)

意味0

新たに発生した割り込みと非同期エラーは有効になります。

1

指定した割り込みクラスに属する新しく発生したすべてのイベントが有効になります。割り込みクラスを次のように指定して識別します。

ファンクションがアクティブなときにエラーが発生すると、戻り値にエラーコードが示さ
れます。

MODE

2

•

時刻割り込み: 10•

時間遅延割り込み: 20•

周期割り込み: 30•

ハードウェア割り込み: 40•

DPV1 の割り込み: 50•

マルチコンピューティング割り込み: 60•

リダンダントエラー割り込み: 70•

非同期エラー割り込み: 80

指定された割り込みのイベントが新たに発生した場合、このイベントは有効になります。OB
番号を使って割り込みを指定します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

227

割り込みと非同期エラー処理用の SFC
12.3 SFC 40 "EN_IRT"による新規割り込みと非同期エラーの処理の有効化

エラー情報
エラーコード (W#16#...)

説明

0000

エラーは発生していません。

8090

入力パラメータ OB_NR に不正な値が含まれています。

8091

入力パラメータ MODE に不正な値が含まれています。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
228

リファレンスマニュアル, 05/2017, A5E41733394-AA

割り込みと非同期エラー処理用の SFC
12.4 SFC 41 "DIS_AIRT"による高優先度の割り込みと非同期エラーの処理の遅延

12.4

SFC 41 "DIS_AIRT"による高優先度の割り込みと非同期エラーの処理の遅延

説明
SFC 41 "DIS_AIRT" (アラーム割り込みの無効化) を使用して、現在の OB の優先度よりも高い優先度を持った割り込み OB と非同期エラーOB の処理を遅延させます。OB 内で 2 回以上 SFC 41 を呼び出すことができます。SFC 41 の呼び出しは、オペレーティングシステムでカウントされます。
これらの呼び出しはそれぞれ、特に SFC 42 "EN_AIRT"の呼び出しにより再びキャンセルされるまで、あるいは現在の OB が完全に処理されるまで実行されます。
これらが再度有効になると、SFC 41 を実行している間に発生した割り込みと非同期エラーは、SFC
42 "EN_AIRT"で再び有効になるとすぐに処理されます。
パラメータ

宣言

データタイプ

メモリ領域

説明

RET_VALOUTPUT

INT

I、Q、M、D、L

遅延の数 (= SFC 41 の呼び出し数)

戻り値
次の表は、RET_VAL パラメータで出力される SFC 41 の戻り値を示しています。
戻り値

説明

n

"n" は、処理が無効になった回数を示しています。つまり、SFC 41 呼び出しの数です (割り込み処理は、n = 0 のときにのみ再び有効になります。
SFC 42 "EN_AIRT"による高優先度の割り込みと非同期エラーの処理の有効化).

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

229

割り込みと非同期エラー処理用の SFC
12.5 SFC 42 "EN_AIRT"による高優先度の割り込みと非同期エラーの処理の有効化

12.5

SFC 42 "EN_AIRT"による高優先度の割り込みと非同期エラーの処理の有効化

説明SFC 42 "EN_AIRT" (アラーム割り込みの有効化) を使用して、SFC 41 "DIS_AIRT"で前に無効にした
高優先度割り込みと非同期エラーの処理を有効にします。それぞれの SFC 41 呼び出しは、SFC 42
呼び出しでキャンセルしなければなりません。

例
例えば、SFC 41 の呼び出し 5 回で、5 回割り込みを無効にした場合、これらの呼び出しは SFC 42
を 5 回呼び出してキャンセルしなければなりません。
パラメータ

宣言

データタイプ

メモリ領域

説明

RET_VALOUTPUT

INT

I、Q、M、D、LSFC 42 またはエラーメッセージの完了時にまだプログラムされている遅延の数

戻り値とエラー情報
出力パラメータ RET_VAL によるエラーの評価を参照
RET_VAL パラメータのエラー情報を評価する方法については、「出力パラメータ RET_VAL によるエラーの評価」の章で説明します。この章では、SFC の一般エラー情報についても説明します。
次の表は、
RET_VAL パラメータで出力できる SFC 42 に特有のエラー情報すべてを載せています。
戻り値とエラー情報

説明N"n"は、SFC 42 呼び出しでまだキャンセルされていない SFC 41 の呼び出しの数を示しています。
(割り込み処理は、"n" = 0 の場合に再び有効となるだけです)。

W#16#8080

割り込み処理が既に許可されているにもかかわらず、
このファンクションが再び呼び出されました。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
230

リファレンスマニュアル, 05/2017, A5E41733394-AA13

診断用の SFC

13.1

システム診断CPU は、プログラマブルロジックコントローラのステータスに関する内部データを保持します。
システム診断機能を使用すれば、最も重要なデータを読み出すことができます。データの一部は、
STEP 7 を使ってプログラミングデバイスで表示することができます。
また、SFC "RD_SINFO"および"RDSYSST"を使用すれば、システム診断に必要なプログラム内のデータにアクセスすることができます。

13.2

SFC 6 "RD_SINFO"による OB 起動情報の読み取り

説明
SFC 6 "RD_SINFO" (起動情報の読み取り) を使用して、次の起動情報を読み取ることができます。
•

まだ完全に実行されていない OB で、最後に呼び出される OB
および•最後に起動される起動 OB

上記のいずれの場合もタイムスタンプは存在しません。呼び出しが OB100、OB101 または OB102にある場合、2 つの同一の起動情報メッセージが戻されます。
パラメータ

宣言

データタイプ メモリ領域

説明

RET_VALOUTPUT

INT

I、Q、M、D、L エラー情報

TOP_SIOUTPUT

STRUCT

D、L

現在の OB の起動情報です。

START_UP_SIOUTPUT

STRUCT

D、L

最後に起動する起動 OB の起動情報です。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

231

診断用の SFC
13.2 SFC 6 "RD_SINFO"による OB 起動情報の読み取り

TOP_SI および START_UP_SI
出力パラメータ TOP_SI および START_UP_SI は、同じエレメントをもつ 2 つのストラクチャです(次の表を参照)。
ストラクチャエレメ データタイプ
ント

説明

EV_CLASS

BYTE•

ビット 0～3: イベント ID です。

•

ビット 4～7: イベントクラスです。

EV_NUM

BYTE

イベント番号

PRIORITY

BYTE

優先度クラスの数(B#16#FE の意味: OB は使用できなくなっている、ロックされている、または現在の動作モードでは開始することはできません。)

NUM

BYTE

OB 番号

TYP2_3

BYTE

データ ID 2_3: ZI2_3 に入力された情報を識別します。

TYP1

BYTE

データ ID 1: ZI1 に入力された情報を識別します。

ZI1

WORD

追加情報 1

ZI2_3

DWORD

追加情報 2_3 です。

注記
表に記載されているストラクチャエレメントと、OB のテンポラリ変数は同じ内容を持っています。
ただし、個々の OB のテンポラリ変数は、それぞれ異なる名前と異なるデータタイプを持っていることに注意してください。それぞれの OB の呼び出しインターフェースには、OB 要求の日付と時刻の追加の情報が含まれていることも注意してください。

EV_CLASS ストラクチャエレメントのビット 4～7 には、イベントクラスがあります。以下に可能な値を示します。
•

1: 標準 OB からの起動イベントです。

•

2: 同期エラーOB からの起動イベントです。

•

3: 非同期エラーOB からの起動イベントです。

PRIORITY ストラクチャエレメントは、現在の OB に属している優先度クラスを提供します。
これらの 2 つのエレメントとは別に、NUM も意味を持ちます。NUM には、現在の OB 番号、または最後に起動された起動 OB の番号があります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
232

リファレンスマニュアル, 05/2017, A5E41733394-AA

診断用の SFC
13.2 SFC 6 "RD_SINFO"による OB 起動情報の読み取り

例
最後に呼び出されて、まだ完全に処理されていない OB は OB80 となります。最後に起動した起動
OB は OB100 となります。
次の表は、SFC 6 "RD_SINFO"のパラメータ TOP_Sl の構造体エレメントの割り付けと、OB80 のそれぞれのローカル変数を示しています。
TOP_SI

OB80

ストラクチャエレメント

データタイプローカル変数

データタイプ

EV_CLASS

BYTE

OB80_EV_CLASSBYTE

EV_NUM

BYTE

OB80_FLT_ID

BYTE

PRIORITY

BYTE

OB80_PRIORITY

BYTE

NUM

BYTE

OB80_OB_NUMBR

BYTE

TYP2_3

BYTE

OB80_RESERVED_1

BYTE

TYP1

BYTE

OB80_RESERVED_2

BYTE

ZI1

WORD

OB80_ERROR_INFO

WORD

ZI2_3

DWORD

OB80_ERR_EV_CLASS

BYTE

OB80_ERR_EV_NUM

BYTE

OB80_OB_PRIORITY

BYTE

OB80_OB_NUM

BYTE

次の表は、SFC 6 "RD_SINFO"のパラメータ START_UP_SI の構造体エレメントの割り付けと、OB100 のそれぞれのローカル変数を示しています。
START_UP_SI

OB100

ストラクチャエレメント

データタイプローカル変数

データタイプ

EV_CLASS

BYTE

OB100_EV_CLASSBYTE

EV_NUM

BYTE

OB100_STRTUPBYTEPRIORITY

BYTE

OB100_PRIORITY

BYTE

NUM

BYTE

OB100_OB_NUMBR

BYTE

TYP2_3

BYTE

OB100_RESERVED_1

BYTE

TYP1

BYTE

OB100_RESERVED_2

BYTE

ZI1

WORD

OB100_STOP

WORD

ZI2_3

DWORD

OB100_STRT_INFO

DWORD

エラー情報
SFC 6 "RD_SINFO"は、特別なエラー情報は何も提供しませんが、一般エラー情報は提供します。
一般エラーコードおよびその評価方法についての詳細は、タイトル"SFC の一般パラメータ"の項にある出力パラメータ RET_VAL でのエラーの評価にあります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

233

診断用の SFC
13.3 SFC 51 "RDSYSST"によるシステムステータスリストまたは部分リストの読み取り

13.3

SFC 51 "RDSYSST"によるシステムステータスリストまたは部分リストの読み取り

説明システムファンクション SFC 51 "RDSYSST" (システムステータスの読み取り) を使用して、システムステータスリストまたは部分システムステータスリストを読み取ります。
SFC 51 を呼び出して、値 1 を入力パラメータ REQ に割り付けて読み取りを開始します。システム
ステータスの読み取りがすぐに終了した場合、BUSY 出力パラメータに 0 が返されます。BUSY に
値 1 が返された場合、読み取りファンクションはまだ完了していません。

注記
SSL-ID W#16#00B1、W#16#00B2 または W#16#00B3 を使用して、診断割り込みで SFC 51"RDSYSST"を呼び出す場合、および診断割り込みを開始したモジュールにアクセスする場合、
直ちにシステムステータスが読み取られます。
SFC51 "RDSYSST"では、完全なデータレコードのみが転送されます。

システムリソース
複数の非同期読み取りファンクションを短い間隔で次々に起動した場合(特に入力パラメータ
SSL_ID、W#16#00B4、W#16#4C91、W#16#4092、W#16#4292、W#16#4692、W#16#00B1、
W#16#00B3 が設定されるジョブ)、オペレーティングシステムの働きにより、すべての読み取りジョブが確実に実行され、ファンクション間で影響を及ぼし合うこともありません。システムリソースの限界に達した場合、RET_VAL によってその旨が通知されます。この一時的なエラー状態は、ジョブを繰り返し行うことで解消できます。
"同時に"アクティブにできる SFC 51 ジョブの最大数は、CPU により異なります。この情報について
は、/70/ および /101/を参照してください。
注記
S7-400 CPU では、SFC 51-によって、最大 432 バイトをターゲット領域に転送できます。

パラメータ

宣言

データタイプ

メモリ領域

REQ

INPUT

BOOL

I、Q、M、D、L、 REQ=1：処理を開始します。
定数

SSL_ID

INPUT

WORD

I、Q、M、D、L、 読み取り対象のシステムステータスリスト
定数またはサブリストの SSL-ID

INDEX

INPUT

WORD

I、Q、M、D、L、 サブリストのオブジェクトのタイプまたは
定数
番号

RET_VALOUTPUT

INT

I、Q、M、D、L

BUSY

OUTPUT

SSL_HEADER OUTPUT説明

SFC の実行中にエラーが発生すると
RET_VAL パラメータにエラーコードが示
されます。

BOOL

I、Q、M、D、L

TRUE: 読み取りはまだ完了してません。

STRUCT

D、L

下記を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
234

リファレンスマニュアル, 05/2017, A5E41733394-AA

診断用の SFC
13.3 SFC 51 "RDSYSST"によるシステムステータスリストまたは部分リストの読み取り
パラメータ

宣言

データタイプ

メモリ領域

説明

DR

OUTPUT

ANY

I、Q、M、L、D

SSL リスト読み取りまたはSSL サブリスト読み取りの指定領域:•

SSL リストのヘッダ情報のみを読み取った場合、DR ではなく、
SSL_HEADER のみを評価する必要が
あります。

•

評価しない場合、LENTHDR および
N_DR の結果が DR に入力されたバイト数を示します。

SSL_HEADER
SSL_HEADER パラメータは、次のように定義されたストラクチャです。
SSL_HEADER:LENTHDR:
N_DR:
END_STRUCTSTRUCT
WORD
WORD

LENTHDR は、SSL リストまたは SSL 部分リストのデータレコードの長さです。
•

SSL リストのヘッダ情報のみを読み出した場合、N_DR には、それに属するデータレコードの数が示されます。

•

それ以外の場合、N_DR には、指定領域へ転送されたデータレコードの数が示されます。

エラー情報
エラーコード 説明(W#16#...)
0000

エラーは発生していません。

0081

結果フィールドが短すぎます。(最大限のデータレコードが提供されているにもかかわらず。
SSL ヘッダにこの数が表示されます。)

7000

REQ=0 による最初の呼び出し：データ転送がアクティブになっていません。BUSY の値は 0
です。

7001

REQ=1 による最初の呼び出し：データ転送を開始されました。BUSY の値は 1 です。

7002

中間の呼び出し (REQ は不適切)：データ転送は既にアクティブです。BUSY の値は 1 です。

8081

結果フィールドが短すぎます(1 データレコードに対する空間が不足しています)。

8082

SSL_ID の値が適切でありません。または、SSL_ID が CPU または SFC で認識されません。

8083

INDEX の値が適切でないか、許可されていません。

8085

システムに問題があるため、情報を取得できません(たとえば、リソースが不足しているため)。

8086

システムに問題があるため、データレコードを読み出せません(バス、モジュール、オペレー
ティングシステムなどの問題)。

8087

モジュールが存在していないか、確認応答がないため、データレコードを読み取りできません。

8088

実際のモジュール識別子は予想されたモジュール識別子とは異なるため、データレコードを読み取ることができません。

8089

モジュールに診断機能がない、またはデータレコードがサポートされていないため、データ
レコードを読み取ることができません。

80A2

DP プロトコルエラーです(レイヤ 2 エラー) (一時的なエラー)。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

235

診断用の SFC
13.3 SFC 51 "RDSYSST"によるシステムステータスリストまたは部分リストの読み取り

エラーコード 説明(W#16#...)
80A3

ユーザーインターフェース/ユーザーでの DP プロトコルエラー (一時的なエラー)

80A4

コミュニケーションバスでの通信異常です(CPU と外部 DP インターフェースモジュール間の
エラー)

80C5

分散 I/O が使用できません(一時的なエラー)。

80C6

優先度クラスの異常終了により(再起動またはバックグランド)、データレコードの転送が停止
しました。

80D2

モジュールに診断機能が付いていないため、データデコードを読み取りできません。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

SSL_IDs
注記
SFC 51 "RDSYSST"で読み出される部分リストについては、次を参照してください。
•
S7-300 の場合は/72/•
S7-400 の場合は、次の表。
SSL_ID (W#16#...)INDEX (W#16#...)

サブリスト
モジュール ID0111

1 つの識別データレコード
モジュールの識別子

0001

システム拡張カードの識別子

0004

基本ハードウェアの識別子

0006

基本ファームウェアの ID

0007

CPU 特性0012

すべての特性0112

1 グループの特性

0F12

対象外

MC7 処理ユニット

0000

タイムシステム0100

システム動作0200

MC7 言語記述

0300

SFC 87 と SFC 88 のアベイラビリティ

0400

SSL サブリストヘッダ情報のみ

対象外

ユーザーメモリ領域
0113

指定されているメモリ領域のデータレコード0001

ワークメモリシステム領域0014

すべてのシステム領域のデータレコード

対象外

0F14

SSL サブリストヘッダ情報のみ

対象外

ブロックタイプ
0015

すべてのブロックタイプのデータレコード

対象外

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
236

リファレンスマニュアル, 05/2017, A5E41733394-AA

診断用の SFC
13.3 SFC 51 "RDSYSST"によるシステムステータスリストまたは部分リストの読み取り
SSL_ID (W#16#...)

サブリスト

INDEX (W#16#...)

1 つのコンポーネントの ID
001C

すべてのコンポーネントの ID

011C

1 つのコンポーネントの ID

対象外

オートメーションシステムの名前

0001

モジュールの名前

0002

モジュールのシステム ID

0003

著作権の登録者

0004

モジュールのシリアル番号0005

モジュールのタイプ名

0007

メモリカードのシリアル番号0008

CPU モジュールのメーカーおよびプロファイル

0009

モジュールのロケーション名

000B

SYNC モジュール 1 のシリアル番号

000C

SYNC モジュール 2 のシリアル番号

000D

システム拡張カードのシリアル番号

000E

021C

H システムの CPU のすべてのコンポーネントの識別

ラック番号

031C

H システムのすべてのリダンダント CPU の 1 つのコンポーネン インデックス
トの識別

0F1C

SSL サブリストヘッダ情報のみ

対象外

割り込みの状態0222

示された割り込みのデータレコード

OB 番号

プロセスイメージパーティションおよび CPU の割り付け
0025

OB への全プロセスイメージパーティションの割り付け

対象外

0125

対応する OB へのプロセスイメージパーティションの割り付け

プロセスイメージパー
ティション番号0225

対応するプロセスイメージパーティションへの OB の割り付け

OB 番号

0F25

SSL サブリストのヘッダ上の情報のみ

対象外

通信ステータスデータ
0132

0232

1 通信装置のステータスデータ
診断

0005

タイムシステム0008

1 通信装置のステータスデータ
CPU 保護レベルとオペレータコントロールの設定

0004

H CPU グループ情報
0071

H システムの現在の状態に関する情報

対象外

0F71

SSL サブリストヘッダ情報のみ

対象外

モジュール LED のステータス ( すべての CPU から読めるわけではない。/102/を参照)。
0174

LED のステータス

0C75

H システムと切り替え済み DP スレーブ間の通信ステータス

LED IDH システムにある切り替え済み DP スレーブ
DP スレーブインター
フェースの診断アドレス

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA237

診断用の SFC
13.3 SFC 51 "RDSYSST"によるシステムステータスリストまたは部分リストの読み取り
SSL_ID (W#16#...)INDEX (W#16#...)

サブリスト
DP マスタシステム情報

0090

CPU に知らされる DP マスタシステム情報

0000

0190

DP マスタシステムに関する情報

DP マスタシステム ID

0F90

SSL サブリストヘッダ情報のみ

0000

モジュールステータス情報 (最大 27 個のデータレコードが提供されている)
0091

挿入されているすべてのモジュール/サブモジュールのステータス 対象外
情報

0191

タイプ ID が不正なすべての非アクティブでないモジュール/ラッ 対象外
クに関するモジュールステータス情報0291

すべての障害のある非アクティブでないモジュールのモジュール 対象外
ステータス情報0391

すべての取得不能モジュールのモジュールステータス情報

対象外

0591

ホストモジュールのすべてのサブモジュールのモジュールステータス情報

対象外

0991

DP マスタシステムのモジュールステータス情報

DP マスタシステム ID

0C91

中央コンフィグレーションのモジュール、または組み込まれている DP 通信プロセッサに接続されているモジュールに関するモジュールステータス情報

論理ベースアドレス

4C91

外部 DP 通信プロセッサに接続されているモジュールに関するモジュールステータス情報

論理ベースアドレス

0D91

指定されたラック/DP ステーション内の全モジュールに関するモジュールステータス情報(DP または PROFINET)

ラック/DP マスタシス
テム ID とステーショ
ン番号、またはステー
ション番号と PNIO
サブシステム ID の最後の 2 桁すべての割り付け済みモジュールのモジュールステータス情報

対象外

SSL サブリストヘッダ情報のみ

対象外

0E91
0F91

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
238

リファレンスマニュアル, 05/2017, A5E41733394-AA

診断用の SFC
13.3 SFC 51 "RDSYSST"によるシステムステータスリストまたは部分リストの読み取り
SSL_ID (W#16#...)

サブリスト

INDEX (W#16#...)

ラック / ステーションのステータス情報
0092

中央コンフィグレーションのラック、または DP マスタシステム 0 / DP マスタシステムのステーションに関する予想ステータス
ID

4092

外部 DP インターフェースに接続されている DP マスタシステム DP マスタシステム IDのステーションに関する予想ステータス

0192

統合済み DP インターフェースを介して接続された DP マスタ DP マスタシステム ID
システム内のステーションの有効化ステータス0292

中央コンフィグレーションのラック、または DP マスタシステム 0 / DP マスタシステムのステーションに関する現行ステータス
ID

4292

外部 DP インターフェースモジュールを介して接続された DP DP マスタシステム
マスタシステム内のステーションの現在のステータス
ID

0392

少なくとも 1 つのバッテリが故障した後の、CPU のラック/モ 0
ジュールラック内のバックアップバッテリのステータス

0492

CPU のすべてのラック/モジュールラックの全体的なバッテリ 0
バックアップステータス

0592

CPU のすべてのラック/モジュールラックへの 24-V 電源のステー 0
タス

0692

中央コンフィグレーションの増設ラック、または
0 / DP マスタシステム
組み込み DP インターフェースモジュール経由で接続された DP ID
マスタシステムのステーションに関する診断ステータス

4692

外部 DP インターフェースモジュールを介して接続されている
DP マスタシステムのステーションに関する診断ステータス

DP マスタシステム ID

ラック / ステーションのステータス情報
0094

IO コントローラシステムのセントラルラック/ステーションに 0 / PNIO サブシステム
あるラックの期待されるステータス
ID

0194

コンフィグレーションされ、停止している IO コントローラシス PNIO サブシステム ID
テムの有効化ステータス

0294

IO コントローラシステムのセントラルラック/ステーションに 0 / PNIO サブシステム
あるラックの実際のステータス
ID

0694

IO コントローラシステムのセントラルラック/ステーションに 0 / PNIO サブシステム
ある拡張ユニットの診断ステータス
ID

0794

IO コントローラシステムのセントラルラック/ステーションに 0 / PNIO サブシステム
あるラックの保守ステータス
ID

0F94

ヘッダー情報のみ-

DP マスタシステム/PROFINET IO システムに関する拡張情報
0195

DP マスタシステムに関する拡張情報

DP マスタシステム ID

0F95

SSL サブリストヘッダ情報のみ

0000

0696

指定したモジュールのすべてのサブモジュールのモジュールス I/O ID 付きアドレス
テータス情報(統合インターフェースモジュール上の PROFINETIO のみ)

0C96

セントラルモジュール/サブモジュール、または統合 PROFIBUS I/O ID 付き開始アドレ
DP インターフェースモジュール、または PROFINET インター ス
フェースモジュール(統合または外部)のモジュールステータス
情報

モジュールステータス情報、PROFINET IO および PROFIBUS DP

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA239

診断用の SFC
13.3 SFC 51 "RDSYSST"によるシステムステータスリストまたは部分リストの読み取り
SSL_ID (W#16#...)INDEX (W#16#...)

サブリスト
ツールチェンジャ情報(PROFINET IO)

009C

PROFINET IO システム内のすべてのツールチェンジャとその PROFINET IO システ
ツールについての情報
ム ID

019C

PROFINET IO システム内のすべてのツールチェンジャについて PROFINET IO システ
ム ID
の情報

029C

単一のツールチェンジャとそのツールについての情報

ツールチェンジャの論理アドレス

039C

ツールとその IO デバイスについての情報

ツールの IO デバイスの 1 つの論理アドレス

0F9C

SSL サブリストヘッダ情報のみ

対象外

診断バッファ (最大 21 個のデータレコードが 提供されている)
00A0

現在の動作モードで供給可能なすべてのエントリ

対象外

01A0

最新のエントリ。番号はインデックスで指定されている

数量

SSL サブリストヘッダ情報のみ

対象外

0FA0

モジュールの診断データ
00B1

モジュールの先頭 4 つの診断バイト (データレコード 0)00B2

1 つのモジュールのすべての診断データ (< 220 バイト、データ ラック、スロット
レコード 1) (DP モジュールではありません)

00B3

1 つのモジュールのすべての診断データ (< 220 バイト、データ 論理ベースアドレス
レコード 1)00B4DP スレーブの診断データ

論理ベースアドレス

コンフィグレーショ
ンされた診断アドレス

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
240

リファレンスマニュアル, 05/2017, A5E41733394-AA

診断用の SFC
13.4 SFC 52 "WR_USMSG"によるユーザー定義の診断イベントの診断バッファへの書き込み

13.4

SFC 52 "WR_USMSG"によるユーザー定義の診断イベントの診断
バッファへの書き込み

説明
SFC 52 "WR_USMSG" (診断バッファへのユーザー定義の書き込み) を使用して、ユーザー定義の診断イベントを診断バッファに書き込みます。また、この目的のためにログオンしたすべてのステーションに、対応する診断メッセージを送信します (入力パラメータ SEND = TRUE を設定)。
エラーが発生すると、出力パラメータ RET_VAL にエラー情報が示されます。

ユーザー定義診断メッセージの送信
SFC 52 は、診断バッファにユーザー定義の診断イベントを書き込みます。さらに、この目的のためにログオンしたステーションに、対応する診断メッセージを送信することもできます (入力パラ
メータ SEND = TRUE を設定)。この場合、ユーザー定義の診断メッセージは、まず送信バッファに書き込まれ、次にログオンしているステーションに自動的に送信されます。
ユーザー定義の診断メッセージを現段階で送信できるかどうかをチェックすることができます。
このためには、パラメータ SSL_ID = W#16#0132 および INDEX = W#16#0005 とともに SFC 51"RDSYSST" を呼び出します。取得されるデータレコードの 4 番目のワードは、現在ユーザーエレ
メントの送信が可能であるか(1)、そうでないか(0)を示します。

CPU

Statione.g. PG, OP

Send buffer
SEND=
TRUE

1 2
..

SFC52

Sending isasynchronous
to user program

Diagn. buffer..

送信バッファが一杯になった場合
送信"バッファ余裕があるうちは、診断メッセージは送信バッファにしか入力できません。送信バッ
ファに格納できるエントリ数は、CPU のタイプによって異なります。
送信バッファが一杯の場合、以下のような処理が行われます。
•

診断イベントは、診断バッファに入力されます。

•

パラメータ RET_VAL によって、送信バッファが一杯であることが示されます(RET_VAL=W#16#8092)。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

241

診断用の SFC
13.4 SFC 52 "WR_USMSG"によるユーザー定義の診断イベントの診断バッファへの書き込み

ステーションがログオンされていない場合
ユーザー定義の診断メッセージは送信可能であっても(SEND=TRUE)、ステーションがログオンされていない場合は、以下のように処理されます。
•

ユーザー定義診断イベントは、診断バッファに入力されます。

•

パラメータ RET_VAL によって、どのステーションもログオンしていないことが示されます(RET_VAL = W#16#8091 または W#16#8091。値 W#16#8091 は、旧バージョンの CPU で表示されます)。

一般的な構造診断バッファのエレメントの内部構造は次のようになっています。
バイト

内容

1 および 2

イベント ID3

優先度クラス

4OB 番号

5 および 6

予約済み

7 および 8

追加情報 1

9、10、11、12

追加情報 213 - 20

タイムスタンプ

イベント ID
各イベントにはイベント ID が割り付けられます。

追加情報
これは、イベントに関する追加情報です。追加情報は、イベントによって異なる場合があります。
診断イベントを作成する場合、これらのエントリの内容をユーザ自身で決定することができます。
ユーザー定義診断メッセージを送信する場合、追加情報を関連する値として(イベント ID 固有の)メッセージテキストに組み込むことができます。

タイムスタンプ
タイムスタンプのタイプは Date_and_Time です。
パラメータ

宣言

データタイプ

メモリ領域

説明

SEND

INPUT

BOOL

I、Q、M、D、L、 ユーザー定義診断メッセージをログオンしているすべてのステーションに送信できるよう
定数
にします。

EVENTN

INPUT

WORD

I、Q、M、D、L、 イベント ID - イベント ID を割り付けます。
これはメッセージサーバで割り付けることは定数できません。

INFO1

INPUT

ANY

I、Q、M、D、L

追加情報 1 のワード長です。

INFO2

INPUT

ANY

I、Q、M、D、L

追加情報 2 のワード長です。

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
242

リファレンスマニュアル, 05/2017, A5E41733394-AA

診断用の SFC
13.4 SFC 52 "WR_USMSG"によるユーザー定義の診断イベントの診断バッファへの書き込み

SEND
SEND = TRUE の場合、ユーザー定義診断メッセージがログオンしているステーションに送信されます。ステーションがログオンしているか、送信バッファが一杯でない場合は、メッセージのみが送信されます。エレメントは、ユーザープログラムとは非同期で送信されます。

EVENTNEVENTN パラメータには、ユーザイベントのイベント ID が含まれています。タイプ W#16#8xyz、
W#16#9xyz、W#16#Axyz、W#16#Bxyz のイベント ID を入力できます。
フォーマット W#16#8xyz および W#16#9xyz の ID は定義済みのイベントに属し、フォーマット
W#16Axyz および W#16#Bxyz の ID は自由に定義されたイベントに属しています。
状態に入るイベントは x = 1、状態を出るイベントは x = 0 によって示されます。クラス A および Bのイベントで「yz」は、メッセージコンフィグレーションにより 16 進数フォーマットでメッセージに割り付けられたメッセージ番号です。
イベント ID の構造については、セクション 26.1 で説明します。

INFO1
INFO1 パラメータには、1 ワード長の情報が含まれています。次のデータタイプは、INFO1 で使用することができます。
•

WORD

•

INT

•

ARRAY [0 ～ 1] OF CHAR

パラメータ INFO1 は関連値としてメッセージテキストに組み込むことができるため、メッセージに最新の除法を追加することができます。

INFO2
INFO2 パラメータには、2 ワード長の情報が含まれています。次のデータタイプは、INFO2 に使用することができます。
•

DWORD

•

DINT

•

REAL

•

TIME

•

ARRAY [0 ～ 3] OF CHAR

パラメータ INFO2 は関連値としてメッセージテキストに組み込むことができるため、メッセージに最新情報を追加することができます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

243

診断用の SFC
13.4 SFC 52 "WR_USMSG"によるユーザー定義の診断イベントの診断バッファへの書き込み

エラー情報
エラーコード (W#16#...) 説明
0000

エラーは発生していません。

0091

ステーションがログオンされていません(診断イベントは診断バッファに入力され
ます)。

8083

INFO1 のデータタイプは使用できません。

8084

INFO2 のデータタイプは使用できません。

8085

EVENTN は使用できません。

8086

INFO1 の長さは使用できません。
S7-300 CPU: 最大値は、追加情報 1 の長さとして取得され、診断バッファエントリが実行されます。
S7-400 CPU: 診断バッファエントリがありません。

8087

INFO2 の長さは使用できません。
S7-300 CPU: 最大値は、追加情報 2 の長さとして取得され、診断バッファエントリが実行されます。
S7-400 CPU: 診断バッファエントリがありません。

8091(このエラーコードは、旧バージョンの CPU でのみ使用されます)
ステーションがログオンされていません(診断イベントは診断バッファに入力され
ます)。

8092

送信バッファが一杯のため、現在送信できません(診断イベントは診断バッファに入力されます)。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
244

リファレンスマニュアル, 05/2017, A5E41733394-AA

診断用の SFC
13.5 SFC 78 "OB_RT"による OB プログラム RUN タイムの特定

13.5

SFC 78 "OB_RT"による OB プログラム RUN タイムの特定

説明
SFC 78 "OB_RT"を使用すれば、各種期間にわたって個々の OB の RUN タイムを特定できます。

注記
SFC 78 は、必要な OB が現在ロードされているかどうかに関わらず、その OB に対して最後に記録された時間値を返します。SFC 78 のデータは削除も上書きもされず、再起動(ウォームスタート)の後にのみリセットされます。

パラメータ
パラメータ 宣言

データタイプ

メモリ領域

意味

OB_NR

INPUT

INT

I、Q、M、D、L

最後に時間を評価した OB を問い合わせる。
有効な数値は、OB 121 および OB 122 の場合を除いて、CPUの OBコンフィグレーション内のすべての数値である。同期エラー処理時間
は、エラーを引き起こした OBの処理に必要な時間に含まれる。OB 121 および 122、またはCPU でコンフィグレーションされていない
OB を宣言すると、エラーメッセージが返される。
OB_NR=0 の場合は、SFC を呼び出した OB のデータが転送される。SFC 78 が OB 121 または OB 122 で呼び出されたときに、OB_NR=0の場合は、OB 12x の時間データを含め、割り込みをトリガしている OB のすべての時間デー
タが出力される。

RET_VALOUTPUT

INT

I、Q、M、D、L

このファンクションの処理中にエラーが発生すると、戻り値にエラーコードが示される。
さもなければ、RET_VAL に、これらのデータを要求した OS 番号が指定される。

PRIO

OUTPUT

INT

I、Q、M、D、L

PRIO に、問い合わせした OB の優先度クラスが出力される。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA245

診断用の SFC
13.5 SFC 78 "OB_RT"による OB プログラム RUN タイムの特定パラメータ 宣言

データタイプ

メモリ領域

意味

LAST_RT

DINT

I、Q、M、D、L指定された OB の前回の実行時のランタイム(ミリ秒単位)。
ランタイムの要求対象となる OB が現在処理中の場合:必要な OB の実行中に SFC 78 を初めて呼び出
すと、LAST_RT により、この OB の前回の合計実行ランタイムが出力される。
必要な OBの実行中に呼び出した 2 回目以降の各 SFC 78 では、Last_RT が以下のことを示す。

OUTPUT•

OB_NR=0 のときに、必要な OB が既に
SFC 78 を呼び出している場合は、
DW#16#FFFF FFFF を示す。

•

OB_NR=0 のときに、必要な OB が SFC
78 を呼び出していない場合は、この OBの前回の実行ランタイムを示す。

注記: 高優先度の OB による割り込み時間は、
LAST_RT には含まれません。OB ごとのオペ
レーティングシステムサービス(OB 起動情報の生成および供給、プロセスイメージの更新、プロセスイメージパーティションの更新など)
は LAST_RT に含まれます。
LAST_ETOUTPUT

DINT

I、Q、M、D、L指定された OB の呼び出しから実行終了までの時間間隔、つまり指定された OB の前回の処理完了にかかった時間(ミリ秒単位)。
ランタイムの要求対象となる OBが現在処理中の場合:必要な OB の処理中に SFC 78 を初めて呼び出
すと、LAST_ET に、指定された OB の前回の呼び出し完了からその OB の実行終了までの時間間隔が示される。
必要な OBの実行中に呼び出した 2 回目以降の各 SFC 78 では、Last_ET が以下のことを示す。
•

OB_NR=0 のときに、必要な OB が既に
SFC 78 を呼び出している場合は、
DW#16#FFFF FFFF を示す。

•

OB_NR=0 の状態で、必要な OB が SFC
78 を呼び出していない場合は、この OBの前回の呼び出し完了からこの OBの実行
終了までの時間間隔を示す。

注記: 高優先度の OB による割り込み時間は、
LAST_ET には含まれません。
CUR_T

OUTPUT

DINT

I、Q、M、D、L指定された、現在処理されている OB の OB 要
求時間(ミリ秒単位の相対時間値)。指定されたOB が現在処理中でない場合は、CUR_T = 0になる。
注記: システム時間は、0～2.147.483.647(ミリ秒単位)をカウントするカウンタです。オーバーフロー発生後は、カウンタが 0 からカウント
し直します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
246

リファレンスマニュアル, 05/2017, A5E41733394-AA

診断用の SFC
13.5 SFC 78 "OB_RT"による OB プログラム RUN タイムの特定パラメータ 宣言

データタイプ

メモリ領域

意味

CUR_RTOUTPUT

DINT

I、Q、M、D、L

CUR_ETOUTPUT

DINT

I、Q、M、D、L

NEXT_ETOUTPUT

DINT

I、Q、M、D、L指定された OB の経過実行ランタイム(ミリ秒単位)。OB が処理されない、あるいはまだ処理されていない場合は、CUR_RT=0 になる。
処理後は、ランタイムデータが LAST_RT に適用され、CUR_RT が 0 に設定される。
注記: 高優先度の OB による割り込み時間は、
CUR_RT には含まれません。呼び出された
SFC 78 が CUR_RT に含まれるまでは、OBごとのオペレーティングシステムサービスが実行されています。
指定された、現在処理中の OB が呼び出されてから経過した時間(ミリ秒単位のランタイ
ム)。指定された OB が現在処理中でない場合
は、CUR_ET = 0 になる。処理後は、ランタ
イムデータが LAST_ET に適用され、CUR_ET が 0 に設定される。
注記: 高優先度の OB による割り込み時間は、
CUR_ET に含まれます。
現在の要求が完了する前に、指定された OBの呼び出しがさらにキューに入れられた場合、
NEXT_ET は、実際の時間から、次の要求の実行時間までの経過時間(ミリ秒単位)を示す。
この OB に対して現在キューに入っている、
あるいは現在処理されている開始イベントの他に、開始イベントが存在しない場合は、
NEXT_ET = 0 になる。
WinLC RTX および S7-400-CPU は、このパラメータを使用しません。NEXT_ET はDW#16#FFFFFFFF という値を含んでいます。
注記: 高優先度の OB による割り込み時間は、
NEXT_ET には含まれません。

この時間には、同期エラー割り込み(OB 121、OB 122)のネスト処理に対応する RUN タイムも含まれます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA247

診断用の SFC
13.5 SFC 78 "OB_RT"による OB プログラム RUN タイムの特定

注記CPU 上の動的プロジェクトデータ内に存在する OB_NR で OB 番号を宣言したのに、OS が対応する
OB を呼び出していない場合や、その OB を CPU にダウンロードしていない場合、RET_VAL には指定された OB 番号が、PRIO には指定された OB のコンフィグレーション済み(必要に応じて既定)優先度が示されます。ランタイムパラメータ(CUR_RT、CUR_ET、LAST_RT、LAST_ET、
NEXT_ET)は、初期値 DW#16#FFFF FFFF を返します。
次の起動タイプまたはモードが変更されると、ランタイムパラメータは初期値に設定されます。
• 標準 CPU: ウォームリスタート、コールドリスタート、ホットリスタート•

H-CPU: ウォームリスタート、コールドリスタート、RUN(ソロ)から RUN(リダンダント)への変更、RUN(リダンダント)から RUN(ソロ)への変更

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
248

リファレンスマニュアル, 05/2017, A5E41733394-AA

診断用の SFC
13.5 SFC 78 "OB_RT"による OB プログラム RUN タイムの特定

エラー情報
イベントクラス
エラーコード説明

1 - 102

情報の転送先 OB の番号です。

W#16#8080

OB_NR パラメータには、不正な値が指定されています。

W#16#8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA249

診断用の SFC
13.6 SFC 87 "C_DIAG"による現在の接続ステータスの診断

13.6

SFC 87 "C_DIAG"による現在の接続ステータスの診断

説明
SFC 87 "C_DIAG"を使用して、すべての S7 コネクションと、すべてのフォールトトレラント型 S7
コネクション(またはその部分接続)の現在のステータスを判断できます。
これらの接続データを適切に評価することにより、S7 コネクションエラーの他、現在の S7 コネク
ションのエラーを認識して、エラーの発生時にオペレーティングシステムや表示システムにこれらのエラーを報告できるようになります。モニタされた接続は自動システム間の接続となり、加えてオペレーティングシステムとビジュアル化システムへの自動システムの接続となります。

注記
CPU の操作状態の変更、[RUN|STOP|RUN]は、コンフィグレーションされた接続の状態に影響しません。例外: H ステーションが冗長システム状態から停止システム状態に変更するときは、スタ
ンバイ CPU へのすべてのフォールトレラント接続の部分的接続は解除されます。
一方、電源異常の後、すべてのコンフィグレーションされた接続は再度確立され、接続状態に変化します。
SFC 87 が起動中、または起動後に最初に呼び出されたとき、接続情報は、CPU の最後の動作モード
が STOP または POWER OFF により異なります。

動作モード
SFC 87 "C_DIAG"は非同期 SFC 操作なので、処理は複数の SFC 呼び出しにわたって広がります。
REQ=1 で SFC 87 を呼び出してジョブを開始します。
ジョブを直ちに実行できた場合、SFC は出力パラメータ BUSY に値 0 を返します。BUSY が 1 の場合、ジョブはまだアクティブです。

SFC 87 の呼び出し時期
S7 コネクションおよび現在の S7 コネクションのエラーを認識するには、たとえばオペレーティング
システムから 10 秒ごとに起動する周期割り込み OB 内で、SFC87 を呼び出します。
接続のステータスは通常変更しないので、最後の呼び出しから変更した場合にのみこれらの周期呼び出しにより接続"データをユーザープログラムにコピーするのが適当です (MODE=B#16#02 で呼び出し、下記を参照)。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
250

リファレンスマニュアル, 05/2017, A5E41733394-AA

診断用の SFC
13.6 SFC 87 "C_DIAG"による現在の接続ステータスの診断

SFC 87 の呼び出し方法
SFC 87 "C_DIAG"には 4 つの有効な動作モードがあり、次の表で説明しています。
MODE(B#16#...)SFC は接続データをユーザープログラムにコピーしますSFC は確認応答情報をオペレーティング
システムに転送します

00

いいえ

する

01

する

する

02

•

はい、接続データは変更されました。

する•

いいえ、接続データは変更されていま
せん。

03

する

いいえ

SFC 87 の最後の呼び出し以降の接続データのステータス変更 (MODE=B#16#00、01 または 02 による) は、確認応答情報がオペレーティングシステムに転送されて確認されます。

注記"条件コピー"モード (MODE=B#16#02) の周期割り込み OB 内で SFC 87 を操作する場合、CPU の
コールドスタートの後ターゲット領域内に初期化された値が何もないことを確かめる必要があります。"確認応答による条件なしコピー"モード (MODE=B#16#01) で SFC 87 の 1 回の呼び出しにより OB 102 において確認できます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

251

診断用の SFC
13.6 SFC 87 "C_DIAG"による現在の接続ステータスの診断

パラメータ

宣言

データタイプ

メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、
定数.

MODE

INPUT

BYTE

I、Q、M、D、L、
定数.

RET_VAL
BUSY
N_CON

OUTPUT INTOUTPUT BOOLOUTPUT INT

I、Q、M、D、L
I、Q、M、D、L
I、Q、M、D、L

CON_ARROUTPUT ANY

I、Q、M、D、L

コントロールパラメータによる起動要求
起動していない場合は、REQ=1 でジョブを初期化
ジョブの名称
以下の値が返されます。
•
B#16#00: SFC は接続データをコピーしな
いで、単に確認応答情報だけをオペレー
ティングシステムに転送します。
•
B#16#01: ステータスの変更にかかわらず、SFCはすべての接続データをユーザープロ
グラムにコピーし、確認応答情報をオペ
レーティングシステムに転送します。
•
B#16#02:接続データが変更された場合、SFC はこれらをユーザープログラムにコピーします。変更されなかった場合は、コピーされません。どちらの場合も、
SFC は確認応答情報をオペレーティング
システムに転送します。
•
B#16#03: SFC は、変更ステータスと関係なく、接続データをユーザープログラムにコピーします。確認応答情報はオペレー
ティングシステムに転送されません。
戻り値 (エラーコードまたはジョブステータス)
BUSY =1: ジョブは完了していない。
.DIS_PCON または.DIS_CON 値 TRUE のある
CON_ARR 内の最後のストラクチャのインデックスです。したがって、ユーザープログラム
内では CON_ARRの最初の N_CONエレメント
のみチェックする必要があります。
注記: フィールド CON_ARR にある最初のストラクチャにインデックス 1 があります。
受信した接続データのターゲット領域です。
データタイプ BYTE のみが、許可されています。
ストラクチャは各接続に割り付けられます。
CPU の有効な接続数が最大の場合でも、すべてのストラクチャを受信できるターゲット領域のサイズを選択します。新しい CPU が古い
CPU よりも接続リソースが多い場合、CPU の交換後に特にこの点に注意してください。

ターゲット領域 CON_ARR の取りまとめ
読み取りターゲット領域はストラクチャフィールドです。ストラクチャは各接続に割り付けられます。
このフィールドには、最初から有効なエントリが指定されている必要はなく、また 2 つの有効なエン
トリの間に無効なエントリが含まれていても構いません。
接続は、接続リファレンスによってソートされません。

注記
接続データをオペレーティングシステムから選択されたターゲット領域にコピーすると、接続の日付の一貫性が確実なものになります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
252

リファレンスマニュアル, 05/2017, A5E41733394-AA

診断用の SFC
13.6 SFC 87 "C_DIAG"による現在の接続ステータスの診断

ストラクチャの取りまとめ
パラメータ

データタイプ説明

CON_ID

WORD

この接続用に NETPRO で割り付けられた接続のリファレンスです。
W#16#FFFF: 無効な名称です。このため、接続がコンフィグレー
ションされません。CON_ARR[i].DIS_PCON または
CON_ARR[i].DIS_CON (下記を参照) が設定される場合、この接続は、SFC 87 の最後の呼び出し以降再コンフィグレーションまたは削除されました。

STAT_CON

BYTE

S7 コネクションまたはリダンダント S7 コネクションの現在のステータスを示します。
以下の値が返されます。

PROD_CON

BYTE•

B#16#00: S7 コネクションが確立されていません•

B#16#10: リダンダント S7 コネクションが確立されていません•

B#16#01: S7 コネクションは現在確立されています•

B#16#11: リダンダント S7 コネクションの確立中です•

B#16#02: S7 コネクションが確立されました•

B#16#12: リダンダント S7 コネクションが確立されていますが、リダンダントモードではありません。

•

B#16#13: リダンダント S7 コネクションが確立されています

ランタイム接続の部分的な接続番号です。
有効な値: 0、1、2、3

STBY_CON

BYTE

スタンバイ接続のサブ接続番号です (B#16#FF: スタンバイ接続なし)。
有効な値: 0、1、2、3
注記: リダンダント S7 コネクションにのみスタンバイ接続があります。

DIS_PCONBOOL

最後の SFC 呼び出しが CON_ARR[i].DIS_PCON を 1 に設定して以降の、CON_ARR[i].STAT_CON の W#16#12 -> W#16#13 およびW#16#13 -> W#16#12 の遷移。他の接続ステータスの変更はすべて、
CON_ARR[i].DIS_PCON には影響しません。
ノード:•

MODE=B#16#01 および 02 の場合は、接続データがターゲット
領域にコピーされたときに、DIS_PCON に対応するオペレー
ティングシステムビットがリセットされます。

•

MODE=B#16#03 の場合は、DIS_PCON に対応するオペレー
ティングシステムビットは変わりません。

RES0

BYTE

予約済み(B#16#00)

RES1

BYTE

予約済み(B#16#00)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

253

診断用の SFC
13.7 SFC 103 "DP_TOPOL"による DP マスタシステムのバストポロジの識別

エラー情報

13.7

エラーコード(W#16#...)

説明

0000

•

MODE=B#16#00, 01 または 02: 最後の呼び出し以降、接続ステータスの変更はありません (ストラクチャエレメント STAT_CON)。呼び出しはエラーなしで実行されました。

•

MODE=B#16#03: コピー手順はエラーなしで実行されました。

0001

•

MODE=B#16#00, 01 または 02: 最後の呼び出し以降少なくとも 1 つの接続で接続ス
テータスが変更されました (ストラクチャエレメント STAT_CON)。ジョブはエラーなしで実行されました。

•

MODE=B#16#03: RET_VAL W#16#0001 は不可能です。

7000

REQ=0 での最初の呼び出し。MODE で指定されたジョブは処理できません。BUSY の値
は 0 です。

7001

REQ=1 での最初の呼び出し。MODE で指定されたジョブが初期化されました。BUSY の
値は 1 です。

7002

中間の呼び出し (REQ は不適切)。ジョブはまだ実行中です。BUSY の値は 1 です。

8080

パラメータ MODE における不正な値です。

8081

パラメータ CON_ARR における不正なデータタイプです。

8082

パラメータ CON_ARR で説明されている長さ等が小さすぎます。SFC はターゲット領域にデータを何もコピーしません。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

SFC 103 "DP_TOPOL"による DP マスタシステムのバストポロジの識別説明選択した DP マスタシステムのバストポロジの識別を開始するには、診断リピータで SFC 103"DP_TOPOL"を呼び出します。DP マスタシステムに接続されている診断リピータはすべて、SFC
103 の呼び出し時にアドレス指定されます。

注記
一度に 1 つの DP マスタシステムのトポロジしか識別できません。

トポロジの識別は、ラインエラーが発生したときにエラーの場所を詳細に表示するための必要条件となります。DP マスタシステムのインストール後や、DP マスタシステムの物理構造を変更した後には、SFC 103 を使用してトポロジを再度識別してください。
物理構造の変更としては、次のようなことが含まれます。
•

ケーブル長の変更•

ノード、またはリピータ機能を持つコンポーネントの追加/削除•

ノードアドレスの変更

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
254

リファレンスマニュアル, 05/2017, A5E41733394-AA

診断用の SFC
13.7 SFC 103 "DP_TOPOL"による DP マスタシステムのバストポロジの識別
各診断リピータは、結果(すべてのノードの PROFIBUS アドレスと、各ノードから診断リピータ
までの絶対的な距離)をトポロジテーブルに入力します。これらの値は、STEP 7 で読み取ることができます。
SFC 103 は、OB1 またはウォッチドッグ割り込み OB で呼び出すことをお勧めします。S7-300 の場合は、どの起動 OB でもこれを呼び出すことはできません。
SFC が実行されている間、診断リピータから返されたエラーメッセージが、SFC により出力 DPRと DPRI に書き込まれます。選択した DP マスタシステム内で複数の診断リピータがエラーを報告した場合は、最初にエラーメッセージを生成した診断リピータに関する DPR および DPRI 情報のみが入力されます。詳細な診断情報を見るには、SFC 13 "DPNRM_DG"または STEP 7 を呼び出します。
診断リピータが何のエラーも報告しなかった場合は、出力 DPR および DPRI の値が NULL になります。
エラーが生じた後、他のトポロジの決定をトリガしたい場合は、まず SFC103 をリセットする必要があります。それには、REQ=0 および R=1 でこの SFC を呼び出します。

動作方式
SFC 103 "DP_TOPOL"は非同期で動作するため、実行には複数の SFC 呼び出しが必要になります。
DP バストポロジの識別を開始するには REQ = 1 で SFC 103 を呼び出し、処理を中止するには R=1
で SFC 103 を呼び出します。
ジョブステータスは出力パラメータ RET_VAL および BUSY で示されます。(関連項目: 非同期 SFCのパラメータ REQ、RET_VAL、BUSY の意味.

注記
トポロジの識別には、数分かかる場合があります。

ジョブの識別入力パラメータ DP_ID によって、要求が決定されます。
トポロジの識別が完了する前に SFC 103 "DP_TOPOL"を再度呼び出した場合の SFC の応答は、新しい要求が前の要求と同じかどうかによって異なります。パラメータ DP_ID が、まだ完了していないジョブに対応している場合、
この SFC の呼び出しは呼び出しシーケンスの一部として解釈され、
値 W#16#7002 が RET_VAL に入力されます。ただし、これが新規のジョブの場合は、CPU により拒否されます。
パラメータ 宣言

データ
タイプ

メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、定数 REQ=1: バストポロジの識別を開始します。

R

INPUT

BOOL

I、Q、M、D、L、定数 R=1: トポロジの識別を中止します。

DP_ID

INPUT

INT

RET_VALOUTPUT INT

I、Q、M、D、L

ファンクションの処理中にエラーが発生した場合
は、戻り値にエラーコードが含まれます。

BUSY

OUTPUT BOOL

I、Q、M、D、L

BUSY=1: バストポロジの識別がまだビジー状態です。

DPR

OUTPUT BYTE

I、Q、M、D、L

エラーメッセージを生成した診断リピータのPROFIBUS アドレスです。

I、Q、M、D、L、定数 トポロジが識別されるDPマスタシステムのIDです。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

255

診断用の SFC
13.7 SFC 103 "DP_TOPOL"による DP マスタシステムのバストポロジの識別パラメータ 宣言
DPRI

データ
タイプ

OUTPUT BYTE

メモリ領域

説明

I、Q、M、D、L

エラーメッセージを生成した診断リピータの測定
セグメントです。
•

ビット 0 = 1: セグメント DP2 の一時的な破損•

ビット 1 = 1: セグメント DP2 の永続的な破損•

ビット 4 = 1: セグメント DP3 の一時的な破損•

ビット 5 = 1: セグメント DP3 の永続的な破損

永続的なエラー: トポロジを識別できなくする永続的なネットワークエラーをシステムが検出しています。
詳細情報を表示するには、SFC 13 "DPNRM_DG"または STEP 7 を使用して診断情報をフェッチします。
一時的なエラー: トポロジを識別できなくする一時的なネットワークエラーをシステムが検出しています。
この原因としては、接点の不良や繰り返し発生するエラーなどが考えられます。これらの破損が発生した
場合は本質的に、エラーの発生源を正確に突き止めることができません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
256

リファレンスマニュアル, 05/2017, A5E41733394-AA

診断用の SFC
13.7 SFC 103 "DP_TOPOL"による DP マスタシステムのバストポロジの識別

エラー情報
次の表に示す"実際の"エラー情報(エラーコード W#16#8xyz)では、次の 2 種類のイベントを区別しています。
•

一時的なエラー(エラーコード W#16#80A2～80A4、80C3、80C5)
この種のエラーは、ユーザーの操作を必要とせずに解消することができます。この場合は、同じ
SFC を再度呼び出す(必要に応じて、複数回呼び出す)ことが有効です。
一時的エラーの例: 必要なリソースが現在使用中である(W#16#80C3)•

永続的なエラー(エラーコード W#16#8082、80B0、80B2)
この種のエラーは、自動的には訂正されません。エラーを解消してからでないと、同じ SFC を再度呼び出しても意味がありません。永続的エラーの例: DP マスタ/CPU が当該サービスをサポートしていない。(W#16#80B0).

エラーコード(W#16#...)

説明

0000

ジョブは正常に完了しました。

7000

REQ=0 での最初の呼び出し。バストポロジの識別は開始していません。BUSY = 0

7001

REQ=1 での最初の呼び出し。バストポロジの識別が要求されました。BUSY = 1

7002

中間の呼び出し(REQ が不適切)。トポロジの識別はまだビジー状態です。BUSY = 1

7010

トポロジの識別をキャンセルするよう要求しています。ただし、指定された DP_ID と一致するビジー状態のジョブはありません。BUSY = 07011

R=1 での最初の呼び出し。トポロジの識別をキャンセルする要求が開始されました。BUSY
=1

7012

中間の呼び出し。トポロジの識別がまだ完了していません。BUSY = 1

7013

最後の呼び出し。トポロジの識別がキャンセルされました。BUSY = 08082

指定された DP_ID でコンフィグレーションされた DP マスタシステムがありません。

80A2

トポロジの識別中のエラーです。詳細については、出力パラメータ DPR および DPRI を参照
してください。

80A3

トポロジの識別中のエラー。ウォッチドッグがタイムアウトになりました。

80A4

am K バスの接続エラーです。

80B0

DP マスタ/CPU がこのサービスをサポートしていません。

80B2

トポロジの識別中のエラー。選択した DP マスタシステムには診断リピータがありません。

80C3

必要なリソースが現在使用中です。考えられる原因: 2 回目のトポロジ識別サイクルを開始したか(一度に 1 つのトポロジ識別サイクルしか実行できません)、H CPU が接続または更新
アクションを実行中です。

80C5

DP マスタシステムは現在使用できません。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA257

診断用の SFC
13.7 SFC 103 "DP_TOPOL"による DP マスタシステムのバストポロジの識別S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
258

リファレンスマニュアル, 05/2017, A5E41733394-AA

14

プロセスイメージ更新とビットフィールド処理のための SFC と SFB

14.1

SFC 26 "UPDAT_PI"によるプロセスイメージ入力テーブルの更新

説明
SFC 26 "UPDAT_PI" (プロセスイメージの更新) を使用して、OB1 プロセスイメージ入力テーブル(=プロセスイメージセクション 0)、または STEP 7 で定義されたプロセスイメージ入力セクションを更新します。
システムのプロセスイメージテーブルの更新用に I/O アクセスエラーの繰り返される信号送信をコンフィグレーションする場合、選択されたプロセスイメージテーブルは SFC 26 を使用してコンスタントに更新されます。
そうでない場合、選択されたプロセスイメージセクションがシステムによって更新されないと SFC
26 はプロセスイメージテーブルのみを更新します。つまり、次のような場合です。
•

プロセスイメージセクションを割り込み OB に割り付け済みの場合•コンフィグレーションのときに、プロセスイメージセクション 0 を選択し、OB1 プロセスイメー
ジセクションの更新を無効にした場合

注記
STEP 7 で入力プロセスイメージパーティションに割り付ける各論理アドレスは、OB 1 のプロセス
イメージ入力テーブルには属しません。
SFC 26 で入力プロセスイメージパーティションを更新する場合は、同様に SFC 126 "SYNC_PI"
を使用して入力プロセスイメージパーティションを更新することはできません。

割り込み OB に割り付けた OB1 プロセスイメージ入力テーブルとプロセスイメージ入力セクションの更新は、SFC 26 の呼び出しには影響しません。
パラメータ 宣言

データタイプ メモリ領域

説明

PART

INPUT

BYTE

I、Q、M、D、L、 更新対象のプロセスイメージ入力セクションの定数番号です。最大の値の範囲 (CPU により異なる):
0～15 (0 は OB1 プロセスイメージを意味する、n が 1 <n < 15 の場合、プロセスイメージセク
ション n を意味する)

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

FLADDROUTPUT

WORD

I、Q、M、D、L

アクセスエラーが発生した場合、エラーの原因となった先頭バイトのアドレスです。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

259

プロセスイメージ更新とビットフィールド処理のための SFC と SFB
14.1 SFC 26 "UPDAT_PI"によるプロセスイメージ入力テーブルの更新

エラー情報
エラーコード (W#16#...)

説明

0000

エラーは発生していません。

8090

入力パラメータ PART の値が不正です。

8091

指定したプロセスイメージセクションが定義されていないか、プロセスイ
メージテーブルが CPU で許容されている範囲内にありません。

8092

プロセスイメージセクションは、OBを使ってシステムで更新され、すべてのI/O アクセスエラーの通知を繰り返し行うようにコンフィグレーションすることはできません。
プロセスイメージは、SFC 26 "UPDAT_PI"で更新されませんでした。

80A0

更新中にアクセスエラーが検出されました。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

注記
一貫性領域を 32 バイトよりも大きく定義した DP 標準スレーブのプロセスイメージパーティションに SFC 26 "UPDAT_PI"を使用すると、SFC 14 "DPRD_DAT"からエラーコードが返される可能性もあります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
260

リファレンスマニュアル, 05/2017, A5E41733394-AA

プロセスイメージ更新とビットフィールド処理のための SFC と SFB
14.2 SFC 27 "UPDAT_PO"によるプロセスイメージ出力テーブルの更新

14.2

SFC 27 "UPDAT_PO"によるプロセスイメージ出力テーブルの更新

説明
SFC 27 "UPDAT_PO" (プロセス出力の更新) を使用して、OB1 プロセスイメージ出力テーブル (=プロセスイメージセクション 0) または STEP 7 で出力モジュールに定義したプロセスイメージセク
ションの信号状態を転送します。
部分プロセスイメージの一貫性範囲を指定した場合、対応するデータはそれぞれの周辺モジュールに一貫性を転送します。
注記
STEP 7 で出力プロセスイメージパーティションに割り付ける各論理アドレスは、OB 1 のプロセス
イメージ出力テーブルには属しません。
SFC 27 で出力プロセスイメージパーティションを更新する場合は、同様に SFC 127 "SYNC_PO"
を使用して出力プロセスイメージパーティションを更新することはできません。
割り込み OB に割り付けた OB1 プロセスイメージ出力テーブルとプロセスイメージ出力セクションの転送は、SFC 27 の呼び出しには影響しません。
パラメータ 宣言

データタイプ

メモリ領域

説明

PART

INPUT

BYTE

I、Q、M、D、L、
定数

更新対象のプロセスイメージ出力セクションの番号です。最大の値の範囲 (CPU により異なる): 0～15(0 は OB1 プロセスイメージを意味する、n が
1 < n < 15 の場合、プロセスイメージセクショ
ン n を意味する)

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

FLADDROUTPUT

WORD

I、Q、M、D、L

アクセスエラーが発生した場合、エラーの原因となった先頭バイトのアドレスです。

エラー情報
エラーコード (W#16#...)

説明

0000

エラーは発生していません。

8090

入力パラメータ PART の値が不正です。

8091

指定したプロセスイメージセクションが定義されていないか、
プロセスイメージが CPU で許容された範囲内にありません。

80A0

更新中にアクセスエラーが検出されました。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

注記
一貫性領域を 32 バイトよりも大きく定義した DP 標準スレーブのプロセスイメージパーティションに SFC 27 "UPDAT_PO"を使用すると、SFC 15 "DPWR_DAT"からエラーコードが返される可能性もあります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

261

プロセスイメージ更新とビットフィールド処理のための SFC と SFB
14.3 SFC 126 "SYNC_PI"による同期サイクルでのプロセスイメージパーティション入力テーブルの更新

14.3

SFC 126 "SYNC_PI"による同期サイクルでのプロセスイメージパー
ティション入力テーブルの更新

説明
SFC126 "SYNC_PI"を使用すれば、同期サイクルで、プロセスイメージパーティション入力テーブルを更新できます。DP サイクルまたは PN とリンクされているユーザープログラムで、この SFC を使用すれば、プロセスイメージパーティションに配置されている入力データを一貫して同期形式で更新できます。
OB 61、62、63、および 64 では、SFC 126 に割り込むことができます。また、SFC 126 を呼び出すことができるのは、OB 61、62、63、および 64 だけです。

注記
OB 61～64 で SFC 126 "SYNC_PI"を呼び出すことができるのは、HW Config で、対象となっている
プロセスイメージパーティションを関連 OB に割り付けている場合に限ります。SFC 126 を使用してプロセスイメージパーティション入力テーブルを更新する場合、同様に SFC 26 "UPDAT_PI"を使用
してこのテーブルを更新することはできません。

パラメータ
パラメータ

宣言

データ
タイプ

値の範囲

デフォルト

意味

PART

INPUT

BYTE

1 - 30

RET_VALOUTPUT

INT

エラー情報

FLADDROUTPUT

WORD

アクセスエラーが発生した
場合、エラーの原因となった先頭バイトのアドレス

同期サイクルで更新される
プロセスイメージパーティ
ション入力テーブルの番号

エラー情報
イベントクラス 説明
エラーコードW#16#0001

一貫性の警告です。プロセスイメージパーティションの更新が、2 つの DP または PN サイ
クルにわたって分散しています。ただし、スレーブまたは IO デバイス内のデータは、一貫性をもって転送されます。

W#16#8090

パラメータ PART の値が不正です。または、この OB では、指定のプロセスイメージパー
ティション入力テーブルの更新は許可されていません。プロセスイメージパーティション
入力テーブルが更新されませんでした。

W#16#8091

指定したプロセスイメージパーティションがまだ定義されていません。または、指定したプロセスイメージパーティションが、CPU上のアクセス可能なプロセスイメージ領域に配置されていません。プロセスイメージパーティション入力テーブルが更新されませんでした。

W#16#80A0

更新中にアクセスエラーが検出されました。対象となっている入力が"0"に設定されました。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
262

リファレンスマニュアル, 05/2017, A5E41733394-AA

プロセスイメージ更新とビットフィールド処理のための SFC と SFB
14.3 SFC 126 "SYNC_PI"による同期サイクルでのプロセスイメージパーティション入力テーブルの更新
イベントクラス 説明
エラーコードW#16#80A1

更新時間が、許可されているアクセス時間帯の後になっています。入力のプロセスイメー
ジパーティションテーブルが更新されませんでした。
DP または PNサイクルが短すぎるため、SFC の実行に十分な時間を確保できません。したがって、STEP 7 で、TDP(別名 T_DC)、Ti、To の時間を増やす必要があります。

W#16#80A2

一貫性の警告によるアクセスエラー
指定した入力のプロセスイメージパーティションの更新中にアクセスエラーが検出され、同時に一貫性の警告が発行されました。
•

不良な入力のデータは IOから読み込まれませんでした。影響のあった入力は、入力のプロセスイメージパーティションでゼロに設定されました。

•

アクセスエラーの影響を受けていない入力データの更新は、2 つの DP または PN サイ
クルに分かれて行われました。

W#16#80C1

更新時間が、許可されているアクセス時間帯の前になっています。プロセスイメージパー
ティション入力テーブルが更新されませんでした。

W#16#8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

注記
一貫性領域を 32 バイトよりも大きく定義した DP 標準スレーブのプロセスイメージパーティションに SFC 126 "SYNC_PI"を使用すると、SFC 14 "DPRD_DAT"からエラーコードが返される可能性もあります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

263

プロセスイメージ更新とビットフィールド処理のための SFC と SFB
14.4 127 "SYNC_PO"による同期サイクルでのプロセスイメージパーティションの更新

14.4

127 "SYNC_PO"による同期サイクルでのプロセスイメージパーティ
ションの更新説明
127 SFC127 "SYNC_PO"を使用すれば、同期サイクルで、プロセスイメージパーティション出力
テーブルを更新できます。DP サイクルまたは PN 送信クロックとリンクされているユーザープログ
ラムでは、この SFC を使用すれば、プロセスイメージパーティションに配置されている出力データを同期形式で更新し、一貫して I/O 装置に転送できます。
OB 61、62、63、および 64 では、SFC 127 に割り込むことができます。また、SFC 127 を呼び出すことができるのは、OB 61、62、63、および 64 だけです。
SFC 127 を確実に実行するには、次の条件を満たしていなければなりません(S7-400 のみ)。
•

DP クロックサイクル > 約 5.0 ミリ秒•

スレーブ更新時間 < DP クロックサイクル − 4.0 ミリ秒

注記
OB 61～64 で SFC 127 "SYNC_PO"を呼び出すことができるのは、HW Config で、対象となっている
プロセスイメージパーティションを関連 OB に割り付けている場合に限ります。SFC 127 を使用してプロセスイメージパーティションを更新する場合、同様に SFC 27 "UPDAT_PO"を使用してこのプロセスイメージパーティションを更新することはできません。

パラメータ
パラメータ

宣言

データ
タイプ

値の範囲

デフォルト

意味

PART

INPUT

BYTE

1 - 30

RET_VALOUTPUT

INT

このファンクションの処理中にエラーが発生すると、戻り値にエラーコードが示される。

FLADDROUTPUT

WORD

エラーの原因となった先頭バ
イトのアドレス。

同期サイクルで更新されるプ
ロセスイメージパーティショ
ン出力テーブルの番号S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
264

リファレンスマニュアル, 05/2017, A5E41733394-AA

プロセスイメージ更新とビットフィールド処理のための SFC と SFB
14.4 127 "SYNC_PO"による同期サイクルでのプロセスイメージパーティションの更新

エラー情報
イベントクラス 説明
エラーコードW#16#0001

一貫性の警告です。プロセスイメージパーティションの更新が、2 つの DP または PN サイ
クルにわたって分散しています。ただし、スレーブまたは IO デバイス内のデータは、一貫性をもって転送されます。

W#16#8090

パラメータ PART の値が不正です。または、この OB では、指定のプロセスイメージパー
ティション出力テーブルの更新は許可されていません。出力が、I/O 装置に転送されませんでした。プロセスイメージパーティション出力テーブルが更新されませんでした。

W#16#8091

指定したプロセスイメージパーティションがまだ定義されていません。または、指定したプロセスイメージパーティションが、CPU 上のアクセス可能なプロセスイメージ領域に配置されていません。出力が、I/O 装置に転送されませんでした。プロセスイメージパー
ティション出力テーブルが更新されませんでした。

W#16#80A0

指定したプロセスイメージ出力パーティションの更新中にアクセスエラーが検出されました。不良な出力は、I/O に転送されませんでした。これらの出力は、プロセスイメージ
出力パーティション上で変化しません。

W#16#80A1

一貫性の警告によるアクセスエラー
指定したプロセスイメージ出力パーティションの更新中にアクセスエラーが検出され、同時に一貫性の警告が発行されました。
•

不良な出力のデータは、I/O に転送されませんでした。影響のあった出力は、プロセス
イメージ出力パーティション上で変化しません。

•

アクセスエラーの影響を受けていない出力データの更新は、2 つの DP サイクルに分かれて行われました。

W#16#80A2

アクセスウィンドウの許可後に更新時間があります。または、DP マスタにより出力データが更新されませんでした。出力が、I/O 装置に転送されませんでした。プロセスイメージ
パーティション出力テーブルが更新されませんでした。

W#16#80C1

更新時間が、許可されているアクセス時間帯の前になっています。出力が、I/O 装置に転送されませんでした。プロセスイメージパーティション出力テーブルは変わりません。

W#16#8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

注記
一貫性領域を 32 バイトよりも大きく定義した DP 標準スレーブのプロセスイメージパーティションに
SFC 127 "SYNC_PO"を使用すると、SFC 15 "DPWR_DAT"からエラーコードが返される可能性もあります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

265

プロセスイメージ更新とビットフィールド処理のための SFC と SFB
14.5 SFC 79 "SET"による I/O 領域のビットフィールドの設定

14.5

SFC 79 "SET"による I/O 領域のビットフィールドの設定

説明
SFC 79 "SET" (出力範囲の設定) を呼び出すと次の結果となります。
•

パラメータ N と SA で選択したペリフェラル I/O 領域のビットフィールドが設定されます。

•

プロセスイメージ出力の対応するビットも、それらがプロセスイメージセクションにあるかどうかに関係なく設定されます。

ビットフィールドは、プロセスイメージに割り付けられたペリフェラル I/O 領域の一部に属していなければなりません。
選択されたビットフィールドの部分にモジュールが何もプラグインされていない場合、SFC 79 は
ビットフィールド全体を設定します。その後、対応するエラー情報を RET_VAL に返します。

注記
SFC 79 を実行すると、すべてのバイトが常に I/O 領域に書き込まれます。

パラメータ N とパラメータ SA で選択されたビットフィールドが開始しない、またはバイトの境界線
で終わらない場合、SFC 79 を呼び出して次の結果とします。
•

ペリフェラル I/O 領域に転送される先頭バイトおよび最終バイトの中のビットで、選択したビットフィールドに含まれないものは、プロセスイメージ出力内の対応するビットの値となります。
これにより、モータの始動や冷却システムのオフなど、意図しない動作が発生する場合があります。

•

選択したビットフィールドに属するビットは、上記に説明したように設定されます。

N パラメータに値 0 を割り付けると、SFC 79 の呼び出しは実行されません。マスタコントロールのリレーが設定されていないと、SFC 79 の呼び出しは実行されません。
パラメータ

宣言

データタイプ

メモリ領域

説明

N

INPUT

INT

I、Q、M、D、L、定数設定されるビット数です。

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

SA

OUTPUT

POINTERP

設定する先頭ビットを指す
ポインタです。

エラー情報
パラメータ RET_VAL のエラー情報の評価方法については、出力パラメータ RET_VAL によるエラーの評価で説明しています。この章には、SFC の一般エラー情報も載っています。SFC 79 は、
RET_VAL パラメータの特定エラー情報は提供していません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
266

リファレンスマニュアル, 05/2017, A5E41733394-AA

プロセスイメージ更新とビットフィールド処理のための SFC と SFB
14.6 SFC 80 "RSET"による I/O 領域のビットフィールドのリセット

14.6

SFC 80 "RSET"による I/O 領域のビットフィールドのリセット

説明
SFC 80 "RSET" (出力範囲のリセット) を呼び出すと次の結果となります。
•

パラメータ Nと SAで選択したペリフェラル I/O 領域内のビットフィールドが再設定されます。

•

プロセスイメージ出力の対応するビットが、プロセスイメージセクションにあるかどうかに関係なく再設定されます。

ビットフィールドは、プロセスイメージが割り付けられているペリフェラル I/O 領域の一部分になけ
ればなりません。
選択されたビットフィールドの部分にモジュールが何もプラグインされていない場合、SFC 80 はビットフィールド全体をリセットします。その後、対応するエラー情報を RET_VAL に返します。

注記
SFC 80 を実行すると、すべてのバイトがペリフェラル I/O 領域に書き込まれます。

パラメータ N とパラメータ SA で選択されたビットフィールドが開始しない、またはバイトの境界線
で終わらない場合、SFC 80 を呼び出して次の結果とします。
•

ペリフェラル I/O 領域に転送される先頭バイトおよび最終バイトの中のビットで、選択したビッ
トフィールドに含まれないものは、プロセスイメージ出力内の対応するビットの値となります。
これにより、モータの始動や冷却システムのオフなど、意図しない動作が発生する場合があります。

•

選択したビットフィールドに属するビットは、上記に説明したように設定されます。

N パラメータに値 0 を割り付けると、SFC 80 の呼び出しは実行されません。マスタコントロールのリレーが設定されていないと、SFC 80 の呼び出しは実行されません。
パラメータ

宣言

データタイプ

メモリ領域

説明

N

INPUT

INT

I、Q、M、D、L、定数

リセットするビット数です。

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

SA

OUTPUT

POINTERP

リセットする先頭ビットを指すポイ
ンタです。

エラー情報
パラメータ RET_VAL のエラー情報の評価方法については、出力パラメータ RET_VAL によるエラーの評価で説明しています。この章には、SFC の一般エラー情報も載っています。SFC 80 は、
RET_VAL パラメータの特定エラー情報は提供していません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

267

プロセスイメージ更新とビットフィールド処理のための SFC と SFB
14.7 SFB 32 "DRUM"によるシーケンサの装備

14.7

SFB 32 "DRUM"によるシーケンサの装備

説明
SFB 32 "DRUM"は最大で 16 ステップのシーケンサを装備します。先頭ステップの番号は DSP パラ
メータで指定し、最終ステップの番号は LST_STEP パラメータで指定します。
各ステップの実行中には、OUT0～OUT15 の 16 の出力ビットすべてと出力パラメータ
OUT_WORD(出力ビットは 1 つにまとめられる)が書き込まれます。出力ビットには、指定した
OUT_VAL 配列の対応するビットのいずれかが割り付けられるか、前のステップの対応する出力ビットが割り付けられます。割り付けられる値は、S_MASK パラメータにマスクビットをどのように設定するかで異なります(次の表を参照)。

注記
マスクビットの既定の設定は 0 です。1 つまたは複数のマスクビットの現在の設定を変更するには、インスタンス DB でこの変更を行ってください。

前の SFB 呼び出しと比較された JOG 入力の信号立ち上がりで、SFB 32 "DRUM"は次のステップへの切り替えを行います。SFB が既に最終ステップに達していた場合、JOG の信号立ち上がりで変数 Qと EDO が設定されます。DCC の値は 0 となります。
SFB は、RESET 入力に 1 が設定されるまで、最終ステップにとどまります。これを行うには、
DRUM_EN パラメータを 1 に設定する必要があります。以下の場合に、シーケンサが次のステップに切り替わります。
•

イベントビット EVENT が現在のステップに設定された場合。

•

現在のステップに対してプログラムされた時間が経過した場合。
この時間は、DTBP 時間基準と、現在のステップに対して有効な時間係数(S_PRESET 配列からの)の積となります。

注記
対応するイベントビット EVENT が設定されると、現在のステップに残っている実行時間 (DCC)だけが減少します。

SFB を呼び出す際に RESET 入力を 1 に設定すると、シーケンサは、DSP 入力に割り付けたステップに移行します。
注記
DRUM_EN に値 1 を設定すると、以下のような特殊な状況を実現できます。
•

DSP < i < LST_STEP の場合の有効化。

EVENT = 1 を選択して行う、完全に時間依存のステップ•

DTBP に 0 を設定して行う、イベントビット EVENT を使用する、完全にイベント依存のステップの有効化。

さらに、JOG 入力を使用すれば、いつでも(DRUM_EN=1 の場合でも)シーケンサの次のステップへ
移行することができます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
268

リファレンスマニュアル, 05/2017, A5E41733394-AA

プロセスイメージ更新とビットフィールド処理のための SFC と SFB
14.7 SFB 32 "DRUM"によるシーケンサの装備
ブロックが初めて呼び出された場合、RESET 入力で 1 を設定しなければなりません。
シーケンサが最終ステップに位置し(DSC の値は LST_STEP)、このステップの実行時間が終了した
場合、出力 Q と EOD が設定され、SFB は、RESET 入力が 1 に設定されるまで、最終ステップにとどまります。
DRUM タイマは、STARTUP および RUN モードでのみ動作します。
オペレーティングシステムが SFB 32 "DRUM"をリセットするのは、ウォームリスタートの間ではなく、コールドリスタートの間です。
ウォームリスタートの後で SFB 32 "DRUM"を初期化する場合、OB100 で RESET = 1 を使用して SFB 32 "DRUM"を呼び出します。
パラメータ

宣言

データタイプ メモリ領域

説明

RESET

INPUT

BOOL

I、Q、M、D、L、定数

信号レベルを 1 にすると、シーケンサがリセットされます。ブロックを初めて呼び出す場合、RESET を 1 に設定する必要があります。

JOG

INPUT

BOOL

I、Q、M、D、L、定数

シーケンサが最終ステップにまだ到達していない場合、信号立ち上がり (最後のSFB 呼び出しとの比較)によって、シーケ
ンサが次のステップに切り替えられます。
次のステップがオンになるかどうかは、
DRUM_EN に割り付けた値によって決まります。

DRUM_EN

INPUT

BOOL

I、Q、M、D、L、定数

時間による次のステップへの切り替えを可能にするかどうかを指定するための制御パラメータです(1：時間による切り替えが可能)。

LST_STEP

INPUT

BYTE

I、Q、M、D、L、定数

最後のステップの番号です。
可能な値: 1～16

EVENT,
1 < i < 16

INPUT

BOOL

I、Q、M、D、L、定数

イベントビット番号 i (ステップ i に属する)

OUTj,0< j < 15OUTPUT BOOL

I、Q、M、D、L

出力ビット番号 j (OUT_WORD のビット
番号 j と同じ)Q

OUTPUT BOOL

I、Q、M、D、L

最終ステップに対して選択した時間が経過したかどうかを示すステータスパラメー
タです。

OUT_WORD OUTPUT WORD

I、Q、M、D、L、P

1 つの変数にまとめられた出力ビットです。

ERR_CODEOUTPUT WORD

I、Q、M、D、L、P

SFB の実行中にエラーが発生すると、
ERR_CODE にエラー情報が示されます。

JOG_HISVAR

BOOL

I、Q、M、D、L、定数(ユーザには関係ありません。前回のSFB 呼び出しの JOG 入力パラメータ)

EOD

VAR

BOOL

I、Q、M、D、L、定数

出力パラメータ Q と同じです。

DSP

VAR

BYTE

I、Q、M、D、L、P、定数 最初のステップの番号です。
可能な値: 1～16

DSC

VAR

BYTE

I、Q、M、D、L、P、定数 現在のステップの番号です。

DCC

VAR

DWORD

I、Q、M、D、L、P、定数 現在のステップの実行時間の残りを ms
単位で示します(DRUM_EN=1 で対応する
イベントビットが=1 の場合にのみ関係あります)。

DTBP

VAR

WORD

I、Q、M、D、L、P、定数 すべてのステップに対して有効な、ms
単位の時間基準です。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

269

プロセスイメージ更新とビットフィールド処理のための SFC と SFB
14.7 SFB 32 "DRUM"によるシーケンサの装備
パラメータ

宣言

データタイプ メモリ領域

説明

PREV_TIME

VAR

DWORD

I、Q、M、D、L、定数(ユーザには関係ありません。前回のSFB 呼び出しのシステム時間 l)

S_PRESETVAR

WORD のARRAY

I、Q、M、D、L、定数

ステップごとの時間係数が指定された一次元アレイです。インデックスの妥当な選択は次のとおりです。[1～16]。この場合、S_PRESET [x] はステップ x の時間要因です。

OUT_VAL

VAR

BOOL のARRAY

I、Q、M、D、L、定数

S_MASK でマスクアウトされていない場
合に、各ステップで値を出力する 2 次元
アレイ。インデックスの妥当な選択は次のとおりです。[1～16、0～15] この場
合、OUT_VAL [x, y]の値は、ステップ x
で出力ビット OUTy に割り付けられた値です。

S_MASK

VAR

BOOL のARRAY

I、Q、M、D、L、定数

ステップごとのマスクビットが指定されている 2 次元配列。インデックスの妥当な選択は次のとおりです。[1～16、0～15]。この場合、S_MASK [x, y]には、ス
テップ x で出力される y 番目の値のマスクビットが含まれています。
マスクビットの意味:•▪
0: 前のステップの値が、対応する出力ビットに割り付けられます。

•▪
1: OUT_VAL からの対応する値が、対応する出力ビットに割り付け
られます。

エラー情報
次の表に記載された状態の 1 つが発生した場合、SFB 32 "DRUM"は現在のステータスのままで、
ERR_CODE 出力がセットされます。
ERR_CODE (W#16#...)

説明

0000

エラーは発生していません。

8081

LST_STEP の値が不正です。

8082

DSC の値が不正です。

8083

DSP の値が不正です。

8084

積 DCC = DTBP * S_PRESET[DSC]が値 2**32-1 を超えている(約 24.86 日)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
270

リファレンスマニュアル, 05/2017, A5E41733394-AA

15

モジュールのアドレス指定を行うシステムファンク
ション

15.1

SFC 5 "GADR_LGC"によるモジュールの論理ベースアドレスの問い
合わせ説明
シグナルモジュールのチャンネルをもとに、対応するモジュールスロットと、モジュールのオフ
セットユーザデータアドレス領域が識別されます。SFC 5 "GARD_LGC" (地理的アドレスを論理アドレスに変換) を使用して、モジュールの対応する論理アドレスを獲得します。すなわち、最下位の入力アドレスまたは出力アドレス。
SFC 5 を、パワーモジュール、またはパックされたアドレス(ET 200S)をもつモジュールで使用すると、診断アドレスが返されます。
パラメータ

宣言

データタイプ メモリ領域

SUBNETID

INPUT

BYTE

説明

I、Q、M、D、L、 領域識別子は以下のようになります。
定数•0。スロットがラック 0 ( 基本ラック)または

ラック 1 ～ 21 (増設ラック)の 1 つにある場合

RACK

INPUT

WORD

•

スロットがリモート I/O 装置に挿入されている
場合、対応するリモート I/O システムの DP
マスタシステム ID となります。

I、Q、M、D、L、 •定数•

領域識別子が 0 の場合は、ラックの番号です。
領域識別子が 0 より大きい場合は、分散 I/O装置のステーション番号です。

SLOT

INPUT

WORD

I、Q、M、D、L、 スロット番号
定数

SUBSLOT

INPUT

BYTE

I、Q、M、D、L、 モジュールのスロットです(サブモジュールが接続
定数
されていない場合は、ここに 0 を指定する必要があります)。

SUBADDR

INPUT

WORD

I、Q、M、D、L、 モジュールのユーザーデータアドレス領域内の定数オフセットです。

RET_VALOUTPUT INT

I、Q、M、D、L

エラー情報

IOID

OUTPUT BYTE

I、Q、M、D、L

領域識別子は以下のようになります。
B#16#54:周辺入力(PI)B#16#55:周辺出力(PQ)
混成モジュールの場合、SFC は下位アドレスの領域識別子を提供します。アドレスが等しい場
合、SFC は識別子 B#16#54 を提供します。

LADDR

OUTPUT WORD

I、Q、M、D、L

モジュールの論理ベースアドレス

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

271

モジュールのアドレス指定を行うシステムファンクション
15.2 SFC 49 "LGC_GADR"による論理アドレスに属するモジュールスロットの問い合わせ

エラー情報

15.2

エラーコード (W#16#...)

説明

0000

エラーは発生していません。

8093

SUBNETID パラメータの値が不正です(SFC 5 は PROFINET IO では許可されません)。

8094

指定された SUBNETID でコンフィグレーションされたサブネットがありません。

8095

RACK パラメータの値が不正です。

8096

SLOT パラメータの値が不正です。

8097

SUBSLOT パラメータの値が不正です。

8098

SUBADDR パラメータの値が不正です。

8099

スロットは構成されていません。

809A

選択されたスロットのサブアドレスはコンフィグレーションされていません(CPU および IM 用の中央の IO 装置によってのみ可能)。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

SFC 49 "LGC_GADR"による論理アドレスに属するモジュールスロッ
トの問い合わせ説明
SFC 49 "LGC_GADR" (論理アドレスを地理的アドレスに変換) を使用して、論理アドレスに属するモジュールスロットとモジュールのユーザデータアドレス領域にあるオフセットを獲得します。

注記
SFC 49 "LGC_GADR"は、パックされたアドレス(ET 200S)をもつサブモジュールで使用できません。

パラメータ

宣言

データタイプ

メモリ領域

説明

IOID

INPUT

BYTE

I、Q、M、D、L、 アドレス領域の ID です。
定数•
B#16#00: LADDR のビット 15 は、入力
アドレス (ビット 15=0) または出力アド
レス (ビット 15=1) が存在するかどうかを指定します。
•

B#16#54 = ペリフェラル入力 (PI)•B#16#55 = ペリフェラル出力 (PO)

モジュールが混成モジュールの場合、最下位
アドレスの領域 ID を指定します。アドレスが同じである場合は、B#16#54 を指定します。
LADDR

INPUT

WORD

I、Q、M、D、L、 論理アドレスです。混成モジュールの場合
定数は、2 つのアドレスのうち下位の方を指定します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
272

リファレンスマニュアル, 05/2017, A5E41733394-AA

モジュールのアドレス指定を行うシステムファンクション
15.2 SFC 49 "LGC_GADR"による論理アドレスに属するモジュールスロットの問い合わせ
パラメータ

宣言

データタイプ

メモリ領域

説明

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

AREA

OUTPUT

BYTE

I、Q、M、D、L

領域 ID は、 残っている出力パラメータの解釈方法を指定します。

RACK

OUTPUT

WORD

I、Q、M、D、L

ラック番号

SLOT

OUTPUT

WORD

I、Q、M、D、L

スロット番号

SUBADDROUTPUT

WORD

I、Q、M、D、L

対応するモジュールの ユーザデータアド
レス領域内のオフセット

注記
S7-400H PLC をフェイルセーフモードで使用し、パラメータ LADDR の SFC 49 の呼び出し時に接続された DP スレーブのモジュールの論理アドレスを指定している場合、アクティブチャンネルの DP マスタシステム ID が、RACK パラメータの上位バイトに供給されます。アクティブチャンネルが存在しない場合、関連する DP マスタシステムの DP マスタシステム ID がマスタ CPU に対して出力されます。

出力パラメータ AREA
出力パラメータ AREA によって、出力パラメータ RACK、SLOT、SUBADDR の解釈方法が指定されます(次の表を参照)。
AREA の値

システム

RACK、SLOT、および SUBADDR の意味

0

S7-400RACK: モジュールラック番号
SLOT: スロット番号
SUBADDR: 論理アドレスと論理ベースアドレス間の差

1

S7-300RACK: モジュールラック番号
SLOT: スロット番号
SUBADDR: 論理アドレスと論理ベースアドレス間の差

2

DP

RACK: (下位バイト) ステーション番号
RACK: (上位バイト) DP マスタシステム ID
SLOT: ステーションにあるスロット番号
SUBADDR: 対応するモジュールのユーザーデータアドレス領域にあるオフセット3

S5 P 領域

RACK: モジュールラック番号
SLOT: 適合カプセルのスロット番号
SUBADDR: S5 x 範囲にあるアドレス

4

S5 O 領域

RACK: モジュールラック番号
SLOT: 適合カプセルのスロット番号
SUBADDR : S5 x 範囲にあるアドレス

5

S5 IM3 領域

RACK: モジュールラック番号
SLOT: 適合カプセルのスロット番号
SUBADDR : S5 x 範囲にあるアドレス

6

S5 IM4 領域

RACK: モジュールラック番号
SLOT: 適合カプセルのスロット番号
SUBADDR: S5 x 範囲にあるアドレス

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

273

モジュールのアドレス指定を行うシステムファンクション
15.2 SFC 49 "LGC_GADR"による論理アドレスに属するモジュールスロットの問い合わせ

エラー情報
エラーコード(W#16#...)

説明

0000

エラーは発生していません。

8090

指定した論理アドレスが無効です。または、IOID パラメータの値が不正です。

8093

IOID と LADDR で選択したモジュールでは、この SFC は無効です。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
274

リファレンスマニュアル, 05/2017, A5E41733394-AA

モジュールのアドレス指定を行うシステムファンクション
15.3 SFC 50 "RD_LGADR" によるモジュールのすべての論理アドレスの問い合わせ15.3

SFC 50 "RD_LGADR" によるモジュールのすべての論理アドレスの
問い合わせ

説明
まず、モジュール、セントラルサブモジュール、または PNIO 内のサブモジュールにある単一の論理
アドレスから始めます。SFC 50 "RD_LGADR"(モジュールの論理アドレスの読み取り)を使用して、このモジュールまたはサブモジュールのすべての宣言済み論理アドレスを取得します。以前にSTEP 7 で、モジュールまたはサブモジュールにアドレスを割り付け済みです。SFC 50 は、フィールド PEADDR または PAADDR で取得した論理アドレスを昇順に入力します。
パラメータ

宣言

データタイプ メモリ領域

IOID

INPUT

BYTE

説明

I、Q、M、D、L、 領域識別子は以下のようになります。
定数•
B#16#00: LADDR のビット 15 は、入力アドレス (ビット 15=0) または出力アドレス(ビット 15=1) が存在するかどうかを指定します。

•

B#16#54 = ペリフェラル入力 (PI)•B#16#55= ペリフェラル出力 (PQ)

LADDR

INPUT

WORD

I、Q、M、D、L、 論理アドレス
定数

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

PEADDROUTPUT

ANY

I、Q、M、D、L

PI アドレスのフィールド、フィールドエレメ
ントのデータタイプは WORD でなければなりません。

PECOUNTOUTPUT

INT

I、Q、M、D、L返された PI アドレスの番号

PAADDROUTPUT

ANY

I、Q、M、D、L

PQ アドレスのフィールド、フィールドのデー
タタイプは WORD でなければなりません。

PACOUNTOUTPUT

INT

I、Q、M、D、L返された PQ アドレスの番号

エラー情報
エラーコード(W#16#...)

説明

0000

エラーは発生していません。

8090

指定した論理アドレスが無効です。または、IOID パラメータの値が不正です。

80A0

出力パラメータ PEADDRのエラー: フィールドエレメントのデータタイプが WORDではありません。(このエラーコードは、S7-400 と CPU 318 のみに存在します)。

80A1

出力パラメータ PAADDRのエラー: フィールドエレメントのデータタイプが WORDではありません。(このエラーコードは、S7-400 と CPU 318 のみに存在します)。

80A2

出力パラメータ PEADDR のエラー: 指定されたフィールドにすべての論理アドレスを収容できません。

80A3

出力パラメータ PAADDR のエラー: 指定されたフィールドにすべての論理アドレスを収容できません。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

275

モジュールのアドレス指定を行うシステムファンクション
15.4 SFC 70 "GEO_LOG"によるモジュールの開始アドレスの特定

15.4

SFC 70 "GEO_LOG"によるモジュールの開始アドレスの特定

説明
前提条件: モジュールに対応するモジュールスロットは信号モジュールのチャンネルによって知ることができます。SFC 70"GEO_LOG" (地理的アドレスを論理アドレスに変換) を使用して、モジュールの対応する開始アドレスを決定します。
これは最小の I アドレス、または Q アドレスです。
SFC 70 を、パワーモジュール、またはパックされたアドレス(ET 200S)をもつモジュールで使用すると、診断アドレスが返されます。

パラメータ
パラメータ

宣言

データタイプ メモリ領域

説明

マスタ

INPUT

INT

領域 ID:

ステーション INPUT

INT

I、Q、M、D、L、
定数•0。スロットがラック 0～3(中央ユニット)の 1 つにある場合•

1～32: スロットが PROFIBUS 上のフィールドデバイスにある場合の、対応するフィールドデバイスの DP マ
スタシステム•100～115: スロットが PROFINET 上のフィールドデバイスにある場合の、対応するフィールドデバイスのPROFINET IO システム ID

I、Q、M、D、L、
定数.

領域 ID が 0 の場合のラック番号
領域 ID が 0 を超える場合のフィールドデバ
イスのステーション番号

SLOT

INPUT

INT

I、Q、M、D、L、
定数

スロット番号SUBSLOT

INPUT

INT

I、Q、M、D、L、
定数

インターフェースモジュールスロット(インターフェースモジュールを挿入できない
場合、ここには 0 を入力します)

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

LADDR

OUTPUT

WORD

I、Q、M、D、L

モジュールの開始アドレス LADDR のビッ
ト 15 は、入力アドレス(ビット 15=0)または
出力アドレス(ビット 15=1)が存在するかどうかを指定します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
276

リファレンスマニュアル, 05/2017, A5E41733394-AA

モジュールのアドレス指定を行うシステムファンクション
15.4 SFC 70 "GEO_LOG"によるモジュールの開始アドレスの特定

エラー情報
エラーコード(W#16#...)

説明

0000

エラーは発生していません。

8094

指定された SUBNETID でコンフィグレーションされたサブネットがありません。

8095

STATION パラメータの値が不正です。

8096

SLOT パラメータの値が不正です。

8097

SUBSLOT パラメータの値が不正です。

8099

スロットは構成されていません。

809A

選択したスロットのインターフェースモジュールアドレスはコンフィグレーションされて
いません。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

277

モジュールのアドレス指定を行うシステムファンクション
15.5 SFC 71 "LOG_GEO"による論理アドレスに属するスロットの特定

15.5

SFC 71 "LOG_GEO"による論理アドレスに属するスロットの特定

説明
SFC 71 "LOG_GEO" (論理アドレスを地理的アドレスに変換) を使用して、論理アドレスに属するモジュールスロットとモジュールのユーザーデータアドレス領域にあるオフセットを特定します。

パラメータ
パラメータ

宣言

データタイプ

メモリ領域

LADDR

INPUT

WORD

I、Q、M、D、L、 モジュールのいずれかの論理アドレス
定数ビット 15 に存在するのが入力アドレス(ビット15 = 0)なのか、出力アドレス(ビット 15 = 1)
なのかを指定します。

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

AREA

OUTPUT

INT

I、Q、M、D、L

領域 ID: 残っているパラメータの解釈方法を指定します。

マスタ

OUTPUT

INT

I、Q、M、D、L、 領域 ID:
定数•0。スロットがラック 0～3(中央ユニット)の 1 つにある場合

INT

説明

•

1～32: スロットが PROFIBUS 上のフィールドデバイスにある場合の、対応するフィールドデバイスの DP マスタシステム•

100～115: スロットが PROFINET 上のフィールドデバイスにある場合の、対応するフィールドデバイスの PROFINET IO
システム ID

ステーショ
ン

OUTPUTSLOTOUTPUT

INT

I、Q、M、D、L

スロット番号SUBSLOTOUTPUT

INT

I、Q、M、D、L

インターフェースモジュール番号OFFSETOUTPUT

INT

I、Q、M、D、L

関連するモジュールのユーザーデータ領域内のオフセットI、Q、M、D、L

領域 ID が 0 の場合のラック番号
領域 ID が 0 を超える場合のフィールドデバイ
スのステーション番号

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
278

リファレンスマニュアル, 05/2017, A5E41733394-AA

モジュールのアドレス指定を行うシステムファンクション
15.5 SFC 71 "LOG_GEO"による論理アドレスに属するスロットの特定

AREA 出力パラメータ
AREA の値

システム

RACK、SLOT、および SUBADDR の意味

0

S7-400MASTER: 0
STATION: ラック番号:
SLOT: スロット番号
SUBSLOT: 0
OFFSET: 論理アドレスと論理ベースアドレス間の相違

1

S7-300MASTER: 0
STATION: ラック番号:
SLOT: スロット番号
SUBSLOT: 0
OFFSET: 論理アドレスと論理ベースアドレス間の相違

2

PROFIBUS DP

MASTER: DP マスタシステム ID
STATION: ステーション番号
SLOT: ステーションのスロット番号
SUBSLOT: 0
OFFSET: 関連するモジュールのユーザーデータアドレス領域の
オフセット

PROFINET IO

MASTER: PROFINET IO システム ID:
STATION: ステーション番号
SLOT: ステーションのスロット番号
SUBSLOT: インターフェースモジュール番号OFFSET: 関連するモジュールのユーザーデータアドレス領域の
オフセット

3

S5-P 領域

MASTER: 0
STATION: ラック番号
SLOT: アダプタモジュールのスロット番号
SUBSLOT: 0
OFFSET: S5 x 領域のアドレス

4

S5-Q 領域

MASTER: 0
STATION: ラック番号
SLOT: アダプタモジュールのスロット番号
SUBSLOT: 0
OFFSET: S5 x 領域のアドレス

5

S5-IM3 領域

MASTER: 0
STATION: ラック番号
SLOT: アダプタモジュールのスロット番号
SUBSLOT: 0
OFFSET: S5 x 領域のアドレス

6

S5-IM4 領域

MASTER: 0
STATION: ラック番号
SLOT: アダプタモジュールのスロット番号
SUBSLOT: 0
OFFSET: S5 x 領域のアドレス

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

279

モジュールのアドレス指定を行うシステムファンクション
15.5 SFC 71 "LOG_GEO"による論理アドレスに属するスロットの特定

エラー情報
エラーコード(W#16#...)

説明

0000

エラーは発生していません。

8090

指定された論理アドレスが無効

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
280

リファレンスマニュアル, 05/2017, A5E41733394-AA

16

リモート I/O または PROFINET IO の SFC

16.1

SFC 7 "DP_PRAL"による DP マスタ上のハードウェア割り込みのトリガ

説明
SFC 7 "DP_PRAL"を使用して、インテリジェントスレーブのユーザープログラムから DP マスタ上
でハードウェア割り込みをトリガします。この割り込みにより、DP マスタの OB40 が起動します。
入力パラメータ AL_INFO を使用すると、ハードウェア割り込みの原因を知ることができます。この割り込み識別子は DP マスタに転送され、OB40 内でこの識別子を評価することができます (変数OB40_POINT_ADDR)。
要求されたハードウェア割り込みは、入力パラメータ IOID および LADDR により一意に指定されます。転送メモリでコンフィグレーションアドレス領域に対し、いつでも、ハードウェア割り込み
を 1 回だけ起動することができます。

SFC の動作SFC 7 "DP_PRAL"は非同期で動作します。つまり、いくつかの SFC 呼び出しにわたって実行されます。REQ=1 で SFC 7 を呼び出してハードウェア割り込み要求を開始します。
ジョブのステータスは出力パラメータ RET_VAL および BUSY で示されます。(関連項目: 非同期
SFC のパラメータ REQ、RET_VAL、BUSY の意味. このジョブは、OB40 の実行が DP マスタ上で完了するときに終了します。

注記
DP スレーブを標準スレーブとして操作する場合、このジョブは診断フレームが DP マスタにより獲得されると同時に完了します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

281

リモート I/O または PROFINET IO の SFC
16.1 SFC 7 "DP_PRAL"による DP マスタ上のハードウェア割り込みのトリガ

ジョブの識別入力パラメータ IOID および LADDR は、一意でジョブを指定します。
DP スレーブ上で SFC 7 "DP_PRAL"を呼び出して、要求されたハードウェア割り込みをマスタが確認応答を行う前に再び SFC を呼び出す場合、新規呼び出しが同じジョブを含んでいるかどうかでSFC の反応が大きく変わります。パラメータ IOID と LADDR が一致する場合、SFC の呼び出しは、パラメータ AL_INFO の値にかかわらず後続する呼び出しとして解釈されて、値 W#16#7002 がRET_VAL に入力されます。
パラメータ

宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、 REQ=1: スレーブに属する
定数
DP マスタ上のハードウェア割り込み

IOID

INPUT

BYTE

I、Q、M、D、L、 転送メモリ内のアドレス領域の識別子 (DP定数
スレーブから見た場合):-

B#16#00: LADDR のビット 15 は、入力
アドレス(ビット 15=0)または出力アド
レス(ビット 15=1)が関係するかどうかを指定します。

-

B#16#54 =ペリフェラル入力 (PI)-B#16#55 =ペリフェラル出力 (PQ)

混成モジュールが関係する場合、下位アドレ
ス領域の識別子を指定する必要があります。
アドレスが同じである場合は、B#16#54 を指定する必要があります。
LADDR

INPUT

WORD

I、Q、M、D、L、 転送メモリのアドレス範囲の開始アドレス
定数(DP スレーブから見た場合 )。
混成モジュールに属する範囲の場合、2 つのアドレスのうち、下位の方を指定します。

AL_INFO

INPUT

DWORD

I、Q、M、D、L、 割り込み ID
定数
DP マスタ上で開始される OB40 に転送されます(変数 OB40_POINT_ADDR).
インテリジェントスレーブをリモートマスタ
で操作している場合、マスタの診断フレームを 評価する必要があります。
(/70/を参照 )RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、戻り値にエラーコードが示されます。

BUSY

OUTPUT

BOOL

I、Q、M、D、L

BUSY=1:
起動されたハードウェア割り込みに対して、DP マスタによる確認応答が行われていません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
282

リファレンスマニュアル, 05/2017, A5E41733394-AA

リモート I/O または PROFINET IO の SFC
16.1 SFC 7 "DP_PRAL"による DP マスタ上のハードウェア割り込みのトリガ

エラー情報
エラーコード (W#16#...)

説明

0000

ジョブは正常に実行されました。

7000

REQ=0 での最初の呼び出し。ハードウェア割り込み要求がアクティブになっていません。BUSY の値は 0 です。

7001

REQ=1 での最初の呼び出し。ハードウェア割り込み要求は DP マスタに送信されています。BUSY の値は 1 です。

7002

中間の呼び出し (REQ は不適切)。トリガされたハードウェア割り込みはまだ
DP マスタによって確認応答が行われていません。BUSY の値は 1 です。

8090

転送メモリのアドレス範囲の開始アドレスが不正です。

8091

割り込みがブロックされています (ユーザーによりブロックが設定されている)。

8093

パラメータ IOID と LADDR は、ハードウェア割り込み要求を処理できないモ
ジュールをアドレス指定しています。

80B5

DP マスタ内の呼び出しは許可されていません。

80C3

この時点では必要なリソース(メモリなど)が占有されています。

80C5

リモート I/O デバイスは、現時点では使用できません(ステーションエラー)。

80C8

現在の DP マスタの動作モードでは、このファンクションを使用できません。

8xyy

一般的なエラー情報については、出力パラメータ RET_VAL によるエラーの評価

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

283

リモート I/O または PROFINET IO の SFC
16.2 SFC 11 "DPSYC_FR"による DP スレーブグループの同期

16.2

SFC 11 "DPSYC_FR"による DP スレーブグループの同期

説明
SFC 11 "DPSYC_FR"を使用して、1 つ以上の DP スレーブのグループを同期することができます。
このファンクションでは、以下の制御コマンドのいずれかを、あるいはその組み合わせを関連するグループへ送信できます。
•

SYNC (同時出力、および DP スレーブの出力状態のフリーズ)•

UNSYNC (SYNC 制御コマンドの取り消し)•

FREEZE (フリーズされた入力で読み取られた DP スレーブの入力状態をフリーズ)•

UNFREEZE (FREEZE 制御コマンドの取り消し)

注記
再起動/ウォームリスタートを実行するときは、コントロールコマンド SYNC および FREEZE も有効なままであることに留意してください。
また、一度に 1 つの SYNC-/UNSYNC 要求または 1 つの FREEZE/UNFREEZE 要求しか開始できない
ことにも注意してください。

必要条件
上記の制御コマンドを送る前に、STEP 7 を使って DP スレーブをグループに割り付ける必要があります(/231/を参照)。どの DP スレーブがどのグループにどの番号で割り付けられているのか、
そして、各グループの応答を SYNC/FREEZE に知らせる必要があります。

SFC の動作SFC 11 "DPSYC_FR"は非同期 SFC です。
つまり、いくつかの SFC 呼び出しで実行されます。REQ=1
で SFC 11 を呼び出してジョブを開始します。
ジョブのステータスは出力パラメータ RET_VAL および BUSY により示されます。非同期 SFC のパラメータ REQ、RET_VAL、BUSY の意味を参照してください。

ジョブの識別SYNC/FREEZE ジョブをトリガして、最初のジョブが完了する前に再び SFC 11 を呼び出した場合、SFC の応答は、新規呼び出しが同じジョブに対してであるかどうかによって異なります。入力パラ
メータ LADDR、GROUP、MODE が一致すると、SFC 呼び出しは後続する呼び出しとして解釈されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
284

リファレンスマニュアル, 05/2017, A5E41733394-AA

リモート I/O または PROFINET IO の SFC
16.2 SFC 11 "DPSYC_FR"による DP スレーブグループの同期

DP モジュールの出力の書き込み
DP モジュールの出力の書き込みは、次の方法で起動します。
•

DP I/O への転送コマンドを使用する•

プロセスイメージの出力テーブルをモジュールに書き込む (OB1 のエンドでオペレーティング
システムにより、または SFC 27 "UPDAT_PO"を呼び出して)•

SFC 15 "DPWR_DAT"を呼び出す

通常のオペレーションでは、DP マスタは出力バイトを周期的に(PROFIBUS DP バスのサイクル内で)DP スレーブの出力へ転送します。
出力に適用されたある一定の出力データを保持して (いくつかのスレーブで配信可能) 正確に同時の処理を行う場合、SFC 11 "DPSYC_FR"を使用して関連する DP マスタに SYNC コマンドを送信します。

SYNC の効果
SYNC コントロールコマンドを使用すると、選択されたグループの DP スレーブが Sync モードに切り替わります。つまり、DP マスタは現在の出力データを転送し、関係する DP スレーブにその出力をフリーズするように命令します。続く出力フレームで、DP スレーブは出力データを内部バッファに保存します。出力の状態に変化はありません。
各 SYNC 制御コマンドの後、選択したグループの DP スレーブが、内部バッファの出力データをプロセスへの出力へ送ります。
SFC 11 "DPSYC_FR"を使用して UNSYNC コントロールコマンドを送信すると、出力だけが再び周期的に更新されます。

注記
選択されたグループの DP スレーブが現在ネットワークに接続されていない、あるいはコントロール
コマンドの送信時にエラーとなった場合、DP スレーブは SYNC モードに切り替わりません。この情報は SFC の戻り値では伝達されません。

DP モジュールの入力データの読み取り
DP モジュールの入力データは、次の方法で読み取られます。
•

DPI/O に対してロードコマンドを使用する•

プロセスイメージ入力テーブルが更新されるとき (OB1 の起動時のオペレーティングシステム
により、または SFC 26 "UPDAT_PI"の呼び出し)•

SFC 14 "DPRD_DAT"の呼び出し

通常のオペレーションでは、DP マスタは DP スレーブからこの入力データを周期的(PROFIBUS DP
バスのサイクル内)に受け取り、CPU で利用できるようにします。
一定の入力データを保持して (いくつかのスレーブで配信可能) 正確に同時の処理を行う場合、SFC
11 "DPSYC_FR"を使用して関連する DP マスタに FREEZE コントロールコマンドを送信します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

285

リモート I/O または PROFINET IO の SFC
16.2 SFC 11 "DPSYC_FR"による DP スレーブグループの同期

FREEZE の効果
FREEZE 制御コマンドを使用すると、関連する DP スレーブは Freeze モードに切り替わります。
つまり、DP マスタは DP スレーブに対して、入力の現在の状態をフリーズするように命令します。
その後、フリーズされたデータは CPU の入力領域に転送されます。
FREEZE 制御コマンドを受け取るたびに、DP スレーブは、入力の状態を再度フリーズします。
SFC 11 "DPSYC_FR"を使用して UNFREEZE コントロールコマンドを送信した後、DP マスタは入力の現在の状態だけを再び周期的に受信します。

注記
選択されたグループの DP スレーブが現在ネットワークに接続されていない、あるいはコントロール
コマンドの送信時にエラーとなった場合、DP スレーブは FREEZE モードに切り替わりません この
情報は SFC の戻り値では伝達されません。

データの一貫性SFC 11 "DPSYC_FR"ファンクションが周期的で、高い優先度クラスにより割り込みをかけることができるため、プロセスイメージが SFC 11 "DPSYC_FR"の使用時に実際の入力および出力が一貫していることを確認してください。
この条件は、次の整合性ルールに従えば満たすことができます。
•"SYNC outputs"および"FREEZE inputs"に対して、適切なプロセスイメージセクションを定義します(S7-400 でのみ可能)。SYNC ジョブの最初の呼び出しの前に即座に SFC 27"UPDAT_PO"を呼び出します。FREEZE ジョブの最後の呼び出しの後に即座に SFC 26"UPDAT_PI"を呼び出します。

•

別の方法: SYNC ジョブに関係する出力または FREEZE ジョブに関係する入力の直接 I/O アクセスのみを使用します。SYNC ジョブがアクティブなときはこれらの出力への書き込みは行わず、FREEZE ジョブがアクティブなときはこれらの入力の読み取りを行わないようにします。

SFC 15 および SFC 14 の使用方法
SFC 15 "DPWR_DAT"を使用する場合、関係する出力に SYNC ジョブを送信する前にこの SFC を完了しなければなりません。
SFC 14 "DPRD_DAT"を使用する場合、関係する入力に FREEZE ジョブを送信する前にこの SFC を完了しなければなりません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
286

リファレンスマニュアル, 05/2017, A5E41733394-AA

リモート I/O または PROFINET IO の SFC
16.2 SFC 11 "DPSYC_FR"による DP スレーブグループの同期

SFC 11 "DPSYC_FR" および起動
SYNC および FREEZE 制御コマンドの起動 OB での送信は、ユーザ自身が行わなければなりません。
ユーザープログラムの起動時に 1 つ以上のグループの出力を Sync モードにする場合、これらの出力を起動時に初期化し、SYNC コントロールコマンドを使用して完全に FC 11 "DPSYC_FR"を実行する必要があります。
ユーザープログラムの起動時に 1 つ以上のグループの入力を FREEZE モードにする場合、起動時にこれらの入力用に FREEZE コントロールコマンドを使用して完全に SFC 11 "DPSYC_FR"を実行する必要があります。
パラメータ

宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、 レベルでトリガされる制御パラメータ
REQ=1: trigger SYNC/FREEZE job
定数

LADDR

INPUT

WORD

I、Q、M、D、L、 DP マスタの論理アドレス
定数

グループ

INPUT

BYTE

I、Q、M、D、L、 グループの選択
定数
ビット 0 = 1: グループ 1 を選択
ビット 1 = 1: グループ 2 を選択:
ビット 7 = 1: グループ 8 を選択
ジョブごとに複数のグループを選択できます。
値 B#16#0 は無効です。

MODE

INPUT

BYTE

I、Q、M、D、L、 ジョブ ID (EN 50 170 Volume 2、PROFIBUS に準拠
したコード化)
定数
ビット 0:

未使用 (0)

ビット 1:

未使用 (0)

ビット 2

= 1:

UNFREEZE を実行

= 0:

意味なし

= 1:

FREEZE を実行

= 0:

意味なし

ビット 4

= 1:

UNSYNC を実行

= 0:

意味なし

ビット 5

= 1:

SYNC を実行

= 0:

意味なし

ビット 3

ビット 6:

未使用 (0)

ビット 7:

未使用 (0)以下の値が返されます。
••

ジョブごとに 1 つの ID:
B#16#04 (UNFREEZE)
B#16#08 (FREEZE)
B#16#10 (UNSYNC)
B#16#20 (SYNC)
ジョブごとに複数の ID:
B#16#14 (UNSYNC, UNFREEZE)
B#16#18 (UNSYNC, FREEZE)
B#16#24 (SYNC, UNFREEZE)
B#16#28 (SYNC, FREEZE)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

287

リモート I/O または PROFINET IO の SFC
16.2 SFC 11 "DPSYC_FR"による DP スレーブグループの同期
パラメータ

宣言

データタイプ メモリ領域

RET_VALOUTPUT INT

I、Q、M、D、L

BUSY

OUTPUT BOOL

I、Q、M、D、L

説明
ファンクションがアクティブなときにエラーが発生すると、戻り値にエラーコードが示されます。
ブロックが実行されるたびに、RET_VAL を評価する必要があります。
BUSY=1:SYNC/FREEZE ジョブが 完了していません。

エラー情報

注記
DPV1 スレーブにアクセスする場合、これらのスレーブからのエラー情報は DP マスタから SFC
STATUS[3]へ送信できます。このエラー情報の詳細は、「SFB 54 "RALRM"による割り込みの受信」
を参照してください。
エラーコード (W#16#...) 説明
0000
7000
7001
7002
8090
8093
8094
8095
80B0
80B1
80B2
80B3
80C2
80C3

80C4

80C5
80C6
80C7
8xyy

ジョブは正常に終了しました。
REQ=0 での最初の呼び出し。LADDR、GROUP、MODE で指定されたジョブがアクティブではありません。BUSY の値は 0 です。
REQ=1 での最初の呼び出し。LADDR、GROUP、MODE で指定されたジョブが起動されています。BUSY の値は 1 です。
中間呼び出し(REQ は対象外). 起動されている SYNC /FREEZE ジョブはアクティブ
です。BUSY の値は 1 です。
LADDR で選択されたモジュールは DP マスタではありません。
SFC は、LADDR で選択されたモジュールには使用できません ( DP マスタのコン
フィグレーションまたはバージョン)。
GROUP パラメータが不正
MODE パラメータが不正
GROUP で選択されたグループはコンフィグレーションされていません。
GROUP で選択されたグループは CPU に割り付けられていません。
MODE で指定された SYNC ジョブは、
GROUP で選択されたグループでは使用できません。
MODE で指定された FREEZE ジョブは、
GROUP で選択されたグループでは使用できません。
DP マスタ上の一時的なリソース不足。DP マスタは現在 CPU の最大数のジョブを処理しています。
この SYNC /UNSYNC ジョブをアクティブにできません。
SYNC/UNSYNC ジョブは 1 度に 1 つしか起動できません。ユーザープログラムをチェックしてください。
この FREEZE/UNFREEZE をアクティブにできません。
FREEZE-/UNFREEZE ジョブは、1 度に 1 つしか起動できません。ユーザープログ
ラムをチェックしてください。
DP インターフェースで直接短絡
CPU による I/O 切断でジョブが異常終了しました。
DP マスタでのウォームリスタートまたはコールドリスタートが原因でジョブが異常終了しました。
一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評価」
を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
288

リファレンスマニュアル, 05/2017, A5E41733394-AA

リモート I/O または PROFINET IO の SFC
16.3 SFC 12 "D_ACT_DP"による DP スレーブ/PROFINET IO デバイスの停止と起動

16.3

SFC 12 "D_ACT_DP"による DP スレーブ/PROFINET IO デバイスの
停止と起動

説明
SFC 12 "D_ACT_DP を使用して、コンフィグレーションされた DP スレーブ/PROFINET IO デバイスを特に停止および再起動することができます。さらに、割り付けられたそれぞれの DP スレーブ
または PROFINET IO デバイスが現在起動しているか停止しているかどうかを確定することができます。
SFC 12 を使用してゲートウェイの IE/PB Link PN IO タイプを無効にすると、接続されたすべてのPROFIBUS DP スレーブも機能を停止します。こういったエラーはレポートされます。
SFC 12 は、DP/PA リンクで DP マスタシステムに接続されている PROFIBUS PA フィールドでは使用できません。

注記
SFC 12 の 1 つ以上のジョブがビジー状態の間は、変更されたコンフィグレーションを PG から CPUにダウンロードできません(CiR の処理中)。
CiR の処理中に、変更されたコンフィグレーションのダウンロードを受信しても、CPU は SFC 12の要求開始を拒否します。
サイクルコントロールポイントを通過するいくつかは、ジョブの有効化または無効化を実行する必要があります。したがって、このようなプログラムループのジョブの終了を待つことはできません。

目的
実際には存在しない、あるいは現在必要でない CPU 内で DP スレーブ/PROFINET IO デバイスをコンフィグレーションする場合でも、CPU はこれらの DP スレーブ/PROFINET IO デバイスに一定のインターバルでアクセスを続けます。スレーブが停止した後、追って CPU のアクセスが停止します。PROFIBUS DP では、このように最速 DP バスサイクルを実現することができます。これに対応するエラーイベントは発生しません。

応用例
マシン製造業者の観点からすれば、マシンの連続生産において非常に多くの有効なデバイスオプ
ションがあります。ただし、提供されるそれぞれのマシンには選択されたオプションの組み合わせが 1 つ含まれるのみです。
これらの有効なマシンオプション 1 つ 1 つすべては、有効なオプションすべてを持つ共通のユー
ザープログラムを作成し保守するために、製造元により DP スレーブ/PROFINET IO デバイスとしてコンフィグレーションされます。SFC 12 を使用して、マシンの起動時には存在しないすべての DP
スレーブ/PROFINET IO デバイスを停止することができます。
使用可能な数多くのツールオプションを持ちながら、実際にはある一定の時間に数少ないツールだけを使用するマシンツールに同様の状況が存在します。
これらのツールは DP スレーブ/PROFINET IO
デバイスとして実装されます。SFC 12 を使用して、ユーザープログラムは現在必要とされるツールを起動し、後に要求されればこれらを停止します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

289

リモート I/O または PROFINET IO の SFC
16.3 SFC 12 "D_ACT_DP"による DP スレーブ/PROFINET IO デバイスの停止と起動

SFC の動作SFC 12 "D_ACT_DP"は非同期で動作します。つまり、いくつかの SFC 呼び出しにわたって実行されます。REQ = 1 で SFC 12 を呼び出して要求を開始します。
ジョブのステータスは出力パラメータ RET_VAL および BUSY で示されます。(関連項目: 非同期
SFC のパラメータ REQ、RET_VAL、BUSY の意味.

ジョブの識別ジョブの停止または起動を開始して、ジョブが完了する前に再び SFC 12 を呼び出す場合、新規呼び出しが同じジョブを含んでいるかどうかで SFC の反応が大きく変わります。パラメータ LADDR が一致する場合、SFC の呼び出しは、後続する呼び出しとして解釈されます。

DP スレーブ/PROFINET IO デバイスの停止
SFC 12 を使用して DP スレーブ/PROFINET IO デバイスを停止するときは、そのプロセス出力はコンフィグレーションされた置換値または 0 にセットされます (安全な状態)。これに割り付けられている DP マスタ/PROFINET IO コントローラによる、このコンポーネントのアドレス指定は継続されません。停止した DP スレーブ/PROFINET IO デバイスは、DP マスタ/PROFINET IO デバイスあるいは CPU 上のエラーLED によりエラーとして識別されないか、または損失として識別されません。
停止した DP スレーブ/PROFINET IO デバイスの入力のプロセスイメージは、0 で更新され、ちょうどエラーの DP スレーブ/PROFINET IO デバイスのように処理されます。
プログラムを使用して以前停止した DP スレーブ/PROFINET IO デバイスのユーザーデータに直接アクセスアクセスする場合、I/O アクセスエラーOB (OB 122) が呼び出され、対応する開始イベント
が診断バッファに入力されます。SFC を使用して停止した DP スレーブ/PROFINET IO デバイスにアクセスする場合 (すなわち SFC 59 "RD_REC")、使用できない DP スレーブ/PROFINET IO デバ
イスに関しては RET_VAL でエラー情報を受信します。
入力または出力が更新対象のシステム側のプロセスイメージに属していても、DP スレーブ
/PROFINET IO デバイスの停止でプログラムエラーOB (OB 85) は開始されません。診断バッファ
では何もエントリが行われません。
DP スレーブ/PROFINET IO デバイスを停止することでラック故障(OB 86)が起動して診断バッファにエントリが入力されるかどうかは、MODE パラメータによって異なります。
MODE

OB 86 起動

診断バッファのエントリ

2

しない

しない

4

する

する

SFC 12 を使用して DP ステーション/PNIO ステーションを停止させた後に DP ステーション/PNIO
ステーションがエラーの場合、オペレーティングシステムはこのエラーを検出しません。結果として、
OB86 の引き続いて起こるスタートまたは診断バッファのエントリは何も行われません。
PROFIBUS DP に適用: クロス通信においてトランスミッタとして機能している DP スレーブを停止
させたい場合は、入力データをトランスミッタが DP マスタに転送していることを検知するレシーバ(リスナー)を最初に再起動することをお勧めします。このステップを実行した後でのみトランス
ミッタを停止します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
290

リファレンスマニュアル, 05/2017, A5E41733394-AA

リモート I/O または PROFINET IO の SFC
16.3 SFC 12 "D_ACT_DP"による DP スレーブ/PROFINET IO デバイスの停止と起動

DP スレーブ/PROFINET IO デバイスの起動
SFC 12 を使用して DP スレーブ/PROFINET IO デバイスを再起動すると、指定の DP マスタ/PROFINET IO コントローラによってコンフィグレーションされ、パラメータが割り付けられます(故障した DP ステーション/PROFINET IO ステーションの復帰と同様)。コンポーネントによるユー
ザーデータの転送が可能なときに、この起動は完了します。
入力または出力が更新対象のシステム側のプロセスイメージに属していても、DP スレーブ
/PROFINET IO デバイスの起動でプログラムエラーOB (OB85) は開始されません。診断バッファのエントリも行われません。
DP スレーブ/PROFINET IO デバイスを停止することでラック故障(OB 86)が停止して診断バッファにエントリが入力されるかどうかは、MODE パラメータによって異なります。
MODE

OB 86 起動

診断バッファのエントリ

1

しない

しない

3

する

する

SFC 12 を使用し、停止して DP バスから物理的に切り離された DP スレーブを実行しようとすると、
約 1 分後に SFC によってエラーコードW#16#80A2 が返されます。DPスレーブは停止したままです。
後でスレーブを DP バスに再接続する場合は、SFC 12 を使用してスレーブを再起動してください。
PROFINET バスから物理的に切り離された PROFINET IO デバイスを実行しようとしても、SFC 12
は有効なままです。DP スレーブのように特定の周期の後に自動的にキャンセルされることはありません。実行中のジョブは手動でキャンセルする必要があります。
注記
DP スレーブ/PROFINET IO デバイスの起動には時間がかかります。したがって、現在起動しているジョブをキャンセルさせたい場合は、LADDR および MODE = 212 0 の同じ値で SFC 12 を再び開始させます。RET_VAL = 0 で示される起動の取り消しが正常に行われるまで SFC 12 の呼び出しを繰り返してください。
相互通信で役割を果たす DP スレーブを起動させたい場合は、最初にトランスミッタを起動させてからレシーバ (リスナー) を起動することをお勧めします。

CPU の起動CPU のオペレーティングシステムは、起動モードにより異なり、DP スレーブ/PROFINET IO デバ
イスに関して次のように動作します。
•

起動モードがコールドリスタートおよびウォームリスタートの場合、スレーブ/デバイスは自動的に起動します。
-

S7-400 使用時: スレーブ/PROFINET IO デバイスの起動には時間がかかる場合があります。
このような場合、CPU は動作を継続し、実行が完了するまで I/O アクセスエラーが発生します。CPU の反応は、コンフィグレーション(I/O アクセスエラーのための OB 85 呼び出し)と OB 85 のプログラムにより異なります。これらの I/O アクセスエラーの発生を防ぐことはできません。

-

S7-300 使用時: スレーブ/PROFINET IO デバイスの起動には時間がかかる場合があります。
この場合、CPU は、DP スレーブ/PROFINET IO デバイスが実行されるまで待ちます。DP
スレーブ/PROFINET IO デバイスの実行を待つ最長時間は約 1 分です。この間には I/O アク
セスエラーは発生しません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

291

リモート I/O または PROFINET IO の SFC
16.3 SFC 12 "D_ACT_DP"による DP スレーブ/PROFINET IO デバイスの停止と起動•

起動モードがホットリスタートの場合、スレーブ/デバイスの起動ステータスは変わらずに、起動したスレーブ/デバイスは起動したまま、停止したスレーブ/デバイスは停止したままとなります。

CPU の起動後、存在しないか応答しないすべてのコンフィグレーション済みで停止したスレーブ/
デバイスに、CPU は周期的に接触します。

注記
起動 OB は、SFC 12 の呼び出しをサポートしません。

パラメータ
パラメータ

宣言

データタイプ メモリ領域

REQ

INPUT

BOOL

I、Q、M、D、L、 レベルトリガされたコントロールパラメータ
定数.
REQ=1 です。起動または停止を実行します。

MODE

INPUT

BYTE

I、Q、M、D、L、 ジョブ ID です。以下の値が返されます。
定数•
0: アドレス指定されたコンポーネントを起動するのか停止するのかについての
情報を要求

WORD

説明

•

1: DP スレーブ/PROFINET IO デバイスを起動•

2: DP スレーブ/PROFINET IO デバイスを停止•

3: DP スレーブ/PROFINET IO デバイスを起動し、起動ステータスが変更された後に OB 86
を呼び出す

•

4: DP スレーブ/PROFINET IO デバイスを停止し、起動ステータスが変更された後に OB 86
を呼び出す

LADDR

INPUT

I、Q、M、D、L、 DP スレーブ/PROFINET IO デバイスの任意の論理
定数
アドレス
注記: アドレスが出力アドレスの場合、ビット 15をセットする必要があります。

RET_VALOUTPUT INT

I、Q、M、D、L

ファンクションの処理中にエラーが発生すると、戻り値にエラーコードが示されます。

BUSY

OUTPUT BOOL

I、Q、M、D、L

有効なコード。
•

BUSY=1: ジョブはまだアクティブです。

•

BUSY=0: ジョブは終了しました。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
292

リファレンスマニュアル, 05/2017, A5E41733394-AA

リモート I/O または PROFINET IO の SFC
16.3 SFC 12 "D_ACT_DP"による DP スレーブ/PROFINET IO デバイスの停止と起動

エラー情報
エラーコード (W#16#...) 説明
0000

ジョブは正常に終了しました。

0001

DP スレーブ/PROFINET IO デバイスはアクティブです。(このエラーコードは、MODE =
0 の使用時にのみ有効です。)

0002

DP スレーブ/PROFINET IO デバイスを停止します。(このエラーコードは、MODE = 0 の使用時にのみ有効です。)

7000

REQ=0 での最初の呼び出し。LADDR で指定されたジョブ がアクティブではありません。BUSY の値は 0 です。

7001

REQ=1 での最初の呼び出し。LADDR で指定されたジョブがトリガされました。BUSYの値は 1 です。

7002

中間呼び出し(REQ は対象外). 起動されたジョブはアクティブのままです。BUSY の値は
1 です。

8090

•

LADDR 内で指定されたアドレスを使用してモジュールをコンフィグレーションしま
せんでした。

•

CPU は I スレーブとして操作され、この I スレーブのアドレスは LADDR 内で指定されました。

8092

起動(MODE=1)により、現在アドレス指定されている DP スレーブ/PROFINET IO デバイス
(MODE=2)の停止をキャンセルすることはできません。後でこのコンポーネント起動します。

8093

LADDR 内で指定されたアドレスに割り付けられている DP スレーブ/PROFINET IO デバ
イスはありません(使用可能なコンフィグレーションはありません)。または、パラメー
タ MODE が不明です。

8094

ツールスイッチポートのパートナーになっている可能性があるデバイスを起動しようとしました。現在、このツールスイッチポートでは他のデバイスが既に起動しています。起動中のデバイスは起動されたままになります。

80A1

アドレス指定されたコンポーネントに、パラメータを割り付けることができませんでした(このエラーコードは、MODE = 1 の使用時にのみ有効です)。
注:
起動されたスレーブがパラメータ割り付け中に再びエラーとなった場合にのみ、CPU からこの情報が提供されます。単一のモジュールのパラメータ割り付けが正常に行われなかった場合は、SFC はエラー情報 W#16#0000 を返します。

80A2

アドレス指定された DP スレーブが確認応答を返しません。(このエラー情報は、PROFINET IO デバイスでは使用できません。) 起動ジョブは、PROFINET で時間監視されていません。

80A3

当該 DP マスタ/PROFINET IO デバイスはこのファンクションをサポートしません。

80A4

CPU は外部 DP マスタ PROFINET IO デバイス用のこのファンクションをサポートしま
せん。

80A6

DP スレーブ/PROFINET IO デバイスのスロットエラーです。ユーザーデータによってはアクセスできないことがあります(このエラーコードは、MODE=1 の場合のみ使用可能です)。
注:アクティブコンポーネントがパラメータ割り付けの後でエラーとなった場合、ならびにSFC の終了前にエラーとなった場合にのみ、SFC はこのエラー情報を返します。1 つのモジュールだけを使用できない場合、SFC はエラー情報 W#16#0000 を返します。

80C1

別の論理アドレスで SFC12 が開始され、続行しています。(このエラーコードは、MODE=1
および MODE=2 のときにのみ使用可能です。)

80C3

•

テンポラリリソースエラー。CPU は現在、起動および停止の最大数の有効ジョブを処理しています (このエラーコードは、MODE = 1 および MODE = 2 のときにのみ有効です。)•CPU は変更されたコンフィグレーションの受信中であり、ビジー状態です。現在のところ、DP スレーブ/PROFINET IO デバイスを有効/無効にすることはできません。

80C5

DP: ユーザーがまだフェッチしていないジョブは、再起動時に破棄されます。

80C6

PROFINET: ユーザーがまだフェッチしていないジョブは、再起動時に破棄されます。

8xyy

エラー情報、「出力パラメータ RET_VAL によるエラーの評価」を参照

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

293

リモート I/O または PROFINET IO の SFC
16.4 SFC 13 "DPNRM_DG" (スレーブ診断) による DP スレーブの診断データの読み取り

16.4

SFC 13 "DPNRM_DG" (スレーブ診断) による DP スレーブの診断
データの読み取り

スレーブ診断各 DP スレーブは、EN 50 170 Volume 2, PROFIBUS に準拠のスレーブ診断データを提供します。
この診断データを読み出すには、SFC 13 "DPNRM_DG"が必要です。
スレーブ診断データの基本構造については次の表を、さらに詳細な情報については DP スレーブのマニュアルを参照してください。
バイト

意味

0

ステーションステータス 1

1

ステーションステータス 2

2

ステーションステータス 33

マスタステーション番号4

ベンダ ID (上位バイト)

5

ベンダーID (下位バイト)

6 ...

その他のスレーブ固有診断情報

説明
SFC 13 "DPNRM_DG" (DP スレーブの診断データの読み取り) を使用して、EN 50 170 Volume 2、
PROFIBUS で指定されたフォーマットで DP スレーブの現在の診断データを読み取ります。読み取られたデータレコードは、データ転送中にエラーが発生しなかった場合に限り、RECORD で示された指定領域に入力されます。
SFC 13 を呼び出し、入力パラメータ REQ に 1 を割り付けて、読み取りジョブを開始します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
294

リファレンスマニュアル, 05/2017, A5E41733394-AA

リモート I/O または PROFINET IO の SFC
16.4 SFC 13 "DPNRM_DG" (スレーブ診断) による DP スレーブの診断データの読み取り

ファンクション
読み取りジョブは非同期で動作します。
つまり、いくつかの SFC 13 呼び出しが必要となります。ジョブのステータスは出力パラメータ
RET_VAL および BUSY により示されます。非同期 SFC のパラメータ REQ、RET_VAL、BUSY の意味を参照してください。
パラメータ

宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、 REQ = 1: 読み取り要求
定数

LADDR

INPUT

WORD

I、Q、M、D、L、 DP スレーブの定数コンフィグレーション済み診断アドレス
注記
アドレスは 16 進フォーマットで入力しなければなりません。例えば、診断アドレス 1022 の意味は次のとおりです。LADDR:=W#16#3FE

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションがアクティブなときにエラーが発生すると、戻り値にエラーコードが示されます。エラーが発生しなければ、実際に転送されたデータの長さが RET_VAL に入力されます。

RECORDOUTPUT

ANY

I、Q、M、D、L

読み取られた診断データの指定領域。ここでは、データタイプ BYTE だけが許可されます。
読み取られるデータレコードまたは指定領域の最小長は 6 です。読み取られるデータレコードの最大長は 240です。診断データ長さが 240バイ
トより大きく最大 244 バイトまでの標準スレー
ブの場合、最初の 240 バイトが指定領域に伝送された後、対応するオーバーフロービットがデータに設定されます。
注: S7-300 CPU の RECORD パラメータには、DB パラメータの完全な仕様が常に必須であることに注意してください(例: P#DB13.DBX0.0
byte 100)。明示的な DB 番号の省略は S7-300
CPU では許可されていないため、ユーザープロ
グラムでエラーが発生します。

BUSY

OUTPUT

BOOL

I、Q、M、D、L

BUSY=1:
読み取りジョブは完了していません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

295

リモート I/O または PROFINET IO の SFC
16.4 SFC 13 "DPNRM_DG" (スレーブ診断) による DP スレーブの診断データの読み取り

入力パラメータ RECORD SFC 59 "RD_REC"によるデータレコードの読み取り
CPU は、読み取られた診断データの実際の長さを次のようにして評価します。
•

RECORD で指定された長さが提供されたデータバイト数よりも小さい場合、データは切り捨て
られ、対応するエラーコードが RET_VAL に入力されます。

•

RECORD で指定された長さが提供されたデータバイト数以上の場合、データは指定領域で受け入れられ、実際の長さが正数で RET_VAL に入力されます。

注記
RECORD の実パラメータは、ジョブに属するすべての呼び出しで一致していなければなりません。
ジョブは LADDR 入力パラメータにより一意で識別されます。

240 バイトを超える診断データをもつ標準スレーブ
標準診断データが 241 ～ 244 バイトの標準スレーブでは、次の点に留意する必要があります。
•

RECORD に指定されている長さが 240 バイト未満の場合、データは切り捨てられ、対応する
エラー情報が RET_VAL に入力されます。

•

RECORD に指定された長さが 240 バイトよりも大きいか等しい場合、標準診断データの先頭
240 バイトが指定領域に転送され、オーバーフロービットがデータに設定されます。

出力パラメータ RET_VAL•

ファンクションの実行中にエラーが発生すると、戻り値にエラーコードが示されます。

•

エラーが発生しなかった場合、RET_VAL には、読み取られたデータの長さ(バイト単位)が正数で示されます。

注記
DP スレーブで読み取られるデータの量は、その診断ステータスにより異なります。

エラー情報
パラメータ RET_VAL のエラー情報の評価方法については、出力パラメータ RET_VAL によるエラーの評価で説明しています。この章には、SFC に関する一般エラー情報も載っています。SFC 13 に固有のエラー情報は、SFC 59 "RD_REC"のエラー情報のサブネットです。「SFC 59 "RD_REC"
によるデータレコードの読み取り」を参照してください。

S7-400 のシステムリソース
現在処理されていないジョブ用に SFC 13 "DPNRM_DG"が呼び出されると、CPU のリソース (メモリスペース) は S7-400 上で一杯になります。CPU で"同時に"アクティブな SFC 13 の最大数を超えないように、いくつかの DP スレーブで SFC 13 をすばやく続けて呼び出します。この種のジョブの最大数については、/101/を参照してください。
複数のジョブを「同時」に起動すると、すべてのジョブは干渉しあわずに実行されます。
システムリソースの限界に達した場合、RET_VAL によってその旨が通知されます。この場合、ジョブを繰り返します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
296

リファレンスマニュアル, 05/2017, A5E41733394-AA

リモート I/O または PROFINET IO の SFC
16.5 SFC 14 "DPRD_DAT"による DP 標準スレーブ//PROFINET IO デバイスの一貫データ読み取り

16.5

SFC 14 "DPRD_DAT"による DP 標準スレーブ//PROFINET IO デバイスの一貫データ読み取り

データの一貫性S7 通信および S7 基本通信 E の概要のセクションデータの一貫性

SFC 14 の目的
I/O またはプロセスイメージ入力テーブルにアクセスするロード命令を使用して、最大 4 つの続きのバイトのみを読み出すには、SFC 14 "DPRD_DAT"が必要です。

注記
必要であれば、入力のプロセスイメージを介して一貫したデータを読み取ることもできます。CPU
がこの機能をサポートしているかを確認するには、『自動システム S7-300、ハードウェアおよび
インストール』マニュアルを参照してください。
S7-400 の CPU はすべてこの機能をサポートしています。

!

注意
SFC 14 "DPRD_DAT"を使用する際には、OB6x 接続(クロックのある割り込み)が割り付けられた
プロセスイメージパーティションが存在する I/O エリアへのアクセスは避けてください。

説明
SFC 14 "DPRD_DAT" (DP 標準スレーブの一貫データ読み取り)を使用して、DP 標準スレーブ/PROFINET IO デバイスの一貫データを読み取ります。
S7-300 の CPU に適用される最大長を調べるには、『自動システム S7-300、ハードウェアおよび
インストール』、『ET 200 インターフェースサブモジュール、IM151-7 CPU』、または『ベースサブモジュール BM147CPU』の各マニュアルを参照してください。S7-400 CPU については、マニュ
アル『自動システム S7-400 CPU データ』を参照してください。読み取られたデータレコードは、
データ転送中にエラーが発生しなかった場合に限り、RECORD パラメータで指示された指定領域に入力されます。
指定領域の長さは、STEP 7 で選択したモジュールで設定された長さと同じでなければなりません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

297

リモート I/O または PROFINET IO の SFC
16.5 SFC 14 "DPRD_DAT"による DP 標準スレーブ//PROFINET IO デバイスの一貫データ読み取り
モジュールデザインまたはいくつかの DP 識別子のある DP 標準スレーブから読み取る場合、コンフィグレーション済み開始アドレスを指定する SFC 14 の呼び出しごとに、1 つのモジュール/DP
識別子のデータにのみアクセスすることができます。
パラメータ

宣言

データタイプ メモリ領域

LADDR

INPUT

WORD

説明

I、Q、M、D、L、 モジュールの I 領域の設定済み開始アドレス。
定数
このアドレスからデータが読み取られます。
注記
アドレスは 16 進フォーマットで入力しなければなりません。例えば、診断アドレス 100 は次のとおりです。LADDR:=W#16#64

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションがアクティブなときにエラーが発生すると、戻り値にエラーコードが示されます。

RECORDOUTPUT

ANY

I、Q、M、D、L

読み取られたユーザーデータの指定領域。これは、選択したモジュールに対して STEP 7 で設定したとおりの長さにする必要があります。
ここでは、データタイプ BYTE だけが許可されます。
注: S7-300 CPUの RECORDパラメータには、DB パラメータの完全な仕様が常に必須であることに注意してください(例: P#DB13.DBX0.0
byte 100)。明示的な DB 番号の省略は S7-300
CPU では許可されていないため、ユーザープ
ログラムでエラーが発生します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
298

リファレンスマニュアル, 05/2017, A5E41733394-AA

リモート I/O または PROFINET IO の SFC
16.5 SFC 14 "DPRD_DAT"による DP 標準スレーブ//PROFINET IO デバイスの一貫データ読み取り

エラー情報
注記
DPV1 スレーブにアクセスする場合、これらのスレーブからのエラー情報は DP マスタから SFC
STATUS[3]へ送信できます。このエラー情報の詳細は、「SFB 54 "RALRM"による割り込みの受信」
を参照してください。

エラーコード (W#16#...) 説明
0000

エラーは発生していません。

8090

•

指定された論理ベースアドレスのモジュールがコンフィグレーションされて
いません。

•

一貫したデータの長さに関係する制限が無視されました。

•

開始アドレスが LADDR 内に 16 進フォーマットで入力されませんでした。

8092

ANY リファレンスに BYTE 以外のタイプが指定されています。

8093

コンシステントデータを読み取れる DP モジュール/PROFINET IO デバイスが
LADDR で指定された論理アドレスにありません。

80A0

I/O デバイスにアクセス中にアクセスエラーが検出されました。

80B0

外部 DP インターフェースモジュールのスレーブ故障

80B1

指定された指定領域の長さがSTEP 7 で設定されたユーザーデータ長と同じです。

80B2

外部 DP インターフェースモジュールのシステムエラー

80B3

外部 DP インターフェースモジュールのシステムエラー

80C0

データがまだモジュールによって読み取られていません。

80C2

外部 DP インターフェースモジュールのシステムエラー

80Fx

外部 DP インターフェースモジュールのシステムエラー

87xy

外部 DP インターフェースモジュールのシステムエラー

808x

外部 DP インターフェースモジュールのシステムエラー

8xyy

一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評価」を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

299

リモート I/O または PROFINET IO の SFC
16.6 SFC 15 "DPWR_DAT"による DP 標準スレーブ/PROFINET IO デバイスへの一貫データ書き込み

16.6

SFC 15 "DPWR_DAT"による DP 標準スレーブ/PROFINET IO デバイ
スへの一貫データ書き込み

データの一貫性S7 通信および S7 基本通信の概要のセクションデータの一貫性

SFC 15 の目的
I/O またはプロセスイメージ入力テーブルにアクセスする転送命令を使用して、最大 4 つの続きのバイトのみを書き込むには、SFC 15 "DPWR_DAT"が必要です。

注記
必要であれば、入力のプロセスイメージを介して一貫したデータを読み取ることもできます。CPU
がこの機能をサポートしているかを確認するには、『自動システム S7-300、ハードウェアおよび
インストール』マニュアルを参照してください。
S7-400 の CPU はすべてこの機能をサポートしています。
一貫性のあるデータを書き込む場合は、2 つのオプションを同時に使用しないでください。SFC 15 か、
プロセス出力イメージへの書き込みのいずれかを使用してください。

!

注意
SFC 15 "DPWR_DAT"を使用する際には、OB6x 接続(クロックのある割り込み)が割り付けられた
プロセスイメージパーティションが存在する I/O エリアへのアクセスは避けてください。

説明
SFC 15 "DPWR_DAT" (DP 標準スレーブへの一貫したデータの書き込み) を使用して、RECORD にあるデータをアドレス指定した DP 標準スレーブ/PROFINET IO デバイスに一貫して転送します。
必要であれば、プロセスイメージへ転送します (すなわち、プロセスイメージ内の一貫した範囲
として DP 標準スレーブの個々のアドレス領域をコンフィグレーションした場合)。S7-300 の CPUに送信されるデータの最大長を調べるには、『自動システム S7-300、ハードウェアおよびインス
トール』、『ET 200S インターフェースサブモジュール、IM151-7 CPU』、または『ベースサブモ
ジュール BM147CPU』の各マニュアルを参照してください。S7-400 CPU については、マニュアル『自動システム S7-400 CPU データ』を参照してください。データは同期的に転送されます。つまり、
SFC が完了すると、書き込みジョブも完了します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
300

リファレンスマニュアル, 05/2017, A5E41733394-AA

リモート I/O または PROFINET IO の SFC
16.6 SFC 15 "DPWR_DAT"による DP 標準スレーブ/PROFINET IO デバイスへの一貫データ書き込み
ソース領域の長さは、STEP ７で選択したモジュールに対して設定した長さと同じです。
DP標準スレーブがモジュール型の場合、DPスレーブの1つのモジュールにしかアクセスできません。

パラメータ 宣言

データタイプ メモリ領域

LADDR

WORD

INPUT

説明

I、Q、M、D、L、 データが書き込まれるモジュールのプロセス
定数
イメージ出力領域からのコンフィグレーショ
ン済み開始アドレス。
注記
アドレスは 16 進フォーマットで入力しなけ
ればなりません。例えば、診断アドレス 100
は次のとおりです。LADDR:=W#16#64

RECORD

INPUT

ANY

I、Q、M、D、L

書き込まれるユーザーデータの ソース領域。
これは、選択したモジュールに対して STEP 7
で設定したとおりの長さにする必要があります。ここでは、データタイプ BYTE だけが許可されます。
注: S7-300 CPU の RECORD パラメータには、DB パラメータの完全な仕様が常に必須であることに注意してください(例:P#DB13.DBX0.0 byte 100)。明示的な DB番号の省略は S7-300 CPU では許可されていない
ため、ユーザープログラムでエラーが発生します。

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションがアクティブなときにエラーが発生すると、戻り値にエラーコードが示されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

301

リモート I/O または PROFINET IO の SFC
16.6 SFC 15 "DPWR_DAT"による DP 標準スレーブ/PROFINET IO デバイスへの一貫データ書き込み

エラー情報
注記
DPV1 スレーブにアクセスする場合、これらのスレーブからのエラー情報は DP マスタから SFC
STATUS[3]へ送信できます。このエラー情報の詳細は、「SFB 54 "RALRM"による割り込みの受信」
を参照してください。

エラーコード (W#16#...) 説明
0000

エラーは発生していません。

808x

外部 DP インターフェースモジュールのシステムエラー

8090

•

指定された論理ベースアドレスのモジュールがコンフィグレーションされて
いません。

•

一貫したデータの長さに関係する制限が無視されました。

•

開始アドレスが LADDR 内に 16 進フォーマットで入力されませんでした。

8092

ANY リファレンスに BYTE 以外のタイプが指定されています。

8093

コンシステントデータを書き込める DP モジュール/PROFINET IO デバイスが
LADDR で指定された論理アドレスにありません。

80A1

I/O デバイスにアクセス中にアクセスエラーが検出されました。

80B0

外部 DP インターフェースモジュールのスレーブ故障

80B1

指定されたソース領域の長さが STEP 7 で設定されたユーザー領域の長さと同じではありません。

80B2

外部 DP インターフェースモジュールのシステムエラー

80B3

外部 DP インターフェースモジュールのシステムエラー

80C1

モジュールで前回の書き込みジョブのデータは、モジュールによって処理されて
いません。

80C2

外部 DP インターフェースモジュールのシステムエラー

80Fx

外部 DP インターフェースモジュールのシステムエラー

85xy

外部 DP インターフェースモジュールのシステムエラー

8xyy

一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評価」を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
302

リファレンスマニュアル, 05/2017, A5E41733394-AA

17

PROFInet

17.1

SFC 112、113 および 114 についてのバックグラウンド情報
注記
既定として、オペレーティングシステムにより、PROFINET CBA コンポーネントも、DP 相互接続も、サイクルチェックポイントで更新されます。CPU の応答時間を改良する目的などにより、コンフィ
グレーションでこの自動更新を無効にしている場合には、更新をユーザー自身で行う必要があります。この更新は、適当な時期に、SFC 112～114 を呼び出すことによって行うことができます。
この更新は、コンフィグレーション中に個別ではなく、グループとしてのみ無効にすることができます。

シャドウメモリ
インターフェース DB は、PROFINET CBA コンポーネントのためのユーザープログラムインター
フェースです。関連するプログラムの部分が実行されているときに入出力が安定しているかを確認するために、各インターフェース DB にはオペレーティングシステムによって管理される一意の構造化されたメモリエリアがあります。このエリアを"シャドウメモリ"と呼びます。プログラム
からはインターフェース DB にのみアクセスすることができ、他の(外部の)PROFINET CBA コン
ポーネントはシャドウメモリにのみアクセスすることができます。この振り分け規則により、イン
ターフェース DB の入出力へのアクセスが衝突することが回避されます。

PROFINET CBA コンポーネントの更新
シャドウメモリを使用することによって提供されるデータコンシステンシーは、次の 2 つのステップ
で PROFINET CBA コンポーネントの更新が行われることを意味します。
•

シャドウメモリインターフェース DB の入力は、PROFINET CBA コンポーネントのプログラムが起動する前にコピーされる•

インターフェース DB の出力は、PROFINET CBA コンポーネントのプログラム実行後に出力にコピーされるS7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

303

PROFInet
17.1 SFC 112、113 および 114 についてのバックグラウンド情報
PROFINET CBA コンポーネントは、SIMATIC Manager で PROFINET CBA コンポーネントをどのようにコンフィグレーションしたかに応じて、オペレーティングシステムまたは SFC 112 と 113によって、統合 PROFINET インターフェースを装備した CPU 上で更新されます。以下の図は、SFC
112 および 113 によって行われる更新のダイアグラムを示しています。

システムサイドでの更新は、常にスキャンサイクルチェックポイントで行われます。
SFC 112 および 113 による更新を実行する場合は、PROFINET CBA コンポーネントに関連するプログラムの開始時に SFC 112 を呼び出し、この OB の終了時に SFC 113 を呼び出します。この
手順は、以下の図で OB 30 を使った例として示されています。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
304

リファレンスマニュアル, 05/2017, A5E41733394-AA

PROFInet
17.1 SFC 112、113 および 114 についてのバックグラウンド情報

多機能コンポーネント(1 つのデバイスに複数の PROFINET インターフェース DB を含む)に関する注記:
多機能コンポーネントでは、すべてのインターフェース DB を 1 つの SFC ジョブ(DBNO=0)で更新することが可能です。これは、サイクルチェックポイントでの更新に似ていますが、SFC によってトリガされます。インターフェース DB の更新時にエラーが生じた場合は、残りのインターフェース
DB の更新が続行されます。負の RET_VAL は、更新されたインターフェース DB に関連します。

DP 相互接続の更新
SIMANTIC Manager での PROFINET CBA コンポーネントのコンフィグレーションにより、オペ
レーティングシステムまたは SFC 114 のどちらかで PROFINET CBA が更新されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

305

PROFInet
17.2 SFC 112 "PN_IN"を使用した、PROFINET CBA コンポーネント用ユーザープログラムインターフェースの

入力の更新

17.2

SFC 112 "PN_IN"を使用した、PROFINET CBA コンポーネント用ユー
ザープログラムインターフェースの入力の更新

説明
SFC 112 "PN_IN"を使用し、PROFINET CBA の入力データを PROFINET CBA コンポーネントのシャドウメモリから、関連するインターフェース DB にコピーします。SFC の完了後、アプリケー
ションには使用可能な現在の入力データが渡されます。
パラメータ

宣言

データタイプ メモリ領域

説明

DBNO

INPUT

WORD

I、Q、M、D、L、
定数

インターフェース DB の DB 番号(DBNO=0: す
べての PROFINET CBA インターフェース DBの更新)

RET_VALOUTPUT

INT

I、Q、M、D、L、

エラー情報

エラー情報
エラーコード (W#16#...)

説明

0000

エラーは発生していません。

8001

PROFINET CBA コンフィグレーションが使用できないか、または無効です。

8002

DB 番号は、コンポーネントコンフィグレーションの番号とは一致しません。

8004

DB 番号はコンポーネントコンフィグレーションの番号と一致しますが、DB は
まだロードされていません。

8005

インターフェース DB はキーワード UNLINKED でコンパイルされています。
つまり、ロードメモリにはありますが、ワークメモリにはありません。

8006

インターフェース DB は、CPU では書き込み保護されています。

80B1

読み取り時または書き込み時に長さエラーが発生しました。コンポーネント
コンフィグレーションが、ロードされた DB には適していません。

8xyy

一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評価」を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
306

リファレンスマニュアル, 05/2017, A5E41733394-AA

PROFInet
17.3 SFC 113 "PN_OUT"を使用した、PROFInet CBA コンポーネントの PROFINET インターフェース出力の更新

17.3

SFC 113 "PN_OUT"を使用した、PROFInet CBA コンポーネントのPROFINET インターフェース出力の更新

説明
SFC 113 "PN_OUT"を使用し、アプリケーションで生成された出力データを PROFINET CBA コン
ポーネントのインターフェース DB から、関連するシャドウメモリにコピーします。SFC の完了後、他の PROFINET CBA コンポーネントには使用可能な現在の入力が渡されます。
パラメータ

宣言

データタイプ メモリ領域

説明

DBNO

INPUT

WORD

I、Q、M、D、L、
定数

インターフェース DB の DB 番号(DBNO=0:
すべての PROFINET インターフェース DB の
更新)

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

エラーコード (W#16#...)

説明

0000

エラーは発生していません。

8001

PROFINET CBA コンフィグレーションが使用できないか、または無効です。

8002

DB 番号は、コンポーネントコンフィグレーションの番号とは一致しません。

8004

DB 番号はコンポーネントコンフィグレーションの番号と一致しますが、DB は
まだロードされていません。

8005

インターフェース DB はキーワード UNLINKED でコンパイルされています。
つまり、ロードメモリにはありますが、ワークメモリにはありません。

8006

インターフェース DB は、CPU では書き込み保護されています。

80B1

読み取り時または書き込み時に長さエラーが発生しました。コンポーネント
コンフィグレーションが、ロードされた DB には適していません。

8xyy

一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評価」を参照してください。

エラー情報

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

307

PROFInet
17.4 SFC 114 "PN_DP"を使用して DP 相互接続を更新する

17.4

SFC 114 "PN_DP"を使用して DP 相互接続を更新する

説明
SFC 114 "PN_DP"を使用し、下記の全てを更新します:•ローカル PROFIBUS 上の PROFINET CBA コンポーネント間の相互接続•

ローカル PROFIBUS 上の PROFINET CBA コンポーネントと外部 PROFINET CBA コンポーネント間の、周期的な伝送をする相互接続。この相互接続は、ネットワーク間(Industrial Ethernetと PROFIBUS DP 間)で適用します。

ファンクション
SFC 114 "PN_DP"は非同期に機能します。これは、複数の SFC の呼び出しに渡って処理が行われることを意味します。DP 相互接続の更新を開始するには、REQ=1 で SFC 114 を呼び出します。
ジョブステータスは出力パラメータ RET_VAL および BUSY で示されます。(関連項目: 非同期 SFCのパラメータ REQ、RET_VAL、BUSY の意味.
パラメータ

宣言

データ
タイプ

メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、
定数

REQ=1: DP 相互接続の更新を開始します。

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、戻り値に該当するエラーコードか含まれます。

BUSY

OUTPUT

BOOL

I、Q、M、D、L

BUSY=1:
DP 相互接続の更新は、まだ完了していません。

エラー情報
エラーコード (W#16#...)

説明

0000

ジョブは正常に実行されました7000

1 回目の呼び出しで REQ = 0: DP 相互接続の更新が開始されていません。BUSYの値は 0 です。

7001

(S7-400 にのみ関連:) REQ=1 での最初の呼び出し。BUSY の値は 1 です。

7002(S7-400 にのみ関連:) S7-400 中間の呼び出し(REQ は無関係)。DP 相互接続の更新は、まだ完了していません。BUSY の値は 1 です。

8001

PROFINET CBA コンフィグレーションが使用できないか、または無効です。

8095

高い優先度クラスの DP 相互接続の更新は開始しています。しかし、オペレー
ティングシステムまたは SFC 114 による優先度の低いクラスの更新は、まだ実行中です。

8xyy

一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評価」を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
308

リファレンスマニュアル, 05/2017, A5E41733394-AA

18

PROFINET CPU 用の SFC と SFB

18.1

SFC99 "WWW"を使用してユーザーの Web ページを有効化または同期する

概要
コンフィグレーションツール S7-Web2PLC を使用すると、STEP 7 プログラムと S7 PROFINET
CPU に、ユーザー自身の Web ページを統合することができます。
CPU 上の Web アプリケーションは、S7-Web2PLC によって作成された次の DB を持っています。
•

1 つの Web 制御 DB•

複数のフラグメント DB

Web 制御 DB には、
Web アプリケーションの構造情報がすべて格納されます。
フラグメント DB には、
コーディングされたユーザーWeb ページが格納されます。SFC 99 を使用して、CPU 上で Web
アプリケーションの有効化や同期を行います。
ページコンテンツは、自動的に、あるいはユーザープログラムの制御に従って、CPU のデータにアクセスします。このしくみの詳細な説明は、S7-Web2PLC コンフィグレーションツールのオンライン
ヘルプにあります(下記参照)。

説明•

CPU スタートアップ後、Web サーバーは、ユーザー定義 Web ページを認識しません。このため、SFC99 "WWW"を呼び出して、Web ページが Web サーバーで認識されるようにする必要があります。この呼び出しは、たとえば、OB 100 で行うことができます。

この追加の SFC99 呼び出しは、Web ページを更新する方法に応じて異なります。
•

Web ページの自動更新:
変数"init"、または、変数"error"(エラーの場合)が、Web 制御 DB の"commandstate"構造で設定されるまでは、SFC99 "WWW"を呼び出します。エラーの場合、エラーの原因が、変数"last_error"に示されます。

•

Web ページのユーザープログラム制御更新:
SFC99 "WWW"が、Web ページに合わせてユーザープログラムを調整します。Web ページごとの基本手順を以下に示します。

•

SFC 99 を呼び出します。

•

Web 制御 DB の"requesttab"構造を評価します。

•

ユーザープログラム内の手動要件を処理します。

•

SFC 99 を再び呼び出して、その要件に応答します。

パラメータ

宣言

データタイプ

メモリ領域

説明

CTRL_DBINPUTBLOCK_DBD

Web 制御 DB

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

309

PROFINET CPU 用の SFC と SFB
18.1 SFC99 "WWW"を使用してユーザーの Web ページを有効化または同期する

エラー情報
エラーコード (W#16#...)

説明

0000

エラーは発生していません。

00xy

x = 1: DB の Web 制御の初期化が失敗しました。発生したエラーは、(Web制御 DB 内にある)"最後のエラー"で詳細に説明しています。そのようなエラーの 1 つは、"フラグメント DB が Web 制御 DB と一致しない"というものです。
y は、4 つのチャンネルのいずれを使用してユーザープログラムでジョブを受信すべきかを示します。

803A

指定した Web 制御 DB が CPU に存在しません。

8081

Web 制御 DB のバージョン違いまたはフォーマット不良

80C1

Web アプリケーションを初期化するために利用できるリソースがありません。ここでいう"リソース"は、同時ユーザープログラム(異なった Web
制御 DB)の最大です。

詳細情報
Web 制御 DB の SFC99 の詳細な説明は、S7-Web2PLC コンフィグレーションツールのオンライン
ヘルプにあります(下記参照)。これは、STEP 7 DVD の DVD_Root\Optional Components\S7
Web2PLC の、ファイル"Web2PLCAppx.chm"にあります(ドイツ語は x=a、英語は x=b)。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
310

リファレンスマニュアル, 05/2017, A5E41733394-AA

PROFINET CPU 用の SFC と SFB
18.2 SFB104 "IP_CONF"を使用して IP コンフィグレーションを設定する

18.2

SFB104 "IP_CONF"を使用して IP コンフィグレーションを設定する

説明
SFB104 "IP_CONF"は、CPU の統合 PROFIBUS インターフェースで、プログラム制御によるコンフィグレーションに使用します。前の有効なコンフィグレーションデータは上書きされます。
ここでは、インターフェースコンフィグレーションについて以下の設定が可能です。
•

IP パラメータ: IP アドレス、サブネットマスク、ルータアドレス•

PROFINET IO デバイス名(CPU が PROFINET IO デバイスとして動作している場合)

コンフィグレーションデータはコンフィグレーション DB に格納する必要があります。
SFB104 を使用した、プログラム制御による IP コンフィグレーション設定は、STEP 7 のコンフィ
グレーションの代わりと考えることができます。ただしこれは、HW Config に対し、IP パラメータに「HW Config と異なる方法で」割り付けることを明示的に指定した場合にのみ効果があります。

ブロックの動作SFB104 "IP_CONF"は、非同期で動作する SFB です。つまり、複数の SFB 呼び出しにわたって処理が行われます。REQ = 1 で SFB104 を呼び出して伝送を開始します。
一度に 1 つのジョブのみアクティブにできます。
ジョブのステータスは、出力パラメータ BUSY および STATUS に表示されます。STATUS は、
非同期 SFC の RET_VAL 出力パラメータに対応します(「非同期 SFC のパラメータ REQ、
RET_VAL、
BUSY の意味」を参照)。
次の表は、BUSY、DONE および ERROR の関係を示しています。これらの値に基づいて、コンフィ
グレーションデータの伝送が完了した時点での SFB104 の現在のステータスを表示できます。
BUSY

DONE

エラー

説明

TRUE

対象外

対象外

ジョブが実行中です。

FALSE

TRUE

FALSE

ジョブが正常に完了しました。

FALSE

FALSE

TRUE

ジョブにエラーが発生して終了しました。エラーの原因は STATUS パラメータで見つかります。

FALSE

FALSE

FALSE

SFB に送信された(新しい)ジョブはありません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

311

PROFINET CPU 用の SFC と SFB
18.2 SFB104 "IP_CONF"を使用して IP コンフィグレーションを設定する

パラメータ
パラメータ

宣言

データタイプ

メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L

コントロールパラメータ REQUEST。
信号立ち上がりエッジで伝送を開始し
ます。

LADDR

INPUT

WORD

M、D、定数PROFINET インターフェースの診断アド
レス

CONF_DB

INPUT

ANY

D

コンフィグレーションデータへのポイン
タ(許容されるデータタイプ: BYTE、
WORD、Block_DB)
S7-300 CPU の場合、パラメータ
CONF_DB が、常に、DB パラメータの完全な指定(たとえば、P#DB13.DBX0.0
バイト 100)を必要とすることに注意してください。明示的な DB 番号の省略は
S7-300 CPU では許可されていないた
め、ユーザープログラムでエラーメッ
セージが発生します。

DONE

OUTPUT

BOOL

I、Q、M、D、L

ステータスパラメータ DONE:
0: ジョブが起動していないか、または実行中です。
1: ジョブがエラーなしで実行されました。

BUSY

OUTPUT

BOOL

I、Q、M、D、L

ステータスパラメータ BUSY:
0: ジョブは完了しています。
1: ジョブはまだ実行中です。

エラー

OUTPUT

BOOL

I、Q、M、D、L

ステータスパラメータ ERROR:ERROR=1: 処理中にエラーが発生しました。STATUS は、エラータイプの詳細情報を返します。

STATUSOUTPUT

DWORD

I、Q、M、D、L

ステータスパラメータ STATUS: エラー
情報

ERR_LOCOUTPUT

DWORD

I、Q、M、D、L

エラーのソース(エラーが発生したパラ
メータブロックのフィールド ID とサブフィールドタイプ ID)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
312

リファレンスマニュアル, 05/2017, A5E41733394-AA

PROFINET CPU 用の SFC と SFB
18.2 SFB104 "IP_CONF"を使用して IP コンフィグレーションを設定する

コンフィグレーション DB
以下の図は、伝送するコンフィグレーションデータがどのようにコンフィグレーション DB に格納されるかを示します。

したがって、コンフィグレーションデータは単一のフィールドと複数のサブフィールドで構成され
ます。
•

•

フィールドは単一のヘッダと複数のサブフィールドで構成されます。ヘッダは以下の要素の順に構成されます。
-

フィールドタイプ ID(データタイプ INT): 0-

フィールド ID(データタイプ INT): 0-

サブフィールドカウント(データタイプ INT): サブフィールドの数

サブフィールドは、ヘッダ(サブフィールドタイプ ID、サブフィールドの長さ、サブフィールドモード)、およびサブフィールド固有のパラメータの順に構成されます。それぞれのサブフィー
ルドは、偶数のバイトで埋める必要があります。

サブフィールドのモードとして、次の値が許可されます。
-

1: コンフィグレーションデータの恒久的な妥当性-

2: コンフィグレーションデータの一時的な妥当性(既存の恒久的コンフィグレーション
データの削除を含む)

注記
現在、1 つのフィールドだけが許可されています。そのパラメータ"field_type_id"と"field_id"は値 0 にする必要があります。それ以外の、field_type_id と field_id にその他の値を入力したフィールドは、
将来の拡張用に予約されています。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

313

PROFINET CPU 用の SFC と SFB
18.2 SFB104 "IP_CONF"を使用して IP コンフィグレーションを設定する

許可されているサブフィールド
サブフィールドタイプ ID

サブフィールド名

説明30

SUB_IP_SUITE_IPV4

IP パラメータ: IP アドレス、サブネットマスク、
ルータアドレス

40

SUB_NOSPROFINET IO デバイス名(ステーション名)

許可されているサブフィールドのタイプ定義•

サブフィールド"SUB_IP_SUITE_IPV4"

TYPE "SUB_IP_SUITE_V4"
STRUCTid:

int := 30;// サブフィールドのタイプ ID

len:

int := 18;// サブフィールドの長さ

mode: int := 1;// サブフィールドのモード(1: 恒久的、//2: 一時的)

ipaddr_3:

BYTE := b#16#c8;// IP アドレスの上位バイト: 200

ipaddr_2:

BYTE := b#16#0c;// IP アドレスの上位バイト: 12

ipaddr_1:

BYTE := b#16#01;// IP アドレスの下位バイト: 1

ipaddr_0:

BYTE := b#16#90;// IP アドレスの下位バイト: 144

snmask_3 : BYTE := b#16#FF;// サブネットマスクの上位バイト: 255

snmask_2 : BYTE := b#16#FF;// サブネットマスクの上位バイト: 255

snmask_1 : BYTE := b#16#FF;// サブネットマスクの下位バイト: 255

snmask_0 : BYTE := b#16#00;// サブネットマスクの下位バイト: 0router_3 : BYTE := b#16#c8;// ルータの上位バイト: 200router_2 : BYTE := b#16#0c;// ルータの上位バイト: 12

router_1 : BYTE := b#16#01;// ルータの下位バイト: 1router_0 : BYTE := b#16#01;// ルータの下位バイト: 1

END_STRUCTEND_TYPE

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
314

リファレンスマニュアル, 05/2017, A5E41733394-AA

PROFINET CPU 用の SFC と SFB
18.2 SFB104 "IP_CONF"を使用して IP コンフィグレーションを設定する•

サブフィールド"SUB_NOS"TYPE "SUB_NOS"STRUCTid:

int := 40;// サブフィールドのタイプ ID

len:

int := 246;// サブフィールドの長さ

mode: int := 1;// サブフィールドのモード(1: 恒久的、//2: 一時的)

nos:

ARRAY[1..240] of BYTE := 0;

デバイス名: この ARRAY は、最初のバイトから始めて占有されなければなりません。割り付けるデバイス名より ARRAY の方が長い場合、実際のデバイス名の後にヌルバイトを入力する必要があります(IEC 61158-6-10 に準拠)。そうしないと番号は拒否され、SFB 104 は STATUS でエラーコード
DW#16#C0809400 を受信します。
最初のバイトとして NULL を割り付けると、デバイス名が削除されます。

END_STRUCTEND_TYPE

デバイス名は、以下の制限の対象になります。
-

合計 240 文字以内(英小文字、数字、ダッシュ、ピリオド)に制限されます。

-

デバイス名の 1 つの名前、すなわち、2 つのピリオド間の文字列は、最大 63 文字を超えてはいけません。この名前を、"-"文字で開始/終了することは許可されません。

-

ウムラウト(ä、ö など)、角かっこ、アンダースコア、空白などの特殊文字を含めることはできません。許可されている特殊文字はダッシュのみです。

-

デバイス名は、"-"または"."文字で開始/終了してはいけません。

-

デバイス名は、数字で開始してはいけません。

-

デバイス名は、構造 n.n.n.n (n = 0...999)であってはいけません。

-

デバイス名は、文字列"port-xyz"または"port-xyz-abcde"で開始してはいけません(a、b、c、
d、e、x、y、z = 0～9)。

-

デバイス名の文字列".."は許可されません。

注記"nos"配列を 240 バイトより短くすることもできますが、最小の長さは 2 バイトです。
この場合、
"len"
変数(サブフィールドの長さ)を適切に調整する必要があります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

315

PROFINET CPU 用の SFC と SFB
18.2 SFB104 "IP_CONF"を使用して IP コンフィグレーションを設定する

エラー情報
エラー

STATUS (DW#16#...)

ERR_LOC

説明

00x00000000

0

ジョブの処理が完了し、エラーは発生しなかった。

00x00700000

0

アクティブなジョブ処理はありません。

00x00700100

0

ジョブの処理開始

00x00700200

0

中間の呼び出し(REQ は無関係)

10xC08xyy000

一般的なエラー情報については、「出力パラメータ
RET_VAL によるエラーの評価」を参照

10xC0808000

0

LADDR が無効

10xC0808100

0

LADDR が、サポート対象の PROFINET インターフェー
スに割り付けられていない

10xC0808200

0パラメータ CONF_DB のエラー: データタイプがサポー
ト対象外

10xC0808300

0パラメータ CONF_DB のエラー: ポインタがサポート対象外の領域を指している

1

0xC0808400

0パラメータ CONF_DB のエラー: ANY ポインタの長さの異常

10xC0808700

0

CONF_DB パラメータのエラー: コンフィグレーション
データにおける長さ指定の矛盾

10xC0808800

f, 0

フィールドタイプ ID の値が不正

1

0xC0808900

f, 0

フィールド ID の値が不正

1

0xC0808A00

f, 0

サブフィールドのカウント値異常

10xC0808B00

f, t

サブフィールド ID の値が不正

1

0xC0808C00

f, t

サブフィールドが 2 回以上使用されている

1

0xC0808D00

f, t

サブフィールドの長さが誤りまたは不正

1

0xC0808E00

f, t

サブフィールドモードの値が不正

1

0xC0808F00

f, t

サブフィールドに前のサブフィールドとのコンフリクトが含まれている1

0xC0809000

f, t

サブフィールドのパラメータが書き込み保護されている(コンフィグレーション中にパラメータの割り付けが行
われた、PNIO モードが有効にされたなど)。

1

0xC0809400

f, t

サブフィールドのパラメータ値が未定義または不正

1

0xC080C200

0

伝送不可(インターフェースが利用できないなど)

10xC080C300

0

リソースが不十分(SFB104を異なるパラメータで複数回呼び出した、など)

10xC080C400

0一時的な通信エラー

上の表で、f はフィールド ID で、t はエラーが発生しているパラメータブロックのサブフィールドです。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 1/2
316

リファレンスマニュアル, 05/2017, A5E41733394-AA

s

PNO 準拠ユーザーデータサ
イクリックアクセスの FB

19

グローバルデータ通信用のSFC

20

S7 通信と S7 基本通信の概要

21

S7-300/400 システム用システム
ソフトウェアおよび標準ファンク
ション - ボリューム 2/2

S7 通信

22

未構成 S7 コネクション用のコミュニケーション SFC

23

リファレンスマニュアル

Industrial Ethernet 経由のオープンな通信24

ブロック関連メッセージの生成

25

IEC タイマと IEC カウンタ

26

統合制御用の SFB

27

コンパクト CPU 用の SFB

28

H CPU の SFC

29

統合ファンクション(統合 I/O
付き CPU 用)

30

プラスチック技術

31

診断データ

32

システムステータスリスト
(SSL)

33

イベント

34

SFC および SFB のリスト

35

SIMATIC

05/2017

A5E41733394-AA

法律上の注意
警告事項
本書には、ユーザーの安全を守るため、および製品や接続された機器の損傷を防ぐために遵守すべき注意事項が記載されています。ユーザーの安全性に関する注意事項は、安全警告サインで強調表示されています。このサインは、物的損傷に関する注意事項には表示されません。
危険
適切な予防措置を講じなければ、きわめて高い可能性で、死亡、重傷、または機器の重大な損傷を引き起こす
恐れがあります。
警告
適切な予防措置を講じない場合、死亡、重傷、または機器の重大な損傷を引き起こす恐れがあります。
注意
適切な予防措置を講じなければ、人体に軽度の傷害を引き起こす恐れがあります。
注意
適切な予防措置を講じなければ、機器の損傷を引き起こす恐れがあります。
複数の危険度が存在する場合、一番高い危険度を表す警告が使用されます。安全警告シンボルを伴う人的傷害に関する警告には、物的損害に関する警告も含まれる場合があります。

有資格者
装置/システムのセットアップおよび使用にあたっては必ず本マニュアルを参照してください。機器のインス
トールおよび操作は有資格者のみが行うものとします。有資格者とは、法的な安全規制/規格に準拠してアースの取り付け、電気回路、設備およびシステムの設定に携わることを承認されている技術者のことをいいます。

Siemens製品を正しくお使いいただくために以下の点に注意してください。
警告
Siemens製品は、カタログおよび付属の技術説明書の指示に従ってお使いください。他社の製品または部品との併用は、弊社の推奨もしくは許可がある場合に限ります。Siemens 製品を正しく安全にご使用いただくには、適切な運搬、保管、組み立て、据え付け、配線、始動、操作、保守を行ってください。ご使用になる場所は、許容された範囲を必ず守ってください。付属の技術説明書に記述されている指示を遵守してください。

商標
本書において®で識別されるすべての名称は、Siemens AG の登録商標です。その他、この文書に記載されている会社名や製品名は各社の商標であるため、第三者が自己の目的のためにこれらの名前を使用すると、商標所有者の権利を侵害する恐れがあります。

免責事項
本書の内容は、記載されているハードウェアやソフトウェアとの齟齬がないよう見直されています。しかしながら、相違点をすべて取り除くことはできないため、完全な一致を保証するものではありません。本マニュアルの内容は定期的に見直され、必要な修正は次回の版で行われます。

Siemens AG

A5E41733394-AA

Copyright © Siemens AG 2017.

Division Digital FactoryⓅ 03/2017 は変更されることがあります。

All rights reserved

Postfach 48 48
90026 NÜRNBERGGERMANY目次
19

PNO 準拠ユーザーデータサイクリックアクセスの FB......................................................................... 323
19.1
19.2
19.3
19.4
19.5

20

グローバルデータ通信用の SFC........................................................................................................... 331
20.1
20.2

21

S7 通信の SFB/FB および SFC/FC の共有パラメータ ............................................................................ 347
コンフィグレーション済み S7 コネクション用 SFB のルーチンの起動................................................... 351
SFB の問題対処法................................................................................................................................. 353
SFB 8/FB 8 "USEND"による未調整のデータの送信 ............................................................................... 355
SFB/FB 9 "URCV"による未調整のデータ受信........................................................................................ 359
SFB/FB 12 "BSEND"による分割されたデータの送信 ............................................................................. 362
SFB/FB 13 "BRCV"による分割されたデータの受信 ............................................................................... 366
SFB/FB 15 "PUT"によるリモート CPU へのデータの書き込み ............................................................... 369
SFB/FB 14 "GET"によるリモート CPU からのデータの読み取り ........................................................... 373
SFB 16 "PRINT"によるプリンタへのデータの送信 ................................................................................ 376
SFB 19 "START"によるリモートデバイス上のウォームリスタートまたはコールドリスタートの起動 ...... 382
SFB 20 "STOP"によるリモートデバイスの STOP 状態への変更 ............................................................ 385
SFB 21 "RESUME"によるリモートデバイス上のホットリスタートの起動 ............................................. 387
SFB 22 "STATUS"によるリモートパートナーのステータスの問い合わせ .............................................. 389
SFB 23 "USTATUS"によるリモートデバイスのステータス変更の受信.................................................... 391
SFC 62 "CONTROL"による SFB インスタンスに属している接続のステータスの問い合わせ.................. 393

未構成 S7 コネクション用のコミュニケーション SFC ......................................................................... 395
23.1
23.2
23.3
23.4
23.5
23.6
23.7
23.8
23.9
23.10

24

S7 通信のブロックと S7 基本通信との相違 ........................................................................................... 337
データの一貫性..................................................................................................................................... 340
S7 通信 SFB の分類とワークメモリ要件 ............................................................................................... 341
S7 基本通信用ブロックの概要............................................................................................................... 343

S7 通信 ................................................................................................................................................ 347
22.1
22.2
22.3
22.4
22.5
22.6
22.7
22.8
22.9
22.10
22.11
22.12
22.13
22.14
22.15
22.16

23

SFC 60 "GD_SND"による GD パケットの送信 ...................................................................................... 331
SFC 61 "GD_RCV"による受信した GD パケットのプログラム済み承認 ................................................... 333

S7 通信と S7 基本通信の概要 .............................................................................................................. 337
21.1
21.2
21.3
21.4

22

PNO に準拠したユーザーデータへの周期的アクセス用 FB の概要 ......................................................... 323
FB 20 "GETIO"を使用して、DP 標準スレーブ/PROFINET IO デバイスのすべての入力を読み取る ......... 324
FB 21 "SETIO"を使用して、DP 標準スレーブ/PROFINET IO デバイスのすべての出力を書き込む ......... 325
FB 22 "GETIO_PART を使用して、DP 標準スレーブ/PROFINET IO デバイスの一部の入力を読み取る .... 326
FB 23 "SETIO_PART"を使用して、DP 標準スレーブ/PROFINET IO デバイスの出力の一部を書き込む.. 328

通信 SFC の共通パラメータ .................................................................................................................. 395
コンフィグレーションされていない S7 コネクション用のコミュニケーション SFCに関するエラー情報............................................................................................................................................................ 397
SFC 65 "X_SEND"によるローカル S7 ステーションの外部にある通信パートナーへのデータの送信 ...... 401
SFC 66 "X_RCV"によるローカル S7 ステーションの外部にある通信パートナーからのデータの受信 ..... 402
SFC 68 "X_PUT"によるローカル S7 ステーションの外部にある通信パートナーへのデータの書き込み ...... 406
SFC 67 "X_GET"によるローカル S7 ステーションの外部にある通信パートナーからのデータの読み取り .. 408
SFC 69 "X_ABORT"によるローカル S7 ステーションの外部にある通信パートナーへの既存の接続の中止 .................................................................................................................................................. 410
SFC 72 "I_GET"によるローカル S7 ステーション内にある通信パートナーからのデータの読み取り....... 411
SFC 73 "I_PUT"によるローカル S7 ステーション内にある通信パートナーへのデータの書き込み .......... 413
SFC 74 "I_ABORT"によるローカル S7 ステーション内にある通信パートナーへの既存の接続の中止 ..... 415

Industrial Ethernet 経由のオープンな通信 .......................................................................................... 417
24.1

概要...................................................................................................................................................... 417

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

319

目次

24.2
24.3
24.4
24.5
24.6
24.7
24.8
24.9
24.10
24.11
24.12
24.13
24.14

25

ブロック関連メッセージの生成 ........................................................................................................... 453
25.1
25.2
25.3
25.4
25.5
25.6
25.7
25.8
25.9
25.10
25.11
25.12
25.13
25.14
25.15
25.16
25.17

26

SFB 3 "TP"によるパルスの生成 ............................................................................................................ 491
SFB 4 "TON"によるオンディレーの生成 ............................................................................................... 493
SFB 5 "TOF"によるオフディレーの生成 ................................................................................................ 495
SFB 0 "CTU"によるカウントアップ ...................................................................................................... 497
SFB 1 "CTD"によるカウントダウン ...................................................................................................... 498
SFB 2 "CTUD"によるカウントアップ/カウントダウン ........................................................................... 499

統合制御用の SFB ............................................................................................................................... 501
27.1
27.2
27.3
27.4

28

SFB によるブロック関連メッセージの生成について ............................................................................. 453
SFB 36 "NOTIFY"による承認なしのブロック関連メッセージの生成 ...................................................... 457
SFB 31 "NOTIFY_8P"による応答確認表示なしのブロック関連メッセージの生成 .................................. 459
SFB 33 "ALARM"による承認付きブロック関連メッセージの生成 .......................................................... 461
SFB 35 "ALARM_8P"による 8 つの信号の関連値を持つブロック関連メッセージの生成"........................ 464
SFB 34 "ALARM_8"による 8 つの信号の関連値なしのブロック関連メッセージの生成 ........................... 467
SFB 37 "AR_SEND"によるアーカイブデータの送信 .............................................................................. 469
SFC 10 "DIS_MSG"によるブロック関連、シンボル関連、グループ状態メッセージの無効化 ................. 471
SFC 9 "EN_MSG"によるブロック関連、シンボル関連、グループ状態メッセージの有効化 ..................... 473
ブロック関連メッセージを生成するための SFB の起動動作 .................................................................. 475
ブロック関連メッセージを生成する SFB の問題対処法 ......................................................................... 476
SFC によるブロック関連メッセージの生成について ............................................................................. 477
SFC 17 "ALARM_SQ"による確認応答可能なブロック関連メッセージの生成および SFC 18"ALARM_S"による常時確認応答済みブロック関連メッセージの生成 ..................................................... 480
SFC 19 "ALARM_SC"による最後の ALARM SQ イベントメッセージ入力の確認応答ステータスの問い合わせ ........................................................................................................................................... 483
SFC 107 "ALARM_DQ"および SFC 108 "ALARM_D"による確認応答可能および永続的に確認応答されるブロック関連メッセージの生成 .................................................................................................. 484
SFC 105 "READ_SI"による動的システムリソースの読み取り................................................................ 486
SFC 106 "DEL_SI"による動的システムリソースの読み取り .................................................................. 489

IEC タイマと IEC カウンタ .................................................................................................................. 491
26.1
26.2
26.3
26.4
26.5
26.6

27

Industrial Ethernet 経由のオープンな通信のための FB のファンクション ............................................... 418
TCP および ISO on TCP による通信接続用のパラメータの割り付け ...................................................... 422
UDP によるローカル通信アクセスポイント用パラメータの割り付け ..................................................... 427
UDP によるリモートパートナーのアドレス情報の構造 ......................................................................... 430
使用される CPU とプロトコルバリアント(connection_type)の関係と、転送可能なデータ長 ..................... 431
FB 65 "TCON"による接続の確立 ........................................................................................................... 432
FB 66 "TDISCON"による接続の終了 ..................................................................................................... 435
FB 63 "TSEND"による TCP および ISO on TCP 経由のデータ送信 ........................................................ 437
FB 64 "TRCV"による TCP および ISO on TCP 経由のデータ受信........................................................... 440
FB 67 "TUSEND"による UDP 経由のデータ送信.................................................................................... 444
FB 68 "TURCV"による UDP 経由のデータ受信 ...................................................................................... 447
FB 210 "FW_TCP"による、FETCH および WRITE サービスを使用した、TCP 経由のサードパーティ
製システムへのリンク .......................................................................................................................... 450
FB 220 "FW_IOT"による、FETCH および WRITE サービスを使用した、
ISO-on-TCP 経由のサードパー
ティ製システムへのリンク ................................................................................................................... 451

SFB 41/FB 41 "CONT_C"による連続コントロール ................................................................................ 501
SFB 42/FB 42 "CONT_S"によるステップコントロール ......................................................................... 509
SFB 43/FB 43 "PULSEGEN"によるパルス生成...................................................................................... 515
PULSEGEN ブロックの例..................................................................................................................... 527

コンパクト CPU 用の SFB ................................................................................................................... 531
28.1
28.2
28.3
28.4
28.5

SFB 44 "Analog"を使用したアナログ出力による位置決め...................................................................... 531
SFB 46 "DIGITAL"を使用したデジタル出力による位置決め ................................................................... 544
SFB 47 "COUNT"によるカウンタの制御 ............................................................................................... 556
SFB 48 "FREQUENCY"による周波数測定の制御................................................................................... 562
SFB 49 "PULSE"によるパルス幅変調の制御.......................................................................................... 566

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
320

リファレンスマニュアル, 05/2017, A5E41733394-AA

目次

28.6
28.7
28.8
28.9
28.10
28.11
28.12

29

H CPU の SFC ..................................................................................................................................... 599
29.1

30

診断データ構造の概要 .......................................................................................................................... 611
診断データ ........................................................................................................................................... 612
チャンネル固有診断データの構造 ......................................................................................................... 614

システムステータスリスト(SSL) ......................................................................................................... 617
33.1
33.2
33.3
33.4
33.5
33.6
33.7
33.8
33.9
33.10
33.11
33.12
33.13
33.14
33.15
33.16
33.17
33.18
33.19
33.20
33.21
33.22
33.23
33.24
33.25
33.26
33.27
33.28
33.29
33.30

34

SFC 63 (AB_CALL)............................................................................................................................... 609

診断データ........................................................................................................................................... 611
32.1
32.2
32.3

33

SFB 29 (HS_COUNT) ........................................................................................................................... 603
SFB 30 (FREQ_MES) ........................................................................................................................... 605
SFB 38 (HSC_A_B) .............................................................................................................................. 606
SFB 39 (POS)....................................................................................................................................... 607

プラスチック技術 ................................................................................................................................ 609
31.1

32

SFC 90 "H_CTRL"による H システムの操作コントロール...................................................................... 599

統合ファンクション(統合 I/O 付き CPU 用).......................................................................................... 603
30.1
30.2
30.3
30.4

31

SFB 60 "SEND_PTP"によるデータ (ASCII、3964(R))の送信 ................................................................. 569
SFB 61 "RCV_PTP"によるデータ(ASCII、3964(R))の受信 .................................................................... 572
SFB 62 "RES_RCVB"による受信バッファ(ASCII、3964(R))の削除........................................................ 575
SFB 63 "SEND_RK"によるデータ(512(R))の送信 .................................................................................. 577
SFB 64 "FETCH RK"によるデータ(RK 512)のフェッチ ......................................................................... 581
SFB 65 "SERVE_RK"によるデータ(RK 512)の受信と提供 ..................................................................... 586
SFB 60～65 の追加エラー情報 .............................................................................................................. 590

システムステータスリスト(SSL)の概要................................................................................................. 617
サブ SSL リストの構造 ......................................................................................................................... 619
SSL-ID ................................................................................................................................................. 620
可能なサブシステムステータスリスト .................................................................................................. 621
SSL-ID W#16#xy11 - モジュール ID ...................................................................................................... 622
SSL-ID W#16#xy12 - CPU 特性............................................................................................................. 623
SSL-ID W#16#xy13 - メモリ領域 .......................................................................................................... 626
SSL-ID W#16#xy14 - システム領域 ....................................................................................................... 627
SSL-ID W#16#xy15 - ブロックタイプ.................................................................................................... 629
SSL-ID W#16#xy74 - モジュール LED のステータス.............................................................................. 630
SSL-ID W#16#xy1C - コンポーネント ID............................................................................................... 632
SSL-ID W#16#xy22 - 割り込みステータス............................................................................................. 638
SSL ID W#16#xy25 - OB へのプロセスイメージパーティションの割り付け ........................................... 640
SSL-ID W#16#xy32 - 通信ステータスデータ ......................................................................................... 643
インデックス W#16#0005 のサブリスト抽出 SSL-ID W#16#0132 のデータレコード ............................. 644
インデックス W#16#0008 のサブリスト抽出 SSL-ID W#16#0132 のデータレコード ............................. 645
SSL-ID W#16#0132 およびインデックス W#16#000B のサブリスト抽出のデータレコード................. 647
SSL-ID W#16#0132 およびインデックス W#16#000C のサブリスト抽出のデータレコード ................ 648
インデックス W#16#0004 のサブリスト抽出 SSL-ID W#16#0232 のデータレコード ............................. 649
SSL-ID W#16#xy71 - H CPU グループ情報............................................................................................ 651
SSL-ID W#16#xy75 - H システムにある切り替え DP スレーブ/IO デバイス............................................ 654
SSL-ID W#16#xy90 EDP マスタシステム情報 ....................................................................................... 656
SSL-ID W#16#xy91 - モジュールステータス情報................................................................................... 658
SSL-ID W#16#xy92 - ラック / ステーションステータス情報 .................................................................. 664
SSL-ID W#16#xy95 - 拡張 DP マスタシステム / PROFINET IO システム情報..................................... 668
SSL-ID W#16#xyA0 - 診断バッファ....................................................................................................... 670
SSL-ID W#16#00B1 - モジュール診断情報 ............................................................................................ 671
SSL-ID W#16#00B2 - 物理的アドレスが指定された診断データレコード 1 ............................................. 673
SSL-ID W#16#00B3 - 論理ベースアドレスが指定されたモジュール診断データ .................................. 674
SSL-ID W#16#00B4 - 任意の DP スレーブの診断データ ........................................................................ 675

イベント .............................................................................................................................................. 677
34.1

イベントとイベント ID ......................................................................................................................... 677

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

321

目次

34.2
34.3
34.4
34.5
34.6
34.7
34.8
34.9
34.10
34.11
34.12

35

イベントクラス 1 - 標準 OB イベント.................................................................................................... 678
イベントクラス 2 - 同期エラー.............................................................................................................. 679
イベントクラス 3 - 非同期エラー .......................................................................................................... 680
イベントクラス 4 - 停止イベントと他のモード変更 ............................................................................... 683
イベントクラス 5 - モードランタイムイベント ...................................................................................... 686
イベントクラス 6 - 通信イベント .......................................................................................................... 687
イベントクラス 7 - H/F イベント ........................................................................................................... 688
イベントクラス 8 - モジュールの診断イベント...................................................................................... 691
イベントクラス 9 - 標準ユーザーイベント............................................................................................. 693
イベントクラス A と B - 自由ユーザーイベント ..................................................................................... 695
予約済みイベントクラス ....................................................................................................................... 695

SFC および SFB のリスト ................................................................................................................... 697
35.1
35.2
35.3
35.4

SFC のリスト、番号順ソート ............................................................................................................... 697
SFC のリスト、アルファベット順ソート .............................................................................................. 700
SFB のリスト、番号順ソート ............................................................................................................... 703
SFB のリスト、アルファベット順ソート .............................................................................................. 705

文献目録 ........................................................................................................................................................ 707
用語解説 ........................................................................................................................................................ 709
索引 ............................................................................................................................................................... 725

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
322

リファレンスマニュアル, 05/2017, A5E41733394-AA

19

PNO 準拠ユーザーデータサイクリックアクセスの FB

19.1

PNO に準拠したユーザーデータへの周期的アクセス用 FB の概要

概要
PNO(PROFIBUS Nutzerorganisation e.V./ドイツの PROFIBUS ユーザー組織)に準拠したユーザー
データへの周期的アクセス用 FB は、以下のブロックです(括弧の中は意味を示します)。
•FB 20 "GETIO" (DP 標準スレーブ/PROFINET IO デバイスのすべての入力を読み取る)•

FB 21 "SETIO" (DP 標準スレーブ/PROFINET IO デバイスのすべての出力を書き込む)•

FB 22 "GETIO_PART" (DP 標準スレーブ/PROFINET IO デバイスの一部の入力を読み取る)•

FB 23 "SETIO_PART" (DP 標準スレーブ/PROFINET IO デバイスの一部の出力を書き込む)

PNO に準拠したユーザーデータへの周期的アクセス用 FB へのインターフェース
上記に示した FB へのインターフェースは、規格"PROFIBUS and PROFINET Communication
Function Blocks on PROFIBUS DP and PROFINET IO(PROFIBUS DP と PROFINET IO のPROFIBUS/PROFINET 通信ファンクションブロック)"にある同じ名前で定義されている FB と同一です。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

323

PNO 準拠ユーザーデータサイクリックアクセスの FB
19.2 FB 20 "GETIO"を使用して、DP 標準スレーブ/PROFINET IO デバイスのすべての入力を読み取る

19.2

FB 20 "GETIO"を使用して、DP 標準スレーブ/PROFINET IO デバイスのすべての入力を読み取る

説明
FB 20 "GETIO"を使用して、DP 標準スレーブ/PROFINET IO デバイスのすべての入力を持続的に読み取ります。このとき、FB 20 は SFC 14 "DPRD_DAT"を呼び出します。データ伝送中にエラーが発生しなかった場合、読み取られたデータは INPUTS で指示されたターゲット領域に入力されます。
ターゲット領域の長さは、STEP ７で選択したコンポーネントに対してコンフィグレーションした長さと同じである必要があります。
DP 標準スレーブがモジュール構造を備える、または複数の DP ID を含んでいる場合は、FB 20 の呼び出しによって毎回、コンフィグレーションされた開始アドレスで、1 つのコンポーネント/DP IDのデータにのみアクセスすることができます。
パラメータ

宣言

データタイプ

メモリ領域

説明

ID

INPUT

DWORD

I、Q、M、D、L
定数•

下位ワード: DP スレーブ/PROFINET
IO コンポーネント(モジュールまたはサブモジュール)の論理アドレス•

上位ワード: 関係なし

STATUSOUTPUT

DWORD

I、Q、M、D、L

DW#16#40xxxx00 形式で SFC 14"DPRD_DAT"のエラー情報を含んでいます

LEN

OUTPUT

INT

I、Q、M、D、L

読み取りデータ量(バイト単位)

INPUTS

IN_OUT

ANY

I、Q、M、D

読み取られたデータのターゲット領域 ター
ゲット領域の長さは、STEP ７で選択したDP スレーブ/PROFINET IO コンポーネントに対してコンフィグレーションした領域と同じである必要があります。データタイプ
BYTE だけが許可されています。

エラー情報参照して下さい SFC 14 "DPRD_DAT"による DP 標準スレーブ//PROFINET IO デバイスの一貫データ
読み取り

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2324

リファレンスマニュアル, 05/2017, A5E41733394-AA

PNO 準拠ユーザーデータサイクリックアクセスの FB
19.3 FB 21 "SETIO"を使用して、DP 標準スレーブ/PROFINET IO デバイスのすべての出力を書き込む

19.3

FB 21 "SETIO"を使用して、DP 標準スレーブ/PROFINET IO デバイスのすべての出力を書き込む

説明
FB 21 "SETIO"を使用して、OUTPUTS で指定されたソース領域から、アドレス指定された DP 標準
スレーブ/PROFINET IO デバイスにデータを持続的に転送します。必要であれば、プロセスイメージ
へ転送します (すなわち、プロセスイメージ内の一貫性領域として、DP 標準スレーブの影響を受ける
アドレス領域をコンフィグレーションした場合)。その場合、FB 21 では SFC 15 "DPWR_DAT"を
呼び出します。
ソース領域の長さは、STEP ７で選択したコンポーネントに対してコンフィグレーションした長さと同じである必要があります。
DP 標準スレーブがモジュール構造を備える、または複数の DP ID を含んでいる場合は、FB 20 の呼び出しによって毎回、コンフィグレーションされた開始アドレスで、1 つのコンポーネント/DP IDのデータにのみアクセスすることができます。

パラメータ

宣言

データタイプ

メモリ領域

説明

ID

INPUT

DWORD

I、Q、M、D、L、 •定数•

下位ワード: DP スレーブ/PROFINET
IO コンポーネント(モジュールまたはサブモジュール)の論理アドレス
上位ワード: 関係なし

LEN

INPUT

INT

I、Q、M、D、L

対象外

STATUSOUTPUT

DWORD

I、Q、M、D、L

DW#16#40xxxx00 形式で SFC 15"DPWR_DAT"のエラー情報を含んでいます

OUTPUTSIN_OUT

ANY

I、Q、M、D

データが読み取られるソース領域。ターゲッ
ト領域の長さは、STEP ７で選択した DP
スレーブ/PROFINET IO コンポーネントに対してコンフィグレーションした領域と同じである必要があります。データタイプ
BYTE だけが許可されています。

エラー情報「SFC 15 "DPWR_DAT"による DP 標準スレーブ/PROFINET IO デバイスへの一貫データ書き込み」
を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

325

PNO 準拠ユーザーデータサイクリックアクセスの FB
19.4 FB 22 "GETIO_PART を使用して、DP 標準スレーブ/PROFINET IO デバイスの一部の入力を読み取る

19.4

FB 22 "GETIO_PART を使用して、DP 標準スレーブ/PROFINET IO
デバイスの一部の入力を読み取る

説明
FB 22 "GETIO_PART"を使用して、DP 標準スレーブ/PROFINET IO デバイスに属するプロセス
イメージ領域の一部分を持続的に読み取ります。その場合、FB 22 では SFC 81 "UBLKMOV"を呼び
出します。

注記
FB 22 "GETIO_PART"を呼び出す OB に、入力用のプロセスイメージパーティションを割り付ける必要があります。さらに、FB 22 を呼び出す前に、この入力用のプロセスイメージパーティションに、関連する DP 標準スレーブまたは関連する PROFINET IO デバイスを追加する必要があります。
使用している CPU がプロセスイメージパーティションを認識しない、あるいは OB 1 に FB 22 を呼び出したい場合は、FB 22 を呼び出す前に、この入力用のプロセスイメージパーティションに、関連する DP 標準スレーブまたは関連する PROFINET IO デバイスを追加する必要があります。

ID でアドレス指定されるコンポーネントのプロセスイメージ領域の読み取り部分を指定するには、
OFFSET パラメータと LEN パラメータを使用します。
データ送信中にエラーが発生しなかった場合、ERROR は値 FALSE を受け取り、読み取られたデータ
は INPUTS で指示されたターゲット領域に入力されます。
データ送信中にエラーが発生した場合、ERROR は値 TRUE を受け取り、STATUS は SFC 81 エラー
情報"UBLKMOV"を受け取ります。
ターゲット領域(INPUTS パラメータ)が LEN より小さい場合は、INPUTS が受け入れられるだけのバイト数が転送されます。ERROR は値 FALSE を受け取ります。ターゲット領域が LEN より大きい
場合は、ターゲット領域の最初の LEN バイトに書き込まれます。ERROR は値 FALSE を受け取ります。

注記
FB 22 "GETIO_PART"では、入力用プロセスイメージの、異なる PROFIBUS DP/PROFINET IO
コンポーネントに属するデータ間のデリミタに対するチェックを行いません。このため、ユーザー
自身で、OFFSET と LEN によって指定したプロセスイメージが 1 つのコンポーネントに属していることを確認する必要があります。複数のコンポーネントに関するデータの読み取りを行うと、将来のシステムに対して保証できなくなり、他の製造元のシステムへの転用可能性が損なわれます。

パラメータ

宣言

データタイプ

メモリ領域

説明

ID

INPUT

DWORD

I、Q、M、D、L
定数•

下位ワード: DP スレーブ/PROFINET IO コン
ポーネント(モジュールまたはサブモジュー
ル)の論理アドレス•

上位ワード: 関係なし

OFFSET

INPUT

INT

I、Q、M、D、L
定数

コンポーネントのプロセスイメージで読み取られる最初のバイト番号(有効な最も小さい値: 0)

LEN

INPUT

INT

I、Q、M、D、L
定数

読み取られるバイト数

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
326

リファレンスマニュアル, 05/2017, A5E41733394-AA

PNO 準拠ユーザーデータサイクリックアクセスの FB
19.4 FB 22 "GETIO_PART を使用して、DP 標準スレーブ/PROFINET IO デバイスの一部の入力を読み取る

パラメータ

宣言

データタイプ

メモリ領域

説明

STATUSOUTPUT

DWORD

I、Q、M、D、L

ERROR = TRUE の場合、DW#16#40xxxx00 形式
で SFC 81 "UBLKMOV" のエラー情報を含みます

エラー

OUTPUT

BOOL

I、Q、M、D、L

エラー表示:SFC 81 "UBLKMOV"の呼び出し時にエラーが生じると、ERROR = TRUE になります。

INPUTS

IN_OUT

ANY

I、Q、M、D

読み取られたデータのターゲット領域•

ターゲット領域が LEN より小さい場合は、
INPUTS が受け入れられるだけのバイト数が転送されます。ERROR は値 FALSE を受け取ります。

•

ターゲット領域が LEN より大きい場合は、ターゲット領域の最初の LEN バイトに書き込まれます。ERROR は値 FALSE を受け取
ります。

エラー情報
「SFC 81 "UBLKMOV"による変数の連続コピー」を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

327

PNO 準拠ユーザーデータサイクリックアクセスの FB
19.5 FB 23 "SETIO_PART"を使用して、DP 標準スレーブ/PROFINET IO デバイスの出力の一部を書き込む

19.5

FB 23 "SETIO_PART"を使用して、DP 標準スレーブ/PROFINET IO
デバイスの出力の一部を書き込む

説明
FB 23 "SETIO_PART"を使用して、OUTPUTS で指定されたソース領域から、DP 標準スレーブ/PROFINET IO デバイスに属するプロセスイメージ領域の一部分にデータを転送します。その場合、FB 23 では SFC 81 "UBLKMOV"を呼び出します。

注記
FB 23 "SETIO_PART"を呼び出す OB に、出力用のプロセスイメージパーティションを割り付ける必要があります。さらに、FB 23 を呼び出す前に、この出力用のプロセスイメージパーティションに、関連する DP 標準スレーブまたは関連する PROFINET IO デバイスを追加する必要があります。
使用している CPU がプロセスイメージパーティションを認識しない、あるいは OB 1 に FB 23 を呼び出したい場合は、FB 23 を呼び出す前に、この出力用のプロセスイメージパーティションに、関連する DP 標準スレーブまたは関連する PROFINET IO デバイスを追加する必要があります。

ID でアドレス指定されるコンポーネントのプロセスイメージ領域の書き込み部分を指定するには、
OFFSET パラメータと LEN パラメータを使用します。
データ送信中にエラーが発生しなかった場合、ERROR は値 FALSE を受け取ります。
データ送信中にエラーが発生した場合、ERROR は値 TRUE を受け取り、STATUS は SFC 81 エラー
情報"UBLKMOV"を受け取ります。
ソース領域(OUTPUTS パラメータ)が LEN より小さい場合は、OUTPUTS が含むことのできる最大のバイト数が転送されます。ERROR は値 FALSE を受け取ります。ソース領域が LEN より大きい
場合は、最初の LEN バイトが OUTPUTS から転送されます。ERROR は値 FALSE を受け取ります。

注記
FB 23 "SETIO_PART"では、入力用プロセスイメージの、異なる PROFIBUS DP/PROFINET IO
コンポーネントに属するデータ間のデリミタに対するチェックを行いません。このため、ユーザー
自身で、OFFSET と LEN によって指定したプロセスイメージが 1 つのコンポーネントに属していることを確認する必要があります。複数のコンポーネントに関するデータの書き込みを行うと、将来のシステムに対して保証できなくなり、他の製造元のシステムへの転用可能性が損なわれます。

パラメータ

宣言

データタイプ

メモリ領域

説明

ID

INPUT

DWORD

I、Q、M、D、L、
定数•

下位ワード: DP スレーブ/PROFINET IO
コンポーネント(モジュールまたはサブモ
ジュール)の論理アドレス•

上位ワード: 関係なし

OFFSET

INPUT

INT

I、Q、M、D、L、
定数

コンポーネントのプロセスイメージで書き込まれる最初のバイト番号(有効な最も小さい値: 0)

LEN

INPUT

INT

I、Q、M、D、L、定数

書き込まれるバイト数

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2328

リファレンスマニュアル, 05/2017, A5E41733394-AA

PNO 準拠ユーザーデータサイクリックアクセスの FB
19.5 FB 23 "SETIO_PART"を使用して、DP 標準スレーブ/PROFINET IO デバイスの出力の一部を書き込む

パラメータ

宣言

STATUS

データタイプ

メモリ領域

説明

OUTPUT DWORD

I、Q、M、D、L

ERROR = TRUE の場合、DW#16#40xxxx00 形
式で SFC 81 "UBLKMOV" のエラー情報を含みます

エラー

OUTPUT BOOL

I、Q、M、D、L

エラー表示:SFC 81 "UBLKMOV"の呼び出し時にエラーが生じると、ERROR = TRUE になります。

OUTPUTSIN_OUT

I、Q、M、D

データが書き込まれるソース領域。

ANY•

ソース領域が LEN より小さい場合は、
OUTPUTS に含むことのできる最大のバイト数が転送されます。ERROR は値 FALSEを受け取ります。

•

ソース領域が LEN より大きい場合は、最初のLENバイトがOUTPUTSから転送されます。
ERROR は値 FALSE を受け取ります。

エラー情報「SFC 81 "UBLKMOV"による変数の連続コピー」を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

329

PNO 準拠ユーザーデータサイクリックアクセスの FB
19.5 FB 23 "SETIO_PART"を使用して、DP 標準スレーブ/PROFINET IO デバイスの出力の一部を書き込む

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
330

リファレンスマニュアル, 05/2017, A5E41733394-AA

20

グローバルデータ通信用の SFC

20.1

SFC 60 "GD_SND"による GD パケットの送信

説明
SFC 60 "GD_SND" (グローバルデータの送信) を使用して、GD パケットのデータが集められ、GD
パケット内で指定されたパスに送られます。GD パケットは STEP 7 であらかじめ構成しておく必要があります。
SFC 60 "GD_SND"はユーザープログラムのどのポイントでも呼び出すことができます。
周期のチェックポイントにおけるシステムによるスキャン速度、データの収集および送信は、SFC 60の呼び出しで影響を受けることはありません。

割り込みの可能性
SFC 60 "GD_SND"は高い優先度クラスにより割り込みをかけることができます。SFC 60 は、高い優先度クラスで同じ GD パケット用に再び呼び出すことができます。
この時、データは高い優先順位で収集および送信されます。プログラムが割り込まれた SFC に戻ると、この処理はすぐに終了し、既に収集済みのデータは放棄されます。
このプロシージャにより、高い優先順位を処理している間、コンシステントデータが転送されます(グローバルデータとして定義された一貫性)。

GD とのデータの一貫性
以下の規則は、さまざまなメモリ領域から収集され送信されるデータの一貫性に対して適用されます。
次にコンシステントを示します。
•

簡単なデータタイプ(ビット、バイト、ワード、ダブルワード)•

バイト、ワード、ダブルワードのデータタイプの配列: 配列の長さは CPU で許容される最大長まで。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

331

グローバルデータ通信用の SFC
20.1 SFC 60 "GD_SND"による GD パケットの送信

GD パケット全体の一貫性を保証する
データ送信側の CPU 上の GD パケットは、収集したデータをコンシステントデータとして自動的に保証する構造を持っていません。たとえば、パケットがバイトの配列から構成され、バイト数が特定の CPU の最大長を超えている場合が挙げられます。
ただし、GD パケット全体の一貫性が必要な場合は、ユーザープログラムで以下の手続きを行います。
•

SFC 39 "DIS_IRT"または SFC 41 "DIS_AIRT"の呼び出しによる、高い優先度の割り込みおよび非同期エラーの無効化または遅延•

SFC 60 "GD_SND"の呼び出し•

SFC 40 "EN_IRT"または SFC 42 "EN_AIRT"の呼び出しによる、高い優先度の割り込みおよび非同期エラーの有効化

パラメータ

宣言

データタイプ メモリ領域

CIRCLE_ID

INPUT

BYTE

説明

I、Q、M、D、L、 送信される GD パケットが置かれている GD グ
ループの番号。STEP 7 でグローバルデータを定数構成する際にこの番号を指定します。
可能な値: 1～16。GD サークルの値について可能な最大数は、CPU の技術資料にあります。

BLOCK_ID

INPUT

BYTE

I、Q、M、D、L、 選択した GD サークルで送信する GD パケットの番号。この番号は、STEP 7 によるグローバ
定数
ルデータの構成時に設定されます。
可能な値: 1～3。GD サークルの値について可能な最大数は、CPU の技術資料にあります。

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

エラー情報
エラーコード (W#16#...) 説明
0000

エラーは発生していません。

8081

パラメータ CIRCLE_ID および BLOCK_ID で選択した GD パケットがコンフィグ
レーションされていません。

8082

パラメータ CIRCLE_ID または BLOCK_ID の値、あるいは両方のパラメータ値が
不正です。

8083

SFC の実行中にエラーが発生しました。エラーのタイプは、ステータス情報のために構成されている変数に入力されました。これは、ユーザープログラムで評価することができます。

8084

SFC 60 が高優先度クラスで同じ GD パケット用に再び呼び出されたため、SFC の実行は終了しました(「割り込みの可能性」を参照)。

8085

ステータス情報を構成済みの変数に入力中に、エラーが発生しました。

8xyy

一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評価」
を参照してください。

注記
それぞれの SFC 60 呼び出しに従って、対応する GD パケットのステータスを評価し、必要であればリセットしてください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
332

リファレンスマニュアル, 05/2017, A5E41733394-AA

グローバルデータ通信用の SFC
20.2 SFC 61 "GD_RCV"による受信した GD パケットのプログラム済み承認

20.2

SFC 61 "GD_RCV"による受信した GD パケットのプログラム済み承認

説明
SFC 61 "GD_RCV" (グローバルデータの受信) を使用して、正確に 1 つの GD パケット用に入ってくる GD フレームからのデータをリトリーブして、受信した GD パケットに入力します。
受信パケッ
トは、STEP 7 で構成しておく必要があります。
SFC 61 "GD_SND"はユーザープログラムのどのポイントでも呼び出すことができます。
周期のチェックポイントにおけるシステムによるスキャン速度およびデータのリトリーブは、SFC
61 の呼び出しで影響を受けることはありません。

割り込みの可能性
SFC 61 は高い優先度クラスにより割り込みをかけることができます。ただし、グローバルデータ用に定義されたデータの一貫性だけが保証されているままです。ファンクションの処理に割り込みがかけられた場合、SFC 61 を高い優先度クラスで同じ GD パケット用に再び呼び出します。
このとき、データは、高い優先度クラスの受信 GD パケットに入力されます。プログラムが割り込まれた SFC に戻ると、この処理はすぐに終了します。

GD とのデータの一貫性
以下の規則は、さまざまなメモリ領域に入力されたデータの一貫性に適用されます。
次にコンシステントを示します。
•

簡単なデータタイプ(ビット、バイト、ワード、ダブルワード)•

バイト、ワード、ダブルワードのデータタイプの配列: 配列の長さは、受信側 CPU で許容される最大長まで。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

333

グローバルデータ通信用の SFC
20.2 SFC 61 "GD_RCV"による受信した GD パケットのプログラム済み承認

GD パケット全体の一貫性を保証する
データ受信側の CPU 上の GD パケットは、そのデータの出所が 1 つの同じフレームであることを自動的に保証するような構造を持っていません。たとえば、パケットは 3 つの GD 要素から構成されている場合が、これに該当します。
ただし、GD パケット全体の一貫性が必要な場合は、ユーザープログラムで以下の手続きを行います。
•

SFC 39 "DIS_IRT"または SFC 41 "DIS_AIRT"の呼び出しによる、高い優先度の割り込みおよび非同期エラーの無効化または遅延•

SFC 60 "GD_SND"の呼び出し•

SFC 40 "EN_IRT"または SFC 42 "EN_AIRT"の呼び出しによる、高い優先度の割り込みおよび非同期エラーの有効化

パラメータ

宣言

CIRCLE_ID INPUT

データタイプ メモリ領域
BYTE

説明

I、Q、M、D、L、 着信した GD パケットが入力される GDサークル
定数の番号。GDグループ番号は、STEP 7 でグロー
バルデータを構成する際に指定します。
可能な値: 1～16。GD サークルの値について可能な最大数は、CPU の技術資料にあります。

BLOCK_ID

INPUT

BYTE

I、Q、M、D、L、 着信したデータが入力される、選択した GD
定数
サークル内の GD パケット番号です。この番号は、STEP 7 によるグローバルデータのコンフィ
グレーション中に設定されます。
可能な値: 1～3。GD サークルの値について可能な最大数は、CPU の技術資料にあります。

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2334

リファレンスマニュアル, 05/2017, A5E41733394-AA

グローバルデータ通信用の SFC
20.2 SFC 61 "GD_RCV"による受信した GD パケットのプログラム済み承認

エラー情報
エラーコード (W#16#...) 説明
0000

エラーは発生していません。

8081

パラメータ CIRCLE_ID および BLOCK_ID で選択した GD パケットがコンフィグ
レーションされていません。

8082

パラメータ CIRCLE_ID または BLOCK_ID の値、あるいは両方のパラメータ値が
不正です。

8083

SFC の実行中にエラーが発生しました。エラーのタイプは、ステータス情報のために 構成されている変数に入力されました。これは、ユーザープログラムで評価することができます。

8084

SFC 61 が高優先度クラスで同じ GD パケット用に再び呼び出されたため、SFC の実行は終了しました(「割り込みの可能性」を参照)。

8085

ステータス情報を構成済みの変数に入力中に、エラーが発生しました。

8xyy

一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評価」
を参照してください。

注記
それぞれの SFC 61 呼び出しに従って、対応する GD パケットのステータスを評価し、必要であればリセットしてください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

335

21

S7 通信と S7 基本通信の概要

21.1

S7 通信のブロックと S7 基本通信との相違

選択基準
SIMATIC S7 プログラマブルコントローラの CPU/FM 間で行うデータ交換方法は、グローバルデータ通信のほかに次の 2 つがあります。
•

コンフィグレーションされていない S7 コネクション用のコミュニケーション SFC によるデータ
交換•

コンフィグレーション済み S7 コネクション用のコミュニケーション SFC によるデータ交換

どちらの方法を選ぶかは、使用している SIMATIC S7 プログラマブルコントローラ(S7-300、
S7-400)と、データ交換に使用しているその他のパラメータによって決まります。次の表に、データ交換方法を選択する際の基準を示します。
基準

未構成 S7 コネクション用のコミュニケーショ コンフィグレーション済み S7 コネク
ン SFC
ション用の通信 SFB

ブロックの可用性

SFC としての S7-300 および S7-400

通信接続

接続がコンフィグレーションされていません。 接続は、システムコンフィグレーショ
ン内で永続的にコンフィグレーション
接続は SFC の起動時に確立されます。
接続は、データが転送された後に確立された されます。
ままとなるか、パラメータ制御で終了するかのどちらかです。
接続を一時的に確立できない場合は、対応するジョブの送信も実行できません。

FB および FC としての S7-300
SFB および SFC としての S7-400

STOP モードへの切り データ転送を開始した CPU が STOP モード STOP モードでも接続が維持されます。
替えになると、確立されたすべての接続は終了します。
パートナーへの複数の接続

通信パートナーとの接続は 1 度に 1 つしか確立 同じパートナーと複数の接続を確立でできません。
きます。

アドレス範囲

ローカルステーションまたは MPI サブネット MPI ネットワーク、PROFIBUS、またでモジュールのアドレスを指定できます。
は Industrial Ethernet でモジュールのア
ドレスを指定できます。

通信パートナーの数

順次到達可能な通信相手の数は、使用可能な接続リソースによる制限を受けません(/70/、/101/を参照)。(プログラムの実行中に接続の確立と終了を再実行できます。)

最大ユーザーデータ
長76 バイトのユーザーデータ長が保証されます。 転送可能なユーザーデータの最大の長さは、ブロックタイプ(USEND /URCV、GET など)
および通信パートナー(S7-300、S7-400
または M7) により異なります。

同時に獲得可能な通信パートナーの数
は、使用可能な接続リソース数までに制限されます。また、この数は使用している CPU によっても異なります(/70/、/101/を参照)。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

337

S7 通信と S7 基本通信の概要
21.1 S7 通信のブロックと S7 基本通信との相違

基準

未構成 S7 コネクション用のコミュニケーショ コンフィグレーション済み S7 コネク
ン SFC
ション用の通信 SFB

ブロック呼び出しごとに転送される変数の数

変数を 1 つしか転送できません。

ブロックの分類

S7 基本通信の SFCはシステムファンクション S7 基本通信の SFB/FB はシステムファです。したがって、ユーザーメモリは必要あ ンクションブロックです。したがって、実パラメータおよび静的なデータりません。
用のインスタンス DB が必要です。

アドレスパラメータの動的な変更アドレスパラメータの動的な変更が可能です。 S7-300: ブロックがアクティブな間は、
アクティブジョブが完了すると、その他の通信 アドレス指定パラメータを再度コンパートナーにアドレス指定できます。
フィグレーションできます。新規パラメータは、前のジョブが閉じられると
きに検証されます。

•

S7-300: 1 つの変数•

S7-400: 最大で 4 つの変数

S7-400: アドレス指定パラメータの動的な変更はできません。最初のブロック呼び出しで接続が指定および調整され、次のウォームリスタートまたは
コールドリスタートまで変わらないままです。

S7-400 での IEC 61131-5 の実装
IEC 標準 61131-5 は、次のブロックで実現されます。
•

USEND(SFB 8)/URCV(SFB 9)•

BSEND(SFB 12)/BRCV(SFB 13)•

PUT(SFB 15)/GET(SFB 14) は、READ/WRITE に対応します。

•

STATUS(SFB 22)/USTATUS(SFB 23)•

ALARM(SFB 33)•

NOTIFY(SFB 36)•

START (SFB 19)、STOP (SFB 20)、RESUME (SFB 21) は、プログラムコントロールファンクションの呼び出しインターフェースを実現します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2338

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信と S7 基本通信の概要
21.1 S7 通信のブロックと S7 基本通信との相違

S7-300 での IEC 61131-5 の実装
IEC 標準 61131-5 は、次のブロックで実現されます。
•

USEND(SFB 8)/URCV(SFB 9)•

BSEND(SFB 12)/BRCV(SFB 13)•

PUT(SFB 15)/GET(SFB 14) は、READ/WRITE に対応します。

•

USEND_E(FB28)/URCV_E(FB29)•

PUT_E(FB35)/GET_E(FB34)は、READ/WRITE に対応します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

339

S7 通信と S7 基本通信の概要
21.2 データの一貫性

21.2

データの一貫性定義
並列処理により同時に変更できるサイズのデータ領域を一貫性データ領域と呼びます。したがって、
一貫性データ領域よりも大きいデータ領域を全体として改竄できます。
つまり、一貫性データ領域にともに属し、これよりも大きいデータ領域は、同時に新しい一貫性デー
タブロックと古い一貫性データブロックの部分で構成されます。

例
通信ブロックが割り込みをかけられると、矛盾が起こります。例えば、高い優先度でのハードウェア
割り込み OB によるものです。この OB 内のユーザープログラムが、既に通信ブロックにより部分的に処理されているデータをこのとき変更する場合、転送されたデータは以下を発生します。
•

ハードウェア割り込みが処理される前からの IN パート•

およびハードウェア割り込みが処理された後からの in パート•

つまり、これらのデータは矛盾しています (一貫性がない)。

効果
データの大きなパッケージを一貫性フォームで転送する場合、転送は割り込みをかけられることはありません。例えば、CPU 内で割り込み反応時間を増やすことができます。
つまり、完全に一貫して転送されたデータの量が多ければ多いほど、システムの割り込み反応時間は長くなります。

SIMATIC でのデータの一貫性
ユーザープログラムに通信ファンクションが含まれる場合(例えば共通データにアクセスする
BSEND/BRCV)、例えばパラメータ"DONE"を使用して調整されたこのデータ領域にアクセスします。
したがって、通信ブロックでローカルに転送された通信領域のデータ一貫性は、ユーザープログラム
内で確保できます。
ただし、S7 通信ファンクションの場合、ユーザープログラムへ同期された通信データを送信するためにターゲットデバイス (サーバー) のユーザープログラム内に使用可能な通信ブロックが何もないため、例えば PUT/GET または OP 通信を介した書き込み/読み取りで、一貫性データ領域のサイズはプログラミング時またはコンフィグレーション段階で既に考慮されていなければなりません。
S7-300 および C7-300 (CPU 318-2 DP を除く) 通信データは、オペレーティングシステムの周期
チェックポイントにある 32 バイトのブロック内のユーザーメモリへ一貫してコピーされます。データの一貫性は、大きいデータ領域に対しては保証されていません。定義されたデータ一貫性が必要な場合、ユーザープログラム内の通信データは 32 バイトを超えないようにします (最大 8 バイトでバージョンにより異なります)。
対象的に S7-400 では、通信データは周期チェックポイントでは処理されませんが、一定の時間内でプログラム周期中にスライスします。変数の一貫性はシステムによって確保されます。
これらの通信領域は、PUT/GET ファンクションまたは変数の読み取り/書き込みを使用して一貫してアクセスできます(例えば、OS 上の OP により)。

推奨
データの一貫性に関してのさらに詳しい情報は、個々のブロックの説明および「SIMATIC による通信 」を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
340

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信と S7 基本通信の概要
21.3 S7 通信 SFB の分類とワークメモリ要件

21.3

S7 通信 SFB の分類とワークメモリ要件

分類
S7 通信では、接続コンフィグレーションが必要です。アプリケーション内から SFB/FB または
SFC/FC を使用して、統合された通信ファンクションを呼び出します。
これらのブロックは次のカテゴリで分類できます。
•

データ交換の SFB/FB•

操作ステータスの変更の SFB•

操作ステータスの問い合わせの SFB•

接続の問い合わせの SFC/FC

S7-300/400 通信ブロックの利用度•

S7-400 のブロックは、"標準ライブラリ"にあります。

•

S7-300 のロード可能なブロックは、「SIMATIC_NET_CP ライブラリ」または「標準ライブラリ」の「通信ブロック」にあります。

S7-300 CPU に Ethernet インターフェースがない場合、S7-300 ブロックを実行するには、S7-300
シリーズの SIMATIC NET CP が必要です。詳細については、関連マニュアルをご覧ください。

データ交換の SFB/FB
データ交換用の通信 SFB/FB を使用して、2 つの通信パートナー間でデータを交換します。SFB が
ローカルモジュールにしか存在しない場合、これを単方向性データ交換と言います。SFB/FB が、ローカル上に加えてリモートモジュール上にも存在する場合、これを双方向性データ交換と言います。
ブロック

ブロック

S7-400S7-300

説明

概要説明

SFB 8
SFB 9

FB -8
FB 9

USEND
URCV

通信パートナーにおける通信ファンクション (URCV) のシーケ
ンシャルな実行 のいかんを問わない、すばやい確認応答なしのデータ交換 (例: 操作メッセージおよびメンテナンスメッセージ)。つまり、データは通信パートナー上で最新のデータに上書きされます。

SFB 12
SFB 13

FB 28
FB 29
FB 12
FB 13

USEND_E
URCV_E
BSEND/BRCV

SFB 14FB -14GET

SFB 15

FB 34
FB 15

GET_E
PUT

SFB 16

FB 35
FB 16

PUT_E
PRINT

通信パートナーへのデータブロックの安全な転送。つまり、通信パートナー内の受信ファンクション (BRCV) がデータを承認する
まで、データ転送は完了しません。
通信パートナーのユーザープログラムにあるその他の通信ファ
ンクションを使用しないプログラムコントロールされた変数の読み取り。
通信パートナーのユーザープログラムにあるその他の通信ファ
ンクションを使用しないプログラムコントロールされた変数の書き込み。
プリンタへのデータの送信 (S7-400 のみ)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

341

S7 通信と S7 基本通信の概要
21.3 S7 通信 SFB の分類とワークメモリ要件

操作ステータスの変更の SFB
操作ステータスの変更の SFB を使用して、リモートデバイスの操作ステータスを制御します。
操作ステータスの変更の SFB を使用したデータ交換は単方向です。
ブロック S7-400

概要説明

SFB 19START

動作モードが STOP の場合、S7/M7-300/400 または C7-300 CPU のRESTART をトリガします。

SFB 20

STOP

動作モードが RUN、HALT にある場合、または起動中の場合、
S7/M7-300/400 または C7-300 CPU は STOP です。

SFB 21

RESUMESTOP モードにある場合、S7-400-CPU の操作再開をトリガします。

操作ステータスの問い合わせの SFB
操作ステータスの問い合わせの SFB を使用して、リモートデバイスの操作ステータスに関する情報を獲得できます。
SFB "STATUS"を使用すると、SFB "USTATUS"の使用時は単方向のデータ交換が、双方向のデータ交換となります。
ブロック S7-400

概要説明

SFB 22STATUS

ユーザー要求による通信パートナー (S7-400-CPU、M7-300/400) の操作状態を提供します。

SFB 23USTATUS

対応する接続属性 (操作状態メッセージの送信) が設定された場合、操作状態が変更になれば S7-400-CPU の操作状態を受信します。

接続の問い合わせの SFC/FC
ブロック S7-400

ブロック S7-300

SFC 62 CONTROL

概要説明
SFB/FB のインスタンスに属している接続状態の問い合わせ。

FC 62 C CNTRL

接続 ID を通した接続状態の問い合わせ

ヒント
SFC 87 C_DIAG を使用して、実際の接続状態の診断を実行することもできます (S7-400 用のみ)。

サンプルプログラム
STEP 7には、S7通信におけるSFBの使い方を示すS7-400のサンプルプログラムが付属しています。
このサンプルプログラムは、step7\examples\com_sfb として呼び出されます。パスフォルダ"..\STEP7\Examples\ZDT01_10"内の同じプログラムの下に入ります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2342

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信と S7 基本通信の概要
21.4 S7 基本通信用ブロックの概要

21.4

S7 基本通信用ブロックの概要

S7 基本通信用 SFC の分類
S7 基本通信には接続コンフィグレーションは必要ありません。統合された通信ファンクションは、
ユーザープログラム内で SFC を介して呼び出されます。
SFC は 2 つのクラスに分けられます。
•

通信パートナーが同じ S7 ステーションに属する場合に、S7 CPU と通信機能のあるその他のモジュールとの間でデータ交換を行う SFC (前にある internal の"I"で識別)。

•

通信パートナーが通常の MPI サブネットに接続されている場合に、S7 CPU と通信機能のある
その他のモジュールとの間でデータ交換を行う SFC (前にある external の"X"で識別)。

その他のサブネットにあるステーションを使用した通信は、S7 基本通信用 SFC の実行は不可能です。
基本通信用 SFC は、S7-300 および S7-400 のすべての CPU 上で実行可能です。これらの CPU を使用して、S7-200 の CPU への変数の書き込みと S7-200 の CPU からの変数の読み取りも可能です。

外部通信用 SFC
ブロック

概要説明

SFC 65/

X_SEND/SFC 66

X_RCV

SFC 67

X_GET

通信パートナー上に対応する SFC を設置する必要のない通信パートナーの変数読み取り。この機能はオペレーティングシステムの通信パートナー内に実装されています。

SFC 68

X_PUT

通信パートナー上に対応する SFC を設置する必要のない通信パートナー内への変数の書き込み。この機能はオペレーティングシステムの通信パート
ナー内に実装されています。

SFC 69X_ABORT

転送されるデータがない既存の接続の中止。したがって、対応する接続リ
ソースが再び両方のエンドにリリースされます。

通信パートナーへのデータブロックの安全な転送。つまり、通信パートナー
内の受信ファンクション (X_RCV) がデータを承認するまで、データ転送は完了しません。

内部通信用 SFC
ブロック

概要説明

SFC 72

I_GET

通信パートナー上に対応する SFC を設置する必要のない通信パートナーの変数読み取り。この機能はオペレーティングシステムの通信パートナー内に実装されています。

SFC 73

I_PUT

通信パートナー上に対応する SFC を設置する必要のない通信パートナー内への変数の書き込み。この機能はオペレーティングシステムの通信パート
ナー内に実装されています。

SFC 74

I_ABORT

転送されるデータがない既存の接続の中止。したがって、対応する接続リ
ソースが再び両方のエンドにリリースされます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA343

S7 通信と S7 基本通信の概要
21.4 S7 基本通信用ブロックの概要

プログラム例
S7 基本通信のための SFC 用の 2 つのプログラム例が STEP 7 で提供されています。このプログラム
例は、ディレクトリ step7\examples\com_SFC1 および step7\examples\com_SFC2 に含まれています。

最大ユーザーデータ長
コンフィグレーションされていない S7 コネクションに使われるコミュニケーション SFC は、
S7-300 および S7-400 のすべての CPU 上で統合されています。
すべての SFC で、76 バイトのユーザーデータが転送できます(パラメータ SD または RD)。ブロックごとに正確な番号があります。

接続パートナーとの接続
コンフィグレーションされていない S7 コネクション用のコミュニケーション SFC では、SFC の実行中に接続が確立されます。データ交換が終了したとき、接続は確立されたままか、あるいは接続が終了するかは、CONT 入力パラメータに割り付けた値によって決められます。このことは、通信が以下の特性を持つことを意味しています。
•

同時に到達可能な通信パートナーの数よりも、交互に到達可能な通信パートナーの数の方が多くなります(この数は特定の CPU によって異なります。/70/、/101/を参照)。

•(ローカル CPU または通信パートナー上の)接続リソースがすべて使用中のために、現時点では通信パートナーとの接続を確立できない場合は、RET_VAL によってそのことが示されます。
このような場合は、その後、適切な時期に再度ジョブをトリガする必要があります。ただし、この試みが必ずしも成功するとは限りません。必要があれば、ユーザープログラムの接続リソー
スの使用状況をチェックし、より多くのリソースを備えた CPU を使用します。

コンフィグレーションされていない S7 コネクション用のコミュニケーション SFC で、コンフィグ
レーション済み S7 コネクション用のコミュニケーション SFB で確立した接続を使用することはできません。
あるジョブをトリガした場合、このジョブのために確立した接続は、この特定のジョブで使用できるだけです。同じ通信パートナーに関連する他のジョブを実行するには、現在のジョブが完了するまで待たなければなりません。

注記
ユーザープログラムに同じ通信パートナーに関係するジョブが複数含まれている場合は、RET_VALに W#16#80C0 が入力された SFC をそれぞれ適切なタイミングで呼び出す必要があります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2344

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信と S7 基本通信の概要
21.4 S7 基本通信用ブロックの概要

ジョブの識別コンフィグレーションされていない S7 コネクション用のコミュニケーション SFC の 1 つでデータ転送または接続中止をトリガした後、現在の転送が終了しないうちに同じ SFC を再度呼び出した
場合、SFC の反応は新しい呼び出しに同じジョブが含まれるかどうかによって異なります。以下の表では、すべての SFC に対して、どのパラメータでジョブを指定するかを示しており、パラメータがまだ完了していないジョブのパラメータと一致している場合、その SFC 呼び出しは続行呼び出しとしてカウントされます。
ブロック
SFC 65
SFC 67
SFC 68
SFC 69SFC 72
SFC 73
SFC 74

ジョブの識別X_SEND
X_GET
X_PUT
X_ABORT
I_GET
I_PUT
I_ABORT

DEST_ID, REQ_ID
DEST_ID、VAR_ADDR
DEST_ID、VAR_ADDR
DEST_ID
IOID, LADDR, VAR_ADDR
IOID, LADDR, VAR_ADDR
IOID、LADDR

割り込みに対する反応
コンフィグレーションされていない S7 コネクション用のコミュニケーション SFC には、優先度の高い OB による割り込みを発生させることができます。同じジョブを持つ同一の SFC が割り込み
OB によって再度呼び出された場合は、この 2 番目の呼び出しが中止され、それに対応する値がRET_VAL に入力されます。この後、割り込まれた SFC は処理を継続します。

CPU のワークメモリへのアクセス
転送されるユーザーデータ量に関係なくオペレーティングシステムのコミュニケーションファン
クションは、最大長のフィールドで CPU のワークメモリにアクセスするので、割り込み反応時間は、
コミュニケーションファンクションを使用しても延長されません。
ジョブの実行中に、オペレーティングシステムのコミュニケーションファンクションによってワーク
メモリに複数回アクセスできるかどうかは、STEP 7 との通信によって生じる最大サイクルロード
をどのように設定するかによって決まります。

クライアントの STOP モードへの移行
データ転送中に、ジョブを開始した CPU(接続を確立した)が STOP モードに切り替わった場合、確立されたすべての接続が終了します。

プログラムの変更
コンフィグレーションされていない S7 コネクション用のコミュニケーション SFC の呼び出しに直ちに影響するユーザープログラムについては、すべての部分の変更を STOP モードで行わなければなりません。特に、この種のコミュニケーション SFC の呼び出しが含まれている FC、FB、OB を削除する場合などは、STOP モードで行う必要があります。
プログラムを変更したら、ウォームリスタートまたはコールドリスタートを実行する必要があります。
これらの規則を守らないと、リソースが割り付けられたままとなり、結果的にプログラマブルコン
トローラが未定義状態になります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

345

S7 通信と S7 基本通信の概要
21.4 S7 基本通信用ブロックの概要

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2346

リファレンスマニュアル, 05/2017, A5E41733394-AA

22

S7 通信

22.1

S7 通信の SFB/FB および SFC/FC の共有パラメータ分類
コンフィグレーションされた S7 通信の通信 SFB/FB のパラメータは、それぞれのファンクションに従って次の 5 つのカテゴリに分けることができます。
1.

コントロールパラメータを使用して、ブロックを起動する。

2.

パラメータのアドレス指定を使用して、リモート通信パートナーにアドレス指定する。

3.

リモートパートナーに送信されるデータ領域を示すパラメータを送信する。

4.

リモートパートナーからデータを受信したデータ領域を示すパラメータ受信が入力される。

5.

ステータスパラメータを使用して、ブロックが正常にタスクを完了したか、あるいは発生したエラーの分析用にタスクを完了したかどうかモニタします。

制御パラメータ
SFB/FB が呼び出されたとき、あるいは信号状態が前の SFB/FB 呼び出し (例えば、正の信号) から特定の変更を受けたときに、適切なコントロールパラメータが定義された信号状態 (例えば、設定)である場合にのみ、データ交換が起動します。

S7-300 の注記
最初の呼び出しでは、パラメータ REQ をパラメータ FALSE に設定します。

アドレス指定パラメータ
パラメータ

説明

ID

ローカル接続の説明の参照(STEP 7 通信構成によって定義される)。注: ID W # 16 # EEEE は、
S7 通信ブロックでは許可されていません。

R_ID

R_ID パラメータを使用して、ともに属する送信 SFB と受信 SFB を指定します。R_ID パラメー
タは、送信エンド上の SFB/FB と受信エンド上の SFB において一意でなければなりません。
これにより、同じ論理接続を介したいくつかの SFB/FB ペアの通信が可能になります。
-

R_ID は DW#16#wxyzWXYZ 形式で 指定する必要があります。

-

R_ID で指定された論理接続のブロックペアは、この接続に対して一意でなければなりま
せん。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

347

S7 通信22.1 S7 通信の SFB/FB および SFC/FC の共有パラメータ
パラメータ PI_NAME は、関連する SFB でのみ表されます (S7-400 のみ)。
注記
S7-300: アドレス指定パラメータ ID および R_ID 内で、これらがアクティブの間はパラメータを変更できます。新規パラメータは、前のジョブが閉じた後で、それぞれの新規ジョブにより検証されます。ここでは、1 つのインスタンスに複数の FB ペアをリンクできます。
ヒント: インスタンス DB を保存するために、したがってワーキングメモリには次のような可能性があります。
1st 変数 ID で、1 つのデータインスタンスブロックを介していくつかの接続を使用できます。
2nd 変数 R_ID で、1 つのジョブの送信 FB と受信 FB のペアのいくつかの ID を定義することができます。
3rd ケース 1 とケース 2 を組み合わせることができます。
4th 最後のジョブが実行された後、新規パラメータが有効となるのに注目してください。送信ジョブを起動する場合、送信 FB と受信 FB の R_ID パラメータは一致していなければなりません。

S7-400: アドレス指定パラメータ ID および R ID は、ブロックの最初の呼び出し時にのみ評価されます(実パラメータ、またはインスタンスからの事前定義値)。したがって、初回呼び出し時には、次にウォームリスタートまたはコールドリスタートが行われるまでのリモートパートナーとの通信関係(接続)が指定されます。

ステータスパラメータ
ステータスパラメータでは、ブロックのタスクが正しく完了したかどうかや、ブロックがまだ実行中かどうかをモニタします。また、ステータスパラメータではエラーを確認することもできます。
注記
ステータスパラメータは、1 回の周期でのみ有効です。つまり、SFB/FB 呼び出しに続く最初の命令から、次の SFB/FB 呼び出しまでです。その結果として、それぞれのブロック周期の後でこれらのパラメータを評価しなければなりません。

送信パラメータと受信パラメータ
SFB/FB の送信パラメータまたは受信パラメータすべてを使用しない場合、最初に使用しなかったパラメータは NIL ポインタとなり(/232/)を参照)、使用したパラメータは次々に格納されてギャップが何もないようにする必要があります。
注記(S7-400)
最初の呼び出し時には、ANY ポインタによって、ジョブ用に転送できるユーザーデータの最大量が指定されます。つまり、通信バッファが CPU のワークメモリで作成され、データの一貫性を確実なものとします。このバッファは、480 バイトまでのワークメモリを占有します。CPU が RUN モードのときに SFB 呼び出しでブロックを再ロードしない場合、ウォームリスタート OB またはコールド
リスタート OB 内で最初の呼び出しを実行することをお勧めします。
続行する呼び出しで、どんな量のデータでも送信/受信できますが、最初の呼び出しよりも多くなってはいけません。
SFB BSEND および BRCV は、これには当てはまりません。それらを使用すると、ジョブ当たり最大
64 KB を送信できます(「SFB/FB 12 "BSEND"による分割されたデータの送信」および「SFB/FB 13"BRCV"による分割されたデータの受信」を参照)。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2348

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.1 S7 通信の SFB/FB および SFC/FC の共有パラメータ

双方向通信の SFB/FB では、•使用する SD_i パラメータと RD_i パラメータの数が、受信側と送信側で一致していること。

•

ペアになっている SD_i パラメータと DR_i パラメータのデータタイプが、受信側と送信側で一致していること。

•

SD_i パラメータに従って送信されるデータの量は、対応する RD_i パラメータ (BSEND/BRCVには無効) で使用可能な領域を超えないでください。

ERROR=1 と STATUS=4 は、上記の規則を違反していることを示します。
このユーザーデータの最大長は、リモートパートナーが S7-300 または S7-400 かどうかによって異なります。

ユーザーデータサイズ
USEND、URCV、GET、PUT の SFB/FB、および USEND_E、URCV_E、GET_E、PUT_E の FB
では、伝送するデータは最大ユーザーデータ長を超えることはできません。ユーザーデータの最大サイズは次により異なります。
•

使用しているブロックタイプ•

通信パートナー

1～4 個の変数を持つ SFB/FB のユーザーデータの保証された最小サイズが次の表にリストされて
います。
ブロック

パートナー: S7-300 パートナー: S7-400

PUT/GET

160 バイト400 バイトUSEND/URCV 160 バイト

440 バイトBSEND/BRCV 32768/65534 バイト 65534 バイト
PUT_E /
GET_E

160 バイト

存在しない

USEND_E /URCV_E

160 バイト

存在しない

ユーザーデータのサイズについての詳細は、各 CPU の技術データをご覧ください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

349

S7 通信22.1 S7 通信の SFB/FB および SFC/FC の共有パラメータ

正確なユーザーデータのサイズ
上記で指定されたユーザーデータのサイズが不十分である場合、次のようにユーザーデータの最大バイト長を決定することができます。
1. まず、次の表から通信に有効なデータブロックのサイズを読み取ります。
CPU

リモート CPU

データブロックのバイト単位のサイズ

S7-300ANY

240 (S7-300)

S7-400S7-300 / C7-300

240 (S7-400)

S7-400S7-400 または CPU 318

480

2. 次の表にある値を使って、バイト単位の有効なユーザーデータの最大長と、使用するパラメータの合計を読み取ります。領域 SD_i、RD_i、ADDR_i の均一な長さが適用されます。奇数の長さの領域では、使用可能な最大ユーザーデータ長は 1 バイト減ります。
使用されたパラメータ SD_i、RD_i、ADDR_i の数
データブロックのサイズ

SFB/FB1234240 (S7-300)

PUT/GET/
USEND

160

-

-

-

240 (統合イン
ターフェースを介した S7-300)

PUT

212

-

-

-

GET

222

-

-

-

USEND

212

-

-

-

PUT_E

212

196

180

164

GET_E

222

218

214

210

USEND_E

212

208

204

200

PUT

212

196

180

164

GET

222

218

214

210

USEND

212

-

-

-

PUT

452

436

420

404

GET

462

458

454

450

USEND

452

448

444

440

PUT

932

916

900

884

GET

942

938

934

930

USEND

932

928

924

920

240 (S7-400)

480

960

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
350

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.2 コンフィグレーション済み S7 コネクション用 SFB のルーチンの起動

22.2

コンフィグレーション済み S7 コネクション用 SFB のルーチンの起動

必要条件
以下の S7-400 の説明では、次のことが前提となります。
•

接続の詳細(SDB)がモジュール上に存在すること。

•

コンフィグレーション済みの接続が確立されていること。

•

すべての SFB において、ID の実パラメータがコンフィグレーション済みの接続 ID と一致していること。

ウォームリスタートとコールドリスタート
ウォームリスタートおよびコールドリスタート時は、すべての SFB が NO_INIT ステータスに設定されます。インスタンス DB に格納された実パラメータは変更されません。

双方向性データ交換の SFB によるウォームリスタートおよびコールドリスタート
一般に、双方向性データ交換の SFB のある 2 つのモジュールは、どちらもウォームリスタートまたは
コールドリスタートを同時に行うことはありません。
この SFB は、以下の規則に従って反応します。
受信ブロック(SFB URCV と SFB BRCV)は、以下のように反応します。
•

ウォームリスタートまたはコールドリスタート時に、SFB がジョブは受信したがジョブの確認応答を行っていない場合、SFB はシーケンス中止フレーム(CFB、BRCV)を生成し、すぐに
NO_INIT ステータスに切り替わります。

•

SFB BRCV を使用した場合は、シーケンス中止を送信しても引き続きデータセグメントを受信する可能性があります。受信したセグメントはローカルで放棄されます。

•

SFB URCV は、その後すぐに NO_INIT ステータスに切り替わります。

送信ブロック(SFB USEND と SFB BSEND)は、以下のように反応します。
•

SFB BSEND がジョブシーケンスを開始したが、それがまだ完了していない場合は、ウォーム
リスタートまたはコールドリスタートの開始時に SFB BSEND がシーケンス中止を送信します。
この後すぐに、SFB BSEND が NO_INIT ステータスに切り替わります。確認応答が後から到着
しても、この応答はローカルで放棄されます。

•

ウォームリスタートまたはコールドリスタートの要求時に、SFB BSEND が既にシーケンス中止
を送信または受信している場合は、SFB BSEND が直ちに NO_INIT ステータスに切り替わります。

•

これ以外の場合や、SFB がメッセージしか送信しない場合(SFB USEND など)は、ローカル処理が中止され、SFB が直ちに NO_INIT ステータスに切り替わります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

351

S7 通信22.2 コンフィグレーション済み S7 コネクション用 SFB のルーチンの起動

単方向性データ交換の SFB によるウォームリスタートおよびコールドリスタート
ここでは、接続が確立されていれば通信パートナー上のユーザーが完全に機能する、つまりサーバーがジョブの処理やメッセージの出力を随時実行できるものと想定します。
ジョブを送信して確認応答を待つ SFB は、次のように完全なリスタートに反応します。
現在の処理が中止されると、CFB は直ちに NO_INIT ステータスに切り替わります。ウォームリス
タートまたはコールドリスタートの前に送信されたジョブの確認応答が後から到着しても、この応答はローカルで放棄されます。
前に送信したジョブの確認応答を受け取る前に、新しいジョブが送信される可能性があります。
メッセージを出力または受信する SFB は、次のように反応します。
•

現在の処理が中止されると、CFB は直ちに NO_INIT ステータスに切り替わります。

•

SFB USTATUS を使用した場合、NO_INIT ステータスと DISABLED ステータスになっている
ときに着信したメッセージはローカルで放棄されます。

ホットスタートに対する反応
ウォームリスタートまたはコールドリスタート時にのみ、S7 通信の SFB は NO_INIT ステータスに設定されます。つまり、これらのコミュニケーション SFB は、ホットスタート後に再開可能なユー
ザーファンクションブロックのように反応します。

メモリリセットに対する反応
メモリをリセットすると、常にすべての接続が終了します。ウォームリスタートまたはコールド
リスタートは、メモリのリセット後に唯一有効な起動タイプであるため、S7 通信のすべての SFB(まだ存在する場合) は NO_INIT ステータスに設定され、初期化されます。メモリがリセットされなかったモジュール内のパートナーブロックは、接続終了に反応して IDLE、ENABLED、DISABLEDのいずれかのステータスに切り替わります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2352

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.3 SFB の問題対処法

22.3

SFB の問題対処法
次項では、S7-400 にある S7 通信用 SFB の問題対処法を説明します。

接続終了
SFB インスタンスに割り付けられた接続がモニタされます。
接続終了の場合、SFB の反応は内部ステータスにより異なります。
ブロックが IDLE ステータスまたは ENABLEDステータスになっているときに接続中断が検出された
場合、SFB は以下のように反応します。
•

ERROR ステータスに切り替わり、ERROR と STATUS の各出力パラメータでエラーID"通信異常"を出力します。

•

次に呼び出しが行われると、ブロックは元のステータスに戻って接続を再度チェックします。

IDLE ステータスまたは DISABLED ステータスになっていないコミュニケーション SFB は、以下のように反応します。
•

処理を中止し、直ちにまたは次のブロック呼び出しで ERROR ステータスに切り替わり、
ERROR と STATUS の各出力パラメータでエラーID"通信異常"を出力します。

•

次に呼び出しが行われると、ブロックは IDLE、DISABLED、ENABLED のいずれかのステータスに切り替わります。IDLE ステータスと ENABLED ステータスの場合は、接続が再度チェックされます。

このプロシージャは、合間に接続が再確立された場合も実行されます。

電源切断
バッテリによるバックアップが行われている状態で電源を切り、その後で再起動をすると、確立されていた接続がすべて終了します。したがって、関連するすべてのブロックに対して前述の説明が該当します。
バッテリによるバックアップが行われている状態で電源を切り、その後でウォームリスタートまたはコールドリスタートが自動的に行われる場合は、接続終了とウォームリスタートまたはコールド
リスタートに関する説明が該当します。
バッテリのバックアップなしでの自動ウォームリスタートまたは自動コールドリスタートの特殊なケースの場合、電源が復帰した後自動的にメモリリセットが実行されるので、S7 通信の SFB は、"S7 コネクション用の SFB の起動ルーチン"の項で説明しているように反応します。

動作モード変更に対する反応
動作モードが、STOP、START、RUN、HOLD ステータスの間で変更される場合も、通信 SFB は
現在のステータスのままです。(例外: ウォームリスタートまたはコールドリスタート時、NO_INIT
ステータスに変更)。このことは、単方向性と双方向性のどちらの SFB にも該当します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA353

S7 通信22.3 SFB の問題対処法

ユーザープログラムとのユーザインターフェース
コミュニケーション SFB の処理中にエラーが発生した場合は、SFB が必ず ERROR ステータスに切り替わります。これと同時に、ERROR 出力パラメータが 1 に設定され、対応するエラーID がSTATUS 出力パラメータに入力されます。このエラー情報は、ユーザープログラムで評価できます。
以下のようなエラーが発生することがあります。
•

送信データ収集時のエラーです。

•

受信データを受信領域にコピーしているときのエラー(存在しない DB にアクセスした場合など)。

•送信したデータ領域の長さが、パートナーSFB で指定された受信領域の長さと一致しない。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2354

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.4 SFB 8/FB 8 "USEND"による未調整のデータの送信

22.4

SFB 8/FB 8 "USEND"による未調整のデータの送信

注記
S7-300 CPU には、次のとおり、2 つのバージョンの FB8 "USEND"があります。
•

1 つは標準ライブラリにあります。PN インターフェースを介してリモートパートナーへの接続を行っている場合、こちらを使用します。

•

1 つは SIMATIC NET CP ライブラリにあります。CP を介してリモートパートナーへの接続を行っている場合、こちらを使用します。

説明
SFB/FB 8 "USEND"は、タイプ"URCV"のリモートパートナーSFB/FB にデータを送信します。送信
プロセスは、SFB/FB パートナーとの調整なしで実行されます。つまり、データ転送はパートナー
SFB/FB による確認応答なしで実行されます。
S7-300: データは REQ の信号立ち上がりで送信されます。パラメータ R_ID、ID、SD_1 は REQ のそれぞれの信号立ち上がりで転送されます。ジョブが完了した後で、新しい値を R_ID、ID、SD_1
パラメータに割り付けることができます。
S7-400: データはコントロール入力 REQ の信号立ち上がりで送信されます。送信されるデータはSD_1～SD_4 のパラメータによって参照されますが、4 つの送信パラメータをすべて使う必要はありません。

ただし、パラメータ SD_1～SD_4/SD_1 および RD_1～RD_4/RD_1 によって定義された (対応するパートナーSFB/FB "URCV"で) 領域が、次の事柄に合致することを確認しなければなりません。
•

番号

•

長さ

•

データタイプパラメータ R_ID は、両方の SFB で一意でなければなりません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA355

S7 通信22.4 SFB 8/FB 8 "USEND"による未調整のデータの送信転送が正常に完了すると、ステータスパラメータ DONE に論理的値 1 が示されます。
パラメータ

宣言

データタイプ

メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、 コントロールパラメータ要求。信号立ち
上がりでデータ交換が起動。

ID

INPUT

WORD

M、D、定数

R_ID

INPUT

DWORD

I、Q、M、D、L、 アドレス指定パラメータ R_ID。S7 通信
定数の SFB/FBおよび SFC/FCの共有パラメー
タを参照。

DONE

OUTPUT

BOOL

I、Q、M、D、L

アドレス指定パラメータ ID。S7 通信のSFB/FB および SFC/FC の共有パラメータ
を参照。

エラー

OUTPUT

BOOL

I、Q、M、D、L

STATUSOUTPUT

WORD

I、Q、M、D、L

ステータスパラメータ DONE です。
0:

ジョブは起動していないか、まだ実行
中です。

1:

ジョブはエラーなしで実行されました。

ERROR および STATUS 状態パラメータ、
エラー表示。
ERROR=0
STATUS の値は次のとおりです。
0000H: 警告でもエラーでもない<> 0000H: 警告、STATUS は詳し
い情報を提供します。
ERROR=1
エラーがあります。STATUSはエラータイ
プについての詳しい情報を提供します。

S7-300 システム IN_OUT

ANY

M、D、T、Z

SD_1
S7-400 システム
SD_i
(1 ≤ i ≤ 4)

I、Q、M、D、T、C

i 番めの送信データ領域へのポインタ。
次のデータタイプのみが許可されます。
BOOL (ビットフィールドは許可されません)、BYTE、CHAR、WORD、INT、
DWORD、DINT、REAL、DATE、TOD、TIME、S5TIME、
DATE_AND_TIME、COUNTER、
TIMER。
注:
ANY ポインタが DBにアクセスする場合、
DB は必ず指定されている必要があります(例: P# DB10.DBX5.0 Byte 10)。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2356

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.4 SFB 8/FB 8 "USEND"による未調整のデータの送信

エラー情報
エラー

ステータス 説明
(10 進)

0

11

警告
•

前のジョブがまだ完了していないので、新規ジョブを実施できません。

•

低い優先度の優先度クラスでジョブが処理されています。

025

通信が開始しました。ジョブが処理されています。

1

1

以下のような通信異常が発生しました。
•

接続の設定内容がロードされません(ローカルまたはリモート)。

•

接続割り込み (例: ケーブル、CPU オフ、CP が STOP モード)•

パートナーへの接続が確立されていません。

•

FB を S7-400 CPU で実行できません。

•

S7-300 の場合は次も該当します。
-

パラレルジョブ/インスタンスの最大数を超えました。

1

4

データ長やデータタイプに関する、送信データ領域ポインタ SD_i のエラーです。

1

10

ローカルユーザーメモリにアクセスできません(削除された DB にアクセスした場合
など)。

1

12

SFB の呼び出し時に、次のようになっていました。
•

1

18

SFB "USEND"に属していないインスタンス DB が指定されました。

•

グローバル DB ではなく、インスタンス DB が指定されませんでした。

•(PG から新しいインスタンス DB をロードしているときに)インスタンス DB が検出されませんでした。

•

R_ID が、接続 ID の中に既に存在しています。

•

S7-300 のための追加:
-

1

1

20

27

CPU RUN のインスタンスに負荷がかかりすぎていました(CPU またはCP の STOP-RUN 移行が必要です)。

•S7-400: ワークメモリが不足しています。まだワークメモリの合計が十分にある場合は、ワークメモリの圧縮で解決することができます。

•

H システム: ワークメモリ中の通信バッファが作成途中のため、更新中に SFBを新たに呼び出すことはできません。更新中にワークメモリを変更する方法はありません。

•

S7-300 システム-

パラレルジョブ/インスタンスの最大数を超えました。

-

CPU-RUN のインスタンスに負荷がかかりすぎていました(CPU またはCP の STOP-RUN 移行が必要です)。

-

最初の呼び出しで有効です。

CPU に、このブロックのファンクションコードが存在しません(S7-300 の場合のみ)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA357

S7 通信22.4 SFB 8/FB 8 "USEND"による未調整のデータの送信

データの一貫性S7-300: データの一貫性を守るため、現在の送信処理が完了してからでないと、送信領域の SD_1に再度書き込みを行うことはできません。
つまり、ステータスパラメータ DONE の値が 1になると、書き込みが可能になります。
統合インターフェースを介した S7-400 および S7-300 : 送信処理が起動したときに (REQ で信号
立ち上がり) 送信領域 SD_i から送信されるデータが、ユーザープログラムからコピーされます。
ブロック呼び出しの後で、現在の送信データを破損することなくこれらの領域に書き込むことが
できます。

注記
送信操作は、DONE ステータスパラメータの値が 1 のときにのみ完了します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2358

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.5 SFB/FB 9 "URCV"による未調整のデータ受信

22.5

SFB/FB 9 "URCV"による未調整のデータ受信

説明
SFB/FB 9 "URCV"は、タイプ"USEND"のリモートパートナーSFB/FB から非同期でデータを受信し、コンフィグレーション済み受信範囲にコピーします。
EN_R 入力に論理 1 が示されると、ブロックの受信準備ができています。アクティブなジョブは、
EN_R=0 でキャンセルできます。
S7 -300: パラメータ R_ID、ID、RD_1 は、EN_R 上のすべての正の信号に適用されます。ジョブの完了後、新しい値を R_ID、ID、RD_1 パラメータに割り付けることができます。
S7-400: 受信データ領域は、パラメータ RD_1～RD_4 によって参照されます。
ただし、パラメータ RD_i/RD_1 および SD_i/SD_1 によって定義された (対応するパートナー
SFB/FB "USEND"で) 領域が、次の事柄に合致することを確認しなければなりません。
•

番号

•

長さ

•

データタイプ

コピー処理が正常に完了すると、NDR 状態パラメータに論理 1 が示されます。
パラメータ R_ID は、SFB/FB の両方で一意でなければなりません。
パラメータ

宣言

データタイプ メモリ領域

説明

EN_R

INPUT

BOOL

I、Q、M、D、L、 コントロールパラメータの受信が有効化さ定数れると、入力がセットされユニットの受信準備が整ったことが信号で伝えられます。

ID

INPUT

WORD

M、D、定数

R_ID

INPUT

DWORD

I、Q、M、D、L、 アドレス指定パラメータ R_ID。S7 通信の定数
SFB/FB および SFC/FC の共有パラメータを
参照。

NDR

OUTPUT

BOOL

I、Q、M、D、L

アドレス指定パラメータ ID。S7 通信のSFB/FB および SFC/FC の共有パラメータを参照。

NDR ステータスパラメータ0: ジョブは起動していないか、まだ実行中です。
1: ジョブはエラーなしで実行されました。

エラー

OUTPUT

BOOL

I、Q、M、D、L

STATUSOUTPUT

WORD

I、Q、M、D、L

ERROR および STATUS 状態パラメータ、
エラー表示。
ERROR=0
STATUS の値は次のとおりです。
0000H: 警告でもエラーでもない<> 0000H: 警告、STATUS は詳しい情報を提供します。
ERROR=1
エラーがあります。STATUS はエラータイプについての詳しい情報を提供します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

359

S7 通信22.5 SFB/FB 9 "URCV"による未調整のデータ受信

パラメータ

宣言

S7-300 システム IN_OUT

データタイプ メモリ領域

説明

ANY

i 番目に受信したデータ領域へのポインタ。
次のデータタイプのみが許可されます。
BOOL (ビットフィールドは許可されません),
BYTE、CHAR、WORD、INT、DWORD、
DINT、REAL、DATE、TOD、TIME、
S5TIME、DATE_AND_TIME、
COUNTER、TIMER.

M、D、T、Z

RD_1
I、Q、M、D、T、Z

S7-400 システム
RD_i
(1 ≤ i ≤ 4)

注:
ANY ポインタが DB にアクセスする場合、
DB は必ず指定されている必要があります(例: P# DB10.DBX5.0 Byte 10)。

エラー情報
エラー

ステータス
(10 進)

説明

0

9

オーバーラン警告: 以前受信したデータが、新しく受信したデータで上書きされます。

011

警告: 低い優先度の優先度クラスで受信データが処理されています。

025

通信が開始しました。ジョブが処理されています。

1

1

以下のような通信異常が発生しました。
•

接続の設定内容がロードされません(ローカルまたはリモート)。

•

接続割り込み (例: ケーブル、CPU オフ、CP が STOP モード)•

パートナーへの接続が確立されていません。

•

FB を S7-400 CPU で実行できません。

•

S7-300 の場合は次も該当します。
-

パラレルジョブ/インスタンスの最大数を超えました。

1

4

データ長やデータタイプに関する、受信領域ポインタ RD_i のエラーです。

1

10

ローカルユーザーメモリにアクセスできません(削除された DB にアクセスした場合
など)。

1

12

CFB が呼び出されたとき、以下の問題がありました。

1

18

•

SFB "URCV"に属していないインスタンス DB が指定されました。

•

グローバル DB ではなく、インスタンス DB が指定されませんでした。

•(PG から新しいインスタンス DB をロードしているときに)インスタンス DB が検出されませんでした。

•

R_ID が、接続 ID 内に既に存在しています。

•

S7-300 のための追加:
-

1

19

CPU-RUN のインスタンスに負荷がかかりすぎていました(CPU または CPの STOP-RUN 移行が必要です)。

対応する SFB/FB "USEND"は、SFB/FB "URCV"よりも速くデータ送信を行い、受信領域にコピーすることができます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2360

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.5 SFB/FB 9 "URCV"による未調整のデータ受信

エラー

ステータス
(10 進)

説明

1

20

•

S7-400: ワークメモリが不足しています。まだワークメモリの合計が十分にある
場合は、ワークメモリの圧縮で解決することができます。

•

H システム: ワークメモリ中の通信バッファが作成途中のため、更新中に SFBを新たに呼び出すことはできません。更新中にワークメモリを変更する方法はありません。

•

S7-300 システム

1

27

-

パラレルジョブ/インスタンスの最大数を超えました。

-

CPU-RUN のインスタンスに負荷がかかりすぎていました(CPU または CPの STOP-RUN 移行が必要です)。

-

最初の呼び出しで有効です。

CPU に、このブロックのファンクションコードが存在しません(S7-300 の場合のみ)

データの一貫性
受信データの一貫性を保つには、次の点に注意してください。
•

S7-300: ステータスパラメータ NDR の値が 1 に変わった後、即座に EN_R に値 0 を入れて再びFB 9 "URCV"を呼び出します。これにより、受信領域は評価される前に上書きされることがなくなります。

•

コントロール入力 EN_R に値 1 を入れてブロックの呼び出しをする前に、受信領域 (RD_1) を完全に評価します。

S7-400: ステータスパラメータ NDR の値が 1 に変わると、受信領域に新規受信データが入ります(RD_i)。新規ブロックの呼び出しは、これらのデータが新しい受信データで上書きされる原因となります。上書きされないためには、受信データの処理を終了する前に、EN_R に値 0 を入れて SFB
9 "URCV"を呼び出す必要があります (周期ブロック処理などで)。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

361

S7 通信22.6 SFB/FB 12 "BSEND"による分割されたデータの送信

22.6

SFB/FB 12 "BSEND"による分割されたデータの送信

説明
SFB/FB 12 "BSEND"は、タイプ"BRCV"のリモートパートナーSFB/FB にデータを送信します。このタイプのデータ送信では、構成済み S7 コネクション用の他のどの通信 SFB/FB で可能な量よりも多くのデータを、通信パートナー間でやり取りできます。
•

S7-300(SIMATIC-Net CP 経由)の場合、32768 バイト•

S7-400 および S7-300(統合インターフェース経由)の場合、65534 バイト転送されるデータ領域は分割されます。それぞれのセグメントは、個々にパートナーに送信されます。
最後のセグメントは、対応する SFB/FB "BRCV"の呼び出しとは別に、受信時にパートナーにより確認応答が行われます。

S7-300: 送信ジョブは REQ の信号立ち上がりで起動します。パラメータ R_ID、ID、SD_1、LEN
は REQ のそれぞれの正の信号で転送されます。
ジョブが完了した後で、新しい値を R_ID、
ID、
SD_1、
LEN パラメータに割り付けることができます。分割されたデータの転送では、ブロックはユーザープログラムで一定周期で呼び出す必要があります。
送信されるデータの開始アドレスおよび最大データ長は、SD_1 で指定されます。LEN を使用してデータフィールドのジョブ別の長さを決定できます。
統合インターフェースを介した S7-400 および S7-300: 送信ジョブは、ブロックを呼び出した後、コントロール入力 REQ の信号立ち上がりで起動します。ユーザーメモリからのデータ送信は、ユー
ザープログラムの処理に対して非同期で実行されます。
送信されるデータの開始アドレスおよび最大データ長は、SD_1 で指定されます。LEN を使用してデータフィールドのジョブ別の長さを決定できます。この場合、LEN は SD_1 の長さのセクションを置き換えます。
パラメータ R_ID は、2 つの対応する SFB/FB に一意でなければなりません。
コントロール入力 R に信号立ち上がりがある場合、現在のデータ転送はキャンセルされます。
転送が正常に完了すると、ステータスパラメータ DONE の値が 1 で示されます。
ステータスパラメータ DONE または ERROR の値が 1 の場合、前の送信処理が完了するまで新しい
送信ジョブは処理できません。
非同期のデータ転送のため、パートナーSFB/FB の呼び出しで前のデータがリトリーブされる場合にのみ新規の転送が開始されます。データがリトリーブされるまで、SFB/FB "BSEND"の呼び出し時にステータスの値 7 (下記参照) が与えられます。
パラメータ

宣言

データタイプ

メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L

コントロールパラメータ要求。信号立ち
上がりでデータ交換が起動。

R

INPUT

BOOL

I、Q、M、D、L、 コントロールパラメータリセット。データ定数の交換中に信号立ち上がりで中止を起動。

ID

INPUT

WORD

M、D、定数アドレス指定パラメータ ID。S7 通信のSFB/FB および SFC/FC の共有パラメータを参照。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2362

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.6 SFB/FB 12 "BSEND"による分割されたデータの送信

パラメータ

宣言

データタイプ

メモリ領域

説明

R_ID

INPUT

DWORD

I、Q、M、D、L、 アドレス指定パラメータ R_ID。S7 通信の定数
SFB/FB および SFC/FC の共有パラメータを参照。
S5 または補助デバイスへの CP 441を介した接続では、R_ID にはリモートデバイスのアドレス情報があります。詳細について
は、CP 441 の説明を参照してください。

DONE

OUTPUT

BOOL

I、Q、M、D、L

ステータスパラメータ DONE です。
0: ジョブは起動していないか、まだ実行中です。
1: ジョブはエラーなしで実行されました。

エラー

OUTPUT

BOOL

I、Q、M、D、L

STATUSOUTPUT

WORD

I、Q、M、D、L

ERROR および STATUS 状態パラメータ、
エラー表示。
ERROR=0
STATUS の値は次のとおりです。
0000H: 警告でもエラーでもない<> 0000H: 警告、STATUS は詳し
い情報を提供します。
ERROR=1
エラーがあります。STATUS はエラータイ
プについての詳しい情報を提供します。

SD_1

IN_OUT

ANY

S7-300: M、D

送信領域を指すポインタです。

S7-400: I、Q、
M、D、T、Z

次のデータタイプのみが許可されます。
BOOL (ビットフィールドは許可されません)、BYTE、CHAR、WORD、INT、
DWORD、DINT、REAL、DATE、TOD、
TIME、S5TIME、DATE_AND_TIME、
COUNTER、TIMER.
注:
ANY ポインタが DB にアクセスする場合、
DB は必ず指定されている必要があります(例: P# DB10.DBX5.0 Byte 10)。

LEN

IN_OUT

WORD

I、Q、M、D、L

バイト単位で送信するデータフィールドの長さです。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA363

S7 通信22.6 SFB/FB 12 "BSEND"による分割されたデータの送信

エラー情報
次の表は、ERROR および STATUS で出力できる SFB/FB 12 固有のエラー情報をすべて載せてい
ます。
エラー

ステータス
(10 進)

説明

0

11

警告
•

前のジョブがまだ完了していないので、新規ジョブを実施できません。

•

低い優先度の優先度クラスでジョブが処理されています。

025

通信が開始しました。ジョブが処理されています。

1

1

以下のような通信異常が発生しました。
•

接続の設定内容がロードされません(ローカルまたはリモート)。

•

接続割り込み (例: ケーブル、CPU オフ、CP が STOP モード)•

パートナーへの接続が確立されていません。

•

FB を S7-400 CPU で実行できません。

•

S7-300 の場合は次も該当します。
-

パラレルジョブ/インスタンスの最大数を超えました。

1

2

パートナーの SFB/FB から否定確認応答がありました。このファンクションを実行できません。

1

3

ID で指定された接続で R_ID が不明か、受信ブロックがまだ呼び出されていま
せん。

1

4

データ長、データタイプまたは値 0 を含んでいる送信領域ポインタ SD_1 にあるエラーが LEN で転送されました。

1

5

リセット要求が実行されました。

1

6

パートナーSFB/FB は DISABLED 状態です (EN_R の値は 0)。BSEND ブロック
で BRCV ブロックの入力パラメータの一貫性チェックも行ってください。

1

7

パートナーSFB/FB が間違った状態にあります。
最後のデータ転送の後で、受信ブロックを再び呼び出すことはできません。

1

8

ユーザーメモリにあるリモートオブジェクトへのアクセスは拒否されました。
対応する SFB/FB 13 "BRCV"のターゲット領域が小さすぎます。
対応する SFB/FB 13 "BRCV"は、ERROR = 1、STATUS = 4 または ERROR = 1、
STATUS = 10 を報告します。

1

10

ローカルユーザーメモリにアクセスできません(削除された DB にアクセスした場合など)。

1

12

SFB の呼び出し時に、次のようになっていました。

1

18

•

SFB 12 に属していないインスタンス DB が指定されました。

•

グローバル DB ではなく、インスタンス DB が指定されませんでした。

•(PG から新しいインスタンス DB をロードしているときに)インスタンス
DB が検出されませんでした。

•

R_ID が、接続 ID 内に既に存在しています。

•

S7-300 のための追加:-

CPU-RUN のインスタンスに負荷がかかりすぎていました(CPU またはCP の STOP-RUN 移行が必要です)。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2364

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.6 SFB/FB 12 "BSEND"による分割されたデータの送信

エラー

ステータス
(10 進)

説明

1

20

•

S7-400: ワークメモリが不足しています。まだワークメモリの合計が十分にある場合は、ワークメモリの圧縮で解決することができます。

•

H システム: ワークメモリ中の通信バッファが作成途中のため、更新中に
SFB を新たに呼び出すことはできません。更新中にワークメモリを変更する方法はありません。

•

S7-300 システム

1

27

-

パラレルジョブ/インスタンスの最大数を超えました。

-

CPU-RUN のインスタンスに負荷がかかりすぎていました(CPU またはCP の STOP-RUN 移行が必要です)。

-

最初の呼び出しで有効です。

-

CP にメモリボトルネックがあります。

CPU に、このブロックのファンクションコードが存在しません(S7-300 の場合のみ)

データの一貫性
データの一貫性を守るため、現在の送信処理が完了してからでないと、現在使われている送信領域のSD_i に再度書き込みを行うことはできません。つまり、ステータスパラメータ DONE の値が 1 になると、書き込みが可能になります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

365

S7 通信22.7 SFB/FB 13 "BRCV"による分割されたデータの受信

22.7

SFB/FB 13 "BRCV"による分割されたデータの受信

説明
SFB/FB 13 "BRCV"は、タイプ"BSEND"のリモートパートナーからデータを受信します。データ
セグメントを受信するごとに、パートナーSFB/FB に肯定応答が送信され、LEN パラメータが更新されます。
SFB13 が呼び出され、制御入力 EN_R の値が 1 になると、ブロックはデータ受信準備完了となります。
アクティブなジョブは、EN_R=0 でキャンセルできます。
開始アドレスおよび受信領域の最大の長さは、RD_1 で指定されます。受信したデータフィールドの長さは LEN に示されます。
S7 -300: パラメータ R_ID、ID、RD_1 は、EN_R 上のすべての正の信号に適用されます。ジョブの完了後、新しい値を R_ID、ID、RD_1 パラメータに割り付けることができます。分割されたデータの転送では、ブロックはユーザープログラムで一定周期で呼び出す必要があります。
統合インターフェースを介した S7-400 および S7-300: ユーザーメモリからのデータの受け取りは、
ユーザープログラムの処理とは非同期で行われます。
パラメータ R_ID は、2 つの対応する SFB/FB に一意でなければなりません。
すべてのデータセグメントがエラーなく受信されたことは、ステータスパラメータ NDR の値 1 によって示されます。EN_R=1 により SFB/FB 13 が再度呼び出されるまで、受信データは変化しません。
データの非同期受信の間にブロックが呼び出されると、STATUS パラメータに警告が出力されることになり、値 0 がコントロール入力 EN_R に適用されて呼び出しが行われると、受信は終了してSFB/FB はその初期状態に戻ります。
パラメータ

宣言

データタイプ

メモリ領域

EN_R

INPUT

説明

BOOL

I、Q、M、D、L、 受信が有効化されたコントロールパラメータ。
定数
入力がセットされるとユニットの受信準備が整ったことを信号で伝えます。

ID

INPUT

WORD

M、D、定数

R_ID

INPUT

DWORD

I、Q、M、D、L、 アドレス指定パラメータ R_ID。S7 通信の定数
SFB/FB および SFC/FC の共有パラメータを参照。

アドレス指定パラメータ ID。S7 通信の SFB/FBおよび SFC/FC の共有パラメータを参照。

S5 または補助デバイスへの CP 441 を介した接続では、R_ID にはリモートデバイスのアドレス情報があります。詳細については、CP
441 の説明を参照してください。
NDR

OUTPUT

BOOL

I、Q、M、D、LNDR ステータスパラメータ0:

ジョブは起動していないか、まだアクティ
ブです。

1:

ジョブが正常に終了しました。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2366

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.7 SFB/FB 13 "BRCV"による分割されたデータの受信

パラメータ

宣言

データタイプ

メモリ領域

説明

エラー

OUTPUT

BOOL

I、Q、M、D、L

STATUSOUTPUT

WORD

I、Q、M、D、L

ERROR および STATUS 状態パラメータ、エラー表示。
ERROR=0
STATUS の値は次のとおりです。
0000H: 警告でもエラーでもない<> 0000H: 警告、STATUS は詳しい情報を提供します。
ERROR=1
エラーがあります。STATUS はエラータイプについての詳しい情報を提供します。

RD_1

IN_OUT

ANY

S7-300: M、D
S7-400: I、Q、
M、D、T、C受信領域を指すポインタです。長さ情報は、受信するブロックの最大の長さを指定します。
次のデータタイプのみが許可されます。
BOOL (ビットフィールドは許可されません)、
BYTE、CHAR、WORD、INT、DWORD、
DINT、REAL、DATE、TOD、TIME、
S5TIME、DATE_AND_TIME、COUNTER、
TIMER.
注:
ANY ポインタが DB にアクセスする場合、DBは必ず指定されている必要があります(例: P#
DB10.DBX5.0 Byte 10)。

LEN

IN_OUT

WORD

I、Q、M、D、L

バイト単位で既に受信したデータの長さ。

エラー情報
次の表は、パラメータ ERROR および STATUS で出力できる SFB/FB 13 固有のエラー情報をすべて載せています。
エラー

ステータス 説明
(10 進)

011

警告: 低い優先度の優先度クラスで受信データが処理されています。

017

警告: ブロックはデータを非同期で受信しています。LEN パラメータに、既にバイト単位で受信したデータの量が示されます。

025

S7-300: 通信がトリガされました。ジョブが処理されています。

1

1

以下のような通信異常が発生しました。
•

接続の設定内容がロードされません(ローカルまたはリモート)。

•

接続割り込み (例: ケーブル、CPU オフ、CP が STOP モード)•

パートナーへの接続が確立されていません。

•

FB を S7-400 CPU で実行できません。

•

S7-300 の場合は次も該当します。
-

パラレルジョブ/インスタンスの最大数を超えました。

1

2

このファンクションを実行できません(プロトコルエラー)。

1

4

データ長またはデータタイプに関する受信領域ポインタ RD_1 にあるエラーです。
送信データフィールドが受信領域よりも長くなっています。

1

5

リセット要求を受信したため、転送が不完全です。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA367

S7 通信22.7 SFB/FB 13 "BRCV"による分割されたデータの受信

エラー

ステータス 説明
(10 進)

18

対応する SFB/FB 12 "BSEND"のアクセスエラー。最後の有効なデータセグメントが送信された後、ERROR = 1 および STATUS = 4、または ERROR = 1 および
STATUS = 10 が報告されます。

1

10

ローカルユーザーメモリにアクセスできません(削除された DB にアクセスした場合
など)。

1

12

SFB の呼び出し時に、次のようになっていました。

1

18

•

SFB 13 に属していないインスタンス DB が指定されました。

•

グローバル DB ではなく、インスタンス DB が指定されませんでした。

•(PG から新しいインスタンス DB をロードしているときに)インスタンス DB が検出されませんでした。

•

R_ID が、接続 ID 内に既に存在しています。

•

S7-300 のための追加:
-

1

20

•

S7-400: ワークメモリが不足しています。まだワークメモリの合計が十分にある
場合は、ワークメモリの圧縮で解決することができます。

•

H システム: ワークメモリ中の通信バッファが作成途中のため、更新中に SFBを新たに呼び出すことはできません。更新中にワークメモリを変更する方法はありません。

•

1

27

CPU-RUN のインスタンスに負荷がかかりすぎていました(CPU または CPの STOP-RUN 移行が必要です)。

S7-300 システム-

パラレルジョブ/インスタンスの最大数を超えました。

-

CPU-RUN のインスタンスに負荷がかかりすぎていました(CPU または CPの STOP-RUN 移行が必要です)。

-

最初の呼び出しで有効です。

-

CP にメモリボトルネックがあります。

CPUに、このブロックのファンクションコードが存在しません(S7-300 の場合のみ)

データの一貫性
受信データの一貫性を保つには、次の点に注意してください。
•

コントロール入力 EN_R に値 1 を入れて再びブロックの呼び出しをする前に、最後に使用した受信領域(RD_1) を完全に評価します。

受信データの特殊ケース (S7-400 のみ)
データの受信準備が整っている BRCV ブロックのある受信データが (つまり、EN_R = 1 で呼び出しが既に行われている場合)、対応する送信ブロックがジョブの最初のデータセグメントを送信する前に、STOP モードになった場合、次のようになります。
•

受信 CPU が STOP モードになった後の最初のジョブにあるデータが受信領域に完全に入力されます。

•

パートナーSFB "BSEND"は、肯定の確認応答を受信します。

•

その他の BSEND ジョブは、STOP モードにある受信 CPU に受け入れられません。

•

CPU が STOP モードでいる間は、NDR と LEN のどちらも値は 0 です。

受信データに関する情報を損失しないためには、受信 CPU のホットリスタートを実行し、EN_R = 1
で SFB 13 "BRCV"を呼び出す必要があります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2368

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.8 SFB/FB 15 "PUT"によるリモート CPU へのデータの書き込み

22.8

SFB/FB 15 "PUT"によるリモート CPU へのデータの書き込み

説明
SFB/FB 15 "PUT"を使用して、リモート CPU にデータを書き込むことができます。
S7-300: データは REQ の信号立ち上がりで送信されます。パラメータ ID、ADDR_1、SD_1 は REQのそれぞれの信号立ち上がりで転送されます。ジョブの完了後、新しい値を ID、ADDR_1、SD_1
パラメータに割り付けることができます。
S7-400: SFB はコントロール入力 REQ の信号立ち上がりで開始されます。書き込まれる領域へのポインタ(ADDR_i)とデータ(SD_i)がパートナーCPU に送信されます。
リモートパートナーは、データとともに指定されたアドレスに要求データを保存し、実行応答を返します。
パラメータ ADDR_i および SD_i で定義された領域が、番号、長さ、データタイプの点で確実に一致するようにしてください。
エラーが発生しない場合、次の SFB/FB でステータスパラメータ DONE の値が 1 で示されます。
前のジョブが完了してからでないと、書き込みジョブを再度実行することはできません。
リモート CPU は、RUN モードか STOP モードにすることができます。
データが書き込まれている間にアクセス問題が発生した場合、あるいは実行チェックがエラーとなった場合、エラーおよび警告が ERROR および STATUS を介して出力されます。
パラメータ 宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L

コントロールパラメータ要求。信号立ち上がりでデータ交換が起動。

ID

INPUT

WORD

M、D、定数アドレス指定パラメータ ID。S7 通信の SFB/FB お
よび SFC/FC の共有パラメータを参照。

DONE

OUTPUT

BOOL

I、Q、M、D、L

ステータスパラメータ DONE です。
0: ジョブは起動していないか、まだ実行中です。
1: ジョブはエラーなしで実行されました。

エラー

OUTPUT

BOOL

I、Q、M、D、L

STATUSOUTPUT

WORD

I、Q、M、D、L

ERROR および STATUS 状態パラメータ、エラー
表示。
ERROR=0
STATUS の値は次のとおりです。
0000H: 警告でもエラーでもない<> 0000H: 警告、STATUSは詳しい情報を提供します。
ERROR=1
エラーがあります。STATUS はエラータイプについての詳しい情報を提供します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA369

S7 通信22.8 SFB/FB 15 "PUT"によるリモート CPU へのデータの書き込み

パラメータ 宣言

データタイプ メモリ領域

説明S7-300 シス IN OUT
テム

ANY

データが書き込まれるパートナーCPU 上の領域へのポインタです。

M、D

ADDR_1

注記:
ANY ポインタが DB にアクセスする場合、DB を
I、Q、M、D、 必ず指定する必要があります(たとえば、P#DB10.DBX5.0 バイト 10)。
T、C

S7-400 シス
テム
ADDR_i(1 ≤ i ≤ 4)
S7-300 シス IN_OUT
テム
SD_1
S7-400 シス
テム
SD_i(1 ≤ i ≤ 4)

ANY

送信されるデータを含むローカル CPU上の領域へのポインタです。
S7-400 I、Q、
M、D、T、C
次のデータタイプのみが許可されます。

S7-300: M、D

BOOL(非許可: ビットフィールド)、BYTE、
CHAR、WORD、INT、DWORD、DINT、
REAL、COUNTER、TIMER。
注:
ANY ポインタが DB にアクセスする場合、DB は必ず指定されている必要があります(例: P#
DB10.DBX5.0 Byte 10)。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
370

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.8 SFB/FB 15 "PUT"によるリモート CPU へのデータの書き込み

エラー情報
次の表は、パラメータ ERROR および STATUS で出力できる SFB/FB 15 固有のエラー情報をすべて載せています。
エラー

ステータス 説明
(10 進)

0

11

警告
•

前のジョブがまだ完了していないので、新規ジョブを実施できません。

•

低い優先度の優先度クラスでジョブが処理されています。

025

通信が開始しました。ジョブが処理されています。

1

1

以下のような通信異常が発生しました。
•

接続の設定内容がロードされません(ローカルまたはリモート)。

•

接続割り込み (例: ケーブル、CPU オフ、CP が STOP モード)•

パートナーへの接続が確立されていません。

•

FB を S7-400 CPU で実行できません。

•

S7-300 の場合は次も該当します。
-

パラレルジョブ/インスタンスの最大数を超えました。

1

2

パートナー装置から否定応答がありました。このファンクションを実行できません。

1

4

データ長やデータタイプに関する、送信領域ポインタ SD_i のエラーです。

1

8

パートナーの CPU 上でアクセスエラーが発生しました。

1

10

ローカルユーザーメモリにアクセスできません(削除された DB にアクセスした場合
など)。

1

12

SFB が呼び出されたとき、以下の問題がありました。

1

20

•

SFB 15 に属していないインスタンス DB が指定されました。

•

インスタンス DB ではなく、共有 DB が指定されました。

•(PG から新しいインスタンス DB をロードしているときに)インスタンス DB が検出されませんでした。

•

S7-400: ワークメモリが不足しています。まだワークメモリの合計が十分にある
場合は、ワークメモリの圧縮で解決することができます。

•

H システム: ワークメモリ中の通信バッファが作成途中のため、更新中に SFBを新たに呼び出すことはできません。更新中にワークメモリを変更する方法はありません。

•

127

S7-300 システム-

パラレルジョブ/インスタンスの最大数を超えました。

-

CPU-RUN のインスタンスに負荷がかかりすぎていました(CPU または CPの STOP-RUN 移行が必要です)。

-

最初の呼び出しで有効です。

CPU に、このブロックのファンクションコードが存在しません(S7-300 の場合のみ)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

371

S7 通信22.8 SFB/FB 15 "PUT"によるリモート CPU へのデータの書き込み

S7-300 のデータの一貫性
データの一貫性を確実にするには、現在の送信処理が完了するまで送信領域 SD_I は書き込み用に再度使用しないことです。この場合、状態パラメータ DONE の値は 1 です。

統合インターフェースを介した S7-400 および S7-300 のデータコンシステンシー
送信処理が起動したときに (REQ で立ち上がり) 送信領域 SD_i から送信されるデータが、ユーザープログラムからコピーされます。ブロック呼び出しの後で、現在の送信データを破損することなくこれらの領域に書き込むことができます。

注記
送信操作は、DONE ステータスパラメータの値が 1 のときにのみ完了します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2372

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.9 SFB/FB 14 "GET"によるリモート CPU からのデータの読み取り

22.9

SFB/FB 14 "GET"によるリモート CPU からのデータの読み取り

説明
SFB/FB 14 "GET"を使用して、リモート CPU からデータを読み取ることができます。
S7-300: データは REQ の信号立ち上がりで読み取られます。パラメータ ID、ADDR_1、RD_1 は
REQ のそれぞれの立ち上がりで転送されます。ジョブの完了後、新しい値を ID、ADDR_1、RD_1
パラメータに割り付けることができます。
S7-400: データはコントロール入力 REQ の信号立ち上がりで開始されます。その後、読み出される領域への関連ポインタ(ADDR_i)が、パートナーCPU に送信されます。
これに対してリモートパートナーはデータを返します。
受信したデータは、次の SFB/FB 呼び出し時に、コンフィグレーション済み受信領域 (RD_i) にコピーされます。
パラメータ ADDR_i および RD_i で定義された領域が、長さおよびデータタイプの点で確実に一致するようにしてください。
ジョブが終了すると、ステータスパラメータ NDR に 1 が返されます。
前のジョブが完了してからでないと、読み取りジョブを再度起動することはできません。
リモート CPU は、操作状態を RUN または STOP にすることができます。
データが読み取られている間にアクセス問題が発生した場合、あるいはデータタイプのチェック結果にエラーが生じた場合、
エラーおよび警告が ERROR および STATUS を介して出力されます。
パラメータ

宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L

コントロールパラメータ要求。信号立ち上がり
でデータ交換が起動。

ID

INPUT

WORD

IM、D、定数

アドレス指定パラメータ ID。S7 通信の SFB/FBおよび SFC/FC の共有パラメータを参照。

NDR

OUTPUT BOOL

I、Q、M、D、LNDR ステータスパラメータ0: ジョブは起動していないか、まだアクティブです。
1: ジョブが正常に終了しました。

エラー

OUTPUT BOOL

I、Q、M、D、L

STATUSOUTPUT WORD

I、Q、M、D、L

ERROR および STATUS 状態パラメータ、エラー
表示。
ERROR=0
STATUS の値は次のとおりです。
0000H: 警告でもエラーでもない<> 0000H: 警告、STATUS は詳しい情報を提供します。
ERROR=1
エラーが発生しました。
STATUS は
エラータイプについての詳しい情報 を提供します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA373

S7 通信22.9 SFB/FB 14 "GET"によるリモート CPU からのデータの読み取り

パラメータ

宣言

S7-300 システム IN_OUT

データタイプ メモリ領域
ANY

ADDR_1

説明S7-300 システム 読み取られるパートナーCPU 上の領域へのポイ
ンタ。
M、D
注記:
S7-400 システム ANY ポインタが DB にアクセスする場合、DB を必ず指定する必要があります(たとえば、P#
I、Q、M、D、
DB10.DBX5.0 バイト 10)。
T、C

S7-400 システム
ADDR_i(1 ≤ i ≤ 4)
S7-300 システム IN_OUT
RD_1

ANY

S7-300 システム 読み取りデータが入力されるローカル CPU 上の領域へのポインタ。
M、D
次のデータタイプのみが許可されます。

S7-400 システム
RD_i
(1 ≤ i ≤ 4)

S7-400 システム BOOL(非許可: ビットフィールド)、BYTE、
CHAR、WORD、INT、DWORD、DINT、I、Q、M、D、
REAL、COUNTER、TIMER。
T、C
注:
ANY ポインタが DB にアクセスする場合、DB は必ず指定されている必要があります(例: P#
DB10.DBX5.0 Byte 10)。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2374

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.9 SFB/FB 14 "GET"によるリモート CPU からのデータの読み取り

エラー情報
次の表は、パラメータ ERROR および STATUS で出力できる SFB/FB 14 固有のエラー情報をすべて載せています。
エラー

ステータス 説明
(10 進)

0

11

警告
•

前のジョブがまだ完了していないので、新規ジョブを実施できません。

•

低い優先度の優先度クラスでジョブが処理されています。

025

通信が開始しました。ジョブが処理されています。

1

1

以下のような通信異常が発生しました。
•

接続の設定内容がロードされません(ローカルまたはリモート)。

•

接続割り込み (例: ケーブル、CPU オフ、CP が STOP モード)•

パートナーへの接続が確立されていません。

•

FB を S7-400 CPU で実行できません。

•

S7-300 の場合は次も該当します。
-

パラレルジョブ/インスタンスの最大数を超えました。

1

2

パートナー装置から否定応答がありました。このファンクションを実行できません。

1

4

データ長やデータタイプに関する、受信領域ポインタ RD_i のエラーです。

1

8

パートナーの CPU 上でアクセスエラーが発生しました。

1

10

ローカルユーザーメモリにアクセスできません(削除された DB にアクセスした場合
など)。

1

12

SFB が呼び出されたとき、以下の問題がありました。

1

20

•

SFB 14 に属していないインスタンス DB が指定されました。

•

インスタンス DB ではなく、共有 DB が指定されました。

•(PG から新しいインスタンス DB をロードしているときに)インスタンス DB が検出されませんでした。

•

S7-400: ワークメモリが不足しています。まだワークメモリの合計が十分にある場合は、ワークメモリの圧縮で解決することができます。

•

H システム: ワークメモリ中の通信バッファが作成途中のため、更新中に SFBを新たに呼び出すことはできません。更新中にワークメモリを変更する方法はありません。

•

127

S7-300 システム-

パラレルジョブ/インスタンスの最大数を超えました。

-

CPU-RUNのインスタンスに負荷がかかりすぎていました(CPUまたは CPの STOP-RUN 移行が必要です)。

-

最初の呼び出しで有効です。

CPU に、このブロックのファンクションコードが存在しません(S7-300 の場合のみ)

データの一貫性
次の点が確認された場合、データは一貫した状態で受信されます。
その他のジョブが開始する前に、受信領域 RD_i の現在使用中の部分を完全に評価します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA375

S7 通信22.10 SFB 16 "PRINT"によるプリンタへのデータの送信

22.10

SFB 16 "PRINT"によるプリンタへのデータの送信

説明
SFB 16 "PRINT"は、例えば CP 441 を介して、リモートプリンタへデータを送信し、リモートプリ
ンタへの命令をフォーマットします。
制御入力 REQ で信号立ち上がりが検出されると、フォーマットの詳細(FORMAT)とデータ(SD_i)
が ID と PRN_NR で選択されたプリンタに送信されます。
4 つの送信領域の全部ではなく一部を使用する場合は、最初の領域が SD_1 パラメータで設定されていること、2 番目の領域(存在する場合)が SD_2 パラメータで設定されていること、3 番目の領域(存在する場合)が SD_3 で設定されていることを確認します。
ジョブが正常に実行されたことは DONE ステータスパラメータに示され、エラーの場合は ERROR
および STATUS パラメータで示されます。
パラメータ

宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L

コントロールパラメータ要求。信号立ち上がりでデータ交換が起動。

ID

INPUT

WORD

M、D、
定数

アドレス指定パラメータ ID。S7 通信の SFB/FBおよび SFC/FC の共有パラメータを参照。

DONE

OUTPUT BOOL

I、Q、M、D、L

ステータスパラメータ DONE です。
0: ジョブは起動していないか、まだ実行中です。
1: ジョブはエラーなしで実行されました。

エラー

OUTPUT BOOL

I、Q、M、D、L

状態

OUTPUT WORD

I、Q、M、D、L

ERROR および STATUS 状態パラメータ、エラー
表示。
ERROR=0 および STATUS の値は次のとおりです。
0000H: 警告でもエラーでもない<> 0000H: 警告、STATUS は詳しい情報を提供します。
ERROR=1
エラーがあります。STATUS はエラータイプについての詳しい情報を提供します。

PRN_NR

IN_OUT

BYTE

I、Q、M、D、L

プリンタ番号です。

FORMAT

IN_OUTSTRING

I、Q、M、D、L

フォーマットの設定内容です。

SD_i

IN_OUT

ANY

M、D、T、C"i 番め"の送信データ領域へのポインタ(1<i<4)

次のデータタイプのみが許可されます。BOOL(ビットフィールドは許可されません)、BYTE、
CHAR、WORD、INT、DWORD、DINT、
REAL、DATE、TOD、TIME、S5TIME、
DATE_AND_TIME、COUNTER、TIMER.
注:
ANY ポインタが DB にアクセスする場合、DB は必ず指定されている必要があります(例: P#
DB10.DBX5.0 Byte 10)。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2376

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.10 SFB 16 "PRINT"によるプリンタへのデータの送信

In_out パラメータ FORMATFORMAT 文字列には、印刷可能な文字とフォーマット要素が含まれます。この文字列の構造を次に示します。

Characters

Conversion instruction

Control instruction

印刷される送信領域(SD_1～SD_4)ごとに 1 つの変換命令が FORMAT で指定されていなければなりません。これらの変換命令は、定式化された順に各送信領域(SD_i)に適用されます。文字と命令は、任意の順番でお互いに前後してかまいません。
•

文字
次の文字を使用できます。
-

印刷可能なすべての文字-$$(ドル記号)、$'(シングル クォーテーション)、$L と$l(ラインフィード)、$P と$p(ページ)、$R と$r(キャリッジリターン)、$T と$t(タビュレータ)

%

Flags

Width

.

Precision

Representation

変換命令の構文図
変換命令のエレメント

意味

フラグ

•

なし:

•

-:

幅

右詰め出力

左詰め出力

•

なし:

•

n:

標準表現で出力ちょうど n 文字を出力します。右詰めで出力する場合、空白が前に来ます。左詰めで出力する場合は、文字の後に空白が来ます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA377

S7 通信22.10 SFB 16 "PRINT"によるプリンタへのデータの送信変換命令のエレメント

意味

精度

精度は A、D、F、R の表現にのみ関係します(次の表を参照)。
•

なし:

•

0:

F および R 表現には、10 進の小数点または10 進の位の出力はありません。

•n:- F および R: 10 進の小数点およびn の 10 進の位の出力- A および D (日付): 年の桁数:
有効な値は 2 と 4 です。

•
表示

標準表現で出力

下記の表には、以下のものが含まれます。
•

設定可能な表現•

各表現に設定可能なデータタイプ•

各表現の標準フォーマット(FORMAT パラメータに幅と精度を指定しなかった場合、標準的な表現で印刷されます)と最大長次の表に、FORMAT パラメータの変換命令で使用可能な表現モードを示します。
表示

設定可能な
データタイプ

例

長さ

コメント

A、a

DATE

25.07.1996

10

-

-

DWORD
C、c

CHAR

K

1

BYTE

M

1

WORD

KL

2

DWORD

KLMN

4

CHAR の ARRAYKLMNOP

文字数

1996-07-25

10-0.345678

8-

BYTE の ARRAY
D、d

DATE
DWORD

F、f

REAL
DWORD

H、h

次のタイプを含めたす データタイプによる データタイプによる 16 進数表現
べてのデータタイプ
BYTE の ARRAY

I、i

INT

− 32 768

最大 6

WORD

− 2 147 483 648

最大 11

-

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2378

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.10 SFB 16 "PRINT"によるプリンタへのデータの送信

表示

設定可能な
データタイプ

例

長さ

コメント

N、n

WORD

テキスト出力-対応する送信領域 SD_iには、印刷されるテキストを指す参照(数値)が含まれます。このテキス
トは、印刷可能な文字列を作成するモジュール(CP 441 など)上にあります。指定された番号のテキストが見つからない場合、"****"が出力
されます。

R、r

REAL

0.12E-04

8

-

DWORD
S、s

STRING

テキスト出力

-

T、t

TIME

2d_3h_10m_5s_250 最大 21ms"****"が出力されます。

BYTE

255

最大 3

-

WORD

65 535

最大 5

DWORD

4 294 967 295

最大 10

BOOL

1

1

BYTE

101 ..

8WORD

101 ..

16

DWORD

101 ..

32

エラーが発生すると、

DWORD
U、u

X、x

Z、z

TIME_OF_DAY (TOD) 15:38:59.874

12

-

-

この表の表現の中には最大長が指定されているものがありますが、これらの実際の長さは指定値より短くてもかまいません。

注記
データタイプ C と S を使用すると、以下の項目は使用するプリンタにより決定されます。
•

印刷可能な文字•

印刷不可能な文字に対してプリンタが何を印刷するか(プリンタドライバにこれらの文字に対する変換テーブルがない場合)•

制御命令
制御命令を使用すると、次のことを実行できます。
-%記号と\記号の印刷-

プリンタ設定の変更

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA379

S7 通信22.10 SFB 16 "PRINT"によるプリンタへのデータの送信\

Print the % character
Print the \ character
Turn onTurn off

-

%
\
Bold
face

b
B

Narrow
print

c
C

Wide
print

e
E

Italicsi
I

Small capitals

k
K

Under
score

u
U

制御命令の構文図
たとえば、使用できないフォントを無効にしたり、プリンタが認識できないファンクションを実行
すると、制御命令が無視されます。次の表に、FORMAT の入力/出力パラメータで発生する可能性のあるエラーを示します。
エラー

印刷出力

変換命令を実行できない

初期設定表現の長さ(最大)または指定幅にしたがって*文字が出力されます。

指定幅が狭すぎる

A、C、D、N、S、T、および Z表現の場合、選択幅によって指定された分だけ文字が印刷されます。他の表現の場合は、指定幅の全域に*文字が印刷されます。

変換命令が多すぎる

送信領域ポインタ SD_i のない変換命令が無視されます。

変換命令が少なすぎる

変換命令が存在しない送信領域は印刷されません。

未定義またはサポートされていない変換命令である。 ******が印刷されます。
変換命令が不完全。

******が印刷されます。

未定義またはサポートされていない変換命令である。 上図の構文に従っていない制御命令が無視されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
380

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.10 SFB 16 "PRINT"によるプリンタへのデータの送信

エラー情報
次の表は、パラメータ ERROR および STATUS を使用して印刷できる SFB 16 "PRINT" 固有のエラー情報をすべて載せています。
エラー

ステータス
(10 進)

説明

0

11

警告
•

前のジョブがまだ完了していないので、新規ジョブを実施できません。

•

低い優先度の優先度クラスでジョブが処理されています。

025

通信が開始しました。ジョブが処理されています。

1

1

以下のような通信異常が発生しました。
-

接続の設定内容がロードされません(ローカルまたはリモート)。

-

接続中に割り込みが発生しました(ケーブル、CPU がオフになる、CP が
STOP モードになるなど)。

1

2

プリンタからの否定応答。このファンクションを実行できません。

1

3

ID で指定された通信リンク上で PRN_NR が認識されていません。

1

4

FORMAT 入力/出力パラメータまたは送信領域ポインタ SD_i で、データ長または
データタイプに関するエラーが発生しました。

1

6

リモートプリンタが OFFLINE 状態になっています。

1

7

リモートプリンタのステータスが正しくありません(用紙切れなど)。

1

10

ローカルユーザーメモリにアクセスできません(削除された DB にアクセスした場合など)。

1

13

FORMAT 入力/出力パラメータのエラーです。

1

20

-

S7-400: ワークメモリが不足しています。まだワークメモリの合計が十分にある場合は、ワークメモリの圧縮で解決することができます。

-

H システム: ワークメモリ中の通信バッファが作成途中のため、更新中に SFBを新たに呼び出すことはできません。更新中にワークメモリを変更する方法はありません。

転送可能なデータ量
リモートプリンタに転送可能なデータ量は、最大長を超えてはなりません。
この最大データ長は、次のように計算されます。
最大長=420-フォーマット
フォーマットは、FORMAT パラメータのバイト単位の現在の長さです。印刷するデータは、1 つ以上の送信領域に分散することができます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

381

S7 通信22.11 SFB 19 "START"によるリモートデバイス上のウォームリスタートまたはコールドリスタートの起動

22.11

SFB 19 "START"によるリモートデバイス上のウォームリスタート
またはコールドリスタートの起動

説明
コントロール入力 REQ で信号立ち上がり、SFB 19 "START"がある場合、これにより ID でアドレス指定されたリモートデバイス上で、ウォームリスタートまたはコールドリスタートが起動します。
リモートシステムがフォルトトレランスシステムの場合、リスタート要求の効果はパラメータ
PI_NAME に左右されます。つまり、開始要求がちょうど 1 つの CPU に対して有効か、またはこのシステムのすべての CPU に対して有効なのかによって異なります。
リモート装置が CPU である場合、以下の条件を満たす必要があります。
•

CPU は STOP モードであること。

•

CPU のキー切り替えを"RUN"または"RUN-P"に設定する必要があります。

ウォームリスタートまたはコールドリスタートが完了すると、装置が RUN モードに切り替わり、
肯定の実行確認が送信されます。肯定応答が評価されると、ステータスパラメータ DONE が 1 に設定されます。エラーが発生すると、ステータスパラメータ ERROR および STATUS によって示されます。
同じリモート装置内でウォームリスタートやコールドリスタートを続けて実行する場合は、前の完全再起動が完了するまで待たなければなりません。
パラメータ 宣言

データタイプ

メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L

コントロールパラメータ要求。信号立ち上がりでデータ交換が起動

ID

INPUT

WORD

I、Q、M、D、
定数

アドレス指定パラメータ ID。S7 通信のSFB/FB および SFC/FC の共有パラメータを
参照。

DONE

OUTPUT

BOOL

I、Q、M、D、L

ステータスパラメータ DONE です。

エラー

OUTPUT

BOOL

I、Q、M、D、L

STATUSOUTPUT

WORD

I、Q、M、D、L

0:

ジョブは起動していないか、まだ実行中です。

1:

ジョブはエラーなしで実行されました。

ERROR および STATUS 状態パラメータ、
エラー表示。
ERROR=0 および STATUS の値は次のとおりです。
0000H: 警告でもエラーでもない<> 0000H: 警告、STATUS は詳しい情報を提供します。
ERROR=1
エラーがあります。STATUSはエラータイ
プについての詳しい情報を提供します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2382

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.11 SFB 19 "START"によるリモートデバイス上のウォームリスタートまたはコールドリスタートの起動

パラメータ 宣言

データタイプ

メモリ領域

説明

PI_NAME

ANY

I、Q、M、D、T、C

起動するプログラムの名前(ASCII コード)が格納されているメモリ領域を指すポインタです。この名前は 32 文字以内でなければなりません。

IN_OUT

S7 PLC では、この名前を P_PROGRAM にする必要があります。
H システムでは、次の名前が有効です。

ARG

IO_STATE

IN_OUT

IN_OUT

ANY

BYTE

I、Q、M、D、T、C

I、Q、M、D、L•

P_PROGRAM (開始ジョブは、H システ
ムにあるすべての CPU1 で有効です。)•

P_PROG_0 (開始ジョブは、H システムにあるラック 0 の CPU で有効です。)•

P_PROG_1 (開始ジョブは、H システムにあるラック 1 の CPU で有効です。)

実行引数です。
•

ARG に値を割り付けない場合は、リモー
ト装置上でウォームリスタートが実行されます。

•

値"C"を割り付けた場合は、リモート装置
上でコールドリスタートが実行されます(リモート装置でこのタイプの起動を実行できる場合)

現在は関係ありません。通信パートナーが S7
プログラマブルコントローラである場合、
このパラメータに値を割り付けないでください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA383

S7 通信22.11 SFB 19 "START"によるリモートデバイス上のウォームリスタートまたはコールドリスタートの起動

エラー情報
次の表は、パラメータ ERROR および STATUS で出力できる SFB 19 固有のエラー情報をすべて載せています。
エラー

ステータス 説明
(10 進)

0

11

警告
•

前のジョブがまだ完了していないので、新規ジョブを実施できません。

•

低い優先度の優先度クラスでジョブが処理されています。

025

通信が開始しました。ジョブが処理されています。

1

1

以下のような通信異常が発生しました。
•

接続の設定内容がロードされません(ローカルまたはリモート)。

•

接続中に割り込みが発生しました(ケーブル、CPU がオフになる、CP が STOP
モードになるなど)。

1

2

パートナー装置から否定応答がありました。このファンクションを実行できません。

1

3

PI_NAME に対して入力されたプログラム名が認識されません。

1

4

データ長やデータタイプに関する、PI_NAME ポインタまたは ARG ポインタのエ
ラーです。

1

7

パートナー装置上で完全再起動を実行できません。

1

10

ローカルユーザーメモリにアクセスできません(削除された DB にアクセスした場合
など)。

1

12

SFB が呼び出されたとき、以下の問題がありました。

1

20

•

SFB 19 に属していないインスタンス DB が指定されました。

•

インスタンス DB ではなく、共有 DB が指定されました。

•(PG から新しいインスタンス DB をロードしているときに)インスタンス DB が検出されませんでした。

•

S7-400: ワークメモリが不足しています。まだワークメモリの合計が十分にある場合は、ワークメモリの圧縮で解決することができます。

•

H システム: ワークメモリ中の通信バッファが作成途中のため、更新中に SFBを新たに呼び出すことはできません。更新中にワークメモリを変更する方法はありません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2384

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.12 SFB 20 "STOP"によるリモートデバイスの STOP 状態への変更

22.12

SFB 20 "STOP"によるリモートデバイスの STOP 状態への変更

説明
コントロール入力 REQ で信号立ち上がり、SFB 20 "STOP"がある場合、これにより ID でアドレス指定されたリモートデバイス上で、STOP モードへの変更が起動します。モードの切り替えが可能
なのは、装置が RUN、HOLD、または起動モードになっている場合です。
リモートシステムがフォルトトレランスシステムの場合、リスタート要求の効果はパラメータ
PI_NAME に左右されます。つまり、開始要求がちょうど 1 つの CPU に対して有効か、またはこのシステムのすべての CPU に対して有効なのかによって異なります。
ジョブが正常に実行されたことは、ステータスパラメータ DONEの値 1 によって示されます。エラーが発生した場合は、ステータスパラメータ ERROR および STATUS によって示されます。
モードの変更は、前の SFB 20 呼び出しが完了したときに同じリモートデバイスでのみ開始する
ことができます。
パラメータ宣言

データタイプ

メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L

コントロールパラメータ要求。信号立ち上がりでデータ交換が起動

ID

INPUT

WORD

I、Q、M、D、 アドレス指定パラメータ ID。S7 通信の定数
SFB/FB および SFC/FC の共有パラメータを
参照。

DONE

OUTPUT

BOOL

I、Q、M、D、L

エラー

OUTPUT

BOOL

I、Q、M、D、L

STATUSOUTPUT

WORD

I、Q、M、D、L

ステータスパラメータ DONE です。
0:

ジョブは起動していないか、まだ実行中です。

1:

ジョブはエラーなしで実行されました。

ERROR および STATUS 状態パラメータ、
エラー表示。
ERROR=0 および STATUS の値は次のとおりです。
0000H: 警告でもエラーでもない<> 0000H: 警告、STATUS は詳しい情報を提供します。
ERROR=1
エラーがあります。STATUS はエラータイ
プについての詳しい情報を提供します。

PI_NAME

IN_OUT

ANY

I、Q、M、D

起動するプログラムの名前(ASCII コード)が格納されているメモリ領域を指すポインタです。
この名前は 32 文字以内でなければなりません。
S7 PLC では、この名前を P_PROGRAM にする必要があります。
H システムでは、次の名前が有効です。
•

P_PROGRAM (開始ジョブは、H システ
ムにあるすべての CPU1 で有効です。)•

P_PROGR_0(開始ジョブは、H システムにあるラック 0 の CPU で有効です。)•

P_PROGR_1(開始ジョブは、H システムにあるラック 1 の CPU で有効です。)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

385

S7 通信22.12 SFB 20 "STOP"によるリモートデバイスの STOP 状態への変更

パラメータ

宣言

データタイプ

メモリ領域

説明

IO_STATE

IN_OUT

BYTE

I、Q、M、D、L

現在は関係ありません。通信パートナーが S7
プログラマブルコントローラである場合、このパラメータに値を割り付けないでください。

エラー情報
次の表は、パラメータ ERROR および STATUS で出力できる SFB 20 固有のエラー情報をすべて載せています。
エラー

ステータス 説明
(10 進)

0

11

警告
•

前のジョブがまだ完了していないので、新規ジョブを実施できません。

•

低い優先度の優先度クラスでジョブが処理されています。

025

通信が開始しました。ジョブが処理されています。

1

1

以下のような通信異常が発生しました。
•

接続の設定内容がロードされません(ローカルまたはリモート)。

•

接続中に割り込みが発生しました(ケーブル、CPU がオフになる、CP が STOP
モードになるなど)。

1

2

パートナー装置から否定応答がありました。このファンクションを実行できません。

1

3

PI_NAME に対して入力されたプログラム名が認識されません。

1

4

データ長やデータタイプに関する、PI_NAME のエラーです。

1

7

パートナー装置が既に STOP 状態になっています。

1

10

ローカルユーザーメモリにアクセスできません(削除された DB にアクセスした場合
など)。

1

12

SFB が呼び出されたとき、以下の問題がありました。

1

20

•

SFB 20 に属していないインスタンス DB が指定されました。

•

インスタンス DB ではなく、共有 DB が指定されました。

•(PG から新しいインスタンス DB をロードしているときに)インスタンス DB が検出されませんでした。

•

S7-400: ワークメモリが不足しています。まだワークメモリの合計が十分にある
場合は、ワークメモリの圧縮で解決することができます。

•

H システム: ワークメモリ中の通信バッファが作成途中のため、更新中に SFB を新たに呼び出すことはできません。更新中にワークメモリを変更する方法はありません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2386

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.13 SFB 21 "RESUME"によるリモートデバイス上のホットリスタートの起動

22.13

SFB 21 "RESUME"によるリモートデバイス上のホットリスタートの起動

説明
コントロール入力 REQ で信号立ち上がり、SFB 21 "RESUME"がある場合、これにより ID で選択されたリモートデバイス上で、ホットリスタートが起動します。
リモート装置が CPU である場合、以下の条件を満たす必要があります。
•

CPU は STOP モードであること。

•

CPU のキー切り替えを"RUN"または"RUN-P"に設定する必要があります。

•

STEP 7 でコンフィグレーションを作成した場合は、手動でホットスタートを実行できること。

•

ホットスタートを妨げる条件がないこと。

ホットスタートが完了すると、装置が RUN モードに切り替わり、肯定応答が送信されます。肯定
応答が評価されると、ステータスパラメータ DONE が 1 に設定されます。
発生したエラーは、ステー
タスパラメータ ERROR および STATUS によって示されます。
同じリモート装置で再起動を繰り返す場合は、前のホットスタートが完了するまで待たなければなりません。
パラメータ 宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L

コントロールパラメータ要求。信号立ち上がりでデータ交換が起動

ID

INPUT

WORD

I、Q、M、D、
定数

アドレス指定パラメータ ID。S7 通信の SFB/FB お
よび SFC/FC の共有パラメータを参照。

DONE

OUTPUT BOOL

I、Q、M、D、L

ステータスパラメータ DONE です。

エラー

OUTPUT BOOL

I、Q、M、D、L

STATUSOUTPUT WORD

I、Q、M、D、L

0:

ジョブは起動していないか、まだ実行中です。

1:

ジョブはエラーなしで実行されました。

ERROR および STATUS 状態パラメータ、エラー
表示。
ERROR=0 および STATUS の値は次のとおりです。
0000H: 警告でもエラーでもない<> 0000H: 警告、STATUS は詳しい情報を提供します。
ERROR=1
エラーがあります。STATUS はエラータイプについての詳しい情報を提供します。

PI_NAME

IN_OUT

ANY

I、Q、M、D

起動するプログラムの名前(ASCII コード)が格納されているメモリ領域を指すポインタです。この名前は32 文字以内でなければなりません。S7 PLC では、この名前を P_PROGRAM にする必要があります。

ARG

IN_OUT

ANY

I、Q、M、D、T、C

実行引数です。現在は関係ありません。通信パート
ナーが S7 プログラマブルコントローラである場合、
このパラメータに値を割り付けないでください。

IO_STATE

IN_OUT

BYTE

I、Q、M、D、L

現在は関係ありません。通信パートナーが S7 プロ
グラマブルコントローラである場合、このパラメー
タに値を割り付けないでください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

387

S7 通信22.13 SFB 21 "RESUME"によるリモートデバイス上のホットリスタートの起動

エラー情報
次の表は、パラメータ ERROR および STATUS で出力できる SFB 21 固有のエラー情報をすべて載せています。
エラー

ステータス 説明
(10 進)

0

11

警告
•

前のジョブがまだ完了していないので、新規ジョブを実施できません。

•

低い優先度の優先度クラスでジョブが処理されています。

025

通信が開始しました。ジョブが処理されています。

1

1

•

接続の詳細データがロードされない(ローカルまたはリモート)などの通信異常が発生しました。

•

接続中に割り込みが発生しました(ケーブル、CPU がオフになる、CP が STOP
モードになるなど)。

1

2

パートナー装置から否定応答がありました。このファンクションを実行できません。

1

3

PI_NAME に入力したプログラム名を認識できません。

1

4

データ長やデータタイプに関する、PI_NAME ポインタまたは ARG ポインタのエラー
です。

1

7

ホットスタートを実行できません。

1

10

ローカルユーザーメモリにアクセスできません(削除された DB にアクセスした場合
など)。

1

12

SFB が呼び出されたとき、以下の問題がありました。

1

20

•

SFB 21 に属していないインスタンス DB が指定されました。

•

インスタンス DB ではなく、共有 DB が指定されました。

•(PG から新しいインスタンス DB をロードしているときに)インスタンス DB が検出されませんでした。

•

S7-400: ワークメモリが不足しています。まだワークメモリの合計が十分にある
場合は、ワークメモリの圧縮で解決することができます。

•

H システム: ワークメモリ中の通信バッファが作成途中のため、更新中に SFBを新たに呼び出すことはできません。更新中にワークメモリを変更する方法はありません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2388

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.14 SFB 22 "STATUS"によるリモートパートナーのステータスの問い合わせ

22.14

SFB 22 "STATUS"によるリモートパートナーのステータスの問い合
わせ説明
SFB 22 "STATUS"を使用して、リモート通信パートナーのステータスを問い合わせることができます。
制御入力 REQ の信号立ち上がりで、ジョブがリモートパートナーに送信されます。応答が評価され、問題が発生したかどうかの判定が行われます。エラーが発生していなければ、次の SFB 呼び
出しで、受信したステータスが変数 PHYS、LOG、LOCAL にコピーされます。このジョブが終了
すると、ステータスパラメータ NDR の値が 1 になります。
同じ通信パートナーのステータスを再度問い合わせるには、前の問い合わせが完了するまで待たな
ければなりません。
パラメータ 宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L

コントロールパラメータ要求。信号立ち上がりでデータ交換が起動

ID

INPUT

WORD

I、Q、M、D、 アドレス指定パラメータ ID。S7 通信の SFB/FB
定数および SFC/FC の共有パラメータを参照。

NDR

OUTPUT

BOOL

I、Q、M、D、LNDR ステータスパラメータ0: ジョブは起動していないか、まだ実行中です。
1: ジョブはエラーなしで実行されました。

エラー

OUTPUT

BOOL

I、Q、M、D、L

STATUSOUTPUT

WORD

I、Q、M、D、L

ERROR および STATUS 状態パラメータ、エラー
表示。
ERROR=0 および STATUSの値は次のとおりです。
0000H: 警告でもエラーでもない<> 0000H: 警告、STATUS は詳しい情報を提供します。
ERROR=1
エラーがあります。STATUS はエラータイプについての詳しい情報を提供します。

PHYS

IN_OUT

ANY

I、Q、M、D

物理的ステータス(最小の長さ: 1 バイト)。
以下の値が返されます。

LOG

IN_OUT

ANY

I、Q、M、D•

10H: 機能可能•

13H: サービス要求が発生。

論理的ステータス(最小の長さ: 1 バイト)。
有効な値
•

LOCAL

IN_OUT

ANY

I、Q、M、D

00H: ステータス切り替えが許可されました。

パートナーデバイスが S7 CPU の場合のステータス(最小の長さ: 2 バイト)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

389

S7 通信22.14 SFB 22 "STATUS"によるリモートパートナーのステータスの問い合わせ

入力/出力パラメータ LOCAL
通信パートナーが S7 CPU の場合、入力/出力パラメータ LOCAL には、S7 CPU の現在のステータスが示されます。先頭バイトは未使用で、2 バイト目にはステータスの ID が含まれます。
動作モード対応する識別子

STOP

00H

ウォームリスタート

01H

RUN

02H

ホットリスタート

03H

HOLD

04H

コールドリスタート

06H

RUN_R

09H

LINK-UP

0BH

UPDATE

0CH

エラー情報
次の表は、パラメータ ERROR および STATUS で出力できる SFB 22 固有のエラー情報をすべて載せています。
エラー

STATUS(10 進)

説明

0

11

警告
•

前のジョブがまだ完了していないので、新規ジョブを実施できません。

•

低い優先度の優先度クラスでジョブが処理されています。

025

通信が開始しました。ジョブが処理されています。

1

1

以下のような通信異常が発生しました。
•

接続の設定内容がロードされません(ローカルまたはリモート)。

•

接続中に割り込みが発生しました(ケーブル、CPU がオフになる、CP が STOP
モードになるなど)。

1

2

パートナー装置から否定応答がありました。このファンクションを実行できません。

1

4

データ長またはデータタイプに関する、PHYS、LOG、または LOCAL のエラーです。

1

8

リモートオブジェクトへのアクセスが拒否されました。

1

10

ローカルユーザーメモリにアクセスできません(削除された DB にアクセスした場合
など)。

1

12

SFB が呼び出されたとき、以下の問題がありました。

1

20

•

SFB 22 に属していないインスタンス DB が指定されました。

•

インスタンス DB ではなく、共有 DB が指定されました。

•(PG から新しいインスタンス DB をロードしているときに)インスタンス DB が検出されませんでした。

•

S7-400: ワークメモリが不足しています。まだワークメモリの合計が十分にある
場合は、ワークメモリの圧縮で解決することができます。

•

H システム: ワークメモリ中の通信バッファが作成途中のため、更新中に SFB を新たに呼び出すことはできません。更新中にワークメモリを変更する方法はありません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2390

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.15 SFB 23 "USTATUS"によるリモートデバイスのステータス変更の受信

22.15

SFB 23 "USTATUS"によるリモートデバイスのステータス変更の受信説明
SFB 23 "USTATUS"で、リモート通信パートナーのデバイスステータスの変更を受信します。あらかじめ STEP 7 で構成しておけば、変化が生じたとき、パートナーは自動的にそのステータスを送信します。
CFBが呼び出され、パートナーからのフレームがあるときに、制御入力 EN_Rの値を 1に設定すると、
次に SFB が呼び出されたときにステータス情報が PHYS、
LOG、
LOCAL の各変数に入力されます。
このジョブが終了すると、ステータスパラメータ NDR の値が 1 になります。
USTATUS で使われる接続では、オペレーティングステータスメッセージの転送が有効になっていなければなりません。

注記
接続ごとに SFB 23 の 1 つのインスタンスのみ使用することができます。
パラメータ 宣言

データタイプ メモリ領域

説明

EN_R

INPUT

BOOL

I、Q、M、D、L

コントロールパラメータの受信が有効化されると、入力がセットされユニットの受信準備が整ったことが信号で伝えられます。

ID

INPUT

WORD

I、Q、M、D、
定数

アドレス指定パラメータ ID。S7 通信の SFB/FB および SFC/FC の共有パラメータを参照。

NDR

OUTPUT BOOL

I、Q、M、D、L

エラー

OUTPUT BOOLSTATUSOUTPUT WORD

I、Q、M、D、LNDR ステータスパラメータ0:

ジョブは起動していないか、まだ実行中です。

1:

ジョブはエラーなしで実行されました。

ERROR および STATUS 状態パラメータ、エラー
表示。
ERROR=0 および STATUS の値は次のとおりです。
0000H: 警告でもエラーでもない<> 0000H: 警告、STATUS は詳しい情報を提供します。
ERROR=1
エラーがあります。STATUS はエラータイプについての詳しい情報を提供します。

PHYS

IN_OUT

ANY

I、Q、M、D

物理的ステータス (最小の長さ: 1 バイト)。
以下の値が返されます。

LOG

IN_OUT

ANY

I、Q、M、D•

10H: 機能可能•

13H: サービス要求が発生。

論理的ステータス (最小の長さ: 1 バイト)
有効な値
•

LOCAL

IN_OUT

ANY

I、Q、M、D

00H: ステータス切り替えが許可されました。

パートナーデバイスが S7 CPU の場合のステータス(最小の長さ: 1 バイト)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

391

S7 通信22.15 SFB 23 "USTATUS"によるリモートデバイスのステータス変更の受信

入力/出力パラメータ LOCAL
通信パートナーが S7 CPU の場合、入力/出力パラメータ LOCAL には、S7 CPU の現在のステータスが示されます。先頭バイトは未使用で、2 バイト目にはステータスの ID が含まれます。
動作モード対応する識別子

STOP

00H

ウォームリスタート

01H

RUN

02H

ホットリスタート

03H

HOLD

04H

コールドリスタート

06H

RUN (H システムステータス: リダンダント)

09H

LINK-UP

0BH

UPDATE

0CH

エラー情報
次の表は、パラメータ ERROR および STATUS で出力できる SFB 23 固有のエラー情報をすべて載せています。
エラー

ステータス(10 進)

説明

0

9

オーバーラン警告: 古いデバイスステータスが、より最近のデバイスステータスで上書きされました。

011

警告: 低い優先度の優先度クラスで受信データが処理されています。

025

通信が開始しました。ジョブが処理されています。

1

1

以下のような通信異常が発生しました。
•

接続の設定内容がロードされません(ローカルまたはリモート)。

•

接続中に割り込みが発生しました(ケーブル、CPU がオフになる、CP が STOP
モードになるなど)。

1

4

データ長またはデータタイプに関する、PHYS、LOG、またはLOCAL のエラーです。

1

10

ローカルユーザーメモリにアクセスできません(削除された DB にアクセスした場合
など)。

1

12

SFB が呼び出されたとき、以下の問題がありました。
•

SFB 23 に属していないインスタンス DB が指定されました。

•

インスタンス DB ではなく、共有 DB が指定されました。

•(PG から新しいインスタンス DB をロードしているときに)インスタンス DB が検出されませんでした。

1

18

ID で識別される接続用の SFB 23 "USTATUS"のインスタンスが既にあります。

1

19

ユーザープログラム内で SFB がデータを受信するよりも速い速度で、リモートのCPU がデータを送信しています。

1

20

•

S7-400: ワークメモリが不足しています。まだワークメモリの合計が十分にある場合は、ワークメモリの圧縮で解決することができます。

•

H システム: ワークメモリ中の通信バッファが作成途中のため、更新中に SFBを新たに呼び出すことはできません。更新中にワークメモリを変更する方法はありません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2392

リファレンスマニュアル, 05/2017, A5E41733394-AA

S7 通信22.16 SFC 62 "CONTROL"による SFB インスタンスに属している接続のステータスの問い合わせ22.16

SFC 62 "CONTROL"による SFB インスタンスに属している接続のステータスの問い合わせ

説明
SFC 62 "CONTROL"を使用して、ローカル通信 SFB インスタンスに属している接続のステータス
を S7-400 に問い合わせることができます。
制御入力 EN_RA に値 1 を設定してこのシステムファンクションを呼び出すと、I_DB で選択した
コミュニケーション SFB インスタンスに属する現在の接続ステータスが返されます。
パラメータ 宣言

データタイプ メモリ領域

説明

EN_R

INPUT

BOOL

I、Q、M、D、L、 コントロールパラメータの受信が有効化されると、定数入力がセットされユニットの受信準備が整ったことが信号で伝えられます。

I_DB

INPUT

BLOCK_DB

I、Q、M、D、L、 インスタンス DB の番号です。
定数

OFFSET

INPUT

WORD

I、Q、M、D、L、 マルチインスタンス DB 内のデータレコードの番号定数です(マルチインスタンス DB が存在しない場合は、
ここに 0 を入力する必要があります)。

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

エラー

OUTPUT

BOOL

I、Q、M、D、L

STATUSOUTPUT

WORD

I、Q、M、D、L

ERROR および STATUS 状態パラメータ、エラー
表示。
ERROR=0 および STATUS の値は次のとおりです。
0000H: 警告でもエラーでもない<> 0000H: 警告、STATUS は詳しい情報を提供します。
ERROR=1
エラーがあります。STATUS はエラータイプについての詳しい情報を提供します。

I_TYP

OUTPUT

BYTE

I、Q、M、D、L

選択したインスタンスに属するブロックタイプの識別子です。

I_STATEOUTPUT

BYTE

I、Q、M、D、L•= 0: 対応する SFBインスタンスは、最後のコー
ルドリスタート/ウォームリスタートまたは
ローディング以来呼び出されていません。

•<> 0: 対応する SFB インスタンスは、最後のコールドリスタート/ウォームリスタートまたはローディング以来少なくとも 1 度は呼び出されています。

I_CONN

I_STATUS

OUTPUTOUTPUT

BOOL

WORD

I、Q、M、D、L

I、Q、M、D、L

対応する接続のステータスです。
使用可能な値を次に示します。
•

0: 接続がダウンしている、または確立されていません。

•

1: 接続が存在します。

問い合わせたコミュニケーション SFB インスタン
スのステータスパラメータ STATUS です。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA393

S7 通信22.16 SFC 62 "CONTROL"による SFB インスタンスに属している接続のステータスの問い合わせ

出力パラメータ I_TYP
次の表に、各 SFB タイプとそれに対応する識別子を示します。
SFB タイプ

識別子(W#16#...)

USEND

00

URCV

01

BSEND

04

BRCV

05

GET

06

PUT

07

PRINT

08

START

0B

STOP

0C

RESUME

0D

STATUS

0E

USTATUS

0F

ALARM

15

ALARM_8

16

ALARM_8P

17

NOTIFY18

AR_SEND

19

NOTIFY_8P

1A(SFB は存在していません。I_DB または OFFSET が FF
不正です)

エラー情報
出力パラメータ RET_VAL に、SFC 62 "CONTROL"で次の 2 つの値が入ります。
•

0000H: SFC の実行中にエラーが発生しました。

•

8000H: SFC の実行中にエラーが発生しました。

注記
出力パラメータ RET_VAL の値が 0000H である場合にも、出力パラメータ ERROR と STATUS を評価する必要があります。
エラー

ステータス 説明
(10 進)

1

10

ローカルのユーザーメモリにアクセスできません(メモリバイトが I_TYPの実パラメー
タとして指定されているが、使用中の CPU 内にこのメモリバイトが存在しない場合
など)。

1

12

I_DB で指定された番号に問題があります。
•

インスタンス DB ではなく、共有 DB が存在しています。

•

DB が存在しないか、インスタンスが壊れています。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2394

リファレンスマニュアル, 05/2017, A5E41733394-AA

23

未構成 S7 コネクション用のコミュニケーション SFC

23.1

通信 SFC の共通パラメータ

入力パラメータ REQ
入力パラメータ REQ(アクティブ要求)は、レベルトリガ方式の制御パラメータです。このパラメー
タは、ジョブ(データ転送または接続中止)をトリガするために使用されます。
•

SFC を呼び出して、現在、有効になっていないジョブを起動する場合、そのジョブは REQ=1でトリガします。コミュニケーション SFC が初めて呼び出されたときに、通信パートナーと接続されていない場合は、データ転送が始まる前にその接続が確立されます。

•

ジョブをトリガし、そのジョブがまだ完了しないうちに同じジョブを起動する SFC を再度呼び出すと、REQ は SFC によって評価されません。

入力パラメータ REQ_ID (SFC 65 および SFC 66 のみ)
入力パラメータ REQ_ID を使用して、送信データを識別します。送信データは、送信する CPU のオペレーティングシステムにより、通信パートナーの CPU の SFC 66 "X_RCV"に送られます。
次の場合、受信するエンドで REQ_ID パラメータが必要です。
•

1 つの送信 CPU 上で異なるパラメータ REQ_ID を使用していくつかの SFC 65 "X_SEND"を呼び出し、通信パートナーにデータを転送する場合。

•

SFC 65 "X_SEND"を使用して、いくつかの送信 CPU から 1 つの通信パートナーにデータを送信する場合。

REQ_ID を評価して、異なるメモリ領域で受信データを保存できます。

出力パラメータ RET_VAL および BUSY
コミュニケーション SFC は、非同期で実行されますが、これは、ジョブの実行が複数の SFC 呼び
出しにまたがることを意味しています。
出力パラメータ RET_VAL および BUSY は、ジョブのステータスを示します。関連項目 非同期 SFC のパラメータ REQ、RET_VAL、BUSY の意味

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

395

未構成 S7 コネクション用のコミュニケーション SFC
23.1 通信 SFC の共通パラメータ

入力パラメータ CONT
入力パラメータ CONT(継続)は、制御パラメータです。このパラメータを使って、ジョブの完了後も通信パートナーとの接続確立を維持するかどうかを決定します。
•

最初の呼び出しで CONT=0 を選択した場合、データ転送が完了するにともない接続も終了します。
新しい通信パートナーとの次のデータ交換の際は、再び接続が行われます。
この方法の場合、接続リソースは、実際に使用されている場合に限り占有されます。

•

最初の呼び出しで CONT=1 を選択すると、データ転送が終了しても接続状態は保たれます。
この方法は、2 つのステーション間で周期的にデータ交換を行うときなどに便利です。

注記
CONT=1 で確立された接続は、SFC 69 "X_ABORT"または SFC 74 "I_ABORT"を使用して明確に終了できます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2396

リファレンスマニュアル, 05/2017, A5E41733394-AA

未構成 S7 コネクション用のコミュニケーション SFC
23.2 コンフィグレーションされていない S7 コネクション用のコミュニケーション SFC に関するエラー情報

23.2

コンフィグレーションされていない S7 コネクション用のコミュニ
ケーション SFC に関するエラー情報

エラー情報
下記の表「SFC 65～74 に固有のエラー情報」に示す SFC 65～74 の"実際の"エラー情報は、次のように分類することができます。
エラーコード (W#16#...)

説明

809x

SFC が実行された CPU 上でのエラーです。

80Ax

永続的な通信エラーです。

80Bx

通信パートナー上でのエラーです。

80Cx

一時的なエラーです。

SFC 65～74 に固有のエラー情報
エラーコード 説明 (全般)
(W#16#...)
0000

説明 (SFC 別)

実行が正常終了しました。 SFC 69 "X_ABORT"および SFC 74 "I_ABORT": REQ=1、指定された接続が確立されません。
SFC 66 "X_RCV":EN_DT=1 および RD=NIL

00xy

-

NDA=1 の SFC 66 "X_RCV"および RD<>NIL: RET_VALには、受信したデータの長さ (EN_DT=0) またはRD へコピーされたデータの長さ (EN_DT=1) が含まれます。
SFC 67 "X_GET": RET_VAL には、受信したデータブロックの長さが含まれます。
SFC 72 "I_GET": RET_VAL には、受信したデータブロックの長さが含まれます。

7000-

SFC 65 "X_SEND," SFC 67 "X_GET,"SFC 68 "X_PUT," SFC 69 "X_ABORT,"SFC 72 "I_GET," SFC 73 "I_PUT" およびSFC 74 "I_ABORT": REQ = 0 で呼び出し(実行なしの呼び出し)、BUSY の値は 0、アクティブなデータ転送はありません。
SFC 66 "X_RCV": EN_DT=0/1 および NDA=0

7001

REQ=1 での最初の呼び出し: データ転送がトリガされま
した、BUSY の値が 1 です。

7002

中間の呼び出し (REQ は不
適切)
データ転送は既にアクティ
ブです。BUSY の値は1 です。

SFC 69 "X_ABORT" および SFC 74 "I_ABORT": REQ=1 を使用した中間の呼び出し

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

397

未構成 S7 コネクション用のコミュニケーション SFC
23.2 コンフィグレーションされていない S7 コネクション用のコミュニケーション SFC に関するエラー情報
エラーコード 説明 (全般)
(W#16#...)

説明 (SFC 別)

8090

-

指定された通信パートナーの指定先アドレスが、以下の原因で無効です。
• IOID が適切でありません。
• 適切でないベースアドレ
スが存在しています。
• MPI アドレスが適切でありません(>126)。

8092

SDまたはRDでエラーです。 SFC 65 "X_SEND"。例
例: ローカルデータ領域への •SD の長さが不正です。
アドレス指定は許可されて•
SD=NIL は不正です。
いません。
SFC 66 "X_RCV"。例•

RD によって指定した領域に収まりきれないデータを受信
しました。

•

RD のデータタイプは BOOL ですが、受信データ長が 1 バ
イトを超えています。

SFC 67 "X_GET"および SFC 72 "I_GET"。例•

RD の長さが不正です。

•

RD の長さまたはデータタイプが受信領域と一致しま
せん。

•

RD=NIL は許可されません。

SFC 68 "X_PUT"および SFC 73 "I_PUT"。例•

SD の長さが不正です。

•

SD=NIL は不正です。

8095

優先度の低いクラスで、ブ ロックが既に実行されてい
ます。

80A0

受信応答のエラーです。

80A1

通信問題です。
既存の接続を終了した後のSFC 呼び出しです。

80B0

オブジェクトを獲得できま SFC 67 "X_GET"および SFC 68 "X_PUT"、
せん(DB がロードされてい SFC 72 "I_GET"および SFC 73 "I_PUT"が有効。
ないなど)。

80B1

ANY ポインタにおけるエ ラーです。
送信対象のデータ領域の長さが不正です。

SFC 68 "X_PUT"および SFC 73 "I_PUT"。送信 CPU の SD 内で指定されたデータタイプは、通信パートナーではサポートされません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2398

リファレンスマニュアル, 05/2017, A5E41733394-AA

未構成 S7 コネクション用のコミュニケーション SFC
23.2 コンフィグレーションされていない S7 コネクション用のコミュニケーション SFC に関するエラー情報
エラーコード 説明 (全般)
(W#16#...)
80B2

説明 (SFC 別)

ハードウェアのエラーです。 SFC 67 "X_GET"および SFC 68 "X_PUT"、SFC 72 "I_GET"および SFC 73 "I_PUT"が有効。
モジュールが存在しません。
•

コンフィグレーション
されたスロットが空き状態となっています。

•

実際のモジュールタイ
プが、期待しているタイプと一致しません。

•

分散ペリフェラル I/Oが使用できません。

•

該当する SDB 内のモジュールに対するエントリが存在していま
せん。

80B3

データが読み取り専用、ま SFC 67 "X_GET"および SFC 68 "X_PUT"、
たは書き込み専用になって SFC 72 "I_GET"および SFC 73 "I_PUT"が有効。
います。例書き込み保護の
DB です。

80B4

ANY ポインタ内のデータタ SFC 67 "X_GET"および SFC 68 "X_PUT"、SFC 72 "I_GET"
イプエラー、または、指定 および SFC 73 "I_PUT"。VAR_ADDR で指定されたデータタイ
したタイプの配列が許可さ プは通信パートナーではサポートされません。
れていません。

80B5

違法なモードにより、実行 SFC 65 "X_SEND"が有効。
が拒否されました。

80B6

受信した応答に、認識でき ないエラーコードが含まれ
ています。

80B7

転送されたデータのデータ SFC 68 "X_PUT"および SFC 73 "I_PUT"が有効。
タイプまたは長さが、書き込み先であるパートナー
CPU の領域と一致していま
せん。

80B8

-

SFC 65 "X_SEND"。
通信パートナーの SFC 66 "X_RCV"はデータを承認しませんでした (RD=NIL)。

80B9

-

SFC 65 "X_SEND"。
データブロックは通信パートナーにより識別されましたが(EN_DT=0 での SFC 66 "X_RCV"呼び出し)、パートナーがSTOP モードにあるので、ユーザープログラムにまだ入力されていません。

80BA

通信パートナーの応答が、 通信フレーム内に適合しま
せん。

80C0

指定された接続は、別のジョ ブで使用されています。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA399

未構成 S7 コネクション用のコミュニケーション SFC
23.2 コンフィグレーションされていない S7 コネクション用のコミュニケーション SFC に関するエラー情報
エラーコード 説明 (全般)
(W#16#...)
80C1

説明 (SFC 別)

SFC が実行する CPU 上のリ ソースが不足しています。
たとえば、他に最大数の送信ジョブが、既にモジュール上で実行されています。
接続リソースが使用中です(データ受信に使われている
など)。

80C2

80C3

通信パートナー上のリソース が一時的に不足しています:
以下にその例を示します。
•

通信パートナーが現在、最大許容数のジョブを処理しています。

•

必須のリソースやメモリなどが使用中です。

•

ワークメモリが不足しています (メモリを圧縮してください)。

確立された接続のエラー
です: 以下に例を示します。
•

ローカル S7 ステーショ
ンが MPI サブネットに接続されていません。

•

MPI サブネット上で独自のステーションをア
ドレス指定しました。

•

通信パートナーにアクセスできなくなりました。

•

通信パートナー上でリソースが一時的に不足しています。

-

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
400

リファレンスマニュアル, 05/2017, A5E41733394-AA

未構成 S7 コネクション用のコミュニケーション SFC
23.3 SFC 65 "X_SEND"によるローカル S7 ステーションの外部にある通信パートナーへのデータの送信

23.3

SFC 65 "X_SEND"によるローカル S7 ステーションの外部にある通信パートナーへのデータの送信

説明
SFC 65 "X_SEND"を使用して、ローカル S7 ステーションの外部にある通信パートナーへデータを送信します。
SFC 66 "X_RCV"を使用して通信パートナー上でデータが受信されます。
REQ を 1 に指定して SFC を呼び出すと、データが転送されます。
パラメータ SD(送信側 CPU)で定義された送信領域のサイズが、パラメータ RD(通信パートナー)で定義された受信領域のサイズ以下となっているか確認してください。SD のデータタイプが BOOLの場合、RD も BOOL の必要があります。
パラメータ 宣言

データタイプ

メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、 コントロールパラメータ "起動要求"。S7 基本通信
定数
用 SFC の共通パラメータを参照してください。

CONT

INPUT

BOOL

I、Q、M、D、L、 コントロールパラメータ "続行"。S7 基本通信用
定数
SFC の共通パラメータを参照してください。

DEST_ID

INPUT

WORD

I、Q、M、D、L、 アドレスパラメータ "指定先 ID"。
定数
通信パートナーの MPI アドレスが含まれます。
MPI アドレスは STEP 7 で構成されています。

REQ_ID

INPUT

DWORD

I、Q、M、D、L、 ジョブ識別子です。これは、通信パートナー上で定数データを識別する場合に使用されます。

SD

INPUT

ANY

I、Q、M、D

送信領域への参照です。次のデータタイプを使用できます。
BOOL、BYTE、CHAR、WORD、INT、
DWORD、DINT、REAL、DATE、TOD、TIME、
S5TIME、DATE_AND_TIME 、およびこれらのデー
タタイプのうち BOOL を除く各タイプの配列。

RET_VALOUTPUT INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、戻り値に該当するエラーコードか含まれます。

BUSY

OUTPUT BOOL

I、Q、M、D、L

BUSY=1: 送信がまだ完了していません。
BUSY=0: 送信が完了したか、送信ファンクション
がアクティブになっていません。

データの一貫性
データは一貫した状態で送信されます。

エラー情報「コンフィグレーションされていない S7 コネクション用のコミュニケーション SFC に関するエラー情報」および「出力パラメータ RET_VAL によるエラーの評価」を参照

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

401

未構成 S7 コネクション用のコミュニケーション SFC
23.4 SFC 66 "X_RCV"によるローカル S7 ステーションの外部にある通信パートナーからのデータの受信

23.4

SFC 66 "X_RCV"によるローカル S7 ステーションの外部にある通信パートナーからのデータの受信説明
SFC 66 "X_RCV"を使用して、SFC 65 "X_SEND"を使用している S7 ステーションの外部にある 1 つ
以上の通信パートナーからのデータを受信します。
SFC 66 "X_RCV"を使用して、次のことが実行できます。
•

データが送信されコピーされるのを待機している状態にあるかどうかをチェックできます。
データはオペレーティングシステムによって内部的なキューに入れられています。

•

選択した受信領域に、キューの中の最も古いブロックをコピーできます。

パラメータ 宣言

データタイプ メモリ領域

説明

EN_DT

INPUT

BOOL

I、Q、M、D、L、 コントロールパラメータ "データ転送の有効化"。
値を 0 にすると、少なくとも 1 つのデータブロック
定数が受信領域への入力を待機しているかどうかチェッ
クできます。この値を 1 にすると、キュー内で最も古いデータブロックが、RD で指定されたワークメ
モリ領域にコピーされます。

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、戻り値に該当するエラーコードか含まれます。エ
ラーが発生しなかった場合、RET_VAL の内容は以下のようになります。
•

EN_DT=0/1 および NDA=0 の場合はW#16#7000。
この場合は、キュー内にデータブロックが存在
しません。

•

EN_DT=0 および NDA=1 の場合は、キュー内で最も古いデータブロックの長さが、バイト単位の正数で返されます。

•

EN_DT=1 および NDA=1 の場合は、RD 受信領域にコピーされたデータブロックの長さが、バイト単位の正数で返されます。

REQ_IDOUTPUT

DWORD

I、Q、M、D、L

キューに最初に格納された、つまりキュー内で最も古いデータを持つ SFC"X_SEND"のジョブ識別子です。キュー内にデータブロックが存在しない場合
は、REQ_ID の値が 0 になります。

NDA

OUTPUT

BOOL

I、Q、M、D、L

ステータスパラメータ"新規データの着信"です。
NDA=0:•

キューの中にデータブロックは存在していません。

•

NDA=1:•

キューには少なくとも 1 つのデータブロックが入っています。( EN_DT=0 による SFC 66
呼び出し)。

•

キューの中の最も古いデータブロックがユー
ザープログラムにコピーされました。
(EN_DT=1 による SFC 66 呼び出し)。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2402

リファレンスマニュアル, 05/2017, A5E41733394-AA

未構成 S7 コネクション用のコミュニケーション SFC
23.4 SFC 66 "X_RCV"によるローカル S7 ステーションの外部にある通信パートナーからのデータの受信パラメータ 宣言

データタイプ メモリ領域

説明

RD

ANY

受信データ領域への参照です。次のデータタイプ
が許可されます。BOOL、BYTE、CHAR、
WORD、INT、DWORD、DINT、REAL、DATE、TOD、TIME 、S5_TIME、DATE_AND_TIME
および BOOL を除くこれらのデータタイプの配列。

OUTPUT

I、Q、M、D

キューの中の最も古いデータブロックを放棄した
い場合は、RD に値 NIL を割り付けてください。
受信領域の最大長は 76 バイトです。

EN_DT=0 でのデータ受信状況の確認
通信パートナーからデータが着信するとすぐに、オペレーティングシステムはそれらのデータを着信した順にキューに入力します。
キューの中に少なくとも 1 つのデータブロックが存在するかどうかをチェックする場合、EN_DT=0
で SFC 66 を呼び出し、次のように出力パラメータ NDA を評価します。
•

NDA=0: キューの中にデータブロックは存在しません。REQ_ID は意味を持たず、RET_VAL の
値は W#16#7000 となります。

•

NDA=1: キューの中にフェッチ可能なデータブロックが 1 つ以上存在しています。
この場合は、出力パラメータ RET_VAL と、さらに必要に応じて REQ_ID を評価する必要があります。RET_VAL にはデータブロック長がバイト単位で示され、REQ_ID には送信ブロックのジョブ識別子が示されます。キューの中に複数のデータブロックが存在する場合、REQ_IDと RET_VAL には、キュー内で最も古いデータブロックに関係する値が示されます。
"X_RCV"

Querying Data Reception
0

Receive resources

EN_DT REQ_ID
NDA
RD

Data received t2
Queue

Data received t1

t
t1

t2

データ受信

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA403

未構成 S7 コネクション用のコミュニケーション SFC
23.4 SFC 66 "X_RCV"によるローカル S7 ステーションの外部にある通信パートナーからのデータの受信

EN_DT=1 での受信領域へのデータ入力
EN_DT=1 で SFC 66 "X_RCV"を呼び出すとき、キューの中にある最も古いデータブロックは、RDにより指定されたワークメモリ領域にコピーされます。RD は、SD パラメータにより定義された対応する SFC 65 "X_SEND"の送信領域と同じ大きさであるか、それ以上の大きさである必要があります。入力パラメータ SD のデータタイプが BOOL の場合、RD のデータタイプも BOOL でなけ
ればなりません。受信データを複数の領域に入力したい場合は、REQ_ID を問い合わせ(EN_DT を0 に指定して SFC を呼び出し)、次の呼び出し(EN_DT=1)で適切な RD を選択します。データのコピー時にエラーが発生しなければ、RET_VAL にはコピーされたデータブロックの長さがバイト単位で示され、肯定応答が送信側に送られます。
Entering Data from the Queue
Queue

Transfer data

X_RCV
1

EN_DT REQ_ID
NDA
RD

Receive area

データ承認

データの放棄キューのデータを入力したくない場合は、RD に値 NIL を割り付けます(/232/を参照)。この場合、送信側は否定確認応答を受け取ります (対応する SFC 65 "X_SEND"の RET_VAL の値は W#1680B8です)。SFC 66 "X_RCV"の RET_VAL の値は 0。

データの一貫性
EN_DT=1 および RETVAL=W#16#00xy での呼び出し後、受信領域 RD には新規データが格納されます。これらのデータは、後続のブロック呼び出しによって上書きされる場合があります。これを防ぐため、受信データの評価が完了するまでは、同じ受信領域 RD で SFC 66 "X_RCV"を呼び出さないでください。

STOP モードへの変更
CPU が STOP モードに切り替わると、次のことが発生します。
•

新たに着信する新しいジョブに対して否定応答が返されます。

•

着信したすべてのジョブおよびキューの中に置かれているすべてのジョブに対して否定応答が返されます。
-

STOP モードに切り替わった後でウォームリスタートまたはコールドリスタートが行われると、データブロックがすべて放棄されます。

-

STOP モードに切り替わった後でリセットが行われると、(S7-300 および S7-400H 上では不可能) STOP モードに切り替わる前にキューの問い合わせがあった場合は (EN_DT=0 に
よる SFC 66 "X_RCV"の呼び出し)、最も古いジョブに属しているデータブロックがユー
ザープログラムに入力されます。それ以外の場合は、データブロックが放棄されます。
その他のデータブロックはすべて放棄されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2404

リファレンスマニュアル, 05/2017, A5E41733394-AA

未構成 S7 コネクション用のコミュニケーション SFC
23.4 SFC 66 "X_RCV"によるローカル S7 ステーションの外部にある通信パートナーからのデータの受信

接続中止
接続が終了されると、既にキューの中にある接続に属するジョブは放棄されます。
例外: このジョブがキューの中で最も古いジョブで、EN_DT=0 で SFC 66 "X_RCV"を呼び出して既にその存在を検出している場合は、EN_DT=1 で受信領域にこのジョブを入力できます。

エラー情報「コンフィグレーションされていない S7 コネクション用のコミュニケーション SFC に関するエラー情報」および「出力パラメータ RET_VAL によるエラーの評価」を参照

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

405

未構成 S7 コネクション用のコミュニケーション SFC
23.5 SFC 68 "X_PUT"によるローカル S7 ステーションの外部にある通信パートナーへのデータの書き込み

23.5

SFC 68 "X_PUT"によるローカル S7 ステーションの外部にある通信パートナーへのデータの書き込み

説明
SFC 68 "X_PUT"を使用して、ローカル S7 ステーション内に存在しない通信パートナーにデータを書き込むことができます。この通信パートナー上に対応する SFC がありません。
REQ を 1 に設定してこの SFC が呼び出されると、書き込みジョブが有効になります。この後、
BUSY=0 で応答を受け取るまで、この SFC 呼び出しを継続することができます。
SD パラメータ(送信側 CPU)で定義された送信領域のサイズが、VAR_ADDR パラメータ(通信パートナー)で定義された受信領域のサイズと同じであることを確認してください。また、SD とVAR_ADDR のデータタイプは一致しなければなりません。
パラメータ

宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、 コントロールパラメータ "起動要求"。SFC の S7
定数
基本通信用共通パラメータ

CONT

INPUT

BOOL

I、Q、M、D、L、 コントロールパラメータ "続行"。
定数
コントロールパラメータ "起動要求"。通信 SFCの共通パラメータを参照してください。

DEST_ID

INPUT

WORD

I、Q、M、D、L、 アドレスパラメータ "指定先 ID"。通信パートナー
定数の MPI アドレスが含まれます。MPI アドレスは
STEP 7 で構成されています。

VAR_ADDR

INPUT

ANY

I、Q、M、D

データが書き込まれるパートナーCPU 上の領域
への参照です。通信パートナーによってサポートされているデータタイプを選択する必要があり
ます。

SD

INPUT

ANY

I、Q、M、D

送信対象のデータが置かれているローカル CPU 内の領域への参照です。次のデータタイプを使用できます。BOOL、BYTE、
CHAR、WORD、INT、DWORD、DINT、
REAL、DATE、TOD、TIME、S5_TIME、
DATE_AND_TIME
および BOOL を除くこれらタイプの配列。
SD のサイズは、通信相手側のVAR_ADDR パラメータと同じでなければなりません。また、SD と VAR_ADDR のデータタイプ
は一致しなければなりません。
送信領域の最大長は 76 バイトです。

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、戻り値に該当するエラーコードか含まれます。

BUSY

OUTPUT

BOOL

I、Q、M、D、L

BUSY=1: 送信がまだ完了していません。
BUSY=0: 送信が完了したか、送信ファンクショ
ンがアクティブになっていません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2406

リファレンスマニュアル, 05/2017, A5E41733394-AA

未構成 S7 コネクション用のコミュニケーション SFC
23.5 SFC 68 "X_PUT"によるローカル S7 ステーションの外部にある通信パートナーへのデータの書き込み

STOP モードへの変更
CPU が STOP モードに切り替わると、SFC 68 "X_PUT"で確立された接続は終了します。
それ以降、データは送信されません。CPU のモードが切り替わったときに、既に送信データが内部バッファにコピーされている場合は、そのバッファの内容が放棄されます。

通信パートナーは STOP モードに切り替わります
通信パートナーの CPU が STOP モードに切り替わっても、SFC 68 "X_PUT"によるデータ転送に影響しません。STOP モードにあるパートナーでデータを書き込むこともできます。

データの一貫性
データは一貫した状態で送信されます。

エラー情報「コンフィグレーションされていない S7 コネクション用のコミュニケーション SFC に関するエラー情報」および「出力パラメータ RET_VAL によるエラーの評価」を参照

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

407

未構成 S7 コネクション用のコミュニケーション SFC
23.6 SFC 67 "X_GET"によるローカル S7 ステーションの外部にある通信パートナーからのデータの読み取り

23.6

SFC 67 "X_GET"によるローカル S7 ステーションの外部にある通信パートナーからのデータの読み取り

説明
SFC 67 "X_GET"を使用して、ローカル S7 ステーション内に存在しない通信パートナーからデータを読み取ることができます。この通信パートナー上に対応する SFC がありません。
REQ を 1 に設定してこの SFC を呼び出すと、読み取りジョブが有効になります。この後、BUSY=0
によってデータ受信が確認されるまで、
この SFC の呼び出しを継続することができます。RET_VALには、受信したデータブロックの長さがバイト単位で示されます。
RD パラメータ(受信側 CPU)で定義した受信領域のサイズは、VAR_ADDR パラメータ(通信パートナー側)によって定義された読み取り対象領域のサイズと少なくとも同じでなければなりません。また、RD と VAR_ADDR のデータタイプは一致しなければなりません。
パラメータ

宣言

データタイプ

メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、 コントロールパラメータ "起動要求"。
定数「通信 SFC の共通パラメータ」を参照して
ください。

CONT

INPUT

BOOL

I、Q、M、D、L、 コントロールパラメータ "続行"。
定数「通信 SFC の共通パラメータ」を参照してください。

DEST_ID

INPUT

WORD

I、Q、M、D、L、 アドレスパラメータ "指定先 ID"。通信パー
定数
トナーの MPI アドレスが含まれます。MPI
アドレスは STEP 7 で構成されています。

VAR_ADDR

INPUT

ANY

I、Q、M、D

読み取り対象のデータが置かれているパート
ナーCPU 上の領域への参照です。通信パート
ナーによってサポートされているデータタイ
プを選択する必要があります。

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、戻り値に該当するエラーコードか含まれます。
エラーが発生しなかった場合、RET_VAL には、受信領域 RD にコピーされたデータブ
ロックの長さが正のバイト数で示されます。

BUSY

OUTPUT

BOOL

I、Q、M、D、L

BUSY=1: 受信がまだ完了していません。
BUSY=0: 受信が完了したか、受信ジョブがアクティブになっていません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2408

リファレンスマニュアル, 05/2017, A5E41733394-AA

未構成 S7 コネクション用のコミュニケーション SFC
23.6 SFC 67 "X_GET"によるローカル S7 ステーションの外部にある通信パートナーからのデータの読み取り
パラメータ

宣言

データタイプ

メモリ領域

説明

RD

OUTPUT

ANY

I、Q、M、D

受信領域への参照です(受信データ領域)。
次のデータタイプが許可されます。BOOL、BYTE、CHAR、
WORD、INT、DWORD、DINT、REAL、DATE、TOD、TIME 、S5_TIME、
DATE_AND_TIME
および BOOL を除くこれらのデータタイプの配列。
受信領域 RD は、少なくとも通信相手側で読み取られる VAR_ADDR のデータと同じ長さでなければなりません。また、RD とVAR_ADDR のデータタイプは一致しなければなりません。
受信領域の最大長は 76 バイトです。

STOP モードへの変更
CPU が STOP モードに切り替わると、SFC 67 "X_GET"で確立された接続は終了します。オペレー
ティングシステムのバッファに格納されている受信データが失われるかどうかは、実行する再起動のタイプによって異なります。
•(S7-300 と S7-400H 以外で)ホットスタートが行われた場合は、RD で定義された領域にデータがコピーされます。

•

ウォームリスタートまたはコールドリスタートが行われた場合は、データが放棄されます。

通信パートナーは STOP モードに切り替わります
通信パートナーの CPU が STOP モードに切り替わっても、SFC 67 "X_GET"によるデータ転送に影響しません。STOP モードにあるパートナーでデータを読み取ることもできます。

データの一貫性
データは一貫した状態で受信されます。

エラー情報「コンフィグレーションされていない S7 コネクション用のコミュニケーション SFC に関するエラー情報」および「出力パラメータ RET_VAL によるエラーの評価」を参照

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA409

未構成 S7 コネクション用のコミュニケーション SFC
23.7 SFC 69 "X_ABORT"によるローカル S7 ステーションの外部にある通信パートナーへの既存の接続の中止

23.7

SFC 69 "X_ABORT"によるローカル S7 ステーションの外部にある通信パートナーへの既存の接続の中止

説明
SFC 69 "X_ABORT"を使用して、SFC X_SEND、X_GET または X_PUT により確立された接続で、同じローカル S7 ステーション内に存在しない通信パートナーへの接続を終了します。X_SEND、
X_GET または X_PUT に属しているジョブが完了すると (BUSY = 0)、両方のエンドで使用された接続リソースは、SFC 69 "X_ABORT"を呼び出した後でリリースされます。X_SEND、X_GET、または X_PUT に属しているジョブがまだ完了していない(BUSY=1)場合は、接続が中止された後、REQ=0 と CONT=0 を設定して関連する SFC を再度呼び出してから、BUSY=0 になるのを待ちます。その後でのみ、すべての接続リソースが再度リリースされます。SFC "X_SEND"、"X_PUT"
または"X_GET"が格納されているエンドでのみ、SFC 69 "X_ABORT"を呼び出すことができます。
接続中止は、REQ=1 で SFC を呼び出すと実行されます。
パラメータ 宣言

データタイプ メモリ領域

REQ

INPUT

BOOL

I、Q、M、D、L、 コントロールパラメータ "起動要求"。
定数「通信 SFC の共通パラメータ」を参照してください。

説明

DEST_ID

INPUT

WORD

I、Q、M、D、L、 アドレスパラメータ "指定先 ID"。通信パートナー
定数の MPI アドレスが含まれます。MPI アドレスは
STEP 7 で構成されています。

RET_VALOUTPUT INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、戻り値に該当するエラーコードか含まれます。

BUSY

OUTPUT BOOL

I、Q、M、D、L

BUSY=1: 接続中止がまだ完了していません。
BUSY=0: 接続が中止されました。

STOP モードへの変更
CPU が STOP モードに切り替わると、SFC 69 "X_ABORT"で開始した接続中止が完了します。

通信パートナーは STOP モードに切り替わります
通信パートナーの CPU が STOP モードに切り替わっても、SFC 69 "X_ABORT"による接続中止に影響しません。接続が終了しました。

エラー情報「コンフィグレーションされていない S7 コネクション用のコミュニケーション SFC に関するエラー情報」および「出力パラメータ RET_VAL によるエラーの評価」を参照

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
410

リファレンスマニュアル, 05/2017, A5E41733394-AA

未構成 S7 コネクション用のコミュニケーション SFC
23.8 SFC 72 "I_GET"によるローカル S7 ステーション内にある通信パートナーからのデータの読み取り

23.8

SFC 72 "I_GET"によるローカル S7 ステーション内にある通信パート
ナーからのデータの読み取り

説明
SFC 72 "I_GET"を使用して、同じローカル S7 ステーション内にある通信パートナーからデータを読み取ることができます。通信パートナーは、中央ラックまたは増設ラックに置かれていることもあれば、分散されていることもあります。STEP 7 を使用して分散通信パートナーをローカル CPUに割り付けていることを確認してください。
この通信パートナー上に対応する SFC がありません。
REQ を 1 に設定してこの SFC を呼び出すと、受信ジョブが有効になります。この後、BUSY=0 に
よってデータ受信が確認されるまで、この SFC の呼び出しを継続することができます。RET_VALには、受信したデータブロックの長さがバイト単位で示されます。
RD パラメータ(受信側 CPU)で定義した受信領域のサイズは、VAR_ADDR パラメータ(通信パート
ナー)によって定義された読み取り対象領域のサイズと少なくとも同じでなければなりません。また、RD と VAR_ADDR のデータタイプは一致しなければなりません。
パラメータ

宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、 コントロールパラメータ "起動要求"。
定数「通信 SFC の共通パラメータ」を参照してくだ
さい。

CONT

INPUT

BOOL

I、Q、M、D、L、 コントロールパラメータ "続行"。
定数「通信 SFC の共通パラメータ」を参照してくだ
さい。

IOID

INPUT

BYTE

I、Q、M、D、L、 パートナーモジュール上のアドレス範囲の識別子
定数です。
B#16#54 = ペリフェラル入力 (PI)B#16#55= ペリフェラル出力 (PQ)
混成モジュールに属する範囲の識別子は、2 つのアドレスのうち下位の方です。アドレスが同じである場合は、
B#16#54 を指定します。

LADDR

INPUT

WORD

I、Q、M、D、L、 パートナーモジュールの論理アドレスです。パート
定数
ナーモジュールが、混成モジュールである場合は、
2 つのアドレスのうち、下位の方を指定します。

VAR_ADDR

INPUT

ANY

I、Q、M、D

読み取り対象のデータが置かれているパートナー
CPU 上の領域への参照です。通信パートナーでサポートされているデータタイプを選択します。

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、戻り値に該当するエラーコードか含まれます。
エラーが発生しなかった場合、RET_VAL には、
受信領域 RD にコピーされたデータブロックの長さが正のバイト数で示されます。

BUSY

OUTPUT

BOOL

I、Q、M、D、L

BUSY=1: 受信がまだ完了していません。
BUSY=0: 受信が完了したか、受信ジョブがアクティブになっていません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

411

未構成 S7 コネクション用のコミュニケーション SFC
23.8 SFC 72 "I_GET"によるローカル S7 ステーション内にある通信パートナーからのデータの読み取り
パラメータ

宣言

データタイプ メモリ領域

説明

RD

OUTPUT

ANY

受信領域への参照です(受信データ領域)。次のデー
タタイプを使用できます。
BOOL、BYTE、CHAR、WORD、INT、
DWORD、DINT、REAL、DATE、TOD、TIME、
S5_TIME、DATE_AND_TIME
および BOOL を除くこれらデータタイプの配列

I、Q、M、D

受信領域 RD は、少なくとも通信相手側で読み取られる VAR_ADDR と同じ長さでなければなりません。また、RD と VAR_ADDR のデータタイプは一致しなければなりません。
受信領域の最大長は 76 バイトです。

STOP モードへの変更
CPU が STOP モードに切り替わると、SFC 72 "I_GET"で確立された接続は終了します。オペレー
ティングシステムのバッファに格納されている受信データが失われるかどうかは、実行する再起動のタイプによって異なります。
•(S7-300 と S7-400H 以外で)ホットスタートが行われた場合は、RD で定義された領域にデータがコピーされます。

•

ウォームリスタートまたはコールドリスタートが行われた場合は、データが放棄されます。

通信パートナーは STOP モードに切り替わります
通信パートナーの CPU が STOP モードに切り替わっても、SFC 72 "I_GET"によるデータ転送に影響しません。STOP モードにあるパートナーでデータを読み取ることもできます。

データの一貫性
データは一貫した状態で受信されます。

エラー情報「コンフィグレーションされていない S7 コネクション用のコミュニケーション SFC に関するエラー情報」および「出力パラメータ RET_VAL によるエラーの評価」を参照

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
412

リファレンスマニュアル, 05/2017, A5E41733394-AA

未構成 S7 コネクション用のコミュニケーション SFC
23.9 SFC 73 "I_PUT"によるローカル S7 ステーション内にある通信パートナーへのデータの書き込み

23.9

SFC 73 "I_PUT"によるローカル S7 ステーション内にある通信パート
ナーへのデータの書き込み

説明
SFC 73 "I_PUT"を使用して、同じローカル S7 ステーション内にある通信パートナーにデータを書き込むことができます。通信パートナーは、中央ラックまたは増設ラックに置かれていることもあれば、分散されていることもあります。STEP 7 を使用して分散通信パートナーをローカル CPUに割り付けていることを確認してください。
この通信パートナー上に対応する SFC がありません。
REQ=1 で SFC を呼び出した後で、送信ジョブが起動します。
SD パラメータ(送信側 CPU)で定義された送信領域のサイズが、VAR_ADDR パラメータ(通信パートナー)で定義された受信領域のサイズと同じであることを確認してください。また、SD とVAR_ADDR のデータタイプは一致しなければなりません。
パラメータ 宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、 コントロールパラメータ "起動要求"。
を参照してください。
定数「通信SFCの共通パラメータ」

CONT

INPUT

BOOL

I、Q、M、D、L、 コントロールパラメータ "続行"。
を参照してください。
定数「通信SFCの共通パラメータ」

IOID

INPUT

BYTE

I、Q、M、D、L、 パートナーモジュール上のアドレス範囲の識別子
定数です。
B#16#54 = ペリフェラル入力 (PI)B#16#55= ペリフェラル出力 (PQ)
混成モジュールに属する範囲の識別子は、2 つのア
ドレスのうち下位の方です。アドレスが同じである
場合は、
B#16#54 を指定します。

LADDR

INPUT

WORD

I、Q、M、D、L、 パートナーモジュールの論理アドレスです。パート
ナーモジュールが、混成モジュールである場合は、
定数2 つのアドレスのうち、下位の方を指定します。

VAR_ADDR INPUT

ANY

I、Q、M、D、L

データの書き込み先である通信パートナー上の領域への参照です。
通信パートナーでサポートされているデータタイプ
を選択します。

SD

ANY

I、Q、M、D

送信対象のデータが置かれている CPU 上の領域への参照です。次のデータタイプを使用できます。
BOOL、BYTE、CHAR、WORD、INT、DWORD、
DINT、REAL、DATE、TOD、TIME、S5TIME、
DATE_AND_TIME および BOOL を除くこれらデータタイプの配列

INPUT

SD のサイズは、通信相手側の VAR_ADDR パラメー
タと同じでなければなりません。また、SD とVAR_ADDR のデータタイプは一致しなければなりません。
送信領域の最大長は 76 バイトです。
RET_VALOUTPUT INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、戻り値に該当するエラーコードか含まれます。

BUSY

OUTPUT BOOL

I、Q、M、D、L

BUSY=1: 送信がまだ完了していません。
BUSY=0: 送信が完了したか、送信ファンクション
がアクティブになっていません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

413

未構成 S7 コネクション用のコミュニケーション SFC
23.9 SFC 73 "I_PUT"によるローカル S7 ステーション内にある通信パートナーへのデータの書き込み

STOP モードへの変更
CPU が STOP モードに切り替わると、SFC 73 "I_PUT"で確立された接続は終了します。それ以降、データは送信されません。CPU のモードが切り替わったときに、既に送信データが内部バッファにコピーされている場合は、そのバッファの内容が放棄されます。

通信パートナーは STOP モードに切り替わります
通信パートナーの CPU が STOP モードに切り替わっても、SFC 73 "I_PUT"によるデータ転送に影響しません。STOP モードにあるパートナーでデータを書き込むこともできます。

データの一貫性
データは一貫した状態で送信されます。

エラー情報「コンフィグレーションされていない S7 コネクション用のコミュニケーション SFC に関するエラー情報」および「出力パラメータ RET_VAL によるエラーの評価」を参照

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2414

リファレンスマニュアル, 05/2017, A5E41733394-AA

未構成 S7 コネクション用のコミュニケーション SFC
23.10 SFC 74 "I_ABORT"によるローカル S7 ステーション内にある通信パートナーへの既存の接続の中止

23.10

SFC 74 "I_ABORT"によるローカル S7 ステーション内にある通信パートナーへの既存の接続の中止

説明
SFC 74 "I_ABORT"を使用して、同じローカル S7 ステーション内にある通信パートナーへの、SFC
72 "I_GET"または SFC 73 "I_PUT"で確立された接続を終了します。I_GET または I_PUT に属しているジョブが完了すると (BUSY = 0)、両方のエンドで使用された接続リソースは、SFC 74"I_ABORT"を呼び出した後でリリースされます。
I_GET または I_PUT に属しているジョブがまだ完了していない(BUSY=1)場合は、接続が中止された後、REQ=0 と CONT=0 を設定して関連する SFC を再度呼び出してから、BUSY=0 になるのを待ちます。その後でのみ、すべての接続リソースが再度リリースされます。
SFC "I_PUT"または"I_GET"が格納されているエンド (つまり、クライアントのエンド)でのみ SFC
74 "I_ABORT"を呼び出すことができます。
接続中止は、REQ=1 で SFC を呼び出すと実行されます。
パラメータ 宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、 コントロールパラメータ "起動要求"。「通信 SFC
定数の共通パラメータ」を参照してください。

IOID

INPUT

BYTE

I、Q、M、D、L、 パートナーモジュール上のアドレス範囲の識別子
定数です。
B#16#54 = ペリフェラル入力 (PI)B#16#55 = ペリフェラル出力 (PQ)
混成モジュールに属する範囲の識別子は、2 つのアドレスのうち下位の方です。アドレスが同じである場合は、B#16#54 を指定します。

LADDR

INPUT

WORD

I、Q、M、D、L、 パートナーモジュールの論理アドレスです。パート
ナーモジュールが、混成モジュールである場合は、
定数2 つのアドレスのうち、下位の方を指定します。

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、戻り値に該当するエラーコードか含まれます。

BUSY

OUTPUT

BOOL

I、Q、M、D、L

BUSY=1: 接続中止がまだ完了していません。
BUSY=0: 接続が中止されました。

STOP モードへの変更
CPU が STOP モードに切り替わると、SFC 74 "I_ABORT"で開始した接続中止が完了します。

通信パートナーは STOP モードに切り替わります
通信パートナーの CPU が STOP モードに切り替わっても、SFC 74 "I_ABORT"による接続中止に影響しません。接続が終了しました。

エラー情報「コンフィグレーションされていない S7 コネクション用のコミュニケーション SFC に関するエラー情報」および「出力パラメータ RET_VAL によるエラーの評価」を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

415

未構成 S7 コネクション用のコミュニケーション SFC
23.10 SFC 74 "I_ABORT"によるローカル S7 ステーション内にある通信パートナーへの既存の接続の中止

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
416

リファレンスマニュアル, 05/2017, A5E41733394-AA

24

Industrial Ethernet 経由のオープンな通信

24.1

概要

Industrial Ethernet 経由のオープンな通信
STEP 7 は、ユーザープログラムを使って、Ethernet を経由して他の通信パートナーとデータを交換するために「通信ブロック」の下にある「標準ライブラリ」で以下の FB および UDT を提供します(TCP、ISO-on-TCP、UDP プロトコル)。
•••

コネクション型プロトコル: TCP(RFC 793 準拠)、ISO on TCP(RFC 1006 準拠):-

接続パラメータの割り付けのためのデータ構造を備えた UDT 65 "TCON_PAR"-

プロトコルごとの既定値を備えた UDT 651 - UDT 656-

接続の確立のための FB 65 "TCON"-

接続終了のための FB 66 "TDISCON"-

データ送信のための FB 63 "TSEND"-

データ受信のための FB 64 "TRCV"

コネクションレス型プロトコル: UDP(RFC 768 準拠)-

ローカル通信アクセスポイント用のパラメータ割り付けのためのデータ構造を備えた UDT
65 "TCON_PAR"-

プロトコルごとの既定値を備えた UDT 657-

リモートパートナー用のアドレス指定パラメータ割り付けのためのデータ構造を備えた
UDT 66 "TCON_ADR"-

プロトコルごとの既定値を備えた UDT 661-

ローカル通信アクセスポイント設定のための FB 65 "TCON"-

ローカル通信アクセスポイント終了のための FB 66 "TDISCON"-

データ送信のための FB 67 "TUSEND"-

データ受信のための FB 68 "TURCV"FETCH および WRITE サービスを使用した、サードパーティ製システムへのリンク-

TCP を使用したサードパーティリンク用の FB 210 "FW_TCP"-

ISO-on-TCP を使用したサードパーティリンク用の FB 220 "FW_IOT"

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

417

Industrial Ethernet 経由のオープンな通信
24.2 Industrial Ethernet 経由のオープンな通信のための FB のファンクション

24.2

Industrial Ethernet 経由のオープンな通信のための FB のファンクション

コネクション型プロトコルとコネクションレス型プロトコル
データ通信では、以下のプロトコルバリアントが区別されます。
•

コネクション型プロトコルバリアント:
これらのプロトコルは、データ転送が開始される前に、通信パートナーへの論理接続を確立します。データ転送が終了すると、これらのプロトコルは必要に応じて、接続を終了します。
コネクション型プロトコルは、信頼できる保証された転送が特に重要な場合に、データに使用されます。通常、1 つの物理ライン上に多くの論理接続が存在できます。
Industrial Ethernet 経由のオープンな通信のFBでは以下のコネクション型プロトコルがサポートされています。

•-

TCP/IP(RFC 793 準拠)-

ISO on TCP(RFC 1006 準拠)

コネクションレス型プロトコルバリアント:
これらのプロトコルは接続なしで機能します。このため、リモートパートナーとの接続の確立と終了はありません。コネクションレス型プロトコルでは、確認応答なしのデータが、リモートパートナーへの引き渡しについて信頼性なく、保証のない状態で転送されます。つまり、ブロッ
クによってデータの損失が表示されることなく、データが失われる可能性があります。
Industrial Ethernet 経由のオープンな通信のFBでは以下のコネクション型プロトコルがサポートされています。
-

UDP(RFC 768 準拠)

ファンクションは、どのようにして実際に使用されるプロトコルの違いに依存しないようにしているのでしょうか。このことについては、次の節で詳細に説明しています。

受信領域
この用語は、以下のセクションで繰り返し使用されます。これは、ファンクションブロックで受信データが入る領域を意味します。
受信領域は、以下の 2 つの変数によって指定されます。
•

受信領域の開始を示すポインタ•

受信領域の長さ受信領域の長さは、使用されるプロトコルバリアントに応じて、LENパラメータ(LEN <> 0の場合)、
または DATA パラメータの長さ情報(LEN = 0 の場合)で指定されます。
ANY ポインタでは、データタイプ BOOL、BYTE、CHAR、WORD、INT、DWORD、DINT、REAL、DATE、TIME_OF_DAY、TIME、S5TIME、DATE_AND_TIME が許可されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2418

リファレンスマニュアル, 05/2017, A5E41733394-AA

Industrial Ethernet 経由のオープンな通信
24.2 Industrial Ethernet 経由のオープンな通信のための FB のファンクション

TCP
データの転送中、メッセージの長さまたは開始と終了についての情報は転送されません。送信者が送信するバイト数を知っているため、このことは送信中には問題になりません。しかし、受信者にはデータの流れの中で 1 つのメッセージがどこで終わり、次のメッセージがどこで始まるかがわかりません。したがって、FB64 "TRCV"の受信領域を、ちょうど通信パートナー上の FB63 "TSEND"の
LEN パラメータの値(送信されるバイト数)に設定するようお勧めします。
•

データをアドホックモードで受信:受信領域は、FB64 "TRCV"の DATA パラメータで指定した領域と同じになります。
データブロックを受信した直後に、FB 64 "TRCV"が受信領域に伝送され、NDR が 1 に設定されます。最大長は 8192 バイトです。
受信領域について選択した長さが送信データの長さより長い場合、FB 64 "TRCV"によって受信データが完全に受信領域に入力されます。次に FB 64 "TRCV"により、NDR が TRUE にセットされ、受信データの長さが RCVD_LEN に書き込まれます。
送信データ長よりも短い受信領域を選択した場合は、受信領域にいっぱいになるまで、可能な限り多くのバイト数のデータがコピーされます。次に FB 64 "TRCV"により、NDR が TRUE にセットされ、受信領域の長さが RCVD_LEN に書き込まれます。その後の呼び出しごとに、後続の送信データが 1 ブロック受信されます。

•

設定済みの長さのデータ受信:
受信領域は、FB64 の DATA パラメータ(受信領域の開始アドレス)および LEN パラメータ(受信領域の長さ)で定義されます。
受信領域を完全に満たさないデータを受信する場合は、そのデータを最初は使用することができません。受信領域が後続のデータで完全に満たされたときにはじめて、そのデータを使用することができます。この場合、2 つの異なる送信ジョブからのデータが、同じ受信領域に配置されることにご留意ください。最初のメッセージの最後、または 2 番目のメッセージの開始を識別できない場合は、最初のメッセージまたは 2 番目のメッセージを検出できなくなります。
送信データ長よりも短い受信領域を選択した場合は、FB64 により、受信領域にいっぱいになるまで可能な限り多くのバイト数のデータがコピーされます。
受信領域が完全に満たされると、FB64 により、NDR が TRUE にセットされ、LEN の値が
RCVD_LEN に書き込まれます。したがって、その後の呼び出しごとに、後続の送信データのブロックが受信されます。

ISO on TCP
データ転送中、メッセージの長さとその終わりに関する情報も転送されます。
送信データよりも長い受信領域を選択した場合、受信領域にすべてのデータが入ります。次に FB 64"TRCV"により、NDR が TRUE にセットされ、送信データの長さが RCVD_LEN に書き込まれます。
送信データ長よりも短い受信領域を選択した場合は、FB64 はデータを受信領域にコピーせず、
エラー情報 ERROR=1、STATUS=W#16#8088 が返されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

419

Industrial Ethernet 経由のオープンな通信
24.2 Industrial Ethernet 経由のオープンな通信のための FB のファンクション

UDP
TCP および ISO-on-TCP プロトコルと同様に、接続の確立が行われません。したがって、送信ブロッ
ク FB 67 "TUSEND"が呼び出されたときに、受信者のアドレスパラメータへの参照(IP アドレスとポート番号)を指定する必要があります。同様に、受信ブロック FB 68 "TURCV"が完了したときに、送信者のアドレスパラメータへの参照(IP アドレスとポート番号)を受信します。
FB 67 "TUSEND"および FB 68 "TURCV"を使用できるようにするには、まず、ローカル通信アクセ
スポイントをセットアップするために、送信者と受信者の両端で FB 65 "TCON"を呼び出す必要があります。
FB 67 "TUSEND"を呼び出すたびに、IP アドレスとポート番号を指定して、リモートパートナーを再参照することができます。
データ転送中、メッセージの長さとその終わりに関する情報も転送されます。
送信データよりも長い受信領域を選択した場合、受信領域にすべてのデータが入ります。次に FB 64"TRCV"により、NDR が TRUE にセットされ、送信データの長さが RCVD_LEN に書き込まれます。
送信データ長よりも短い受信領域を選択した場合は、FB64 はデータを受信領域にコピーせず、
エラー情報 ERROR=1、STATUS=W#16#8088 が返されます。

TCP と UDP のポート番号
接続のアドレス指定は次のように行われます。
••

TCP 使用時:-

アクティブ接続: リモート IP アドレス経由、リモートポート、およびローカルポート経由(ローカルポート番号はユーザーが明示的に指定するか、またはオペレーティングシステム
によって割り付けられます)。

-

パッシブ接続: ローカルポート経由。ローカルポートを 2 回以上使用する場合、IP アドレス
またはリモート IP アドレスとリモート IP ポートも指定する必要があります。

UDP 使用時: リモート IP アドレス経由で、リモートポートとローカルポート(ローカルポート
番号はユーザーが明示的に指定します)。

以下に示す範囲はローカルポートに適用されます。これらの範囲は、リモートパートナーが S7 CPUの場合のみリモートポートに適用されます。そうでない場合、リモートポートには制限はありません。
••

CPUs 31x-2 PN/DP(ファームウェアバージョン V2.6 以下)、CPUs 41x-3 PN/DP(ファームウェア
バージョン V5.1 以下)の場合:-

パラメータ割り付けで許可されるポート番号(UDT 65): 2000～5000-

明示的に設定したポート番号がパラメータ割り付けに含まれない場合、オペレーティング
システムが 49152～65534 の動的な数値の範囲からポートを割り付けます。

CPUs 31x-2 PN/DP(ファームウェアバージョン V2.7 以上)、CPUs 41x-3 PN/DP(ファームウェア
バージョン V5.2 以上)の場合:-

パラメータ割り付けで許可されるポート番号(UDT 65): 1～49151。シーメンスでは数値範囲
1～1999 および 5001～49151 のサポートをシステム用に予約しているため、ポート番号は2000～5000 に限定することをお勧めします。

-

明示的に設定したポート番号がパラメータ割り付けに含まれない場合、オペレーティング
システムが 49152～65534 の動的な数値の範囲からポートを割り付けます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
420

リファレンスマニュアル, 05/2017, A5E41733394-AA

Industrial Ethernet 経由のオープンな通信
24.2 Industrial Ethernet 経由のオープンな通信のための FB のファンクション•

CPU 31x-2 PN/DP (ファームウェアバージョン V3.2 以上)、CPU 41x-3 PN/DP (ファームウェア
バージョン V6.0 以上)、CPU 41x-5H PN/DP (ファームウェアバージョン V6.0 以上)、および
CPU 41x-5H PN/DP (ファームウェアバージョン)-

ポートを複数使用することができます。

システム用に予約されたポート番号の一覧を次に示します。
プロトコル

ポート番号

サービス

-

0

(このポートは固定割り付けです。
使用できません。)

TCP

20 および 21

FTP

TCP

25

SMTP

TCP

80

HTTP

TCP

102

RFC 1006

UDP

135

RPC-DCOM

UDP

161

SNMP_REQUEST

TCP、UDP

34962

PNIO

TCP、UDP

34963

PNIO

TCP、UDP

34964

PNIO

UDP

65532

NTP

UDP

65533

NTP

UDP

65534

NTP

UDP

65535

NTP

http://www.iana.org/assignments/port-numbers も参照してください。

注記
システム用に予約されたポート番号は使用しないでください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

421

Industrial Ethernet 経由のオープンな通信
24.3 TCP および ISO on TCP による通信接続用のパラメータの割り付け

24.3

TCP および ISO on TCP による通信接続用のパラメータの割り付け

パラメータ割り付け用のデータブロック
通信接続のために TCP と ISO on TSP に対してパラメータを割り付けられるようにするには、UDT
65 "TCON_PAR"のデータ構造が含まれる DB を作成します。このデータ構造には、接続の構成に必要なパラメータが格納されます。各接続ごとにデータ構造が必要になります。この構造をグロー
バル DB で組み立てることができます。
FB 65 "TCON"の CONNECT 接続パラメータアドレスには、関連接続設定内容( たとえば、
P#DB100.DBX0.0 バイト 64)の参照アドレスが格納されます。

接続設定内容の構造(UDT 65)
バイト パラメータ

データ
タイプ

開始値

説明

0-1

block_length

WORD

W#16#40

UDT 65 の長さ: 64 バイト(固定)

2-3

ID

WORD

W#16#0001 接続への参照(値の範囲: W#16#0001～W#16#0FFF)
関連ブロック内のパラメータの値を ID で指定する必要があります。

4

connection_type

BYTE

B#16#115

active_est

BOOL

FALSE

プロトコルバリアント:•

B#16#11: TCP•

B#16#12: ISO on TCP•

B#16#01: TCP (互換モード)接続の確立方法の ID:•

FALSE: パッシブ接続の確立•

TRUE: アクティブ接続の確立

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2422

リファレンスマニュアル, 05/2017, A5E41733394-AA

Industrial Ethernet 経由のオープンな通信
24.3 TCP および ISO on TCP による通信接続用のパラメータの割り付け

バイト パラメータ

データ
タイプ

開始値

説明

6

BYTE

B#16#02•

B#16#00: CP 443-1 経由の通信(S7-400 および接続
タイプ= B#16#12 の場合のみ)。使用可能な CP:
CP443-1EX4x、CP443-1EX20、
CP443-1GX20、CP443-1EX30、CP443-1GX30•

B#16#01: インターフェーススロット 1(IF1)でWinAC RTX(TCP のみ)を使用した IE インターフェース経由の通信。

•

B#16#02: CPU 315-2 PN/DP および 317-2 PN/DPを使用した統合 IE インターフェース経由の通信•

B#16#03: CPU 315T-3 PN/DP、317T-3 PN/DPおよび 319-3 PN/DP を使用した統合 IE インターフェース経由の通信•

B#16#05: CPU 41x および 41xH (ラック 0)用の
統合 IE インターフェース X5 経由の通信•

B#16#06: インターフェーススロット 2(IF2)でWinAC RTX(TCP のみ)を使用した IE インターフェース経由の通信。

•

B#16#08: CPU 41x および 41xH (ラック 0)用の
統合 IE インターフェース X8 経由の通信•

B#16#0B: インターフェーススロット 3(IF3)でWinAC RTX(TCP のみ)を使用した IE インターフェース経由の通信。

•

B#16#0F: インターフェーススロット 4(IF4)でWinAC RTX(TCP のみ)を使用した IE インターフェース経由の通信。

•

B#16#10: CP 443-1 経由の通信(S7-400H およびconnection_type = B#16#12 の場合のみ)、ただし、CP がラック 1 または関連増設ラックに差し込み接続されている場合。

•

B#16#15: CPU 41xH (ラック 1)用の統合 IE イン
ターフェース X5 経由の通信•

B#16#18: CPU 41xH (ラック 1)用の統合 IE イン
ターフェース X8 経由の通信

7

local_device_id

local_tsap_id_len

BYTE

B#16#02

使用されるパラメータ local_tsap_id の長さ; 可能な値:•

0 または 2、次の通信タイプ用 = B#16#01(能動端: 0、受動端: 2)•0 または 2、次の通信タイプ用 = B#16#11(能動端: 0 または 2、受動端: 2)•

2～16(接続タイプ= B#16#12 の場合)

8

rem_subnet_id_len

BYTE

B#16#00

このパラメータは現在使用されていません。B#16#00
をこのパラメータに割り付ける必要があります。

9

rem_staddr_len

BYTE

B#16#00

リモート接続エンドポイントのアドレスの長さ:•

0: 指定なし、つまりパラメータ rem_staddr は対象外。

•

4: パラメータ rem_staddr 内の有効な IP アドレス

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

423

Industrial Ethernet 経由のオープンな通信
24.3 TCP および ISO on TCP による通信接続用のパラメータの割り付け

バイト パラメータ

データ
タイプ

開始値

説明

10

BYTE

B#16#00

使用されるパラメータ rem_tsap_id の長さ; 可能な値:

rem_tsap_id_len

11

next_staddr_len

BYTE

B#16#00

12 27

local_tsap_id

BYTE の B#16#07
ARRAY B#16#D0
B#16#00 ...
[1..16]•0 または 2(接続タイプ= B#16#01#の場合)
受動端の場合、値 B#16#00 のみ可能。

•

0 または 2(接続タイプ= B#16#11 の場合)•

0 または 2～16(接続タイプ= B#16#12 の場合(能動端: 2～16、受動端: 0 または 2～16、0 は指定なしを意味する)使用されたパラメータ next_staddr の長さ(ISO on TCPの場合のみ適用)
connection_type =•B#16#11: ローカルポート番(可能な値:「Industrial
Ethernet 経由のオープンな通信のための FB のファンクション」参照)、
local_tsap_id[1] = ポート番号の上位バイト(16 進表記)、
local_tsap_id[2] = ポート番号の下位バイト(16 進表記)、
local_tsap_id[3-16] = B#16#00•

B#16#12: ローカル TSAP-ID:
以下を参照。

•

B#16#01: ローカルポート番号(可能な値:「Industrial Ethernet 経由のオープンな通信のための FB のファンクション」参照)、
local_tsap_id[1] = ポート番号の上位バイト(16 進表記)、
local_tsap_id[2] = ポート番号の下位バイト(16 進表記)、
local_tsap_id[3-16] = B#16#00

注: 同じ通信パートナーに対して複数の接続がある場
合、使用する local_tsap_id のそれぞれの値が CPU 上
で一意になるようにしてください。
28 33

rem_subnet_id

BYTE の B#16#00 ...
ARRAY[1..6]

このパラメータは現在使用されていません。このパラメータには 0 を割り付ける必要があります。

34 39

rem_staddr

BYTE の B#16#00 ...
ARRAY[1..6]

リモート接続エンドポイントの IP アドレス
(192.168.002.003 など):
connection_type =•B#16#1x:rem_staddr[1] = B#16#C0 (192)、
rem_staddr[2] = B#16#A8 (168)、
rem_staddr[3] = B#16#02 (002)、
rem_staddr[4] = B#16#03 (003)、
rem_staddr[5-6]= B#16#00 (予約済み)•

B#16#01:
rem_staddr[1] = B#16#03 (003)、
rem_staddr[2] = B#16#02 (002)、
rem_staddr[3] = B#16#A8 (168)、
rem_staddr[4] = B#16#C0 (192)、
rem_staddr[5-6]= B#16#00 (予約済み)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2424

リファレンスマニュアル, 05/2017, A5E41733394-AA

Industrial Ethernet 経由のオープンな通信
24.3 TCP および ISO on TCP による通信接続用のパラメータの割り付け

バイト パラメータ

データ
タイプ

40 55

BYTE の B#16#00 ...
ARRAY[1..16]

56 61

62 63

rem_tsap_id

next_staddr

スペア

開始値

BYTE の B#16#00 ...
ARRAY[1..6]

WORD

説明
connection_type =•B#16#11: ローカルポート番号(可能な値:「Industrial Ethernet 経由のオープンな通信のための FB のファンクション」参照)、
rem_tsap_id[1] = ポート番号の上位バイト(16 進表記)、
rem_tsap_id[2] = ポート番号の下位バイト(16 進表記)、
rem_tsap_id[3-16] = B#16#00•

B#16#12: リモート TSAP-ID:
以下を参照

•

B#16#01: ローカルポート番号で可能な値:「Industrial Ethernet 経由のオープンな通信のための FB のファンクション」参照)、
local_tsap_id[1] = ポート番号の下位バイト(16 進値)、
local_tsap_id[2] = ポート番号の上位バイト(16 進値)、
local_tsap_id[3-16] = B#16#00

if local_device_id =•B#16#00:
next_staddr[1]: 対応(ローカル)CP のラックとス
ロット(ビット 0～4: スロット、ビット 5～7: ラッ
ク番号)
next_staddr[2-6]: B#16#00•

B#16#02、B#16#03、B#16#05:
next_staddr[1-6]: B#16#00•

B#16#01、B#16#06、B#16#0B、B#16#0F:
next_staddr[1-6]: B#16#00 (この場合、
next_staddr は len=B#16#00)

W#16#0000 予約済み: このパラメータには 0 を割り付けます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

425

Industrial Ethernet 経由のオープンな通信
24.3 TCP および ISO on TCP による通信接続用のパラメータの割り付け

ローカルおよびリモート TSAP ID の長さと構造(ISO-on-TCP 使用時)•

アクティブ接続の確立:
ローカル TSAP-ID:
統合 IE インターフェースの使用時は、長さが 1～16 バイトの任意の文字列が許可されます。
それぞれの文字の値は値 B#16#00～B#16#FF を持つことができます。
リモート TSAP-ID:
長さが 1～16 バイトの任意の文字列が許可されます。それぞれの文字の値は値 B#16#00～
B#16#FF を持つことができます。

•

パッシブ接続の確立:
ローカル TSAP-ID:

loc_tsap_id_len

local_tsap_id[1]local_tsap_id[2]2

B#16#E0 (接続タイプ T の 0 (統合 IE インターフェー 存在しない
ス使用時のみ)または
接続)
ローカル CPU のラックとスロット(ビット 0～4: ス
ロット、ビット 5～7: ラッ
ク番号)

>2

B#16#E0 (接続タイプ T の 0 (統合 IE インターフェー TSAP 拡張
ス使用時のみ)または
接続)
ローカル CPU のラックとスロット(ビット 0～4: ス
ロット、ビット 5～7: ラッ
ク番号)
統合 IE インターフェース 対象外
使用時のみ: 1 つの ASCII
文字(B#16#20～
B#16#7E)•

local_tsap_id[3 to 16]

TSAP 拡張リモート TSAP-ID:
長さが 0～16 バイトの任意の文字列が許可されます。それぞれの文字の値は値 B#16#00～
B#16#FF を持つことができます。

プロトコルバリアント TCP と ISO on TCP の CPU 依存性
どの CP で、TCP と ISO-on-TCP のどちらのプロトコルバリアントを使用できるかについては、「使用される CPU とプロトコルタイプ(connection_type)の関係と、転送可能なデータ長」に説明されています。
可能な接続数については、CPU の技術データを参照してください。

接続の確立
アクティブ接続の確立は通信パートナーA によって開始する必要があります。受信側の接続の確立
は通信パートナーB によって開始する必要があります。両方の通信パートナーが接続を開始すると、オペレーティングシステムが完全に接続を確立できます。
接続のパラメータで、通信パートナーの、接続の確立を有効にする側と、その有効にする側の要求に基づいて受動的に接続を確立する側を指定します。
UDP では、パートナーは両側ともパッシブ接続の確立を開始する必要があります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2426

リファレンスマニュアル, 05/2017, A5E41733394-AA

Industrial Ethernet 経由のオープンな通信
24.4 UDP によるローカル通信アクセスポイント用パラメータの割り付け

24.4

UDP によるローカル通信アクセスポイント用パラメータの割り付け

ローカル通信アクセスポイント用パラメータを割り付けるためのデータ構造
ローカル通信のアクセスポイントにパラメータを割り付けるには、UDT 65 "TCON_PAR"からのデータ構造を含む DB を作成します。このデータ構造には、ユーザープログラム間の接続やオペレー
ティングシステムの通信レベルを設定するためのパラメータが含まれます。
FB 65 "TCON"の CONNECT パラメータには、関連接続設定内容(たとえば、P#DB100.DBX0.0
バイト 64)のアドレス参照が格納されます。

UDP の接続設定内容の構造(UDT 65)
バイト パラメータ

データ
タイプ

開始値

説明

0-1

block_length

WORD

W#16#40

UDT 65 の長さ: 64 バイト(固定)

2-3

ID

WORD

W#16#0001

ユーザープログラムとオペレーティングシステムの通信レベルとの間のこの接続への参照(値の範囲:
W#16#0001 to W#16#0FFF)
関連ブロックのパラメータの値を ID で指定する必要があります。

4

connection_type

BYTE

B#16#13

プロトコルバリアント:

5

active_est

BOOL

FALSE

接続の確立方法の ID。このパラメータには FALSEを割り付ける必要があります。

6

local_device_id

BYTE

B#16#02•

B#16#00: CP 443-1EX4x 経由の通信(S7-400 および通信タイプ= B#16#12 のみ併用可) 使用可能な
CP: CP443-1EX4x、CP443-1EX20、
CP443-1GX20、CP443-1EX30、CP443-1GX30 )•B#16#01: インターフェーススロット 1(IF1)でWinAC RTX(TCP のみ)を使用した IE インターフェース経由接続。

•

B#16#02: CPU 315-2 PN/DP および 317-2 PN/DPを使用した統合 IE インターフェース経由の通信
B#16#03: CPU 319-3 PN/DP上の統合 IEインター
フェース経由の通信

•

•
•

•

•

B#16#13: UDP

B#16#05: CPU 414-3 PN/DP、416-3 PN/DP、
416-3F PN/DP、および 41x-5H PN/DP (ラック 0)による統合 IE インターフェース経由の通信
B#16#06: インターフェーススロット 2(IF2)でWinAC RTX(TCP のみ)を使用した IE インターフェース経由の通信。
B#16#0B: インターフェーススロット 3(IF3)でWinAC RTX(TCP のみ)を使用した IE インターフェース経由の通信。

•

B#16#0F: インターフェーススロット 4(IF4)でWinAC RTX(TCP のみ)を使用した IE インターフェース経由の通信。

•

B#16#15: CPU 41x-5H PN/DP (ラック 1)を使用
した IE インターフェース経由の通信

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

427

Industrial Ethernet 経由のオープンな通信
24.4 UDP によるローカル通信アクセスポイント用パラメータの割り付け

バイト パラメータ

データ
タイプ

開始値

説明

7

local_tsap_id_len

BYTE

B#16#02

使用されるパラメータ local_tsap_id の長さ: 2 バイト。

8

rem_subnet_id_len

BYTE

B#16#00

このパラメータは現在使用されていません。
B#16#00 をこのパラメータに割り付ける必要があります。

9

rem_staddr_len

BYTE

B#16#00

このパラメータは現在使用されていません。
B#16#00 をこのパラメータに割り付ける必要があります。

10

rem_tsap_id_len

BYTE

B#16#00

このパラメータは現在使用されていません。
B#16#00 をこのパラメータに割り付ける必要があります。

11

next_staddr_len

BYTE

B#16#00

このパラメータは現在使用されていません。
B#16#00 をこのパラメータに割り付ける必要があり
ます。

12 27

local_tsap_id

BYTE の B#16#07
ARRAY B#16#D0[1..16]
B#16#00 ...

ローカルポート番号(可能な値:「Industrial Ethernet
経由のオープンな通信のための FB のファンクショ
ン」参照)、
local_tsap_id[1] = ポート番号の上位バイト(16 進値)、
local_tsap_id[2] = ポート番号の下位バイト(16 進値)、
local_tsap_id[3-16] = B#16#00 (予約済み)
注: CPU で使用する local_tsap_id の各値が一意である
ことを確認してください。

28 33

rem_subnet_id

BYTE の B#16#00 ...
ARRAY[1..6]

このパラメータは現在使用されていません。このパラメータには 0 を割り付ける必要があります。

34 39

rem_staddr

BYTE の B#16#00 ...
ARRAY[1..6]

このパラメータは現在使用されていません。このパラメータには 0 を割り付ける必要があります。

40 55

rem_tsap_id

BYTE の B#16#00 ...
ARRAY[1..16]

このパラメータは現在使用されていません。このパラメータには 0 を割り付ける必要があります。

56 61

next_staddr

BYTE の B#16#00 ...
ARRAY[1..6]

このパラメータは現在使用されていません。このパラメータには 0 を割り付ける必要があります。

62 63

スペア

WORD

予約済み: このパラメータには 0 を割り付けます。

W#16#0000

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2428

リファレンスマニュアル, 05/2017, A5E41733394-AA

Industrial Ethernet 経由のオープンな通信
24.4 UDP によるローカル通信アクセスポイント用パラメータの割り付け

UDP プロトコルバリアントの CPU 依存性
UDP プロトコルバリアントを使用できる CPU については、「使用される CPU とプロトコルタイ
プ(connection_type)の関係と、転送可能なデータ長」を参照してください。
ユーザープログラムとオペレーティングシステムの通信レベルとの間の可能な接続数については、
CPU の技術データを参照してください。

ローカル通信アクセスポイントの設定
各通信パートナーは他の通信パートナーとは独立にローカル通信ポイントを設定する必要があります。この設定には、ユーザープログラムとオペレーティングシステムの通信レベルとの間の接続の確立が関係します。
UDP では、パートナーは両側ともパッシブ接続の確立をトリガする必要があります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

429

Industrial Ethernet 経由のオープンな通信
24.5 UDP によるリモートパートナーのアドレス情報の構造

24.5

UDP によるリモートパートナーのアドレス情報の構造

概要
FB 67 "TUSEND"により、パラメータ ADDR で受信者のアドレス情報を転送します。このアドレス
情報には、以下に指定した構造を含む必要があります。
68 "TURCV"により、パラメータ ADDR で受信されたデータの送信者のアドレスを取得できます。
このアドレス情報には、以下に指定した構造を含む必要があります。

リモートパートナーのアドレス情報のデータブロック
UDT 66 "TADDR_PAR"に準拠した 1 つまたは複数のデータ構造を含む DB を作成する必要があります。
関連リモートパートナーのアドレス(P#DB100.DBX0.0 バイト 8 など)へのポインタを FB 67"TUSEND"のパラメータ ADDR で転送し、FB 68 "TURCV"のパラメータ ADDR で受信します。

リモートパートナーのアドレス情報の構造(UDT 66)
バイト パラメータ

データ
タイプ

0-3

BYTEの B#16#00 ...
ARRAY[1..4]

4-5

rem_ip_addr

rem_port_nr

開始値

BYTEの B#16#00 ...
ARRAY[1..2]

説明
リモートパートナーの IP アドレス、例
192.168.002.003:•

rem_ip_addr[1] = B#16#C0 (192)•

rem_ip_addr[2] = B#16#A8 (168)•rem_ip_addr[3] = B#16#02 (002)•

rem_ip_addr[4] = B#16#03 (003)

リモート番号(可能な値:「Industrial Ethernet 経由のオー
プンな通信のための FB のファンクション」参照)、• rem_port_nr[1] = 高バイトのポート番号(16 進表示)
• rem_port_nr[2] = 低バイトのポート番号(16 進表示)

6-7

スペア

BYTEの B#16#00 ...
ARRAY[1..2]

予約済み: このパラメータには 0 を割り付けます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
430

リファレンスマニュアル, 05/2017, A5E41733394-AA

Industrial Ethernet 経由のオープンな通信
24.6 使用される CPU とプロトコルバリアント(connection_type)の関係と、転送可能なデータ長24.6使用される CPU とプロトコルバリアント(connection_type)の関係と、転送可能なデータ長
下記の表には、どの CPU に、どのプロトコルバリアントを使用することができるのか、ならびに転送できるデータ長が示されています。

プロトコル
バリアント

UDT 65 のパラメータ"connection_type"

CPU

統合 IE インター CP 経由のフェース経由の 通信における通信におけるデータ長(バイト)
データ長(バイト)

TCP

B#16#11

CPU 31x-2 PN/DP ファームウェア 1～8192
バージョン V2.4 現在-

CPU 31x-2 PN/DP ファームウェア 1～32767
バージョン V3.1 現在
CPU 31x-3 PN/DP ファームウェア 1～32767
バージョン V3.2 現在

ISO-on-TCP

CPU 41x-3 PN/DP

1～32767

CPUs 41x-5H PN/DP

1～32767-

B#16#01

CPU 31x-2 PN/DP

1 - 1460-

B#16#12

CPU 31x-2 PN/DP ファームウェア 1～8192
バージョン V2.4 現在-

CPU 31x-2 PN/DP ファームウェア 1～32767
バージョン V3.1 現在
CPU 31x-3 PN/DP ファームウェア 1～32767
バージョン V3.2 現在

UDP

B#16#13

CPUs 41x(ファームウェアバージョ ン 4.1 現在)(CPU 41x-4H なし)

1～1452

CPU 41x-3 PN/DP

1～32767

1～1452

CPUs 41x-5H PN/DP

1～32767

1～1452

CPU 31x-2 PN/DP (ファームウェア 1～1472
バージョン V2.4 以上)、CPU 41x-3
PN/DP および 41x-5H PN/DP-

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

431

Industrial Ethernet 経由のオープンな通信
24.7 FB 65 "TCON"による接続の確立

24.7

FB 65 "TCON"による接続の確立
可能な接続数については、CPU の技術データを参照してください。

TCP および ISO on TCP の使用
両方の通信パートナーが通信接続をセットアップおよび確立するために FB 65 "TCON"を呼び出します。パラメータでアクティブ接続の通信転送ポイントとなるパートナーとパッシブ接続の通信
転送ポイントとなるパートナーを指定します。
セットアップおよび確立された接続は、CPU によって自動的に維持され、モニタされます。
ライン切断やリモート通信パートナーによる接続割り込みが発生した場合、アクティブ接続のパートナーは、コンフィグレーションされた接続の再確立を試みます。この場合、FB 65 "TCON"の再呼び出しは必要ありません。
FB 66 "TDISCON"が呼び出されたとき、または CPU が STOP モードになったときは、既存の接続が終了し、コンフィグレーションされた接続が削除されます。接続をセットアップし、再確立するには、FB 65 "TCON"をもう一度呼び出す必要があります。

UDP の使用
両方の通信パートナーがローカル通信アクセスポイント(ローカルポート)を設定するために FB 65"TCON"を呼び出します。ユーザープログラムとオペレーティングシステムの通信レベルとの間に接続が設定されます。リモートパートナーには接続は確立されません。
ローカルのアクセスポイントは、UDP メッセージ フレームを送受信するために使われます。
ローカルアクセスポイント(UDT65)にパラメータを割り付けるか、リモートパートナー(UDT66)にパラメータを割り付ける場合、次のパラメータは同一にする必要があります。
•

UDP の場合: 接続とローカルポート番号への参照

ファンクション
FB 65 "TCON"は非同期に機能する FB なので、複数の FB 呼び出しに渡って処理が行われます。
接続をセットアップして確立するジョブを開始するには、REQ = 1 で FB 65 を呼び出します。
ジョブのステータスは、出力パラメータ RET_VAL および BUSY に表示されます。STATUS は、
非同期に機能する SFC の RET_VAL 出力パラメータに対応します(非同期 SFC のパラメータ REQ、
RET_VAL、BUSY の意味を参照)。
次の表は、BUSY、DONE および ERROR の関係を示しています。このテーブルを使用して、FB 65の現在のステータス、または接続がセットアップされて確立されたかどうかを判定できます(TCP、および TCP 上の ISO の場合)。
BUSY

DONE

エラー

説明

TRUE

対象外

対象外

ジョブが処理されています。

FALSE

TRUE

FALSE

ジョブが正常に完了しました。

FALSE

FALSE

TRUE

ジョブにエラーが発生して終了しました。エラーの原因は STATUS
パラメータで見つかります。

FALSE

FALSE

FALSE

FB に(新規)ジョブが割り付けられていなかった。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
432

リファレンスマニュアル, 05/2017, A5E41733394-AA

Industrial Ethernet 経由のオープンな通信
24.7 FB 65 "TCON"による接続の確立

パラメータ
パラメータ

宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L

コントロールパラメータ REQUEST によって、
ID で指定された接続を確立するジョブが開始します。このジョブは、信号立ち上がりエッジ
で開始します。

ID

INPUT

WORD

M、D、定数リモートパートナーに対して、またはユーザープログラムとオペレーティングシステムの通信レベルとの間で確立される接続への参照。ID は
ローカル接続の設定内容の関連パラメータ IDと同一でなければなりません。
値の範囲: W#16#0001～W#16#0FFF

DONE

OUTPUT

BOOL

I、Q、M、D、L

ステータスパラメータ DONE です。
• 0: ジョブが起動していないか、または実行中です。
• 1: ジョブがエラーなしで実行されました。

BUSY

OUTPUT

BOOL

I、Q、M、D、L• BUSY = 1: ジョブはまだ完了していません• BUSY = 0: ジョブが完了しています

エラー

OUTPUT

BOOL

I、Q、M、D、L

ステータスパラメータ ERROR です。
• ERROR=1: ジョブの処理中にエラーが発生しました。STATUS は、エラータイプの詳細情報を返します。

STATUSOUTPUT

WORD

M、D

STATUS パラメータ: エラー情報

CONNECT

IN_OUT

ANY

D

関連する接続設定(UDT 65)へのポインタ。
「TCP および ISO on TCP による通信接続用のパラメータの割り付け」および「UDP による
ローカル通信アクセスポイント用パラメータの割り付け」を参照してください。
注: S7-300 CPU の場合、パラメータ
CONNECT が、常に、DB パラメータの完全な指定(たとえば、P#DB13.DBX0.0 Byte 100 など)を必要とすることに注意してください。明
示的な DB 番号の省略は S7-300 CPU では許可されていないため、ユーザープログラムでエラーメッセージが発生します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

433

Industrial Ethernet 経由のオープンな通信
24.7 FB 65 "TCON"による接続の確立

エラー情報
エラー

STATUS(W#16#...)

説明

0

0000

接続が正常に確立しました。

0

7000

アクティブなジョブ処理はありません。

0

7001

ジョブ処理を開始して、接続を確立します。

0

7002

後続呼び出し(REQ は対象外)。接続を確立しています。

1

8086

ID パラメータが許容範囲内にありません。

1

8087

最大接続数に達している。これ以上の追加接続はできません。

1

8089

パラメータ CONNECT パラメータがデータブロックをポイントしていません。

1

809A

パラメータ CONNECT パラメータが、接続の詳細の長さに一致しないフィールドをポイントしています(UDT65)。

1

809B

接続設定の local_device_id が CPU と一致しないか、または関連インターフェースがロックされています。

1

80A0

エラーコード W#16#80A1～W#16#80A2 のグループエラー

1

80A1

接続またはポートは既にユーザーによって占有されています

1

80A2

ローカルポートまたはリモートポートがシステムによって占有されています

1

80A3

既存の接続の再確立を試行しています。

1

80A4

リモート接続エンドポイントの IP アドレスが不正です。ローカルアドレスと一致することがあります。

1

80A7

通信エラー: TCON の完了前に TDISCON が呼び出されました。最初に、ID で参照される接続の終了という複雑な処理が TDISCON によって行われます。

1

80B2

パラメータ CONNECT パラメータが、キーワード UNLINKED で生成されたデータ
ブロックをポイントしています。

1

80B3

パラメータ割り付けの一貫性なし: W#16#80A0～W#16#80A2、W#16#80A4、W#16#80B4～W#16#80B9 のグループエラー

1

80B4

パッシブ接続の確立(active_est = FALSE)にプロトコルバリアント ISO on TCP(connection_type = B#16#12)を使用すると、次の条件のいずれかまたは両方に違反します:•

local_tsap_id_len >= B#16#02•

local_tsap_id[1] = B#16#E0•

local_tsap_id_len >= B#16#03 の場合、local_tsap_id[1]は ASCII 文字です。

local_tsap_id[1] は ASCII 文字、local_tsap_id_len >= B#16#03
1

80B5

UDP プロトコルバリアント内の active_est パラメータ(UDT 65)のエラー

1

80B6

接続タイプパラメータ(UDT 65)に関連するパラメータ割り付けエラー

1

80B7

UDT 65 における、次のいずれかのパラメータのエラー: block_length、local_tsap_id_len、rem_subnet_id_len、rem_staddr_len、rem_tsap_id_len、
next_staddr_len

1

80B8

ローカル接続の設定内容(UDT 65)のパラメータ ID と、パラメータ ID が異なります

1

80C3

すべての接続リソースが使用中です。

1

80C4

一時的な通信エラー:
•

1

8xyy

現在、接続を確立できません。

•

インターフェースが新しいパラメータを受信しています。

•

コンフィグレーションされた接続は現在、TDISCON によって削除されています。

•

H システムが接続および更新中です。

一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評価」
を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2434

リファレンスマニュアル, 05/2017, A5E41733394-AA

Industrial Ethernet 経由のオープンな通信
24.8 FB 66 "TDISCON"による接続の終了

24.8

FB 66 "TDISCON"による接続の終了

TCP および ISO on TCP の使用
FB 66 "TDISCON"は CPU から通信パートナーへの通信接続を終了します。

UDP の使用FB 66 "TDISCON"は、ローカル通信アクセスポイントを終了します。ユーザープログラムとオペ
レーティングシステムの通信レベルとの間の接続が終了しています。

ファンクション
FB 66 "TDISCON" は非同期に機能する FB なので、複数の FB 呼び出しに渡って処理が行われます。
接続を確立するジョブを終了するには、REQ = 1 で FB 66 を呼び出します。
FB 66 "TDISCON"が正しく呼び出されると、FB 65"TCON"に指定された ID は無効になり、このため送受信に使用できません。
ジョブのステータスは、出力パラメータ RET_VAL および BUSY に表示されます。STATUS は、
非同期に機能する SFC の RET_VAL 出力パラメータに対応します(非同期 SFC のパラメータ REQ、
RET_VAL、BUSY の意味を参照)。
次の表は、BUSY、DONE および ERROR の関係を示しています。この表を使って、FB 66 の現在のステータスまたはいつ接続の確立が完了したかを判断できます。
BUSY

DONE

エラー

説明

TRUE

対象外

対象外

ジョブが処理されています。

FALSE

TRUE

FALSE

ジョブが正常に完了しました。

FALSE

FALSE

TRUE

ジョブにエラーが発生して終了しました。エラーの原因は STATUS
パラメータで見つかります。

FALSE

FALSE

FALSE

FB に(新規)ジョブが割り付けられていなかった。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

435

Industrial Ethernet 経由のオープンな通信
24.8 FB 66 "TDISCON"による接続の終了

パラメータ
パラメータ

宣言

データタイプ

メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L

コントロールパラメータ REQUEST によって、ID で指定された接続を終了するジョブが開始します。このジョブは、信号立ち上がり
エッジで開始します。

ID

INPUT

WORD

M、D、定数リモートパートナーに対して、またはユーザープログラムとオペレーティングシステムの通信レベルとの間で終了する接続への参照。ID は
ローカル接続の設定内容の関連パラメータ IDと同一でなければなりません。
値の範囲: W#16#0001～W#16#0FFF

DONE

OUTPUT

BOOL

I、Q、M、D、L

ステータスパラメータ DONE です。
• 0: ジョブが起動していないか、または実行中です。
• 1: ジョブがエラーなしで実行されました。

BUSY

OUTPUT

BOOL

I、Q、M、D、L• BUSY = 1: ジョブはまだ完了していません• BUSY = 0: ジョブが完了しています

エラー

OUTPUT

BOOL

I、Q、M、D、L

ステータスパラメータ ERROR です。
• ERROR=1: 処理中にエラーが発生しました。STATUS はエラータイプについての詳しい情報を提供します。

STATUSOUTPUT

WORD

M、D

STATUS パラメータ: エラー情報

エラー情報
エラー

STATUS(W#16#...)

説明

0

0000

接続が正常に終了しました。

0

7000

アクティブなジョブ処理はありません。

0

7001

ジョブ処理を開始して、接続を終了します。

0

7002

後続の呼び出し(REQ は対象外)。接続を終了しています。

1

8086

ID パラメータが使用できるアドレス範囲になっていません。

1

80A3

存在しない接続の終了を行おうとしています。

1

80C4

一時的な通信エラー: インターフェースが新規パラメータを受信中、または接続が現在確立中、または H システムが接続および更新中です。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
436

リファレンスマニュアル, 05/2017, A5E41733394-AA

Industrial Ethernet 経由のオープンな通信
24.9 FB 63 "TSEND"による TCP および ISO on TCP 経由のデータ送信

24.9

FB 63 "TSEND"による TCP および ISO on TCP 経由のデータ送信

説明
FB 63 "TSEND"は既存の通信接続を介してデータを送信します。

ファンクション
FB 63 "TSEND"は非同期で動作します。つまり、その処理は複数の FB 呼び出しにわたって継続します。データの送信を開始するには、REQ = 1 の状態で FB 63 を呼び出します。
ジョブのステータスは、出力パラメータ BUSY および STATUS に表示されます。STATUS は、
非同期に機能する SFC の RET_VAL 出力パラメータに対応します(非同期 SFC のパラメータ REQ、
RET_VAL、BUSY の意味を参照)。
出力パラメータ DONE は、送信するデータがローカルインターフェースに完全に転送された場合に設定されます。
次の表は、BUSY、DONE および ERROR の関係を示しています。この表を使用して、FB 63 の現在のステータスを求めることができます。
BUSY

DONE

エラー

説明
ジョブが処理されています。

TRUE

対象外

対象外

FALSE

TRUE

FALSE

ジョブが正常に完了しました。

FALSE

FALSE

TRUE

ジョブにエラーが発生して終了しました。エラーの原因は STATUS
パラメータで見つかります。

FALSE

FALSE

FALSE

FB に(新規)ジョブが割り付けられていなかった。

注記
FB 63 "TSEND"のファンクションは非同期であるため、DONE パラメータまたは ERROR パラメータが値 TRUE を取るまで、送信者側領域でデータを一定に保つ必要があります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

437

Industrial Ethernet 経由のオープンな通信
24.9 FB 63 "TSEND"による TCP および ISO on TCP 経由のデータ送信

パラメータ
パラメータ

宣言

データ
タイプ

メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L

コントロールパラメータ REQUEST によって、信号立ち上がりエッジで送信ジョブが開始します。
DATA および LEN で指定された領域から、データが転送されます。

ID

INPUT

WORD

M、D、定数終了する接続への参照。ID はローカル接続の設定内容の関連パラメータ ID と同一でなければなりません。
値の範囲: W#16#0001～W#16#0FFF

LEN

INPUT

INT

I、Q、M、D、Lジョブで送信されるバイトの最大数「使用される CPU とプロトコルバリアント(connection_type)の関係と、転送可能なデータ長」を参照してください。

DONE

OUTPUT

BOOL

I、Q、M、D、L

ステータスパラメータ DONE です。

BUSY

エラー

OUTPUTOUTPUT

BOOL

BOOL

I、Q、M、D、L

I、Q、M、D、L•

0: ジョブが起動していないか、または実行中です。

•

1: 送信するデータがローカルインター
フェースに完全に転送されました。

•

BUSY = 1: ジョブはまだ完了していません
ジョブを新たにトリガできません。

•

BUSY = 0: ジョブが完了しています

ステータスパラメータ ERROR です。
•

ERROR=1: 処理中にエラーが発生しました。STATUS はエラータイプについての詳しい情報を提供します。

STATUSOUTPUT

WORD

M、D

STATUS パラメータ: エラー情報

DATA

IN_OUT

ANY

I、Q、M、D

送信領域。アドレスおよび長さを含む。
アドレスの参照先:•

プロセス入力イメージ•

プロセス出力イメージ•

メモリビット

•

データブロック

注: BOOL の ARRAY を送信領域として使用しないでください。
注: S7-300 CPU の場合、パラメータ DATA
が、常に、DB パラメータの完全な指定(たとえば、P#DB13.DBX0.0 Byte 100 など)を必要とすることに注意してください。明示的なDB 番号の省略は S7-300 CPU では許可されていないため、ユーザープログラムでエラー
メッセージが発生します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2438

リファレンスマニュアル, 05/2017, A5E41733394-AA

Industrial Ethernet 経由のオープンな通信
24.9 FB 63 "TSEND"による TCP および ISO on TCP 経由のデータ送信

エラー情報
エラー

STATUS(W#16#...)

説明

0

0000

ジョブの送信がエラーなしで完了

0

7000

アクティブなジョブ処理はありません。

0

7001

ジョブ処理を開始して、データを送信します。
注: この処理中、オペレーティングシステムは DATA 送信領域のデータにアクセス
します。

0

7002

後続呼び出し(REQ は対象外)。ジョブは処理中。
注: この処理中、オペレーティングシステムは DATA 送信領域のデータにアクセス
します。

1

8085

LEN パラメータの値は 0 であるか、または最大許容値より大きくなります。

1

8086

ID パラメータが使用できるアドレス範囲になっていません。

1

8088

LEN パラメータが DATA で指定されているメモリ領域より大きくなっています。

1

8092

S7-300 のみ。DATA のデータタイプが無効です。

1

80A1

通信エラー:• 指定された接続は、まだ確立されていませんでした。
• 指定された接続は、現在終了しています。この接続を介した転送はできません。
• インターフェースの再初期化中。

1

80B7

長さエラー: 長さの指定は、ADDR パラメータ内に 8 バイト未満です。

1

80B3

接続タイプのパラメータ(接続設定内の connection_type parameter)は、UDP に設定されています。FB 67 "TUSEND"を使用してください。

1

80C3

• この ID のブロックは既に、異なる優先度クラスで処理されています。

1

80C4

一時的な通信エラー:• 内部のリソース不足• 現在、通信パートナーへの接続を確立できません。
• インターフェースが新規パラメータを受信中、または接続が現在確立中です。
18xyy

一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評価」
を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

439

Industrial Ethernet 経由のオープンな通信
24.10 FB 64 "TRCV"による TCP および ISO on TCP 経由のデータ受信

24.10

FB 64 "TRCV"による TCP および ISO on TCP 経由のデータ受信説明
FB 64 "TRCV"は既存の通信接続を介してデータを受信します。

受信領域
これは、ファンクションブロックで受信データが入る領域を意味します。
受信領域は、以下の 2 つの変数によって指定されます。
•

受信領域の開始を示すポインタ•

受信領域の長さ受信領域の長さは、使用されるプロトコルバリアントに応じて、LENパラメータ(LEN <> 0の場合)、
または DATA パラメータの長さ情報(LEN = 0 の場合)で指定されます。

FB 64 "TRCV"の受信モード
次の表には、FB 64 により受信データがどのように受信領域に入るかが示されています。
プロトコルバリアント 受信領域へのデータ入力

パラメータ"connection_type"

TCP

アドホックモード

B#16#01、B#16#11

TCP

事前設定済みの長さでデータ B#16#01、B#16#11
を受信

ISO-on-TCP

プロトコル制御

LEN パラメータの値

B#16#120<> 00(推奨)または<> 0

TCP/アドホックモード
アドホックモードは、TCP プロトコルバリアントの場合だけに存在します。LEN パラメータに 0 を割り付けて、アドホックモードを設定します。
受信領域は、DATA で形成される領域と一致します。最大 8192 バイトを受信します。
1 ブロックのデータを受信すると、FB 64 により直ちにそれが受信領域に転送され、NDR が 1 にセットされます。

TCP/事前設定済みの長さでデータを受信
LEN パラメータに 0 以外の値を割り付けることで、事前設定済みの長さによる受信を設定します。
受信領域は、LEN パラメータと DATA パラメータによって定義されます。
LEN バイトのデータを受信すると、FB 64 により直ちにそれが受信領域に転送され、NDR が 1 にセットされます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
440

リファレンスマニュアル, 05/2017, A5E41733394-AA

Industrial Ethernet 経由のオープンな通信
24.10 FB 64 "TRCV"による TCP および ISO on TCP 経由のデータ受信

ISO-on-TCP/プロトコル制御のデータ転送
ISO-on-TCP プロトコルバリアントでは、データはプロトコル制御されて転送されます。
受信領域は、LEN パラメータと DATA パラメータによって定義されます。
ジョブのすべてのデータを受信すると、FB 64 により直ちにそれが受信領域に転送され、NDR が
1 にセットされます。

STRING データタイプのデータの置換
FB "TSEND"および"TRCV"で STRING データタイプのデータを置換する場合、アドホックモードでLEN=0 にする設定のみが実用的です。また、文字列 FB "TRCV"の長さとして、少なくとも FB"TSEND"と同じかそれ以上の長さを選択する必要があります。このルールに従わないと、今後の文字列処理でエラーが発生することがあります。
送信済みデータの受信領域として BYTE の ARRAY を使用すると、最初のバイトには送信元によって設定された最大長が格納され、2 番目のバイトには文字列の現在の長さが格納されます。

ファンクション
FB 64 "TRCV" は非同期に機能する FB なので、複数の FB 呼び出しに渡って処理が行われます。デー
タを受信するジョブを開始するには、EN_R = 1 で FB 64 を呼び出します。
ジョブのステータスは、出力パラメータ BUSY および STATUS に表示されます。STATUS は、
非同期に機能する SFC の RET_VAL 出力パラメータに対応します(非同期 SFC のパラメータ REQ、
RET_VAL、BUSY の意味を参照)。
次の表は、BUSY、DONE および ERROR の関係を示しています。この表を使って、FB 64 の現在のステータスまたは受信処理がいつ完了したかを判断できます。
BUSY

DONE

エラー

説明

TRUE

対象外

対象外

ジョブが処理されています。

FALSE

TRUE

FALSE

ジョブが正常に完了しました。

FALSE

FALSE

TRUE

ジョブにエラーが発生して終了しました。エラーの原因は STATUS
パラメータで見つかります。

FALSE

FALSE

FALSE

FB に(新規)ジョブが割り付けられていなかった。

注記
FB 64 "TRCV"のファンクションは非同期であるため、受信領域のデータは NDR パラメータが値TRUE を取る場合にだけ一定です。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

441

Industrial Ethernet 経由のオープンな通信
24.10 FB 64 "TRCV"による TCP および ISO on TCP 経由のデータ受信

パラメータ
パラメータ

宣言

データタイプ

メモリ領域

説明

EN_R

INPUT

BOOL

I、Q、M、D、L受信が有効になったコントロールパラメータ。
FB 64 "TRCV"の受信準備完了は EN_R = 1。受信
ジョブが処理されます。

ID

INPUT

WORD

M、D、定数終了する接続への参照。ID はローカル接続の設定内容の関連パラメータ ID と同一でなければなりません。
値の範囲: W#16#0001～W#16#0FFF

LEN

INPUT

INT

I、Q、M、D、L

バイト単位での受信領域の長さ
LEN = 0 または LEN <> 0 の意味については、上記を参照してください(FB64"TRCV"の受信モード)。
この値の範囲については、「使用される CPU とプロトコルバリアント(connection_type)の関係と、転送可能なデータ長」を参照してください。

NDR

OUTPUT

BOOL

I、Q、M、D、LNDR ステータスパラメータ• NDR = 0: ジョブは起動していないか、または実行中• NDR = 1: ジョブは正常に終了

エラー

OUTPUT

BOOL

I、Q、M、D、L

ステータスパラメータ ERROR です。
• ERROR=1: 処理中にエラーが発生しました。
STATUS はエラータイプについての詳しい情報を提供します。

BUSY

OUTPUT

BOOL

I、Q、M、D、L• BUSY = 1: ジョブはまだ完了していません
ジョブを新たにトリガできません。
• BUSY = 0: ジョブが完了しています

STATUSOUTPUT

WORD

M、D

STATUS パラメータ: エラー情報

RCVD_LEN OUTPUT

INT

I、Q、M、D、L

バイト単位で実際に受信したデータの量

DATA

ANY

I、Q、M、D

受信領域(定義は上記を参照)には、アドレスと長さが含まれます。
アドレスは以下を参照します。

IN_OUT•

プロセス入力イメージ•

プロセス出力イメージ•

メモリビット

•

データブロック

注: BOOL の ARRAY を受信領域として使用しな
いでください。
注: S7-300 CPU の場合、パラメータ DATA が、常に、DB パラメータの完全な指定(たとえば、
P#DB13.DBX0.0 Byte 100 など)を必要とすることに注意してください。明示的な DB番号の省略
は S7-300 CPU では許可されていないため、ユー
ザープログラムでエラーメッセージが発生します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
442

リファレンスマニュアル, 05/2017, A5E41733394-AA

Industrial Ethernet 経由のオープンな通信
24.10 FB 64 "TRCV"による TCP および ISO on TCP 経由のデータ受信

エラー情報
エラー

STATUS(W#16#...)

説明

0

0000

新規データが受け取られた。受信されたデータの現在の長さは RCVD_LEN に表示
されます。

0

7000

ブロックは受信の用意ができていません。

0

7001

ブロックは受信の用意ができています。受信ジョブが実行されました。

0

7002

後続呼び出し、受信ジョブが処理されています。
注: この処理中、FB により受信領域にデータが書き込まれます。このため、エラーが起きると受信領域内のデータに不整合が生じるおそれがあります。

1

8085

LEN パラメータが最大許容値よりも大きいか、または最初の呼び出しを行ってから、ユーザーにより LEN または DATA パラメータが変更されました。

1

8086

ID パラメータが使用できるアドレス範囲になっていません。

0

8088

•

受信領域が小さ過ぎます。

•

LEN の値が、DATA で指定された受信領域よりも大きくなっています。
S7-300 のみ。DATA のデータタイプが無効です。

1

8092

•

1

80A1

通信エラー:•

指定された接続は、まだ確立されていません。

•

指定された接続は、現在終了しています。この接続を経由した受信ジョブを行うことはできません。

•

インターフェースが新しいパラメータを受信しています。

1

80B3

プロトコルバリアントのパラメータ(接続記述の connection_type パラメータ)が、UDP に設定されています。FB 68 "TRCV"を使用してください。

1

80C3

•

この ID のブロックは既に、異なる優先度クラスで処理されています。

•

内部のリソース不足

1

80C4

1

8xyy

一時的な通信エラー:•

現在、通信パートナーへの接続を確立できません。

•

インターフェースが新規パラメータ設定を受信中、または接続が現在確立中です。

一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評価」
を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

443

Industrial Ethernet 経由のオープンな通信
24.11 FB 67 "TUSEND"による UDP 経由のデータ送信

24.11

FB 67 "TUSEND"による UDP 経由のデータ送信

説明
FB 67 "TUSEND"はデータを ADDR パラメータで指定されたリモートパートナーに UDP 経由で送信
します。

!

警告
RFC 768 に従って UDP でデータを転送しているときは、データが確認の不要なリモートパートナーに転送されるため、確実ではありません。つまり、ブロックによってデータの損失が表示されることなく、データが失われる可能性があります。

注記
別々のデータをさまざまなパートナーに順に送信する場合、ADDR パラメータの調整は、FB 67"TUSEND"を呼び出す場合にのみ必要です。FB 65 "TCON"および FB 66 "TDISCON"を呼び出す
場合には必要ありません。

ファンクション
FB 67 "TUSEND"は非同期に機能する FB なので、複数の FB 呼び出しに渡って処理が行われます。
データを送信するジョブを開始するには、REQ = 1 で FB 67 を呼び出します。
ジョブのステータスは、出力パラメータ BUSY および STATUS に表示されます。STATUS は、
非同期に機能する SFC の RET_VAL 出力パラメータに対応します(非同期 SFC のパラメータ REQ、
RET_VAL、BUSY の意味を参照)。
次の表は、BUSY、DONE および ERROR の関係を示しています。この表を使って、FB 67 の現在のステータスまたはいつ送信処理(転送)が完了したかを判断できます。
BUSY

DONE

エラー

説明

TRUE

対象外

対象外

ジョブが処理されています。

FALSE

TRUE

FALSE

ジョブが正常に完了しました。

FALSE

FALSE

TRUE

ジョブにエラーが発生して終了しました。エラーの原因は STATUS パラメータで見つかります。

FALSE

FALSE

FALSE

FB に(新規)ジョブが割り付けられていなかった。

注記
FB 67 "TUSEND"!のファンクションは非同期であるため、DONE パラメータまたは ERROR パラ
メータが値 TRUE を取るまで、送信者側領域でデータを一定に保つ必要があります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2444

リファレンスマニュアル, 05/2017, A5E41733394-AA

Industrial Ethernet 経由のオープンな通信
24.11 FB 67 "TUSEND"による UDP 経由のデータ送信

パラメータ
パラメータ 宣言

データタイプ メモリ領域

説明

REQ

BOOL

コントロールパラメータ REQUEST によって、信号立ち上がりエッジで送信ジョブが開始します。

INPUT

I、Q、M、D、L

DATA および LEN で指定された領域から、データが転送されます。
ID

INPUT

WORD

M、D、定数

ユーザープログラムとオペレーティングシステムの通信レベルとの間の関連接続への参照。ID はローカ
ル接続の設定内容の関連パラメータ ID と同一でなければなりません。
値の範囲: W#16#0001～W#16#0FFF

LEN

INPUT

INT

I、Q、M、D、Lジョブで送信するバイト数
値の範囲: 1～1472

DONE

OUTPUT BOOL

I、Q、M、D、L

ステータスパラメータ DONE です。

BUSY

エラー

OUTPUT BOOLOUTPUT BOOL

I、Q、M、D、L

I、Q、M、D、L•

0: ジョブが起動していないか、または実行中です。

•

1: ジョブがエラーなしで実行されました。

•

BUSY = 1: ジョブはまだ完了していません
ジョブを新たにトリガできません。

•

BUSY = 0: ジョブが完了しています

ステータスパラメータ ERROR です。
•

ERROR=1: 処理中にエラーが発生しました。
STATUS はエラータイプについての詳しい情報を提供します。

STATUSOUTPUT WORD

M、D

STATUS パラメータ: エラー情報

DATA

IN_OUT

I、Q、M、D

送信者領域。アドレスおよび長さを含む。
アドレスの参照先:

ANY•

プロセスイメージ入力テーブル•

プロセスイメージ出力テーブル•

ビットメモリ•

データブロック

注: S7-300 CPU の場合、パラメータ DATA が、常に、DB パラメータの完全な指定(たとえば、
P#DB13.DBX0.0 Byte 100 など)を必要とすることに注意してください。明示的な DB 番号の省略は
S7-300 では許可されていないため、ユーザープロ
グラムでエラーメッセージが発生します。
ADDR

IN_OUT

ANY

D

受信側のアドレスへのポインタ( P#DB100.DBX0.0 バイト 8 など)。「UDP による
リモートパートナーのアドレス情報の構造」を参照してください。
注: S7-300 CPU の場合、パラメータ ADDR が、常に、DB パラメータの完全な指定(たとえば、
P#DB13.DBX0.0 Byte 100 など)を必要とすることに注意してください。明示的な DB 番号の省略は
S7-300 では許可されていないため、ユーザープロ
グラムでエラーメッセージが発生します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

445

Industrial Ethernet 経由のオープンな通信
24.11 FB 67 "TUSEND"による UDP 経由のデータ送信

エラー情報
エラー

STATUS(W#16#...)

説明

0

0000

ジョブの送信がエラーなしで完了

0

7000

アクティブなジョブ処理はありません。

0

7001

ジョブ処理を開始して、データを送信します。
注: この処理中、オペレーティングシステムは DATA 送信領域のデータにアクセス
します。

0

7002

後続呼び出し(REQ は対象外)。ジョブは処理中。
注: この処理中、オペレーティングシステムは DATA 送信領域のデータにアクセス
します。

1

8085

LEN パラメータの値は 0 であるか、または最大許容値より大きくなります。

1

8086

ID パラメータが使用できるアドレス範囲になっていません。

0

8088

LEN パラメータが DATA で指定されているメモリ領域より大きくなっています。

1

8089

ADDR パラメータがデータブロックをポイントしていません。

1

80A1

通信エラー:•

ユーザープログラムと、オペレーティングシステムの通信レベルとの間の指定された接続は、まだ確立されていません。

•

ユーザープログラムとオペレーティングシステムの通信レベルとの間の指定された接続は、現在終了しています。この接続を介した転送はできません。

•

インターフェースの再初期化中。

1

80A4

リモート接続エンドポイントの IP アドレスが不正です。ローカルアドレスと一致することがあります。

1

80B3

•

設定されたプロトコルバリアント(接続記述の connection_type パラメータ)は、UDP ではありません。FB 63 "TSEND"を使用してください。

•

ADDR パラメータ: ポート番号の設定が不正です。

1

80C3

•

この ID のブロックは既に、異なる優先度クラスで処理されています。

•

内部のリソース不足

1

1

80C4

8xyy

一時的な通信エラー:•

ユーザープログラムとオペレーティングシステムの通信レベルとの間の接続を
現在確立できません。

•

インターフェースが新しいパラメータを受信しています。

一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評価」
を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
446

リファレンスマニュアル, 05/2017, A5E41733394-AA

Industrial Ethernet 経由のオープンな通信
24.12 FB 68 "TURCV"による UDP 経由のデータ受信

24.12

FB 68 "TURCV"による UDP 経由のデータ受信説明
FB 68 "TURCV"は UDP 経由でデータを受信します。FB 68 "TURCV"が完了すると、ADDR パラメータ
がリモートパートナー(送信側)のアドレスを表示します。

!

警告
RFC 768 に従って UDP でデータを転送しているときは、データが確認の不要なリモートパートナーに転送されるため、確実ではありません。つまり、ブロックによってデータの損失が表示されることなく、データが失われる可能性があります。

ファンクション
FB 68 "TURCV"は非同期に機能する FB なので、複数の FB 呼び出しに渡って処理が行われます。
データを受信するジョブを開始するには、EN_R = 1 で FB 68 を呼び出します。
ジョブのステータスは、出力パラメータ RET_VAL および BUSY に表示されます。STATUS は、
非同期に機能する SFC の RET_VAL 出力パラメータに対応します(非同期 SFC のパラメータ REQ、
RET_VAL、BUSY の意味を参照)。
次の表は、BUSY、DONE および ERROR の関係を示しています。この表を使って、FB 68 の現在のステータスまたは受信処理がいつ完了したかを判断できます。
BUSY

DONE

エラー

説明

TRUE

対象外

対象外

ジョブが処理されています。

FALSE

TRUE

FALSE

ジョブが正常に完了しました。

FALSE

FALSE

TRUE

ジョブにエラーが発生して終了しました。エラーの原因は STATUS
パラメータで見つかります。

FALSE

FALSE

FALSE

FB に(新規)ジョブが割り付けられていなかった。

注記68 "TURCV"のファンクションは非同期であるため、受信領域のデータは NDR パラメータが値TRUE を取る場合にだけ一定です。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

447

Industrial Ethernet 経由のオープンな通信
24.12 FB 68 "TURCV"による UDP 経由のデータ受信

パラメータ
パラメータ

宣言

データ
タイプ

メモリ領域

説明

EN_R

INPUT

BOOL

I、Q、M、D、L受信が有効になったコントロールパラメータ。
FB 68 "TURCV"の受信準備完了は EN_R = 1。
受信ジョブが処理されます。

ID

INPUT

WORD

M、D、定数

ユーザープログラムとオペレーティングシステムの通信レベルとの間の関連接続への参照。ID は
ローカル接続の設定内容の関連パラメータ ID と同一でなければなりません。
値の範囲: W#16#0001～W#16#0FFF

LEN

INPUT

INT

I、Q、M、D、L

バイト単位での受信領域の長さは「Industrial
Ethernet 経由のオープンな通信のための FB のファンクション」を参照:1～1472

NDR

OUTPUT

BOOL

I、Q、M、D、LNDR ステータスパラメータ• NDR = 0: ジョブは起動していないか、または実行中• NDR = 1: ジョブは正常に終了

エラー

OUTPUT

BOOL

I、Q、M、D、L

ステータスパラメータ ERROR です。
• ERROR=1: 処理中にエラーが発生しました。
STATUS はエラータイプについての詳しい情報を提供します。

BUSY

OUTPUT

BOOL

I、Q、M、D、L• BUSY = 1: ジョブはまだ完了していません
ジョブを新たにトリガできません。

STATUSOUTPUT

WORD

M、D

STATUS パラメータ: エラー情報

RCVD_LENOUTPUT

INT

I、Q、M、D、L

バイト単位で実際に受信したデータの量

DATA

IN_OUT

ANY

I、Q、M、D受信の定義は「Industrial Ethernet 経由のオープンな通信のための FB のファンクション」を参照。
アドレスは以下を示します。

• BUSY = 0: ジョブが完了しています•

プロセスイメージ入力テーブル•

プロセスイメージ出力テーブル•

メモリビット

•

データブロック

注: S7-300 CPU の場合、パラメータ DATA が、常に、DB パラメータの完全な指定(たとえば、
P#DB13.DBX0.0 Byte 100 など)を必要とすることに注意してください。明示的な DB 番号の省略
は S7-300 では許可されていないため、ユーザープログラムでエラーメッセージが発生します。
ADDR

IN_OUT

ANY

D

送信側のアドレスへのポインタ(たとえば、
P#DB100.DBX0.0 バイト 8 など)。UDP によるリ
モートパートナーのアドレス情報の構造を参照
してください。
注: S7-300 CPU の場合、パラメータ ADDR が、常に、DB パラメータの完全な指定(たとえば、
P#DB13.DBX0.0 Byte 100 など)を必要とすることに注意してください。明示的な DB 番号の省略
は S7-300 では許可されていないため、ユーザープログラムでエラーメッセージが発生します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2448

リファレンスマニュアル, 05/2017, A5E41733394-AA

Industrial Ethernet 経由のオープンな通信
24.12 FB 68 "TURCV"による UDP 経由のデータ受信

エラー情報
エラー

STATUS(W#16#...)

説明

0

0000

新規データが受け取られた。受信されたデータの現在の長さは RCVD_LEN に表示
されます。

0

7000

ブロックは受信の用意ができていません。

0

7001

ブロックは受信の用意ができています。受信ジョブが実行されました。

0

7002

後続呼び出し、ジョブが処理されています。
注: この処理中、FB68 により受信領域にデータが書き込まれます。このため、エラーが起きると受信領域内のデータに不整合が生じるおそれがあります。

1

8085

LEN パラメータが最大許容値よりも大きいか、または最初の呼び出しを行ってから、ユーザーにより LEN または DATA パラメータの値が変更されました。

1

8086

ID パラメータが使用できるアドレス範囲になっていません。

1

8088

•

受信領域が小さ過ぎます。

•

LEN の値が、DATA で指定された受信領域よりも大きくなっています。

1

8089

ADDR パラメータがデータブロックをポイントしていません。

1

80A1

通信エラー:•

ユーザープログラムと、オペレーティングシステムの通信レベルとの間の指定された接続は、まだ確立されていません。

•

ユーザープログラムと、オペレーティングシステムの通信層との間の指定された接続は、現在終了しています。この接続を経由した受信ジョブを行うことはできません。

•

インターフェースの再初期化中。

1

80B3

設定されたプロトコルバリアント(接続記述の connection_type パラメータ)は、UDP ではありません。FB 64 "TRCV"を使用してください。

1

80C3

•

この ID のブロックは既に、異なる優先度クラスで処理されています。

•

内部のリソース不足

1

80C4

一時的な通信エラー: 現在インターフェースを再び開始しています。

1

8xyy

一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評価」
を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

449

Industrial Ethernet 経由のオープンな通信
24.13 FB 210 "FW_TCP"による、FETCH および WRITE サービスを使用した、TCP 経由のサードパーティ製システムへのリンク

24.13

FB 210 "FW_TCP"による、FETCH および WRITE サービスを使用した、
TCP 経由のサードパーティ製システムへのリンク

説明
FB 210 "FW_TCP"は、サーバーとして FETCH および WRITE サービスを提供します。FETCH サー
ビスに対してと、WRITE サービスに対して、別々の接続が必要です。つまり、それぞれのサービスに対して FB 210 を別々に呼び出し、対応するパッシブ TCP 接続の設定内容を CONNECT パラメータに対して指定する必要があります。

パラメータ
パラメータ

宣言

データ
タイプ

メモリ領域

説明

ENABLE

INPUT

BOOL

I、Q、M、D、L

このパラメータは、接続の開始または終了を起動します。
•

0 = 接続終了•

1 = 接続開始

CONNECT

INPUT

ANY

D

対応するパッシブ TCP 接続(UDT 65)の設定内容へのポインタ

ADDRMODE

INPUT

INT

I、Q、M、D、L

このパラメータで、データリクエストの構造を解釈する方法を指定します。
•

0 = S7 アドレス指定モード(バイト指向)•

1 = S5 アドレス指定モード(ワード指向)

NDR

OUTPUT

BOOL

I、Q、M、D、L

このパラメータは、WRITE ジョブのデータが正し
く受け入れられたことと、応答フレームが生成、送信されたことを示します。

エラー

OUTPUT

BOOL

I、Q、M、D、L

このパラメータは、接続の確立/終了時あるいはデータの送受信時にエラーが発生した場合に設定
されます。

MODE

OUTPUT

BYTE

I、Q、M、D、L

このパラメータは、FETCH または WRITE ジョブが実行されたかどうかを示します。
•

ステータス

OUTPUT

WORD

M、D

0 = アクティブなジョブなし•

1 = WRITE ジョブ•

2 = FETCH ジョブ

内部通信ステータスビットが、STATUS パラメータに出力されます。

詳細情報
FB 210 "FW_TCP"の詳細情報は、STEP 7 DVD の DVD_Root\Optional Components\Communication
Blocks の、ファイル"FetchWrite_PNCPU_x.pdf"(x=a はドイツ語、x=b は英語)にあります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
450

リファレンスマニュアル, 05/2017, A5E41733394-AA

Industrial Ethernet 経由のオープンな通信
24.14 FB 220 "FW_IOT"による、FETCH および WRITE サービスを使用した、ISO-on-TCP 経由のサードパー

ティ製システムへのリンク

24.14

FB 220 "FW_IOT"による、FETCH および WRITE サービスを使用した、
ISO-on-TCP 経由のサードパーティ製システムへのリンク

説明
FB 220 "FW_IOT"は、サーバーとして FETCH および WRITE サービスを提供します。FETCH サー
ビスに対してと、WRITE サービスに対して、別々の接続が必要です。つまり、それぞれのサービスに対して FB 220 を別々に呼び出し、対応するパッシブ ISO-on-TCP 接続の設定内容を CONNECT
パラメータに対して指定する必要があります。

パラメータ
パラメータ

宣言

データタ メモリ領域
イプ

説明

ENABLE

INPUT

BOOL

このパラメータは、接続の開始または終了を起動します。

I、Q、M、D、L•

0 = 接続終了•

1 = 接続開始

CONNECT

INPUT

ANY

D

対応するパッシブ ISO-on-TCP 接続(UDT 65)の設定内容へのポインタ

ADDRMODE

INPUT

INT

I、Q、M、D、L

このパラメータで、データリクエストの構造を解釈する方法を指定します。
•

0 = S7 アドレス指定モード(バイト指向)•

1 = S5 アドレス指定モード(ワード指向)

NDR

OUTPUT

BOOL

I、Q、M、D、L

このパラメータは、WRITE ジョブのデータが正
しく受け入れられたことと、応答フレームが生成、送信されたことを示します。

エラー

OUTPUT

BOOL

I、Q、M、D、L

このパラメータは、接続の確立/終了時あるいはデータの送受信時にエラーが発生した場合に設定されます。

MODE

OUTPUT

BYTE

I、Q、M、D、L

このパラメータは、FETCH または WRITE ジョ
ブが実行されたかどうかを示します。

ステータス

OUTPUT

WORD

M、D

•

0 = アクティブなジョブなし•

1 = WRITE ジョブ•

2 = FETCH ジョブ

内部通信ステータスビットが、STATUS パラメータに出力されます。

詳細情報
FB 220 "FW_IOT"の詳細情報は、STEP 7 DVD の DVD_Root\Optional Components\Communication
Blocks の、ファイル"FetchWrite_PNCPU_x.pdf"(x=a はドイツ語、x=b は英語)にあります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

451

Industrial Ethernet 経由のオープンな通信
24.14 FB 220 "FW_IOT"による、FETCH および WRITE サービスを使用した、ISO-on-TCP 経由のサードパー

ティ製システムへのリンク

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2452

リファレンスマニュアル, 05/2017, A5E41733394-AA

25

ブロック関連メッセージの生成

25.1

SFB によるブロック関連メッセージの生成について

ブロック関連メッセージの生成に使用する SFB
ブロック関連メッセージは、ユーザープログラム内で以下のいずれかの SFB を呼び出すことで生成できます。
•

SFB 36 "NOTIFY"•

SFB 31 "NOTIFY_8P"•

SFB 33 "ALARM"•SFB 34 "ALARM_8"•

SFB 35 "ALARM_8P"

これらの SFB には、以下の特性があります。
•

SFB 36 "NOTIFY"および 31 "NOTIFY_8P"を除き、ブロックの呼び出し時に 0 -> 1 または 1 -> 0の信号移行が検出されると、メッセージが転送されます。

•

既定のレポート機能プロシージャが設定されている場合は(確認応答によりトリガされるレポート機能は無効)、ブロックの呼び出し時に任意の信号移行が検出されたときに、SFB 33"ALARM"、34 "ALARM_8"、35 "ALARM_8P"からもメッセージが生成されます。
一方、確認応答によりトリガされるレポート機能を有効にした場合は、信号移行が発生してもメッセージ転送はトリガされません(詳細については、後述を参照してください)。

•

ブロックの実行に続いて、関連する値(入力 SD_i)が完全に読み取られ、メッセージに割り付けられます(S7 通信の SFB/FB および SFC/FC の共有パラメータにある「送信パラメータおよび受信パラメータ」を参照してください)。
高優先順位と比較した一貫性の点からすれば、次の関連値は一貫していると言えます。

それぞれに関連付けられた値 SD_i は、本質的に一貫しています。
ステータスパラメータ DONE、ERROR、STATUS を使用して、ブロックの処理ステータスをモニタします(SFB/FB および S7 通信の SFC/FC の共通パラメータにある「ステータスパラメータ」
を参照してください)。

注記
ID パラメータと EV_ID パラメータは、ブロックの初回呼び出し時にのみ評価されます(実パラメータ、またはインスタンスからの事前定義値)。

表示装置のログオン
ブロック関連メッセージを生成する SFB が信号移行の検出時にメッセージを送信できるようにするには、その前に、少なくとも 1 つの表示装置( WinCC など)にブロック関連メッセージ用にログオン
していなければなりません。ログインが存在しない場合は、パラメータ STATUS の値が 1 になります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

453

ブロック関連メッセージの生成
25.1 SFB によるブロック関連メッセージの生成について

信号移行の検出
メッセージブロックのインスタンスごとに、2 つのメモリブロックを持つメッセージメモリを 1 つ
使用できます。
このメッセージメモリは、最初はクリアされています。入力 SIG、または入力 SIG_1～SIG_8 のいずれかの信号移行は、最初のメモリブロックに格納されます。このメモリブロックは、対応するメッセージが転送されるまで格納状態を維持します。
入力 SIG、または入力 SIG_1～SIG_8 のいずれかで次の信号移行が検出されると、そのデータは2 番目のメモリブロックに格納されます。最初のブロックにまだデータが格納されている場合は、常にこの 2 番目のメモリブロックが上書きされます。
このメッセージ損失は、出力パラメータ ERROR および STATUS に示されます。この情報は、次に転送されるメッセージを持つオンライン表示装置にも渡されます。
最初のメモリブロックがクリアされると、2 番目のメモリブロックのデータが最初のブロックに転送されます。したがって、2 番目のメモリブロックが再度クリアされます。

確認応答によりトリガされるレポート機能
確認応答によりトリガされるレポート機能と SFB 33 "ALARM"、34 "ALARM_8"、35 "ALARM_8P"
を連動させることにより、システム上のメッセージトラフィックを低減できます。
この場合、ある信号に対して始めに着信メッセージが生成されると(信号以降 0 > 1)、表示装置上の最初のメッセージに対してユーザが確認応答をするまでは、後続のメッセージが生成されなくなります。次のメッセージは、ユーザの確認応答によって着信メッセージが確認された後で(信号移行
1 から 0)、表示装置に表示されます。この後は、確認応答を必要とする着信メッセージ(信号移行
0 から 1)によって、メッセージサイクルが再開します。この方法ならば、表示装置を使用して信号移行メッセージ(発信メッセージを除く)をコントロールすることができます。
SFB 33～35 用のレポート方法(確認応答によりトリガされるレポート機能の有効化/無効化)は、STEP 7 のコンフィグレーションで CPU に対してグローバルに設定します。既定では、確認応答によりトリガされるレポート機能は無効になっています。
システム内で一貫したメッセージ評価を実現するには、確認応答によりトリガされるレポート機能
をすべての表示装置が扱えることを確認する必要があります。

確認応答によりトリガされるレポート機能を扱えない表示装置の操作に関する注記
確認応答によりトリガされるレポート機能が有効になっている CPU は、このレポート機能を扱える表示装置にしかメッセージを配信しません。確認応答によりトリガされるレポート機能を扱える表示装置がない場合、CPU はメッセージを全く送信しません。このような状況は、ERROR=1 および
STATUS=1 によって一度だけ通知されます。

SFB 33 "ALARM"、34 "ALARM_8"、35 "ALARM_8P"によるメッセージへの確認応答
集中応答のコンセプトが使用されています。つまり、表示装置に表示されたメッセージに応答すると、その確認応答情報は最初にメッセージを生成した CPU に送信されます。そこから、応答情報は、
さらに、この目的のためにログオンされたすべてのステーションに分散されます。
個々のメッセージに対してではなく、信号に確認応答します。たとえば、ある信号の立ち上がりが複数検出されている場合に、特定の状態に入るイベントに確認応答すると、同じメッセージ番号を持つそれ以前のイベントはすべて、確認応答されたものとしてカウントとされます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2454

リファレンスマニュアル, 05/2017, A5E41733394-AA

ブロック関連メッセージの生成
25.1 SFB によるブロック関連メッセージの生成について応答の表示
SFB 36 "NOTIFY"および SFB 31 "NOTIFY_8P"には、確認応答表示がありません。この場合は、SFB
33 "ALARM"の出力パラメータ ACK_UP および ACK_DN と、SFB 35 "ALARM_8P"および 34"ALARM_8"の出力パラメータ ACK_STATE をチェックしてください。これらの出力は、ブロックの呼び出し時に更新されます(ただし、コントロールパラメータ EN_Rの値が 1でなければなりません)。

SFC または表示装置を介したメッセージの無効化/有効化(WinCC)
状況によっては、メッセージを抑制した方が便利なことがあります(システムを再度コンフィグレー
ションする場合など)。このため、メッセージの有効/無効は、表示装置やユーザープログラムで切り替えられるようになっています。有効化/無効化は、特定のメッセージに対してログオンされているすべてのステーションに適用されます。無効になったメッセージは、再度有効にされない限りその状態を維持します。
メッセージが無効であることは、ERROR および STATUS 出力パラメータ(ERROR=1、
STATUS=21)で通知されます。

ブロック関連メッセージを生成するために SFB が必要とするメモリリソース
ブロック関連メッセージを生成する SFB が正常に動作するためには、関連付けられた値データに応じて、CPU の通信データバッファ内に中間的なメモリスペースが必要となります。使用されるメモリのサイズについては、次の表を参照してください。
ブロックタイプ CPU の作業メモリ内で必要なスペース(バイト単位)
NOTIFY

200 + 2 * 最初のコールの SD_1,...SD_10 で指定された関連値の長さ

NOTIFY_8P

200 + 2 * 最初のコールの SD_1,...SD_10 で指定された関連値の長さ

ALARM

200 + 2 * 最初のコールの SD_1,...SD_10 で指定された関連値の長さ

ALARM_8

100

ALARM_8P

200 + 2 * 最初のコールの SD_1,...SD_10 で指定された関連値の長さ

AR_SEND

54

転送可能なデータ量
NOTIFY、NOTIFY_8P、ALARM、ALARM_8P の各 SFB の関連値 SD_i を使用する場合は、転送されるデータが最大長を超えないようにしてください。この最大データ長は、次のように計算されます。
maxleng = min (pdu_local, pdu_remote) - diff- 4 * 使用する SD_i パラメータの数
ここで•min (pdu_lokal, pdu_remote)は、データフィールド pdu_lokal および pdu_remote の最低値です。

•

pdu_local は、ローカル CPU のデータフィールドの最大長です(CPU のテクニカルデータを参照)。

•

pdu_remote は、表示装置のデータフィールドの最大長です。

•

確認応答によりトリガされるレポート機能が有効な場合は diff = 48、
無効な場合は diff = 44 です。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

455

ブロック関連メッセージの生成
25.1 SFB によるブロック関連メッセージの生成について例
CPU 414-2 は、工業用 Ethernet を介して WinCC にメッセージを送信します。確認応答によりトリガされるレポート機能は無効になっています。
使用する関連値は SD_1、SD_2、SD_3 です。
pdu_local は 480 バイト、pdu_remote は 480 バイトとします。
使用した SD_i パラメータの数は 3 です。
計算結果
maxleng = min (480, 480) − 44 − 4 * 3 = 480 − 44 − 12 = 424
1 つの SFB につき転送可能なデータの最大長は 424 バイトになります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2456

リファレンスマニュアル, 05/2017, A5E41733394-AA

ブロック関連メッセージの生成25.2 SFB 36 "NOTIFY"による承認なしのブロック関連メッセージの生成

25.2

SFB 36 "NOTIFY"による承認なしのブロック関連メッセージの生成

説明
SFB 36 "NOTIFY"で信号をモニタします。この SFB は、信号立ち上がり(イベント開始状態)と信号
立ち下がり(イベント終了状態)の両方でメッセージを生成します。また、最大 10 個の関連値をメッ
セージと一緒に送信することができます。メッセージは、この目的でログオンされているすべてのステーションにメッセージが送信されます。SFB が最初に呼び出されると、現在の信号状態と共にメッセージが送信されます。
信号の立ち下がりまたは立ち上がりが検出され、メッセージに割り付けられると、関連値が問い合わせられます。
SFB 36 "NOTIFY"のインスタンスごとに、2 つのメモリブロックがあるメモリを 1 つ使用できます。
信号移行を中間メモリに格納する方法については「SFB によるブロック関連メッセージの生成について」の「信号移行の検出」セクションを参照してください。
SFB 36 "NOTIFY"は、IEC 1131-5 に準拠しています。
パラメータ

宣言

データタイプ

メモリ領域

説明

SIG

INPUT

BOOL

I、Q、M、D、L

モニタ対象の信号です。

ID

INPUT

WORD

I、Q、M、D、L、
定数

メッセージ用のデータチャンネルです。
最初の呼び出しでは W#16#EEEE ID のみ評価
されます。

EV_ID

INPUT

DWORD

I、Q、M、D、L、
定数

メッセージ番号(0 は不可)EV_ID は初回呼び出
し時にのみ評価されます。その後は、初回呼び出しに使用されたメッセージ番号が、対応するインスタンス DBを使用した SFB 36 の呼び出しごとに適用されます。
メッセージ番号の一貫性を保つため、STEP 7
によりメッセージ番号が自動的に割り付けられます。メッセージ番号は、ユーザープログラム
内でユニークでなければなりません。

SEVERITY

INPUT

DONE

WORD

I、Q、M、D、L、
定数

イベントの重要度: 使用可能な値:
0～127(値 0 は最高の重要度)
このパラメータは、メッセージの処理には関係ありません。

OUTPUT BOOL

I、Q、M、D、L

DONE ステータスパラメータです。
メッセージの生成を完了しました。

エラー

OUTPUT BOOL

I、Q、M、D、L

ERROR ステータスパラメータ
ERROR=TRUE は、処理中にエラーが発生したことを示します。詳細については、パラメータ
STATUS を参照してください。

STATUSOUTPUT WORD

I、Q、M、D、L

STATUS パラメータ: エラー情報を表示します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

457

ブロック関連メッセージの生成25.2 SFB 36 "NOTIFY"による承認なしのブロック関連メッセージの生成
パラメータ

宣言

データタイプ

メモリ領域

SD_i,

IN_OUT

ANY

I、Q、M、D、T、C i 番めの関連する値です。

1 ≤ i ≤ 10

説明
次のデータタイプのみが許可されます。BOOL(ビットフィールドは許可されません),BYTE,
CHAR, WORD, INT, DWORD, DINT, REAL,
DATE, TOD, TIME, S5TIME,DATE_AND_TIME.
注記
ANY ポインタが DB にアクセスする場合、DBは必ず指定されている必要があります (例: P#
DB10.DBX5.0 Byte 10).

エラー情報
次の表は、パラメータ ERROR および STATUS で出力できる SFB 36 固有のエラー情報をすべて載せています。
エラー

ステータス 説明
(10 進)

0

11

メッセージが失われました。前の信号の変化または前のメッセージを送信できなかった
ため、現在のメッセージで置き換えられます。

0

22

•

関連値 SD_i を指すポインタでエラーが発生しました。
-

データ長またはデータタイプに関係しています。

-•

DB エラーや領域長エラーなどが検出されたため、ユーザメモリ内の関連値にアクセスできません。
起動したメッセージは、関連する値の有効な番号なしで、または最終的には有効な番号付きで送信されます。
SEVERITY に対して選択した実パラメータが許容範囲を超えています。有効なメッセージが SEVERITY=127 で送信されています。

025

通信が開始されました。メッセージが処理されています。

1

1

通信問題です。接続は中止されたか、ログオンされていません。

1

4

初回呼び出し時に以下のエラーが発生しました。
•

指定した EV_ID が許容範囲内にありません。

•

ANY ポインタの SD_i に形式エラーが発生しました。

•

SFB 36 ごとに CPU に送信できる最大メモリ領域を超えました。

1

10

ローカルユーザーメモリへアクセスできません(削除された OB にアクセスした場合など)

1

12

SFB が呼び出されたときに、以下の問題がありました。
•

SFB 36 に属していないインスタンス DB が指定されました。

•

インスタンス DB でなく共有 DB が指定されました。

1

18

EV_ID は、SFB 31 または 33～36 のうち 1 つにより既に使用されていました。

1

20

ワークメモリが不足しています。
H システム: 更新実行中の SFB 呼び出し1

21

指定された EV_ID を持つメッセージが無効です。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2458

リファレンスマニュアル, 05/2017, A5E41733394-AA

ブロック関連メッセージの生成
25.3 SFB 31 "NOTIFY_8P"による応答確認表示なしのブロック関連メッセージの生成

25.3

SFB 31 "NOTIFY_8P"による応答確認表示なしのブロック関連
メッセージの生成

説明
SFB 31 "NOTIFY_8P"は、SFB 36 "NOTIFY"を 8 つの信号に拡張したものです。
少なくとも 1 つの信号移行が検出されると、メッセージが生成されます。SFB 31 の最初の呼び出しで常にメッセージが生成されます。8 つの信号にはすべて同じメッセージ番号が割り付けられていて、表示装置上では 8 つのサブメッセージに分割されます。
SFB 31"NOTIFY_8P"のインスタンスごとに、2 つのメモリブロックがあるメモリを 1 つ使用できます。
信号移行を中間メモリに格納する方法については「SFB によるブロック関連メッセージの生成について」の「信号移行の検出」セクションを参照してください。

注記
メッセージの損失に関係なく、表示装置には最後の 2 つの信号移行が表示されます。

!

警告
CPU で SFB 31 "NOTIFY_8P"を呼び出す前に、接続されているすべての表示装置がこのブロックを認識していることを確認してください。STEP 7 V5.1 Service Pack 3 以降、WinCC V5.1 Hot Fix 1
以降、PCS7 V5.2 Service Pack 2 以降、SIMATIC Device Driver V5.6 以降のいずれか 1 つ以上がPLC の条件になっている場合、これが該当します。
そうしないと、PLC と接続されている表示装置との通信は切断されます。この場合、接続された表示装置からシステムにアクセスすることはできません。

パラメータ

宣言

データ
タイプ

メモリ領域

説明

SIG_i,
1 ≤i≤8

INPUT

BOOL

I、Q、M、D、L

モニタ対象となる i 番目の信号です。

ID

INPUT

WORD

定数(I、Q、M、D、L)メッセージ用のデータチャンネル:W#16#EEEE ID は、初回呼び出し時にのみ評価されます。

EV_ID

INPUT

DWORD 定数(I、Q、M、D、L)メッセージ番号(0 は不可)
EV_ID は初回呼び出し時にのみ評価されます。
その後は、初回呼び出しに使用されたメッセー
ジ番号が、対応するインスタンス DB を使用
した SFB 31 の呼び出しごとに適用されます。
メッセージ番号の一貫性を保つため、STEP 7
によりメッセージ番号が自動的に割り付けられます。メッセージ番号は、ユーザープログ
ラム内でユニークでなければなりません。

SEVERITY

INPUT

WORD

定数(I、Q、M、D、L)

イベントの重要度
使用可能な値: 0～127(値 0 = 最高の重要度)、
既定値: 64
このパラメータは、メッセージの処理には関係ありません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

459

ブロック関連メッセージの生成
25.3 SFB 31 "NOTIFY_8P"による応答確認表示なしのブロック関連メッセージの生成
パラメータ

宣言

データ
タイプ

メモリ領域

説明

DONE

OUTPUT

BOOL

I、Q、M、D、L

ステータスパラメータ DONE: メッセージの生成が完了しました。

エラー

OUTPUT

BOOL

I、Q、M、D、L

ステータスパラメータ ERRORERROR=TRUE は、処理中にエラーが発生したことを示します。詳細については、パラメータ
STATUS を参照してください。

STATUSOUTPUT

WORD

I、Q、M、D、L

ステータスパラメータ STATUS: エラー情報
の表示

SD_i,

IN_OUT

ANY

I、Q、M、D、T、Z

i 番めの関連する値です。

1 ≤ i ≤ 10

使用可能なデータタイプ: BOOL(使用不可:
ビットフィールド)、BYTE、CHAR、
WORD、INT、DWORD、DINT、REAL、DATE、TOD、TIME、S5TIME、
DATE_AND_TIME.
注記:
ANY ポインタが DB にアクセスする場合は、
必ず DB が指定されていなければなりません(例: P# DB10.DBX5.0 Byte 10)

エラー情報
次の表に、パラメータ ERROR および STATUS によって出力される SFB 31 固有のエラー情報をすべて示します。
エラー

ステータス(10 進)

説明

0

11

メッセージが失われました。前の信号の変化または前のメッセージを送信できなかったため、現在のメッセージで置き換えられます。

0

22

•

関連値 SD_i を指すポインタでエラーが発生しました。
-

データ長/タイプに関連します。

-•

DB エラーまたは領域長エラーが検出されたため、ユーザメモリ内の関連値にアクセスできません。
起動したメッセージは関連値なしで転送されるか、あるいは必要に応じて最大許容数の関連値とともに転送されます。
選択した実パラメータ SEVERITY が上限を超えています。有効なメッセージが SEVERITY=127 で送信されています。

025

通信が開始されました。メッセージが処理されています。

1

1

通信エラー: 通信がシャットダウンされたか、またはログインしていません。

1

4

初回呼び出し時•指定した EV_ID が許容範囲を超えました。

•

ANY ポインタ SD_i で形式エラーが発生しました。

•

CPU が SFB 31 あたり転送できる最大メモリ領域を超えています。

1

10

ローカルユーザーメモリにアクセスできません(削除された DB にアクセスしようとした場合など)。

1

12

SFB の呼び出し時

1

18

•

SFB 31 に属していないインスタンス DB が指定されました。

•

インスタンス DB ではなくグローバル DB が指定されました。

EV_ID が SFB 31 または 33～36 のいずれかで既に使用されました。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
460

リファレンスマニュアル, 05/2017, A5E41733394-AA

ブロック関連メッセージの生成
25.4 SFB 33 "ALARM"による承認付きブロック関連メッセージの生成
エラー

ステータス(10 進)

説明

1

20

作業メモリが不足しています。

1

21

H システム: 更新中の SFB 呼び出し

25.4

指定された EV_ID を持つメッセージがロックされています。

SFB 33 "ALARM"による承認付きブロック関連メッセージの生成

説明
SFB 33 "ALARM"で信号をモニタします。
既定のモード(確認応答によりトリガされるレポート機能が無効な場合): このブロックにより、信号立ち上がり(イベント開始状態)と信号立ち下がり(イベント終了状態)の両方でメッセージが生成されます。また、最大 10 個の関連値をメッセージと一緒に送信することができます。
確認応答によりトリガされるレポート機能が有効な場合: 信号に対する着信メッセージが生成された後、ユーザが表示装置でこの着信メッセージに対する確認応答を出すまでは、ブロックがメッ
セージを生成しません。
(関連項目: SFB によるブロック関連メッセージの生成について)メッセージは、この目的でログオンされているすべてのステーションにメッセージが送信されます。
SFB が最初に呼び出されると、現在の信号状態と共にメッセージが送信されます。
ACK_UP の出力は、信号立ち上がりでリセットされます。ACK_UP が設定されるタイミングは、
特定の状態に入るイベントに対して、ログオンしている表示装置から応答が返されたときです。
ACK_DN の出力状況はアナログです。これは、信号立ち下がりでリセットされます。ACK_DN が設定されるタイミングは、特定の状態を出るイベントに対して、ログオンしている表示装置から応答が返されたときです。ログオンされている表示装置から応答が受信されると、この目的のためにログオンされている他のすべてのステーションに、この応答情報が渡されます。
SFB33 "ALARM"のインスタンスごとに、2 つのメモリブロックがあるメッセージメモリを 1 つ使用できます。信号移行を中間メモリに格納する方法については「SFB によるブロック関連メッセージの生成についての「信号移行の検出」セクションを参照してください。
SFB 33 "ALARM"は IEC 1131-5 標準に準拠しています。
パラメータ

宣言

データタイプ メモリ領域

説明

EN_R

INPUT

BOOL

I、Q、M、D、L、
定数

制御パラメータ"受信許可"です。このパラメー
タは、ACK_UP 出力と ACK_DN 出力を最初のブロック呼び出しで更新するか(EN_R=1)更新
しないか(EN_R=0)を決定します。EN_R=0の場合、出力パラメータ ACK_UP および
ACK_DN は変わりません。

SIG

INPUT

BOOL

I、Q、M、D、L

モニタ対象の信号です。

ID

INPUT

WORD

I、Q、M、D、L、
定数

メッセージ用のデータチャンネルです。
最初の呼び出しでは W#16#EEEE ID のみ評価されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

461

ブロック関連メッセージの生成
25.4 SFB 33 "ALARM"による承認付きブロック関連メッセージの生成
パラメータ

宣言

データタイプ メモリ領域

説明

EV_ID

INPUT

DWORD

メッセージ番号(0 は不可)
EV_ID は初回呼び出し時にのみ評価されます。
その後は、初回呼び出しに使用されたメッ
セージ番号が、対応するインスタンス DB を使用した SFB 33 の呼び出しごとに適用されます。

I、Q、M、D、L、
定数

メッセージ番号の一貫性を保つため、STEP 7
によりメッセージ番号が自動的に割り付けられます。メッセージ番号は、ユーザープログ
ラム内でユニークでなければなりません。
SEVERITY

INPUT

DONE

I、Q、M、D、L、
定数

イベントの重要度: 使用可能な値:
0～127(値0 は最高の重要度) このパラメータは、このメッセージの処理には関係ありません。

OUTPUT BOOL

I、Q、M、D、L

DONE ステータスパラメータです。
メッセージの生成を完了しました。

エラー

OUTPUT BOOL

I、Q、M、D、L

ERROR ステータスパラメータ
ERROR=TRUE は、処理中にエラーが発生したことを示します。詳細については、パラメータ STATUS を参照してください。

STATUSOUTPUT WORD

I、Q、M、D、L

STATUS パラメータ: エラー情報を表示します。

ACK_DNOUTPUT BOOL

I、Q、M、D、L表示装置で、イベント終了状態に対する確認応答が出されました。
初期化ステータス: 1

ACK_UPOUTPUT BOOL

I、Q、M、D、L表示装置で、イベント開始状態に対する確認応答が出されました。
初期化ステータス: 1

SD_i,

IN_OUT ANY

I、Q、M、D、T、C

i 番めの関連する値です。

1 ≤ i ≤ 10

WORD

次のデータタイプのみが許可されます。
BOOL (ビットフィールドは許可されません),
BYTE, CHAR, WORD, INT, DWORD, DINT,REAL, DATE, TOD, TIME, S5TIME,DATE_AND_TIME.
注記
ANY ポインタが DB にアクセスする場合、DBは必ず指定されている必要があります (例: P#
DB10.DBX5.0 Byte 10).

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
462

リファレンスマニュアル, 05/2017, A5E41733394-AA

ブロック関連メッセージの生成
25.5 SFB 35 "ALARM_8P"による 8 つの信号の関連値を持つブロック関連メッセージの生成"

エラー情報
次の表は、パラメータ ERROR および STATUS で出力できる SFB 33 固有のエラー情報をすべて載せています。
エラー

ステータス(10 進)

説明

0

11

メッセージが失われました。前の信号の変化または前のメッセージを送信できなかったため、現在のメッセージで置き換えられます。

0

22

•

•

関連値 SD_i を指すポインタでエラーが発生しました。
-

データ長またはデータタイプに関係しています。

-

DB エラーや領域長エラーなどが検出されたため、ユーザメモリ内の関連値にアクセスできません。

-

有効なメッセージが関連値なしで送信されています。

SEVERITY に対して選択した実パラメータが許容範囲を超えています。
有効なメッセージが SEVERITY=127 で送信されています。

025

通信が開始されました。メッセージが処理されています。

1

1

通信問題です。接続は中止されたか、ログオンされていません。
確認応答によりトリガされるレポート機能が有効で、確認応答によりトリガされるレポート機能をサポートする表示デバイスがない場合

1

4

初回呼び出し時に以下のエラーが発生しました。
•

指定した EV_ID が許容範囲内にありません。

•

ANY ポインタの SD_i に形式エラーが発生しました。

•

SFB 33 ごとに CPU に送信できる最大メモリ領域を超えました。

1

10

ローカルユーザーメモリへアクセスできません(削除された OB にアクセスした場合など)1

12

SFB が呼び出されたときに、以下の問題がありました。
•

SFB 33 に属していないインスタンス DB が指定されました。

•

インスタンス DB でなく共有 DB が指定されました。

1

18

EV_ID は、SFB 31 または 33～36 のうち 1 つにより既に使用されていました。

1

20

ワークメモリが不足しています。

1

21

H システム: 更新中の FSB の呼び出し。
指定された EV_ID を持つメッセージが無効です。

注記
最初のブロックを呼び出した後で、ACK_UP および ACK_DN 出力の値は 1 となり、SIG 入力の前の値は 0 であったと見なされます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

463

ブロック関連メッセージの生成
25.5 SFB 35 "ALARM_8P"による 8 つの信号の関連値を持つブロック関連メッセージの生成"

25.5

SFB 35 "ALARM_8P"による 8 つの信号の関連値を持つブロック関連
メッセージの生成"

説明
SFB 35 "ALARM_8P"は、SFB 33 "ALARM"を 8 つの信号にリニア拡張したものです。
確認応答によりトリガされるレポート機能を有効にしていない限り、1 つ以上の信号で信号移行が検出されると常にメッセージが生成されます(例外: メッセージは常に初回ブロック呼び出し時に送信されます)。8 つの信号はすべて同じメッセージ ID を持っており、表示装置上では 8 つの個別のメッセージに分割されます。8 つのメッセージ 1 つ 1 つに対して確認応答することも、8 つのメッ
セージすべてに対して一度に応答することも可能です。
ACK_STATE 出力パラメータを使用すれば、個々のメッセージの応答状態をユーザープログラムで処理することができます。ALARM_8P ブロックのメッセージを有効または無効にすると、必ず、
ALARM_8P ブロック全体に影響を与えます。
個々の信号を有効または無効にすることは不可能です。
SFB35 "ALARM_8P"のインスタンスごとに、2 つのメモリブロックを持つメッセージメモリを 1 つ
使用できます。
信号移行を中間メモリに格納する方法については、「SFB によるブロック関連メッセージの生成について」の「信号移行の検出」セクションを参照してください。
パラメータ

宣言

データタイプ メモリ領域

説明

EN_R

INPUT

BOOL

I、Q、M、D、L、 制御パラメータ"受信許可"です。
定数
このパラメータは、ACK_STATE 出力がブロック呼び出し時に更新されるか(EN_R=1)
更新されないか(EN_R=0)を決定します。

SIG_i, 1 = i = 8

INPUT

BOOL

I、Q、M、D、L

ID

INPUT

WORD

I、Q、M、D、L、 メッセージ用のデータチャンネルです。
定数
最初の呼び出しでは W#16#EEEE ID のみ評価
されます。

EV_ID

INPUT

DWORD

I、Q、M、D、L、 メッセージ番号(0 は不可)定数
EV_ID は初回呼び出し時にのみ評価されます。
その後は、初回呼び出しに使用されたメッセー
ジ番号が、対応するインスタンス DB を使用
した SFB 35 の呼び出しごとに適用されます。

モニタ対象の信号 i(番号)です。

メッセージ番号の一貫性を保つため、STEP 7
によりメッセージ番号が自動的に割り付けられます。メッセージ番号は、ユーザープログ
ラム内でユニークでなければなりません。
SEVERITY

INPUT

WORD

I、Q、M、D、L、 イベントの重要度: 使用可能な値:
定数0～127(値0 は最高の重要度) このパラメータは、このメッセージの処理には関係ありません。

DONE

OUTPUT BOOL

I、Q、M、D、L

DONE ステータスパラメータです。
メッセージの生成を完了しました。

エラー

OUTPUT BOOL

I、Q、M、D、L

ERROR ステータスパラメータ
ERROR=TRUE は、処理中にエラーが発生したことを示します。詳細については、パラメータ STATUS を参照してください。

STATUSOUTPUT WORD

I、Q、M、D、L

STATUSパラメータ: エラー情報を表示します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2464

リファレンスマニュアル, 05/2017, A5E41733394-AA

ブロック関連メッセージの生成
25.5 SFB 35 "ALARM_8P"による 8 つの信号の関連値を持つブロック関連メッセージの生成"
パラメータ

宣言

データタイプ メモリ領域

ACK_STATEOUTPUT WORD

I、Q、M、D、L

説明
8 つすべてのメッセージの現在の確認応答ス
テータスを示すビットフィールド: (1: イベントの確認応答済み、0: イベントの確認応答なし)•

ビット 0～7 は、SIG_1～SIG_7 の着信イベントに対応します。

•

ビット 8～15 は、SIG_1～SIG_7 の発信イベントに対応します。

初期化ステータス: W#16#FFFF、つまり、すべての着信イベントと発信イベントに対して確認応答済みです。
SD_j,

IN_OUT

ANY

I、Q、M、D、T、C

1 ≤ j ≤ 10

j 番目の関連する値です。
関連値をすべてのメッセージに適用します。
次のデータタイプのみが許可されます。
BOOL (ビットフィールドは許可されません),
BYTE, CHAR, WORD, INT, DWORD, DINT,REAL, DATE, TOD, TIME, S5TIME,DATE_AND_TIME.
注:
ANYポインタが DBにアクセスする場合、DBは必ず指定されている必要があります(例: P#
DB10.DBX5.0 Byte 10)。

エラー情報
次の表は、パラメータ ERROR および STATUS で出力できる SFB 35 固有のエラー情報をすべて載せています。
エラー

ステータス(10 進)

説明

0

11

メッセージが失われました。前の信号の変化または前のメッセージを送信できなかったため、現在のメッセージで置き換えられます。

0

22

•

関連値 SD_i を指すポインタでエラーが発生しました。
-

データ長またはデータタイプに関係しています。

-

DB エラーや領域長エラーなどが検出されたため、ユーザメモリ内の関連値にアクセスできません。

有効なメッセージが関連値なしで送信されています。
•

SEVERITY に対して選択した実パラメータが許容範囲を超えています。
有効なメッセージが SEVERITY=127 で送信されています。

025

通信が開始されました。メッセージが処理されています。

1

1

通信問題です。接続は中止されたか、ログオンされていません。
確認応答によりトリガされるレポート機能が有効で、確認応答によりトリガされるレポート機能をサポートする表示デバイスがない場合

1

4

初回呼び出し時に以下のエラーが発生しました。
•

指定した EV_ID が許容範囲内にありません。

•

ANY ポインタの SD_i に形式エラーが発生しました。

•

SFB 35 ごとに CPU に送信できる最大メモリ領域を超えました。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

465

ブロック関連メッセージの生成
25.5 SFB 35 "ALARM_8P"による 8 つの信号の関連値を持つブロック関連メッセージの生成"
エラー

ステータス(10 進)

説明

1

10

ローカルユーザーメモリへアクセスできません(削除された OB にアクセスした場合など)1

12

SFB が呼び出されたときに、以下の問題がありました。
•

SFB 35 に属していないインスタンス DB が指定されました。

•

インスタンス DB でなく共有 DB が指定されました。

1

18

EV_IDは、SFB 31 または 33～36 のうち1 つにより既に使用されていました。

1

20

ワークメモリが不足しています。
H システム: 更新実行中の SFB 呼び出し1

21

指定された EV_ID を持つメッセージが無効です。

注記
最初のブロック呼び出しの後、ACK_STATE 出力のすべてのビットが設定され、入力 SIG_i, 1< i < 8の前の値は 0 であると見なされます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
466

リファレンスマニュアル, 05/2017, A5E41733394-AA

ブロック関連メッセージの生成25.6 SFB 34 "ALARM_8"による 8 つの信号の関連値なしのブロック関連メッセージの生成

25.6

SFB 34 "ALARM_8"による 8 つの信号の関連値なしのブロック関連
メッセージの生成

説明
SFB 34 "ALARM_8"は、関連する値 SD_1 から SD_10 がない場合を除いて、SFB 35 "ALARM_8P"
に対して一意です。
パラメータ

宣言

データタイプ メモリ領域

説明

EN_R

INPUT

BOOL

I、Q、M、D、L、 制御パラメータ"受信許可"です。
定数
このパラメータは、ACK_STATE 出力がブロック呼び出し時に更新されるか(EN_R=1)更新されな
いか(EN_R=0)を決定します。

SIG_i、
1<i<8

INPUT

BOOL

I、Q、M、D、L

ID

INPUT

WORD

I、Q、M、D、L、 メッセージ用のデータチャンネルです。
定数
最初の呼び出しでは W#16#EEEE ID のみ評価さ
れます。

EV_ID

INPUT

DWORD

I、Q、M、D、L、 メッセージ番号(0 は不可)定数
EV_ID は初回呼び出し時にのみ評価されます。
その後は、初回呼び出しに使用されたメッセー
ジ番号が、対応するインスタンス DB を使用した
SFB 34 の呼び出しごとに適用されます。

モニタ対象の信号 i(番号)です。

メッセージ番号の一貫性を保つため、STEP 7
によりメッセージ番号が自動的に割り付けられます。メッセージ番号は、ユーザープログラム
内でユニークでなければなりません。
SEVERITY

INPUT

WORD

I、Q、M、D、L、 イベントの重要度: 使用可能な値:
定数0～127(値0 は最高の重要度) このパラメータは、このメッ
セージの処理には関係ありません。

DONE

OUTPUT BOOL

I、Q、M、D、L

DONE ステータスパラメータです。
メッセージの生成を完了しました。

エラー

OUTPUT BOOL

I、Q、M、D、L

ERROR ステータスパラメータ
ERROR=TRUE は、処理中にエラーが発生したことを示します。詳細については、パラメータ
STATUS を参照してください。

STATUSOUTPUT WORD

I、Q、M、D、L

STATUS パラメータ: エラー情報を表示します。

ACK_STATE OUTPUT WORD

I、Q、M、D、L

8 つすべてのメッセージの現在の確認応答ステータスを示すビットフィールド: (1: イベントの確認応答済み、0: イベントの確認応答なし)•

ビット 0～7 は、SIG_1～SIG_8 の着信イベントに対応します。

•

ビット 8～15 は、SIG_1～SIG_8 の発信イ
ベントに対応します。

初期化ステータス: W#16#FFFF、つまり、すべての着信イベントと発信イベントに対して確認応答済みです。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

467

ブロック関連メッセージの生成25.6 SFB 34 "ALARM_8"による 8 つの信号の関連値なしのブロック関連メッセージの生成

エラー情報
次の表は、パラメータ ERROR および STATUS で出力できる SFB 34 固有のエラー情報をすべて載せています。
エラー

ステータス(10 進)

説明

0

11

メッセージが失われました。前の信号の変化または前のメッセージを送信できなかったため、現在のメッセージで置き換えられます。

0

22

SEVERITY に対して選択した実パラメータが許容範囲を超えています。有効なメッセージが SEVERITY=127 で送信されています。

025

通信が開始されました。メッセージが処理されています。

1

1

通信問題です。接続は中止されたか、ログオンされていません。
確認応答によりトリガされるレポート機能が有効で、確認応答によりトリガされるレポート機能をサポートする表示デバイスがない場合

1

4

初回呼び出し時に、指定された EV_ID が許容範囲を超えています。

1

10

ローカルユーザーメモリへアクセスできません(削除された OB にアクセスした場合など)1

12•

SFB が呼び出されたときに、以下の問題がありました。

•

SFB 34 に属していないインスタンス DB が指定されました。

•

インスタンス DB でなく共有 DB が指定されました。

1

18

EV_IDは、SFB 31 または 33～36 のうち 1 つにより既に使用されていました。

1

20

ワークメモリが不足しています。
H システム: 更新実行中の SFB 呼び出し1

21

指定された EV_ID を持つメッセージが無効です。

注記
最初のブロック呼び出しの後、ACK_STATE 出力のすべてのビットが設定され、入力 SIG_i, 1< i < 8の前の値は 0 であると見なされます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2468

リファレンスマニュアル, 05/2017, A5E41733394-AA

ブロック関連メッセージの生成25.7 SFB 37 "AR_SEND"によるアーカイブデータの送信

25.7

SFB 37 "AR_SEND"によるアーカイブデータの送信

説明
SFB 37 "AR_SEND"でアーカイブデータを送信して、この目的のためにログオンされたオペレータ
インターフェースシステムを操作します。これらのシステムは、ログオンメッセージ内の関連するアーカイブ番号を CPU に通知します。CPU 上で使用可能なメモリおよび使用されているアドレス
領域によっては、最大 65534 バイト長のアーカイブデータを送信できます。アーカイブデータの構造には、使用しているオペレータインターフェースシステムの既定の設定を考慮する必要があります。
データの送信処理は、ブロックが呼び出された後、制御入力REQ の信号立ち上がりで起動されます。
アーカイブデータの開始アドレスは SD_1 で指定され、データフィールドの長さは LEN で指定されます。データ転送は、ユーザープログラムの実行とは非同期で行われます。転送が正常に完了すると、
DONE ステータスパラメータの値が 1 で示されます。
コントロール入力 R の信号立ち上がりにより、データの転送が中止されます。
パラメータ

宣言

データタイプ

メモリ領域

REQ
R

INPUT
INPUT

BOOL
BOOL

ID

INPUT

WORD

I、Q、M、D、L
I、Q、M、D、L、
定数
I、Q、M、D、L、
定数

AR_ID

INPUT

DWORD

DONE

OUTPUT

BOOL

エラー

OUTPUTBOOL

STATUSOUTPUT

WORD

SD_1

IN_OUTANYLEN

IN_OUT

WORD

説明

制御パラメータ REQ です。
制御パラメータリセットです。現在のジョブは中止されました。
メッセージ用のデータチャンネルです。
最初の呼び出しでは W#16#EEEE ID のみ
評価されます。
I、Q、M、D、L、 アーカイブ番号(0 は不可)定数
AR_ID は、初回呼び出し時にのみ評価されます。これに従って、対応するインスタンスにより SFB 37 が呼び出されるたびに、最初の呼び出しからのアーカイブ番号が使用されます。
メッセージ番号の一貫性を保つため、
STEP 7 によりメッセージ番号が自動的に割り付けられます。
I、Q、M、D、L
ステータスパラメータ DONE です。送信は完了しました。
I、Q、M、D、L
ERROR ステータスパラメータ
ERROR=TRUE は、処理中にエラーが発生したことを示します。詳細については、パラメータ STATUS を参照してください。
I、Q、M、D、L
STATUS パラメータ: エラー情報を表示します。
I、Q、M、D、アーカイブデータへのポインタです。長さ
T、Cの基準値は評価されません。
次のデータタイプのみが許可されます。
BOOL (ビットフィールドは許可されません),
CHAR, WORD, INT, DWORD, DINT, REAL,
DATE, TOD, TIME, S5TIME,DATE_AND_TIME
アーカイブデータは PLC 固有の構造でなけ
ればなりません。
注:
ANY ポインタが DB にアクセスする場合、
DB は必ず指定されている必要があります(例: P# DB10.DBX5.0 Byte 10)。
I、Q、M、D、L
バイト単位で送信するデータフィールドの長さです。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

469

ブロック関連メッセージの生成25.7 SFB 37 "AR_SEND"によるアーカイブデータの送信

エラー情報
次の表に、パラメータ ERROR および STATUS によって出力される SFB 37 固有のエラー情報をすべて示します。
エラー

ステータス(10 進)

説明

0

11

警告: 前のジョブがまだビジー状態なので、新規ジョブは起動しません。

025

通信が開始しました。ジョブが処理されています。

1

1

通信異常:

1

2

否定応答のため、ファンクションを実行できませんでした。

1

3

指定された AR_ID に対するログオンがありません。

1

4

•

データ長またはデータタイプに関する、アーカイブデータポインタ
SD_1 のエラーです。

•

初回呼び出し時に、指定された AR_ID が許容範囲を超えています。

1

5

要求されたリセットが実行されました。

1

7

現在のファンクションが完了したか、あるいは有効になっていないため、
RESET ジョブは無効です(ブロックのステータスが不正)。

1

10

ローカルユーザーメモリへアクセスできません(削除された OB にアクセスした場合など)。

1

12

SFB が呼び出されたときに、以下の問題がありました。
•

SFB 37 に属していないインスタンス DB が指定されました。

•

インスタンス DB でなく共有 DB が指定されました。

1

18

AR_ID は SFB 37 により既に使用されていました。

1

20

作業メモリが不足しています。
H システム: 更新実行中の SFB 呼び出し

データの一貫性
データの一貫性を守るため、現在の送信プロセスが完了してからでないと、現在使われている送信領域の一部に再度書き込みを行うことはできません。この場合、ステータスパラメータ DONE の
値は 1 です。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
470

リファレンスマニュアル, 05/2017, A5E41733394-AA

ブロック関連メッセージの生成
25.8 SFC 10 "DIS_MSG"によるブロック関連、シンボル関連、グループ状態メッセージの無効化

25.8

SFC 10 "DIS_MSG"によるブロック関連、シンボル関連、グループ
状態メッセージの無効化

説明
SFC 10 "DIS_MSG" (メッセージの無効化) を使用して、SFB で生成されたブロック関連メッセージ、シンボル関連メッセージ (SCAN)、グループ状態メッセージを無効にすることができます。無効にするメッセージは、パラメータ MODE および MESGN を使用して選択します。SFC 10 "DIS_MSG"
を呼び出して、正常にメッセージを無効にするのは、メッセージの無効化が SFC 10 でアクティブになっていないときにのみ可能です。
SFC 10 の呼び出し時に送信準備が整っているにも関わらず、まだ内部バッファ内にあるメッセージを無効にすることも送信することもできません。無効になったメッセージは、"NOTIFY"、NOTIFY_8P"、"ALARM"、"ALARM_8P"、"ALARM_8" の各 SFB の ERROR および STATUS 出力で示されます。
SFC 10 の呼び出し時に入力パラメータ REQ に値 1 を割り付けて、メッセージの無効化を開始します。

SFC 10 ファンクションの使用方法
無効化は非同期で実行されます。つまり、いくつかの SFC 10 呼び出しにわたってアクティブとなります(参照項目 非同期 SFC のパラメータ REQ、RET_VAL、BUSY の意味)。
•

最初の呼び出し時に (REQ =1)、SFC 10 は入力パラメータをチェックし、必要なシステムリソースを占有します。リソースが確保されると、RET_VAL に値 W#16#7001 が入力され、BUSY が設定されて、メッセージの無効化が開始されます。
リソースの確保に失敗すると、エラー情報が RET_VAL に入力され、ジョブが終了します。この場合、BUSY は評価されません。

•

実行中にさらに呼び出しが発生すると、値 W#16#7002 が RET_VAL(ジョブは CPU で実行中)に入力され、BUSY が設定されます。追加呼び出しは、現在のジョブに影響を及ぼしません。

•

SFB の最後の呼び出しでエラーが発生しなかった場合は、RET _VAL に値 W#16#0000 が入力されます。そして、BUSY の値は 0 になります。エラーが発生すると、エラー情報が RET_VALに入力されます。BUSY を評価してはいけません。

パラメータ

宣言

データタイプ

メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L

REQ=1: 無効化をトリガします。

MODE

INPUT

BYTE

I、Q、M、D、L、
定数

無効にするメッセージを選択するためのパラメータについては、次の表を参照してく
ださい。

MESGN

INPUT

DWORD

I、Q、M、D、L、
定数

メッセージ番号は、MODE が 5、6、7 に設定されている場合にのみ関連します。
これによって、単一メッセージを無効にできます。

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報については、「エラー情報」の表を参照してください。

BUSY

OUTPUT

BOOL

I、Q、M、D、L

BUSY=1: 無効化がまだ取り消されていません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

471

ブロック関連メッセージの生成
25.8 SFC 10 "DIS_MSG"によるブロック関連、シンボル関連、グループ状態メッセージの無効化

MODE 入力パラメータ
次の表に、MODE 入力パラメータに設定可能な値を示します。
値

意味

0

SFB で生成された、CPU のすべてのブロック関連メッセージ、シンボル関連メッセージ、および
グループステータスメッセージです。

1

SFB で生成された、CPU のすべてのブロック関連メッセージ("NOTIFY"、NOTIFY_8P"、"ALARM"、"ALARM_8P"、"ALARM_8"の各 SFB で生成されたすべてのメッセージ)です。

2

CPU のすべてのグループステータスメッセージです。

3

CPU のすべてのシンボル関連メッセージです(SCAN)。

5"シンボル関連メッセージ"クラスの単一メッセージです。

6"SFB で生成されたブロック関連メッセージ"クラスの単一メッセージです。

7"グループステータスメッセージ"クラスの単一メッセージです。

エラー情報
エラーコード (W#16#...) 説明
0000

エラーは発生しませんでした。

7000

最初の呼び出しにおける REQ = 0。無効化は起動しませんでした。

7001

最初の呼び出しにおける REQ = 1。無効化はトリガされました。

7002

その後の呼び出し。無効化は既にアクティブです。

8081

パラメータアクセスエラーです。

8082

MODE の値が違法です。

8083

メッセージ番号が、許容範囲から外れています。

8084

MODE および MESGN で指定されたメッセージのためのログオンが行われていま
せん。

80C3

現在の SFC 10 が既にメッセージを無効にしている時点では、MODE およびMESGN で無効になるメッセージは無効にできません。

8xyy

一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評価」
を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
472

リファレンスマニュアル, 05/2017, A5E41733394-AA

ブロック関連メッセージの生成
25.9 SFC 9 "EN_MSG"によるブロック関連、シンボル関連、グループ状態メッセージの有効化

25.9

SFC 9 "EN_MSG"によるブロック関連、シンボル関連、グループ状態
メッセージの有効化

説明SFC 9 "EN_MSG" (メッセージの有効化)を使用して、以前無効になったブロック関連、シンボル関連、
グループ状態のメッセージを有効にできます。表示装置において、または SFC 10 "DIS_MSG" を使用してメッセージは無効になりました。
入力パラメータ MODE および MESGN を使用してメッセージの有効化を指定します。SFC 9"EN_MSG"による正常なメッセージの有効化は、SFC 9 がメッセージの有効化をアクティブにしていない場合にのみ可能です。
SFC 9 の入力パラメータ REQ に値 1 を割り付けてファンクションの有効化を開始します。

SFC 9 ファンクションの使用方法
有効化は非同期で実行されます。つまり、いくつかの SFC 9 呼び出しにわたってアクティブとなります(参照項目 非同期 SFC のパラメータ REQ、RET_VAL、BUSY の意味)。
•

最初の呼び出し時に (REQ =1)、SFC 9 は入力パラメータをチェックし、必要なシステムリソースを占有します。リソースが確保されると、RET_VAL に値 W#16#7001 が入力され、BUSY が設定されて、メッセージの有効化が開始されます。
リソースの確保に失敗すると、エラー情報が RET_VAL に入力され、ジョブが終了します。この場合、BUSY は評価されません。

•

実行中にさらに呼び出しが発生すると、値 W#16#7002 が RET_VAL(ジョブは CPU で実行中)に入力され、BUSY が設定されます。追加呼び出しは、現在のジョブに影響を及ぼしません。

•

SFB の最後の呼び出しでエラーが発生しなかった場合は、RET _VAL に値 W#16#0000 が入力されます。そして、BUSY の値は 0 になります。エラーが発生すると、エラー情報が RET_VALに入力されます。BUSY を評価してはいけません。

パラメータ

宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L

REQ=1: 有効化をトリガします。

MODE

INPUT

BYTE

I、Q、M、D、L、
定数

有効になるメッセージの選択用のパラメータ
です。

MESGN

INPUT

DWORD

I、Q、M、D、L、
定数

メッセージ番号は、MODE が 5、6、7 に設定されている場合にのみ関係します。これによって、単一メッセージを有効にできます。

RET_VALOUTPUT INT

I、Q、M、D、L

エラー情報については、表を参照してください。

BUSY

OUTPUT BOOL

I、Q、M、D、L

BUSY=1: 有効化がまだ取り消されていないことを示します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

473

ブロック関連メッセージの生成
25.9 SFC 9 "EN_MSG"によるブロック関連、シンボル関連、グループ状態メッセージの有効化

MODE 入力パラメータ
以下の表では、MODE 入力パラメータに設定可能な値を一覧します。
値

意味

0

SFB で生成された、CPU のすべてのブロック関連メッセージ、シンボル関連メッセージ、および
グループステータスメッセージです。

1

SFB で生成された、CPU のすべてのブロック関連メッセージ("NOTIFY"、NOTIFY_8P"、"ALARM"、"ALARM_8P"、"ALARM_8"の各 SFB で生成されたすべてのメッセージ)です。

2

CPU のすべてのグループステータスメッセージです。

3

CPU のすべてのシンボル関連メッセージです(SCAN)。

5"シンボル関連メッセージ"クラスの単一メッセージです。

6"SFB で生成されたブロック関連メッセージ"クラスの単一メッセージです。

7"グループステータスメッセージ"クラスの単一メッセージです。

エラー情報
エラーコード (W#16#...) 説明
0000

エラーは発生しませんでした。

7000

最初の呼び出しにおける REQ = 0。有効化は起動しませんでした。

7001

最初の呼び出しにおける REQ = 1。有効化はトリガされました。

7002

その後の呼び出し。有効化は既にアクティブです。

8081

パラメータアクセスエラーです。

8082

MODE の値が違法です。

8083

メッセージ番号が、許容範囲から外れています。

8084

MODE および MESGN で指定されたメッセージのためのログオンが行われていま
せん。

80C3

現在の SFC 9 が既にメッセージを有効にしている時点では、MODE およびMESGN で有効になるメッセージは有効にできません。

8xyy

一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評
価」を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2474

リファレンスマニュアル, 05/2017, A5E41733394-AA

ブロック関連メッセージの生成
25.10 ブロック関連メッセージを生成するための SFB の起動動作

25.10

ブロック関連メッセージを生成するための SFB の起動動作

再起動(ウォームリスタート)
ウォームリスタート時には、ブロック関連メッセージを生成する SFB のインスタンス DB が、初期化されていない NO_INIT ステータスに設定されます。インスタンス DB に格納された実パラメータは変更されません。パラメータ ID および EV_ID は、次のブロック呼び出し時に評価されます。

完全再起動
完全再起動時には、ブロック関連メッセージを生成する SFB のインスタンス DB の内容が、それぞれの初期値にリセットされます。

ホットリスタート
ホットスタート時には、ブロック関連メッセージを生成する SFB は、実行再開可能なユーザファン
クションブロックと同様の動作をします。これらは、割り込みポイントから実行を継続します。

メモリリセット
メモリリセットを実行すると常にすべての接続が終了するため、メッセージ目的でログオンしていた
ステーションは存在しなくなります。ユーザープログラムは削除されます。フラッシュカードを差し込んでいる場合は、実行に関係するプログラムセクションがカードから CPU に再ロードされてから、CPU によりウォームリスタートまたはコールドリスタートが実行されます(メモリの消去後にすべてのユーザデータが初期化されるため、これは暗示的にはコールドリスタートとなります)。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

475

ブロック関連メッセージの生成
25.11 ブロック関連メッセージを生成する SFB の問題対処法

25.11

ブロック関連メッセージを生成する SFB の問題対処法

接続の中断
SFB インスタンスに割り付けられた接続は障害が発生していないかどうかモニタされています。接続に関する障害が検出されると、ブロック関連メッセージのためにログオンされているステーションから構成された内部 CPU リストの中から、障害に関係しているステーションが削除されます。
これらのステーションに対して保留になっているメッセージは削除されます。
接続障害が発生したした後で、障害に関係ない他のステーションがまだログオンされている場合、これらのステーションは引き続きメッセージを受信します。ログオンされたステーションが他に存在しなければ、SFB はメッセージの送信を中止するだけです。このことは、ERROR および STATUS
出力パラメータによって示されます(ERROR=1、STATUS=1)。

ユーザープログラムとのユーザインターフェース
ブロック関連メッセージを生成する SFB の実行中にエラーが発生した場合は、ERROR 出力パラメータが 1 に設定され、STATUS 出力パラメータには対応するエラー識別子が指定されます。この
エラー情報は、ユーザープログラムで評価できます。
以下のようなエラーが発生することがあります。
•

リソースが不足しているため送信ができません。

•

モニタ対象の信号の 1 つにアクセスできません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
476

リファレンスマニュアル, 05/2017, A5E41733394-AA

ブロック関連メッセージの生成
25.12 SFC によるブロック関連メッセージの生成について

25.12

SFC によるブロック関連メッセージの生成について

ブロック関連メッセージの生成に使用する SFC
以下の SFC を使用すると、ブロック関連メッセージを生成することができます。
•

SFC 17 "ALARM_SQ"•

SFC 18 "ALARM_S"•

SFC 107 "ALARM_DQ"•

SFC 108 "ALARM_D"

これらの SFC は、以下のような特性を持っています。
•

信号状態が 1 のときに、SFC 17 "ALARM_SQ"および SFC 107 "ALARM_DQ"により送信されたメッセージは、ログオンした表示装置において確認応答できます。SFC 18 "ALARM_S"および
SFC 108 "ALARM_D"のメッセージは、つねに暗黙的に確認応答されます。メッセージは、信号立ち上がりまたは立ち下がりではなく、各 SFC 呼び出しによって生成されます。詳細については、「SFC 17 "ALARM_SQ"による確認応答可能なブロック関連メッセージの生成および SFC 18"ALARM_S"による常時確認応答済みブロック関連メッセージの生成」を参照してください。

•"ALARM_S"および SFCs 17 "ALARM_DQ"および 108 "ALARM_D"による確認応答可能なブロック関連メッセージの生成の項。

•

ブロックが実行されると、関連値 SD_1 が完全に読み取られ、メッセージに割り付けられます。
高優先順位と比較した一貫性の点からすれば、次の関連値は一貫していると言えます。
-

単純なデータタイプ(ビット、バイト、ワード、ダブルワード)-

特定の CPU に固有の最大長を上限とする、バイトデータタイプの配列(/71/、/101/を参照)。

SFC 19 "ALARM_SC"
SFC 19 "ALARM_SC"を使用して、以下を問い合わせます。
•

最後の"入力状態メッセージ"の確認応答の状態、および最後の SFC 17/SFC 107 呼び出しにおける信号状態。

•

最後の SFC 18/SFC 108 呼び出しにおける信号状態。

表示装置のログオン
ブロック関連メッセージを生成するための SFC が呼び出されたときに、1 つ以上の表示装置がブロック関連メッセージに対してログオンされている場合、SFC はメッセージを送信するだけです。

メッセージの格納
通信システム上に数多くのトラフィックがある場合、メッセージの損失を防ぐため、SFC 17、18、
107、108 は 2 つのメッセージの両方をバッファリングします。
ただし、メッセージが失われた場合は、RET_VAL によってそのことが通知されます。ログオン
表示装置には、次回メッセージが送信されたときに、通知されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

477

ブロック関連メッセージの生成
25.12 SFC によるブロック関連メッセージの生成について

SFC 17 "ALARM_SQ"および 107 "ALARM_DQ"によるメッセージの確認応答表示装置で"イベント開始メッセージ"に応答すると、この確認応答情報はまず最初に、メッセージを生成した CPU に送られます。次に、ブロック関連メッセージに対してログオンされているすべてのステーションに送信されます。

メッセージの有効化/無効化
SFC 17 "ALARM_SQ"、SFC 18 "ALARM_S"、SFC 107 "ALARM_DQ"または SFC 108 "ALARM_D"
で生成されたブロック関連メッセージは無効にできません。また、再び有効にできません。

SFC 17/SFC 18 呼び出しを含むプログラムにおける変更
注記
SFC 17/SFC 18 呼び出しを使用して CPU 上に既に置かれているブロックをダウンロードする場合、前のブロックが入力状態のメッセージを送信済みであるのに、新規ブロックが対応する出発状態のメッセージを送信していないことがあります。これは、メッセージが、CPU の内部メッセージメモ
リ内に残っていることを意味しています。この状況は、SFC 17/SFC 18 でブロックを削除した場合にも発生します。
このようなメッセージを、CPU を STOP に変更してウォームリスタートまたはコールドリスタート
を通して、CPU の内部メッセージメモリから削除できます。

SFC 17/SFC 18 呼び出しを含むプログラムにおける変更
SFC 107 および (または) SFC 108 呼び出しがプログラムに含まれているにもかかわらず、記載されているプログラムの変更により、メッセージが内部メッセージメモリ内で常駐し、このためシステム
リソースを恒久的に占有することがあります。
SFC 17/SFC 18 呼び出しで占有されたシステムリソースに反して、SFC 107/SFC 108 呼び出しにより占有されたシステムリソースを、CPU の STOP モードへの切り替えを必要としないでリリースすることができます。SFC 106 "DEL_SI"を使用してこれを実行します。「SFC 106 "DEL_SI"による
動的システムリソースの読み取り」を参照してください。SFC 106 "DEL_SI"を呼び出して動的に占有されたシステムリソースをリリースする前に、CPU の現在動的に占有されているシステムリ
ソースの情報をフェッチすることが適切です。詳しくは、「SFC 105 "READ_SI"による動的システム
リソースの読み取り」を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2478

リファレンスマニュアル, 05/2017, A5E41733394-AA

ブロック関連メッセージの生成
25.12 SFC によるブロック関連メッセージの生成について転送可能なデータの量
SFC ALARM_S、ALARM_SQ、ALARM_D、ALARM_DQ に付随している値 SD を使用して転送可能なデータの量は、最大長を超えることはできません。このデータ長は次のように算出されます。
maxleng = min (pdu_local, pdu_remote) − 48
定義•

pdu_local: CPU のデータブロックの最大長 (SZL_ID W#16#0131, INDEX 1, 変数 pdu)•

pdu_remote: 表示装置のデータブロックの最大長例
CPU 414-1 は、(MPI を介して)メッセージをプログラミングデバイス PG 760 に送信します。
pdu_local = 480 バイト、pdu_remote = 480 バイト
結果:
maxleng = min (480, 480) − 48 = 480 − 48 = 432
SFC ごとの最大転送データ長は、432 バイトとなります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

479

ブロック関連メッセージの生成
25.13 SFC 17 "ALARM_SQ"による確認応答可能なブロック関連メッセージの生成および SFC 18 "ALARM_S"
による常時確認応答済みブロック関連メッセージの生成

25.13

SFC 17 "ALARM_SQ"による確認応答可能なブロック関連メッセージの生成および SFC 18 "ALARM_S"による常時確認応答済みブロック
関連メッセージの生成

注記
新規に作成したプログラムでは、改良されたシステムリソース管理用のオプションが提供されるので、SFC107 と 108 だけを使用するようお勧めします(使用中の CPU が SFC107 と 108 をサポートしている場合)。

説明
SFC 17 "ALARM_SQ"および SFC 18 "ALARM_S"を呼び出すたびに、関連する値を追加するメッ
セージが生成されます。生成されたメッセージは、メッセージに対してログオンされているすべてのステーションへ送信されます。SFC 17 および SFC 18 により、メッセージ送信の簡単なメカニズムを得ることができます。トリガ信号 SIG の値が反転され、最後の呼び出しとの比較時にのみ
SFC 17 または SFC 18 を呼び出すことを確認する必要があります。この呼び出し条件を満たしていない場合は、RET_VAL にエラー情報が示され、メッセージは送信されません。SFC 17 またはSFC 18 が最初に呼び出されたとき、SIG 入力の値が 1 であることを確認する必要があります。
そうでない場合、RET_VAL にはエラー情報が含まれます。メッセージは送信されません。

注記
適切なシステム属性を前回割り付けた FB 内で SFC 17 および SFC 18 を呼び出してください! ブロッ
クにシステム属性を割り付ける方法の詳細については、/234/を参照してください。

システムリソースの使用
SFC 17 "ALARM_SQ"および 18 "ALARM_S"でメッセージを生成するとき、信号周期の時間用に
オペレーティングシステムで 1 つのシステムリソースが使用されます。
SFC 18 "ALARM_S"では、信号周期は SFC 呼び出し SIG=1 から、SIG=0 による別の信号呼び出しまで続きます。SFC 17 "ALARM_SQ"では必要に応じて、着信信号がレポートされた表示装置の 1 つにより確認応答されるまでの時間も含まれます。
信号周期の間に、メッセージ生成のブロックがオーバーロードまたは削除された場合、次のリス
タート(ウォームリスタート)まで関連するシステムリソースが占有したままとなります。

メッセージへの応答モニタされた信号の状態が 1 である場合、SFC 17 "ALARM_SQ" によって送信されたメッセージを確認できます。SFC 19「ALARM_SC」を使用して、最後の「イベントメッセージ入力」の確認
応答ステータスおよび最後の SFC 呼び出しの信号状態を問い合わせることができます。SFC 18"ALARM_S"で送信されるメッセージは、常に暗黙的に確認応答されます。SFC 19 "ALARM_SC"を使用した最後の SFC 18 呼び出し時に信号状態を問い合わせることができます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
480

リファレンスマニュアル, 05/2017, A5E41733394-AA

ブロック関連メッセージの生成
25.13 SFC 17 "ALARM_SQ"による確認応答可能なブロック関連メッセージの生成および SFC 18 "ALARM_S"
による常時確認応答済みブロック関連メッセージの生成

信号状態の一時的な保管
SFC 17 "ALARM_SQ"および SFC 18 "ALARM_S"は、一時的にシステムリソースを占有します。
このとき、これらの SFC は、タイムスタンプと関連値を含む最後の 2 つの信号状態を入力します。
2 つの最後の"有効な"SFC 呼び出しの信号状態がまだ送信されていないとき(信号オーバーフロー)に SFC 17 または SFC 18 が呼び出される場合、現在の信号状態と最後の信号状態は破棄され、バッファ内にオーバーフローID が設定されます。次に、最後から 2 番目の信号とオーバーフロー識別子が送信されます。
例

t
t0

t1

t2

t0、t1、t2 は、SFC 17 または SFC 18 が呼び出されるポイントにあります。t2 の時点で t0 と t1 の信号状態が送信されていないと、t1 と t2 の信号状態は放棄され、t0 の信号状態に対してオーバーフ
ローID が設定されます。

インスタンスオーバーフロー
SFC 17 または SFC 18 呼び出しの数が CPU システムリソースの最大量より多い場合、リソース不足となります(インスタンスオーバーフロー)。このこと、RET_VAL 内のデータと、ログオンしている表示装置の両方で通知されます。
SFC 17 または SFC 18 呼び出しの最大数は、個々の CPU により異なります。
この情報については、/70/ および /101/を参照してください。
パラメータ

宣言

データタイプ メモリ領域

説明

SIG

INPUT

BOOL

I、Q、M、D、Lメッセージをトリガする信号です。

ID

INPUT

WORD

I、Q、M、D、L、
定数

メッセージ用データチャンネル
W#16#EEEE

EV_ID

INPUT

DWORD

I、Q、M、D、L、
定数

メッセージ番号(0 は不可)

SD

INPUT

ANY

I、Q、M、D、T、C

関連値
最大長は 12 バイトです。
次のデータタイプのみが許可されます。
BOOL(ビットフィールドは許可されません)
BYTE, CHAR, WORD,
INT, DWORD, DINT,REAL, DATE, TOD, TIME, S5TIME,DATE_AND_TIME,
COUNTER, TIMER.

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

481

ブロック関連メッセージの生成
25.13 SFC 17 "ALARM_SQ"による確認応答可能なブロック関連メッセージの生成および SFC 18 "ALARM_S"
による常時確認応答済みブロック関連メッセージの生成

エラー情報
エラーコード (W#16#...) 説明
0000

エラーは発生していません。

0001

•

関連値の長さが、最大許容長を超えています。または•

ユーザメモリにアクセスできません(削除された DB にアクセスした場合など)。
メッセージが送信されます。

•

関連する値は、ローカルデータエリアの値を指します。メッセージが送信されます。(S7-400 のみ)

0002

警告: 最後の空きメッセージ確認応答メモリが使われました。
(S7-400 のみ)

8081

指定された EV_ID が許容範囲内にありません。

8082

CPU が、ブロック関連メッセージを SFC で生成する際に必要なリソースを持っていないため、メッセージが失われてしまいました。

8083

同じ信号が既に変化しているにもかかわらず、その情報がまだ送信されていないため(信号オーバーフロー)、メッセージが失われました。

8084

メッセージをトリガする信号(SIG)が、現在の SFC 17 または SFC 18 呼び出し時の値と最後の呼び出し時の値が同じ値になっています。

8085

指定した EV_ID に対するログオンが存在していません。

8086

指定した EV_ID に対する SFC 呼び出しが、低い優先順位で既に実行されています。

8087

SFC 17 または SFC 18 が最初に呼び出されたとき、メッセージトリガ信号の値は
0 です。

8088

指定した EV_ID は、既に別のシステムリソース(SFC 17、18、107、108)に使用されています。

8xyy

一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評価」
を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2482

リファレンスマニュアル, 05/2017, A5E41733394-AA

ブロック関連メッセージの生成
25.14 SFC 19 "ALARM_SC"による最後の ALARM SQ イベントメッセージ入力の確認応答ステータスの問い合
わせ

25.14

SFC 19 "ALARM_SC"による最後の ALARM SQ イベントメッセージ
入力の確認応答ステータスの問い合わせ

説明
SFC 19 "ALARM_SC"を使用して、以下の問い合わせができます。
•

最後の入力状態メッセージ ALARM_SQ/ALARM_DQ の確認応答ステータス、および SFC 17"ALARM_SQ"/SFC 107 "ALARM_DQ"が最後に呼び出されたメッセージをトリガした信号のステータス。

•

SFC 18 "ALARM_S"/SFC 108 "ALARM_D"が最後に呼び出されたメッセージをトリガした信号のステータス。

メッセージコンフィグレーションの間にメッセージ番号を割り付けたと前提して、メッセージまたは
信号は、SFC 17 または SFC 18/SFC 107/SFC 108 の一時的に占有されたメモリに SFC 19"ALARM_SC"がアクセスする一意のメッセージ番号で参照されます。
パラメータ

宣言

データタイプ

メモリ領域

説明

EV_ID

INPUT

DWORD

I、Q、M、D、L、 問い合わせをする最後の SFC 呼び出しにおける定数
信号状態、または最後の入力状態メッセージの確認応答ステータス(SFC 17 および SFC 107 のみ!)用のメッセージ番号です。

RET_VALOUTPUT

INT

I、Q、M、D、L

エラー情報

状態

OUTPUT

BOOL

I、Q、M、D、L

SFC を前回呼び出したときにメッセージをトリガした信号の状態です。

Q_STATEOUTPUT

BOOL

I、Q、M、D、L指定された EV_ID パラメータが SFC 18/SFC
108 呼び出しに属する場合は 1 です。
指定された EV_ID パラメータがSFC 17/SFC 107 呼び出しに属する場合、最後の入力状態メッセージの確認応答ステータスは次のとおりです。
0: 確認応答なし
1: 確認応答あり

エラー情報
エラーコード (W#16#...) 説明
0000

エラーは発生していません。

8081

指定された EV_ID が許容範囲内にありません。

8082

この EV_ID では現在何もメモリが占有されていません(予想される原因:
対応する信号状態が 1 ではありません。または信号状態が既に 0 に戻っています)。

8xyy

一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評価」
を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

483

ブロック関連メッセージの生成
25.15 SFC 107 "ALARM_DQ"および SFC 108 "ALARM_D"による確認応答可能および永続的に確認応答されるブロック関連メッセージの生成

25.15

SFC 107 "ALARM_DQ"および SFC 108 "ALARM_D"による確認応答
可能および永続的に確認応答されるブロック関連メッセージの生成

説明
SFC 107 "ALARM_DQ"および 108 "ALARM_D"の呼び出しのたびに、関連する値を追加するメッ
セージが生成されます。したがって、SFC 17 "ALARM_SQ"および SFC 18 "ALARM_S"で対応します。
SFC 107 "ALARM_DQ"および 108 "ALARM_D"でメッセージを生成するとき、信号周期の時間用に
オペレーティングシステムにより一時的にシステムリソースが占有されます。
SFC 108 "ALARM_D"の信号周期時間は、SIG=1 が設定された SFC 呼び出しから、SIG=0 が設定された次の呼び出しまでです。SFC 107 "ALARM_DQ"の場合、この間隔は、表示装置のログに着信信号に対する確認応答が出されるまでの経過時間分だけ延長される場合があります。
SFC 108 "ALARM_D"では、信号周期は SFC 呼び出し SIG=1 から、SIG=0 による別の信号呼び出しまで続きます。SFC 107 "ALARM_DQ"では必要に応じて、着信信号がレポートされた表示装置の
1 つにより確認応答されるまでの時間も含まれます。
信号周期の間に、メッセージ生成のブロックがオーバーロードまたは削除された場合、次のリス
タート(ウォームリスタート)まで関連するシステムリソースが占有したままとなります。
SFC 17 および SFC 18 と比較される SFC 107 "ALARM_DQ"および 108 "ALARM_D"の追加の機能
により、これらの占有されたシステムリソースを管理できます。
•

SFC 105 "READ_SI"のヘルプを使用して、占有されたシステムリソースに関する情報をフェッチ
できます。

•

SFC 106 "DEL_SI"を使用して、占有されたシステムリソースを再度リリースできます。この
機能は、恒久的に占有されたシステムリソースに特に効果があります。例えば、プログラムを変更する過程で SFC107 または SFC108 呼び出しを含む FB 呼び出しを削除する場合、現在占有されているシステムリソースは次のリスタート(ウォームリスタート)まで占有されたままとなります。プログラムを変更するとき、および SFC 107 または SFC 108 呼び出しで FB を再ロードするとき、SFC 107 および SFC 108 ではこれ以上メッセージは生成されません。

SFC 107 および SFC 108 には、SFC 17 および SFC 18 以外に 1 つパラメータが含まれています。
つまり、入力 CMP_ID です。この入力を使用して、SFC 107 および SFC 108 で生成されたメッセー
ジを、論理領域(例えばシステムのパーツなど)に割り付けます。FB 内で SFC 107/SFC 108 を呼び出す場合、対応するインスタンス DB の番号が CMP_ID に割り付けられることは明らかです。
パラメータ

宣言

データ
タイプ

メモリ領域

説明

SIG

INPUT

BOOL

ID

I、Q、M、D、Lメッセージのトリガ信号です。

INPUT

WORD

I、Q、M、D、L、定数

メッセージ用データチャンネル
W#16#EEEE

EV_ID

INPUT

DWORD I、Q、M、D、L、定数

メッセージ番号(0 は許可されません)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2484

リファレンスマニュアル, 05/2017, A5E41733394-AA

ブロック関連メッセージの生成
25.15 SFC 107 "ALARM_DQ"および SFC 108 "ALARM_D"による確認応答可能および永続的に確認応答されるブロック関連メッセージの生成

パラメータ

宣言

データ
タイプ

メモリ領域

CMP_IDINPUT

DWORD I、Q、M、D、L、定数

説明
コンポーネント識別子です(0 は許可されません)
対応するメッセージが割り付けられるサブシステムの ID です。
推奨値•

下位ワード: 1～ 65535•

上位ワード: 0

これらの推奨値に準拠した場合、
SIEMENS プログラムパッケージでコンフ
リクトは起こりません。
SD

INPUT

ANY

I、Q、M、D、T、C

関連値
最大長は 12 バイトです。
次のデータタイプのみが許可されます。
BOOL(ビットフィールドは許可されません),
BYTE, CHAR, WORD, INT, DWORD,
DINT, REAL, DATE, TOD, TIME, S5TIME,DATE_AND_TIME

RET_VALOUTPUT

INT

E、A、M、D、L

エラー情報

エラー情報
エラーコード(W#16#...):

説明

0000

エラーは発生していません。

0001

•

関連する値の長さが許可される最大長を超えました。

•

ユーザーメモリにアクセスできません(例えば、削除された DB へのアクセス)。起動したメッセージが送信されます。

•

関連する値は、ローカルデータエリアの値を指します。メッセージが送信されます。(S7-400 のみ)

0002

警告: 最後の空きメッセージの確認応答メモリが占有されました。
(S7-400 のみ)

8081

指定した EV_ID が有効な範囲外にあります。

8082

CPU が、ブロック関連メッセージを SFC で生成する際に必要なリソースを持っていないため、メッセージが失われてしまいました。

8083

同じ信号転送が既に存在しますが、まだ送信されないため(信号オーバーフロー)、メッセージが失われました。

8084

現在および前回の SFC 107-/SFC-108 呼び出しで、メッセージトリガ信号 SIGの値が同じです。

8085

指定された EV_ID に対するログオンがありません。

8086

指定された EV_ID の SFC 呼び出しは、既に低い優先度クラスで処理されてい
ます。

8087

SFC 107/SFC 108 の最初の呼び出しでは、メッセージトリガ信号の値は 0 です。

8088

指定した EV_ID は、既に別のシステムリソース(SFC 17、18、107、108)に使用されています。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

485

ブロック関連メッセージの生成
25.16 SFC 105 "READ_SI"による動的システムリソースの読み取り

25.16

エラーコード(W#16#...):

説明

8089

値 0 が CMP_IDに割り付けられました。

8xyy

一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評価」を参照してください。

SFC 105 "READ_SI"による動的システムリソースの読み取り

SFC 107 および SFC 108 によるメッセージ生成時の動的に占有されたシステムリソースの展開方法
SFC 107 "ALARM_DQ"および 108 "ALARM_D"を使用したメッセージの生成時に、オペレーティング
システムにより一時的にシステムメモリスペースが占有されます。
例えば、SFC 107 または SFC 108 呼び出しで CPU に存在する FB を削除しないと、対応するシステム
リソースは恒久的に占有されたままとなる場合があります。SFC 108 または SFC 108 呼び出しで FB を再ロードすると、SFC 107 および SFC 108 が適切に処理されない可能性があります。

説明SFC 105 "READ_SI"を使用して、メッセージの生成時に SFC 107 および SFC 108 により占有された、
現在使用しているシステムリソースを読み取ることができます。この場所で使用されている EV_ID および
CMP_ID の値を介して読み取りが行われます。この値は、パラメータ Sl_ID にある SFC 105 "READ_SI"に送られます。
SFC 105 "READ_SI" には、次の表で説明している 4 つの有効な動作モードがあります。パラメータ
MODE を介して必要な動作モードを設定します。
MODE

SFC 107/SFC 108 により占有されたシステムリソースのうちどれを読み取るのか?

1

すべて(SI_ID:=0 による SFC 105 の呼び出し)

2

EV_ID:=ev_id による SFC 107-/SFC 108 の呼び出しにより占有されたシステムリソース(SI_ID:=ev_id による SFC 105 の呼び出し)

3

CMP_ID:=cmp_id による SFC 107-/SFC 108 の呼び出しにより占有されたシステムリソース(SI_ID:=ev_id による SFC 105 の呼び出し)0

指定したターゲットフィールド SYS_INST が小さ過ぎるため、MODE=1 または MODE=3 内での前回の呼び出しで読み取ることができなかった追加のシステムリソースです。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2486

リファレンスマニュアル, 05/2017, A5E41733394-AA

ブロック関連メッセージの生成
25.16 SFC 105 "READ_SI"による動的システムリソースの読み取り

動作原理
MODE=1 または MODE=3 内での SFC 105 の呼び出し時に十分に大きいターゲット領域 SYS_INSTが選択されなかった場合、パラメータ MODE を介して選択された現在占有されているシステムリ
ソースすべての内容が含まれます。
リソースに対するシステム負荷が大きいと、その分だけ SFC のランタイムが長くなります。
つまり、
CPU パフォーマンスに対する負荷が大きいと、コンフィグレーション可能な最大サイクルモニタ
時間を超えてしまう可能性があります。
このランタイムの問題の回避策として、比較的小さな SYS_INST ターゲット領域を選択してください。
SFC が読み取り対象となるすべてのシステムリソースを SYS_INST に入力できない場合は、
RET_VAL=W#16#0001 で通知されます。この場合は、RET_VAL の値が W#16#0000 になるまで、
MODE=0 および前の呼び出しと同じ SI_ID で、SFC 105 を呼び出してください。

注記
オペレーティングシステムは、読み取りジョブに属する SFC 105 呼び出しを調整しないので、同じ優先度クラスを使用してすべての SFC 105 呼び出しを実行する必要があります。

ターゲット領域 SYS_INST のストラクチャ
フェッチされた占有システムリソース用のターゲット領域は、DB 内に置く必要があります。ター
ゲット領域をストラクチャのフィールドとして適切に定義する必要があります。これによりストラ
クチャは次のように構成されます。
ストラクチャ
エレメント

データ
タイプ

説明

SFC_NO

WORD

システムリソースを占有している SFC の番号

LEN

BYTE

ストラクチャの長さ(バイト単位) SFC_NO および LEN: B#16#0C が含まれます。

SIG_STAT

BOOL

信号状態

ACK_STAT

BOOL

着信イベントの確認応答ステータス(信号立ち上がり)

EV_ID

DWORD

メッセージ番号

CMP_ID

DWORD

サブシステム ID

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

487

ブロック関連メッセージの生成
25.16 SFC 105 "READ_SI"による動的システムリソースの読み取り

パラメータ

宣言

データ
タイプ

メモリ領域

説明

MODE

INPUT

INT

I、Q、M、D、L、定数

ジョブ識別子です。
許可される値

SI_ID

INPUT

DWORD I、Q、M、D、L、定数•

1: すべてのシステムリソースの読み取り•

2. SFC 107-/SFC 108 の呼び出し時に
EV_ID = ev_id により占有されたシステム
リソースの読み取り•

3: SFC 107-/SFC 108 の呼び出し時にCMP_ID = cmp_id により占有されたシス
テムリソースの読み取り•

0: 次の呼び出し

読み取られるシステムリソースの ID
許可される値•

RET_VALOUTPUT

N_SI
SYS_INT

MODE=1 の場合は 0•

MODE=2 の場合のメッセージ番号 ev_id•

MODE=3 の場合のシステムセクションの識別子用 ID cmp_id

INT

I、Q、M、D、L

戻り値(エラー情報またはジョブステータス)

OUTPUT

INT

I、Q、M、D、L

SYS_INT での出力システムリソースの番号

OUTPUT

ANY

D

フェッチされたシステムリソース用ターゲッ
ト領域

エラー情報
エラーコード(W#16#...):

説明

0000

エラーは発生していません。

0001

選択された SYS_INT ターゲット範囲が短過ぎるため、すべてのシステムリソースを読み取ることができませんでした。

8081(MODE=2 または 3 のみ)SI_ID に値 0 が割り付けられました。

8082(MODE=1 のみ)SI_ID に 0 と異なる値の 1 つが割り付けられました。

8083(MODE=0 のみ)MODE=1 または 3 での SFC の前回の呼び出し時以外に、SI_ID に値が割り付けられました。

8084

MODE に不正な値が割り付けられました。

8085

SFC 105 は既に別の OB で処理されています。

8086

ターゲット領域 SYS_INST がシステムリソースに対して小さ過ぎます。

8087 または
8092

ターゲット領域 SYS_INST は、DB にも ANY ポインタのエラーにも存在しません。

8xyy

一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評価」を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2488

リファレンスマニュアル, 05/2017, A5E41733394-AA

ブロック関連メッセージの生成
25.17 SFC 106 "DEL_SI"による動的システムリソースの読み取り

25.17

SFC 106 "DEL_SI"による動的システムリソースの読み取り

SFC 107 および SFC 108 によるメッセージ生成時の動的システムリソースの展開方法
SFC 107 "ALARM_DQ"および 108 "ALARM_D"を使用したメッセージの生成時に、オペレーティング
システムにより一時的にシステムメモリスペースが占有されます。
例えば、SFC 107 または SFC 108 呼び出しで CPU に存在する FB を削除しないと、対応するシステム
リソースは恒久的に占有されたままとなる場合があります。SFC 108 または SFC 108 呼び出しで FB を再ロードすると、SFC 107 および SFC 108 が適切に処理されない可能性があります。

説明SFC 106 "DEL_SI"を使用して、現在使用しているシステムリソースを削除できます。
SFC 106 "DEL_SI" には、次の表で説明している 3 つの有効な動作モードがあります。パラメータ MODE
を介して必要な動作モードを設定します。
MODE

SFC 107/SFC 108 により占有されたシステムリソースのうちどれを削除するのか?

1

すべて(SI_ID:=0 による SFC 106 呼び出し)

2

EV_ID:=ev_id による SFC 107-/SFC 108 の呼び出しにより占有されたシステムリソース(SI_ID:=ev_id による SFC 106 の呼び出し)

3

CMP_ID:=cmp_id による SFC 107-/SFC 108 の呼び出しにより占有されたシステムリソース(SI_ID:=ev_id による SFC 106 の呼び出し)

パラメータ

宣言

データ
タイプ

メモリ領域

説明

MODE

INPUT

INT

I、Q、M、D、L、定数 ジョブ識別子です。
許可される値

SI_ID

INPUT

•

1: すべてのシステムリソースの削除•

2. SFC 107-/SFC 108 の呼び出し時に
EV_ID = ev_id により占有されたシステム
リソースの削除•

3: SFC 107-/SFC 108 の呼び出し時にCMP_ID = cmp_id により占有されたシステ
ムリソースの削除

DWORD I、Q、M、D、L、定数 削除されるシステムリソースの ID
許可される値•

RET_VALOUTPUT

INT

I、Q、M、D、L

MODE=1 の場合は 0•

MODE=2 の場合のメッセージ番号 ev_id•

MODE=3 の場合のシステムセクションの識別子用 ID cmp_id

エラー情報

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

489

ブロック関連メッセージの生成
25.17 SFC 106 "DEL_SI"による動的システムリソースの読み取り

エラー情報
エラーコード(W#16#...):

説明

0000

エラーは発生していません。

8081(MODE=2 または 3 のみ)SI_ID に値 0 が割り付けられました。

8082(MODE=1 のみ)SI_ID に 0 と異なる値の 1 つが割り付けられました。

8084

MODE に不正な値が割り付けられました。

8085

SFC 106 は現在処理されています。

8086

選択されたシステムリソースのうち少なくとも 1 つが SFC 106 の呼び出し時に処理されているため、選択されたシステムリソースのすべてを削除できません。

8xyy

一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評価」を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2490

リファレンスマニュアル, 05/2017, A5E41733394-AA

26

IEC タイマと IEC カウンタ

26.1

SFB 3 "TP"によるパルスの生成

説明
SFB 3 "TP"は、長さ PT でパルスを生成します。タイマは、STARTUP および RUN モードでのみ実行されます。
入力 IN の信号立ち上がりでパルスが開始されます。入力信号の変化に関係なく(つまり、時間 PTが経過する前に IN 入力が 0 から 1 に戻った場合でも)、時間 PT に対しては出力 Q が設定されたままになります。ET 出力の最大値は、PT 入力の値となります。出力 ET は、入力 IN が 0 に変化した
ときにリセットされますが、時間 PT が経過するまではリセットされません。
SFB 3 "TP"は、IEC 1131-3 標準に準拠しています。
コールドリスタートの間、オペレーティングシステムは SFB 3 "TP"のインスタンスをリセットします。
この SFB のインスタンスをウォームリスタートに従って初期化する場合、OB100 内で PT = 0 ms
により SFB 3 を呼び出す必要があります。
この SFB のインスタンスが別のブロック内にある場合は、
上位ブロックを初期化するなどの方法でこれらのインスタンスをリセットできます。

タイムチャート

IN

Q
PT

PT

PT

ET
PT

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

491

IEC タイマと IEC カウンタ
26.1 SFB 3 "TP"によるパルスの生成

パラメータ

宣言

データタイプ

メモリ領域

説明

IN

INPUT

BOOL

I、Q、M、D、L、 起動入力
定数

PT

INPUT

TIME

I、Q、M、D、L、 パルスの継続時間です。PT は正の値でな
定数ければなりません。(注記: 値の範囲はデー
タタイプ TIME で決定します。)

Q

OUTPUT

BOOL

I、Q、M、D、L

時間のステータスです。

ET

OUTPUT

TIME

I、Q、M、D、L

経過時間です。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2492

リファレンスマニュアル, 05/2017, A5E41733394-AA

IEC タイマと IEC カウンタ
26.2 SFB 4 "TON"によるオンディレーの生成

26.2

SFB 4 "TON"によるオンディレーの生成

説明
SFB 4 "TON"は、時間 PT で信号立ち上がりを遅らせます。タイマは、STARTUP および RUN モード
でのみ実行されます。
入力 IN の信号立ち上がりは、時間 PT だけ遅れて、出力 Q に出力されます。その後、出力 Q は、
IN 入力が再度 0 に変化するまで設定されたままとなります。ただし、時間 PT が経過する前に IN
入力が 0 に変わっても、出力 Q は 0 に設定されたままです。
ET 出力は、IN 入力で最後の信号立ち上がりが検出されてから経過した時間を返します。ET の最大
値は、PT 入力の値となります。ET は、IN 入力が 0 に変わるとリセットされます。
SFB 4 "TON"は、IEC 1131-3 標準に準拠しています。
コールドリスタートの間、オペレーティングシステムは SFB 4 "TON"のインスタンスをリセットします。この SFB のインスタンスをウォームリスタートに従って初期化する場合、OB100 内で PT= 0 ms により SFB 4 を呼び出す必要があります。この SFB のインスタンスが別のブロック内にある場合は、上位ブロックを初期化するなどの方法でこれらのインスタンスをリセットできます。

タイムチャート

IN

Q

PT

PT

ET
PT

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

493

IEC タイマと IEC カウンタ
26.2 SFB 4 "TON"によるオンディレーの生成

パラメータ

宣言

データタイプ

メモリ領域

説明

IN

INPUT

BOOL

I、Q、M、D、L、 起動入力
定数

PT

INPUT

TIME

I、Q、M、D、L、 IN 入力の信号立ち上がりを定数遅らせる時間です。PT は正の値でなければなりません。
(注記: 値の範囲はデータタイプ TIME で決定
します。)

Q

OUTPUT

BOOL

I、Q、M、D、L

時間のステータスです。

ET

OUTPUT

TIME

I、Q、M、D、L

経過時間です。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2494

リファレンスマニュアル, 05/2017, A5E41733394-AA

IEC タイマと IEC カウンタ
26.3 SFB 5 "TOF"によるオフディレーの生成

26.3

SFB 5 "TOF"によるオフディレーの生成

説明
SFB 5 "TOF"は、時間 PT で信号立ち下がりを遅らせます。タイマは、STARTUP および RUN モード
でのみ実行されます。
入力 IN での信号立ち上がりは、出力 Q での信号立ち上がりの原因となります。入力 IN での信号立ち下がりは、時間 PT による出力 Q での信号立ち下がりの遅れの原因となります。ただし、時間
PT が経過する前に IN 入力が 1 に戻っても、出力 Q は 1 に設定されたままです。ET 出力は、IN 入力
で最後の信号立ち上がりが検出されてから経過した時間を返します。ただし、入力 PT の値が出力
ET の最大値となります。入力 IN が 1 に変化すると、ET はリセットされます。
SFB 5 "TOF"は、IEC 1131-3 標準に準拠しています。
コールドリスタートの間、オペレーティングシステムは SFB 5 "TOF"のインスタンスをリセットします。この SFB のインスタンスをウォームリスタートに従って初期化する場合、OB100 内で PT =0 ms により SFB 5 を呼び出す必要があります。この SFB のインスタンスが別のブロック内にある
場合は、上位ブロックを初期化するなどの方法でこれらのインスタンスをリセットできます。

タイムチャート

IN

Q
PT

PT

ET
PT

パラメータ

宣言

データタイプ

メモリ領域

説明

IN

INPUT

BOOL

I、Q、M、D、L、 起動入力
定数

PT

INPUT

TIME

I、Q、M、D、L、 IN 入力の信号立ち下がりを遅らせる時間です。
定数
PT は正の値でなければなりません。
(注記: 値の範囲はデータタイプ TIME で決定します。)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

495

IEC タイマと IEC カウンタ
26.3 SFB 5 "TOF"によるオフディレーの生成

パラメータ

宣言

データタイプ

メモリ領域

説明

Q

OUTPUT

BOOL

I、Q、M、D、L

時間のステータスです。

ET

OUTPUT

TIME

I、Q、M、D、L

経過時間です。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2496

リファレンスマニュアル, 05/2017, A5E41733394-AA

IEC タイマと IEC カウンタ
26.4 SFB 0 "CTU"によるカウントアップ

26.4

SFB 0 "CTU"によるカウントアップ

説明
SFB 0 "CTU"を使用してカウントアップできます。カウンタは、入力 CU での信号立ち上がりで1 ずつ増加します(最後の SFB 呼び出しと比較 l)。
カウントされた値が上限の 32767 に達した場合、カウンタの値はそれ以上増えません。これ以降に CU 入力で信号立ち上がりが発生しても、すべて無効になります。
R 入力領域の信号レベルが 1 になると、CPU 入力の現在の値に関係なく、カウンタは値 0 にリセットされます。
Q 出力は、現在のカウンタ値が事前定義値 PV 以上になっているかどうかを示します。
SFB 0 "CTU"は、IEC 1131-3 標準に準拠しています。
コールドリスタートの間、オペレーティングシステムは SFB 0 "CTU"のインスタンスをリセットします 。この SFB のインスタンスをウォームリスタートに従って初期化する場合、OB100 内で R = 1
により SFB 0 を呼び出す必要があります。
この SFB のインスタンスが別のブロック内にある場合は、
上位ブロックを初期化するなどの方法でこれらのインスタンスをリセットできます。
パラメータ

宣言

データタイプ

メモリ領域

CU

INPUT

BOOL

I、Q、M、D、L、 カウント入力です。
定数

R

INPUT

BOOL

I、Q、M、D、L、 リセット入力 R は、CU に優先します。
定数

PV

INPUT

INT

I、Q、M、D、L、 プリセット値です。PV の結果については、
定数
パラメータ Q を参照してください。

Q

OUTPUT

BOOL

I、Q、M、D、L

CV

OUTPUT

INT

I、Q、M、D、L

説明

カウンタのステータス。Q は次の値です。
•

1: CV > PV の場合•

0: それ以外の場合

現在のカウント値(有効な値は 0～32 767 です。)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

497

IEC タイマと IEC カウンタ
26.5 SFB 1 "CTD"によるカウントダウン

26.5

SFB 1 "CTD"によるカウントダウン

説明
SFB 1 "CTD"を使用してカウントダウンできます。カウンタは、入力 CD での信号立ち上がりで減少します(最後の SFB 呼び出しと比較)。カウントされた値が下限の -32768 に達した場合、カウンタの値はそれ以上減りません。つまり、下限に達すると、CD 入力でさらに信号立ち上がりを検出しても、カウンタには何の影響も与えないということです。
LOAD 入力の信号値が 1 の場合は、CD 入力値に関係なく、カウンタは事前設定値 PV に設定されます。
Q 出力は、現在のカウンタ値が 0 以下かどうかを示します。
SFB 1 "CTD"は、IEC 1131-3 標準に準拠しています。
コールドリスタートの間、オペレーティングシステムは SFB 1 "CTD"のインスタンスをリセットします。この SFB のインスタンスをウォームリスタートに従って初期化する場合、OB100 内で LOAD
= 1 および PV = CV の必要な最初の値を使用して SFB 1 を呼び出す必要があります。この SFB のインスタンスが別のブロック内にある場合は、上位ブロックを初期化するなどの方法でこれらのインスタンスをリセットできます。
パラメータ

宣言

データタイプ

メモリ領域

CD

INPUT

BOOL

I、Q、M、D、L、 カウント入力です。
定数

LOAD

INPUT

BOOL

I、Q、M、D、L、 ロード入力です。LOAD は、CD に優先します。
定数

PV

INPUT

INT

I、Q、M、D、L、 プリセット値です。LOAD 入力での信号レベル
定数が 1 のときに、カウンタが PV に事前設定されます。

Q

OUTPUT

BOOL

I、Q、M、D、L

CV

OUTPUT

INT

I、Q、M、D、L

説明

カウンタのステータス。Q は次の値です。
•

1: CV < 0 の場合•

0: それ以外の場合

現在のカウント値(有効な値は−32 768～32 767)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2498

リファレンスマニュアル, 05/2017, A5E41733394-AA

IEC タイマと IEC カウンタ
26.6 SFB 2 "CTUD"によるカウントアップ/カウントダウン

26.6

SFB 2 "CTUD"によるカウントアップ/カウントダウン

説明
SFB 2 "CTUD"を使用してカウントアップおよびカウントダウンができます。カウント値は信号立ち上がりで変化し、次のように最後の SFB と比較されます。
•

入力 CU で信号立ち上がりを検出すると、カウンタの値が 1 増えます。

•

入力 CD で信号立ち上がりを検出すると、カウンタの値が 1 減ります。

カウンタ値が限界値に達すると、カウンタは以下のように反応します。
•

下限 -32768 に達すると、値はそれ以上減りません。

•

上限 32767 に達すると、値はそれ以上増えません。

1 サイクルの間に入力 CU と入力 CD の両方で信号立ち上がりが検出されると、カウンタは現在の値を維持します。この反応は、IEC 1131-3 規格に準拠したものではありません。この規格では、両方の信号が同時にアクティブになった場合は CU 入力が優先されます。この変更については、IECに提案してあります。
LOAD 入力の信号レベルが 1 になると、CU および CD 入力の値に関係なく、カウンタの値は値 PVに事前設定されます。
R 入力の信号レベルが 1 に変化すると、CU、CD、および LOAD 入力の値に関係なく、カウンタの値は 0 にリセットされます。QU 出力は、現在のカウンタ値が事前設定値 PV 以上であるかどうかを示します。これに対し QD 出力は、現在のカウンタ値が 0 以下であるかどうかを示します。
コールドリスタートの間、オペレーティングシステムは SFB 2 "CTUD"をリセットします。SFB2"CTUD"をウォームリスタートに従って初期化する場合、OB100 内で次のように SFB 2 を呼び出す必要があります。
•

カウントアップブロックを使用する場合は R=1。

•

カウントダウンブロックを使用する場合は、R=0、LOAD=1、PV=CV に対する必須の初期値。

•

この SFB のインスタンスが別のブロック内にある場合は、上位ブロックを初期化するなどの方法でこれらのインスタンスをリセットできます。

パラメータ

宣言

データタイプ

メモリ領域

説明

CU

INPUT

BOOL

I、Q、M、D、L、
定数

カウントアップ入力です。

CD

INPUT

BOOL

I、Q、M、D、L、
定数

カウントダウン入力

R

INPUT

BOOL

I、Q、M、D、L、
定数

事前設定入力です。R は、LOAD に優先し
ます。

LOAD

INPUT

BOOL

I、Q、M、D、L、
定数

ロード入力です。LOAD は、CU および CDに優先します。

PV

INPUT

INT

I、Q、M、D、L、
定数

プリセット値です。LOAD 入力の信号レベ
ルが 1 のとき、カウンタは PV に事前設定
されます。

QU

OUTPUT

BOOL

I、Q、M、D、L

カウントアップ命令のステータスです。
QU の値は次のようになります。
•

1: CV > PV の場合•

0: それ以外の場合

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

499

IEC タイマと IEC カウンタ
26.6 SFB 2 "CTUD"によるカウントアップ/カウントダウン

パラメータ

宣言

データタイプ

メモリ領域

説明

QD

OUTPUT

BOOL

I、Q、M、D、L

カウントダウン命令のステータスです。
QD の値は次のようになります。

CV

OUTPUT

INT

I、Q、M、D、L•

1: CV < 0 の場合•

0: それ以外の場合

現在のカウント値(有効な値は -32 768～32 767)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
500

リファレンスマニュアル, 05/2017, A5E41733394-AA

27

統合制御用の SFB

27.1

SFB 41/FB 41 "CONT_C"による連続コントロール

概要
SFB/FB "CONT_C"(連続コントローラ)を SIMATIC S7プログラマブルロジックコントローラで使用
して、変数の連続入力と連続出力を行う技術処理をコントロールします。パラメータ割り付けの間、コントローラ PID のサブファンクションを起動または停止して、コントローラを割り付け処理に適応させます。
パラメータ割り付けツールを使用して、簡単にこれを割り付けることができます(たとえば、
Windows XP のメニューパス: [スタート|SIMATIC|STEP7|PID 制御パラメータの割り付け])。オン
ラインの電子マニュアルは、たとえば、Windows XP の[スタート|SIMATIC|STEP7|PID 制御パラ
メータの割り付け(英語版)])にあります。

アプリケーションコントローラは、PID 固定セットポイントコントローラとして使用することができ、マルチループ制御の場合には、カスケードコントローラ、ブレンディングコントローラ、または比率コントローラ
として使用することができます。コントローラのファンクションは、アナログ信号を伴うサンプリ
ングコントローラの PID 制御アルゴリズムをベースとしており、必要があれば、パルスジェネレー
タステージを組み込んで拡張し、比例アクチュエータを使用する 2 ステップコントローラまたは
3 ステップコントローラ用にパルス幅変調出力信号を生成することができます。

注記
コントロールブロックでの値の計算は、ブロックが一定間隔で呼び出された場合に限り正確に行われます。このため、コントロールブロックの呼び出しは、周期的割り込み OB(OB30～OB38)で行います。サンプリング時間を CYCLE パラメータに入力します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

501

統合制御用の SFB
27.1 SFB 41/FB 41 "CONT_C"による連続コントロール

説明
SFB/FB は、セットポイント値および処理値ブランチ内のファンクションとは別に、連続操作出力
変数と操作値に手動で影響を及ぼすオプションを使用し、完全な PID コントローラを構築することができます。
次に、サブファンクションについて説明します。
セットポイントブランチ
セットポイントは、SP_INT 入力に浮動小数点形式で入力されます。
処理変数ブランチ
処理変数は、ペリフェラル(I/O)形式または浮動小数点形式で入力することができます。CRP_IN ファ
ンクションは、以下の公式に基づいて、ペリフェラル値 PV_PER を-100%～+100%の浮動小数点形式に変換します。

Output of CPR_IN = PV_PER

∗

100
27648

PV_NORM ファンクションは、次の式に従って CRP_IN の出力を標準化します。
PV_NORM の出力 =(CPR_IN の出力)* PV_FAC + PV_OFF
PV_FAC の既定値は１、PV_OFF の既定値は０です。

エラー信号
セットポイントとプロセス変数に差があると、エラー信号が発生します。(PULSEGEN によるパルス
幅変調などで)操作変数の量子化により発生する小さな一定発振を抑制するには、エラー信号(DEADBAND)にデッドバンドを適用します。DEADB_W=0 の場合は、デッドバンドがオフに切り替えられます。
PID アルゴリズム
PID アルゴリズムは正のアルゴリズムとして動作します。比例、積分（INT）、微分（DIF）の各
アクションは並列に接続され、それぞれ個別に有効または無効にできます。これにより、P、PI、
PD、PID の各コントローラをコンフィグレーションすることができます。純粋に I および D コント
ローラも構成可能です。
マニュアル値
手動モードと自動モードの切り換えが可能です。手動モードでは、操作出力変数を選択した値に手動で修正します。積分器(INT)は内部的に LMN - LMN_P - DISV に設定され、微分器(DIF)は 0 に設定され、内部で一致がとられます。つまり、自動モードに切り換えても、操作出力値がいきなり変更
されることはありません。
操作出力値
LMNLIMIT ファンクションを使用すれば、操作出力値を選択した値に制限することができます。入力
変数によってその制限を超えると、符号ビットがそのことを知らせます。
LMN_NORM ファンクションは、次の式に従って LMNLIMIT の出力を標準化します。
LMN = (LMNLIMIT の出力) * LMN_FAC + LMN_OFF
LMN_FAC の既定値は１、LMN_OFF の既定値は０です。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2502

リファレンスマニュアル, 05/2017, A5E41733394-AA

統合制御用の SFB
27.1 SFB 41/FB 41 "CONT_C"による連続コントロール
操作出力値は、ペリフェラルフォーマットでも使用できます。CRP_OUT ファンクションは、以下の公式に基づいて、浮動小数点値 LMN をペリフェラル値に変換します。

LMN_PER = LMN ∗

27648
100

フィードフォワードコントロール
DISV 入力では、外乱変数をフィードフォワードできます。

初期化
SFB 41 "CONT_C"は、入力パラメータ COM_RST = TRUE が設定されたときに処理される初期化
ルーチンが含まれています。
起動時には、積分器が内部的に初期値 I_ITVAL に設定されます。周期割り込み優先度クラスで呼び出されると、この値から動作を継続します。
他の出力はすべて、初期値に設定されます。

エラー情報
したがって、エラー出力パラメータ RET_VAL は使用しません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

503

統合制御用の SFB
27.1 SFB 41/FB 41 "CONT_C"による連続コントロール

CONT_C ブロック図

SP_INT

PVPER_ON
GAIN

PV_IN
+
-

0
CRP_IN
PV_PER

PV_NORM%

DEADB_W

01

TI, INT_HOLD,
I_ITL_ON,
I_ITLVAL

0.0

LMN_P

I_SEL

DISV
+

+

0

1
0.0

TD, TM_LAG

0
D_SEL

LMN_D

QLMN_HLM
QLMN_LLM

MAN_ON
1

P_SEL

LMN_I

DIF

MAN

ER

PV

1
INT

X

1

PV_FAC,
PV_OFF

0.0

DEADBANDLMNLIMITLMN
LMN_NORM

CRP_OUT%0
LMN_HLM,LMN_LLM

LMN_PERLMN_FAC,LMN_OFF

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2504

リファレンスマニュアル, 05/2017, A5E41733394-AA

統合制御用の SFB
27.1 SFB 41/FB 41 "CONT_C"による連続コントロール

入力パラメータ
次の表は、SFB 41/FB 41 "CONT_C"の入力パラメータの説明です。
パラメータ

データタイプ 値の範囲

デフォルト 説明COM_RST

BOOL

FALSE

COMPLETE RESTART(完全リスタート)
ブロックには、入力 COM_RST が設定されたときに処理される初期化ルーチンが含まれています。

MAN_ONBOOL

TRUE

MANUAL VALUE ON(マニュアル操作値オン)
入力 MAN_ON が設定されると、制御ループに割り込みが発生します。手動値
は、操作出力値として設定されます。

PVPER_ON

BOOL

FALSE

PROCESS VARIABLE PERIPHERAL ON(処理変数ペリフェラルオン)
この処理変数を I/O から読み取る場合は、
PV_PER 入力をその I/O と接続し、入力
PVPER_ON を設定します。

P_SEL

BOOL

TRUE

PROPORTIONAL ACTION ON(比例アクションオン)
PID アクションは PID アルゴリズムで個別に有効/無効にすることができます。入力
P_SEL を設定すると、P アクションはオンと
なります。

I_SEL

BOOL

TRUE

INTEGRAL ACTION ON(積分アクションオン)PID アクションは PID アルゴリズムで個別に有効/無効にすることができます。入力 I_SEL
を設定すると、Iアクションはオンとなります。

INT_HOLD

BOOL

FALSE

INTEGRAL ACTION HOLD(積分アクション
保留)
入力 INT_HOLD を設定することで、積分器の出力を"凍結"することができます。

I_ITL_ON

BOOL

FALSE

INITIALIZATION OF THE INTEGRALACTION ON(積分アクションの初期化オン)
入力 I_ITL_ON を設定することで、積分器の出力を入力 I_ITL_VAL に接続することができ
ます。

D_SEL

BOOL

FALSE

DERIVATIVE ACTION ON(微分アクションオン)
PID アクションは PID アルゴリズムで個別に有効/無効にすることができます。入力
D_SEL が設定されている場合、D アクションはオンになります。

CYCLE

TIME

>= 1msT#1s

SAMPLING TIME(サンプリング時間)
ブロック呼び出しの間隔は一定でなければなりません。入力 CYCLE で、ブロック呼び出しの間隔を指定します。

SP_INT

REAL−100.0 ～ +100.0 0.0(%)または物理的値 1)

INTERNAL SETPOINT(内部セットポイント)
入力 SP_INT は、セットポイントの指定に使
われます。

PV_IN

REAL

−100.0 ～ +100.0(%) または物理的値

0.0

PROCESS VARIABLE IN(処理変数入力)
入力 PV_INには初期値を設定するか、または浮動小数点形式の外部処理変数を接続することができます。

1)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

505

統合制御用の SFB
27.1 SFB 41/FB 41 "CONT_C"による連続コントロール

パラメータ

データタイプ 値の範囲

デフォルト 説明

PV_PER

WORD

W#16#000 PROCESS VARIABLE PERIPHERAL(処理変0
数ペリフェラル)
I/O 形式の処理変数は、PV_PER 入力でコントローラに接続されます。

MAN

REAL

−100.0 ～ +100.0(%) または物理的値

0.0

MANUAL VALUE(マニュアル操作値)
MAN 入力は、オペレータインターフェース
ファンクションでマニュアル操作値を設定するのに使用します。

2.0

PROPORTIONAL GAIN(比例ゲイン)
比例ゲイン入力により、コントローラのゲインが指定されます。

2)

GAIN

REAL

TI

TIME

>= CYCLE

T#20s

RESET TIME(リセット時間)
TI 入力により、積分器の応答時間が決定され
ます。

TD

TIME

>= CYCLE

T#10s

DERIVATIVE TIME(微分時間)
TD 入力により、微分器の時間応答が決定されます。

TM_LAGTIME>= CYCLE/2

T#2s

TIME LAG OF THE DERIVATIVEACTION(微分アクションの時間遅れ)
D アクションのアルゴリズムには、TM_LAG
入力で割り付け可能な時間遅れが含まれています。

DEADB_W

REAL>= 0.0 (%)

0.0

DEAD BAND WIDTH(デッドバンド幅)
デッドバンドはエラーに適用されます。"デッドバンド幅"入力パラメータは、デッドバンドのサイズを指定します。

100.0

MANIPULATED VALUE HIGH LIMIT(操作出力値の上限)
操作出力値には必ず上限と下限があります。
入力パラメータ"操作出力値の上限"は、上限を指定します。

または物理的値
1)
LMN_HLMREAL

LMN_LLM ...100.0(%)

または物理的値
2)
LMN_LLM

REAL−100.0... LMN_HLM 0.0(%)

または物理的値
2)

MANIPULATED VALUE LOW LIMIT(操作出力値の下限)
操作出力値には必ず上限と下限があります。
LMN_LLM 入力により、下限が指定されます。

PV_FAC

REAL

1.0

PROCESS VARIABLE FACTOR(処理変数の係数)
PV_FAC 入力は、処理変数で乗算されます。
この入力を使用して、プロセス変数の範囲を調整します。

PV_OFF

REAL

0.0

PROCESS VARIABLE OFFSET(処理変数のオフセット)
PV_OFF 入力は、処理変数に加算されます。
この入力を使用して、プロセス変数の範囲を調整します。

LMN_FAC

REAL

1.0

MANIPULATED VALUE FACTOR(操作出力値の係数)
LMN_FAC 入力は、操作出力値で乗算されます。操作値の範囲を適合させるために使用されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2506

リファレンスマニュアル, 05/2017, A5E41733394-AA

統合制御用の SFB
27.1 SFB 41/FB 41 "CONT_C"による連続コントロール
パラメータ

データタイプ 値の範囲

デフォルト 説明LMN_OFF

REAL

0.0

MANIPULATED VALUE OFFSET(操作出力値のオフセット)LMN_OFF は、操作出力値に加算されます。
操作値の範囲を適合させるために使用されます。

I_ITLVAL

REAL

0.0

INITIALIZATION VALUE OF THE INTEGRALACTION(積分アクションの初期化値)
積分器の出力は I_ITL_ON 入力で設定することができます。この初期値は I_ITLVAL 入力に適用されます。

0.0

DISTURBANCE VARIABLE(外乱変数)
フィードフォワードコントロールでは、外乱
変数が入力"外乱変数"に接続されます。

−100.0 ～ +100.0(%)

または物理的値 2)

DISV

REAL

−100.0 ～ +100.0(%)

または物理的値 2)
1)
2)

セットポイントブランチとプロセス変数ブランチのパラメータ（同じ単位）
同じ単位を持つ操作出力値ブランチ内のパラメータです。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

507

統合制御用の SFB
27.1 SFB 41/FB 41 "CONT_C"による連続コントロール

出力パラメータ
次の表は、SFB 41/FB41 "CONT_C"の出力パラメータの説明です。
パラメータ

データタイプ 値の範囲

デフォルト

説明

LMN

REAL

0.0

MANIPULATED VALUE(操作出力値)
LMN 出力には、有効な操作出力値が浮動小数点形式で出力されます。

LMN_PER

WORD

W#16#0000

MANIPULATED VALUE PERIPHERAL(操作
出力値ペリフェラル)
I/O 形式の操作出力値は、LMN_PER 出力でコントローラに接続されます。

QLMN_HLM BOOL

FALSE

HIGH LIMIT OF MANIPULATED VALUEREACHED(操作出力値の上限に到達)
操作出力値には必ず上限と下限があります。
出力 QLMN_HLM は、上限を超えていることを示します。

QLMN_LLM BOOL

FALSE

LOW LIMIT OF MANIPULATED VALUEREACHED(操作出力値の下限に到達)
操作出力値には必ず上限と下限があります。
出力 QLMN_LLM は、下限を超えていることを示します。

LMN_P

REAL

0.0

PROPORTIONAL COMPONENT(比例要素)
LMN_P 出力には、操作変数の比例要素が含
まれます。

LMN_I

REAL

0.0

INTEGRAL COMPONENT(積分要素)
LMN_I 出力には、操作出力値の積分要素が含まれます。

LMN_D

REAL

0.0

DERIVATIVE COMPONENT(微分要素)
LMN_D 出力には、操作出力値の微分要素が含まれます。

PV

REAL

0.0

PROCESS VARIABLE(処理変数)
PV 出力には、有効な処理変数が出力されます。

ER

REAL

0.0

ERROR SIGNAL(エラー信号)
ER 出力には、有効なエラーが出力されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2508

リファレンスマニュアル, 05/2017, A5E41733394-AA

統合制御用の SFB
27.2 SFB 42/FB 42 "CONT_S"によるステップコントロール

27.2

SFB 42/FB 42 "CONT_S"によるステップコントロール

概要
SFB/FB "CONT_S"(ステップコントローラ)を SIMATIC S7 プログラマブルロジックコントローラで使用して、統合アクチュエータ用のディジタル操作値出力信号を使用した技術処理をコントロール
します。パラメータ割り付けの間、ステップコントローラ PI のサブファンクションを起動または停止して、コントローラを割り付け処理に適応させます。パラメータ割り付けツールを使用すると、簡単に割り付けを行うことができます(メニューパス: [スタート|SIMATIC|STEP7|PID コントロール
パラメータの割り付け])。オンラインの電子マニュアルは、[スタート|SIMATIC|STEP7|PID コント
ロール英語の割り付け])にあります。

アプリケーションコントローラは、PI 固定セットポイントコントローラとして使用することができ、また、セカンダリ
制御ループでは、カスケードコントローラ、ブレンディングコントローラ、または比率コントローラ
として使用することができますが、プライマリコントローラとしては使用できません。コントローラのファンクションはすべて、サンプリングコントローラの PI 制御アルゴリズムに基づいています。
この PI 制御アルゴリズムは、アナログ動作信号からバイナリ出力信号を生成するファンクション
によって追加されます。
CPU 314 IFM の FB V1.5 または V1.1.0 を使用したスタートに次を適応します。
TI = T#0ms を使用して、コントローラの統合コンポーネントを無効にすることができます。これにより、ブロックを比例コントローラとして使用できるようになります。
ポジションフィードバック信号なしでコントローラは動作するため、内部で算出される操作変数は信号コントロールエレメントポジションと正確に一致しません。操作変数(ER * GAIN)が負の場合、調整を行います。これでコントローラは、LMNR_LS(ポジションフィードバック信号の下限)がセットされるまで、出力 QLMNDN(操作値信号下位)を設定します。
コントローラは、コントローラカスケード内のセカンダリアクチュエータとしても使用できます。
セットポイント入力 SP_INT を使用して、コントロールエレメントポジションを割り付けます。
この場合、実際の入力値およびパラメータ TI(積分時間)はゼロに設定しなければなりません。アプ
リケーション例として挙げられるのは、パルスポーズコントロールを使用している熱出力コント
ロールを使用した温度調節、およびバルブを使用した冷却容量コントロールです。この場合、バルブを完全に閉めるためには、操作変数(ER * GAIN)が負の設定でなければなりません。

注記
コントロールブロックでの値の計算は、ブロックが一定間隔で呼び出された場合に限り正確に行われます。このため、コントロールブロックの呼び出しは、周期的割り込み OB(OB30～OB38)で行います。サンプリング時間を CYCLE パラメータに入力します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

509

統合制御用の SFB
27.2 SFB 42/FB 42 "CONT_S"によるステップコントロール

説明
SFB は、処理値ブランチ内のファンクションとは別に、デジタル操作値出力と操作値に手動で影響を及ぼすオプションを使用し、完全な PI コントローラを構築することができます。ステップコント
ローラは、ポジションフィードバック信号を生成せずに動作します。
次に、部分的なファンクションについて説明します。
セットポイントブランチ
セットポイントは、SP_INT 入力に浮動小数点形式で入力されます。
処理変数ブランチ
処理変数は、ペリフェラル(I/O)形式または浮動小数点形式で入力することができます。CRP_IN ファ
ンクションは、以下の公式に基づいて、ペリフェラル値 PV_PER を-100%～+100%の浮動小数点形式に変換します。

Output of CPR_IN = PV_PER

∗

100
27648

PV_NORM ファンクションは、次の式に従って CRP_IN の出力を標準化します。
PV_NORM の出力 =(CPR_IN の出力)* PV_FAC + PV_OFF
PV_FAC の既定値は１、PV_OFF の既定値は０です。

エラー信号
セットポイントとプロセス変数に差があると、エラー信号が発生します。操作変数の量子化(アクチュエータバルブによって操作出力値の分解能が制限される場合など)により発生する小さな一定発振を抑制するには、エラー信号(DEADBAND)にデッドバンドを適用します。DEADB_W=0 の場合は、デッドバンドがオフに切り替えられます。
PI ステップアルゴリズム
SFB/FB は、ポジションフィードバック信号なしで動作します。PI アルゴリズムの P アクションと仮想フィードバック信号は、1 つの積分器(INT)で計算され、フィードバック値として、残りの P アクションと比較されます。検出された差は、3 ステップエレメント(THREE_ST)と、アクチュエータ用のパルスジェネレータ(PULSEOUT)に加えられます。3 ステップエレメントのしきい値を適切な値にすれば、コントローラのスイッチング周波数を低減させることができます。
フィードフォワードコントロール
DISV 入力では、外乱変数をフィードフォワードできます。

初期化
SFB/FB42 "CONT_S"には、入力パラメータ COM_RST = TRUE が設定されたときに処理される初期化ルーチンが含まれています。
他の出力はすべて、初期値に設定されます。

エラー情報
したがって、エラー出力パラメータ RET_VAL は使用しません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
510

リファレンスマニュアル, 05/2017, A5E41733394-AA

統合制御用の SFB
27.2 SFB 42/FB 42 "CONT_S"によるステップコントロール

構成図

SP_INT

PVPER_ON
PV_IN
+
-

0
CRP_IN
PV_PER

PV_NORM%GAIN

DEADBANDX

1

DEADB_W
ER

PV

PV_FAC
PV_OFFINT

LMNR_HS

LMNLI
MIT

LMNR_LSDISVPULSEOUT

1

THREE_ST
adapti0
1+-

QLMNUPANDAND

QLMNDNAND

AND
PULSE_TM,
BREAK_TM

0

MTR_TM

LMNS_ON

1/TI

0

0.0

OR
0.0

1

100.0

-100.01

100.0 ,
0.0

LMNRS_ON,LMNRSVAL

LMNU
P
LMND
N
LMNS_ON

LMNR_SIM

0.0

1

+

0
1/MTR_TM

X
+

INT

0
0.0

X

1

-

0

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

511

統合制御用の SFB
27.2 SFB 42/FB 42 "CONT_S"によるステップコントロール

入力パラメータ
次の表は、SFB 42/FB 42 "CONT_S"の入力パラメータの説明です。
パラメータ

データタイプ 値

デフォルト

説明

COM_RST

BOOL

FALSE

COMPLETE RESTART(完全リスタート)
ブロックには、入力 COM_RST が設定されたときに処理される初期化ルーチンが含まれています。

LMNR_HS

BOOL

FALSE

HIGH LIMIT OF POSITION FEEDBACK
SIGNAL(位置フィードバック信号の上限)"ACTUATOR AT UPPER LIMIT STOP"信号は、LMNR_HS 入力に接続されます。LMNR_HS
を TRUE にすると、アクチュエータは上限値で停止します。

LMNR_LS

BOOL

FALSE

LOW LIMIT OF POSITION FEEDBACK
SIGNAL(位置フィードバック信号の下限)"ACTUATOR AT LOWER LIMIT STOP"信号は、LMNR_LS 入力に接続されます。LMNR_LS
を TRUE にすると、アクチュエータは下限値で停止します。

LMNS_ON

BOOL

FALSE

MANUAL ACTUATING SIGNALS ON(マニュアル
動作信号オン)
動作信号の処理は、LMNS_ON 入力で手動に切り替えられます。

LMNUP

BOOL

FALSE

ACTUATING SIGNALS UP(動作信号立ち上がり)
マニュアル動作信号を使用する場合、出力信号
QLMNUP は入力 LMNUP で設定されます。

LMNDN

BOOL

FALSE

ACTUATING SIGNALS UP(動作信号立ち上がり)
マニュアル動作信号を使用する場合、出力信号
QLMNDN は入力 LMNDN で設定されます。

PVPER_ON BOOL

FALSE

PROCESS VARIABLE PERIPHERAL ON(処理変数ペリフェラルオン)
この処理変数を I/O から読み取る場合は、
PV_PER 入力をその I/O と接続し、入力
PVPER_ON を設定します。

CYCLE

TIME

>= 1msT#1s

SAMPLING TIME(サンプリング時間)
ブロック呼び出しの間隔は一定でなければなりません。入力 CYCLE で、ブロック呼び出しの間隔を指定します。

SP_INT

REAL−100.0 ...
+100.0(%)
または物理
的値 1)

0.0

INTERNAL SETPOINT(内部セットポイント)
入力 SP_INT は、セットポイントの指定に使われ
ます。

PV_IN

REAL

−100.0 ...
+100.0(%)
または物理
的値 1)

0.0

PROCESS VARIABLE IN(処理変数入力)
入力 PV_IN には初期値を設定するか、または浮動小数点形式の外部処理変数を接続することができます。

PV_PER

WORD

W#16#0000 PROCESS VARIABLE PERIPHERAL(処理変数ペリフェラル)
I/O 形式の処理変数は、PV_PER 入力でコントローラに接続されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
512

リファレンスマニュアル, 05/2017, A5E41733394-AA

統合制御用の SFB
27.2 SFB 42/FB 42 "CONT_S"によるステップコントロール
パラメータ

データタイプ 値

デフォルト

説明

GAIN

REAL

2.0

PROPORTIONAL GAIN(比例ゲイン)
比例ゲイン入力により、コントローラのゲインが指定されます。

TI

TIME>= CYCLE

T#20s

RESET TIME(リセット時間)
TI 入力により、積分器の応答時間が決定されます。

DEADB_W

REAL

0.0...100.0(%)または、

1.0

DEAD BAND WIDTH(デッドバンド幅)
デッドバンドはエラーに適用されます。"デッドバ
ンド幅"入力パラメータは、デッドバンドのサイズを指定します。

物理的値
1)
PV_FAC

REAL

1.0

PROCESS VARIABLE FACTOR(処理変数の係数)
PV_FAC 入力は、処理変数で乗算されます。この入力を使用して、プロセス変数の範囲を調整します。

PV_OFF

REAL

0.0

PROCESS VARIABLE OFFSET(処理変数のオフセット)
PV_OFF 入力は、処理変数に加算されます。この入力を使用して、プロセス変数の範囲を調整します。

PULSE_TM

TIME>= CYCLE

T#3s

MINIMUM PULSE TIME(最小パルス時間)
パラメータ PULSE_TM を使用すると、最小パルス
幅を割り付けることができます。

BREAK_TM TIME>= CYCLE

T#3s

MINIMUM BREAK TIME(最小遮断時間)
パラメータ BREAK_TM を使用すると、最小遮断幅を割り付けることができます。

MTR_TM

TIME>= CYCLE

T#30s

MOTOR ACTUATING TIME(モータ動作時間)
アクチュエータが限界停止間を移動するのに要す
る時間は、MTR_TM パラメータで入力します。

DISV

REAL

−100.0...100 0.0.0(%)または物理的値 2)

1)
2)

DISTURBANCE VARIABLE(外乱変数)
フィードフォワードコントロールでは、外乱変数
が入力"外乱 変数 "に接続されます。

セットポイントブランチとプロセス変数ブランチのパラメータ（同じ単位）
同じ単位を持つ操作出力値ブランチ内のパラメータです。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

513

統合制御用の SFB
27.2 SFB 42/FB 42 "CONT_S"によるステップコントロール

出力パラメータ
次の表は、SFB 42/FB 42 "CONT_S"の出力パラメータの説明です。<
パラメータ

データタイプ 値

デフォルト

説明

QLMNUP

BOOL

FALSE

ACTUATING SIGNAL UP(動作信号立ち上がり)
QLMNUP 出力を設定すると、動作バルブが開きます。

QLMNDN

BOOL

FALSE

ACTUATING SIGNAL DOWN(動作信号立ち下がり)
QLMNDN 出力を設定すると、動作バルブが開きます。

PV

REAL

0.0

PROCESS VARIABLE(処理変数)
PV 出力には、有効な処理変数が出力されます。

ER

REAL

0.0

ERROR SIGNAL(エラー信号)
ER 出力には、有効なエラーが出力されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2514

リファレンスマニュアル, 05/2017, A5E41733394-AA

統合制御用の SFB
27.3 SFB 43/FB 43 "PULSEGEN"によるパルス生成

27.3

SFB 43/FB 43 "PULSEGEN"によるパルス生成

概要
SFB 43 "PULSEGEN"(パルスジェネレータ)を使用して、比例アクチュエータのパルス出力を使用した
PID コントローラを構築します。電子マニュアルは、[マニュアル > 英語 > STEP7 PID コントロール]
で見ることができます。

アプリケーション
SFB/FB "PULSEGEN"を使用して、パルス幅変調付き PID の 2 ステップまたは 3 ステップコントロー
ラをコンフィグレーションできます。このファンクションは通常、連続コントローラ"CONT_C"と併用されます。

PULSEGEN

CONT_C

LMN

INV

注記
コントロールブロックでの値の計算は、ブロックが一定間隔で呼び出された場合に限り正確に行われます。このため、コントロールブロックの呼び出しは、周期的割り込み OB(OB30～OB38)で行います。サンプリング時間を CYCLE パラメータに入力します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

515

統合制御用の SFB
27.3 SFB 43/FB 43 "PULSEGEN"によるパルス生成

説明
PULSEGEN ファンクションは、入力変数 INV(=PID コントローラの操作値 PID)を、入力変数が更新されるサイクルタイムに一致させながら、パルス幅の変調によって、一定周期のパルス列に変換し、サイクルタイムは RER_TM で割り付けます。
周期あたりのパルス幅は、入力変数に比例します。PER_TM に割り付けられたサイクルは、SFB/FB"PULSEGEN"の処理サイクルに対して一意ではありません。PER_TM サイクルは SFB/FB"PULSEGEN"のいくつかの処理サイクルから構成されているため、PER_TM サイクルごとの
SFB/FB "PULSEGEN"呼び出しの数はパルス幅変調の精度の判断基準となります。

INV
100
(LMN)

50

80
50
30
t

0
QPOS_P
1
0

PULSEGEN cycle(=CONT_C cycle)
PER_TMt

パルス幅変調30%の入力変数および PER_TM ごとの 10 SFB/FB "PULSEGEN"呼び出し、とは次の意味になります。
•

SFB/FB "PULSEGEN"の最初の 3 回の呼び出しの QPOS 出力における"1"(10 の呼び出しの 30%)•

SFB/FB "PULSEGEN"のさらに 7 回の呼び出しの QPOS 出力における"0"(10 の呼び出しの 70%)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
516

リファレンスマニュアル, 05/2017, A5E41733394-AA

統合制御用の SFB
27.3 SFB 43/FB 43 "PULSEGEN"によるパルス生成

構成図

POS_P_ON
NEG_P_ON
SYN_ON,STEP3_ON,
ST2BI_ON#

MAN_ON1
QPOS_PINV

QNEG_P0
PER_TM,
P_B_TM,RATIOFAC

操作値の精度"サンプリング比"が 1:10(CONT_C 呼び出し対 PULSEGEN 呼び出し)の場合、この例の操作出力値の精度は 10%に制限されます。つまり、設定された入力値 INV は、10%刻みの QPOS 出力のパルス幅でシミュレートされます。
CONT_C の呼び出しごとの SFB/FB "PULSEGEN"呼び出し数が増えるに従って、精度も高くなります。
たとえば、PULSEGEN の呼び出し回数が CONT_C の 100 倍である場合、操作値範囲の解像度は1%となります。

注記
呼び出し頻度は、ユーザがプログラミングしておく必要があります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

517

統合制御用の SFB
27.3 SFB 43/FB 43 "PULSEGEN"によるパルス生成

自動的な同期
入力変数 INV(CONT_C など)を更新するブロックを使用して、パルス出力を同期させることができます。同期することで、入力変数の変更が直ちにパルスとして出力されます。
パルスジェネレータは、PER_TM 周期と同じ間隔で入力値 INV の評価を行い、この値を対応する
長さのパルス信号に変換します。
ただし、INV は、通常、処理速度の遅い周期割り込みクラスで計算されるため、パルスジェネレータ
は INV の更新後できるだけ早く、ディスクリート値からパルス信号への変換を開始する必要があります。
これを可能にするために、ブロックは、以下の手順で、周期のはじめを同期します。
INV が変化した場合、ブロック呼び出しが 1 周期の先頭呼び出しまたは最後の 2 つの呼び出しでない場合、同期が実行されます。パルス幅が再計算され、次のサイクルが新しい周期で出力されます。

自動同期は、"SYN_ON"入力で無効にすることができます(= FALSE)。
(= FALSE).
注記
同期の実行後に新しい周期が開始すると、その時点で INV(つまり LMN)の古い値がパルス信号でシミュレートされますが、その確度はやや低くなります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2518

リファレンスマニュアル, 05/2017, A5E41733394-AA

統合制御用の SFB
27.3 SFB 43/FB 43 "PULSEGEN"によるパルス生成

モード
パルスジェネレータに割り付けられたパラメータ次第で、3 ステップ出力の PID コントローラ、
双極性または単極性出力の PID コントローラをコンフィグレーションできます。次の表に、設定可能なモードとスイッチの設定を示します。
スイッチ
MAN_ONSTEP3_ON

ST2BI_ON

3 ステップコントロール FALSE

TRUE

ANY

FALSE

FALSE

TRUE

単極性操作範囲(0 % ～ FALSE
100 %)での 2 ステップコ
ントロール

FALSE

FALSE

ANY

ANY

モード
双極性
操作範囲
(−100% ～+100%)での 2
ステップコントロール

手動モード

TRUE

3 ステップコントロール"3 ステップコントロール"モードで、動作信号は 3 つの状態を受け入れることができます。バイナリ
出力信号 QPOS_P と QNEG_P の値は、アクチュエータのステータスに割り付けられています。
次の表は、温度制御の例を示します。
アクチュエータ
出力信号

加熱

オフ

冷却

QPOS_P

TRUE

FALSE

FALSE

QNEG_P

FALSE

FALSE

TRUE

入力変数を基に特性曲線を使用して、パルス幅を計算します。特性曲線の形は、最小パルス時間
または最小遮断時間と比例係数によって定義されています。
比例係数は通常１になります。
曲線の"くの字形"は、最小パルスまたは最小遮断時間により発生します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

519

統合制御用の SFB
27.3 SFB 43/FB 43 "PULSEGEN"によるパルス生成

最小パルス幅または最小遮断時間
最小パルスまたは最小ブレーク時間 P_B_TM を正しく割り付けると、短時間のオン/オフを防止できるので、スイッチやアクチュエータの寿命が伸びます。

注記
入力変数 LMN の絶対値が小さいと、パルス幅が P_B_TM よりも小さくなる可能性があるので、このような値は避けます。(PER_TM - P_B_TM)より長いパルス幅を生成するために入力値を大きくする場合、その値は 100%または-100%に設定されます。

立ち上がりパルス幅または立ち下がりパルス幅は、入力変数(%単位)と周期時間をかけ算することで得られます。

IPeriod time =

INV
100

∗ PER_TM

次の図に、3 ステップコントローラの対称曲線(比例係数=1)を示します。

PER_TM

Duration ofpos. pulsethContinuous On

PER_TM - P_ B_TM

-100 %

P_B_TM
Continuous Off

100 %Duration of theneg. pulse

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
520

リファレンスマニュアル, 05/2017, A5E41733394-AA

統合制御用の SFB
27.3 SFB 43/FB 43 "PULSEGEN"によるパルス生成

非対称の 3 ステップコントロール
比例係数 RATIOFAC を使用すると、立ち上がりパルス幅と立ち下がりパルス幅の比率を変更することができます。たとえば、熱処理の場合は、この比例係数 RATIOFAC により、加熱処理と冷却処理用にさまざまなシステム時間定数を設定することができます。
比例係数は、最小パルス時間または最小遮断時間にも影響を与えます。比例係数 が１未満の場合は、立ち下がりパルスのスレッショルド値にこの比例係数を掛けることを意味します。
比例係数 < 1
入力変数に周期時間を掛けて求めた立ち下がりパルス出力の幅は、比例係数の分だけ減少します。

Dur. of positive pulse =Dur. of negative pulse =

INV
100

INV
100

∗ PER_TM∗ PER_TM∗ RATIOFAC

次の図に、3 ステップコントローラの非対称曲線(比例係数 = 0.5)を示します。
Duration of thepos. pulse
PER_TM
PER_TM – P_B_TM-200%

P_B_TM
P_B_TM

100%

PER_TM – P_B_TM
PER_TM
Duration of theneg. pulse

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

521

統合制御用の SFB
27.3 SFB 43/FB 43 "PULSEGEN"によるパルス生成
比例係数 > 1
入力変数に周期時間を掛けて求めた立ち上がりパルス出力の幅は、比例係数の分だけ減少します。

INV

Dur. of negative pulse =∗ PER_TM

100

INV
100

Dur. of positive pulse =∗PER_TMRATIOFAC

2 ステップコントロール
2 ステップコントロールでは、PULSEGEN の立ち上がりパルス出力 QPOS_P だけがオン/オフアク
チュエータに接続されます。使用している操作値範囲により、2 ステップコントローラの操作値
範囲が双極性か単極性になるかが決まります。

双極操作変数範囲(-100%～100%)の 2 ステップコントロール
Duration of the pos. pulse
PER_TM
PER_TM - P_B_TM

Continuously On

Continuously Off
P_B_TM0.0 %-100.0 %100.0 %

単極操作変数範囲(0%～100%)の 2 ステップコントロール

Duration of the positive pulse
PER_TM
PER_TM - P_B_TM

P_B_TM0.0 %100.0 %

制御ループ内の 2 ステップコントローラの接続が、動作パルスとして論理的に反転したバイナリ信号を必要としている場合は、QNEG_P で負の出力信号を取得することができます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
522

リファレンスマニュアル, 05/2017, A5E41733394-AA

統合制御用の SFB
27.3 SFB 43/FB 43 "PULSEGEN"によるパルス生成
アクチュエータ
パルス

オン

オフ

QPOS_P

TRUE

FALSE

QNEG_P

FALSE

TRUE

2 ステップまたは 3 ステップコントロールでのマニュアルモード
マニュアルモード(MAN_ON=TRUE)では、INV とは関係なく、POS_P_ON 信号と NEG_P_ON 信号を使用して 3 ステップまたは 2 ステップコントローラのバイナリ出力を設定することができます。
CONTROL

POS_P_ON

NEG_P_ON

QPOS_P

QNEG_P

3 ステップコントロール FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

TRUE

TRUE

TRUE

FALSE

FALSE

2 ステップコントロール FALSE

ANY

FALSE

TRUE

TRUE

ANY

TRUE

FALSE

初期化
SFB/FB "PULSGEN"には、入力パラメータ COM_RST = TRUE が設定されたときに処理される初期化ルーチンが含まれています。
出力信号はすべて 0 に設定されます。

エラー情報
したがって、エラー出力パラメータ RET_VAL は使用しません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

523

統合制御用の SFB
27.3 SFB 43/FB 43 "PULSEGEN"によるパルス生成

入力パラメータ
パラメータ

データタイプ 値の範囲

デフォルト 説明

INV

REAL

−100.0...100.0
(%)

0.0

INPUT VARIABLE(入力変数)
アナログ操作出力値は、入力 INV に接続されます。

PER_TM

TIME>=20*CYCLE

T#1s

PERIOD TIME(周期時間)
パルス幅変調の一定周期は、入力パラメータ
PER_TM によって入力されます。これは、コントローラのサンプリング時間に対応します。
パルスジェネレータのサンプリング時間とコントローラのサンプリング時間の比率によって、パルス幅変調の確度が決まります。

P_B_TM

TIME>= CYCLE

T#0ms

MINIMUM PULSE/BREAK TIME(最小パルス/
遮断時間)
入力パラメータ P_B_TM で最小パルス時間
または最小遮断時間を割り付けることができます。

RATIOFAC

REAL

0.1 ...10.0

1.0

RATIO FACTOR(比例係数)
入力パラメータ RATIOFAC を使用すると、立ち下がりパルス幅と立ち上がりパルス幅の比率を変更することができます。温度管理
プロセス（たとえば、電気的加熱と水冷却を使用するプロセス）では、加熱と冷却を補正するために異なる時間定数を使用できます。

STEP3_ON

BOOL

TRUE

THREE STEP CONTROL ON(3 ステップコ
ントロールオン)
入力パラメータ STEP3_ON により、このモードが有効になります。3 ステップコントロー
ラでは、両方の出力が有効になります。

ST2BI_ON

BOOL

FALSE

TWO STEP CONTROL FOR BIPOLAR
MANIPULATED VALUE RANGE ON(双極性
操作値範囲用 2 ステップコントロールオン)
入力パラメータ ST2Bl_ON により、"双極性
操作値の 2 ステップコントロール"モードと"単極性操作値範囲の 2 ステップコントロー
ル"モードの選択ができます。パラメータ
STEP3_ON は FALSE に設定する必要があります。

MAN_ON

BOOL

FALSE

MANUAL MODE ON(マニュアルモードオン)
入力パラメータ MAN_ON を設定すると、出力信号を手動で設定できます。

POS_P_ON

BOOL

FALSE

POSITIVE PULSE ON(立ち上がりパルスオン)3 ステップコント
ロールのマニュアルモード内で、出力信号
QPOS_P を入力パラメータ
POS_P_ON に設定できます。2 ステップコ
ントロールのマニュアルモード内では、
QNEG_P は常に反転して QPOS_P に設定されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2524

リファレンスマニュアル, 05/2017, A5E41733394-AA

統合制御用の SFB
27.3 SFB 43/FB 43 "PULSEGEN"によるパルス生成
パラメータ

データタイプ 値の範囲

デフォルト 説明NEG_P_ON

BOOL

FALSE

NEGATIVE PULSE ON(立ち下がりパルスオン)3 ステップコントロー
ルのマニュアルモード内で、出力信号
QNEG_P を入力パラメータ NEG_P_ON に設定できます。2 ステップコントロールのマニュアルモード内では、QNEG_P は常に反転して QPOS_P に設定されます。

SYN_ONBOOLTRUESYNCHRONIZATION ON(同期オン)
入力パラメータ SYN_ON を設定して、入力
変数 INV を更新するブロックに自動的に同期できます。同期することで、入力変数の変更が直ちにパルスとして出力されます。

COM_RST

BOOL

FALSE

COMPLETE RESTART(完全リスタート)
ブロックには、入力 COM_RST が設定されたときに処理される初期化ルーチンが含まれ
ています。

CYCLE

TIME

T#10msSAMPLING TIME(サンプリング時間)
ブロック呼び出しの間隔は一定でなければなりません。入力 CYCLE で、ブロック呼び出しの間隔を指定します。

>= 1ms

注記
ブロック内では、入力パラメータの値に制限はありません。パラメータのチェックは行われていません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

525

統合制御用の SFB
27.3 SFB 43/FB 43 "PULSEGEN"によるパルス生成

出力パラメータ
パラメータ データタイプ 値

デフォルト 説明QPOS_P

BOOL

FALSE

OUTPUT POSITIVE PULSE(立ち上がりパルスの出力)パルスが出力されると、出力パラメータ QPOS_P が設定されます。3 ステップコントローラの場合、これは常に立ち上がりパルスとなります。2 ステップコントロールでは、
QNEG_P が常に QPOS_P と逆の値に設定されます。

QNEG_P

BOOL

FALSE

OUTPUT POSITIVE PULSE(立ち下がりパルスの出力)パルスが出力されると、出力パラメータ QNEG_P が設定されます。3 ステップコントロールでは、これは常に立ち下がりパルスとなります。2 ステップコントロールでは、
QNEG_P が常に QPOS_P と逆の値に設定されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2526

リファレンスマニュアル, 05/2017, A5E41733394-AA

統合制御用の SFB
27.4 PULSEGEN ブロックの例

27.4

PULSEGEN ブロックの例

制御ループ
連続コントローラ CONT_C とパルスジェネレータ PULSEGEN を使用すると、比例アクチュエータ
に対するスイッチング出力を持つ固定セットポイントコントローラを構築することができます。
次の図に、制御ループの信号の流れを示します。

CONT_CPULSEGENLMNINVQPOS_P
QNEG_P

PV_PER

Processwith switching
output

連続コントローラ CONT_C は操作値 LMN を生成します。この LMN は、パルスジェネレータ
PULSEGEN によってパルス/遮断信号 QPOS_P または QNEG_P に変換されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

527

統合制御用の SFB
27.4 PULSEGEN ブロックの例

C ブロックの呼び出しと接続
比例アクチュエータ PULS_CTR に対するスイッチング出力を持つ固定セットポイントコントロー
ラは、ブロック CONT_C とブロック PULSEGEN から構成されています。ブロック呼び出しは、
CONT_C が 2 秒毎に呼び出され(=CYCLE*RED_FAC)、PULSEGEN が 10 ミリ秒毎に呼び出される(=CYCLE)ように設定されています。OB35 のサイクルタイムは 10 ミリ秒に設定します。相互接続については、次の図で示します。
ウォームスタートを実行すると、PULS_CTR ブロックが OB100 で呼び出され、入力 COM_RST がTRUE に設定されます。

OB 100 (warm restart)
OB 35 (10ms)

TRUE (OB 100)
FALSE (OB35)
T#10
200

PULS_CTR, DPULS_CTR
FB 50, DB 50
COM_RST
CYCLE
RED_FAC

PULS_CTR, DPULS_CTR
FB 50, DB 50
COM_RST
CYCLE
RED_FAC
CONT_C
SP_INT
PV_PERPULSEGENCOM_RST

COM_RST
CYCLE

CYCLE
SP_INT
PV_PERQPOS_PQPOS_PPER_TM
LMN
INV

CONT_C call reduced
by RED_FAC

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2528

リファレンスマニュアル, 05/2017, A5E41733394-AA

統合制御用の SFB
27.4 PULSEGEN ブロックの例

FB PULS_CTR の STL プログラム
アドレス

宣言

名称

タイプ

コメント

0.0

in

SP_INT

REAL

セットポイント

4.0

in

PV_PER

WORD

PROCESS VARIABLE
PERIPHERAL(処理変数ペリフェ
ラル)

6.0

in

RED_FAC

INT

減少ファクタの呼び出し

8.0

in

COM_RST

BOOL

リスタートの完了

10.0

in

CYCLE

TIME

サンプリング時間

14.0

out

QPOS_P

BOOL

動作信号

16.0

stat

DI_CONT_C

FB-CONT_C

カウンタ

142.0

stat

DI_PULSEGEN

FB-PULSEGEN

カウンタ

176.0

stat

SCount

INT

カウンタ

0.0

temp

TCycCtr

TIME

コントローラのサンプリング時間

STL

説明
A
JCN
L
T

M001: L
L
*D
T
L
L
-I
T
L
<=I
JCN
CALL
COM_RST :CYCLE :
SP_INT :PV_PER :L
T
M002: LTCALL
PER_TM :COM_RST :CYCLE :QPOS_P :BE#COM_RST
M001
0#sCount//初期化ルーチン#CYCLE#RED_FAC//コントローラサンプリング時間の算出#tCycCtr#sCount
1//デクリメントカウンタとゼロとの比較#sCount
0M002#DI_CONT_C=#COM_RST=#tCycCtr=#SP_INT=#PV_PER#RED_FAC#sCount#DI_CONT_C.LMN#DI_PULSEGEN.INV#DI_PULSEGEN=#tCycCtr=#COM_RST=#CYCLE=#QPOS_P//条件ブロック呼び出しとカウンタの設定

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

529

統合制御用の SFB
27.4 PULSEGEN ブロックの例

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
530

リファレンスマニュアル, 05/2017, A5E41733394-AA

28

コンパクト CPU 用の SFB

28.1

SFB 44 "Analog"を使用したアナログ出力による位置決め

説明
ユーザープログラムを使用して位置決めファンクションを制御するには、SFB ANALOG (SFB 44)を使用します。
固定割り付けアナログ出力を使用すれば、電圧(電圧信号)10 Vまたは電流(電流信号)20 m Aの
電源ステージを制御できます。
•

加速段階(RAM_UP)後、ドライブは、速度(VSetpoint)でターゲットに接近します。

•

制動ポイントは CPU で計算されます。制動ポイントでは、切り替えポイントまでの減速(RAMP_DN) が初期化されます。

•

切り替えポイントに到達すると、運転は、低速(VCreep)で継続されます。

•

カットオフポイントで、ドライブがオフにされます。

•

切り替えポイントとカットオフポイントは、指定した切り替え差とカットオフ差の各パラメー
タ値で、ステップアプローチごとに特定されます。前進(プラス方向)の場合と後退(マイナス方向)の場合で、異なる切り替え差とカットオフ差を特定できます。

•

カットオフポイントに到達すると、運転が終了します(WORKING = FALSE)。その後、運転を新たに開始できます。

•

現在のポジション値がターゲット範囲に到達すると、指定のターゲットに到達します(POS_RCD = TRUE)。運転を新たに開始していないのに、現在のポジション値がドリフトする
場合、" Position reached (到達ポジション)"信号が再度リセットされることはありません。

切り替え差がカットオフ差より小さい場合、ドライブは、制動ポイントで速度セットポイント 0 まで
速度を落とします。

基本パラメータ
ここでは、動作モードすべてに適用される SFB パラメータに関して説明します。個々の動作モードで、動作モードに固有なパラメータについて説明します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

531

コンパクト CPU 用の SFB
28.1 SFB 44 "Analog"を使用したアナログ出力による位置決め

パラメータ
パラメータ

宣言

データ
タイプ

アドレス(イ
ンスタンス
DB)

LADDR

INPUT

WORD 0

値の範囲

デフォルト

説明

CPU 固有W#16#0310

サブモジュールの I/O アド
レス。"HW Config"で指定される。
E アドレスと A アドレスが異なる場合、この 2 つのア
ドレスの小さい方を指定する必要がある。

CHANNEL

INPUT

INT

2

0

STOP

INPUT

BOOL

4.4

TRUE/FALSE FALSE

0

チャンネル番号
運転の停止
STOP = TRUE とすれば、早めに運転を停止したり、運転に割り込むことがで
きる。

ERR_A

INPUT

BOOL

4.5

TRUE/FALSE FALSE

外部エラーの受信確認を収集する。
ERR_A = TRUE とすれば、外部エラーがクリアされ受信確認される。

SPEED

INPUT

DINT

12

最大
1,000,000 パ
ルス/s までの低速度

1000

軸は、速度"VSetpoint"まで加速される。
運転中は速度を変更できない。

パラメータで宣言された最
大速度以下
WORKINGOUTPUT

BOOL

16.0

TRUE/FALSE FALSE

ACT_POSOUTPUT

DINT

18−5x10 ～
8
+5x10 パルス

0

実際のポジション値

MODE
_OUT

OUTPUT

INT

22

0, 1, 3, 4, 5

0

有効/コンフィグレーショ
ン済み動作モードERR

OUTPUT

WORD 24

全ビット"0"または
"1"。

0

8

運転中

外部エラー:
ビット 2: ゼロポイントモ
ニタ
ビット 11: 移動範囲モニタ(常に 1)
ビット 12: 操作範囲モニタ
ビット: 現在値モニタ
ビット 14: ターゲットホー
ムモニタ
ビット 15: ターゲット範囲
モニタ
残りのビットは予約されている。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2532

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.1 SFB 44 "Analog"を使用したアナログ出力による位置決め
パラメータ

宣言

データ
タイプ

アドレス(イ
ンスタンス
DB)

値の範囲

デフォルト

ST_ENBLDOUTPUT

BOOL

26.0

TRUE/FALSE TRUE

説明

以下のすべての条件が適用される場合、CPU により起動が有効になる。
• STOP 保留なし(STOP =FALSE)• 外部エラー保留なし(ERR = 0)• ドライブの有効化を設定する(DRV_EN =TRUE• 位置決め運転が無効(WORKING = FALSE)エラー

OUTPUT

BOOL

26.1

STATUSOUTPUT

WORD 28.0

TRUE/FALSE FALSE

運転の開始/再開時にエラーが発生した。

W#16#0000～ W#16#0000
W#16#FFFF

エラー番号

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

533

コンパクト CPU 用の SFB
28.1 SFB 44 "Analog"を使用したアナログ出力による位置決め
ブロックに割り付けられていないパラメータ(統計的ローカルデータ)

パラメータ

宣言

データ
タイプ

アドレス(イ
ンスタンス
DB)

値の範囲

デフォルト 説明ACCELSTATIC

DINT

30

1～100,000
パルス/s 2100

1～100,000
パルス/s 2100

0～+10 8
パルス

1000

0～+10 8
パルス

100

0～+10 8
パルス

1000

0～+10 8
パルス

100

DECEL
CHGDIFF_P

STATICSTATICCUTOFFDIFF_P

STATICCHGDIFF_M

STATIC

DINT
DINT

DINT

DINT

34
38

42

46

加速
運転中は変更できない。
減速
運転中は変更できない。
切り替え差+"切り替え差+"は、ドライブが低速で前進運転を開始する切り替えポイン
トを定義する。
カットオフ差+"カットオフ差+"は、低速で前進運転するドライ
ブをオフにするカットオ
フポイントを定義する。
切り替え差"切り替え差-"は、ドライ
ブが低速で後退運転を開始する切り替えポイントを定義する。

CUTOFFDIFF_P

STATICPARASTATIC

BOOL

54.0

TRUE/FALSE FALSE

軸にパラメータが割り付けられている。

DIR

STATIC

BOOL

54.1

TRUE/FALSE FALSE

実際/最後の方向検知

DINT

50

カットオフ差"カットオフ差-"は、低速で後退運転するドライブ
をオフにするカットオフ
ポイントを定義する。

FALSE =前進(+方向)
TRUE =後退(-方向)
CUTOFFSTATIC

BOOL

54.2

TRUE/FALSE FALSE

ドライブはカットオフ範
囲内(カットオフポイン
トから次の運転開始まで)にある。

CHGOVERSTATIC

BOOL

54.3

TRUE/FALSE FALSE

ドライブは切り替え範囲内(低速に到達してから次の運転開始まで)にある

RAMP_DN

STATIC

BOOL

54.4

TRUE/FALSE FALSE

ドライブは(制動ポイン
トから切り替えポイントまで)速度を落とす。

RAMP_UPSTATIC

BOOL

54.5

TRUE/FALSE FALSE

ドライブは、(開始から
速度 SPEED (VSetpoint)に到達するまで)加速する。

DIST_TO_STATIC

DINT

56−5x10 8 ～GO

0

実際に進む距離+5x10 8
パルス

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2534

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.1 SFB 44 "Analog"を使用したアナログ出力による位置決め
パラメータ

宣言

データ
タイプ

アドレス(イ
ンスタンス
DB)

値の範囲

デフォルト 説明

LAST_TRG

STATIC

DINT

60−5x10 8 ～0

+5x10 8パルス

最後/現在のターゲット• 絶対ステップアプロー
チ:
運転開始時、
LST_TRG =現在の絶対ターゲット(TARGET)• 相対ステップアプロー
チ:
運転開始時、
LST_TRG =LAST_TRG は、直前の運転の指定+/-距離(TARGET)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

535

コンパクト CPU 用の SFB
28.1 SFB 44 "Analog"を使用したアナログ出力による位置決め"ジョグ"モード用パラメータ
パラメータ

宣言

データ
タイプ

アドレス
(インスタ
ンス DB)

値の範囲

デフォルト

DRV_EN

INPUT

BOOL

4.0

TRUE/FALSE FALSE

ドライブを有効にする

DIR_P

INPUT

BOOL

4.2

TRUE/FALSE FALSE+方向へのジョグ(信号立
ち上がり)

DIR_M

INPUT

BOOL

4.3

TRUE/FALSE FALSE−方向へのジョグ(信号立
ち上がり)

MODE_IN

INPUT

INT

6

0, 1, 3, 4, 5

動作モード、1 =ジョグ

WORKINGOUTPUT

BOOL

16.0

TRUE/FALSE FALSE

ACT_POSOUTPUT

DINT

18−5x10 8 ～

1

説明

運転中

0

実際のポジション値+5x10 8パルス
MODE_OUTOUTPUT

INT

22

0, 1, 3, 4, 5

0

有効/コンフィグレーショ
ン済み動作モード

デフォルト

説明

"基準運転"モード用パラメータ
パラメータ

宣言

データ
タイプ

アドレス
(インスタ
ンス DB)

値の範囲

DRV_EN

INPUT

BOOL

4.0

TRUE/FALSE FALSE

ドライブを有効にする

DIR_P

INPUT

BOOL

4.2

TRUE/FALSE FALSE+方向への基準運転(信号立ち上がり)

DIR_M

INPUT

BOOL

4.3

TRUE/FALSE FALSE−方向への基準運転(信号立ち上がり)

MODE_IN

INPUT

INT

6

0, 1, 3, 4, 5

動作モード、3 = "基準
運転"

WORKINGOUTPUT

BOOL

16.0

TRUE/FALSE FALSE

運転中

SYNC

OUTPUT

BOOL

16.3

TRUE/FALSE FALSESYNC = TRUE: 軸が同期される

ACT_POSOUTPUT

DINT

18−5x10 8 ～10

実際のポジション値0

有効/コンフィグレーショ
ン済み動作モード+5x10 8パルス

MODE_OUTOUTPUT

INT

22

0, 1, 3, 4, 5

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2536

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.1 SFB 44 "Analog"を使用したアナログ出力による位置決め"相対ステップアプローチ"モード用パラメータ
パラメータ

宣言

データ
タイプ

アドレス
(インスタ
ンス DB)

値の範囲

デフォルト 説明

DRV_EN

INPUT

BOOL

4.0

TRUE/FALSE

FALSE

ドライブを有効にする

DIR_P

INPUT

BOOL

4.2

TRUE/FALSE

FALSE+方向への運転(信号立ち
上がり)

DIR_M

INPUT

BOOL

4.3

TRUE/FALSE

FALSE−方向への運転(信号立ち上がり)

MODE_IN

INPUT

INT

6

0, 1, 3, 4, 5

1

動作モード、4 =相対ス
テップアプローチ

TARGET

INPUT

DINT

8

0～10 9パルス

1000

距離(単位: パルス) (正の値だけ使用できる)

WORKINGOUTPUT

BOOL

16.0

TRUE/FALSE

FALSE

運転中

POS_RCDOUTPUT

BOOL

16.1

TRUE/FALSE

FALSE

到達位置

ACT_POSOUTPUT

DINT

18−5x10 8 ～0

実際のポジション値0

有効/コンフィグレーショ
ン済み動作モード

8

+5x10
パルス
MODE_OUTOUTPUT

INT

22

0, 1, 3, 4, 5

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

537

コンパクト CPU 用の SFB
28.1 SFB 44 "Analog"を使用したアナログ出力による位置決め"絶対ステップアプローチ"用パラメータ
パラメータ

宣言

データ
タイプ

アドレス(イ 値の範囲
ンスタンス
DB)

デフォルト

説明

DRV_EN

INPUT

BOOL

4.0

TRUE/FALSE FALSE

ドライブを有効にする

START

INPUT

BOOL

4.1

TRUE/FALSE FALSE

運転開始(信号立ち上がり)

DIR_P

INPUT

BOOL

4.2

TRUE/FALSE FALSE+方向への運転(信号立ち
上がり)

DIR_M

INPUT

BOOL

4.3

TRUE/FALSE FALSE−方向への運転(信号立ち上がり)

MODE_IN

INPUT

INT

6

0, 1, 3, 4, 5

1

動作モード、5 =絶対ス
テップアプローチ

TARGET

INPUT

DINT

8

直線軸

1000

ターゲット(単位: パルス)

−5x10 8 ～+5x10 パルス 8

回転軸:
0～回転軸端−1
WORKINGOUTPUT

BOOL

16.0

TRUE/FALSE FALSE

運転中

POS_RCDOUTPUT

BOOL

16.1

TRUE/FALSE FALSE

到達位置

ACT_POSOUTPUT

DINT

18−5x10 8 ～0

実際のポジション値0

有効/コンフィグレーショ
ン済み動作モード+5x10 8 パルス

MODE_OUTOUTPUT

INT

22

0, 1, 3, 4, 5

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2538

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.1 SFB 44 "Analog"を使用したアナログ出力による位置決め"リファレンスポイントの設定"ジョブ用パラメータ
パラメータ

宣言

データ
タイプ

アドレス(イ 値の範囲
ンスタンス
DB)

デフォルト

説明

SYNC

OUTPUT

BOOL

16.3

FALSE

軸は同期される。

TRUE/FALSE

ブロックに割り付けられていないパラメータ(統計的ローカルデータ)
パラメータ

宣言

データ
タイプ

アドレス(イ 値の範囲
ンスタンス
DB)

デフォルト

説明

JOB_REQSTATIC

BOOL

76.0

TRUE/FALSE

FALSE

ジョブの初期化(信号立
ち上がり)

JOB_DONE STATIC

BOOL

76.1

TRUE/FALSE

TRUE

新規ジョブを開始できる。

JOB_ERRSTATIC

BOOL

76.2

TRUE/FALSE

FALSE

ジョブ不良

JOB_IDSTATIC

INT

78

1, 2

0

ジョブ、1 = "リファレン
スポイントの設定"

JOB_STATSTATIC

WORD

80

W#16#0000～
W#16#FFFF

W#16#0000 ジョブエラー番号

JOB_VALSTATIC

DINT

82−5x10 8 ～0

+5x10 8 パルス

リファレンスポイント座標用ジョブパラメータ"残りの距離のクリア"ジョブ用パラメータ
ブロックに割り付けられていないパラメータ(統計的ローカルデータ)
パラメータ

宣言

データ
タイプ

アドレス(イ 値の範囲
ンスタンス
DB)

デフォルト

説明

JOB_REQSTATIC

BOOL

76.0

TRUE/FALSE

FALSE

ジョブの初期化(信号立
ち上がり)

JOB_DONE STATIC

BOOL

76.1

TRUE/FALSE

TRUE

新規ジョブを開始できる。

JOB_ERRSTATIC

BOOL

76.2

TRUE/FALSE

FALSE

ジョブ不良

JOB_IDSTATIC

INT

78

1, 2

0

ジョブ、2 = "残りの距離のクリア"

JOB_STATSTATIC

WORD

80

W#16#0000～
W#16#FFFF

W#16#0000 ジョブエラー番号

JOB_VALSTATIC

DINT

82

-

0

任意の設定

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

539

コンパクト CPU 用の SFB
28.1 SFB 44 "Analog"を使用したアナログ出力による位置決め"長さ測定"操作用パラメータ
このパラメータは、デジタル出力の信号立ち上がり時に開始されます。特定の入力パラメータはありません。
パラメータ

宣言

データ
タイプ

アドレス(イン 値の範囲
スタンス DB)

デフォルト

説明

MSR_DONEOUTPUT

BOOL

16.2

FALSE

長さ測定終了TRUE/FALSE

ブロックに割り付けられていないパラメータ(統計的ローカルデータ)
パラメータ

宣言

データ
タイプ

アドレス(イン 値の範囲
スタンス DB)

デフォルト

説明

BEG_VALSTATIC

DINT

64

0

実際のポジション
値、長さ測定開始0

実際のポジション
値、長さ測定終了0

測定長さ−5x10 8 ～+5x10 8 パルス

END_VALSTATIC

DINT

68−5x10 8 ～+5x10 8 パルス

LEN_VALSTATIC

DINT

72

9

0～10 パルス

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
540

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.1 SFB 44 "Analog"を使用したアナログ出力による位置決め

エラー情報
動作モードエラー(ERROR = TRUE)
エラーが検出されると、
出力パラメータ ERROR が TRUE に設定されます。
STATUS パラメータは、
エラーの原因を示します。
イベントクラス 説明
エラーコードW#16#2002

SFB が間違っています。SFB 44 を使用します。

W#16#2004

チャンネル番号(CHANNEL)が間違っています。チャンネル"0"を設定してください。

W#16#3001

同じ SFB 呼び出しでジョブエラーが発生したため、運転ジョブが拒否されました。各
JOB パラメータを修正してください。

W#16#3002

ドライブの動作中は MODE_IN を変更できません。現在の位置決め運転が終わるのを待ちます。

W#16#3003

動作モード(MODE_IN)が不明です。許可されている動作モードは、1 (ジョグ)、3 (基準運転)、4 (相対ステップアプローチ)、および 5 (絶対ステップアプローチ)です。

W#16#3004

一度に使用できる開始要求は 1 つだけです。有効な開始要求は DIR_P、DIR_M、またはSTART です。

W#16#3005

START は"絶対ステップアプローチ"運転モードでしか許可されません。DIR_P または
DIR_M で実行を開始します。

W#16#3006

直線軸、および"絶対ステップアプローチ"運転モードでは、DIR_P または DIR_M は使用できません。START で実行を開始します。

W#16#3007

軸は同期されません。"絶対ステップアプローチ"が可能なのは、同期軸を使用している場合だけです。

W#16#3008

作業範囲をクリアします。作業位置への復帰運転ができるのは、ジョグモードの場合に限ります。

W#16#3101

軸にパラメータが設定されていないため、開始が有効になりません。HWConfig を使用して"位置決め"サブモジュールにパラメータを設定します。

W#16#3102

ドライブが有効になっていないため、開始が有効になりません。SFB で"ドライブの有効化"(DRV_EN=TRUE)を設定します。

W#16#3103

STOP が設定されているため、開始が有効になりません。SFB で STOP をクリアします(STOP=FALSE)。

W#16#3104

ドライブが現在位置決め運転を実行している(WORKING=TRUE)ため、開始が有効になりません。現在の位置決め運転が終わるのを待ちます。

W#16#3105

保留中のエラーが少なくとも 1 つクリアされていないため、開始が有効になりません。
まず、外部エラーをすべて除去およびクリアしてから、運転を再開します。

W#16#3202

SPEED の速度セットポイントが間違っています。速度セットポイントは、パラメータ
設定最大速度以下ですが、最大 1000000 パルス/s の許容低速範囲に入っていません。

W#16#3203

ACCEL の加速セットポイントが、1～100,000 パルス/s の範囲内に入っていません。 2

W#16#3204

DECEL の減速セットポイントが、1～100,000 パルス/s の範囲内に入っていません。 2

W#16#3206

SPEED の速度セットポイントは、パラメータ設定リファレンス周波数以上になっている
必要があります。

W#16#3301

切り替え/カットオフ差が大きすぎます。最大切り替え/カットオフ差 10 を設定します。 8

W#16#3304

カットオフ差が小さすぎます。カットオフ差は、少なくともターゲット範囲のサイズの半分は必要です。

W#16#3305

切り替え差が小さすぎます。切り替え差は、少なくともターゲット範囲のサイズの半分は必要です。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

541

コンパクト CPU 用の SFB
28.1 SFB 44 "Analog"を使用したアナログ出力による位置決め
イベントクラス 説明
エラーコードW#16#3401

ターゲット設定が、作業範囲内に入っていません。直線軸とステップアプローチでは、
ターゲット設定は、ソフトウェアリミットスイッチ(を含む)の範囲内に入っている必要があります。

W#16#3402

ターゲット設定が間違っています。回転軸では、ターゲット設定は、0 より大きく、回転
軸終了値より小さくなっている必要があります。

W#16#3403

距離設定が間違っています。相対ステップアプローチの移動距離セットポイントは正になっている必要があります。

W#16#3404

距離設定が間違っています。この結果、つまり絶対ターゲット座標は−5x10 より大きくなっている必要があります。 8

W#16#3405

距離設定が間違っています。この結果、つまり絶対ターゲット座標は 5x10 より小さくなっている必要があります。 8

W#16#3406

距離設定が間違っています。この結果、つまり絶対ターゲット座標は、作業範囲(+/−ター
ゲット範囲の半分)内に入っている必要があります。

W#16#3501

移動距離が長すぎます。ターゲット座標+現在の残りの距離が、−5x10 8 より大きいか等しくなっている必要があります。

W#16#3502

移動距離が長すぎます。ターゲット座標+現在の残りの距離が、5x10 8 より小さいか等し
くなっている必要があります。

W#16#3503

移動距離が短すぎます。+方向の移動距離は、+方向の指定カットオフ距離より大きくなっている必要があります。

W#16#3504

移動距離が短すぎます。-方向の移動距離は、-方向の指定カットオフ距離より大きくなっている必要があります。

W#16#3505

移動距離が短すぎるか、+方向のリミットスイッチが既に動作しています。+方向の最後のアプローチ可能ターゲット(作業範囲または移動距離制限)が現在のポジションに近すぎます。

W#16#3506

移動距離が短すぎるか、-方向のリミットスイッチが既に動作しています。-方向の最後のアプローチ可能ターゲット(作業範囲または移動距離制限)が現在のポジションに近すぎます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2542

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.1 SFB 44 "Analog"を使用したアナログ出力による位置決め

ジョブエラー(JOB_ERR = TRUE)
エラーが検出されると、出力パラメータ JOB_ERROR が TRUE に設定されます。JOB_STAT パラ
メータは、エラーの原因を示します。
イベントクラス 説明
エラーコードW#16#4001

軸にパラメータが設定されていません。HWConfig を使用して"位置決め"サブモジュールにパラメータを設定します。

W#16#4002

位置決めをまだ実行中なので、ジョブを実行できません。WORKING = FALSE になるまで待って、ジョブを繰り返します。

W#16#4004

ジョブが不明です。ジョブ ID をチェックした後、このジョブを繰り返します。

W#16#4101

直線軸では、リファレンスポイント座標が作業範囲外にあることが必要です。

W#16#4102

直線軸では、設定したリファレンスポイント座標+現在の残りの距離が、−5x10 より大きい
か等しくなっている必要があります。 8

W#16#4103

直線軸では、設定したリファレンスポイント座標+現在の残りの距離が、5x10 より小さい
か等しくなっている必要があります。 8

W#16#4104

直線軸では、設定したリファレンスポイント座標+開始ポイントまでの現在の残りの距離8が、−5x10 より大きいか等しくなっている必要があります。

W#16#4105

直線軸では、設定したリファレンスポイント座標+開始ポイントまでの現在の残りの距離8が、−5x10 より小さいか等しくなっている必要があります。

W#16#4106

回転軸では、リファレンスポイント座標は、0 以上、回転軸端未満になっている必要があります。

外部エラー(ERR)
技術回路は、運転、移動距離、および接続されている周辺装置をモニタします。"ドライブ"、"軸"、および"エンコーダ"の各パラメータ画面フォームでモニタをオンしていることが前提条件となります。
モニタユニットがトリガされると、外部障害がレポートされます。開始した操作によって、発生する外部エラーが違ってきます。必ず、ERR_A = TRUE を使用して、外部エラーをクリアする必要があります。
SFB パラメータ ERR (WORD)の各セットビットは、次の外部エラーを示します。
モニタ

エラーコードERR-WORD のビット

ゼロパルス(ゼロマーク)

W#16#0004

2

移動距離

W#16#0800

11

作業範囲

W#16#1000

12

現在値

W#16#2000

13

ターゲットポジション

W#16#4000

14ターゲット範囲

W#16#8000

15

システムエラー
システムエラーは、BIE = FALSE で示されます。インスタンス DB の読み書き中にエラーが発生したり、SFB の多重呼び出しを実行したりすると、システムエラーが発生します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

543

コンパクト CPU 用の SFB
28.2 SFB 46 "DIGITAL"を使用したデジタル出力による位置決め

28.2

SFB 46 "DIGITAL"を使用したデジタル出力による位置決め

説明
ユーザープログラムを使用して位置決めファンクションを制御するには、SFB DIGITAL ( SFB 46)
を使用します。
24 V デジタル出力が 4 つ、ドライブに固定割り付けされます。これらのデジタル出力は、電源ステー
ジを制御します。コントロールモードコンフィグレーションに応じて、デジタル出力は、方向と速度ステージ(高速/低速)を制御します。
距離は、2 つの位相が 90°オフセットされている非同期 24 V インクリメンタル変換器を使用して測定されます。
•

まず、速度(VRapid)でターゲットに近づきます。

•

切り替えポイントで、速度を低速(VCreep)に切り替えます。

•

カットオフポイントで、ドライブがオフにされます。

•

切り替えポイントとスイッチオフポイントは、切り替え差とカットオフ差に宣言した各パラメータ値で、ステップアプローチごとに特定されます。前進(プラス方向)の場合と後退(マイナス方向)の場合で、異なる切り替え差とカットオフ差を特定できます。

•

カットオフポイントに到達すると、運転が終了します(WORKING = FALSE)。その後、運転を新たに開始できます。

•

現在のポジション値がホームターゲットに到達すると、指定のターゲットに到達します(POS_RCD = TRUE)。運転を新たに開始していないのに、現在のポジション値がドリフトする
場合、" Position reached (到達ポジション)"信号が再度リセットされることはありません。

基本パラメータ
ここで、SFB パラメータについて説明します。SFB パラメータは、動作モードすべてに適用されます。
個々の動作モードで、動作モードに固有なパラメータについて説明します。
パラメータ

宣言

データ
タイプ

アドレス(インスタンス DB)

値の範囲

デフォルト

説明

LADDR

INPUT

WORD

0

CPU 固有W#16#0310 サブモジュールの I/O
アドレス。"HW Config"
で指定される。
E アドレスと A アドレスが異なる場合、この
2 つのアドレスの小さい方を指定する必要がある。

CHANNEL

INPUT

INT

2

0

STOP

INPUT

BOOL

4.4

TRUE/FALSE FALSE

0

チャンネル番号
運転の停止
STOP = TRUE とすれば、早めに運転を停止したり、運転に割り込
むことができる。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2544

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.2 SFB 46 "DIGITAL"を使用したデジタル出力による位置決め
パラメータ

宣言

データ
タイプ

アドレス(インスタンス DB)

値の範囲

デフォルト

ERR_A

INPUT

BOOL

4.5

TRUE/FALSE FALSE

説明
外部エラーの受信確認を収集する。
ERR_A = TRUE とすれば、外部エラーがクリア
され受信確認される。

SPEED

INPUT

BOOL

12.0

TRUE/FALSE FALSE

高速/低速モードに対応
した 2 つの速度ステー
ジTRUE =高速モード
FALSE =低速モード

WORKINGOUTPUT BOOL

14.0

TRUE/FALSE FALSE

ACT_POSOUTPUT DINT

16

−5x10 8 ～運転中

0

実際のポジション値
有効/コンフィグレー
ション済み動作モード

5x10 8 パルス
MODE_OUTOUTPUT INT

20

0, 1, 3, 4, 5

0

ERR

OUTPUT WORD

22

全ビット
"0"または"1"。

0

外部エラー:
ビット 2: ゼロマーク
モニタ
ビット 11: 移動範囲
モニタ(常に 1)
ビット 12: 操作範囲
モニタ
ビット 12: 現在値モ
ニタ
ビット 12: ターゲット
ポジションモニタ
ビット 15: ターゲット
ポジションモニタ
残りのビットは予約されている。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

545

コンパクト CPU 用の SFB
28.2 SFB 46 "DIGITAL"を使用したデジタル出力による位置決め
パラメータ

宣言

データ
タイプ

ST_ENBLDOUTPUT BOOL

アドレス(インスタンス DB)

値の範囲

デフォルト

24.0

TRUE/FALSE TRUE

説明
以下のすべての条件が適用される場合、CPUが有効になる。
• STOP 保留なし
(STOP = FALSE)• 外部エラー保留なし(ERR = 0)
• ドライブの有効化
を設定する(DRV_EN = TRUE
• 位置決め運転が無効(WORKING =FALSE)

エラー

OUTPUT

BOOL

24.1

TRUE/FALSE FALSESTATUSOUTPUT

WORD

26.0

W#16#0000～
W#16#FFFF

運転の開始/再開時にエラーが発生した。

W#16#0000 エラー番号

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2546

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.2 SFB 46 "DIGITAL"を使用したデジタル出力による位置決め

ブロックに割り付けられていないパラメータ(統計的ローカルデータ)
パラメータ

宣言

データ
タイプ

アドレス(イン 値の範囲
スタンス DB)CHGDIFF_P

STATIC

DINT

28

デフォルト 説明

0～+10 8 パルス 1000

切り替え差+"切り替え差+"は、ドライブが低速で前進運転を開始するポイントを定義する。

CUTOFFDIFF_P

STATICCHGDIFF_M

STATIC

DINT

32

0～+10 8 パルス 100

カットオフ差+"カットオフ差+"は、低速で前進運転するドライブをオフにするカットオフポイン
トを定義する。

DINT

360～+10 8 パルス 1000

切り替え差"切り替え差-"は、ドライブが低速で前進運転を開始するポイントを定義する。

CUTOFFDIFF_P

STATICPARASTATIC

BOOL

44.0

TRUE/FALSE

FALSE

軸にパラメータが割り付けられている。

DIR

STATIC

BOOL

44.1

TRUE/FALSE

FALSE

実際/最後の方向検知

DINT

40

0～+10 8 パルス 100

カットオフ差"カットオフ差-"は、低速で後退運転するドライブをオフにするカットオフポイン
トを定義する。

FALSE =前進(+方向)
TRUE =後退(-方向)
CUTOFFSTATIC

BOOL

44.2

TRUE/FALSE

FALSE

ドライブはカットオフ
範囲内(カットオフポ
ジションから次の運転開始まで)にある。

CHGOVERSTATIC

BOOL

44.3

TRUE/FALSE

FALSE

ドライブは切り替え
範囲内(低速に到達したポイントから次の運転開始まで)にある。

DIST_TO_GO

STATIC

DINT

46−5x10 8 ～0

実際の残りの距離+5x10 8 パルス

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

547

コンパクト CPU 用の SFB
28.2 SFB 46 "DIGITAL"を使用したデジタル出力による位置決め
パラメータ

宣言

データ
タイプ

アドレス(イン 値の範囲
スタンス DB)

デフォルト 説明

LAST_TRG

STATIC

DINT

50

0

−5x10 8 ～+5x10 8 パルス

最後/現在のターゲッ
ト• 絶対ステップアプ
ローチ:
運転開始時、
LST_TRG =現在の絶対ターゲット(TARGET)- 相対ステップア

プローチ:
運転開始時、
LST_TRG =LAST_TRG
は、直前の運転の指定+/-距離(TARGET)"ジョグ"モード用パラメータ
パラメータ

宣言

データ
タイプ

アドレス(イン 値の範囲
スタンス DB)

デフォルト 説明

DRV_EN

INPUT

BOOL

4.0

TRUE/FALSE

FALSE

ドライブを有効に
する

DIR_P

INPUT

BOOL

4.2

TRUE/FALSE

FALSE+方向へのジョグ(信号立ち上がり)

DIR_M

INPUT

BOOL

4.3

TRUE/FALSE

FALSE−方向へのジョグ(信号立ち上がり)

MODE_IN

INPUT

INT

6

0, 1, 3, 4, 5

1

動作モード、
1 =ジョグ

WORKINGOUTPUT

BOOL

14.0

TRUE/FALSE

FALSE

運転中

ACT_POSOUTPUT

DINT

16−5x10 8 ～0

実際のポジション値0

有効/コンフィグレー
ション済み動作モード+5x10 8 パルス
MODE_OUTOUTPUT

INT

20

0, 1, 3, 4, 5

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2548

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.2 SFB 46 "DIGITAL"を使用したデジタル出力による位置決め"基準運転"モード用パラメータ
パラメータ

宣言

データ
タイプ

アドレス(イン 値の範囲
スタンス DB)

デフォルト 説明

DRV_EN

INPUT

BOOL

4.0

TRUE/FALSE

FALSE

ドライブを有効にする

DIR_P

INPUT

BOOL

4.2

TRUE/FALSE

FALSE+方向への基準運転(信号立ち上がり)

DIR_M

INPUT

BOOL

4.3

TRUE/FALSE

FALSE−方向への基準運転(信号立ち上がり)

MODE_IN

INPUT

INT

6

0, 1, 3, 4, 5

1

動作モード、3 = "基準
運転"

WORKINGOUTPUT

BOOL

14.0

TRUE/FALSE

FALSE

運転中

SYNC

OUTPUT

BOOL

14.3

TRUE/FALSE

FALSE

SYNC = TRUE: 軸が同期される

ACT_POSOUTPUT

DINT

16−5x10 8 ～0

実際のポジション値0

有効/コンフィグレー
ション済み動作モード+5x10 8 パルス
MODE_OUTOUTPUT

INT

20

0, 1, 3, 4, 5

"相対ステップアプローチ"モード用パラメータ
パラメータ

宣言

データ
タイプ

アドレス(イン 値の範囲
スタンス DB)

デフォルト 説明

DRV_EN

INPUT

BOOL

4.0

TRUE/FALSE

FALSE

ドライブを有効にする

DIR_P

INPUT

BOOL

4.2

TRUE/FALSE

FALSE+方向への運転(信号立
ち上がり)

DIR_M

INPUT

BOOL

4.3

TRUE/FALSE

FALSE−方向への運転(信号立
ち上がり)

MODE_IN

INPUT

INT

6

0, 1, 3, 4, 5

1

動作モード、4 =相対ステップアプローチ

TARGET

INPUT

DINT

8

0～10 9 パルス 1,000

距離(単位: パルス) (正の値だけ使用できる)

WORKINGOUTPUT

BOOL

14.0

TRUE/FALSE

FALSE

運転中

POS_RCDOUTPUT

BOOL

14.1

TRUE/FALSE

FALSE

到達位置

ACT_POSOUTPUT

DINT

16−5x10 8 ～0

実際のポジション値0

有効/コンフィグレー
ション済み動作モード+5x10 8 パルス
MODE_OUTOUTPUT

INT

20

0, 1, 3, 4, 5

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

549

コンパクト CPU 用の SFB
28.2 SFB 46 "DIGITAL"を使用したデジタル出力による位置決め"絶対ステップアプローチ"用パラメータ
パラメータ

宣言

データ
タイプ

アドレス(インスタンス DB)

値の範囲

デフォルト 説明

DRV_EN

INPUT

BOOL

4.0

TRUE/FALSE FALSE

ドライブを有効にする

START

INPUT

BOOL

4.1

TRUE/FALSE FALSE

運転開始(信号立ち上が
り)

DIR_P

INPUT

BOOL

4.2

TRUE/FALSE FALSE+方向への運転(信号立
ち上がり)

DIR_M

INPUT

BOOL

4.3

TRUE/FALSE FALSE−方向への運転(信号立
ち上がり)

MODE_IN

INPUT

INT

6

0, 1, 3, 4, 5

1

動作モード、5 =絶対ス
テップアプローチ

TARGET

INPUT

DINT

8

直線軸
−5x10 8 ～

1,000

ターゲット
(単位: パルス)+5x10 8回転軸
0～回転軸端−1
WORKINGOUTPUT

BOOL

14.0

TRUE/FALSE FALSE

運転中

POS_RCDOUTPUT

BOOL

14.1

TRUE/FALSE FALSE

到達位置

ACT_POSOUTPUT

DINT

16−5x10 8 ～0

実際のポジション値0

有効/コンフィグレーショ
ン済み動作モード+5x10 8パルス
MODE_OUTOUTPUT

INT

20

0, 1, 3, 4, 5

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
550

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.2 SFB 46 "DIGITAL"を使用したデジタル出力による位置決め"リファレンスポイントの設定"ジョブ用パラメータ
パラメータ

宣言

データ
タイプ

アドレス(インスタンス DB)

値の範囲

デフォルト

SYNC

OUTPUT

BOOL

14.3

TRUE/FALSE FALSE

説明
軸は同期される。

ブロックに割り付けられていないパラメータ(統計的ローカルデータ)
パラメータ

宣言

データ
タイプ

アドレス(インスタンス DB)

値の範囲

デフォルト

JOB_REQSTATIC

BOOL

66.0

TRUE/FALSE FALSE

ジョブの初期化(信号立ち上がり)

JOB_DONE STATIC

BOOL

66.1

TRUE/FALSE TRUE

新規ジョブを開始できる。

JOB_ERRSTATIC

BOOL

66.2

TRUE/FALSE FALSE

ジョブ不良

JOB_IDSTATIC

INT

68

1, 2

0

ジョブ、1 = "リファレンスポイントの設定"

JOB_STATSTATIC

WORD

70

W#16#0000～
W#16#FFFF

W#16#0000 ジョブエラー番号

JOB_VALSTATIC

DINT

72−5x10 8 ～0

+5x10 8パルス

説明

リファレンスポイント
座標用ジョブパラメータ"残りの距離のクリア"ジョブ用パラメータ
ブロックに割り付けられていないパラメータ(統計的ローカルデータ)
パラメータ

宣言

データ
タイプ

アドレス(インスタンス DB)

値の範囲

デフォルト

説明

JOB_REQSTATIC

BOOL

66.0

TRUE/FALSE FALSE

ジョブの初期化(信号立
ち上がり)

JOB_DONE STATIC

BOOL

66.1

TRUE/FALSE TRUE

新規ジョブを開始できる。

JOB_ERRSTATIC

BOOL

66.2

TRUE/FALSE FALSE

ジョブ不良

JOB_IDSTATIC

IINT

68

1, 2

0

ジョブ、2 = "残りの距離のクリア"JOB_STATSTATIC

WORD

70

0～16 進数
FFFF

0

ジョブエラー番号

JOB_VALSTATIC

DINT

72

-

0

なし

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

551

コンパクト CPU 用の SFB
28.2 SFB 46 "DIGITAL"を使用したデジタル出力による位置決め[長さ測定]ファンクション用パラメータ
このパラメータは、デジタル出力の信号立ち上がり時に開始されます。特定の入力パラメータはありません。
パラメータ

宣言

データ
タイプ

アドレス(イン 値の範囲
スタンス DB)MSR_DONEOUTPUT

BOOL

14.2

デフォルト

TRUE/FALSE FALSE

説明
長さ測定終了ブロックに割り付けられていないパラメータ(統計的ローカルデータ)
パラメータ

宣言

データ
タイプ

アドレス(イン 値の範囲
スタンス DB)

デフォルト

説明

BEG_VALSTATIC

DINT

54

0

実際のポジション値、
長さ測定開始0

実際のポジション値、
長さ測定終了−5x10 8 ～+5x10 8 パルス

END_VALSTATIC

DINT

58−5x10 8 ～+5x10 8 パルス

LEN_VALSTATIC

DINT

62

0～10 9 パルス 0

測定長さ

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2552

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.2 SFB 46 "DIGITAL"を使用したデジタル出力による位置決め

エラー情報
動作モードエラー(ERROR = TRUE)
エラーが検出されると、
出力パラメータ ERROR が TRUE に設定されます。
STATUS パラメータは、
エラーの原因を示します。
イベントクラス
エラーコード説明

W#16#2001

SFB が間違っています。SFB 46 を使用してください。

W#16#2004

チャンネル番号(CHANNEL)が間違っています。チャンネル"0"を設定してください。

W#16#3001

同じ SFB 呼び出しでジョブエラーが発生したため、運転ジョブが拒否されました。各
JOB パラメータを修正してください。

W#16#3002

ドライブの動作中は MODE_IN を変更できません。現在の位置決め運転が終わるのを待ちます。

W#16#3003

動作モード(MODE_IN)が不明です。許可されている動作モードは、1 (ジョグ)、3 (基準運転)、4 (相対ステップアプローチ)、および 5 (絶対ステップアプローチ)です。

W#16#3004

一度に使用できる開始要求は 1 つだけです。有効な開始要求は DIR_P、DIR_M、またはSTART です。

W#16#3005

START は"絶対ステップアプローチ"運転モードでしか許可されません。DIR_P または
DIR_M で実行を開始します。

W#16#3006

直線軸、および"絶対ステップアプローチ"運転モードでは、DIR_P または DIR_M は使用できません。START で実行を開始します。

W#16#3007

軸は同期されません。"絶対ステップアプローチ"が可能なのは、同期軸を使用している場合だけです。

W#16#3008

作業範囲をクリアします。作業位置への復帰運転ができるのは、ジョグモードの場合に限ります。

W#16#3101

軸にパラメータが設定されていないため、開始が有効になりません。HWConfig を使用
して"位置決め"サブモジュールにパラメータを設定します。

W#16#3102

ドライブが有効になっていないため、開始が有効になりません。SFB で"ドライブの有効化"(DRV_EN=TRUE)を設定します。

W#16#3103

STOP が設定されているため、開始が有効になりません。SFB で STOP をクリアします(STOP=FALSE)。

W#16#3104

ドライブが現在位置決め運転を実行している(WORKING=TRUE)ため、開始が有効になりません。現在の位置決め運転が終わるのを待ちます。

W#16#3105

保留中のエラーが少なくとも 1 つクリアされていないため、開始が有効になりません。
まず、外部エラーをすべて除去およびクリアしてから、運転を再開します。

W#16#3201

SPEED の速度セットポイントが間違っています。デジタル出力による位置決めでは、"低速" (0)と"高速" (1)以外使用できません。

W#16#3301

切り替え/カットオフ差が大きすぎます。最大切り替え/カットオフ差 10 を設定します。 8

W#16#3303

切り替え差が小さすぎます。切り替え差は、カットオフ差より大きいか等しくなっている必要があります。

W#16#3304

カットオフ差が小さすぎます。カットオフ差は、少なくともターゲット範囲のサイズの半分は必要です。

W#16#3401

ターゲット設定が、作業範囲内に入っていません。直線軸とステップアプローチでは、
ターゲット設定は、ソフトウェアリミットスイッチ(を含む)の範囲内に入っている必要があります。

W#16#3402

ターゲット設定が間違っています。回転軸では、ターゲット設定は、0 より大きく、回転
軸終了値より小さくなっている必要があります。

W#16#3403

距離設定が間違っています。相対ステップアプローチの移動距離セットポイントは正になっている必要があります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

553

コンパクト CPU 用の SFB
28.2 SFB 46 "DIGITAL"を使用したデジタル出力による位置決め
イベントクラス
エラーコード説明

W#16#3404

距離設定が間違っています。この結果、つまり絶対ターゲット座標は−5x10 より大きくなっている必要があります。 8

W#16#3405

距離設定が間違っています。この結果、つまり絶対ターゲット座標は 5x10 より小さくなっている必要があります。 8

W#16#3406

距離設定が間違っています。この結果、つまり絶対ターゲット座標は、作業範囲(+/−ター
ゲット範囲の半分)内に入っている必要があります。

W#16#3501

移動距離が長すぎます。ターゲット座標+現在の残りの距離が、−5x10 8 より大きいか等しくなっている必要があります。

W#16#3502

移動距離が長すぎます。ターゲット座標+現在の残りの距離が、5x10 8 より小さいか等しくなっている必要があります。

W#16#3503

移動距離が短すぎます。+方向の移動距離は、+方向の指定カットオフ距離より大きくなっている必要があります。

W#16#3504

移動距離が短すぎます。−方向の移動距離は、−方向の指定カットオフ距離より大きくなっている必要があります。

W#16#3505

移動距離が短すぎるか、+方向のリミットスイッチが既に動作しています。+方向の最後のアプローチ可能ターゲット(作業範囲または移動距離制限)が現在のポジションに近すぎます。

W#16#3506

移動距離が短すぎるか、−方向のリミットスイッチが既に動作しています。−方向の最後のアプローチ可能ターゲット(作業範囲または移動距離制限)が現在のポジションに近すぎます。

ジョブエラー(JOB_ERR = TRUE)
エラーが検出されると、出力パラメータ JOB_ERROR が TRUE に設定されます。JOB_STAT パラ
メータは、エラーの原因を示します。
イベントクラス
エラーコード説明

W#16#4001

軸にパラメータが設定されていません。HWConfig を使用して"位置決め"サブモジュールにパラメータを設定します。

W#16#4002

位置決めを実行中なので、ジョブを実行できません。ジョブを実行できるのは、位置決め
運転を実行していない場合に限ります。WORKING = FALSE になるまで待って、ジョブを繰り返します。

W#16#4004

ジョブが不明です。ジョブ ID をチェックした後、このジョブを繰り返します。

W#16#4101

直線軸では、リファレンスポイント座標が作業範囲外にあることが必要です。

W#16#4102

直線軸では、指定したリファレンスポイント座標+現在の残りの距離が、−5x10 より大きいか等しくなっている必要があります。 8

W#16#4103

直線軸では、指定したリファレンスポイント座標+現在の残りの距離が、5x10 より小さい
か等しくなっている必要があります。 8

W#16#4104

直線軸では、指定したリファレンスポイント座標+開始ポイントまでの現在の残りの距離が、−5x10 より大きいか等しくなっている必要があります。 8

W#16#4105

直線軸では、指定のリファレンスポイント座標+運転の開始ポイントまでの現在の残りの差が、−5x10 より小さいか等しくなっている必要があります。 8

W#16#4106

回転軸では、リファレンスポイント座標は、0 以上、回転軸端未満になっている必要があります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2554

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.2 SFB 46 "DIGITAL"を使用したデジタル出力による位置決め

外部エラー(ERR)
技術回路は、運転、移動距離、および接続されている周辺装置をモニタします。"ドライブ"、"軸"、および"エンコーダ"の各パラメータ画面フォームでモニタをオンしていることが前提条件となります。
モニタユニットがトリガされると、外部障害がレポートされます。開始した操作によって、発生する外部エラーが違ってきます。必ず、ERR_A = TRUE を使用して、外部エラーをクリアする必要があります。
SFB パラメータ ERR (WORD)の各セットビットは、次の外部エラーを示します。
モニタ

エラーコードERR-WORD のビット

ゼロパルス(ゼロマーク)

W#16#0004

2

移動距離

W#16#0800

11

作業範囲

W#16#1000

12

現在値

W#16#2000

13

ターゲットアプローチ

W#16#4000

14ターゲット範囲

W#16#8000

15

システムエラー
システムエラーは、BIE = FALSE で示されます。インスタンス DB の読み書き中にエラーが発生したり、SFB の多重呼び出しを実行したりすると、システムエラーが発生します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

555

コンパクト CPU 用の SFB
28.3 SFB 47 "COUNT"によるカウンタの制御

28.3

SFB 47 "COUNT"によるカウンタの制御

説明
ユーザープログラムを使用して位置決めファンクションを制御するには、SFB COUNT ( SFB 47)
を使用します。
以下の操作を実行できます。
•

ソフトウェアゲート SW_GATE を使用して、カウンタを開始/停止できます。

•

出力 DO を有効化/制御できます。

•

STS_CMP、STS_OFLW、STS_UFLW、および STS_ZP の各ステータスビットをリトリーブ
できます。

•

現在のカウンタ値 COUNTVAL をリトリーブできます。

•

内部カウンタレジスタを読み書きするジョブ•

現在の周期期間 TIMEVAL をリトリーブできます。

パラメータ
パラメータ

宣言

データ
タイプ

アドレス(イン 値の範囲
スタンス DB)

デフォルト

LADDR

INPUT

WORD

0

W#16#0300 サブモジュールの I/O
アドレス。"HW Config"
で指定される。

CPU 固有説明

E アドレスと A アドレスが異なる場合、この
2 つのアドレスの小さい方を指定する必要がある。
CHANNEL

INPUT

INT

2

CPU 312C:
0～1
CPU 313C:
0～2
CPU 314C:
0～3

SW_GATE

INPUT

BOOL

4.0

TRUE/FALSE FALSE

カウンタ開始/停止用
ソフトウェアゲート

CTRL_DO

INPUT

BOOL

4.1

TRUE/FALSE FALSE

イネーブル出力

SET_DO

INPUT

BOOL

4.2

TRUE/FALSE FALSE

出力の制御

JOB_REQ

INPUT

BOOL

4.3

TRUE/FALSE FALSE

ジョブの初期化(信号立ち上がり)

0

チャンネル番号S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2556

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.3 SFB 47 "COUNT"によるカウンタの制御
パラメータ

宣言

データ
タイプ

アドレス(イン 値の範囲
スタンス DB)

デフォルト

JOB_ID

INPUT

WORD

6

W#16#0000 ジョブ番号

W#16#0000
ファンクショ
ンなしのジョ
ブ

説明

W#16#0001
カウント値の書き込み
W#16#0002
ロード値の書き込み
W#16#0004
比較値の書き込み
W#16#0008
ヒステリシス
の書き込み
W#16#0010
パルス周期の書き込み
W#16#0082
ロード値の読み取り
W#16#0084
比較値の読み取り
W#16#0088
ヒステリシスの読み取り
W#16#0090
パルス周期の読み取り
JOB_VAL

INPUT

DINT

8

−2 31 ～

0

書き込みジョブの値。

+2 31 −1
STS_GATEOUTPUT

BOOL

12.0

TRUE/FALSE FALSE

内部ゲートのステータス

STS_STRTOUTPUT

BOOL

12.1

TRUE/FALSE FALSE

ハードウェアゲートのステータス(入力開始)

STS_LTCH

OUTPUT

BOOL

12.2

TRUE/FALSE FALSE

ラッチ入力のステータス

STS_DOOUTPUT

BOOL

12.3

TRUE/FALSE FALSE

ステータスの出力

STS_C_DNOUTPUT

BOOL

12.4

TRUE/FALSE FALSE

逆方向のステータス
表示は必ず、カウントの最後の方向になる。
SFB の最初の呼び出し
後、STS_C_DN が
FALSE になる。

STS_C_UPOUTPUT

BOOL

12.5

TRUE/FALSE FALSE

順方向のステータス
表示は必ず、カウントの最後の方向になる。
SFB の最初の呼び出し
後、STS_C_DN がTRUE になる。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

557

コンパクト CPU 用の SFB
28.3 SFB 47 "COUNT"によるカウンタの制御
パラメータ

宣言

データ
タイプ

アドレス(イン 値の範囲
スタンス DB)

デフォルト

説明

COUNTVALOUTPUT

DINT

14

0

実際のカウント値0

実際のラッチ値−2 31 ～
+2 31 -1

LATCHVALOUTPUT

DINT

18−2 31 ～
+2 31 -1

JOB_DONEOUTPUT

BOOL

22.0

TRUE/FALSE TRUE

新規ジョブを開始できる。

JOB_ERROUTPUT

BOOL

22.1

TRUE/FALSE FALSE

ジョブ不良

JOB_STATOUTPUT

WORD

24

0～
W#16#FFFF

ジョブエラー番号0

注記
コンフィグレーションインターフェースを使用して"Reaction of the output"パラメータを"Nocomparison"に設定すると、以下の事柄が有効になります。
•

通常出力と同じ方法で出力が切り替わります。

•

SFB の CTRL_DO と SET_DO の各入力パラメータが無効です。
ステータスビット STS_DO と STS_CMP (IDB 内の比較値のステータス)が、リセットされたままになります。

•

ブロックに割り付けられていないパラメータ(統計的ローカルデータ)
パラメータ

宣言

データ
タイプ

STS_CMPSTATIC BOOL

アドレス(イン 値の範囲
スタンス DB)
26.3

デフォルト 説明TRUE/FALSE FALSE

比較値のステータス
RES_STS によるリセット
ステータスビット
STS_CMP は、比較値の比較の条件が満足されている、または満足されていたことを示す。
STS_CMP は、出力が設定されなかったことも示す(STS_DO = TRUE)。

STS_OFLWSTATIC BOOL

26.5

TRUE/FALSE FALSE

オーバーフローのステー
タス=RES_STS によるリセット

STS_UFLWSTATIC BOOL

26.6

TRUE/FALSE FALSE

アンダーフローのステー
タス=RES_STS によるリセット

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2558

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.3 SFB 47 "COUNT"によるカウンタの制御
パラメータ

宣言

データ
タイプ

STS_ZPSTATIC BOOL

アドレス(イン 値の範囲
スタンス DB)
26.7

デフォルト 説明TRUE/FALSE FALSE

ゼロクロシングのステー
タス
RES_STS によるリセット
マスタカウント方向のないカウンタにだけ設定される。
ゼロクロシングを示す。
カウンタが 0 に設定される場合、またはカウンタ
がロード値=0 からカウントを開始する場合にも設定される。

JOB_OVAL

STATIC DINT28

−2 31 ～

0

読み取りジョブの出力値。

+2 31 −1
RES_STSSTATIC BOOL

32.2

TRUE/FALSE FALSE

ステータスビットのリセット
STS_CMP、
STS_OFLW、
STS_UFLW、および
STS_ZP の各ステータス
ビットをリセットする。
ステータスビットをリセッ
トするには、SFB を 2 回呼び出す必要がある。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

559

コンパクト CPU 用の SFB
28.3 SFB 47 "COUNT"によるカウンタの制御

注記
SFB 47 の使用に関する詳細情報については、『S7-300 プログラマブルコントローラ』『CPU 31xC
テクノロジファンクション』を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2560

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.3 SFB 47 "COUNT"によるカウンタの制御

エラー情報
ジョブエラー
ジョブエラーが発生すると、JOB_ERR = TRUE が設定されます。正確なエラー発生原因が、
JOB_STAT に表示されます。
イベントクラス
エラーコード説明

W#16#0121

比較値が小さすぎます。

W#16#0122

比較値が大きすぎます。

W#16#0131

ヒステリシスが小さすぎます。

W#16#0132

ヒステリシスが大きすぎます。

W#16#0141

パルス周期が短すぎます。

W#16#0142

パルス周期が長すぎます。

W#16#0151

ロード値が小さすぎます。

W#16#0152

ロード値が大きすぎます。

W#16#0161

カウンタ値が小さすぎます。

W#16#0162

カウンタ値が大きすぎます。

W#16#01FF

ジョブ番号が不正です。

システムエラー
システムエラーが発生すると、BIE = False が設定されます。
イベントクラス
エラーコード説明

W#16#8001

動作モードが間違っているか、パラメータが不良です。[ハードウェアのコンフィグレー
ション]で適切な動作モードを設定するか、設定した動作モードと一致する SFB を使用します。

W#16#8009

チャンネル番号が不正です。チャンネル番号 ≤ 3 (CPU 固有値)を設定します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

561

コンパクト CPU 用の SFB
28.4 SFB 48 "FREQUENCY"による周波数測定の制御

28.4

SFB 48 "FREQUENCY"による周波数測定の制御

説明
ユーザープログラムを使用すれば周波数カウンタを操作できます。この場合、SFB FREQUENC(SFB48)を使用する必要があります。
以下の操作を実行できます。
•

ソフトウェアゲート SW_GATE を使用して、カウンタを開始/停止できます。

•

出力 DO を有効化/制御できます。

•

STS_CMP、STS_OFLW、および STS_UFLW の各ステータスビットをリトリーブできます。

•

現在の周波数値 MEAS_VAL をリトリーブできます。

•

内部周波数カウンタレジスタを読み書きするジョブ

パラメータ
パラメータ

宣言

データ アドレス(イン 値の範囲
タイプ スタンス DB)

デフォルト

LADDR

INPUT

WORD 0W#16#0300 サブモジュールの I/O アド
レス。"HW Config"で指定される。

CPU 固有説明I アドレスと O アドレスが異なる場合、この 2 つのア
ドレスの小さい方を指定する必要がある。
CHANNEL

INPUT

INT

2

CPU 312C:
0～1
CPU 313C:
0～2
CPU 314C:
0～3

SW_GATE

INPUT

BOOL

4.0

TRUE/FALSE FALSE

周波数測定開始/停止用ソフトウェアゲート

MAN_DO

INPUT

BOOL

4.1

TRUE/FALSE FALSE

手動出力制御を有効にする。

SET_DO

INPUT

BOOL

4.2

TRUE/FALSE FALSE

出力の制御

JOB_REQ

INPUT

BOOL

4.3

TRUE/FALSE FALSE

ジョブの初期化(信号立ち上がり)

0チャンネル番号S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2562

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.4 SFB 48 "FREQUENCY"による周波数測定の制御
パラメータ

宣言

データ アドレス(イン 値の範囲
タイプ スタンス DB)

デフォルト

説明

JOB_ID

INPUT

WORD 6

0

ジョブ番号

0

書き込みジョブの値。

W#16#0000 =ファンクション
なしのジョブ
W#16#0001 =下限の書き込み
W#16#0001 =上限の書き込み
W#16#0004 =積分時間の書き込み
W#16#0081 =
下限の読み取り
W#16#0081 =
上限の読み取り
W#16#0084 =
積分時間の読み取り

JOB_VAL

INPUT

DINT

8

−2 31 ～
+2 31 −1

STS_GATE OUTPUT

BOOL

12.0

TRUE/FALSE FALSE

内部ゲートのステータス

STS_STRTOUTPUT

BOOL

12.1

TRUE/FALSE FALSE

ハードウェアゲートのス
テータス(入力開始)

STS_DOOUTPUT

BOOL

12.2

TRUE/FALSE FALSE

ステータスの出力

STS_C_DNOUTPUT

BOOL

12.3

TRUE/FALSE FALSE

逆方向のステータス
表示は必ず、カウントの最後の方向になる。SFBの最初の呼び出し後、
STS_C_DN が FALSE になる。

STS_C_UPOUTPUT

BOOL

12.4

TRUE/FALSE FALSE

順方向のステータス
表示は必ず、カウントの最後の方向になる。SFBの最初の呼び出し後、
STS_C_DN が TRUE になる。

MEAS_VAL OUTPUT

DINT

14

0～+2 31 −10

実際の周波数値

COUNTVAL OUTPUT

DINT

18

−2 31 ～

0

+2 31 −1

実際のカウント値(ゲートが開くたびに、0 から開始
される)

JOB_DONE OUTPUT

BOOL

22.0

TRUE/FALSE TRUE

新規ジョブを開始できる。

JOB_ERROUTPUT

BOOL

22.1

TRUE/FALSE FALSE

ジョブ不良

JOB_STATOUTPUT

WORD 24

W#16#0000～
W#16#FFFF

W#16#0000 ジョブエラー番号

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

563

コンパクト CPU 用の SFB
28.4 SFB 48 "FREQUENCY"による周波数測定の制御

注記
コンフィグレーションインターフェースを使用して"Reaction of the output"パラメータを"Nocomparison"に設定すると、以下の事柄が有効になります。
•

通常出力と同じ方法で出力が切り替わります。

•

SFB の MAN _DO と SET_DO の各入力パラメータが無効です。

•

ステータスビット STS_DO は、リセットされたままになります。

ブロックに割り付けられていないパラメータ(統計的ローカルデータ)
パラメータ

宣言

データ
タイプ

アドレス(イン 値の範囲
スタンス DB)

STS_CMPSTATIC

BOOL

26.3

デフォルト 説明TRUE/FALSE FALSE

測定終了のステータス
RES_STS によるリセット
時間間隔が満了するたびに、測定値が更新される。
ここで、STS_CMP ステー
タスビットにより、測定の終了がレポートされる。

STS_OFLW STATIC

BOOL

26.5

TRUE/FALSE FALSE

オーバーフローのステー
タス RES_STS によるリセット

STS_UFLW STATIC

BOOL

26.6

TRUE/FALSE FALSE

アンダーフローのステー
タス RES_STSによるリセ
ット

JOB_OVAL STATIC

DINT

28

−2 31 ～

0

読み取りジョブの出力値。

2 31 −1
RES_STSSTATIC

BOOL

32.2

TRUE/FALSE FALSE

ステータスビットのリセット
STS_CMP、
STS_OFLW、STS_UFLWの各ステータスビットをリセットする。
ステータスビットをリセッ
トするには、SFB を 2 回呼び出す必要がある。

注記
SFB 48 の使用に関する詳細情報については、『S7--300 プログラマブルコントローラ』『CPU 31xC
テクノロジファンクション』を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2564

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.4 SFB 48 "FREQUENCY"による周波数測定の制御

ジョブエラー
ジョブエラーが発生すると、JOB_ERR = TRUE が設定されます。正確なエラー発生原因が、
JOB_STAT に表示されます。
イベントクラス
エラーコード説明

W#16#0221

積分時間が短すぎます。

W#16#0222

積分時間が長すぎます。

W#16#0231

周波数の下限が小さすぎます。

W#16#0232

周波数の上限が大きすぎます。

W#16#0241

周波数の上限が小さすぎます。

W#16#0242

周波数の上限が大きすぎます。

W#16#02FF

ジョブ番号が不正です。

システムエラー
システムエラーが発生すると、BIE = False が設定されます。
イベントクラス
エラーコード説明

W#16#8001

動作モードが間違っているか、パラメータが不良です。[ハードウェアのコンフィグレー
ション]で適切な動作モードを設定するか、設定した動作モードと一致する SFB を使用します。

W#16#8009

チャンネル番号が不正です。チャンネル番号 ≤ 3 (CPU 固有値)を設定します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

565

コンパクト CPU 用の SFB
28.5 SFB 49 "PULSE"によるパルス幅変調の制御

28.5

SFB 49 "PULSE"によるパルス幅変調の制御

説明
ユーザープログラムを使用してパルス幅変調を制御するには、SFB ANALOG (SFB 49)を使用します。
以下の操作を実行できます。
•

ソフトウェアゲート SW_GATE を使用して、操作を開始/停止できます。

•

出力 DO を有効化/制御できます。

•

STS_EN、STS_START、および STS_DO の各ステータスビットをリトリーブできます。

•

出力値の入力•レジスタを読み書きするジョブ

パラメータ
パラメータ

宣言

データ
タイプ

アドレス(イン 値の範囲
スタンス DB)

デフォルト

LADDR

INPUT

WORD

0

W#16#0300 サブモジュールの I/O アド
レス。"HW Config"で指定される。

CPU 固有意味

E アドレスと A アドレスが異なる場合、この 2 つのア
ドレスの小さい方を指定する必要がある。
CHANNEL

INPUT

INT

2

CPU 312C:
0～1
CPU 313C:
0～2
CPU 314C:
0～30

チャンネル番号

SW_EN

INPUT

BOOL

4.0

TRUE/FALSE

FALSE

出力開始/停止用ソフトウェ
アゲート

MAN_DO

INPUT

BOOL

4.1

TRUE/FALSE

FALSE

手動出力制御を有効にする。

SET_DO

INPUT

BOOL

4.2

TRUE/FALSE

FALSE

出力の制御

INT

6.0

単位: ppm:0～1,000

0

デフォルト出力値

OUTP_VAL INPUT

1,000 または 27648 より大
きい出力値を入力すると、CPU は出力値を 1,000 または 27,648 に制限する。

S7 アナログ値
として:0～27,648
JOB_REQ

INPUT

BOOL

8.0

TRUE/FALSE

FALSE

ジョブの初期化(信号立ち上がり)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2566

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.5 SFB 49 "PULSE"によるパルス幅変調の制御
パラメータ

宣言

データ
タイプ

アドレス(イン 値の範囲
スタンス DB)JOB_ID

INPUT

WORD

10

デフォルト

意味

W#16#0000 =W#16#0000 ジョブ番号
ファンクション
なしのジョブ
W#16#0001 =期間の書き込み
W#16#0001 =オンディレイの書き込み
W#16#0004 =最小パルス周期の書き込み
W#16#0081 =
期間の読み取り
W#16#0081 =オンディレイの読み取り
W#16#0084 =
最小パルス周期の読み取り

JOB_VALINPUT

STS_EN12−2 31 ～+2 31 −1 0

書き込みジョブの値。

OUTPUT BOOL

16.0

TRUE/FALSE

FALSE

ステータスを有効にする。

STS_STRT OUTPUT BOOL

16.1

TRUE/FALSE

FALSE

ハードウェアゲートのス
テータス(入力開始)

STS_DODINTOUTPUT BOOL

16.2

TRUE/FALSE

FALSE

ステータスの出力

JOB_DONE OUTPUT BOOL

16.3

TRUE/FALSE

TRUE

新規ジョブを開始できる。

JOB_ERR

16.4

TRUE/FALSE

FALSE

ジョブ不良

18

W#16#0000～
W#16#FFFF

W#16#0000 ジョブエラー番号

OUTPUT BOOLJOB_STAT OUTPUT WORD

ブロックに割り付けられていないパラメータ(統計的ローカルデータ)
パラメータ

宣言

データ
タイプ

アドレス(インスタンス DB)

値の範囲

デフォルト

説明

JOB_OVALOUTPUT

DINT

20−2 31 ～

0

読み取りジョブの出力値。

2 31 −1

注記
SFB 49 の使用に関する詳細情報については、『S7--300 プログラマブルコントローラ』『CPU 31xC
テクノロジファンクション』を参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

567

コンパクト CPU 用の SFB
28.5 SFB 49 "PULSE"によるパルス幅変調の制御

ジョブエラー
ジョブエラーが発生すると、JOB_ERR = TRUE が設定されます。正確なエラー発生原因が、
JOB_STAT に表示されます。
イベントクラス
エラーコード説明

W#16#0411

周期が短すぎます。

W#16#0412

周期が長すぎます。

W#16#0421

オンディレイが短すぎます。

W#16#0422

オンディレイが長すぎます。

W#16#0431

最小パルス周期が短すぎます。

W#16#0432

最小パルス周期が長すぎます。

W#16#04FF

ジョブ番号が不正です。

システムエラー
システムエラーが発生すると、BIE = False が設定されます。
イベントクラス
エラーコード説明

W#16#8001

動作モードが間違っているか、パラメータが不良です。[ハードウェアのコンフィグレー
ション]で適切な動作モードを設定するか、設定した動作モードと一致する SFB を使用します。

W#16#8009

チャンネル番号が不正です。チャンネル番号 ≤ 3 (CPU 固有値)を設定します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2568

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.6 SFB 60 "SEND_PTP"によるデータ (ASCII、3964(R))の送信

28.6

SFB 60 "SEND_PTP"によるデータ (ASCII、3964(R))の送信

説明
SFB SEND_PTP (SFB 60)を使用すれば、DB からデータブロックを転送できます。
ブロックを呼び出し、制御入力 REQ で信号立ち上がりが検出されると、送信操作が実行されます。
転送するデータの範囲は、SD_1 (DB 番号と開始アドレス)で特定されます。データブロックの長さはLEN で特定されます。
SFB がジョブを処理できるようにするには、R(Reset)=FALSE を使用して SFB を呼び出す必要があります。制御入力 R の信号立ち上がりで、現在の転送が中止され、SFB は基本状態にリセットされます。中止されたジョブが終了し、エラーメッセージが表示されます(STATUS 出力)。
サブモジュールでは、I/O アドレスを宣言します。この I/O アドレスは、LADDR の"HW Config"で指定されています。
ジョブの終了時にエラーが表示されないと、DONE が TRUE に設定されます。ジョブの終了時にエラーが表示されると、ERROR が TRUE に設定されます。
DONE=TRUE 状態でジョブを処理した場合、これには以下の意味があります。
•

ASCII ドライバを使用している場合: データが通信パートナーに転送されました。ただし、データがすべて通信パートナーにより受信されているとは限りません。

•

手順 3964(R)使用している場合: データが通信パートナーに転送されました。データは、このパートナーにより肯定応答されました。ただし、データが通信パートナーに引き渡されたとは限りません。

STATUS で、CPU はエラーを示します。または、警告の結果、個々のイベント ID を示します。
SFB が RESET (R=TRUE)されると、DONE または ERROR/STATUS も出力されます。
エラーが発生すると、バイナリリザルト BIE がリセットされます。ブロックが終了してエラーが表示されると、バイナリリザルトのステータスが TRUE になります。
注記
SFB にパラメータチェックは指定されていません。パラメータ設定が不良な場合、CPU が STOP
モードになることがあります。

インスタンス DB
SFB SEND_PTP は、インスタンス OB と一緒に動作します。この呼び出しにより、DB 番号が引き渡されます。インスタンス DB のデータへはアクセスできません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

569

コンパクト CPU 用の SFB
28.6 SFB 60 "SEND_PTP"によるデータ (ASCII、3964(R))の送信

パラメータ
パラメータ

宣言

データ
タイプ

値の範囲

デフォルト

説明

REQ

INPUT

BOOL

TRUE/FALSE FALSE

コントロールパラメータ"Request": 信号立ち上がりでデータ交換を有効にする。

R

INPUT

BOOL

TRUE/FALSE FALSE

コントロールパラメータ"Reset"。ジョブが中止される。転送がロックされる。

LADDR

INPUT

WORD

CPU 固有DONE

OUTPUT

BOOL

TRUE/FALSE FALSE

W#16#03FF サブモジュールの I/O アドレス。"HW
Config"で指定される。
ステータスパラメータ(このパラメータが設定されるのは、1 つの呼び出しの持続
期間中に限られる):
1.

FALSE ジョブが開始されなかったか、まだ実行されている

2.

TRUE ジョブが実行され、エラーは発生しなかった。

エラー

OUTPUT

BOOL

TRUE/FALSE FALSESTATUSOUTPUT

WORD

W#16#0000～ W#16#0000 ステータスパラメータ(このパラメータがW#16#FFFF
設定されるのは、1 つの呼び出しの持続
期間中に限られる): ステータスを表示す
るには、未使用データ領域に STATUS をコピーする必要がある)

ステータスパラメータ(このパラメータが設定されるのは、1 つの呼び出しの持続
期間中に限られる):ジョブが完了し、エラーは発生しなかった。

STATUS には、エラービットに応じて、以下の意味がある。
• ERROR=FALSE:STATUS には値 W#16#0000 が指定される。警告にもエラーSTATUS にも、W#16#0000 以外の値は指定されない。警告の場合、STATUS では、詳細情報が表示される。
• ERROR=TRUE:
エラーが発生した。STATUS では、エラーのタイプに関する詳細情報が表示される。
SD_1

INPUT/OUTPUTANY

CPU 固有0

送信パラメータ
ここでは、以下の値を入力します。
1st 転送するデータの開始 DB 番号。
2nd 転送するデータのデータバイト番号。
たとえば、転送元が DB 10、データの先頭がバイト 2 なら、DB10.DBB2 とする。
S7-300 CPU の場合、パラメータ SD_1
が、常に、DB パラメータの完全な指定(たとえば、P#DB13.DBX0.0 バイト 100)を必要とすることに注意してください。
明示的な DB 番号の省略は S7-300 CPU
では許可されていないため、ユーザープロ
グラムでエラーメッセージが発生します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2570

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.6 SFB 60 "SEND_PTP"によるデータ (ASCII、3964(R))の送信
パラメータ

宣言

データ
タイプ

値の範囲

デフォルト

説明

LEN

INPUT/OUTPUTINT

1 - 10241

ここで、転送するデータブロックの長さを宣言する。(ここで、長さは間接的に設定される)

データの一貫性
データ一貫性は、206 バイトに制限されます。206 バイトを超える一貫性のデータの転送が必要な場合、以下のことを考慮する必要があります。
送信範囲 SD_1 の現在使用されているセクションに書き込めるのは、転送が終了した後に限ります。
つまり、ステータスパラメータ DONE の値が TRUE になると、書き込みが可能になります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

571

コンパクト CPU 用の SFB
28.7 SFB 61 "RCV_PTP"によるデータ(ASCII、3964(R))の受信

28.7

SFB 61 "RCV_PTP"によるデータ(ASCII、3964(R))の受信説明
SFB RCV_PTP (SFB 61)を使用すれば、データを受信した後、これのデータをデータブロックにファイルできます。
ブロックが呼び出され、制御入力 EN_R が TRUE になると、このブロックはデータを受信する準備が整います。パラメータ EN_R の信号ステータスを FALSE に設定すれば、現在の転送をキャンセルできます。キャンセルされたジョブが終了し、エラーメッセージが表示されます(STATUS 出力)。
パラメータ EN_R の信号ステータスが FALSE に設定されている限り、入力はオフされます。
受信領域は、RD_1 で宣言されます(DB 番号と開始アドレス)。データブロックの長さは LEN で宣言されます。
SFB がジョブを処理できるようにするには、R(Reset)=FALSE を使用して SFB を呼び出す必要があります。制御入力 R の信号立ち上がりで、現在の転送が中止され、SFB は基本状態にリセットされます。キャンセルされたジョブが終了し、エラーメッセージが表示されます(STATUS 出力)。
サブモジュールでは、I/O アドレスを宣言します。この I/O アドレスは、LADDR の"HW Config"で指定されています。
ジョブの終了時にエラーが表示されないと、NDR が TRUE に設定されます。ジョブの終了時にエラーが表示されると、ERROR が TRUE に設定されます。
STATUS で、CPU はエラーを示します。または、警告の結果、個々のイベント ID を示します。
SFB が RESET (R=TRUE)されると、NDR または ERROR/STATUS も出力されます(パラメータ LEN= 16#00)。
エラーが発生すると、バイナリリザルト BIE がリセットされます。ブロックが終了してエラーが表示されると、バイナリリザルトのステータスが TRUE になります。
注記
SFB にパラメータチェックは指定されていません。コンフィグレーションが不良な場合、CPU が
STOP モードになることがあります。

インスタンス DB
SFB RCV_PTP は、インスタンス OB と一緒に動作します。この呼び出しにより、DB 番号が引き渡されます。インスタンス DB のデータへはアクセスできません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2572

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.7 SFB 61 "RCV_PTP"によるデータ(ASCII、3964(R))の受信

パラメータ
パラメーター

宣言

データ
タイプ

値の範囲

デフォルト

説明

EN_R

INPUT

BOOL

TRUE/FALSE FALSE

コントロールパラメータ"Enable to receive":
受信を有効にする。

R

INPUT

BOOL

TRUE/FALSE FALSE

コントロールパラメータ"Reset"。
ジョブが中止される。

LADDR

INPUT

WORD

CPU 固有NDR

OUTPUT

BOOL

TRUE/FALSE FALSE

W#16#03FF サブモジュールの I/O アドレス。"HW
Config"で指定される。
ジョブが終了し、エラーは発生しなかった。
データは受け入れられた。
•

FALSE ジョブが開始されなかったか、まだ実行されている•

TRUE ジョブが正常終了した。

エラー

OUTPUT

BOOL

TRUE/FALSE FALSESTATUSOUTPUT

WORD

W#16#0000～ W#16#0000 ステータスパラメータ(このパラメータが設定されるのは、1 つの呼び出しの持続期
W#16#FFFF
間中に限られる): ステータスを表示するには、未使用データ領域に STATUS をコピーする必要がある)

ステータスパラメータ(このパラメータが設定されるのは、1 つの呼び出しの持続期
間中に限られる):ジョブが完了し、エラーは発生しなかった。

STATUS には、エラービットに応じて、以下の意味がある。

RD_1

INPUT/OUTPUTANY

CPU 固有0•

ERROR=FALSE:STATUS には値 W#16#0000 が指定される。警告にもエラーSTATUS にも、W#16#0000 以外の値は指定されない。警告の場合、STATUS では、詳細情報が表示される。

•

ERROR=TRUE:
エラーが発生した。STATUS では、エラーのタイプに関する詳細情報が表示される。

受信パラメータ
ここでは、以下の宣言をする。
1st 受信したデータを保存する DB の番号。
2nd 保存するデータの先頭データバイト
番号
たとえば、保存先が DB 20、データの先頭がバイト 5 なら、DB20.DBB5 とする。
S7-300 CPU の場合、パラメータ RD_1
が、常に、DB パラメータの完全な指定(たとえば、P#DB13.DBX0.0 バイト 100)を必要とすることに注意してください。明示的な DB 番号の省略は S7-300 CPU では許可されていないため、ユーザープログラムでエラーメッセージが発生します。

LEN

INPUT/OUTPUT

INT

0～10240

データ長さの出力(バイト数)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

573

コンパクト CPU 用の SFB
28.7 SFB 61 "RCV_PTP"によるデータ(ASCII、3964(R))の受信

データの一貫性
データ一貫性は、206 バイトに制限されます。これらの 206 バイトを超える一貫性のデータの転送が必要な場合、以下のことを考慮する必要があります。
受信 DB にアクセスできるのは、データを完全に受信し終わった(NDR = TRUE)後に限ります。
その後、データの処理が終わるまで、受信 DB をロックします(EN_R = FALSE)。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2574

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.8 SFB 62 "RES_RCVB"による受信バッファ(ASCII、3964(R))の削除

28.8

SFB 62 "RES_RCVB"による受信バッファ(ASCII、3964(R))の削除

説明
SFB RES_RECV (SFB 62)を使用すれば、モジュールの入力バッファ全体をクリアできます。保存
したテレグラムはすべて破棄されます。SFB RES_RCVB が呼び出されると、着信メッセージフレームが保存されます。
ブロックを呼び出し、制御入力 REQ で信号立ち上がりが検出されると、ジョブが実行されます。
ジョブは、複数の呼び出しにわたって実行できます(プログラムサイクル)。
SFB がジョブを処理できるようにするには、R(Reset)=FALSE を使用して SFB を呼び出す必要があります。制御入力 R の信号立ち上がりで、削除プロセスがキャンセルされ、SFB は基本状態にリセットされます。キャンセルされたジョブが終了し、エラーメッセージが表示されます(STATUS
出力)。
サブモジュールでは、I/O アドレスを宣言します。この I/O アドレスは、LADDR の"HW Config"で指定されています。
ジョブの終了時にエラーが表示されないと、DONE が TRUE に設定されます。ジョブの終了時にエラーが表示されると、ERROR が TRUE に設定されます。
STATUS で、CPU はエラーを示します。または、警告の結果、個々のイベント ID を示します。
SFB が RESET (R=TRUE)されると、DONE または ERROR/STATUS も出力されます。
エラーが発生すると、バイナリリザルト BIE がリセットされます。ブロックが終了してエラーが表示されると、バイナリリザルトのステータスが TRUE になります。
注記
SFB にパラメータチェックは指定されていません。パラメータ設定が不良な場合、CPU が STOP
モードになることがあります。

インスタンス DB
SFB RES_RCVB は、インスタンス OB と一緒に動作します。この呼び出しにより、DB 番号が引き渡されます。インスタンス DB のデータへはアクセスできません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

575

コンパクト CPU 用の SFB
28.8 SFB 62 "RES_RCVB"による受信バッファ(ASCII、3964(R))の削除

パラメータ
パラメータ

宣言

データ
タイプ

値の範囲

デフォルト 説明

REQ

INPUT

BOOL

TRUE/FALSE FALSE

コントロールパラメータ"Request": 信号立
ち上がりでジョブを有効にする。

R

INPUT

BOOL

TRUE/FALSE FALSE

コントロールパラメータ"Reset":
ジョブが中止される。

LADDR

INPUT

WORD

CPU 固有DONE

OUTPUT

BOOL

TRUE/FALSE FALSE

W#16#03FF サブモジュールの I/O アドレス。"HW
Config"で設定される。
ステータスパラメータ(このパラメータが設定されるのは、1つの呼び出しの持続期間中に限られる):•

FALSE ジョブが開始されなかったか、
まだ実行されている•

TRUEジョブが実行され、エラーは発生しなかった。

エラー

OUTPUT

BOOL

TRUE/FALSE FALSESTATUSOUTPUT

WORD

W#16#0000～ W#16#0000 ステータスパラメータ(このパラメータが設
W#16#FFFF
定されるのは、1 つの呼び出しの持続期間中に限られる): ステータスを表示するには、未使用データ領域に STATUS をコピーする必要がある)

ステータスパラメータ(このパラメータが設定されるのは、1 つの呼び出しの持続期間中に限られる):ジョブが完了し、エラーは発生しなかった。

STATUS には、エラービットに応じて、以下の意味がある。
•

ERROR=FALSE:STATUS には値 W#16#0000 が指定される。警告にもエラーSTATUS にも、
W#16#0000 以外の値は指定されない。
警告の場合、STATUS では、詳細情報が表示される。

•

ERROR=TRUE:
エラーが発生した。STATUS では、エラーのタイプに関する詳細情報が表示される。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2576

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.9 SFB 63 "SEND_RK"によるデータ(512(R))の送信

28.9

SFB 63 "SEND_RK"によるデータ(512(R))の送信

説明
SFB SEND_PTP (SFB 63)を使用すれば、データブロックからデータを送信できます。
ブロックを呼び出し、制御入力 REQ で信号立ち上がりが検出されると、送信操作が実行されます。
転送するデータの範囲は、SD_1 (DB 番号と開始アドレス)で特定されます。データブロックの長さはLEN で特定されます。
SFB で、パートナーステーションの受信範囲も宣言します。CPU は、この情報をメッセージフレーム
ヘッダに入力し(付録 F も参照)、パートナーに転送します。
R_CPU の CPU 番号(マルチプロセッサ通信の場合にだけ適切)、R_TYPE 内のデータタイプ(データ
ブロック(DB)と拡張データブロック(DX))、R_DBNO 内のデータブロック番号、および R_OFFSET
内のオフセット(このオフセットに先頭バイトを書き込みます) により、ターゲットが指定されます。
R_CF_BYT と R_CF_BIT で、パートナーCPU の接続メモリバイトとビットを宣言します。
パラメータ SYNC_DB で、起動と同期中に初期化のために SFB すべてで使用したデータを保存する DB を宣言します。ユーザープログラム内の SFB すべてで、DB 番号が同じになっている必要があります。
SFB がジョブを処理できるようにするには、R(Reset)=FALSE を使用して SFB を呼び出す必要があります。制御入力 R の信号立ち上がりで、現在の送信操作がキャンセルされ、SFB は基本状態にリセットされます。キャンセルされたジョブが終了し、エラーメッセージが表示されます(STATUS
出力)。
サブモジュールでは、I/O アドレスを宣言します。この I/O アドレスは、LADDR の"HW Config"で指定されています。
ジョブの終了時にエラーが表示されないと、DONE が TRUE に設定されます。ジョブの終了時にエラーが表示されると、ERROR が TRUE に設定されます。
DONE = TRUE でジョブが処理されると、データは、通信パートナーに送信されます。通信パート
ナーは、このデータを肯定確認した後、パートナーCPU に引き渡します。
STATUS で、CPU はエラーを示します。または、警告の結果、個々のイベント ID を示します。
SFB が RESET (R=TRUE)されると、DONE または ERROR/STATUS も出力されます。
エラーが発生すると、バイナリリザルト BIE がリセットされます。ブロックが終了してエラーが表示されると、バイナリリザルトのステータスが TRUE になります。
注記
SFB にパラメータチェックは指定されていません。CPU に割り付けられているパラメータが間違っている場合、CPU が STOP モードになることがあります。

インスタンス DB
SFB SEND_ RK は、インスタンス OB と一緒に動作します。この呼び出しにより、DB 番号が引き渡されます。インスタンス DB のデータへはアクセスできません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

577

コンパクト CPU 用の SFB
28.9 SFB 63 "SEND_RK"によるデータ(512(R))の送信

データ送信の特殊機能"データの送信"時、以下の特殊機能を考慮してください。:•

RK512 を使用すれば、偶数のデータだけ送信できます。奇数長さ(LEN)のデータを宣言すると、転送されるデータに、値"0"の充てんバイトが追加されます。

•

RK512 では、奇数オフセットだけ宣言できます。偶数オフセットを宣言すると、データは、次に小さい奇数オフセットから、パートナーステーションに保存されます。
例: オフセットが 7 の場合、データはバイト 6 から保存されます。

パラメータ
パラメータ

宣言

データ
タイプ

値の範囲

デフォルト

説明

SYNC_DB

INPUT

INT

CPU 固有、ゼ 0
ロは使用できない。

RK-SFB の同期に共通なデータを保存す
る DB の番号(最小長さ= 240 バイト)

REQ

INPUT

BOOL

TRUE/FALSE FALSE

コントロールパラメータ"Request": 信号立ち上がりでジョブを有効にする。

R

INPUT

BOOL

TRUE/FALSE FALSE

コントロールパラメータ"Reset"。
ジョブが中止される。

LADDR

INPUT

WORD

CPU 固有W#16#03FF サブモジュールの I/O アドレス。"HW
Config"で指定される。

R_CPU

INPUT

INT

0-4

1

パートナーCPU の CPU 番号です。
(マルチプロセッサ操作の場合に限られる)

R_TYPE

INPUT

CHAR

‘D’、‘X’‘D’

パートナーCPUのアドレスタイプ(大文字だけ使用できる)‘D’: データブロック‘X’: 拡張データブロック

R_DBNO

INPUT

INT

0～255

0

パートナーCPU のデータブロック番号

R_OFFSET

INPUT

INT

0 - 5100

パートナーCPU のデータバイト番号(偶数の場合に限る)
R_CF_BYT

INPUT

INT

0～255

255

パートナーCPU の接続メモリビット(255: 意味: 接続メモリビットなし)

R_CF_BIT

INPUT

INT

0～7

0

パートナーCPU の接続メモリビット

DONE

OUTPUT BOOL

TRUE/FALSE FALSE

ステータスパラメータ(このパラメータが設定されるのは、1 つの呼び出しの持続
期間中に限られる):
1st FALSE ジョブが開始されなかったか、まだ実行されている
2nd TRUE ジョブが実行され、エラーは発生しなかった。

エラー

OUTPUT BOOL

TRUE/FALSE FALSE

ステータスパラメータ(このパラメータが設定されるのは、1 つの呼び出しの持続
期間中に限られる):ジョブが完了し、エラーは発生しなかった。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2578

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.9 SFB 63 "SEND_RK"によるデータ(512(R))の送信
パラメータ

宣言

データ
タイプ

STATUSOUTPUT WORD

値の範囲

デフォルト

説明

W#16#0000～ W#16#0000 ステータスパラメータ(このパラメータがW#16#FFFF
設定されるのは、1 つの呼び出しの持続
期間中に限られる): ステータスを表示す
るには、未使用データ領域に STATUS をコピーする必要がある)
STATUS には、エラービットに応じて、以下の意味がある。

SD_1

INPUT/ANYOUTPUTCPU 固有0•

ERROR=FALSE:STATUS には値 W#16#0000 が指定される。警告にもエラーSTATUS にも、W#16#0000 以外の値は指定されない。警告の場合、STATUS では、詳細情報が表示される。

•

ERROR=TRUE:
エラーが発生した。STATUS では、エラーのタイプに関する詳細情報が表示される。

送信パラメータ
ここでは、以下の宣言をする。
1st 転送するデータの開始 DB 番号。
2nd 転送するデータのデータバイト番号。
たとえば、転送元が DB 10、データの先頭がバイト 2 なら、DB10.DBB2 とする。
S7-300 CPU の場合、パラメータ SD_1
が、常に、DB パラメータの完全な指定(たとえば、P#DB13.DBX0.0 バイト 100)を必要とすることに注意してください。
明示的な DB 番号の省略は S7-300 CPU
では許可されていないため、ユーザープロ
グラムでエラーメッセージが発生します。

LEN

INPUT/INTOUTPUT1 - 10241

ここで、転送するデータブロックの長さを宣言する。(ここで、長さは間接的に設定される)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

579

コンパクト CPU 用の SFB
28.9 SFB 63 "SEND_RK"によるデータ(512(R))の送信

メッセージフレームでの宣言
以下の表に、RK512 メッセージフレームのメッセージフレームヘッダ内の宣言を記載します。
S7 オートメーション ターゲットのシステム(ローカル)上の パートナーCPU
ソース

メッセージフレームヘッダ、バイト

3/4 命令タイプ

5/6 D-DBNR/D
オフセット

7/8 総数

データブロック

データブロック

AD

DB/DW

ワード

データブロック

拡張データブロック

AD

DB/DW

ワード

使用される省略形の説明:
D-DBNR

宛先データブロック番号

D Offset

宛先先頭アドレス

DW

オフセット(単位: ワード)

データの一貫性
データ一貫性は、128 バイトに制限されます。これらの 128 バイトを超える一貫性のデータの転送が必要な場合、以下のことを考慮する必要があります。
送信範囲 SD_1 の現在使用されているセクションに書き込めるのは、転送が終了した後に限ります。
つまり、ステータスパラメータ DONE の値が TRUE になると、書き込みが可能になります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2580

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.10 SFB 64 "FETCH RK"によるデータ(RK 512)のフェッチ

28.10

SFB 64 "FETCH RK"によるデータ(RK 512)のフェッチ

説明
SFB FETCH_RK (SFB 64)を使用すれば、パートナーからデータをフェッチして、データブロックに保存できます。
ブロックを呼び出し、制御入力 REQ で信号立ち上がりが検出されると、送信操作が実行されます。
フェッチしたデータを保存する領域は、RD_1 (DB 番号と開始アドレス)で宣言されます。データ
ブロックの長さは LEN で宣言されます。
SFB では、データをフェッチするパートナー領域も指定します。CPU は、この情報を RK512 メッ
セージフレームヘッダに入力し、パートナーに転送します。
R_CPU の CPU 番号(マルチプロセッサ通信の場合にだけ適切)、R_TYPE 内のデータタイプ(データブロック、拡張データブロック、メモリビット、入力、出力、カウンタ、および時間)、R_DBNO内のデータブロック番号(データブロックと拡張データブロックの場合だけ適切)、および
R_OFFSET 内のオフセット(このオフセットから先頭バイトをフェッチします)により、パートナー
領域が指定されます。
R_CF_BYT と R_CF_BIT で、パートナーCPU の接続メモリバイトと接続メモリビットを宣言します。
パラメータ SYNC_DB で、起動と同期中に初期化のために SFB すべてで使用したデータを保存する DB を宣言します。ユーザープログラム内の SFB すべてで、DB 番号が同じになっている必要があります。
SFB がジョブを処理できるようにするには、R(Reset)=FALSE を使用して SFB を呼び出す必要があります。制御入力 R の信号立ち上がりで、現在の転送がキャンセルされ、SFB は基本状態にリセットされます。キャンセルされたジョブが終了し、エラーメッセージが表示されます(STATUS 出力)。
サブモジュールでは、I/O アドレスを宣言します。この I/O アドレスは、LADDR の"HW Config"で指定されています。
ジョブの終了時にエラーが表示されないと、DONE が TRUE に設定されます。ジョブの終了時にエラーが表示されると、ERROR が TRUE に設定されます。
STATUS で、CPU はエラーを示します。または、警告の結果、個々のイベント ID を示します。
SFB が RESET (R=TRUE)されると、DONE または ERROR/STATUS も出力されます。
エラーが発生すると、バイナリリザルト BIE がリセットされます。ブロックが終了してエラーが表示されると、バイナリリザルトのステータスが TRUE になります。
注記
SFB にパラメータチェックは指定されていません。コンフィグレーションが不良な場合、CPU が
STOP モードになることがあります。
注記
CPU からデータをフェッチする場合、CPU に SFB "SERVE_RK"をプログラムする必要があります。

インスタンス DB
SFB FETCH _ RK は、インスタンス OB と一緒に動作します。この呼び出しにより、DB 番号が引き渡されます。インスタンス DB のデータへはアクセスできません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

581

コンパクト CPU 用の SFB
28.10 SFB 64 "FETCH RK"によるデータ(RK 512)のフェッチ(拡張)データブロックの特殊機能
データブロックまたは拡張データブロックからの"データのフェッチ"時、以下の特殊機能に注意してください。
•

RK512 を使用すれば、偶数のデータだけ送信できます。奇数長さ(LEN)を入力すると、追加のバイトが転送されます。ただし、ターゲット DB では必ず、適切なデータ数が入力されます。

•

RK512 では、奇数オフセットだけ宣言できます。偶数オフセットを宣言すると、データは、次に小さい奇数オフセットから、パートナーステーションに保存されます。
例: オフセットが 7 の場合、データはバイト 6 から保存されます。

タイマとカウンタの特殊機能
通信パートナーから時間とカウンタをフェッチする場合、時間またはカウンタごとに 2 バイトをフェッチする必要があるので、このことを念頭に入れておく必要があります。たとえば、10 個のカウンタをフェッチする場合には、長さ 20 を宣言する必要があります。

パラメータ
注記: この SFB では、値の範囲はすべて、ドイツ語メモリ表記規則で表されます。
パラメータ

宣言

データ
タイプ

値の範囲

SYNC_DB

INPUT

INT

CPU 固有、ゼロは 0
使用できない。

RK-SFB の同期に共通なデータを保存する DB の番号(最小長さ= 240
バイト)

REQ

INPUT

BOOL

TRUE/FALSE

FALSE

コントロールパラメータ"Request":
信号立ち上がりでジョブを有効に
する。

R

INPUT

BOOL

TRUE/FALSE

FALSE

コントロールパラメータ"Reset"。
ジョブが中止される。

LADDR

INPUT

WORD CPU 固有

W#16#03FF サブモジュールの I/O アドレス。
"HW Config"で指定される。

R_CPU

INPUT

INT

1

0-4

デフォルト

説明

パートナーCPU の CPU 番号です。
(マルチプロセッサ操作の場合に限られる)

R_TYPE

INPUT

CHAR

’D’、’X’、’M’、’E’、’A’、’Z’、’T’‘D’

パートナーCPU のアドレスタイプ‘D’: データブロック’X’: 拡張データブロック’M’: メモリビット’E’: 入力’A’: 出力’Z’: カウンタ’T’: 時間

R_DBNO

INPUT

INT

0～255

0

パートナーCPU のデータブロック
番号

R_OFFSET

INPUT

INT

表「データソース 0(パートナーCPU)
用FB内のパラメー
タ」を参照する。

パートナーCPU のデータバイト
番号S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2582

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.10 SFB 64 "FETCH RK"によるデータ(RK 512)のフェッチ
パラメータ

宣言

データ
タイプ

値の範囲

デフォルト

説明

R_CF_BYT

INPUT

INT

0～255

255

パートナーCPU の接続メモリビット

R_CF_BIT

INPUT

INT

0～7

0

パートナーCPU の接続メモリビット

DONE

OUTPUT

BOOL

TRUE/FALSE

FALSE

ステータスパラメータ(このパラメー
タが設定されるのは、1 つの呼び出
しの持続期間中に限られる):(255: 意味: 接続メモリビットなし)

エラー

OUTPUT

BOOL

TRUE/FALSESTATUSOUTPUT

WORD W#16#0000～
W#16#FFFF•

FALSE ジョブが開始されなかったか、まだ実行されている•

TRUE ジョブが実行され、エラーは発生しなかった。

FALSE

ステータスパラメータ(このパラメー
タが設定されるのは、1 つの呼び出
しの持続期間中に限られる):ジョブが完了し、エラーは発生しなかった。

W#16#0000

ステータスパラメータ(このパラメー
タが設定されるのは、1 つの呼び出
しの持続期間中に限られる): ステー
タスを表示するには、未使用データ
領域に STATUS をコピーする必要がある)
STATUS には、エラービットに応じて、以下の意味がある。
•

ERROR=FALSE:STATUS には値 W#16#0000 が指定される。警告にもエラー
STATUS にも、W#16#0000
以外の値は指定されない。警告の場合、STATUS では、詳細情報が表示される。

•

ERROR=TRUE:
エラーが発生した。STATUS
では、エラーのタイプに関する詳細情報が表示される。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

583

コンパクト CPU 用の SFB
28.10 SFB 64 "FETCH RK"によるデータ(RK 512)のフェッチ

パラメータ

宣言

データ
タイプ

値の範囲

デフォルト

説明

RD_1

INPUT/OUTPUTANY

CPU 固有0

受信パラメータ
ここでは、以下の宣言をする。
1st フェッチされたデータを格納する DB の番号。
2nd 格納するフェッチされたデータのデータバイト番号。
たとえば、転送元が DB 10、データの先頭がバイト 2 なら、
DB10.DBB2 とする。
S7-300 CPU の場合、パラメータ
RD_1 が、常に、DB パラメータの完全な指定(たとえば、
P#DB13.DBX0.0 バイト 100)を必要とすることに注意してください。
明示的な DB 番号の省略は S7-300
CPU では許可されていないため、ユーザープログラムでエラーメッ
セージが発生します。

LEN

INPUT/OUTPUTINT

1 - 10241

ここで、フェッチするデータブロッ
クのバイト長さを宣言する。
時間ごとおよびカウンタごとに 2バイトを宣言する必要がある。(ここで、長さは間接的に設定される)

データソース(パートナーCPU)用 SFB 内のパラメータ
以下の表に、転送できるデータタイプを示します。
R_OFFSET の値は、パートナーCPU によって特定されます。
パートナーCPU のソース

R_TYP

R_NO

R_OFFSET (単位: バイト

データブロック‘D’

0 - 2550～510、偶数値だけが適切です。

拡張データブロック‘X’:

0 - 2550～510、偶数値だけが適切です。

メモリビット’M’

対象外

0 – 255

入力

’E’

対象外

0 – 255

出力

’A’

対象外

0 – 255

カウンタ

‘Z’

対象外

0 – 255

時間

’T’

対象外

0 – 255

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2584

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.10 SFB 64 "FETCH RK"によるデータ(RK 512)のフェッチ

メッセージフレームでの宣言
以下の表に、RK512 メッセージフレームのメッセージフレームヘッダ内の宣言を記載します。
パートナーCPU の ターゲット、S7 オートメーション
ソース
システム(ローカル CPU)

メッセージフレームヘッダ、バイト
3/4 命令タイプ 5/6 D-DBNR/D
オフセット

7/8 総数

データブロック

ED

DB/DW

ワード

拡張データブロック データブロック

EX

DB/DW

ワード

メモリビット

データブロックEM

バイトアドレス

バイト

入力

データブロック

EI

バイトアドレス

バイト

出力

データブロック

EO

バイトアドレス

バイト

カウンタ

データブロックEC

カウンタ 番号

ワード

時間

データブロック

ET

タイマ番号

ワード

データブロック

使用される省略形の説明:
S-DBNO

ソースデータブロック番号

S Offset

ソース先頭アドレス

データの一貫性
データ一貫性は、128 バイトに制限されます。これらの 128 バイトを超える一貫性のデータの転送が必要な場合、以下のことを考慮する必要があります。
送信範囲 SD_1 の現在使用されているセクションに書き込めるのは、転送が終了した後に限ります。
つまり、ステータスパラメータ DONE の値が TRUE になると、書き込みが可能になります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

585

コンパクト CPU 用の SFB
28.11 SFB 65 "SERVE_RK"によるデータ(RK 512)の受信と提供

28.11

SFB 65 "SERVE_RK"によるデータ(RK 512)の受信と提供

説明
SFB SERVE_RK (SFB 65)を使用すれば、データを受信して提供できます。
•

データの受信: RK512 メッセージフレームヘッダでパートナーにより指定された領域にデータが保存されます。通信パートナーが"データの送信" (SEND ジョブ)ジョブを実行する場合、SFB を
1 回呼び出す必要があります。

•

データの提供: RK512 メッセージフレームヘッダでパートナーにより指定された領域からデータがフェッチされます。通信パートナーが"データのフェッチ" (FETCH ジョブ)ジョブを実行する
場合、SFB を 1 回呼び出す必要があります。

ブロックが呼び出された後、制御入力 EN_R 値が TRUE になると、このブロックは操作準備が整います。パラメータ EN_R の信号ステータスを FALSE に設定すれば、現在の転送をキャンセルできます。キャンセルされたジョブが終了し、エラーメッセージが表示されます(STATUS 出力)。パラ
メータ EN_R の信号ステータスが FALSE に設定されている限り、入力はオフされます。
パラメータ SYNC_DB で、起動と同期中に初期化のために SFB すべてで使用したデータを保存する DB を宣言します。ユーザープログラム内の SFB すべてで、DB 番号が同じになっている必要があります。
SFB がジョブを処理できるようにするには、R(Reset)=FALSE を使用して SFB を呼び出す必要があります。制御入力 R の信号立ち上がりで、現在の転送がキャンセルされ、SFB は基本状態にリセットされます。キャンセルされたジョブが終了し、エラーメッセージが表示されます(STATUS 出力)。
サブモジュールでは、I/O アドレスを宣言します。この I/O アドレスは、LADDR の"HW Config"で指定されています。
ジョブの終了時にエラーが表示されないと、NDR が TRUE に設定されます。ジョブの終了時にエラーが表示されると、ERROR が TRUE に設定されます。
SFB 呼び出しで NDR=TRUE なら、CPU は、L_TYPE、L_DBNO、および L_OFFSET の各パラメー
タで、データを保存する領域またはデータをフェッチする領域を示します。呼び出しごとに、
L_CF_BYT と L_CF_BIT、および各ジョブの長さ LEN も示されます。
STATUS で、CPU はエラーを示します。または、警告の結果、個々のイベント ID を示します(付録を参照)。
SFB が RESET (R=TRUE)されると、NDR または ERROR/STATUS も出力されます(パラメータ LEN==16#00)。
エラーが発生すると、バイナリリザルト BIE がリセットされます。ブロックが終了してエラーが表示されると、バイナリリザルトのステータスが TRUE になります。
注記
SFB にパラメータチェックは指定されていません。コンフィグレーションが不良な場合、CPU が
STOP モードになることがあります。

インスタンス DB
SFB FETCH _ RK は、インスタンス OB と一緒に動作します。この呼び出しにより、DB 番号が引き渡されます。インスタンス DB のデータへはアクセスできません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2586

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.11 SFB 65 "SERVE_RK"によるデータ(RK 512)の受信と提供

接続メモリビットの使用方法
接続メモリビットを使用すれば、通信パートナーの SEND と FETCH の各ジョブをロックしたり有効にしたりできます。このため、まだ処理されていないデータの上書きや読み取りを避けることができます。
ジョブことに接続メモリビットを 1 つ指定できます。

Communication partner

SEND_RK
R_CF_BYT
R_CF_BIT
R_TYPE = DB
R_DBNO
R_OFFSETYour CPU

Uses memory bit for writing to the DB

SERVE_RK

R_CF_BYT
R_CF_BIT
R_TYPE = DB
R_DBNO
R_OFFSET

Connection memory bit

L_CF_BYT
L_CF_BIT
L_TYPE = DB
L_DBNO
L_OFFSETFETCH_RK

Data access can be locked
via the connection memory
bits TRUE/FALSE!

Uses memory bit to read the DB!

MB100 7 6 5 4 3 2 1 0
Assignment of
the memory
bit to the DB

DB100
DB101
DB102
DB103
Connection memory

MB200

例: 接続メモリビットによる SEND_R
この例では、通信パートナーは、CPU の DB 101 にデータを転送します。
CPU で、接続メモリビット 100.6 を FALSE に設定します。
通信パートナーで、SEND ジョブに接続メモリビット 100.6 (R_CF_BYT と R_CF_BIT の各パラメータ)を指定します。
RK 512 メッセージフレームヘッダで、接続メモリビットが CPU に転送されます。
CPU は、ジョブを処理する前に、RK512 メッセージフレームヘッダに指定されている接続メモリ
ビットを確認します。ジョブが処理されるのは、CPU で、接続メモリビットが FALSE 値に設定されている場合に限ります。接続メモリビットが TRUE に設定されていると、応答メッセージフ
レームでエラーメッセージ"32 hex"が通信パートナーに転送されます。
データが DB101 に接続されると、その後、CPU では、SFB SERVE により、接続メモリ 100.6 がTRUE に設定されます。また、1 つの呼び出し持続時間中(NDR =TRUE の場合)に、SFB SERVE で、接続メモリバイトとビットが出力されます。
ユーザープログラムで、接続メモリ(接続メモリ 100.6 =TRUE)を評価すると、ジョブが終了したかどうか、および転送データを処理できるかどうか調べることができます。
ユーザープログラムでデータを処理したら、その後、接続メモリ 100.6 を FALSE にリセットする必要があります。リセットをして初めて、パートナーがジョブを再実行したときに、エラーが発生しなくなります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

587

コンパクト CPU 用の SFB
28.11 SFB 65 "SERVE_RK"によるデータ(RK 512)の受信と提供

パラメータ
注記: この SFB では、値の範囲はすべて、ドイツ語メモリ表記規則で表されます。
パラメータ

宣言

データ
タイプ

値の範囲

デフォルト

説明

SYNC_DB

INPUT

INT

CPU 固有0

RK-SFB の同期に共通なデータを保存する DB の番号(最小長さ= 240 バイト)

EN_R

INPUT

BOOL

TRUE/FALSE

FALSE

コントロールパラメータ"Enable toreceive":
ジョブを有効にする。

R

INPUT

BOOL

TRUE/FALSE

FALSE

コントロールパラメータ"Reset"。
ジョブが中止される。

LADDR

INPUT

WORD

CPU 固有W#16#03FF サブモジュールの I/O アドレス。"HW
Config"で指定される。

NDR

OUTPUT

BOOL

TRUE/FALSE

FALSE

ステータスパラメータ"New Data
Ready" (このパラメータが設定されるのは、1 つの呼び出しの持続期間中に限られる):
1. FALSE ジョブが開始されなかったか、まだ実行されている
2. TRUE ジョブが正常終了した。

エラー

OUTPUT

BOOL

TRUE/FALSEFALSESTATUSOUTPUT

WORD

W#16#0000～
W#16#FFFF

W#16#0000 ステータスパラメータ(このパラメー
タが設定されるのは、1 つの呼び出
しの持続期間中に限られる): ステータ
スを表示するには、未使用データ領域に STATUS をコピーする必要がある)

ステータスパラメータ(このパラメー
タが設定されるのは、1 つの呼び出
しの持続期間中に限られる):ジョブが完了し、エラーは発生しなかった。

STATUS には、エラービットに応じて、以下の意味がある。
•

ERROR=FALSE:STATUS には値 W#16#0000 が指定される。警告にもエラー
STATUS にも、W#16#0000 以外の値は指定されない。警告の場
合、STATUS では、詳細情報が表示される。

•

ERROR=TRUE:
エラーが発生した。STATUS では、エラーのタイプに関する詳細情報が表示される。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2588

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.11 SFB 65 "SERVE_RK"によるデータ(RK 512)の受信と提供
パラメータ

宣言

データ
タイプ

値の範囲

デフォルト

L_TYPEOUTPUT

CHAR

‘D’

’ ’

説明

データの受信:ローカル CPU のターゲット領域のタイプ(大文字だけ使用できる)‘D’: データブロック
データの提供:’D’、’X’、’M’、’E’、’A’、’Z’、’
T’

ローカル CPU のソース領域のタイプ(大文字だけ使用できる)‘D’: データブロック’M’: メモリビット’E’: 入力’A’: 出力’Z’: カウンタ’T’: タイマ
このパラメータが設定されるのは、
1 つの呼び出しの持続期間中に限られる。

L_DBNOOUTPUTINTCPU 固有0ローカル CPU のデータブロック番号
このパラメータが設定されるのは、
1 つの呼び出しの持続期間中に限られる。

L_OFFSETOUTPUTINT

0 - 5100

ローカル CPU のデータバイト番号
このパラメータが設定されるのは、
1 つの呼び出しの持続期間中に限られる。

L_CF_BYTOUTPUT

INT

0～255

0

ローカル CPU の接続メモリバイト
このパラメータが設定されるのは、
1 つの呼び出しの持続期間中に限られる。
(255: 意味: 接続メモリなし)

L_CF_BITOUTPUT

INT

0～7

0

ローカル CPU の接続メモリビット
このパラメータが設定されるのは、
1 つの呼び出しの持続期間中に限ら
れる。

LEN

INPUT/OUTPUT

INT

0～10240

メッセージフレームの長さ(単位: バイ
ト数) (このパラメータが設定されるのは、1 つの呼び出しの持続期間中に限られる):

データの一貫性
データ一貫性は、128 バイトに制限されます。これらの 128 バイトを超える一貫性のデータの転送が必要な場合、以下のことを考慮する必要があります。
接続メモリファンクションを使用します。データが完全に転送されるまでデータにアクセスしないでください(該当するジョブに指定した接続メモリの評価。NDR = TRUE の場合、SFB での呼び出し中に接続メモリが有効になります)。データの処理が終わって初めて、接続メモリを FALSE にリセット
してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

589

コンパクト CPU 用の SFB
28.12 SFB 60～65 の追加エラー情報

28.12

SFB 60～65 の追加エラー情報

エラー情報
以下の表に、各種イベントクラスとイベント ID を示します。
"SFB パラメータコンフィグレーションのエラー"
イベントクラス イベント
エラーコードW#16#0301

対策

ソース/宛先データタイプが不正か、存在 パラメータ設定を確認し、必要に応じて修正し
ます。
しません。
範囲が不正です(開始アドレス、長さ)。
DBX が不正か、存在しません。
他のデータタイプが不正か、存在しません。

パートナーがメッセージフレームヘッダで不正なパラメータを配信しています。
パラメータを確認し、必要に応じてブロックを修正します。

接続メモリバイトまたはビット IDが無効 使用できるデータタイプについては、ジョブ
テーブルを参照してください。
です。
パートナーがメッセージフレームヘッダで間違ったパラメータを配信しています。
W#16#0303

範囲にアクセスできません。

パラメータを確認します。使用できる開始アド
レスと長さについては、ジョブテーブルを参照
してください。または、パートナーがメッセー
ジフレームヘッダに間違ったパラメータを設定しています。

"ジョブ処理エラー"
イベントクラス イベント
エラーコード対策

W#16#0501

現在のジョブが、リスタートまたはリ
セットにより中止されました。

中止されたジョブを繰り返します。PG を使用
してパラメータを割り付けする場合、インターフェースに書き込む前に、これ以上ジョブが処理されていないことを確認する必要があります。

W#16#0502

この操作状態中、ジョブを実行できません 装置インターフェースにパラメータを割り付(たとえば、装置インターフェースにパラ けます。
メータが割り付けられません)。

W#16#050E•

メッセージフレーム長さが無効です。 ••最大許容長さ内に、パラメータに割り付けられているメッセージ終了 ID•が発生しませんでした。

W#16#0513

メッセージフレーム長さが 1024 バイトを超えています。もっと短いメッセージフ
レーム長さを選択します。
送信バッファ内の所期位置にメッセージ
終了 ID を追加します。

データタイプエラー(DB ...):

使用できるデータタイプとその組み合わせにつ
データタイプが不明か、データタイプが いては、ジョブテーブルを参照してください。
不正です(たとえば、DE が挙げられます)。

SFB で指定されているソースと宛先の各データタイプが一致しません。
W#16#0515

調整メモリで宣言したビット番号が間違っています。

許容ビット番号 0～7

W#16#0516

指定した CPU 番号が大きすぎます。

許容 CPU 番号 0、1、2、3、4

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2590

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.12 SFB 60～65 の追加エラー情報"SFB パラメータコンフィグレーションのエラー"
W#16#0517

1024 を超える転送は大きすぎます。

W#16#051D

以下の操作により、送信/受信ジョブが中 通信ブロックの呼び出しを繰り返します。
止されました。

W#16#0522•

通信ブロックのリセット•

パラメータの再割り付け

このジョブをいくつかのジョブに分けて、1 つのジョブ内のデータの長さを短くします。

直前のジョブがまだ終了していないのに、 直前の送信ジョブが終了し、DONE またはSEND ジョブを新たに開始しました。
ERROR が表示されてから、この新規 SEND
ジョブを開始してください。
"パートナージョブの処理時に発生するエラー" (RK512 の場合に限る)

イベントクラス イベント
エラーコード対策

W#16#0601

1 番目の命令バイトにエラーがあります(00 または FFH でありません)。

パートナーの基本ヘッダストラクチャエラーです。必要なら、データリンクにインターフェー
ステスタを接続して、パートナー装置の動作に障害があることを証明します。

W#16#0602

3 番目の命令バイトにエラーがあります(A、0、または E ではありません) 。

パートナーの基本ヘッダストラクチャエラーです。必要なら、データリンクにインターフェー
ステスタを接続して、パートナーの動作に障害があることを証明します。

W#16#0603

後続メッセージフレームの 3 番目の命令 パートナーの基本ヘッダストラクチャエラーでバイトにエラーがあります(先頭メッセー す。必要なら、データリンクにインターフェー
ステスタを接続して、パートナーの動作に障害
ジフレームと異なる命令です)。
があることを証明します。

W#16#0604

4 番目の命令バイトにエラーがあります(命令文字が間違っています)。

パートナーの基本ヘッダストラクチャエラー
か、要求された命令組み合わせが不正です。
使用できる命令をチェックしてください。必要なら、データリンクにインターフェーステスタを接続して、パートナーの動作に障害があることを証明します。

W#16#0606

5 番目の命令バイトにエラーがあります(DB 番号が不正です)。

使用できる DB 番号、開始アドレス、または長さについては、ジョブテーブルを参照してくだ
さい。

W#16#0607

5 番目または 6 番目の命令バイトにエラー 使用できる DB 番号、開始アドレス、または長があります(開始アドレスが大きすぎます)。 さについては、ジョブテーブルを参照してくだ
さい。

W#16#0609

9 番目または 10 番目の命令バイトにエラーがあります(このデータタイプでは調整メモリビットは使用できません。
またはビット番号が大きすぎます)W#16#060A

10 番目の命令バイトにエラーがあります パートナーの基本ヘッダストラクチャエラー(CPU 番号が不正です)。
です。

パートナーの基本ヘッダストラクチャエラーです。調整メモリビットを使用できる場合については、ジョブテーブルを参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

591

コンパクト CPU 用の SFB
28.12 SFB 60～65 の追加エラー情報"SFB パラメータコンフィグレーションのエラー""送信エラー"
イベントクラス イベント
エラーコード対策

W#16#0701

3964(R)の場合に限ります。

W#16#0702

3964(R)の場合に限ります。

W#16#0703

3964(R)の場合に限ります。

繰り返しは、エラーではありません。ただし、データリンクが不通になっているか、パート
最初の繰り返しの送信
ナーの動作に障害があることを示す場合があり• メッセージフレームの送信時にエラーます。最大繰り返し回数内にメッセージフレーが検出されました。
ムが転送されない場合は、エラー番号がレポー• パートナーは、否定応答文字(NCC)で トされ、最初に発生したエラーを記述します。
繰り返しを要求しました。
必要なら、データリンクにインターフェーステ接続の確立中にエラーが発生しました。 スタを接続して、パートナーの動作に障害があることを証明します。
STX の転送後、NCC または(DLE またはSTX を除く)文字が受信されました。
パートナー装置が遅すぎるか、パートナー装置
は受信準備ができていません。または、データリンクが割り込まれています。必要なら、デー
STX の転送後、確認遅延時間内にパート
タリンクにインターフェーステスタを接続しナーが応答しませんでした。
て、パートナーの動作に障害があることを証明します。
確認時間(QVZ)を超えました。

W#16#0704

3964(R)の場合に限ります。
パートナーにより中止されました。
送信操作中に、1 文字以上の文字がパートナーから受信されました。

W#16#0705

3964(R)の場合に限ります。
転送中に否定応答されました。

W#16#0706(たとえば、データリンクの割り込みにより)転送したデータの一部しか受信されていない、致命的なエラーが保留になっている、またはパートナー装置に障害が発生している可能性がある
ため、パートナーもエラーを示しているかどうかをチェックします。必要なら、データリンクにインターフェーステスタを接続して、パート
ナーの動作に障害があることを証明します。
(たとえば、データリンクの割り込みにより)転送したデータの一部しか受信されていない、致命的なエラーが保留になっている、またはパートナー装置に障害が発生している可能性がある
ため、パートナーもエラーを示しているかどうかをチェックします。必要なら、データリンクにインターフェーステスタを接続して、パート
ナーの動作に障害があることを証明します。

(たとえば、データリンクの割り込みにより)転送したデータの一部しか受信されていない、致命的なエラーが保留になっている、またはパーパートナーが、NCC または(DLE をトナー装置に障害が発生している可能性がある除く)文字で、終了時にメッセージ
ため、パートナーもエラーを示しているかどう
フレームを拒否しました。
かをチェックします。必要なら、データリンク
受信確認文字(DLE)の受信が速すぎ にインターフェーステスタを接続して、パートました。
ナーの動作に障害があることを証明します。

3964(R)の場合に限ります。
転送終了エラー:••W#16#0707

3964(R)の場合に限ります。
転送終了確認遅延時間/応答ウォッチドッ
グ時間を超えました。
DLE ETX を使用して接続を切断してから
QVZ 時間内にパートナーが応答しませんでした。

パートナー装置が遅すぎるか、障害があります。必要なら、データリンクにインターフェー
ステスタを接続して、パートナーの動作に障害があることを証明します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2592

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.12 SFB 60～65 の追加エラー情報"SFB パラメータコンフィグレーションのエラー"
W#16#0708

ASCII ドライブの場合に限ります。
XON の待機時間が満了になりました。

W#16#0709

3964(R)の場合に限ります。

W#16#070A

3964(R)の場合に限ります。

W#16#070B

3964(R)の場合に限ります。

通信パートナー装置に障害があるか、通信パー
トナーが遅すぎるか、オフラインになっています。通信パートナーの状態をチェックする
か、必要ならパラメータを変更します。

インターフェースコードまたは転送パラメータ接続を確立できませんでした。許容起動 をチェックします。
試行回数を超えました。
パートナーもチェックして、CPU と CP 間の受信ファンクションのパラメータが適切に割り付けられているかどうか調べます。
インターフェースコードまたは転送パラメータ
データを転送できませんでした。許容転 をチェックします。
送試行回数を超えました。
パラメータを変更します。

両方のパートナーが高優先度に設定されているため、初期化競合を解決できません。
W#16#070C

3964(R)の場合に限ります。

パラメータを変更します。

両方のパートナーが低優先度に設定されているため、初期化競合を解決できません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

593

コンパクト CPU 用の SFB
28.12 SFB 60～65 の追加エラー情報"SFB パラメータコンフィグレーションのエラー""受信エラー"
イベントクラス イベント
エラーコード対策

W#16#0801

3964(R)の場合に限ります。

W#16#0802

3964(R)の場合に限ります。

繰り返しは、エラーではありません。ただし、データリンクが不通になっているか、パートナー
最初の繰り返しの予想の動作に障害があることを示す場合があります。
メッセージフレームが受信され、CPU最大繰り返し回数内にメッセージフレームがが、パートナーから否定応答確認(NCC)
転送されない場合は、エラー番号がレポートで繰り返しを要求したときに、エラーがされ、最初に発生したエラーを記述します。
検出されました。

必要なら、データリンクにインターフェーステ接続の確立中にエラーが発生しました。 スタを接続して、パートナーの動作に障害があることを証明します。
•
アイドル中に(NCC または STX を除く)文字が 1 文字以上受信されました。
•

STX の受信後、応答 DLE を待たずに、パートナーは文字を追加転送しました。

パートナーの電源投入後:•

W#16#0805

パートナーが電源をオンにしている
最中、CPU は未定義文字を受信しました。

3964(R)の場合に限ります。

メッセージフレームヘッダとデータ文字列のDLE をパートナーが二重化しているかどうかをチェックする。または、DLE ETXを使用して接DLE の受信後、(DLE、ETX を除く)別の続が確立されているかどうかチェックします。
文字が受信されました。
必要なら、データリンクにインターフェーステ
スタを接続して、パートナーの動作に障害があることを証明します。
論理受信エラー:W#16#0806

パートナー装置が遅すぎるか、障害があります。
•
CDT 内に、2 文字の連続した文字が 必要なら、データリンクにインターフェーステ
スタを接続して、パートナーの動作に障害があ
受信されませんでした。
ることを証明します。
3964(R)の場合に限ります。
文字遅延時間(CDT)を超えました。

•

1. 接続の確立時、DLE の転送後、ZVZ 内にこの文字が受信されませんでした。

W#16#0807

メッセージフレーム長さが不正です。

長さ 0 のメッセージフレームの受信はエラーで長さが 0 のメッセージフレームが受信さ はありません。
れました。
通信パートナーが、ユーザデータを指定せずにメッセージフレームを送信した理由をチェックします。

W#16#0808

3964(R)の場合に限ります。
ブロックチェック文字(BCC)エラーです。
BCC の内部生成値が、接続リンク時にパートナーが受信した BCC に対応していません。

W#16#0809

通信に重大な障害があるかどうかチェックします。
この場合、場合によってはエラーコードが見つかることもあります。必要なら、データリンクにインターフェーステスタを接続して、パート
ナーの動作に障害があることを証明します。

3964(R)の場合に限ります。

通信パートナーと自分のモジュールのパラメー
ブロック繰り返しの遅延時間が満了しま タに、同じブロック遅延時間を宣言します。必要なら、データリンクにインターフェーステス
した。
タを接続して、パートナーの動作に障害があることを証明します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2594

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.12 SFB 60～65 の追加エラー情報"SFB パラメータコンフィグレーションのエラー"
W#16#080A

空いている入力バッファがありません。 SFB RCV をもっと頻繁に呼び出す必要があり受信に使用できるクリア済み入力バッファ ます。
がありませんでした。

W#16#080C

データリンクに障害があると、メッセージフレー
ムが繰り返し実行されるため、ユーザデータの•転送エラーが削除されました(パリティエラー、ストップビットエラー、 スループットが低下します。また、エラーが検出されない危険性が高くなります。システムス
オーバフローエラー)。
トラクチャまたは配線を変更します。
3964(R)の場合に限ります。
通信パートナーのデータリンクをチェックする•
アイドルモード中に文字化けが受信か、両方の装置で同じボーレート、パリティ、された場合、できる限りすばやく
ストップビットが設定されているかチェックし
データリンクへの悪影響を認識するます。
ために、直ちにこのエラーがレポー
トされます。
転送エラーです。

3964(R)の場合に限ります。
•

送信操作と受信操作中にこのエラーが発生すると、繰り返しが開始されます。

W#16#080D

中断:

W#16#080E

フローコントロールが無効になっている ユーザープログラムで、受信用 SFB をもっと頻間に入力バッファオーバーフローが発生 繁に呼び出す必要があります。または、フローコントロールを指定したパラメータをその通信しました。
に割り付ける必要があります。

W#16#0810

パリティエラーです。

通信パートナーのデータリンクをチェックする
か、両方の装置で同じボーレート、パリティ、
ストップビットが設定されているかチェックします。

W#16#0811

文字フレームエラーです。

通信パートナーのデータリンクをチェックする
か、両方の装置で同じボーレート、パリティ、
ストップビットが設定されているかチェックします。

W#16#0812

ASCII ドライブの場合に限ります。

リンクを再度確立するか、パートナーをオンにパートナーへの受信リンクが割り込まれ します。ています。

システムストラクチャまたは配線を変更します。
通信パートナーのパラメータを再割り付けするCPU が XOFF を転送した後、文字が追加 か、データの処理速度を早くします。
受信されました。
W#16#0814

ASCII ドライブの場合に限ります。

W#16#0816

受信したメッセージフレームの長さが、 パートナーステーションで修正する必要があり
最大指定長さを超えました。
ます。

できる限りフローコントロールを使用してくだ
フローコントロールを使用せずに操作を さい。入力バッファ全体を使用します。基本パ
実行したため、1 つ以上のメッセージフ ラメータで、"Reaction to CPU STOP"パラメー
タを"Continue operation"に設定します。
レームが失われました。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

595

コンパクト CPU 用の SFB
28.12 SFB 60～65 の追加エラー情報"SFB パラメータコンフィグレーションのエラー""応答メッセージフレームの受信時にエラーが発生したか、通信パートナーからエラーメッセージフレームを受信しました"イベントクラス イベント
エラーコードW#16#0902

対策

RK 512 の場合に限ります。パートナー 必要なデータ範囲を通信パートナーで使用できる
ステーションでメモリアクセスエラーが かどうか、および長さが十分かどうかをチェッ
発生しました(メモリが存在しません)。 クします。または、呼び出される SFB のパラ
パートナーとして SIMATIC S5 を使用し メータをチェックします。
ている場合:

W#16#0903•

表示ワードの範囲が間違っています。

•

データ範囲が存在しません(DB/DX
を除きます)。

•

データ範囲が不十分です(DB/DX を除きます)。

SFB で指定した長さをチェックします。

RK 512 の場合に限ります。パートナー
ステーションで DB/DX アクセスエラーが発生しました(メモリが存在しません)。

必要なデータ範囲を通信パートナーで使用できるかどうか、および長さが十分かどうかをチェックします。または、呼び出される SFB のパラ
パートナーとして SIMATIC S5 を使用し メータをチェックします。
ている場合:SFB で指定した長さをチェックします。
•

DB/DX が存在しません。

•

DB/DX が短すぎます。

•

DB/DX 番号が不正です。

FETCH ジョブにより、許容ソース範囲を超えました。
W#16#0904

RK 512 の場合に限ります。パートナー
CPU はシステム命令を出力しないため、パート
が、"使用できないジョブタイプ"とレポー ナー動作に障害が発生しました。
トしています。

W#16#0905

RK 512 の場合に限ります。パートナー 必要なデータタイプをパートナーが転送できる
エラーまたは SIMATIC S5 パートナー かどうかチェックします。
エラーです。
パートナーのハードウェアストラクチャをチェッ•
ソース/宛先タイプを使用できません。 クします。
•

パートナー装置のメモリエラーです。 パートナーPLC を STOP モードに切り替えます。

•

パートナーCP/CPU 通信でエラーが発生しました。

•

パートナーPLC が STOP モードになっています。

W#16#0908

RK 512 の場合に限ります。パートナー
が同期エラーを認識しました。

W#16#0909

RK 512 の場合に限ります。調整メモリ パートナープログラムでは、最後に転送したデー
ビットにより、DB/DX がパートナーにロ タの処理後、調整メモリビットをリセットしードされました。
ます。

このエラーが発生するのは、自分専用の PLCまたはパートナーのPLCをリスタートする場合です。
メッセージフレームシーケンスが不良 これは、システムの通常起動動作です。処置は必要ありません。操作中、直前に発生したエラーです。
の結果、このエラーが発生することがあります。
それ以外の原因としては、パートナーの動作障害が考えられます。

このプログラムでは、ジョブを繰り返します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2596

リファレンスマニュアル, 05/2017, A5E41733394-AA

コンパクト CPU 用の SFB
28.12 SFB 60～65 の追加エラー情報"SFB パラメータコンフィグレーションのエラー"
W#16#090A

RK 512 の場合に限ります。パートナー パートナーの動作障害の結果そのエラーが発生によって認識されたメッセージフレーム したのかどうかチェックします。データリンク
ヘッダーにエラーがあります: 3. ヘッダー に接続したインターフェーステスタを使用しの命令バイトが間違っていますて、このことを証明します。

W#16#090C

RK 512 の場合に限ります。パートナー
が、メッセージフレーム長さ(合計長さ)
が間違っていることを検出しました。

W#16#090D

RK 512 の場合に限ります。今までに、 パートナーPLC をリスタートするか、動作モーパートナーでリスタートが実行されてい ド選択スイッチを RUN に設定します。
ません。

W#16#090E

RK 512 の場合に限ります。応答メッセー パートナーの動作障害の結果そのエラーが発生
ジフレームで受信したエラーが番号がしたのかどうかチェックします。データリンク
不明です。
に接続したインターフェーステスタを使用して、このことを証明します。

パートナーの動作障害の結果そのエラーが発生したのかどうかチェックします。データリンクに接続したインターフェーステスタを使用して、このことを証明します。

"CPU が、パートナーの応答メッセージフレームでエラーを検出しました"
イベントクラス イベント
エラーコードW#16#0A02

対策

RK 512 の場合に限ります。受信した応 必要なら、データリンクにインターフェーステ
答メッセージフレームのストラクチャに スタを接続して、パートナーの動作に障害があることを証明します。
エラーがあります。
(1. バイトは、00 または FF ではありません)

W#16#0A03

RK 512 の場合に限ります。受信した応 必要なら、データリンクにインターフェーステ
答メッセージフレームのデータが多すぎ スタを接続して、パートナーの動作に障害があるか不足しています。
ることを証明します。

W#16#0A05

RK 512 の場合に限ります。モニタ時間内 パートナーの装置が非常に遅くありませんか。
にパートナーから応答メッセージフレー 直前のエラーの結果、このエラーが発生する
ムがありません。
ことも頻繁にあります。たとえば、FETCH メッ
セージフレームの転送後に、受信手順エラー(イベントクラス 8)を表示することがあります。
理由: 障害のため、応答メッセージフレームを受信できませんでした。ウォッチドッグ時間が満了しました。また、最後に受信された
FETCH メッセージフレームにパートナーが応答する前に、このパートナーをリスタートしても、このエラーが発生する可能性があります。
"警告"

イベントクラス イベント
エラーコードW#16#0B01

対策

ロードされた入力バッファが、その容量 入力バッファオーバーフローを防ぐには、受信の 2/3 を超えています。
ブロックをもっと頻繁に呼び出します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

597

コンパクト CPU 用の SFB
28.12 SFB 60～65 の追加エラー情報

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2598

リファレンスマニュアル, 05/2017, A5E41733394-AA

29

H CPU の SFC

29.1

SFC 90 "H_CTRL"による H システムの操作コントロール

説明
SFC 90 "H_CTRL"を使用すると、H システムに次の影響を及ぼします。
•

マスタ CPU でスタンバイ接続を実行できないようにできます。SFC 90 "H_CTRL"により設定
がキャンセルされるか、H システムが STOP モードへ移行するまで無効となります。
待機中の CPU から DP マスタとの接続要求が発行されると、その要求はすべて保存されます。

•

マスタ CPU での更新を無効にできます。SFC 90 "H_CTRL"により設定がキャンセルされるか、H システムが STOP モードへ移行するまで無効となります。
待機中の CPU からの更新要求はすべて保存されます。

!

注意
更新を無効にしても接続していない場合は、ハードウェアシステムはまだ接続ステータスを以前どおりに決定します。マスタ CPU が接続されているときは、取り外し/挿入の割り込み、ステーショ
ンエラー/リターン割り込み、ラックエラー/リターン割り込みのいずれも処理されません。

•

周期的なセルフテストからテストコンポーネントを削除する、再び追加する、あるいは直ちに開始することができます。周期的セルフテストの 1 つ以上のテストコンポーネントを無効にすると、SFC 90 "H_CTRL"により設定がキャンセルされるか、H システムが STOP モードへ移行するまでコンポーネントは無効になります。
注記
リダンダントシステム内で CPU 414-4H または 417-4H を使用する場合は、次を確認してください。24 時間が過ぎてもコンポーネントを無効にしておくと、CPU は STOP モードに入ります。
リダンダントシステムは、24 時間以内に一定のテストを完了する必要のある当該調整状態です。

•

プログラムされたマスタ/スタンバイ間の切り替えを実行できます。次の切り替えが可能です:
現在のスタンバイ CPU がマスタ CPU になります。
ラック 0 の CPU がマスタ CPU になります。
ラック 1 の CPU がマスタ CPU になります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

599

H CPU の SFC
29.1 SFC 90 "H_CTRL"による H システムの操作コントロール

次の表に、入力パラメータ MODE と SUBMODE の使用可能な組み合わせを示します。
[ジョブ]

MODE
入力

SUBMODE
入力

接続の無効化

30

接続の再有効化

40

更新の無効化

1

0

更新の再有効化

2

0

SUBMODE で指定されたテストコンポーネントを周期的セルフテストから削除
します。

20

0.1,...5

SUBMODEで指定されたテストコンポーネントを周期的セルフテストに再度追加 21
します。

0.1,...5

テストコンポーネントは 1 度だけ削除できます。

テストコンポーネントは、前回削除された場合、再度追加だけを行うことができます。
22

0.1,...5

現在のスタンバイ CPU がマスタ CPU になります。

50

ラック 0 の CPU がマスタ CPU になります。

30

0

ラック 1 の CPU がマスタ CPU になります。

31

0

SUBMODE で指定されたテストコンポーネントを直ちに開始します。
テストコンポーネントを削除できませんでした。

次の表は、入力値 SUBMODE による周期的セルフテストの個々のテストコンポーネントの割り付けを示しています。(入力 MODE の値 20、21、22 にのみ関連します)
SUBMODE 関連するテストコンポーネント
からの値
0

SP7 EASIC E テスト

1

コードメモリテスト

2

データメモリテスト

3

オペレーティングシステムコードチェックサムテスト

4

コードブロックチェックサムテスト

5

リダンダント操作における番号ブロック、時間ブロック、マーカブロック、データブロックの比較。

SFC の動作SFC 90 "H_CTRL"は非同期 SFC です。
つまり、いくつかの SFC 呼び出しにわたって実行されます。
REQ=1 で SFC 90 を呼び出してジョブを開始します。
ジョブがすぐに実行できると、SFC は出力パラメータ BUSY に値 0 を返します。長期のテストルー
チンの初期化は、テストが複数のサイクルにわたる場合(MODE=22 による RET_VAL=W#16#0001)
でも、最初の SFC 呼び出し(BUSY=0)により終了します。BUSY の値が 1 の場合、ジョブはまだアクティブです(「非同期 SFC のパラメータ REQ、RET_VAL、BUSY の意味」を参照してくだ
さい)。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
600

リファレンスマニュアル, 05/2017, A5E41733394-AA

H CPU の SFC
29.1 SFC 90 "H_CTRL"による H システムの操作コントロール

ジョブの識別入力パラメータ MODE と SUBMODE でジョブを指定します。これらがまだ完了していないジョブと一致した場合、この SFC 呼び出しは後続呼び出しになります。

パラメータ
パラメータ

宣言

データタイプ メモリ領域

説明

REQ

INPUT

BOOL

I、Q、M、D、L、
定数

レベルトリガのコントロールパラメータ
REQ=1:
ジョブを起動します

MODE

INPUT

BYTE

I、Q、M、D、L、
定数

[ジョブ]

SUBMODE

INPUT

WORD

I、Q、M、D、L、
定数

セカンダリジョブ

RET_VALOUTPUT

INT

I、Q、M、D、L

ファンクションの実行中にエラーが発生すると、戻り値にエラーコードが示されます。ブロックが実行されるたびに、RET_VAL を評価することを確認してください。

BUSY

OUTPUT

BOOL

I、Q、M、D、L

BUSY=1:
ジョブは完了していません

エラー情報
エラーコード (W#16#...)

説明

0000

ジョブは正常に実行されました

7000

最初の呼び出しでの REQ = 0。ジョブは起動していません。BUSY の値は 0 です。

7001

最初の呼び出しでの REQ = 1。ジョブが開始されました。BUSY の値は 1 です。

7002

後続呼び出し(REQ は対象外)。起動されたジョブは実行中です。BUSY の値は
1 です

0001

•

MODE=1 のとき: 更新は既に無効になっています•

MODE=3 のとき: 接続は既に無効になっています•

MODE=22 のとき: テストコンポーネントは既に実行されているので、リス
タートはできません。

•

MODE=30 のとき: CPU 0 が既にマスタ CPU になっているため、プログラム
可能なマスタ/スタンバイ間の切り替えは行えません。

•

MODE=31 のとき: CPU 1 が既にマスタ CPU になっているため、プログラム
可能なマスタ/スタンバイ間の切り替えは行えません。

8080

システムが冗長化モードでないため、H システムの現在のシステムステータス
では、プログラム可能なマスタ/スタンバイ間の切り替えは行えません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

601

H CPU の SFC
29.1 SFC 90 "H_CTRL"による H システムの操作コントロール
エラーコード (W#16#...)

説明

8082

•

MODE=1 のとき: 更新は有効になっており、無効にすることはできません•

MODE=3 のとき: 接続は既に有効になっており、無効にすることはできま
せん•

MODE=20 のとき: 表示されたテストコンポーネントは、周期的セルフテス
トから既に削除されています。

•

MODE=21 のとき: 表示されたテストコンポーネントは、周期的セルフテス
トから削除されていません。

•

MODE=22 のとき: 表示されたテストコンポーネントは、周期的セルフテス
トから削除されたので実行できません。

8090

入力パラメータ MODE の値が無効です

8091

入力パラメータ SUBMODE の値が無効です。

8xyy

一般的なエラー情報については、「出力パラメータ RET_VAL によるエラーの評価」を参照してください。

SFC 90 の使用例
SFC 90 "H_CTRL"を使用して、CPU の最大リソースが必要なとき、開始されたリンクアップおよび開始された更新は何もないことを確認できます。
これを実行するには、プロセスアクティビティが増加する期間の前に、マスタ CPU に次のプログ
ラムセクションを挿入します。
•

Call SFC 90 with MODE = 3 and SUBMODE =0(接続の無効化)•

Call SFC 90 with MODE = 1 and SUBMODE = 0(更新の無効化)

アクティビティが増加する期間の最後で、マスタ CPU に次のプログラムセクションを挿入します。
•

Call SFC 90 with MODE = 4 and SUBMODE = 0(接続の再有効化)•

Call SFC 90 with MODE = 2 and SUBMODE = 0(更新の再有効化)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
602

リファレンスマニュアル, 05/2017, A5E41733394-AA

30

統合ファンクション(統合 I/O 付き CPU 用)

30.1

SFB 29 (HS_COUNT)説明SFB 29 "HS_COUNT" (カウンタ) を使用して、統合 I/O のある CPU の統合カウンタファンクションを次のように作動させることができます。
•

開始値を設定および入力します。

•

比較値を選択および設定します。

•

カウンタをオンにします。

•

デジタル出力をオンにします。

•

現在のカウント値と現在の比較値を読み取ります。

•

カウント値と比較値の関係を問い合わせます。

詳細情報
統合ファンクションカウンタおよび CPU のハードウェア入出力のパラメータと共に使用される
SFB 29 の個々のパラメータの意味は、『S7-300 Programmable Controller, Integrated Functions』
マニュアルで詳細に説明しています。

パラメータ
パラメータ

宣言

データタイプ

メモリ領域

説明

PRES_COUNT

INPUT

DINT

I、Q、M、D、L、
定数

カウンタの開始値です

PRES_COMP_A

INPUT

DINT

I、Q、M、D、L、
定数

新しい比較値
COMP_A

PRES_COMP_B

INPUT

DINT

I、Q、M、D、L、
定数

新しい比較値
COMP_B

EN_COUNT

INPUT

I、Q、M、D、L

カウンタをオンにします

EN_DO

INPUT

BOOL

I、Q、M、D、L、
定数

デジタル出力をオンにします

SET_COUNT

INPUT

BOOL

I、Q、M、D、L、
定数

開始値
PRES_COUNT に入力を設定します

SET_COMP_A

INPUT

BOOL

I、Q、M、D、L、
定数

比較値
COMP_A に入力を設定します

SET_COMP_B

INPUT

BOOL

I、Q、M、D、L、
定数

比較値
COMP_B に入力を設定します

COUNT

OUTPUT

DINT

I、Q、M、D、L

カウンタの実際の値ですS7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

603

統合ファンクション(統合 I/O 付き CPU 用)
30.1 SFB 29 (HS_COUNT)

パラメータ

宣言

データタイプ

メモリ領域

説明

COMP_AOUTPUT

DINT

I、Q、M、D、L

現在の比較値
COMP_A

COMP_BOUTPUT

DINT

I、Q、M、D、L

現在の比較値
COMP_BSTATUS_AOUTPUT

BOOL

I、Q、M、D、L

ステータスビット STATUS_A
1: COUNT ≥ COMP_A
0: COUNT < COMP_A

STATUS_B

OUTPUT

BOOL

I、Q、M、D、L

ステータスビット STATUS_B
1: COUNT ≥ COMP_B
0: COUNT < COMP_B

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2604

リファレンスマニュアル, 05/2017, A5E41733394-AA

統合ファンクション(統合 I/O 付き CPU 用)
30.2 SFB 30 (FREQ_MES)

30.2

SFB 30 (FREQ_MES)

説明
SFB 30 "FREQ_MES" (頻度メータ) を使用して、統合 I/O のある CPU の統合頻度メータファンク
ションを次のように作動させることができます。
•

比較値を選択および設定します。

•

測定された周波数を出力します。

•

現在の比較値を読み取ります。

•

測定された周波数と比較値の関係を問い合わせます。

詳細情報
統合頻度メータファンクションおよび CPU のハードウェア入出力のパラメータと共に使用される
SFB 30 の個々のパラメータの意味は、S7-300 Programmable Controller, Integrated Functions
マニュアルで詳細に説明しています。

パラメータ
パラメータ

宣言

データタイプ

メモリ領域

説明

PRES_U_LIMIT

INPUT

DINT

I、Q、M、D、L、
定数

新しい(上限)比較値
U_LIMITPRES_L_LIMIT

INPUT

DINT

I、Q、M、D、L、
定数

新しい(下限)比較値
L_LIMITSET_U_LIMIT

INPUT

BOOL

I、Q、M、D、L、
定数

新しい比較値
U_LIMIT に入力を設定します

SET_L_LIMIT

INPUT

BOOL

I、Q、M、D、L、
定数

新しい比較値
L_LIMIT に入力を設定します

FREQ

OUTPUT

DINT

I、Q、M、D、LMHz 単位の測定周波数です

U_LIMITOUTPUT

DINT

I、Q、M、D、L

現在の比較値です(上限)

L_LIMITOUTPUT

DINT

I、Q、M、D、L

現在の比較値です(下限)STATUS_UOUTPUT

BOOL

I、Q、M、D、L

ステータスビット"1": FREQ > U_LIMIT"0": FREQ ≤ U_LIMITSTATUS_LOUTPUT

BOOL

I、Q、M、D、L

ステータスビット"1": FREQ < L_LIMIT"0": FREQ ≥ L_LIMIT

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

605

統合ファンクション(統合 I/O 付き CPU 用)
30.3 SFB 38 (HSC_A_B)

30.3

SFB 38 (HSC_A_B)

説明
SFB 38 (HSC_A_B) を使用して、統合入出力のある CPU の統合 A/B カウンタファンクションを
次のように作動させることができます。
•

開始値を指定し採用します。

•

比較値を指定し設定します。

•

カウンタをオンにします。

•

デジタル出力をオンにします。

•

現在のカウント値と現在の比較値を読み取ります。

•

比較値に対するカウント値を問い合わせます。

SFB 38 (HSC_A_B) は、統合ファンクションのインスタンス DB にあるユーザープログラムから
データの読み取り、またはデータの書き込みを行います。A/B カウンタは、カウンタ A とカウンタ Bの 2 つで構成されています。これらのカウンタは同時に動作することも、別々に動作することも可能です(カウントアップとカウントダウンが可能)。
2 つのカウンタは同じように機能します。カウントパルスの周波数は、最大で 10KHz まで登録しておくことができます。

詳細情報
統合ファンクション A/B カウンタおよび CPU のハードウェア入出力のパラメータと共に使用される
SFB 38 のパラメータの正確な内容については、『S7-300 Programmable Controller, Integrated
Functions CPU 312 IFM/314 IFM』マニュアルで詳細に説明しています。

パラメータ
パラメータ

宣言

データタイプ メモリ領域

PRES_COMP

INPUT

DINT

I、Q、M、D、L、 新しい比較値 COMP です
定数

説明

EN_COUNT

INPUT

BOOL

I、Q、M、D、L
定数

EN

INPUT

BOOL

I、Q、M、D、L、 デジタル出力をオンにします
定数

SET_COMP

INPUT

BOOL

I、Q、M、D、L、 比較値 COMP の入力を設定します
定数

COUNT

OUTPUT

DINT

I、Q、M、D、L

カウンタの実際の値です

COMP

OUTPUT

DINT

I、Q、M、D、L

現在の比較値 COMP です

ENO

OUTPUT

BOOL

I、Q、M、D、L

操作エラーです
1 : エラーなしで実行されました
0 : 実行中エラーがありました

カウンタをオンにしますS7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
606

リファレンスマニュアル, 05/2017, A5E41733394-AA

統合ファンクション(統合 I/O 付き CPU 用)
30.4 SFB 39 (POS)

30.4

SFB 39 (POS)説明
SFB 39 (POS) を使用して、統合入出力のある CPU の統合位置決めファンクションを作動させることができます。SFB 39 (POS) は次のファンクションを提供します。
•

同期

•

寸動モードでの実行•

位置決め

統合位置決めファンクションの SFB 39 (POS) は、ユーザープログラムからのデータの読み取り、または統合ファンクションのインスタンス DB へのデータの書き込みを行います。統合位置決め
機能は、非対称 24V インクリメンタルエンコーダから最大 10KHz の信号を獲得します。また、CPU
314 IFM の指定された統合出力を介して、ラピッド/クリープモードまたは周波数コンバータを制御します(位置決め制御)。

詳細情報
統合ファンクション A/B カウンタおよび CPU のハードウェア入出力のパラメータと共に使用される
SFB 39 のパラメータの正確な内容は、『S7-300 Programmable Controller, Integrated Functions
CPU 312 IFM/314 IFM』マニュアルで詳細に説明しています。<

パラメータ
パラメータ

宣言

データタイプ

メモリ領域

説明

EN

INPUT

BOOL

I、Q、M、D、L、 デジタル入力をオンにします
定数

DEST_VAL

INPUT

DINT

I、Q、M、D、L、 統合位置決め機能の目標位置です
定数

REF_VAL

INPUT

DINT

I、Q、M、D、L、 同期の参照ポイントです
定数

SWITCH_OFF_DIFF INPUT

WORD

I、Q、M、D、L、 移動増分単位のスイッチオフ差(スイッ
定数
チオフポイントと目標位置の差)

PRES_COMP

INPUT

DINT

I、Q、M、D、L、 新しい比較値 COMP です
定数

BREAK

INPUT

BYTE

I、Q、M、D、L、 横方向の動きを制御する最大アナログ値
定数です

POS_MODE1,
POS_MODE2

INPUT

BOOL

I、Q、M、D、L、 寸動モードでの実行開始です
定数

POS_STRT

INPUT

BOOL

I、Q、M、D、L、 信号立ち上がりで、位置決め処理を開始
定数
します

SET_POS

INPUT

BOOL

I、Q、M、D、L、 信号立ち上がりが検出されると、入力パ定数ラメータ REF_VAL の値が現在の値として 採用されますS7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

607

統合ファンクション(統合 I/O 付き CPU 用)
30.4 SFB 39 (POS)

パラメータ

宣言

データタイプ

メモリ領域

説明

ENO

OUTPUT

BOOL

I、Q、M、D、L

操作エラーです
1 : エラーなしで実行されました
0 : 実行中エラーがありました

ACTUAL_POS

OUTPUT

DINT

I、Q、M、D、L

現在値

POS_READYOUTPUT

BOOL

I、Q、M、D、L

POS_READY=1 の場合、
位置決め/寸動の完了を示します

REF_VALIDOUTPUT

BOOL

I、Q、M、D、L

基準点スイッチに到達したかどうかを示します

POS_VALIDOUTPUT

BOOL

I、Q、M、D、L軸の現在の位置が、内蔵ファンクションの実際の位置と同期したことを示します(ステータスメッセージ)(ステータスメッセージ)(ステータスメッセージ)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2608

リファレンスマニュアル, 05/2017, A5E41733394-AA

31

プラスチック技術

31.1

SFC 63 (AB_CALL)

説明
SFC 63 (AB_CALL) は、アセンブリコードブロックを呼び出します。
アセンブリコードブロックは、プログラミング言語である"C"言語またはアセンブラで記述された、コンパイル済みのロジックブロックです。

アプリケーション
アセンブリコードブロックは、CPU 614 で使用できるだけです。

詳細情報
SFC 63 の個々のパラメータの意味は、CPU 614 の取扱説明書で詳しく説明しています。アセンブリ
コードブロックのプログラミングに関する別冊のプログラミングガイドが用意されています。

パラメータ
パラメータ

宣言

データタイプ メモリ領域

説明

AB_NUMBER

INPUT

WORD

I、Q、M、D、L、 呼び出すアセンブリコードブロックを表す
定数
ビットです

CALL_REASON INPUT

WORD

I、Q、M、D、L、 SFC が呼び出されたオーガニゼーション
定数
ブロック、DB ポインタ (パラメータ
DB_NUMBER)の評価、またはデバッガの起動

DB_NUMBER

INPUT

WORD

I、Q、M、D、L、 DB ポインタの番号です
定数

RET_VALOUTPUT

WORD

I、Q、M、D、LSFC の戻り値ですS7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

609

プラスチック技術
31.1 SFC 63 (AB_CALL)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
610

リファレンスマニュアル, 05/2017, A5E41733394-AA

32

診断データ

32.1

診断データ構造の概要

システムデータのデータレコード 0 および 1
モジュールの診断データは、システムデータ領域のデータレコード 0 および 1 に格納されています(「データレコードの書き込みおよび読み取り」を参照)。
•

データレコード 0 には、4 バイトの診断データが格納されています。このデータには、シグナルモジュールの現在の状態が示されます。

•

データレコード 1 には以下のものが格納されています。
-

4 バイトの診断データ(データレコード 0 に格納されている)-モジュールに固有の診断データ

診断データの構造および内容
このセクションでは、診断データの各バイトの構造および内容を説明します。
エラーが発生すると、対応するビットが"1"に設定されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

611

診断データ32.2 診断データ

32.2

診断データ
診断データの構造および内容:
バイト ビット 意味
0

1

備考

0

モジュール異常

1

内部エラー

2

外部エラー

3

チャンネルエラー

4

外部補助電圧がありません5

フロントコネクタがありません6

パラメータの割り付けがありません

7

モジュールのパラメータが不正

0

モジュールクラス

至
3

2

4

チャンネル情報あり

5

ユーザー情報あり

6置換による診断割り込み

7

保守要件(PROFINET IO のみ)

0

メモリカードが無効または欠落

1

通信異常

2

モード

3

サイクルモニタリング応答

4

内部モジュール電源異常

5

バッテリ消耗

6

バッテリバックアップ全体の異常7

保守要求(PROFINET IO のみ)

0

増設ラック異常1

プロセッサの障害

2

EPROM エラー3

RAM エラー

4

ADC/DAC エラー

5

ヒューズが切れた6

ハードウェア割り込みが失われた

7

予約済み

データ
レコード
0 および 10101 アナログモジュール
0000 CPU
1000 ファンクションモジュール
1100 CP
1111 デジタルモジュール
0011 DP 標準スレーブ
1011 I スレーブ
0100 IM0 および 10 および 1
0: RUN
1: STOP30 および 1

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
612

リファレンスマニュアル, 05/2017, A5E41733394-AA

診断データ32.2 診断データ
バイト ビット 意味

備考

データ
レコード

4

B#16#70 デジタル入力
B#16#72 デジタル出力
B#16#71 アナログ入力
B#16#73 アナログ出力
B#16#74 FM-POS
B#16#75 FM-REG
B#16#76 FM-ZAEHL
B#16#77 FM-TECHNO
B#16#78 FM-NCU
B#16#79 to
B#16#7D 予約済み
B#16#7E US300
B#16#7F 予約済み

1

0

チャンネルタイプ

至
6

5

7

その他のチャンネルタイプがあるか? 0: No
1: Yes0

モジュールによる、チャンネルごとの診断ビット出力の数

チャンネルごとの診断ビットの数は、 1
バイト境界値に切り上げられます。

モジュールごとの同タイプのチャンネル数

1 つのモジュールに異なるチャンネル 1
タイプがある場合、ストラクチャは、
チャンネルタイプごとに、レコード 1のバイト 4 以降で繰り返されます。

0

チャンネルエラーチャンネル 0/
チャンネルグループ 0

チャンネルエラービットの先頭ビット( チャンネルエラービットの長さは、チャンネル数によって異なり バ
イト境界値に切り上げられます)。

1

チャンネルエラーチャンネル 1/
チャンネルグループ 1

2

チャンネルエラーチャンネル /チャンネルグループ 2

3チャンネルエラーチャンネル 3/
チャンネルグループ 3

4チャンネルエラーチャンネル 4/
チャンネルグループ 4

5

チャンネルエラーチャンネル 5/
チャンネルグループ 5

6

チャンネルエラーチャンネル 6/
チャンネルグループ 6

7

チャンネルエラーチャンネル 7/
チャンネルグループ 7-

チャンネル固有エラー(チャンネル固有診断データの構造を参照)

至
7
6

0
至
7

7

...

1

1

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA613

診断データ32.3 チャンネル固有診断データの構造

32.3

チャンネル固有診断データの構造

チャンネル固有エラー
チャンネルエラービットの次のバイトから開始すると、モジュールの各チャンネルにチャンネル固有エラーが示されます。次の表に、チャンネル固有診断データの構造をチャンネルタイプ別に示します。
各ビットには次の意味があります。
•

1 = エラー•

0 = エラーなし

アナログ入力チャンネル
アナログ入力チャンネルの診断データ:
ビット 意味備考

0

コンフィグレーション/
パラメータ割り付けエラー

SFC 52 および EVENTN = W#16#8x50 で信号を送る

1

コモンモードエラー

SFC 52 および EVENTN = W#16#8x51 で信号を送る

2

P 短絡

SFC 52 および EVENTN = W#16#8x52 で信号を送る

3

M 短絡

SFC 52 および EVENTN = W#16#8x53 で信号を送る

4

断線

SFC 52 および EVENTN = W#16#8x54 で信号を送る

5

基準チャンネルエラー

SFC 52 および EVENTN = W#16#8x55 で信号を送る

6

電流が測定範囲を下回る

SFC 52 および EVENTN = W#16#8x56 で信号を送る

7

電流が測定範囲を上回る

SFC 52 および EVENTN = W#16#8x57 で信号を送る

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2614

リファレンスマニュアル, 05/2017, A5E41733394-AA

診断データ32.3 チャンネル固有診断データの構造

アナログ出力チャンネル
アナログ出力チャンネルの診断バイト:
ビット 意味備考

0

コンフィグレーション/
パラメータ割り付けエラー

SFC 52 および EVENTN = W#16#8x60 で信号を送る

1

コモンモードエラー

SFC 52 および EVENTN = W#16#8x61 で信号を送る

2

P 短絡

SFC 52 および EVENTN = W#16#8x62 で信号を送る

3

M 短絡

SFC 52 および EVENTN = W#16#8x63 で信号を送る

4

断線

SFC 52 および EVENTN = W#16#8x64 で信号を送る

5

0

予約済み

6

負荷電圧がありません

SFC 52 および EVENTN = W#16#8x66 で信号を送る

7

0

予約済み

デジタル入力チャンネル
デジタル入力チャンネルの診断バイト:
ビット 意味備考

0

コンフィグレーション/パラメータ SFC 52 および EVENTN = W#16#8x70 で信号を送る
割り付けエラー1

接地異常

SFC 52 および EVENTN = W#16#8x71 で信号を送る

2

P 短絡(センサ)

SFC 52 および EVENTN = W#16#8x72 で信号を送る

3

M 短絡

SFC 52 および EVENTN = W#16#8x73 で信号を送る

4

断線

SFC 52 および EVENTN = W#16#8x74 で信号を送る

5

センサ電源がありません

SFC 52 および EVENTN = W#16#8x75 で信号を送る

6

0

予約済み

7

0

予約済み

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

615

診断データ32.3 チャンネル固有診断データの構造

デジタル出力チャンネル
デジタル出力チャンネルの診断バイト:
ビット 意味備考

0

コンフィグレーション/パラメータ SFC 52 および EVENTN = W#16#8x80 で信号を送る
割り付けエラー1

接地異常

SFC 52 および EVENTN = W#16#8x81 で信号を送る

2

P 短絡

SFC 52 および EVENTN = W#16#8x82 で信号を送る

3

M 短絡

SFC 52 および EVENTN = W#16#8x83 で信号を送る

4

断線

SFC 52 および EVENTN = W#16#8x84 で信号を送る

5

ヒューズが切れた

SFC 52 および EVENTN = W#16#8x86 で信号を送る

6

負荷電圧がありません

SFC 52 および EVENTN = W#16#8x86 で信号を送る

7

オーバーヒート

SFC 52 および EVENTN = W#16#8x87 で信号を送る

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2616

リファレンスマニュアル, 05/2017, A5E41733394-AA

33

システムステータスリスト(SSL)

33.1

システムステータスリスト(SSL)の概要
このセクションでは、以下に関連するシステムステータスリストのサブリストをすべて説明します。
•

CPU

•

モジュール固有ではないサブリストをもつモジュール(たとえば、SSL-ID の W#16#00B1、
W#16#00B2、W#16#00B3)

たとえば、CP および FM のモジュール固有サブリストについては、そのモジュールの説明の中で記載されています。

定義: システムステータスリスト
システムステータスリスト(SSL)では、プログラマブルロジックコントローラの現在の状態を説明しています。SSL の内容は、情報機能を使って読むことができますが、変更はできません。サブリ
ストは仮想リストです。つまり、明示的に要求された場合に、CPU のオペレーティングシステムによって作成されます。
SFC 51 "RDSYSST"を使用して、1 つのシステムステータスリストのみを読み取ることができます。

内容
システムステータスリストには、以下に関する情報が示されています。
•

システムデータ•

CPU にあるモジュールステータスデータ•

モジュールの診断データ•

診断バッファ

システムデータ
システムデータは調整されるか、CPU の特性が割り付けられます。システムデータにより、以下に関する情報が提供されます。
•

CPU のコンフィグレーション•

優先度クラスのステータス•

通信

モジュールステータスデータ
モジュールステータスデータには、システム診断ファンクションによりもモニタされたコンポーネントの現在のステータスが記述されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

617

システムステータスリスト(SSL)
33.1 システムステータスリスト(SSL)の概要

モジュールの診断データ
CPU に割り付けられた診断機能付きモジュールは、モジュールに直接保存される診断データを持っています。

診断バッファ
診断バッファには、診断エントリが発生順に保存されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2618

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.2 サブ SSL リストの構造

33.2

サブ SSL リストの構造

基本
SFC 51 "RDSYSST"を使用して、サブリストおよびサブリスト抽出を読み取ることができます。
パラメータ SSL_ID および INDEX を使用して、読み取るリストを指定します。

構造
サブリストは以下で構成されます。
•

ヘッダ

•

データレコード

ヘッダ
サブリストのヘッダは以下で構成されます。
•

SSL-ID•

インデックス•

サブリストのデータレコードの長さ(バイト単位)•

サブリストに含まれているデータレコードの数

インデックス
特定のサブリストまたはその抽出では、オブジェクトタイプ ID またはオブジェクト番号を指定する必要があります。この指定には、インデックスを使用します。情報にインデックスが必要ない
場合、その内容は関連性のないものです。

データレコード
サブリスト内のデータレコードは特定の長さになります。これは、サブリストの情報によって異なります。データレコード内のデータワードを使用する方法も、サブリストによって異なります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

619

システムステータスリスト(SSL)
33.3 SSL-ID

33.3

SSL-ID

SSL-ID
すべてのサブシステムステータスリストには番号が付いています。ユーザは、完全サブリストまたはその抽出を出力することができます。サブリストの抽出は、あらかじめ定義しておき、番号で識別します。SSL-ID は、サブリストの番号、サブリスト抽出の番号、モジュールクラスから成ります。

構造
SSL-ID は 1 ワード長です。SSL-ID のビットの意味は次のようになります。
15

Module class

12 11

8 7

Number of thepartial list
extract0

Number of thepartial list

SCL_ID の構造

モジュールクラス
モジュールクラスの例:
モジュールクラス

コード化(バイナリ)

CPU

0000

IM

0100

FM

1000

CP

1100

サブリスト抽出の番号サブリスト抽出の番号とその意味は、この抽出が属するサブシステムステータスリストによって異なります。サブリスト抽出の番号を使って、サブリストのどのサブセットを読むのかを指定します。

サブリストの番号サブリストの番号を使って、システムステータスリストのどのサブリストを読むのかを指定します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2620

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.4 可能なサブシステムステータスリスト

33.4

可能なサブシステムステータスリスト

サブセット
すべてのサブリストのサブセットを持てるのは、1 つのモジュールだけです。使用できるサブリスト
は、モジュールによって異なります。

可能な SSL サブリスト
次の表に、可能なすべてのサブリストと、SSL-ID で示される番号をリストします。
サブリスト

SSL-ID

モジュールの識別

W#16#xy11

CPU 特性

W#16#xy12

ユーザーメモリ領域

W#16#xy13

システム領域

W#16#xy14

ブロックタイプW#16#xy15

割り込みの状態

W#16#xy22

プロセスイメージパーティションと OB 間の割り付け

W#16#xy25

通信ステータスデータ

W#16#xy32

H CPU グループ情報

W#16#xy71

モジュール LED のステータス

W#16#xy74

H システムにある切り替え済み DP スレーブ

W#16#xy75

モジュールステータス情報

W#16#xy91

ラック / ステーションのステータス情報

W#16#xy92

ラック / ステーションのステータス情報

W#16#0x94

DP マスタシステム/PROFINET IO システムに関する拡張情報

W#16#xy95

モジュールステータス情報、PROFINET IO および PROFIBUS DP

W#16#xy96

ツールチェンジャ情報(PROFINET IO)

W#16#xy9C

CPU の診断バッファ

W#16#xyA0

モジュール診断情報(データレコード 0)

W#16#00B1

モジュール診断情報(データレコード 1)、物理アドレス

W#16#00B2

モジュール診断情報(データレコード 1)、論理アドレス

W#16#00B3

DP スレーブの診断データ

W#16#00B4

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

621

システムステータスリスト(SSL)
33.5 SSL-ID W#16#xy11 - モジュール ID

33.5

SSL-ID W#16#xy11 - モジュール ID

目的
SSL-ID W#16#xy11 システムステータスリストを読むことにより、該当するモジュールのモジュール
ID が得られます。

ヘッダ
システムステータスリスト SSL-ID W#16#xy11 のヘッダは次の構造になっています。
内容

意味

SSL-ID

サブリスト抽出の SSL-ID
W#16#0111: 単一の識別データレコード

INDEX

特定データレコードの番号
W#16#0001: モジュールの ID
W#16#0004: システム拡張カードの ID
W#16#0006: 基本ハードウェアの ID
W#16#0007: 基本ファームウェアの ID

LENTHDR

W#16#001C: 1 データレコード長は、14 ワード(28 バイト)

N_DR

データレコード数

データレコード
システムステータスリスト SSL-ID W#16#xy11 のデータレコードは次の構造になっています。
名称

長さ

意味

インデックス 1 ワード

識別データレコードの番号

MlfB

INDEX W#16#0001 を使用する。モジュールの注文番号、19 文字とブランク(20H)で構成されたストリング、などは CPU 314 用: "6ES7 314-0AE01-0AB0"

20 バイトINDEX W#16#0004 の場合: システム拡張カードの注文番号; 文字列は 19 文字と1 つの空白(20H)で構成されます; たとえば、「6ES7 653-2CE00-0XB0 」
INDEX W#16#0006 を使用する。モジュールの注文番号、19 文字とブランク(20H)で構成されたストリング、などは CPU 314 用: "6ES7 314-0AE01-0AB0"INDEX W#16#0007 を使用して予約済み
BGTyp

1 ワード

予約済み

Ausbg1

1 ワード

INDEX W#16#0001 を使用する。モジュールのバージョン
INDEX W#16#0004 の場合: ハードウェアバージョン、たとえば、"1"
INDEX W#16#0006 および W#16#0007 の場合: 「V」と、バージョン ID の最初の数字

Ausbg2

1 ワード

INDEX W#16#0001 を使用して予約済み
INDEX W#16#0004 の場合: ハードウェアバージョン、たとえば、「V1」INDEX W#16#0006 および W#16#0007 の場合: バージョン ID の残りの数字

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
622

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.6 SSL-ID W#16#xy12 - CPU 特性

33.6

SSL-ID W#16#xy12 - CPU 特性

目的
CPU モジュールの特性は、使用されているハードウェアによって違ってきます。各特性には ID が1 つ割り付けられます。サブリスト SSL-ID W#16#xy12 を読むことにより、該当するモジュールの特性が得られます。

ヘッダ
サブリスト SSL-ID W#16#xy12 のヘッダは次の構造になっています。
内容

意味

SSL-ID

サブリスト抽出の SSL-ID。
W#16#0012: すべての文字
W#16#0112:グループの特性
パラメータ INDEX 内でグループを指定。
W#16#0F12: サブリストヘッダ情報

INDEX

グループ
W#16#0000: MC7 処理ユニット
W#16#0100: タイムシステム
W#16#0200: システム応答
W#16#0300: CPU の MC7 言語記述
W#16#0400: SFC 87 と SFC 88 のアベイラビリティ

LENTHDR

W#16#0002: 1 データレコード長は、1 ワード(2 バイト)です。

N_DR

データレコード数

データレコード
サブリスト SSL-ID W#16#xy12 のデータレコード長は 1 ワードです。各特性には識別子が 1 つ入力されます。各特性識別子の長さは、1 ワードです。

注記
CPU に適したすべてのデータレコードが出力されます。データレコードは順にギャップなしで続きます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

623

システムステータスリスト(SSL)
33.6 SSL-ID W#16#xy12 - CPU 特性

特性識別子
次の表にすべての特性識別子が記載されています。
識別子

意味

W#16#0000 - 00FF

MC7 処理ユニット(インデックス 0000 の場合はグループ)

W#16#0001

MC7 処理生成コード

W#16#0002

MC7 インタプリタ

W#16#0100 - 01FF

タイムシステム(インデックス 0100 の場合はグループ)

W#16#0101

1 ms 分解能

W#16#0102

10 ms 分解能

W#16#0103

リアルタイムクロックなし

W#16#0104

BCD 時刻フォーマット

W#16#0105

すべての時刻ファンクション(時刻の設定、時刻の設定と読み取り、時刻の同期:
時刻スレーブと時刻マスタ)

W#16#0106

SFC 78 "OB_RT"が利用可能

W#16#0200 - 02FF

システム応答(インデックス 0200 の場合はグループ)

W#16#0201

マイクロプロセッサモード可能

W#16#202

コールドリスタート、ウォームリスタート、ホットリスタート可能W#16#203

コールドリスタート、ホットリスタート可能W#16#204

ウォームリスタート、ホットリスタート可能W#16#205

ウォームリスタートのみ可能

W#16#0206

RUN 中に、事前定義リソースを使用して新しいリモート I/O コンフィグレーショ
ンが可能

W#16#0207

スタンドアロンモードでの H-CPU: RUN 中に、事前定義リソースを使用して新しいリモート I/O コンフィグレーションが可能

W#16#0208

モーションコントロール機能の考慮用

W#16#0300 - 03FF

CPU の MC7 言語記述(インデックス 0300 の場合はグループ)

W#16#0301

予約済み

W#16#0302

32 ビット固定小数点命令すべて

W#16#0303

浮動小数点命令すべて

W#16#0304

sin、asin、cos、acos、tan、atan、sqr、sqrt、ln、exp

W#16#0305

対応する命令が指定されたアキュムレータ 3/アキュムレータ 4(ENT、PUSH、POP、LEAVE)

W#16#0306

マスタコントロールリレー命令

W#16#0307

対応する命令を指定されたアドレスレジスタ 1 が存在します

W#16#0308

対応する命令を指定されたアドレスレジスタ 2 が存在します

W#16#0309

領域間アドレス指定の動作

W#16#030A

領域内アドレス指定の動作

W#16#030B

ビットメモリ(M)のメモリ間接アドレス指定命令すべて

W#16#030C

データブロック(DB)のメモリ間接アドレス指定命令すべて

W#16#030D

データブロック(DI)のメモリ間接アドレス指定命令すべて

W#16#030E

ローカルデータ(L)のメモリ間接アドレス指定命令すべて

W#16#030F

FC のパラメータ転送用命令すべて

W#16#0310

プロセスイメージ入力(I)のメモリビットエッジ命令

W#16#0311

プロセスイメージ出力(Q)のメモリビットエッジ命令

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2624

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.6 SSL-ID W#16#xy12 - CPU 特性
識別子

意味

W#16#0312

ビットメモリ(M)のメモリビットエッジ命令

W#16#0313

データブロック(DB)のメモリビットエッジ命令

W#16#0314

データブロック(DI)のメモリビットエッジ命令

W#16#0315

ローカルデータ(L)のメモリビットエッジ命令

W#16#0316

FC ビットの動的評価

W#16#0317

対応する命令が指定された動的なローカルデータ領域

W#16#0318

予約済み

W#16#0319

予約済み

W#16#0401

SFC 87 "C_DIAG"は使用可能です

W#16#0402

SFC 88 "C_CNTRL"は使用可能です

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

625

システムステータスリスト(SSL)
33.7 SSL-ID W#16#xy13 - メモリ領域

33.7

SSL-ID W#16#xy13 - メモリ領域

目的
サブリスト SSL-ID W#16#xy13 を読むことにより、モジュールのメモリ領域に関する情報が得られます。

ヘッダ
サブリスト SSL-ID W#16#xy13 のヘッダは次の構造になっています。
内容

意味

SSL-ID

サブリスト抽出の SSL-ID
W#16#0113: 1 メモリ領域のデータレコード
INDEX パラメータでメモリ領域を指定します。

INDEX

メモリ領域を指定します(SSL-ID W#16#0113 の場合に限ります)
W#16#0001: ワークメモリ

LENTHDR

W#16#0024: 1 データレコード長は、18 ワード(36 バイト)です。

N_DR

データレコード数

データレコード
サブリスト SSL-ID W#16#xy13 のデータレコードは次の構造になっています。
名称

長さ

意味

インデックス

1 ワード

メモリ領域のインデックス
W#16#0001: ワークメモリ

コード

1 ワード

メモリタイプW#16#0001: 揮発性メモリ(RAM)
W#16#0002: 不揮発性メモリ(FEPROM)
W#16#0003: 混合メモリ(RAM + FEPROM)

サイズ

2 ワード

選択したメモリの合計サイズ(領域 1 と領域 2 の合計)

モード

1 ワード

メモリの論理モード
ビット 0: 揮発性メモリ領域
ビット 1: 不揮発性メモリ領域
ビット 2: 混合メモリ領域
ワークメモリ用
ビット 3: コードとデータが分かれている
ビット 4: コードとデータが合わせてある

Granu

1 ワード

値は必ず 0 となります

Ber1

2 ワード

揮発性メモリ領域のサイズ(バイト)Belegt1

2 ワード

使用されている揮発性メモリ領域のサイズ

Block1

2 ワード

揮発性メモリ領域内の最大空きブロック
0 の場合: 使用可能な情報がない、または確認できません。

Ber2

2 ワード

不揮発性メモリ領域のサイズ(バイト)Belegt2

2 ワード

使用されている不揮発性メモリ領域のサイズ

Block22 ワード

不揮発性メモリ領域内の最大空きブロック
0 の場合: 使用可能な情報がない、または確認できません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
626

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.8 SSL-ID W#16#xy14 - システム領域

33.8

SSL-ID W#16#xy14 - システム領域

目的サブリスト SSL-ID W#16#xy14 を読むことにより、モジュールのシステム領域に関する情報が得られます。

ヘッダ
サブリスト SSL-ID W#16#xy14 のヘッダは次の構造になっています。
内容

意味

SSL-ID

サブリスト抽出の SSL-ID
W#16#0014: モジュールのシステム領域すべて
W#16#0F14: サブリストヘッダ情報の場合に限ります

INDEX

該当なし

LENTHDR

W#16#0008: 1 データレコード長は、4 ワード(8 バイト)です。

N_DR

データレコード数
少なくとも 9 データレコードの番号を割り付ける必要があります。選択した
ターゲット領域が小さすぎる場合、SFC51 はデータレコードを供給しません。

データレコード
サブリスト SSL-ID W#16#xy14 のデータレコードは次の構造になっています。
名称

長さ

意味

インデックス

1 ワード

システム領域のインデックス
W#16#0001: PII(バイト単位の数)
W#16#0002: PIQ(バイト単位の数)
W#16#0003: メモリ(ビット単位の数)
注記
フラグの数が 1 つのワードに示されている場合、
このインデックスのみ CPU によって供給されます。
CPU がこの値を供給しない場合、インデックス
W#16#0008 を評価する必要があります。
W#16#0004: タイマ(番号)W#16#0005: カウンタ(番号)W#16#0006: 論理アドレス領域にあるバイトの数
W#16#0007: ローカルデータ(バイト単位の、CPU の
ローカルデータ領域すべて)
注記
フラグの数が 1 つのワードに示されている場合、
このインデックスのみ CPU によって供給されます。
CPU がこの値を供給しない場合、インデックス
W#16#0009 を評価する必要があります。
W#16#0008: メモリ(バイト単位の数)
W#16#0009: ローカルデータ(キロバイト単位の、CPU の
ローカルデータ領域すべて)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

627

システムステータスリスト(SSL)
33.8 SSL-ID W#16#xy14 - システム領域
名称

長さ

意味

コード

1 ワード

メモリタイプW#16#0001: 揮発性メモリ(RAM)
W#16#0002: 不揮発性メモリ(FEPROM)
W#16#0003: 混合メモリ(RAM と FEPROM)

数量

1 ワード

システム領域の要素数

Reman

1 ワード

保持要素の数

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2628

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.9 SSL-ID W#16#xy15 - ブロックタイプ

33.9

SSL-ID W#16#xy15 - ブロックタイプ

目的
サブリスト SSL-ID W#16#xy15を読むことにより、モジュール上にあるブロックタイプが得られます。

ヘッダ
サブリスト SSL-ID W#16#xy15 のヘッダは次の構造になっています。
内容

意味

SSL-ID

サブリスト抽出の SSL-ID
W#16#0015: 任意のモジュールのブロックタイプすべてのデータレコード

INDEX

該当なし

LENTHDR

W#16#0006: 1 データレコード長は、5 ワード(10 バイト)です。

N_DR

データレコード数

データレコード
サブリスト SSL-ID W#16#xy15 のデータレコードは次の構造になっています。
名称

長さ

意味

インデックス

1 ワード

ブロックタイプ番号
W#16#0800: OB
W#16#0A00: DB
W#16#0B00: SDB
W#16#0C00: FC
W#16#0E00: FB

MaxAnz

1 ワード

ブロックタイプの最大数
OB:
CPU 用 OB の最大有効数
DB:
DB0 を含む DB の最大有効数
SDB:
SDB2 を含む SDB の最大有効数
FC および FB:

ロード可能なブロックの最大有効数

MaxLng1 ワード

ロードされるオブジェクトの最大合計サイズ(キロバイト)

Maxabl2 ワード

任意のブロックの最大ワークメモリ部分長(バイト)S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

629

システムステータスリスト(SSL)
33.10 SSL-ID W#16#xy74 - モジュール LED のステータス

33.10

SSL-ID W#16#xy74 - モジュール LED のステータス

目的(もしあれば)標準 CPU、および H CPU が指定されたサブリスト SSL-ID W#16#xy74 を読むことにより、モジュール LED のステータスが得られます。
H CPU が非冗長 H モードになっている場合には、該当する CPU の LED ステータスが得られます。
H CPU が RUN-REDUNDANT モードになっている場合には、冗長 H CPU すべての LED ステータスが戻されます。

ヘッダ
サブリスト SSL-ID W#16#xy74 のヘッダは次の構造になっています。
内容

意味

SSL-ID

サブリスト抽出の SSL-ID
W#16#0174
任意の LED のステータス
INDEX パラメータで LED を選択します。

INDEX

LED ID (SSL-ID W#16#0174 の場合のみ有効)
W#16#0001: SF (グループエラー)
W#16#0002: INTF (内部エラー)
W#16#0003: EXTF (外部エラー)
W#16#0004: RUN
W#16#0005: STOP
W#16#0006: FRCE (強制)W#16#0007: CRST (コールドリスタート)
W#16#0008: BAF (バッテリエラー/オーバーロード、バス上にあるバッテリ電圧短絡)
W#16#0009: USR (ユーザー定義済み)
W#16#000A: USR1 (ユーザー定義済み)
W#16#000B: BUS1F (インターフェース 1 のバスエラー)
W#16#000C: BUS2F (インターフェース 2 のバスエラー)、
または、414-3 PN/DP、416-3 PN/DP、
416F-3 PN/DP の各 CPU 使用時の BUS5F(インターフェース 5 のバスエラー)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
630

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.10 SSL-ID W#16#xy74 - モジュール LED のステータス
内容

意味

INDEX

W#16#000D: REDF (冗長化エラー)
W#16#000E: MSTR (マスタ)W#16#000F: RACK0 (ラック番号 0)
W#16#0010: RACK1 (ラック番号 1)
W#16#0011: RACK2 (ラック番号 2)
W#16#0012: IFM1F (インターフェースモジュール 1 のインターフェースエラー)
W#16#0013: IFM2F (インターフェースモジュール 2 のインターフェースエラー)
W#16#0014: BUS3F (インターフェース 3 のバスエラー)
W#16#0015: MAINT (保守要求)
W#16#0016: DC24V
W#16#0017: BUS5F (インターフェース 5 のバスエラー)
W#16#0018: BUS8F (インターフェース 8 のバスエラー):

W#16#0080: IF(初期化エラー)
W#16#0081: UF(ユーザーエラー)
W#16#0082: MF(監視エラー)
W#16#0083: CF(通信エラー)
W#16#0084: TF(タスクエラー):

W#16#00EC: APPL_STATE_RED
W#16#00ED: APPL_STATE_GREEN
ENTHDR

W#16#0004: 1 データレコード長は、2 ワード(4 バイト)です。

N_DR

データレコード数

データレコード
リダンダント RUN モードの H CPU の場合、それぞれの CPU に対して 1 つのデータレコードが返されます: 最初のデータレコードには現在のマスタ CPU の LED 情報が格納され、2 番目のデータ
レコードには現在のスタンバイ CPU の LED 情報が格納されています。
サブリスト抽出 SSL-ID W#16#xy74 のデータレコードは次の構造になっています。
名称

長さ

cpu_led_ID 1 ワード

意味
•

バイト 0
-

標準 CPU: B#16#00-

H-CPU: ビット 0～2: ラック番号
ビット 3: 0=スタンバイ CPU, 1=マスタ CPU
ビット 4～7: 1111

バイト 1: LED ID
led_on

1 バイト

LED のステータス:
0: オフ
1: オン

led_blink

1 バイト

LED の点滅ステータス:
0: 点滅していない
1: 通常通り点滅(2 Hz)
2: ゆっくりと点滅(0.5 Hz))

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

631

システムステータスリスト(SSL)
33.11 SSL-ID W#16#xy1C - コンポーネント ID

33.11

SSL-ID W#16#xy1C - コンポーネント ID

目的
SSL-ID W#16#xy1C を使用してサブリストを読み取る場合、CPU または PLC を識別できます。

ヘッダ
サブリスト W#16#xy1C のヘッダは、次のように構成されています。
内容

意味

SSL-ID

サブリスト抽出の SSL-ID

INDEX

W#16#001C:

すべてのコンポーネントの ID

W#16#011C:

1 つのコンポーネントの ID

W#16#021C:

H システムの CPU の全コンポーネント ID

W#16#031C

H システムの全リダンダント CPU の 1 つのコンポーネント ID

W#16#0F1C:

SSL サブリストヘッダ情報のみ••

SSL ID W#16#011CおよびW#16#031Cによる、サブリスト抽出用コンポーネントの ID-

W#16#0001: オートメーションシステムの名前-

W#16#0002:モジュール名-

W#16#0003: モジュールのプラント名-

W#16#0004: 著作権の登録者-

W#16#0005: モジュールのシリアル番号-

W#16#0007: モジュールタイプ名-

W#16#0008: メモリカードのシリアル番号
メモリカードが差し込まれるオプションを持たないモジュールの場合、データ
レコードは返されません。

-

W#16#0009: CPU モジュールの製造者およびプロファイル-

W#16#000A: モジュールの OEM ID(S7-300 のみ)-

W#16#000B: モジュールのロケーション ID-

W#16#000C: SYNC モジュール 1 のシリアル番号-

W#16#000D: SYNC モジュール 2 のシリアル番号-

W#16#000E: システム拡張カードのシリアル番号

サブリスト抽出 SSL ID W#16#021C のラック番号(バイト 0: ラック番号、バイト
1: B#16#00)

LENTHDR

W#16#0022:

N_DR

データレコード数

1 データレコード長は、17 ワード(34 バイト) です。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
632

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.11 SSL-ID W#16#xy1C - コンポーネント ID

返されるデータSSL-ID が W#16#011C および W#16#031C のサブリストでは、返されるデータは、正確に 1 つのINDEX のデータレコードまたは複数のデータレコードのデータです。
SSL-ID が W#16#001C および W#16#021C のサブリストでは、返されるデータは、すべての可能な
データレコードのデータです。

注記
SFC 51 が SSL-ID W#16#001C および W#16#021C で呼び出される場合、INDEX 呼び出しパラメー
タは、他のすべての返されるデータレコードと比較して異なる意味を持ちます。
SSL-ID W#16#001C の場合、INDEX 呼び出しパラメータは機能を持ちませんが、SSL-ID
W#16#021C の場合は、INDEX 呼び出しパラメータでラック番号(0 または 1)を転送します。

データレコード
サブリスト SSL-ID W#16#xy19 のデータレコードは次の構造になっています。
•

INDEX = W#16#0001

名称

長さ

意味

インデックス

1 ワード•

標準 CPU およびサブリスト抽出 W#16#011C の場合: コンポーネント ID:
W#16#0001•

H CPU およびサブリスト抽出 W#16#021C および W#16#031C の場合:
バイト 0: ビット 0～2: ラック番号; ビット 3: 0 = 予備 CPU、1 = マスタ
CPU; ビット 4～7: 1111
バイト 1: 部品 ID: B#16#01

名称

12 ワード

PLC の名前(最大 24 文字で、短い名前を使用するときは B#16#00 で空白を埋めます)

Res

4 ワード

予約済み

•

INDEX = W#16#0002

名称

長さ

意味

インデックス

1 ワード•

標準 CPU およびサブリスト抽出 W#16#011C の場合: コンポーネント ID:
W#16#0002•

H CPU およびサブリスト抽出 W#16#021C および W#16#031C の場合:
バイト 0: ビット 0～2: ラック番号; ビット 3: 0 = 予備 CPU、1 = マスタ
CPU; ビット 4～7: 1111
バイト 1: 部品 ID: B#16#02

名称

12 ワードモジュールの名前(最大 24 文字で、短い名前を使用するときは B#16#00 で空白を埋めます)

Res

4 ワード

予約済み

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

633

システムステータスリスト(SSL)
33.11 SSL-ID W#16#xy1C - コンポーネント ID•

INDEX = W#16#0003

名称

長さ

意味

インデックス

1 ワード•

標準 CPU およびサブリスト抽出 W#16#011C の場合: コンポーネント ID:
W#16#0003•

H CPU およびサブリスト抽出 W#16#021C および W#16#031C の場合:
バイト 0: ビット 0～2: ラック番号; ビット 3: 0 = 予備 CPU、1 = マスタ
CPU; ビット 4～7: 1111
バイト 1: 部品 ID: B#16#03

tag•

16 ワードモジュールのプラント ID(最大 32 文字; 短いプラント ID を使用するときは B#16#00 で空白を埋めます)

INDEX = W#16#0004

名称

長さ

意味

インデックス

1 ワード•

標準 CPU およびサブリスト抽出 W#16#011C の場合: コンポーネント ID:
W#16#0004•

H CPU およびサブリスト抽出 W#16#021C および W#16#031C の場合:
バイト 0: ビット 0～2: ラック番号; ビット 3: 0 = 予備 CPU、1 = マスタ
CPU; ビット 4～7: 1111
バイト 1: 部品 ID: B#16#04

copyright

13 ワード

一定の文字シーケンス"Siemens オリジナル装置"

Res

3 ワード

予約済み

•

INDEX = W#16#0005

名称

長さ

意味

インデックス

1 ワード•

標準 CPU およびサブリスト抽出 W#16#011C の場合: コンポーネント ID:
W#16#0005•

H CPU およびサブリスト抽出 W#16#021C および W#16#031C の場合:
バイト 0: ビット 0～2: ラック番号; ビット 3: 0 = 予備 CPU、1 = マスタ
CPU; ビット 4～7: 1111
バイト 1: 部品 ID: B#16#05

serialn

12 ワードモジュールのシリアル番号(最大 24 文字の文字列)。比較的小さな番号には、
B#16#00 が埋め込まれます。
注記: このシリアル番号は、SIMATIC コンポーネントに対して一意の番号であり、CPU ハードウェアに恒久的に割り付けられます。つまり、ファームウェアの更新が実行されても、この番号は変わりません。

res

4 ワード

予約済み

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2634

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.11 SSL-ID W#16#xy1C - コンポーネント ID•

INDEX = W#16#0007

名称

長さ

意味

インデックス

1 ワード•

標準 CPU およびサブリスト抽出 W#16#011C の場合: コンポーネント ID:
W#16#0007•

H CPU およびサブリスト抽出 W#16#021C および W#16#031C の場合:
バイト 0: ビット 0～2: ラック番号; ビット 3: 0 = 予備 CPU、1 = マスタ
CPU; ビット 4～7: 1111
バイト 1: 部品 ID: B#16#07

Cputypname•

16 ワードモジュールのタイプ名(最大 32 文字の文字列)。比較的短い名前には、B#16#00
が埋め込まれます。

INDEX = W#16#0008

名称

長さ

意味

インデックス

1 ワード•

標準 CPU およびサブリスト抽出 W#16#011C の場合: コンポーネント ID:
W#16#0008•

H CPU およびサブリスト抽出、W#16#011CW#16#021C および
W#16#031C の場合:
バイト 0: ビット 0～2: ラック番号; ビット 3: 0 = 予備 CPU、1 = マスタ
CPU; ビット 4～7: 1111
バイト 1: 部品 ID: B#16#08

sn_mc/mmc

16 ワードメモリカード/マイクロメモリカードのシリアル番号(最大 32 文字の文字列)。比較的短い名前には、B#16#00 が埋め込まれます。
•

Siemens のシリアル番号: シリアル番号のみ、インデックスなし•

S7 マイクロメモリカードの製品シリアル番号(PSN): "MMC"＋シリアル番号
(PSN)

•

S7 メモリカードのシリアル番号: "MC"＋シリアル番号

メモリカードが実装されていない場合は、"MMC"または"MC"の直後に文字列が終了します。

•

INDEX = W#16#0009

名称

長さ

意味

インデックス

1 ワード•

標準 CPU およびサブリスト抽出 W#16#011C の場合: コンポーネント ID:
W#16#0009•

H CPU およびサブリスト抽出 W#16#021C および W#16#031C の場合:
バイト 0: ビット 0～2: ラック番号; ビット 3: 0 = 予備 CPU、1 = マスタ
CPU; ビット 4～7: 1111
バイト 1: 部品 ID: B#16#09

manufacturer
_id

1 ワード

「PROFIBUS プロファイルガイドライン パート 1、ID ファンクション&メンテ
ナンスファンクション」を参照してください。

profile_id

1 ワード「PROFIBUS プロファイルガイドライン パート 1、ID ファンクション&メンテ
ナンスファンクション」を参照してください。

profile_specific 1 ワード_typ「PROFIBUS プロファイルガイドライン パート 1、ID ファンクション&メンテ
ナンスファンクション」を参照してください。

res

予約済み

13 ワードS7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

635

システムステータスリスト(SSL)
33.11 SSL-ID W#16#xy1C - コンポーネント ID•

INDEX = W#16#000A

名称

長さ

意味

インデックス

1 ワード•

標準 CPU およびサブリスト抽出 W#16#011C の場合: コンポーネント ID:
W#16#000A•

H CPU およびサブリスト抽出 W#16#021C および W#16#031C の場合:
バイト 0: ビット 0～2: ラック番号; ビット 3: 0 = 予備 CPU、1 = マスタ
CPU; ビット 4～7: 1111
バイト 1: 部品 ID: B#16#0A

oem_copyright 13 ワード_string

OEM 著作権 ID (最大 20 文字の文字列)。比較的短い名前には、B#16#00 が埋め込まれます。

oem_id1 ワード

OEM ID(Siemens により発行)

oem_add_id

2 ワード

OEM 追加 ID(ユーザーによって発行可能)•

INDEX = W#16#000B

名称

長さ

意味

インデックス

1 ワード•

標準 CPU およびサブリスト抽出 W#16#011C の場合: コンポーネント ID:
W#16#000B•

H CPU およびサブリスト抽出 W#16#021C および W#16#031C の場合:
バイト 0: ビット 0～2: ラック番号; ビット 3: 0 = 予備 CPU、1 = マスタ
CPU; ビット 4～7: 1111
バイト 1: 部品 ID: B#16#0B

loc_id•16 ワードロケーション名(最大 32 文字の文字列)。比較的短い名前には、B#16#00 が埋め込まれます。

INDEX = W#16#000C

名称

長さ

意味

インデックス

1 ワード•

Byte 0: ビット～ 2: ラック番号; ビット: Bit3: 0 = 予備 CPU, 1 = マスタ CPU;
ビット 4～ 7: 1111•

Byte 1: コンポーネントの識別子: B#16#0C

mlfb

5 ワード

10. から 19. SYNC モジュール 1 の注文番号の文字

fill

1 ワード

4 つの空白(ASCII)

es

1 ワード

製品バージョン(ASCII)、例: "01"

fill

1 バイト

2 つの空白(ASCII)

vendor_sn

17 バイトシリアル番号

注記:
SYNC モジュール 1 が存在しないか、識別できない場合は、レコードには変数"インデックス"の後にB#16#00 が埋められます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
636

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.11 SSL-ID W#16#xy1C - コンポーネント ID•

INDEX = W#16#000D

名称

長さ

意味

インデックス

1 ワード•

Byte 0: ビット～ 2: ラック番号; ビット: Bit3: 0 = 予備 CPU, 1 = マスタ
CPU; ビット 4～ 7: 1111•

Byte 1: コンポーネントの識別子: B#16#0D

mlfb

5 ワード

10. から 19. SYNC モジュール 2 の注文番号の文字

fill

1 ワード

4 つの空白(ASCII)

es

1 ワード

製品バージョン(ASCII)、例: "01"

fill

1 バイト

2 つの空白(ASCII)

vendor_sn

17 バイトシリアル番号

注記:
SYNC モジュール 2 が存在しないか、識別できない場合は、レコードには変数"インデックス"の後にB#16#00 が埋められます。

•

INDEX = W#16#000E

名称

長さ

意味

インデックス

1 ワード•

非リダンダントセットアップおよびサブリスト抽出 W#16#011C の場合:
コンポーネントの ID: W#16#000E•

リダンダントセットアップおよびサブリスト抽出 W#16#021C および
W#16#031C の場合:
バイト 0: ビット 0～2: ラック番号; ビット 3: 0 = 予備 CPU、1 = マスタ
CPU; ビット 4～7: 1111
バイト 1: コンポーネントの ID: B#16#0E

serialn_sec

9 ワード

システム拡張カードのシリアル番号: 「SECSVP」 + 12 個の ASCII 文字

fill

7 ワード

14 個の B#16#00

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

637

システムステータスリスト(SSL)
33.12 SSL-ID W#16#xy22 - 割り込みステータス

33.12

SSL-ID W#16#xy22 - 割り込みステータス

目的
SSL ID W#16#xy22 のサブリストは、モジュールでの割り込み処理および割り込み生成の現在のステータスに関する情報を含んでいます。

ヘッダ
SSL-ID W#16#xy22 のサブリストのヘッダは、次のような構造になっています。
内容
SSL-ID意味
サブリスト抽出の SSL-ID
W#16#0222
指定された割り込みのデータレコード。この割り込み (OB 番号)は
INDEX パラメータで指定されます。

INDEX

割り込みクラスまたは OB 番号(SSL ID W#16#0222 の場合)
W#16#0000:

フリーサイクル

W#16#000A:

時刻割り込みW#16#0014:

時刻割り込みW#16#001E:

周期割り込みW#16#0028:

ハードウェア割り込み

W#16#0032

DP 割り込み

W#16#003C

マルチコンピューティングまたは同期サイクル(アイソクロナス)
割り込み

W#16#0048:

冗長化割り込み(S7-400H システムのみ)

W#16#0050:

非同期エラー割り込み

W#16#005A:

背景W#16#0064

起動

W#16#0078:

同期エラー割り込み

LENTHDR

W#16#001C:

1 データレコード長は、14 ワード(28 バイト)

N_DR

データレコード数

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2638

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.12 SSL-ID W#16#xy22 - 割り込みステータス

データレコード
サブリスト抽出 SSL-ID W#16#xy22 のデータレコードは次の構造になっています。
名称

長さ

意味

info

10 ワード所定の OB の起動情報。ただし、次の例外があります。

al 1

al 2

al 3

1 ワード

1 ワード

2 ワード

•

OB 1 は、現在の最小サイクルタイム(バイト8 と 9)と最大サイクルタイム(バイト10 と 11)を提供します(タイムベース: ms、0 から始まるバイトカウント)。

•

ジョブが時刻遅延割り込みについてアクティブのとき、バイト8 と 11(開始バイ
トカウント)は、パラメータとして設定された遅延時間の残り時間をミリ秒単位で取得します。

•

コンフィグレーション済みの最小サイクルタイム(バイト 8 と 9)と最大サイクル
タイム(バイト 10 と 11)は、OB 80 で読み取ることができます(タイムベース:
ms、0 から始まるバイトカウント)。

•

現行情報のないエラー割り込み•

割り込みには、割り込みソースの現在のパラメータ設定のステータス情報が含
まれています。

•

非同期エラーの場合、OB がまだ実行されていなければ、優先度クラスとしてB#16#7F が入力されます。OB が実行されている場合には、最終呼び出しの優先度クラスが入力されます。

•

OB がいくつかの起動イベントを保持し、情報を取得したときにこれらが発生しない場合、イベント番号 W#16#xyzz が次のように戻されます。x: イベント
クラス、zz: グループの定義された最小の番号、y: 未定義。そうでない場合
は、最後に発生した起動イベントの番号が使用されます。

処理識別子:
ビット 0:

パラメータにより発生する割り込みイベント

= 0:

有効

= 1:

無効

Bit 1:SFC 39 "DIS_IRT"による割り込みイベント

= 0:

ロックなし

= 1:

ロック

Bit 2 = 1:

割り込みソースがアクティブ(時間割り込み、起動した時刻 OB、起動した時間遅延割り込み OB、周期割り込み OB に対応した
生成ジョブが STEP 7 でコンフィグレーションされています)

Bit 4:

割り込み OB

= 0:

未ロード

= 1:

ロード済み

Bit 5:TIS による割り込み OB

= 1:

ロック

Bit 6:

診断バッファのエントリ

= 1:

ロック

未ロード/ロック OB による反応
Bit 0 = 1:

割り込みソースをロック

Bit 1 = 1:

割り込みイベント生成エラー

Bit 2 = 1:

CPU が STOP モードへ移行

Bit 3 = 1:

割り込み破棄TIS 機能により破棄:
ビット番号 x セットの意味: 影響を受けた OB の最小のイベント番号より x 大きい
イベント番号は TIS 機能により破棄されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

639

システムステータスリスト(SSL)
33.13 SSL ID W#16#xy25 - OB へのプロセスイメージパーティションの割り付け

33.13

SSL ID W#16#xy25 - OB へのプロセスイメージパーティションの割り付け目的
SSL ID W#16#xy25 を持つサブリストには、プロセスイメージパーティションを各 OB に割り付ける方法が示されています。
このリストには、以下に関する情報があります。
•

システムによる更新を実行するために、特定の OB に割り付けたプロセスイメージパーティ
ション•

特定のクロック同期割り込み OB(OB 61～64)に割り付けたプロセスイメージパーティション
プロセスイメージパーティションは、ここで SFC126 "SYNC_PI"と 127 "SYNC_PO"を呼び出す
ことで更新されます。
DP マスタシステムとクロック同期割り込み OB 間の割り付けは、SSL W#16#xy95 にあります。

ヘッダ
SSL ID W#16#xy25 のサブリストのヘッダは、次のような構造になっています。
内容

意味

SSL ID

サブリスト抽出の SSL ID

INDEX

•

W#16#0025: CPU 内の OB へのプロセスイメージパーティションの割り付け•

W#16#0125: 対応する OB へのプロセスイメージパーティションの割り付け
プロセスイメージパーティション ID をパラメータ INDEX に指定します。

•

W#16#0225: プロセスイメージパーティションへの OB の割り付け
OB 番号をパラメータ INDEX に指定します。
注記: 複数のプロセスイメージパーティションに割り付けられるのは、クロック同期割り
込み OB(OB 61～64)のみです。

•

W#16#0F25: ヘッダの SSL サブリストに関する情報のみ•

SSL ID W#16#0025: 不適切•

SSL ID W#16#0125: プロセスイメージパーティション ID•

SSL ID W#16#0225: OB 番号•

SSL ID W#16#0F25: 不適切

LENTHDR

W#16#0004:

N_DR

データレコード数

1 つのデータレコードの長さは 2 ワード(4 バイト)です。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2640

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.13 SSL ID W#16#xy25 - OB へのプロセスイメージパーティションの割り付け

データレコード
サブリスト抽出 SSL-ID W#16#xy25 のデータレコードは、次のような構造になっています。
名称

長さ

意味

tpa_nr

1 バイト

サブプロセスイメージ ID

tpa_use

1 バイト

プロセスイメージパーティションと OB 間の割り付けのタイプ•

ビット 0 = 1: システムによる更新を実行するために、指定された OB に入力のプロセスイメージパーティションが割り付けられます。

•

ビット 1 = 1: システムによる更新を実行するために、指定された OB に出力のプロセスイメージパーティションが割り付けられます。

•

ビット 2 = 1: 指定されたクロック同期割り込み OB に入力のプロセスイメー
ジパーティションが割り付けられます。これは、この OB 内で SFC 126"SYNC_PI"を呼び出すことで更新できます。

•

ビット 3 = 1: 指定されたクロック同期割り込み OB に出力のプロセスイメー
ジパーティションが割り付けられます。これは、この OB 内で SFC 126"SYNC_PO"を呼び出すことで更新できます。

•

ビット 4～7: 0

OB_NR

1 バイト

OB 番号

res

1 バイト

予約済み

サブリスト抽出•SSL ID = W#16#0025 のサブリスト抽出:
コンフィグレーション内の OB に割り付けたすべてのプロセスイメージパーティションのデー
タレコードが、昇順で返されます。どの OB にも割り付けられていないプロセスイメージパー
ティションについては、この ob_nr パラメータの値が 0 になります。この場合、プロセスイメー
ジパーティションに対するデータレコードは返されません。

•

SSL ID = W#16#0125 のサブリスト抽出:
アドレス指定されたプロセスイメージパーティションをコンフィグレーション内の OB に割り付けている場合は、データレコードが返されます。OB を割り付けていない場合は、データ
レコードは返されません。

注記
OB 1 は、プロセスイメージパーティション 0 に永続的に割り付けられます。したがって、プロセス
イメージパーティション 0 の情報を要求すると、常にデータレコードを受信します。
•

SSL ID = W#16#0225 のサブリスト抽出:
呼び出し先 OB に割り付けたすべてのプロセスイメージパーティションについて、データレ
コードが返されます。呼び出し先 OB にプロセスイメージパーティションを割り付けていない
場合は、データレコードは返されません。

注記
クロック同期割り込み OB は、
複数のプロセスイメージパーティションに割り付けることができます。
このような場合は、複数のデータレコードが返されます。
•

SSL ID = W#16#0F25 のサブリスト抽出:
データレコードの最大数が返されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

641

システムステータスリスト(SSL)
33.13 SSL ID W#16#xy25 - OB へのプロセスイメージパーティションの割り付け

データレコードの重要性の例
SFC 51 の呼び出し
パラメータ

返される変数説明

SZL_ID = W#16#0125,
INDEX = W#16#0008

tpa_nr = B#16#08,
tpa_use = B#16#03,
ob_nr = B#16#15

データレコードが返されます。
システムによるプロセスイメージの更新を実行するために、入力/出力プロセスイメージ 8 が OB 21 に割り付けられます。

SZL_ID = W#16#0125,
INDEX = W#16#0009–

データレコードは返されません。
したがって、プロセスイメージパーティション 9 はどのOB にも割り付けられません。

SZL_ID = W#16#0225,
INDEX = W#16#003D

tpa_nr = B#16#0A,
tpa_use = B#16#C0,
ob_nr = B#16#3D

2 つのデータレコードが返されます。
OB 61 には、入力および出力用にプロセスイメージ 10
および 16 が割り付けられます。これらは、SFC 126 および 127 の呼び出しによって OB 61 内で更新することができます。

tpa_nr = B#16#10,
tpa_use = B#16#C0,
ob_nr = B#16#3D
SZL_ID = W#16#0225,
INDEX = W#16#0001

tpa_nr = B#16#00,
tpa_use = B#16#03,
ob_nr = B#16#01

1 つのデータレコードが返されます。
OB 1 には、入力および出力用にプロセスイメージ 0 が割り付けられます。これらはシステムによって更新されます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
642

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.14 SSL-ID W#16#xy32 - 通信ステータスデータ

33.14

SSL-ID W#16#xy32 - 通信ステータスデータ

目的サブリスト SSL-ID W#16#xy32 を読むことにより、モジュール通信のステータスデータが得られます。

ヘッダ
サブリスト SSL-ID W#16#xy32 のヘッダは次の構造になっています。
内容

意味

SSL-ID

サブリスト抽出の SSL ID

INDEX

•

W#16#0132: CPU の通信セクションの 1 つに対応するステータスデータ(必ず 1 データレコード)。INDEX パラメータで、CPU の 通信セクションを
指定します

•

W#16#0232: 通信セクションの 1 つに対応するステータスデータ(RUN-REDUNDANT モード、ソロモードまたはスタンドアロン動作の Hシステムでは、2 データレコードが戻されます)。INDEX パラメータで、CPUの 通信セクションを指定します

通信セクションLENTHDR

SSL ID W#16#0132 の場合:
W#16#0005
診断
W#16#0008
タイムシステムW#16#000B
タイムシステムW#16#000C
タイムシステム•
SSL ID W#16#0232 の場合:
W#16#0004
CPU保護レベル、オペレータコントロールの設定、バージョンID/チェックサム
W#16#0028: 1 つのデータレコードの長さは 20 ワード(40 バイト)です。

N_DR

データレコード数•

データレコード
サブリスト SSL-ID W#16#0132 のデータレコード長は、必ず 20 ワードです。データレコードの内容は異なります。内容は、INDEX パラメータ、すなわちデータレコードが所属している CPU の通信セクションによって異なります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

643

システムステータスリスト(SSL)
33.15 インデックス W#16#0005 のサブリスト抽出 SSL-ID W#16#0132 のデータレコード

33.15

インデックス W#16#0005 のサブリスト抽出 SSL-ID W#16#0132 のデータレコード内容
インデックス W#16#0005 のサブリスト SSL-ID W#16#0132 には、モジュールの診断ステータスに関する情報が表示されています。

データレコード
インデックス W#16#0005 のサブリスト抽出 SSL-ID W#16#0132 のデータレコードは次の構造になっています。
名称

長さ意味

インデックス

1 ワード

W#16#0005: 診断

Erw

1 ワード

拡張ファンクション
0:
なし
1:
あり

Send

1 ワード

自動送信
0:
1:

しない
する

Moeg

1 ワード

ユーザー定義の診断メッセージを現段階で送信できるかどうか
0:
できません
1:
できます

Res

16 ワード予約済み

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
644

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.16 インデックス W#16#0008 のサブリスト抽出 SSL-ID W#16#0132 のデータレコード

33.16

インデックス W#16#0008 のサブリスト抽出 SSL-ID W#16#0132 のデータレコード内容
インデックス W#16#0008 のサブリスト SSL-ID W#16#0132 には、モジュールのタイムシステムのステータスに関する情報が表示されます。

データレコード
インデックス W#16#0008 のサブリスト抽出 SSL-ID W#16#01032 のデータレコードは次の構造になっています。
名称

長さ意味

インデックス

1 ワード

W#16#0008: タイムシステムステータス

Zykl

1 ワード

同期フレームのサイクルタイム

Korr

1 ワード

時間の修正ファクタ

clock 0

1 ワード

ランタイムメータ 0: 時間(時間)clock 1

1 ワード

ランタイムメータ 1: 時間(時間)clock 2

1 ワード

ランタイムメータ 2: 時間(時間)clock 3

1 ワード

ランタイムメータ 3: 時間(時間)clock 4

1 ワード

ランタイムメータ 4: 時間(時間)clock 5

1 ワード

ランタイムメータ 5: 時間(時間)clock 6

1 ワード

ランタイムメータ 6: 時間(時間)clock 7

1 ワード

ランタイムメータ 7: 時間(単位は時間)

時刻

4 ワード

現在の日付と時刻(フォーマット:
DATE_AND_TIME)

bszl_0～bszl_1

2 バイト

ランタイムメータがアクティブになっています(ビット=1: ラン
タイムメータアクティブ)

bszl_0

1 バイト

ビット x: ランタイムメータ x, 0 < x < 7bszl_1

1 バイト

予約済み

bszE0～bszE1

2 バイト

ランタイムメータオーバーフロー(ビット= 1: オーバーフロー)

bszE0

1 バイト

ビット x: ランタイムメータ x, 0 < x < 7

bszE1

1 バイト

予約済み

ステータス

1 ワード

時刻ステータス(ビット割り付け用、下記を参照)

Res

3 バイト

予約済み

status_valid

1 バイト

変数ステータスの妥当性
B#16#01: ステータス有効S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

645

システムステータスリスト(SSL)
33.16 インデックス W#16#0008 のサブリスト抽出 SSL-ID W#16#0132 のデータレコード

ステータス
ビット

既定値

説明

15

0

補正値の符号(0: 正、1: 負)

14 - 1000000

補正値
このパラメータにより、フレームにある基準時刻をローカルタイムに補正することができます。
ローカルタイム = 基準時刻 補正値 * 0.5 h
この補正には、タイムゾーン、および夏時間(サマータイム)と冬時間(標準時間)の時間差を考慮に入れます。

9

0

予約済み

8

0

予約済み

7

0

通知時間
このパラメータは、次の調整にも、夏時間(サマータイム)から冬時間(標準時間)への切り替え、または冬時間から夏時間への切り替えが含まれるかどうかを示します。
(0: 調整は行われない、1: 調整が行われる)。

60

夏時間(サマータイム)/冬時間(標準時間)インジケータ
このパラメータは、補正値を使用して算出されたローカル時間が夏時間であるか冬時間であるかを示します。
(0: 冬時間、1: 夏時間)

50パラメータは S7 で使用されていません。

4-3

00

時間分解能
このパラメータは、転送されたクロック時刻の分解能を示します。
(00: 0.001 s, 01: 0.01 s, 10: 0.1 s, 11: 1 s)

20

パラメータは S7 で使用されていません。

10

パラメータは S7 で使用されていません。

0

0

同期失敗
このパラメータは、外部タイムマスター(たとえば SICLOCK)からフレームへ転送された時間が同期されたかどうかを示します(0: 同期失敗、1: 同期成功)。
注記
CPU にあるビットの評価は、継続した外部時刻同期がある場合にのみ意味があります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
646

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.17 SSL-ID W#16#0132 およびインデックス W#16#000B のサブリスト抽出のデータレコード

33.17

SSL-ID W#16#0132 およびインデックス W#16#000B のサブリスト
抽出のデータレコード

内容
SSL ID W#16#0132 およびインデックス W#16#000B のサブリスト抽出には、モジュールの 32 ビッ
トランタイムメーター0～7 のステータスに関する情報が含まれます。

注記
SSL ID W#16#0132 およびインデックス W#16#0008 のサブリスト抽出には、これらのランタイム
メーターが 16 ビットモードで表示されます。
これにより、16 ビットのランタイムメーターと、SSL ID W#16#0132 およびインデックス
W#16#0008 のサブリスト抽出を使用して動作する、CPU 用に開発されたプログラムを使用することができます。

データレコードSSL ID W#16#0132 およびインデックス W#16#000B のサブリスト抽出のデータレコードは、次のような構造になっています。
名称

長さ

意味

インデックス

1 ワード

W#16#000B: タイムシステムのステータス

bszl_0

1 バイト

ビット x: ランタイムメーターx のステータス、0 ≤ x ≤ 7 (ビット = 1: ランタイム
メーターはビジー状態)

bszl_1

1 バイト

予約済み

bszE0

1 バイト

ビット x: ランタイムメーターx のオーバーフロー、0 ≤ x ≤ 7 (ビット = 1: オーバー
フロー)

bszE1

1 バイト

予約済み

clock 0

2 ワード

ランタイムメータ 0: 時間(時間)clock 1

2 ワード

ランタイムメータ 1: 時間(時間)clock 2

2 ワード

ランタイムメータ 2: 時間(時間)clock 3

2 ワード

ランタイムメータ 3: 時間(時間)clock 4

2 ワード

ランタイムメータ 4: 時間(時間)clock 5

2 ワード

ランタイムメータ 5: 時間(時間)clock 6

2 ワード

ランタイムメータ 6: 時間(時間)clock 7

2 ワード

ランタイムメータ 7: 時間(単位は時間)

Res

1 ワード

予約済み

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

647

システムステータスリスト(SSL)
33.18 SSL-ID W#16#0132 およびインデックス W#16#000C のサブリスト抽出のデータレコード

33.18

SSL-ID W#16#0132 およびインデックス W#16#000C のサブリスト
抽出のデータレコード

内容
SSL ID W#16#0132 およびインデックス W#16#000C のサブリスト抽出には、モジュールの 32 ビッ
トランタイムメーター8～15 のステータスに関する情報が含まれます。

データレコードSSL ID W#16#0132 およびインデックス W#16#000C のサブリスト抽出のデータレコードは、次のような構造になっています。
名称

長さ

意味

インデックス

1 ワード

W#16#000C: タイムシステムのステータス

bszl_0

1 バイト

ビット x: ランタイムメーター(8+x)のステータス、0 ≤ x ≤ 7 (ビット = 1: ランタイ
ムメーターはビジー状態)

bszl_1

1 バイト

予約済み

bszE0

1 バイト

ビット x: ランタイムメーター(8+x)のオーバーフロー、0 ≤ x ≤ 7 (ビット = 1: オー
バーフロー)

bszE1

1 バイト

予約済み

clock 8

2 ワード

ランタイムメータ 8: 時間(時間)clock 92 ワード

ランタイムメータ 9: 時間(時間)clock 10

2 ワード

ランタイムメータ 10: 時間(時間)clock 11

2 ワード

ランタイムメータ 11: 時間(時間)clock 12

2 ワード

ランタイムメータ 12: 時間(時間)clock 13

2 ワード

ランタイムメータ 13: 時間(時間)clock 14

2 ワード

ランタイムメータ 14: 時間(時間)clock 15

2 ワード

ランタイムメータ 15: 時間(時間)

Res

1 ワード

予約済み

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
648

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.19 インデックス W#16#0004 のサブリスト抽出 SSL-ID W#16#0232 のデータレコード

33.19

インデックス W#16#0004 のサブリスト抽出 SSL-ID W#16#0232 のデータレコード内容
SSL-ID W#16#0232 およびインデックス W#16#0004 のサブリスト抽出には、ハードウェアコン
フィグレーションとユーザープログラムの CPU 保護レベル、およびオペレータモード切り替えとチェックサムの設定に関する情報が含まれます。

注記
RUN-REDUNDANT モードの H システムでは、2 つのデータレコードが戻されます。当然ですが、ワード"インデックス"のバイト 0 の値がゼロと異なるデータレコードだけが有効です。
ソロモードおよびシングル操作の H システムでは、1 つのデータレコードが戻されます。

データレコード
インデックス W#16#0232 が指定されたサブリスト抽出 SSL-ID W#16#0004 のデータレコードは次の構造になっています。
名称
インデックス

長さ

意味

1 ワード

•

バイト 1
B#16#04: CPU 保護レベルおよびオペレータコントロール設定とバージョン ID/チェックサム

•

バイト 0
標準 CPU: B#16#00
H CPU: ビット 0～2: ラック番号
ビット 3: 0 = スタンバイ CPU, 1 = マスタ CPU
ビット 4～7: 1111

sch_schal

1 ワード

モードセレクタ(1, 2, 3)での保護レベルセット

sch_par

1 ワード

パラメータ内での保護レベルセット(0, 1, 2, 3; 0: パスワードなし、
保護レベルが無効)

sch_rel

1 ワード

CPU の有効保護レベル

bart_sch

1 ワード

モードセレクタ設定(1:RUN, 2:RUN-P, 3:STOP, 4:MRES, 0:未定義
または特定不可)

anl_sch

1 ワード

起動スイッチ設定(1:CRST, 2:WRST, 0:未定義、存在しない、または
特定不可)

ken_f

1 ワード

予約済み

ken_rel

1 ワード

有効なチェックサムの ID(0: 無効)

ken_ver1_hw

1 ワード

ハードウェアコンフィグレーションのチェックサム 1(Intel 形式):
すべてのシステムデータブロックの長さを介した排他的 OR 演算

ken_ver2_hw

1 ワード

ハードウェアコンフィグレーションのチェックサム 2(Intel 形式):
すべてのシステムデータブロックの長さを介した排他的 OR 演算

ken_ver1_awp

1 ワード

ユーザープログラムのチェックサム 1(Intel 形式):
以下のシステムデータブロックの長さを介した排他的 OR 演算:
OB、DB、FB、FC

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

649

システムステータスリスト(SSL)
33.19 インデックス W#16#0004 のサブリスト抽出 SSL-ID W#16#0232 のデータレコード
名称

長さ

意味

ken_ver2_awp

1 ワード

ユーザープログラムのチェックサム 2(Intel 形式):
以下のシステムデータブロックの長さを介した排他的 OR 演算:
OB、DB、FB、FC

Res

2 ワード

予約済み

sfc_req

1 ワード

SFC 109 により、保護レベル 2 または 3 で必要(1: 必要条件完了)

sfc_act

1 ワード

SFC 109 による保護レベル 2 または 3 の有効化(1: 有効化)

res

4 ワード

予約済み

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
650

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.20 SSL-ID W#16#xy71 - H CPU グループ情報

33.20

SSL-ID W#16#xy71 - H CPU グループ情報

目的
SSL-ID W#16#xy71 のサブリスト抽出には、H システムの現行のステータスに関する情報が表示
されます。

ヘッダ
サブリスト SSL-ID W#16#xy71 のヘッダは次の構造になっています。
内容

意味

SSL-ID

サブリスト抽出の SSL-ID
W#16#0071:
H システムの現在のステータスに関する情報
W#16#0F71:
SSL サブリストヘッダ情報のみ

INDEX

W#16#0000

LENTHDR

W#16#0010:

1 データレコード長は、8 ワード(16 バイト)です。

N_DR

W#16#0001:

データレコード数

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

651

システムステータスリスト(SSL)
33.20 SSL-ID W#16#xy71 - H CPU グループ情報

データレコード
サブリスト抽出 ID W#16#xy14 のデータレコードは次の構造になっています。
内容

長さ

意味

Redinf

2 バイト

リダンダントに関する情報
W#16#0011:
単一の H CPU
W#16#0012:
2 つの H システムの内の 1 つ

Mwstat1

1 バイト

ステータスバイト 1
ビット 0:
予約済み
ビット 1:
予約済み
ビット 2:
予約済み
ビット 3:
予約済み
ビット 4:
ラック 0 内の CPU の H ステータス=0: スタンバイ CPU=1: マスタ CPU
ビット 5:
ラック 1 内の CPU の H ステータス=0: スタンバイ CPU=1: マスタ CPU
ビット 6:
予約済み
ビット 7:
予約済み

Mwstat2

1 バイト

ステータスバイト 2
ビット 0:
同期リンクアップ 01 のステータス:
CPU 0 と CPU 1 間の同期
=0: 不可能=1: 可能ビット 1:
0
ビット 2:
0
ビット 3:
予約済み
ビット 4:=0: CPU がラック 0 に挿入されていない=1: CPU がラック 0 に挿入されている(リダンダントモード: ビット 4 = 0)
ビット 5:=0: CPU がラック 1 に挿入されていない=1: CPU がラック 1 に挿入されている(リダンダントモード: ビット 5 = 0)
ビット 6:
予約済み
ビット 7:
前回の再有効化以降のスタンバイ-マスタ切り替え=0: はい=1: いいえHsfcinfo

2 バイト

SFC 90 "H_CTRL"に関する情報ワード
ビット 0:=0: 再有効化が無効=1: 再有効化が有効
ビット 1:=0: スタンバイの更新が有効=1: スタンバイの更新が無効
ビット 2:=0: スタンバイへのリンクアップが有効=1: スタンバイへのリンクアップが無効
ビット 3:
予約済み
ビット 4:
予約済み
ビット 5:
予約済み
ビット 6:
予約済み
ビット 7:
予約済み
ビット 8:
予約済み

Samfehl

2 バイト

予約済み

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
652

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.20 SSL-ID W#16#xy71 - H CPU グループ情報
内容

長さ

意味

Bz_cpu_0

2 バイト

ラック 0 にある CPU のモード
W#16#0001: STOP(更新)
W#16#0002: STOP(リセットメモリ)
W#16#0003: STOP(自動初期化)
W#16#0004: STOP(内部)W#16#0005: STARTUP(コールドリスタート)
W#16#0006: STARTUP(ウォームリスタート)
W#16#0007: STARTUP(ホットリスタート)
W#16#0008: RUN(ソロモード)
W#16#0009: RUN-R(リダンダントモード)
W#16#000A: HOLD
W#16#000B: LINK-UP
W#16#000C: UPDATE
W#16#000D: DEFECTIVE
W#16#000E: SELFTEST
W#16#000F: NO POWER

Bz_cpu_1

2 バイト

ラック 1 の CPU のモード
(bz_cpu_0 に関する限りは値)

Bz_cpu_2

2 バイト

予約済み

Cpu_valid

1 バイト

変数 bz_cpu_0 と bz_cpu_1 の妥当性
B#16#01: bz_cpu_0 有効
B#16#02: bz_cpu_1 有効
B#16#03: bz_cpu_0 と bz_cpu_1 有効

hsync_f

1 バイト

接続品質のステータス(mwstat2 でビット 0 が設定されている場合にかぎって有効)•

ビット 0: 上位レセプタクルの同期モジュールの光ファイバー接続
品質を制限。

•

ビット 1: 下位レセプタクルの同期モジュールの光ファイバー接続
品質を制限。

ビット 2～7: 0

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

653

システムステータスリスト(SSL)
33.21 SSL-ID W#16#xy75 - H システムにある切り替え DP スレーブ/IO デバイス

33.21

SSL-ID W#16#xy75 - H システムにある切り替え DP スレーブ/IO デバ
イス

目的リダンダント H 動作モードにある H システムの CPU で、サブリスト SSL-ID W#16#xy75 を読み取る
場合、H システムと切り替え DP スレーブ/IO デバイス間の通信上でステータス情報を獲得します。
サブリストにより、DP スレーブ/IO デバイスとの通信に現在使用されている DP マスタ/IO コント
ローラのインターフェースモジュールがどのラックに挿入されているのかが分かります。

ヘッダ
サブリスト SSL-ID W#16#xy75 のヘッダは次の構造になっています。
内容

意味

SSL-ID

サブリスト抽出の SSL-ID
W#16#0C75: H システムと切り替え DPスレーブ/IO デバイス間の通信ステータス。
DP スレーブ / IO デバイスは INDEX パラメータを使用して選択され
ます。

INDEX

DP スレーブ / IO デバイスのインターフェースモジュールの診断アドレス

LENTHDR

W#16#0010: 1 データレコード長は、8 ワード(16 バイト)です。

N_DR

W#16#0001: データレコード数

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2654

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.21 SSL-ID W#16#xy75 - H システムにある切り替え DP スレーブ/IO デバイス

データレコード
サブリスト ID SSL-ID W#16#xy75 のデータレコードは次の構造になっています。
名称

長さ

意味

adr1_bgt0

1 ワード

DP マスタ / IO コントローラインターフェースモジュールがラック
0 に挿入されている DP スレーブ / IO デバイスのインターフェース
モジュールの最初のアドレスセクション:
DP: 上位バイト: DP マスタシステム ID、下位バイト: ステーション
番号
PNIO: ビット 15=1、ビット 11～14: PROFINET IO システム IDの最後の 2 桁、ビット 0～10: ステーション番号

adr2_bgt0

1 ワード

DP マスタ / IO コントローラインターフェースモジュールがラック
0 に挿入されている DP スレーブ / IO デバイスのインターフェース
モジュールの 2 番めのアドレスセクション:
DP: 上位バイト: スロット、下位バイト: 0 (サブモジュールなし)
PNIO: 上位バイト: スロット、下位バイト: サブモジュールスロット

adr1_bgt1

1 ワード

DP マスタ / IO コントローラインターフェースモジュールがラック
1 に挿入されている DP スレーブ / IO デバイスのインターフェース
モジュールの最初のアドレスセクション:
DP: 上位バイト: DP マスタシステム ID、下位バイト: ステーション
番号
PNIO: ビット 15=1、ビット 11～14: PROFINET IO システム IDの最後の 2 桁、ビット 0～10: ステーション番号

adr2_bgt1

1 ワード

DP マスタ / IO コントローラインターフェースモジュールがラック
1 に挿入されている DP スレーブ / IO デバイスのインターフェース
モジュールの 2 番めのアドレスセクション:
DP: 上位バイト: スロット、下位バイト: 0 (サブモジュールなし)

Res

2 ワード

予約済み

Logadr

1 ワード

DP スレーブのインターフェースモジュールの診断アドレス(IO
デバイス:

PNIO: 上位バイト: スロット、下位バイト: サブモジュールスロット••
Slavestatus

1 ワード

ビット 0～14: 論理ベースアドレス
ビット 15: I/O 識別子(0 = 入力、1 = 出力)

通信ステータス•
ビット 0 = 1: DP マスタ / IO コントローラインターフェースモ
ジュールがラック 0 に挿入されている DP スレーブ / IO デバイ
スのインターフェースモジュールへのアクセスがありません。
•
ビット 1 = 1: DP マスタ / IO コントローラインターフェースモ
ジュールがラック 1 に挿入されている DP スレーブ / IO デバイ
スのインターフェースモジュールへのアクセスがありません。
••••

ビット 2～7: 予約済み(各ビット = 0)
ビット 8=1: 現在、ラック 0 の DP マスタ/IO コントローラのインターフェースモジュールを介して通信が発生しています
ビット 9=1: 現在、ラック 1 の DP マスタ/IO コントローラのインターフェースモジュールを介して通信が発生しています
ビット 10～15: 予約済み(各モジュール = 0)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

655

システムステータスリスト(SSL)
33.22 SSL-ID W#16#xy90 EDP マスタシステム情報

33.22

SSL-ID W#16#xy90 EDP マスタシステム情報

目的
サブリスト SSL-ID W#16#xy90 を読むことにより、CPU に知らされているすべての DP マスタシス
テムのステータス情報が得られます。

ヘッダ
サブリスト SSL-ID W#16#xy90 のヘッダは次の構造になっています。
内容

意味

SSL-ID

サブリスト抽出の SSL-ID

INDEX

W#16#0090:

CPU に認識されているすべての DP マスタシステムに関する情報

W#16#0190:

1 つの DP マスタシステムに関する情報

W#16#0F90:

SSL サブリストヘッダ情報のみ•

SSL-ID W#16#0190 でサブリスト抽出の場合
下位バイト: B#16#00•

上位バイト: DP マスタシステム ID
SSL-ID W#16#0090 および W#16#0F90 でサブリスト抽出の場合

LENTHDR

W#16#0000
W#16#000E:
1 データレコード長は、7 ワード(14 バイト)です。

N_DR

データレコード数•

SSL-ID W#16#0190 でサブリスト抽出の場合•

0-1
SSL-ID W#16#0090 でサブリスト抽出の場合
標準 CPU を使用
0～14
H システムを使用
0～12(リダンダント以外のすべてのシステム)
0～2 x 12(リダンダントシステム状態)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
656

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.22 SSL-ID W#16#xy90 EDP マスタシステム情報

データレコード
サブリスト ID W#16#xy90 のデータレコードは次の構造になっています。
名称

長さ

意味

dp_m_id

1 バイト

DP マスタシステム ID

rack_dp_m

1 バイト

DP マスタのラック番号•

標準 CPU: 0 を使用•

H システム: 0 または 1 を使用

steckpl_dp_m

1 バイト

DP マスタのスロットまたはCPU のスロット(統合 DP インターフェースを使用)

subm_dp_m

1 バイト

•

•

統合 DPインターフェース: DPマスタのインターフェース
番号
-

1: X2

-

2: X1

-

3: IF1-

4: IF2

外部 DP インターフェース: 0 を使用

Logadr

1 ワード

DP マスタの論理開始アドレス

dp_m_sys_cpu

1 ワード

予約済み

dp_m_sys_dpm

1 ワード

予約済み

dp_m_state

1 バイト

DP マスタシステムの詳細プロパティ
ビット 0 :

ビット 1

DP モード•0: S7 互換性•

1: DPV1

DP サイクル•

0: 等間隔でない

1: 等間隔
ビット 2～6:
ビット 7:

未使用

3 バイト

予約済み
DP マスタタイプ•

0: 統合 DP マスタ•

1: 外部 DP マスタ

予約済み

マルチコンピューティングに関する注記(S7-400 のみ)
どのサブリストも、CPU に割り付けられているモジュールに関する情報しか提供しません。このため、マルチコンピューティングモードでは、接続されたすべてのモジュールのデータを得るために、すべての CPU をサンプリングしなければなりません。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

657

システムステータスリスト(SSL)
33.23 SSL-ID W#16#xy91 - モジュールステータス情報

33.23

SSL-ID W#16#xy91 - モジュールステータス情報目的
サブリスト SSL-ID W#16#xy91 を読むことにより、CPU に割り付けられたモジュールのステータス
情報が得られます。

注記
パックされたアドレス(ET 200S)をもつサブモジュールでは、SSL-ID W#16#xy91 の評価ができません。

ヘッダ
サブリスト SSL-ID W#16#xy91 のヘッダは次の構造になっています。
内容
SSL-ID意味
サブリスト抽出の SSL-ID
W#16#0091

挿入およびコンフィグレーションが完了しているすべての CPU モ
ジュール/サブモジュールのモジュールステータス情報(S7-400 のみ)

W#16#0191

無効ではない不正なモジュール ID を含むすべてのモジュール/ラックのステータス情報(S7-400 のみ)

W#16#0291

無効ではない障害のあるすべてのモジュールのモジュールステー
タス情報(S7-400 のみ)

W#16#0391

使用できないすべてのモジュールのモジュールステータス情報(S7-400 のみ)

W#16#0591

ホストモジュールのすべてのサブモジュールのモジュールステー
タス情報

W#16#0991

DP マスタシステムのモジュールステータス情報

W#16#0A91

すべての DP サブ/マスタシステム(CPU 318-2 DP なしの S7-300のみ)または PROFINET IO システムのステータス情報

W#16#0C91

論理ベースアドレスを使用した、セントラルラック内または統合 DP
インターフェースモジュール上または PROFINET インターフェー
スモジュール上にあるモジュールのモジュールステータス情報

W#16#4C91

論理ベースアドレスを使用した、外部 DP インターフェースモ
ジュール上にあるモジュールのモジュールステータス情報
4 個を超える外部 DP インターフェースモジュールを使用すると、間違いとして BRET_VAL W#16#80A4 になることがあります。

W#16#0D91

統合インターフェースに接続されている指定されたラック/指定されたステーション(DP または PROFINET)内のすべてのモジュールのモジュールステータス情報

W#16#0E91

コンフィグレーションされたすべてのモジュールのモジュールス
テータス情報W#16#0F91

SSL サブリストヘッダ情報のみ

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2658

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.23 SSL-ID W#16#xy91 - モジュールステータス情報
内容

意味

INDEX

•

SSL-ID W#16#0C91 のサブリスト抽出の場合:-

S7-400: ビット 0～14: モジュールの論理ベースアドレス
ビット 15: 0 = 入力、1 = 出力-

S7-300: ビット 0～14: モジュールの論理ベースアドレス
ビット 15: 0 = 入力、1 = 出力•

SSL-ID W#16#4C91 でのサブリスト抽出の場合(S7-400 のみ)
ビット 0～14 : モジュールの論理ベースアドレス
ビット 15 : 0 = 入力、1 = 出力•

SSL-IDs W#16#0091、
W#16#0191、W#16#0291、W#16#0391、W#16#0491、W#16#0591、
W#16#0A91、W#16#0E91、W#16#0F91 のサブリスト抽出の場合:(ラック内
および分散 I/O で)
INDEX は不適切、モジュールすべて•

SSL-IDs W#16#0991 のサブリスト抽出の場合(S7-400 のみ)
W#16#xx00: DPマスタシステムのすべてのモジュール(xxにはDPマス
タシステムIDが含まれます)
SSL-ID W#16#0D91 のサブリスト抽出の場合:•-

W#16#00xx: ラックのすべてのモジュールとインターフェースモジュール(xx にはラック数が含まれます)-W#16#xxyy: 統合インターフェースに接続されている DP ステーションの全モジュールまたは統合インターフェースに接続されている PROFINETIO ステーションの全 IO デバイス(PROFIBUS DP: xx には DP マスタシス
テム ID、yy にはステーション番号が含まれます。PROFINET IO: ビット 0～10: ステーション番号、ビット 11～14: PNIO サブシステム ID の最後の2 桁、ビット 15: 1 (adr1 に関しては下記 3 番目の図を参照)

LENTHDR

W#16#0010: 1 データレコード長は、8 ワード(16 バイト)です。

N_DR

データレコードの数。製品によって異なりますが、SFC 51内で転送されるレコードの数を低くできます。

W#16#0091、W#16#0191、W#16#0F91 の場合、2 つの追加のデータレコードがラックごとに供給されます。
•

電源が存在する間のレコードに設計された電源用レコードおよび•ラック用レコード。

•

レコードのシーケンスが集中構造であるのは、PS、スロット 1、スロット 2、...、スロット 18、ラックです。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

659

システムステータスリスト(SSL)
33.23 SSL-ID W#16#xy91 - モジュールステータス情報

サブリスト ID W#16#xy91 のデータレコードは次の構造になっています。
名称

長さ

意味

adr1

1 ワード

•

セントラルコンフィグレーションの場合: ラック数•

PROFIBUS DP によるリモートリモートコンフィグレーションの場合: DP マスタシステム ID、ステーション番号•

PROFINET IO によるリモートコンフィグレーションの場合: ビッ
ト 15 = 1 (PROFINET IO 識別子) PROFINET IO システム ID の最後の 2 桁、ステーション番号
注釈: PROFINETインターフェースは、PROFINET IO に使用されるか否かにかかわらず、常に"セントラルコンフィグレーションのインターフェースモジュール"として処理されます。

•

セントラルコンフィグレーションおよび PROFIBUS DP による
リモートコンフィグレーションの場合: スロット番号およびイン
ターフェースモジュールのスロット番号•

PROFINET IO によるリモートコンフィグレーションの場合: ス
ロット番号
注釈: PROFINETインターフェースは、PROFINET IO に使用されるか否かにかかわらず、常に"セントラルコンフィグレーションのインターフェースモジュール"として処理されます。

adr2

1 ワード

Logadr

1 ワード

最初に割り付けた論理 I/O アドレス(ベースアドレス)

solltyp

1 ワード

PROFINET IO: 予想される(コンフィグレーション済みの)タイプ(下記を参照) それ以外の場合は予約済み

isttyp

1 ワード

PROFINET IO: 実際のタイプ(下記を参照) それ以外の場合は予約済み

reserviert

1 ワード

00xx=CPU-Nr.1-4 (S7-400 のみ)
PROFINET IO の場合:•

SSL ID=W#16#0C91: 実際に存在するインターフェースモジュー
ルの数(インターフェースモジュール 0 を除く)•

SSL ID=W#16#0D91: インターフェースモジュールの数(インターフェースモジュール 0 を除く)•

SSL ID=W#16#4C91: 実際に存在するインターフェースモジュー
ルの数(インターフェースモジュール 0 を除く)

SSL ID=W#16#4D91: 実際に存在するインターフェースモジュールの数(インターフェースモジュール 0 を除く)
eastat1 ワード

I/O ステータス
ビット 0 = 1:

モジュールエラー(診断割り込みによる検出)

ビット 1 = 1:

モジュールが存在する

ビット 2 = 1:

モジュールを使用できません

ビット 3 = 1:

モジュールが無効

ビット 4 = 1:

ステーションエラー(代わりのスロットのみ)

Bit 5 = 1:

このモジュール/ステーションの CiR イベントがビジー状態か、まだ完了していない

ビット 6 = 1:

予約済み(S7-400)

ビット 7 = 1:

ローカルバスセグメント内のモジュール

ビット 8～15:

論理アドレスのデータ ID(入力: B#16#B4、出力: B#16#B5、統合された DP イ
ンターフェース: B#16#FE、外部 DP インターフェー
ス: B#16#FF)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
660

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.23 SSL-ID W#16#xy91 - モジュールステータス情報
名称

長さ

意味

ber_bgbr

1 ワード

領域 ID/モジュール幅
ビット 0～ビット 2 : モジュール幅
ビット 3: 予約済み
ビット 4～ビット 6 : 領域 ID
0 = S7-400
1 = S7-300
2 = ET 領域
3 = P 領域
4 = Q 領域
5 = IM3 領域
6 = IM4 領域
ビット 7: 予約済み

任意のモジュールで、以下の値がレコードに示されます。
IFM-CPUラック(S7-400 のみ)(S7-300)(S7-400 のみ)

adr1

ラック番号

前述と同様の標準情報 前述と同様の標準情報 ラック番号

adr2

W#16#01FF

W#16#0200 または

名称

PS

CPU

W#16#0200

W#16#00FF

W#16#007C

W#16#0000

W#16#00C0

前述と同様の標準情報

W#16#0200～
W#16#1800
Logadr

W#16#0000

W#16#7FFF

solltyp

前述と同様の標準情報 W#16#00C0 またはW#16#0081 またはW#16#0082

eastatW#16#0000

前述と同様の標準情報 前述と同様の標準情報 W#16#0000

ber_bgbrW#16#0000

W#16#0011 またはW#16#0001 またはW#16#0002

W#16#0011

W#16#0000

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

661

システムステータスリスト(SSL)
33.23 SSL-ID W#16#xy91 - モジュールステータス情報

パラメータ adr1
パラメータ adr1 には以下のものが含まれています。
•

セントラルコンフィグレーションの場合、ラック番号(0-31)•

PROFIBUS DP によるリモートコンフィグレーションの場合:•-

DP マスタシステム ID(1-32)-

ステーション番号(0-127)

PROFINET IO によるリモートコンフィグレーション-

PROFINET IO の識別ビット(bit 15)-

PROFINET IO システム ID の最後の 2 桁(0-15)。完全な PROFINET IO システム ID を取得するには、これに 100(10 進)を加算する必要があります。

-

ステーション番号(0-2047)

パラメータ adr2
パラメータ adr2 には以下のものが含まれています。
•

セントラルコンフィグレーションおよび PROFIBUS DP によるリモートコンフィグレーションの場合: スロット番号およびサブモジュールのスロット番号•

PROFINET IO によるリモートコンフィグレーションの場合、スロット番号。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
662

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.23 SSL-ID W#16#xy91 - モジュールステータス情報

PROFINET IO のパラメータ Solltyp(予想されるタイプ)および Isttyp(実際のタイプ)
タイプ ID意味(W#16#...)
8100

タイプチェックが可能でない場合、予想される(コンフィグレーション済みの)タイプおよび実際のタイプとして入力されます

8101

タイプチェックが可能な場合、予想される(コンフィグレーション済みの)タイプとして入力
されます

8101

予想 = 実際である場合、実際のタイプとして入力されます8102

予想 <> 実際である場合、実際のタイプとして入力されます

マルチコンピューティング上の情報 (S7-400 のみ)
すべてのサブリストは、CPU に割り付けられるモジュール上に情報のみを提供します。したがってマルチコンピューティングモードでは、接続されたすべてのモジュールのデータを獲得するため、すべての CPU をサンプルする必要があります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

663

システムステータスリスト(SSL)
33.24 SSL-ID W#16#xy92 - ラック / ステーションステータス情報

33.24

SSL-ID W#16#xy92 - ラック / ステーションステータス情報目的
サブリスト SSL-ID W#16#xy92 を読むことにより、集中してインストールされた DP マスタシステ
ムのラックとステーションの予想されるハードウェアコンフィグレーションと現在のハードウェア
コンフィグレーションに関する情報が得られます。

S7-400 CPU を使用して SFC51 RDSYSST"で SSL を読み出す
SFC51 でサブリストを読み出す場合、SFC51 のパラメータ SSL_ID とパラメータ INDEX が互いに一致していることを確かめる必要があります。
SSL_IDINDEX

W#16#0092 または

統合 DP 切り替えを介して接続された DP マスタシス
テムの DP マスタシステム ID。

W#16#0192 またはW#16#0292 またはW#16#0392 またはW#16#0492 またはW#16#0592 またはW#16#0692 またはW#16#4092 またはW#16#4292 または

外部 DP 切り替えを介して接続された DP マスタシス
テムの DP マスタシステム ID。

W#16#4692 またはS7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
664

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.24 SSL-ID W#16#xy92 - ラック / ステーションステータス情報

ヘッダ
サブリスト SSL-ID W#16#xy92 のヘッダは次の構造になっています。
内容
SSL-ID意味
サブリスト抽出の SSL-ID
W#16#0092:

統合 DPインターフェースを介して接続された DPマスタシステムのセントラルラック/ステーションの予想されるステータス

W#16#4092:

外部 DPインターフェースを介して接続された DPマスタシステムのステーションの予想されるステータス

W#16#0292:

統合 DPインターフェースを介して接続された DPマスタシステムのセントラルラック/ステーションの実際のステータス

W#16#0392

少なくとも 1 つのバッテリがエラーの場合、CPU ラック/ステー
ションのバッテリによる電源供給のバッファリングのステータス

W#16#0492

CPU のすべてのラック/ステーションの総バッテリによる電源供給のバッファリングのステータス

W#16#0592

CPU のすべてのラック/ステーションの 24 V 電源のステータス

W#16#4292:

外部 DPインターフェースを介して接続された DPマスタシステムのステーションの実際のステータス

W#16#0692:

統合 DPインターフェースを介して接続された DPマスタシステムのセントラルコンフィグレーションにある増設ラック/ステーショ
ンの OK 状態

W#16#4692:

外部 DPインターフェースを介して接続された DPマスタシステムのステーションの OK 状態

INDEX

0/ DP マスタシステム ID

LENTHDR

W#16#0010:

N_DR

データレコード数

1 データレコード長は、8 ワード(16 バイト)です。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

665

システムステータスリスト(SSL)
33.24 SSL-ID W#16#xy92 - ラック / ステーションステータス情報

データレコード
サブリスト SSL-ID W#16#xy92 のデータレコードは次の構造になっています。
内容

長さ

意味

status_0～
status_15

16 バイトラックステータス/ステーションステータス、バックアップステータス、または
有効化ステータス (有効化ステータスは DP モジュールにのみ関連)
W#16#0092: ビット=0: ラック/ステーションはコンフィグレーションされていない
ビット=1: ラック/ステーションはコンフィグレーションされている
W#16#4092 ビット=0: ステーションはコンフィグレーションされていない
ビット=1: ステーションはコンフィグレーションされている
W#16#0192: ビット=0: ステーションはコンフィグレーションされていな
い、またはコンフィグレーションされている、および有効になっている
ビット=1: ステーションはコンフィグレーションされている、および無効になっている
W#16#0292: ビット=0: ラック/ステーションが障害を起こしている、無効である、またはコンフィグレーションされていない
ビット=1: ラック/ステーションが存在し、有効であり、なおかつ障害を起こしていない
W#16#4292: ビット=0: ステーションが障害を起こしている、無効である、
またはコンフィグレーションされていない
ビット=1: ステーションが存在し、有効であり、なおかつ障害を起こしていない
W#16#0692: ビット=0: 外部ラック/存在するステーションのすべてのモジュールは使用可能で、問題はない、ステーション
は実行している
ビット=1: 外部ラック/ステーションの少なくとも 1 つのモジュールが OK ではなく、ステーションは停止している
W#16#4692: ビット=0: 存在するステーションのすべてのモジュールは使用可能で、問題はない、ステーションは実行している
ビット=1: ステーションの少なくとも 1 つのモジュールまたはステーションが停止している

status_0

1 バイト

ビット 0:
ビット 1:
ビット 7:

status_1

1 バイト

ビット 0:
ビット 7:

status_2

1 バイト

ビット 0:
ビット 5:
ビット 6:
ビット 7:

セントラルラック (INDEX = 0) またはステーション 1 (INDEX tu0)1.
ステーション 2 の増設ラック::
7.
ステーション 8 の増設ラック
8.
:
:
15.

ステーション 9 の増設ラック

16.
:
:
21.
0
0

ステーション 17 の増設ラック

ステーション 16 の増設ラック

ステーション 22 の増設ラックまたはステーション 23
またはステーション 24

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
666

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.24 SSL-ID W#16#xy92 - ラック / ステーションステータス情報
内容

長さ

意味

status_3

1 バイト

ビット 0:
ビット 5:
ビット 6:

status_4

1 バイト

0
:
:
0

またはステーション 25
またはステーション 30
増設ラック (SIMATIC S5 領域)
またはステーション 31
またはステーション 32

ビット 7:

0

ビット 0:

0::0またはステーション 33

0
:
:
0

またはステーション 121

ビット 7:

またはステーション 40::
status_15

1 バイト

ビット 0:
ビット 7:

またはステーション 128

マルチコンピューティング上の情報 (S7-400 のみ)
すべてのサブリストは、CPU に割り付けられるモジュール上に情報のみを提供します。したがってマルチコンピューティングモードでは、接続されたすべてのモジュールのデータを獲得するため、すべての CPU をサンプルする必要があります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

667

システムステータスリスト(SSL)
33.25 SSL-ID W#16#xy95 - 拡張 DP マスタシステム / PROFINET IO システム情報

33.25

SSL-ID W#16#xy95 - 拡張 DP マスタシステム / PROFINET IO シス
テム情報目的
SSL-ID W#16#xy95 のサブリストには、CPU に認識されているすべての DP マスタシステム/PROFINET IO システムに関する拡張ステータス情報が示されます。SSL ID W#16#xy90 のサブリストと比較すると、このリストには、PROFINET IO システムのステートメントと、DP マスタシス
テムの非同期モードに関する追加情報が含まれています。

ヘッダ
サブリスト SSL ID W#16#xy95 のヘッダは、次のような構造になっています。
内容

意味

SSL-ID

サブリスト抽出の SSL ID

INDEX

W#16#0195:

DP マスタシステム/PROFINET IO システムに関する拡張情報

W#16#0F95:

SSL サブリストのヘッダに関する情報のみ•

SSL ID W#16#0195 のサブリスト抽出の場合
下位バイト: B#16#00•

上位バイト: DP マスタシステム ID
SSL ID W#16#0F95 のサブリスト抽出の場合

LENTHDR

W#16#0000
W#16#0028:
1 データレコード長は、20 ワード(40 バイト)です。

N_DR

データレコード数
SSL ID W#16#0195 のサブリスト抽出の場合: 0～1

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
668

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.25 SSL-ID W#16#xy95 - 拡張 DP マスタシステム / PROFINET IO システム情報

データレコード
ID W#16#xy95 のサブリストのデータレコードは、次のような構造になっています。
名称

長さ

意味

dp_m_id

1 バイト

DP マスタシステム ID/PROFINET IO システム ID

rack_dp_m

1 バイト

DP マスタのラック / IO コントローラ番号•

標準 CPU: 0•

H システム: 0 または 1steckpl_dp_m

1 バイト

DP マスタ / IO コントローラのスロットまたはCPU のスロット(統合 DP インターフェースを使用)

subm_dp_m

1 バイト

•

統合 DP インターフェースあり: DP マスタ/IO コントローラのインターフェース ID
1: X2
2: X1
3: IF1
4: IF2•

外部 DP インターフェース: 0 を使用

logadr

2 バイト

DP マスタのラック / IO コントローラの論理開始アドレス

dp_m_sys_cpu

2 バイト

予約済み

dp_m_sys_dpm

2 バイト

予約済み

dp_m_state

1 バイト

DP マスタシステム/PROFINET IO システムにの詳細プロパティ
ビット 0 :

ビット 1:DP モード(PROFIBUS DP のみ)•

0: S7 互換性•

1: DPV1

DP または PN サイクル•

0: 一定でないバスサイクル•

1: 一定バスサイクル

ビット 2～6:
ビット 7:

予約済み
DP マスタ / IO コントローラのタイプ•

0: 統合 DP マスタ/IO コントローラ•

1: 外部 DP マスタ/IO コントローラ

dp_address

1 バイト

DP ノード番号(PROFIBUS アドレス)

reserve

2 バイト

予約済み

tsal_ob

1 バイト

割り付け済みのクロック同期割り込み OB(DP または PN バスサイクルが一定の場合にのみ関係する)

reserve

1 バイト

予約済み

baudrate

4 バイト

DP マスタシステムまたは PN システムの伝送速度(16 進数値)

dp_iso_takt

4 バイト

一定の DP または PN サイクルの周期(μs 単位)

reserve

16 バイト

予約済み

マルチコンピューティング上の情報 (S7-400 のみ)
すべてのサブリストは、CPU に割り付けられるモジュール上に情報のみを提供します。したがってマルチコンピューティングモードでは、接続されたすべてのモジュールのデータを獲得するため、すべての CPU をサンプルする必要があります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

669

システムステータスリスト(SSL)
33.26 SSL-ID W#16#xyA0 - 診断バッファ

33.26

SSL-ID W#16#xyA0 - 診断バッファ

目的
サブリスト SSL-ID W#16#xyA0 を読むことにより、モジュールの診断バッファ内のエントリが得られます。

注記
S7-300 CPU は、RUN モードで表示される診断バッファエントリの数と同数までのレコードを供給できます(既定値: 10)。S7-400 CPU は最大 21 個のレコードを供給できます。

ヘッダ
サブリスト SSL-ID W#16#xyA0 のヘッダは次の構造になっています。
内容

意味

SSL-ID

サブリスト抽出の SSL-ID
W#16#00A0: 現在のモードで有効なすべての入力
W#16#01A0: 最も新しい入力。パラメータ INDEXを使用して最も新しい入力の番号を指定する
診断バッファにあるメッセージの数がメッセージのコンフィグ
レーションされた最大数よりも小さい場合、このサブリスト抽出を使用して SFC51 は無効な値を供給することがあります。
したがって、バックアップされない電源ロスは避ける必要があります!
W#16#0FA0: サブリストヘッダ情報に限られます。

INDEX

SSL-ID W#16#01A0 の場合に限ります:
最も最近のエントリの数

LENTHDR

W#16#0014: 1 データレコード長は、10 ワード(20 バイト)です

N_DR

データレコード数

データレコード
サブリスト SSL-ID W#16#xyA0 のデータレコードは次の構造になっています。
名称

長さ

意味

ID

1 ワード

イベント ID

info

5 ワード

イベントとその結果に関する情報

TIME

4 ワード

イベントのタイムスタンプ

診断バッファ
STEP 7 を使用して、診断バッファ内のイベントに関する詳細情報を表示します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
670

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.27 SSL-ID W#16#00B1 - モジュール診断情報

33.27

SSL-ID W#16#00B1 - モジュール診断情報

目的
サブリスト SSL-ID W#16#00B1 を読むことにより、診断機能を装備したモジュールの診断バイトの最初の 4 バイトが得られます。

ヘッダ
サブリスト SSL-ID W#16#00B1 のヘッダは次の構造になっています。
意味
SSL-IDW#16#00B1

INDEX

ビット 0～ビット 14: 論理ベースアドレス
ビット 15: 0 =入力、1 =出力

LENTHDR

W#16#0004: 1 データレコード長は、2 ワード(4 バイト)です。

N_DR

1

データレコード
サブリスト SSL-ID W#16#00B1 のデータレコードは次の構造になっています。
名称

長さ

意味

Byte0

1 バイト

ビット 0:
ビット 1:
ビット 2:
ビット 3:
ビット 4:
ビット 5:
ビット 6:
ビット 7:

Byte1

1 バイト

ビット 0～ビット 3: モジュールクラス(CPU、FM、CP、IM、SM、...)

Byte2

1 バイト

モジュール故障/OK (グループ障害 ID)
内部障害
外部障害
チャンネルエラーがあります
外部補助電圧がありません
フロントコネクタがありません
モジュールにパラメータが割り付けられません
モジュールのパラメータが不適切です

ビット 4:
ビット 5:
ビット 6:
ビット 7:

チャンネル情報が存在しています
ユーザー情報が存在しています
置換による診断割り込み
保守要求(PROFINET IO のみ)

ビット 0:
ビット 1:
ビット 2:
ビット 3:
ビット 4:
ビット 5:
ビット 6:
ビット 7:

ユーザーモジュールが不適切です/存在しません
通信障害
RUN/STOP モード(0 = RUN、1 = STOP)
ウォッチドッグ応答
内部モジュール電源の障害
バッテリ切れ(BFS)
バッファ全体の障害
保守要求(PROFINET IO のみ)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

671

システムステータスリスト(SSL)
33.27 SSL-ID W#16#00B1 - モジュール診断情報
名称

長さ

意味

Byte3

1 バイト

ビット 0:
ビット 1:
ビット 2:
ビット 3:
ビット 4:
ビット 5:
ビット 6:
ビット 7:

増設ラック障害(IM による検出)
プロセッサ障害
EPROM エラー
RAM エラー
ADC/DAC エラー
ヒューズ切れハードウェアエラー損失
予備(0 から開始されます)

マルチコンピューティング上の情報 (S7-400 のみ)
すべてのサブリストは、CPU に割り付けられるモジュール上に情報のみを提供します。したがってマルチコンピューティングモードでは、接続されたすべてのモジュールのデータを獲得するため、すべての CPU をサンプルする必要があります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
672

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.28 SSL-ID W#16#00B2 - 物理的アドレスが指定された診断データレコード 1

33.28

SSL-ID W#16#00B2 - 物理的アドレスが指定された診断データ
レコード 1

目的
サブリスト SSL-ID W#16#00B2 を読むことにより、基本ラック内の任意のモジュールの診断データ
レコード 1 が得られます(ただし、DP またはサブモジュールの場合はこの限りではありません)。
ラックとスロット番号を使用して番号を指定します。

ヘッダ
サブリスト SSL-ID W#16#00B2 のヘッダは次の構造になっています。
内容

意味

SSL-IDW#16#00B2

INDEX

W#16#xxyy:

LENTHDR

データレコード長はモジュールによって違ってきます。

N_DR

1

xx にはラック番号が含まれています
yy にはスロット番号が含まれています

データレコード
サブリスト SSL-ID W#16#00B2 とその内容のデータレコードサイズは、特定モジュールに依存します。詳細については、/70/、/101/、および当該モジュールに関するマニュアルを参照してください。

マルチコンピューティング上の情報 (S7-400 のみ)
すべてのサブリストは、CPU に割り付けられるモジュール上に情報のみを提供します。
したがってマルチコンピューティングモードでは、接続されたすべてのモジュールのデータを獲得するため、すべての CPU をサンプルする必要があります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

673

システムステータスリスト(SSL)
33.29 SSL-ID W#16#00B3 - 論理ベースアドレスが指定されたモジュール診断データ

33.29

SSL-ID W#16#00B3 - 論理ベースアドレスが指定されたモジュール
診断データ

目的
サブリスト SSL-ID W#16#00B3 を読むことにより、任意のモジュールの診断データがすべて得られます。DP とサブモジュールの場合も、この情報を得ることができます。論理ベースアドレスを使用してモジュールを選択します。

ヘッダ
サブリスト SSL-ID W#16#00B3 のヘッダは次の構造になっています。
内容

意味

SSL-IDW#16#00B3

INDEX

ビット 0～ビット 14: 論理ベースアドレス
ビット 15: 0 =入力、1 =出力

LENTHDR

データレコード長はモジュールによって違ってきます。

N_DR

1

データレコード
サブリスト SSL-ID W#16#00B3 とその内容のデータレコードサイズは、特定モジュールに依存します。詳細については、/70/Gloss.70.、/101/、および当該モジュールに関するマニュアルを参照
してください。

マルチコンピューティング上の情報 (S7-400 のみ)
すべてのサブリストは、CPU に割り付けられるモジュール上に情報のみを提供します。したがってマルチコンピューティングモードでは、接続されたすべてのモジュールのデータを獲得するため、すべての CPU をサンプルする必要があります。

注記
SFC51 の場合、SSL-ID W#16#00B3 でのサブリストの読み出しは OB82 の外部に限ります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
674

リファレンスマニュアル, 05/2017, A5E41733394-AA

システムステータスリスト(SSL)
33.30 SSL-ID W#16#00B4 - 任意の DP スレーブの診断データ

33.30

SSL-ID W#16#00B4 - 任意の DP スレーブの診断データ

目的
サブリスト SSL-ID W#16#00 を読むことにより、任意の DP スレーブの診断データが得られます。
この診断データのストラクチャは、EN 50 170 Volume 2、PROFIBUS に準拠しています。コンフィ
グレーションした診断アドレスを使用してモジュールを選択します。

ヘッダ
サブリスト SSL-ID W#16#00B4 のヘッダは次の構造になっています。
内容

意味

SSL-IDW#16#00B4

INDEX

DP スレーブのコンフィグレーション済み診断アドレス

LENTHDR

データレコードの長さ。最大長さは 240 バイトです。診断データ長さが 240 バイト
より大きく最大 244 バイトまでの標準スレーブの場合、最初の 240 バイトが読み取られた後、データにオーバフロービットが設定されます。

N_DR

1

データレコード
サブリスト SSL-ID W#16#00B4 のデータレコードは次の構造になっています。
名称

長さ

意味

status1

1 バイト

ステーションステータス 1

status2

1 バイト

ステーションステータス 2

status3

1 バイト

ステーションステータス 3

stat_nr

1 バイト

マスタステーション番号

ken_hi

1 バイト

ベンダ ID (上位バイト)

ken_lo1 バイト

ベンダーID (下位バイト)

....

....

特定スレーブに固有の詳細診断データ

マルチコンピューティング上の情報 (S7-400 のみ)
すべてのサブリストは、CPU に割り付けられるモジュール上に情報のみを提供します。したがってマルチコンピューティングモードでは、接続されたすべてのモジュールのデータを獲得するため、すべての CPU をサンプルする必要があります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

675

システムステータスリスト(SSL)
33.30 SSL-ID W#16#00B4 - 任意の DP スレーブの診断データ

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
676

リファレンスマニュアル, 05/2017, A5E41733394-AA

34

イベント

34.1

イベントとイベント ID

イベント
SIMATIC S7 プログラマブルロジックコントローラ内でイベントすべてに番号が付けられます。
この結果、メッセージテキストをイベントと関連付けることができます。

イベント ID
各イベントにはイベント ID が割り付けられます。イベント ID は次の構造になっています。

15 14 13 12 11 10

Event Class

9

8

7

IDs

6

5

4

3

2

1

0

Event Number

イベント ID のストラクチャ

イベントクラス
イベントクラスは、次のとおりです。
番号イベントクラス

1

標準 OB イベント

2

同期エラー

3

非同期エラー

4

モード切り替え5

ランタイムイベント

6

通信イベント7

フェールセーフシステムとフォールトトレラントシステムのイベント

8

モジュールの標準化診断データ

9

事前定義ユーザイベント

A、B

自由に定義できるイベント

C、D、E

予約済み

F

CPU 以外のモジュールのイベント(たとえば、CP、FM など)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

677

イベント
34.2 イベントクラス 1 - 標準 OB イベント

識別子
識別子は、イベントのタイプを区別するのに使用されます。4 つのビットには、それぞれ次の意味が
あります。

34.2

イベント ID 内のビット番号

意味

8

=0
=1

イベント終了状態
イベント開始状態

9=1

診断バッファへの入力

10

=1

内部エラー

11

=1

外部エラー

イベントクラス 1 - 標準 OB イベント
イベント ID

イベント

W#16#1381

手動ウォームリスタートの要求

W#16#1382

自動ウォームリスタートの要求

W#16#1383

手動ホットリスタートの要求

W#16#1384

自動ホットリスタートの要求

W#16#1385

手動コールドリスタートの要求

W#16#1386

自動コールドリスタートの要求

W#16#1387

マスタ CPU: 手動コールドリスタートの要求

W#16#1388

マスタ CPU: 自動コールドリスタートの要求

W#16#138A

マスタ CPU: 手動ウォームリスタートの要求

W#16#138B

マスタ CPU: 自動ウォームリスタートの要求

W#16#138C

スタンバイ CPU: 手動ホットリスタートの要求

W#16#138D

スタンバイ CPU: 自動ホットリスタートの要求

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
678

リファレンスマニュアル, 05/2017, A5E41733394-AA

イベント
34.3 イベントクラス 2 - 同期エラー

34.3

イベントクラス 2 - 同期エラー
イベント ID

イベント

OB

W#16#2521

BCD 変換エラー

OB 121

W#16#2522

読み取り時の領域長エラー

OB 121

W#16#2523

書き込み時の領域長エラー

OB 121

W#16#2524

読み取り時の領域エラー

OB 121

W#16#2525

書き込み時の領域エラー

OB 121

W#16#2526

タイマ番号エラー

OB 121

W#16#2527

カウンタ番号エラー

OB 121

W#16#2528

読み取り時のアライメントエラー

OB 121

W#16#2529

書き込み時のアライメントエラー

OB 121

W#16#2530

OB 書き込み時の書き込みエラー

OB 121

W#16#2531

DI へのアクセス時の書き込みエラー

OB 121

W#16#2532

DB を開いたときのブロック番号エラー

OB 121

W#16#2533

DI を開いたときのブロック番号エラー

OB 121

W#16#2534

FC 呼び出し時のブロック番号エラー

OB 121

W#16#2535

FB 呼び出し時のブロック番号エラー

OB 121

W#16#253A

DB がロードされていない

OB 121

W#16#253C

FC がロードされていない

OB 121

W#16#253D

SFC がロードされていません

OB 121

W#16#253E

FB がロードされていない

OB 121

W#16#253F

SFB がロードされていません

OB 121

W#16#2942

I/O アクセスエラー、読み取り時

OB 122

W#16#2943

I/O アクセスエラー、書き込み時

OB 122

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

679

イベント
34.4 イベントクラス 3 - 非同期エラー

34.4

イベントクラス 3 - 非同期エラー
イベント ID

イベント

OB

W#16#3501

サイクルタイム超過

OB 80

W#16#3502

ユーザーインターフェース(OB または FRB)要求エラー

OB 80

W#16#3505

新規クロック設定のために時刻割り込みがスキップされました

OB 80

W#16#3506

HOLD 後に RUN に変更されたときに時刻割り込みがスキップされ
ました

OB 80

W#16#3507

内部バッファのオーバーフローの原因となる複数 OB の要求エラー OB 80

W#16#3508

同期サイクルの割り込みタイミングエラー

W#16#3509

割り込みの過剰負荷による割り込みの欠落

OB 80

W#16#350ACiR 後の RUN モードの再開

OB 80

W#16#350B

テクノロジ同期割り込み - タイミングエラー

OB 80

W#16#3921/3821

BATTF: セントラルラックの少なくとも 1 つのバックアップバッテ OB 81
リでエラーです/問題が解消されましたOB 80

注記: バックアップバッテリの 1 つがエラーの場合 (リダンダント
バックアップバッテリがある場合) に限りイベント入力状態が発生します。その他のバックアップバッテリがエラーになっても、イベントは再度発生しません。
W#16#3922/3822

BAF: セントラルラック上のバックアップ電圧のエラー/問題が解消 OB 81
されました

W#16#3923/3823

基本ラック上の 24ボルト電源に障害が発生しました/問題が解消され OB 81
ました

W#16#3925/3825

BATTF: リダンダントセントラルラックの少なくとも 1 つのバック OB 81
アップバッテリのエラーです/問題が解消されましたW#16#3926/3826

BAF: リダンダントセントラルラック上のバックアップ電圧のエラー OB 81/問題が解消されましたW#16#3917/3827

冗長基本ラック上の 24ボルト電源に障害が発生しました/問題が解消 OB 81
されました

W#16#3931/3831

BATTF: 増設ラックの少なくとも 1 つのバックアップバッテリのエ OB 81
ラーです/問題が解消されましたW#16#3932/3832

BAF: 増設ラック上のバックアップ電圧のエラー/問題が解消されま OB 81
したW#16#3933/3833

増設ラック上の 24 ボルト電源に障害が発生しました/問題が解消
されました

OB 81

W#16#3942

診断割り込み(モジュール/サブモジュールエラー、保守要求、またはその両方)

OB 82

W#16#3842

診断割り込み(モジュール/サブモジュール OK)

OB 82

W#16#3951

PROFINET IO サブモジュールは取り外されました

OB 83

W#16#3954

PROFINET IO インターフェースサブモジュール/サブモジュールは OB 83
取り外されたW#16#3854

PROFINET IO インターフェースサブモジュール/サブモジュールが OB 83
挿入され、コンフィグレーションされたインターフェースサブモ
ジュール/サブモジュールと一致する

W#16#3855

PROFINET IO インターフェースサブモジュール/サブモジュールが OB 83
挿入されているが、コンフィグレーションされたインターフェース
サブモジュール/サブモジュールと一致しない

W#16#3856

PROFINET インターフェースサブモジュール/サブモジュールが挿入 OB 83
されているが、モジュールパラメータの割り付けにエラーが発生

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
680

リファレンスマニュアル, 05/2017, A5E41733394-AA

イベント
34.4 イベントクラス 3 - 非同期エラー
イベント ID

イベント

OB

W#16#3857

PROFINET IO サブモジュール/モジュールが挿入されましたが、問題が存在するか、または保守が必要です

OB 83

W#16#3858

PROFINET IO インターフェースサブモジュールのアクセスエラーが修正されたOB 83

W#16#3861

モジュール/インターフェースモジュールが挿入されました、モジュールタイプは OK ですOB 83

W#16#3961

モジュール/インターフェースモジュールが削除されました、アドレス指定できません

OB 83

W#16#3863

モジュール/インターフェースモジュールがプラグインされましたが、モジュールタイプが不正ですOB 83

W#16#3864

モジュール/インターフェースモジュールがプラグインされましたが、問題が起こりました (タイプ ID が読み取り不可能)

OB 83

W#16#3865

モジュールが差し込まれましたが、モジュールパラメータ割り付け
でエラーが発生しました

OB 83

W#16#3866

モジュールは再度アドレス指定され、ロード電圧エラーが削除され
ました

OB 83

W#16#3966

モジュールをアドレス指定できません、ロード電圧エラーです

OB 83

W#16#3367

モジュールの再コンフィグレーション開始

OB 83

W#16#3267

モジュールの再コンフィグレーション終了

OB 83

W#16#3968

モジュールの再コンフィグレーションがエラーにより終了した

OB 83

W#16#3571

ネストレベルが高すぎる

OB 88

W#16#3572

マスタコントロールリレーのネストレベルが高すぎる

OB 88

W#16#3573

同期エラー後のネストレベルが高すぎる

OB 88

W#16#3574

ブロック呼び出し(U スタック)のネストレベルが高すぎる

OB 88

W#16#3575

ブロック呼び出し(B スタック)のネストレベルが高すぎる

OB 88

W#16#3576

ローカルデータの割り振りエラー

OB 88

W#16#3578

不明な命令

OB 88

W#16#357A

ジャンプ命令のジャンプ先がブロックの範囲外である

OB 88

W#16#3981

インターフェースエラー開始状態

W#16#3881

インターフェースエラー終了状態

W#16#3582

メモリエラーが検出され、オペレーティングシステムにより修正
されました

OB 84

W#16#3583

検出され修正されたメモリエラーの蓄積

OB 84

W#16#3585

PC オペレーティングシステムのエラー(Win AC コントローラでのみ) OB 84

W#16#3986

H-Sync リンクのパフォーマンスに悪影響

OB 84

W#16#3587

マルチビットエラーが検出され、修正されました

OB 84

W#16#35A1

ユーザーインターフェース(OB または FRB)が検出されません

OB 85

W#16#35A2

OB がロードされていません(コンフィグレーションが原因で SFC
またはオペレーティングシステムにより起動されました)

OB 85

W#16#35A3

オペレーティングシステムによるブロックへのアクセス時にエラーが発生しました

OB 85

W#16#35A4PROFInet インターフェース DB がアドレス指定できません

OB 85

W#16#34A4PROFInet インターフェース DB のアドレス指定が回復しました

OB 85

W#16#39B1

プロセスイメージ入力テーブルの更新時に I/O アクセスエラーが発生しましたOB 85

W#16#39B2

出力モジュールへのプロセスイメージの転送時に I/O アクセスエラー OB 85が発生しました

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

681

イベント
34.4 イベントクラス 3 - 非同期エラー
イベント ID

イベント

OB

W#16#39B3/38B3

プロセスイメージ入力テーブルの更新時に I/O アクセスエラーが発生しましたOB 85

W#16#39B4/38B4

出力のプロセスイメージを旧式に戻すときの I/O アクセスエラー

OB 85

W#16#38C1

増設ラックが再度動作可能 (1～21) になりました、終了状態

OB 86

W#16#39C1

増設ラック障害(1～21)、開始状態

OB 86

W#16#38C2増設ラックが再度動作可能になりましたが、セットポイントと実際のコンフィグレーションが一致していません

OB 86

W#16#39C3

分散 I/O でのマスタシステムエラー、開始状態

OB 86

W#16#39C4

分散 I/O でのステーションエラー、開始状態

OB 86

W#16#38C4

分散 I/O でのステーションエラー、終了状態

OB 86

W#16#38C5

分散 I/O: ステーションは復帰しましたが、障害が発生しました

OB 86

W#16#38C6

増設ラックが再度動作可能になりましたが、モジュールパラメータ割り付けでエラーが発生しました

OB 86

W#16#38C7

DP: ステーションが再度動作可能になりましたが、モジュールパラ OB 86
メータ割り付けでエラーが発生しました

W#16#38C8

DP: ステーションが再度動作可能になりましたが、セットポイント OB 86と実際のコンフィグレーションが一致していません

W#16#39CAPROFINET IO システムエラー

OB 86

W#16#39CBPROFINET IO ステーションエラー

OB 86

W#16#38CB

PROFINET IO ステーションが再度動作可能になりました

OB 86

W#16#38CCPROFINET IO ステーションが復帰しましたが、問題が存在するか、 OB 86
または保守が必要

W#16#39CD

PROFINET IO ステーションが再度動作可能になりましたが、予想されるコンフィグレーションが実際のコンフィグレーションと一致
しません

OB 86

W#16#39CEPROFINET IO ステーションが再度動作可能になりましたが、モジュールパラメータ割り付けでエラーが発生しました

OB 86

W#16#33CF/32CF

SFC 12 "D_ACT_DP"による有効化/無効化のための PROFINET IO
デバイスの障害/リターン

W#16#33CF/32C
F

W#16#39F8/38F8

1 つの PROFINET I-デバイスのいくつかのサブモジュールの障害/
リターン

W#16#39F8/38F
8W#16#38F9

デバイスコンフィグレーションの相違による、1 つの PROFINET I- W#16#38F9
デバイスのいくつかのサブモジュールの障害/リターン

W#16#35D2

現在、診断エントリを設定できません

OB 87

W#16#35D3

同期フレームを設定できません

OB 87

W#16#35D4

同期を実行した結果、不正なタイムジャンプが発生しました

OB 87

W#16#35D5

同期時間の採用時にエラーが発生しました

OB 87

W#16#35E1

GD 内のフレーム ID が不適切です

OB 87

W#16#35E2

DB に、GD パケットステータスを入力できません

OB 87

W#16#35E3

GD のフレーム長エラー

OB 87

W#16#35E4

不正な GD パケット番号が受信されました

OB 87

W#16#35E5

コンフィグレーションされた S7 コネクションに対応した通信 SFB
で DB にアクセスしたときにエラーが発生しました

OB 87

W#16#35E6

DB に、GD 全体のステータスを入力できません

OB 87

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
682

リファレンスマニュアル, 05/2017, A5E41733394-AA

イベント
34.5 イベントクラス 4 - 停止イベントと他のモード変更

34.5

イベントクラス 4 - 停止イベントと他のモード変更
イベント ID

イベント

W#16#4300

バックアップ電源投入

W#16#4301

STOP から STARTUP へのモード切り替え

W#16#4302

STARTUP から STOP へのモード切り替え

W#16#4303

停止スイッチを有効にしたために STOP が実行されましたW#16#4304

PG STOP 操作または SFB 20 "STOP"が原因の STOP

W#16#4305

HOLD: ブレークポイントに到達しました

W#16#4306
W#16#4307

HOLD: ブレークポイントが終了しました
PG 操作によりメモリリセットが開始されましたW#16#4308

スイッチ設定によりメモリリセットが開始されましたW#16#4309

メモリリセットが自動的に開始されました(電源投入はバックアップされません)

W#16#430A

HOLD が終了して、STOP に移行しました

W#16#430D

マルチコンピューティング中に他の CPU により STOP が実行されましたW#16#430E

メモリリセットが実行されましたW#16#430F

CPU 上で STOP が実行されたため、モジュールで STOP が実行されましたW#16#4510
W#16#4318

CPU のデータ範囲の STOP 違反
CiR の開始

W#16#4319
W#16#4520

CiR の完了
DEFECTIVE: STOP は無効です

W#16#4521
W#16#4522

DEFECTIVE: プロセッサ処理命令のエラー
DEFECTIVE: クロックチップのエラー

W#16#4523
W#16#4524

DEFECTIVE: クロックパルスジェネレータのエラー
DEFECTIVE: タイマ更新ファンクションのエラー

W#16#4525
W#16#4926

DEFECTIVE: マルチコンピューティング同期のエラー
DEFECTIVE: I/O アクセス用ウォッチドッグのエラー

W#16#4527
W#16#4528

DEFECTIVE: I/O アクセスモニタリングのエラー
DEFECTIVE: スキャン時間モニタリングのエラー

W#16#4530

DEFECTIVE: 内部メモリ内のメモリテストエラー

W#16#4531

STOP または DEFECTIVE: メモリのサブモジュール内のメモリテストエラー

W#16#4532
W#16#4533

DEFECTIVE: 中核リソースのエラー
チェックサムエラー

W#16#4934
W#16#4535

DEFECTIVE: メモリは使用できません
DEFECTIVE: ウォッチドッグによるキャンセル/プロセッサは例外です

W#16#4536

DEFECTIVE: 切り替え不完全

W#16#4540

内部ワークメモリのメモリ増設にギャップがあるため、STOP が実行されました。最初のメモリ増設が小さ過ぎるか抜けています

W#16#4541
W#16#4542

優先度クラスシステムにより STOP が実行されました
オブジェクト管理システムにより STOP が実行されましたW#16#4543

テストファンクションにより STOP が実行されましたW#16#4544

診断システムにより STOP が実行されましたW#16#4545
W#16#4546

通信システムにより STOP が実行されました
CPU メモリ管理により STOP が実行されましたW#16#4547
W#16#4548

プロセスイメージ管理により STOP が実行されました
I/O 管理により STOP が実行されましたW#16#4949

連続ハードウェア割り込みにより STOP が実行されましたS7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

683

イベント
34.5 イベントクラス 4 - 停止イベントと他のモード変更
イベント ID

イベント

W#16#454A

コンフィグレーションによる STOP: STEP 7 で選択を取り消された OB が、STARTUP 中に CPU 内にロードされました
I/O エラーが発生したため STOP が実行されましたW#16#494D
W#16#494E

電源異常が発生したため STOP が実行されましたW#16#494F

コンフィグレーションエラーが発生したため STOP が実行されましたW#16#4550
W#16#4555

DEFECTIVE: 内部システムエラー
再起動できません。モニタリング時間が経過しましたW#16#4556
W#16#4357

STOP: 通信システムからのメモリリセット要求/データが一貫していないためモジュールウォッチドッグが起動されましたW#16#4358

モジュールはすべて動作準備ができていますW#16#4959

1 つ以上のモジュールの操作準備が整っていません

W#16#4562

プログラミングエラーによる STOP(OB がロードされていないか、使用不可能)

W#16#4563

I/O アクセスエラーによる STOP(OB がロードされていないか、使用不可能)

W#16#4567

H イベントが発生したため STOP が実行されましたW#16#4568

タイムエラーによる STOP(OB がロードされていないか、使用不可能)

W#16#456A
W#16#456B

診断割り込みによる STOP(OB がロードされていないか、使用不可能)
モジュールの取り外し/挿入による STOP(OB がロードされていないか、使用不可能)

W#16#456C
W#16#456D

CPU ハードウェアエラーによる STOP(OB がロードされていないか使用不可能、あるいは FRB がない)
プログラムシーケンスエラーによる STOP(OB がロードされていないか、使用不可能)

W#16#456E
W#16#456F

通信エラーによる STOP(OB がロードされていないか、使用不可能)
ラックエラーOB による STOP(OB がロードされていないか、使用不可能)

W#16#4570
W#16#4571

プロセス割り込みによる STOP(OB がロードされていないか、使用不可能)
ネストスタックエラーが発生したため STOP が実行されましたW#16#4572
W#16#4573

マスタコントロールリレースタックエラーが発生したため STOP が実行されました
同期エラーの最大ネスト深度を超えたため STOP が実行されましたW#16#4574

優先度クラススタックの割り込みスタックネストレベルを超えたため、STOP が実行されました
優先度クラススタックのブロックスタックネストレベルを超えたため、STOP が実行されました

W#16#4575
W#16#4576

ローカルデータの割り込み時にエラーが発生したため、STOP が実行されましたW#16#4578

未知の演算コードにより STOP が実行されましたW#16#457A

コード長さエラーが発生したため、STOP が実行されましたW#16#457B
W#16#497C

オンボード I/O 上に DB がロードされなかったため、STOP が実行されました
統合テクノロジにより、STOP が実行されましたW#16#457D

統合されたテクノロジに対する内部インターフェースのバージョンが変更になったため、要求をリセット/クリアします。
STOP コマンドにより、STOP が実行されましたW#16#457F
W#16#4580
W#16#4590
W#16#49A0
W#16#49A1

バックアップバッファの内容が一貫していないため、STOP が実行されました (RUN への移行なし)
内部ファンクションのオーバロードが発生したため、STOP が実行されましたパラメータ割り付けエラー、またはセットポイントおよび実際の拡張の許可されていない
バリエーションにより、STOP が実行されました。スタートアップがブロックされました。
パラメータ割り付けエラーにより STOP が実行されました。メモリリセットが要求されました。

W#16#49A2

パラメータ変更でのエラーにより STOP が実行されました。起動は無効になりました。

W#16#49A3

パラメータ変更でのエラーにより STOP が実行されました。メモリリセットが要求されました。

W#16#49A4

コンフィグレーションデータが一貫していないため、STOP が実行されました。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
684

リファレンスマニュアル, 05/2017, A5E41733394-AA

イベント
34.5 イベントクラス 4 - 停止イベントと他のモード変更
イベント ID

イベント

W#16#49A5
W#16#49A6

ロードされたコンフィグレーション情報が一貫していないため、分散 I/O で STOP が実行されました。
不正なコンフィグレーション情報のため、分散 I/O で STOP が実行されました。

W#16#49A7

コンフィグレーション情報がないため、分散 I/O で STOP が実行されました。

W#16#49A8

分散 I/O のインターフェースモジュールで示されたエラーにより、STOP が実行されました。

W#16#43B0
W#16#49B1

ファームウェア更新/バックアップが正常に終了した
ファームウェア更新データが不適切です

W#16#49B2
W#16#49B3

ファームウェア更新で、ハードウェアバージョンがファームウェアに一致しません。
ファームウェア更新で、モジュールタイプがファームウェアに一致しません。

W#16#43B4

ファームウエアヒューズのエラー

W#16#43B6

ファームウェア更新がリダンダントモジュールによりキャンセルされましたW#16#49D0

調整規則違反が発生したため、LINK-UP が中止されましたW#16#49D1

LINK-UP/UPDATE シーケンスが中止されました。

W#16#49D2

リンクアップ中にマスタ CPU で STOP が実行されたため、スタンバイ CPU が STOP 状態になりました
スタンバイ CPU で STOP が実行されました。

W#16#43D3
W#16#49D4
W#16#45D5

パートナーCPU もマスタになっているため、マスターの 1 つで STOP が実行されました(リンクアップエラー)
サブ PLC の CPU メモリコンフィグレーションが不整合なため、LINK-UP は却下されました。

W#16#45D6

サブ PLC のシステムプログラムが不整合なため、LINK-UP は却下されました。

W#16#49D7

ユーザープログラム内またはコンフィグレーション内での変更のため、LINK-UP は拒否されました。
その他のエラーによりハードウェアエラーが検出されたので、DEFECTIVE が実行されました。

W#16#45D8
W#16#45D9
W#16#45DA

モジュールエラーが発生したため、STOP が実行されました
H CPU 間で同期エラーが発生したため、STOP が実行されましたW#16#43DC

切り替えによるリンクアップ中に停止されました。
稼動検査またはその他のオンラインファンクションにより、LINK-UP は却下されました。

W#16#45DD
W#16#43DE
W#16#43DF

n 番目に開始された新規更新中にモニタ時間を超過したため、更新は中止されました。
最大量の試みが完了後、モニタ時間を超過したため、最後に更新は中止されました。
ユーザ介入が要求されました。

W#16#43E0

リンクアップ後に単独モードから変更されましたW#16#43E1

更新後にリンクアップから変更されましたW#16#43E2
W#16#43E3

更新から冗長モードに変更されました
マスタ CPU でリダンダントモードからソロモードに変更されました。

W#16#43E4
W#16#43E5

スタンバイ CPU でリダンダントモードからエラーサーチモードに変更されました。
スタンバイ CPUでエラーサーチモードからリンクアップまたはSTOPが実行されました。

W#16#43E6
W#16#43E7

スタンバイ CPU でリンクアップが中止されました
スタンバイ CPU で更新が中止されましたW#16#43E8
W#16#43E9

スタンバイ CPU でリンクアップから起動に変更されました。
スタンバイ CPU で起動から更新に変更されました。

W#16#43F1

予備-マスタ切り替え

W#16#43F2

システムプログラムによりブロックされた互換性のない H-CPU のカップリングです。

W#16#42F3
W#16#42F4

オペレーティングシステムによって検出され、訂正されたチェックサムエラー
スタンバイ CPU: SFC90 を介した接続/更新がマスタ CPU でロックされている

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

685

イベント
34.6 イベントクラス 5 - モードランタイムイベント

34.6

イベントクラス 5 - モードランタイムイベント
イベント ID

イベント

W#16#530D

新規起動情報が STOP モードになっていますW#16#510F

WinLC を使用した場合に発生した問題。この問題により CPU は STOP モードになるか、CPU のエラーの原因となります。

W#16#5311

モジュールからの Not Ready メッセージがないにもかかわらず起動したW#16#5545

RUN モードでシステムの再コンフィグレーションが開始した

W#16#5445

RUN モードでシステムの再コンフィグレーションが開始した

W#16#5380

割り込みおよび非同期のエラーの診断バッファエントリが無効です

W#16#5395

分散 I/O で DP マスタがリセットされましたW#16#5481

ランタイムソフトウェアのすべてのライセンスが再度揃った

W#16#5498

CiR により、DP マスタシステムとの矛盾がなくなったW#16#5581

ランタイムソフトウェアのライセンスの 1 つまたは複数がなくなったW#16#558A

コンフィグレーションされた CPU と挿入された CPU の MLFB が異なる

W#16#558B

コンフィグレーションされた CPU と挿入された CPU のファームウェアバー
ジョンが異なるW#16#5598

CiR により、DP マスタシステムとの矛盾の可能性が出てきた

W#16#5960

切り替え時のパラメータ割り付けエラー

W#16#5961

パラメータ割り付けエラー

W#16#5962

パラメータの割り付けエラーが発生したため起動できません

W#16#5963

メモリリセット要求で、パラメータの割り付けエラーが発生しました

W#16#5966

切り替え時のパラメータ割り付けエラー

W#16#5967

パラメータ割り付けエラー: 不明なコンフィグレーションデータ

W#16#5968/5858

Ethernet インターフェースの非常用アドレス有効/無効

W#16#5969

ブロックされた起動によるパラメータ割り付けエラー

W#16#596A

PROFINET IO: IO デバイスの IP アドレスが既に存在する

W#16#596B

Ethernet インターフェースの IP アドレスが既に存在する

W#16#596C

Ethernet インターフェースの名前が既に存在する

W#16#596D

既存のネットワークコンフィグレーションがシステムの要件またはコンフィグ
レーションと一致しない。

W#16#5371

分散 I/O で DP マスタによる同期のエンドです

W#16#5979/5879

インターフェース DP からの診断メッセージ EXTF LED オン/オフですW#16#597C

グローバルコントロールコマンド DP がエラー、または移動しました

W#16#597C

DP コマンドのグローバルコントロールにエラーまたは移動が発生した

W#16#59A0

CPU 内で割り込みを関連付けることができない

W#16#59A1

統合テクノロジのコンフィグレーションエラー

W#16#53A2

テクノロジファームウエアのダウンロード成功

W#16#59A3

統合テクノロジのダウンロード時のエラー

W#16#53A4

テクノロジ DB のダウンロード失敗

W#16#55A5

バージョンのコンフリクト: 統合テクノロジとの内部インターフェース

W#16#55A6

テクノロジオブジェクトの最大数を超えました。

W#16#55A7

このタイプのテクノロジ DB は既に存在します。

W#16#53FF

工場設定にリセット

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
686

リファレンスマニュアル, 05/2017, A5E41733394-AA

イベント
34.7 イベントクラス 6 - 通信イベント

34.7

イベントクラス 6 - 通信イベント
イベント ID

イベント

W#16#6316

プログラマブルコントローラの起動時にインターフェースエラーが発生しました

W#16#6390

マイクロメモリカードのフォーマットが完了しました

W#16#6500

モジュールで接続 ID が 2 回指定されましたW#16#6501

接続リソースが不適切です

W#16#6502

接続の詳細でエラーが発生しました

W#16#6510

EPROM の評価時にインスタンス DB で CFB ストラクチャエラーが検出されましたW#16#6514

該当するモジュールで GD パッケージと番号が 2 回指定されましたW#16#6515

GD コンフィグレーション情報の長さ指定が矛盾しています

W#16#6521

メモリサブモジュールまたは内部メモリを使用できません

W#16#6522

サブモジュールのメモリが不正なので、サブモジュールを置換し、メモリがリセッ
トされましたW#16#6523

サブモジュールへのアクセス時にエラーが発生したため、メモリリセットが要求されましたW#16#6524

ブロックヘッダでエラーが発生したため、メモリリセットが要求されましたW#16#6526

メモリを交換したため、メモリリセットが要求されましたW#16#6527

メモリを交換したため、再起動できません

W#16#6528

オブジェクト処理ファンクションが STOP/HOLD モードになっています。再起動
できません

W#16#6529[ユーザープログラムのロード]ファンクション中には起動できません

W#16#652A

ユーザーメモリでブロックが 2 回指定されたため起動できません

W#16#652B

サブモジュールにブロックが長すぎるため起動できません。サブモジュールを交換します

W#16#652C

サブモジュールの OB が不正なため起動できません

W#16#6532

サブモジュールのコンフィグレーション情報が不正なため起動できません

W#16#6533

サブモジュール内容が無効なため、メモリリセットが要求されましたW#16#6534

サブモジュールでブロックが 2 回以上指定されたため起動できません

W#16#6535

サブモジュールからブロックを転送するためのメモリが不足しているので起動できません

W#16#6536

サブモジュールに不正なブロック番号があるため起動できません

W#16#6537

サブモジュールに不正な長さのブロックがあるため起動できません

W#16#6538

CPU には、ブロックの(DB の)ローカルデータまたは書き込み保護 ID が不正です

W#16#6539(コンパイラにより検出された)ブロックのコマンドが不正です

W#16#653A

サブモジュールのローカル OB データの長さが短過ぎるためメモリリセットが要求されましたW#16#6543

ブロックタイプが不正なので起動できません

W#16#6544"処理に関連"属性が不正なので起動できません

W#16#6545

ソース言語が不正です

W#16#6546

1 つのブロックタイプの最大ブロック数に達しました

W#16#6547

パラメータをモジュールに割り付けるときにパラメータの割り付けエラーが発生しました(P バス上でなければ、ダウンロードを取り消します)

W#16#6548

ブロックチェックの曖昧エラー

W#16#6549

ブロックのストラクチャエラー

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

687

イベント
34.8 イベントクラス 7 - H/F イベント

34.8

イベント ID

イベント

W#16#6550

ブロックの CRC でエラーが発生しました

W#16#6551

ブロックに CRC がありません

W#16#6353

ファームウェア更新: ネットワーク経由のファームウェアダウンロードの開始

W#16#6253

ファームウェア更新: ネットワーク経由のファームウェアダウンロードの終了

W#16#6560

SCAN オーバーフロー

W#16#6881

インターフェースエラー終了状態

W#16#6905/6805

コンフィグレーションされた接続でリソース問題が発生しました/解消しました

W#16#6981

インターフェースエラー開始状態

イベントクラス 7 - H/F イベント
イベント ID

イベント

OB

W#16#72A2

DP マスタまたは DP マスタシステムのエラー。

OB 70

W#16#72A3

DP スレーブ上にリストアされた冗長性

OB 70

W#16#7301

CPU の障害のため、冗長性(2 つの内の 1 つ)が失われました

OB 72

W#16#7302

スタンバイ上でユーザーにより STOP がトリガされたため、冗長性 OB 72(2 つの内の 1 つ)が失われました

W#16#7303

リダンダントモードに切り替えられる H システム(2 の 1)

OB 72

W#16#7323

オペレーティングシステムデータに不一致が検出されました

OB 72

W#16#7331

マスタに障害が発生したため、スタンバイ-マスタ切り替えが実行され OB 72
ました

W#16#7333

ランタイム中にシステムが変更されたため、スタンバイ-マスタ切り替えが実行されました。

W#16#7334

OB 72

同期モジュールの通信エラーによる、スタンバイ-マスタの切り替え

OB 72

W#16#7340

経過待機時間によるユーザープログラムの同期エラー

OB 72

W#16#7341

各種同期ポイントで待機しているため、ユーザープログラムで同期 OB 72
エラーが発生しました

W#16#7342

各種同期ポイントで待機しているため、オペレーティングシステムで OB 72
同期エラーが発生しました

W#16#7343

経過待機時間によるオペレーティングシステムの同期エラー

W#16#7344

データが不適切なため、オペレーティングシステムで同期エラーが OB 72
発生しましたW#16#734A

SFC 90 "H_CTRL"によってトリガされた"再有効化"ジョブが実行された OB 72

W#16#73A3

DP スレーブの冗長性が失われました

W#16#73D8

セーフティモードが無効

W#16#73E0/72E0

通信で冗長性が失われました/問題は解消されました

OB 73

W#16#7520

RAM 比較のエラー

OB 72

W#16#7521

プロセスイメージ出力値の比較の際にエラーが発生しました

OB 72

W#16#7522

メモリビット、タイマ、またはカウンタの比較の際にエラーが発生し OB 72
ました

W#16#73C1

更新処理がキャンセルされました

OB 72

OB 70

OB 72

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
688

リファレンスマニュアル, 05/2017, A5E41733394-AA

イベント
34.8 イベントクラス 7 - H/F イベント
イベント ID

イベント

OB

W#16#73C2

n 番めの試行中にモニタ時間が超過したため、更新は中止されました OB 72(1 ≤ n ≤ モニタ時間超過による中止後に試行可能な最大更新数)

W#16#75D1

セーフティプログラム: 内部 CPU エラー

W#16#75D2

セーフティプログラムエラー: サイクルタイムのタイムアウト

W#16#75D6

F I/O への出力前に、セーフティプログラム内でデータが破壊されたW#16#75D7

パートナーの F CPU への出力前に、セーフティプログラム内でデータが破壊されたW#16#75D9

DB 内の REAL 数値が無効

W#16#75DA

セーフティプログラム: セーフティデータフォーマットのエラー

W#16#73DB/72DB

セーフティプログラム: セーフティモードが有効/無効

W#16#75DC

ランタイムグループ、内部プロトコルエラー

W#16#75DD/74DD

セーフティプログラム: 有効/無効なフェールセーブランタイムグループのシャットダウンW#16#75DE/74DE

セーフティプログラム: 有効/無効な F プログラムのシャットダウン-

W#16#75DF/74DF

F プログラムの初期化の開始/終了-

W#16#75E1

セーフティプログラム: FB "F_PLK"、"F_PLK_O"、F_CYC_CO"、"F_TEST"、または"F_TESTC"のエラー

W#16#7934

SYNC モードで接続問題が発生したため、スタンバイ-マスタ切り替え OB 72が実行されました

W#16#7950

同期モジュールが不足していますOB 72

W#16#7951

電源投入なしに、SYNC モジュールに変更がありました

OB 72

W#16#7952/7852

SYNC モジュールの取り外し/挿入

OB 72

W#16#7953

リセットなしに、SYNC モジュールに変更がありました

OB 72

W#16#7954

SYNC モジュールにラック番号が 2 回割り付けられました

OB 72

W#16#7955/7855

SYNC モジュールエラー/排除

OB 72

W#16#7956

SYNC モジュールで設定されたラック番号が不正です

OB 72

W#16#7960

リダンダント I/O: デジタル入力での矛盾時間のタイムアウト、エラー
がまだローカライズされていない

W#16#7961

リダンダント I/O、デジタル入力エラー: 矛盾時間の経過後の信号変更

W#16#7962

リダンダント I/O: デジタル入力エラー

W#16#7963

冗長化 I/O: デジタル入力チャンネルエラー-

W#16#7964

冗長化 I/O、デジタル入力エラー: 矛盾時間の経過後の信号変更

W#16#796F

冗長化 I/O: I/O がグローバルレベルで無効だった-W#16#7970

リダンダント I/O: デジタル出力エラー-

W#16#7971

冗長化 I/O: デジタル出力チャンネルエラー

W#16#7980

リダンダント I/O: アナログ入力での矛盾時間のタイムアウト-

W#16#7981

リダンダント I/O: アナログ入力エラー-

W#16#7982

冗長化 I/O: アナログ入力チャンネルエラー

W#16#7983

リダンダント I/O: アナログ入力チャンネルの矛盾時間が経過しましたW#16#7984

冗長化 I/O: アナログ入力チャンネルエラー

W#16#7990

リダンダント I/O: アナログ出力エラー

W#16#7991

冗長化 I/O: アナログ出力チャンネルエラー

W#16#73A2

DP マスタまたは DP マスタシステムのエラー。

W#16#73A3/72A3

リダンダントのロス/DP スレーブのリダンダントの復帰-

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

689

イベント
34.8 イベントクラス 7 - H/F イベント
イベント ID

イベント

OB

W#16#73A5/72A5

リダンダントのロス/IO デバイスのリダンダントの復帰

OB 70

W#16#73C1

リンク化/更新が中止されました

OB 72

W#16#73C2

n 番目の試行時にモニタ時間が超過したため、更新は中止されました OB 72(1 ≤ n ≤ タイムアウトによる中止後に試行可能な最大更新数)

W#16#75D1

セーフティプログラム: 内部 CPU エラー-

W#16#75D2

セーフティプログラムのエラー: サイクル超過-

W#16#79D3/78D3

PROFIsafe と F I/O 間の通信エラー-

W#16#79D4/78D4

F CPU 間のセーフティ関連の通信エラー-

W#16#79D5/78D5

F CPU 間のセーフティ関連の通信エラー-

W#16#75D6

F I/O への出力前に、セーフティプログラム内でデータが破壊されたW#16#75D7

パートナーF CPUへの出力前に、セーフティプログラム内でデータが破壊された

W#16#73D8

セーフティモードが停止されましたW#16#75D9

DB 内の REAL 数値が無効

W#16#75D9

セーフティプログラム: セーフティデータフォーマットのエラー

W#16#73DB/72DB

セーフティプログラム: セーフティモードの有効/無効

W#16#75DC

ランタイムグループ、内部プロトコルエラー

W#16#75DD/74DD

セーフティプログラム: フェールセーフランタイムグループ無効化の
有効/無効

W#16#75DE/74DE

セーフティプログラム: プログラム全無効化の有効/無効

W#16#75DF/74DF

F プログラム初期化の開始/終了

W#16#73E0/72E0

通信リダンダントの欠損が解消されましたW#16#75E1

セーフティプログラム: FB "F_PLK"、"F_PLK_O"、F_CYC_CO"、"F_TEST"、または"F_TESTC"のエラー

W#16#75E2

セーフティプログラム: エリア長エラー-

W#16#79E3

F-I/O デバイス入力チャンネルが停止されました-W#16#78E3

F-I/O デバイス入力チャンネルが停止解除されました-W#16#79E4

F-I/O デバイス出力チャンネルが停止されました-W#16#78E4

F-I/O デバイス出力チャンネルが停止解除されました-W#16#79E5

F-I/O デバイスが停止されました-W#16#78E5

F-I/O デバイスが停止解除されました-W#16#79E6

安全プログラムが矛盾しています-

W#16#79E7

シミュレーションブロック(F システムブロック)がロードされました -W#16#73E8

テストによるセーフティプログラムの一貫性確認完了-

W#16#73E9

テストによるセーフティプログラムの一貫性確認不可-

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2690

リファレンスマニュアル, 05/2017, A5E41733394-AA

イベント
34.9 イベントクラス 8 - モジュールの診断イベント

34.9

イベントクラス 8 - モジュールの診断イベント
イベント ID

イベント

モジュールタイプ

W#16#8x00

モジュールエラー/OK

ANY

W#16#8x01

内部エラー

W#16#8x02

外部エラー

W#16#8x03

チャンネルエラー

W#16#8x04

外部補助電圧がありません

W#16#8x05

フロントコネクタがありません

W#16#8x06

パラメータの割り付けがありません

W#16#8x07

モジュールのパラメータが不適切です

W#16#8x30

ユーザーサブモジュールが不適切です/検出されません

W#16#8x31

通信異常

W#16#8x32

動作モードの RUN/STOP (STOP: 開始状態、RUN: 終了状態)

W#16#8x33

時間モニタリング応答(ウォッチドッグ)

W#16#8x34

内部モジュール電源異常

W#16#8x35

BATTF: バッテリ切れ

W#16#8x36

全体のバックアップが失敗に終わりました

W#16#8x40

増設ラックに障害が発生しました

W#16#8x41

プロセッサの障害

W#16#8x42

EPROM エラー

W#16#8x43

RAM エラー

W#16#8x44

ADC/DAC エラー

W#16#8x45

ヒューズ切れW#16#8x46

ハードウェア割り込みが失われた

W#16#8x50

コンフィグレーション/パラメータ割り付けエラー

W#16#8x51

コモンモードエラー

W#16#8x52

フェーズへの短絡

W#16#8x53

接地への短絡W#16#8x54

断線

W#16#8x55

基準チャンネルエラー

W#16#8x56

測定レンジ未満です

W#16#8x57

測定レンジを超えていますW#16#8x60

コンフィグレーション/パラメータ割り付けエラー

W#16#8x61

コモンモードエラー

W#16#8x62

フェーズへの短絡

W#16#8x63

接地への短絡W#16#8x64

断線

W#16#8x66

負荷電圧がありません

W#16#8x70

コンフィグレーション/パラメータ割り付けエラー

W#16#8x71

シャーシ接地エラー

W#16#8x72

フェーズ(センサ)への短絡

W#16#8x73

アース(センサ)への短絡

アナログ入力アナログ出力デジタル入力S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

691

イベント
34.9 イベントクラス 8 - モジュールの診断イベント
イベント ID

イベント

W#16#8x74

断線

W#16#8x75センサ電源がありません

W#16#8x80

コンフィグレーション/パラメータ割り付けエラー

W#16#8x81

シャーシ接地エラー

W#16#8x82

フェーズへの短絡

W#16#8x83

接地への短絡W#16#8x84

断線

W#16#8x85

ヒューズが切れたW#16#8x86

負荷電圧がありません

W#16#8x87

過剰温度

W#16#8xB0

カウンタモジュール、信号 A 障害

W#16#8xB1

カウンタモジュール、信号 B 障害

W#16#8xB2

カウンタモジュール、信号 N 障害

W#16#8xB3

カウンタモジュール、チャンネル間で引き渡された値が不適切です

W#16#8xB4

カウンタモジュール、5.2 V センサ電源障害

W#16#8xB5

カウンタモジュール、24 V センサ電源障害

モジュールタイプ

デジタル出力FM

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
692

リファレンスマニュアル, 05/2017, A5E41733394-AA

イベント
34.10 イベントクラス 9 - 標準ユーザーイベント

34.10

イベントクラス 9 - 標準ユーザーイベント
イベント ID

イベント

W#16#9001

自動モード

W#16#9101

手動モード

W#16#9x02

OPEN/CLOSED、ON/OFF

W#16#9x03

手動コマンドが有効です

W#16#9x04

ユニット保護コマンド(OPEN/CLOSED)W#16#9x05

プロセスが有効です

W#16#9x06

システム保護コマンド

W#16#9x07

プロセス値モニタリング応答

W#16#9x08

操作変数モニタリング応答

W#16#9x09

システム規格外れが許容値を超えていますW#16#9x0A

制限位置エラー

W#16#9x0B

ランタイムエラー

W#16#9x0C

コマンド実行エラー(シーケンサ)

W#16#9x0D

オペレーティングステータス実行 > OPEN

W#16#9x0E

オペレーティングステータス実行 > CLOSED

W#16#9x0F

コマンドブロッキング

W#16#9x11

プロセスステータス OPEN/ON

W#16#9x12

プロセスステータス CLOSED/OFF

W#16#9x13

プロセスステータス中間位置

W#16#9x14

AUTO によるプロセスステータス ON

W#16#9x15

手動によるプロセスステータス ON

W#16#9x16

保護コマンドによるプロセスステータス ON

W#16#9x17

AUTO によるプロセスステータス OFF

W#16#9x18

手動によるプロセスステータス OFF

W#16#9x19

保護コマンドによるプロセスステータス OFF

W#16#9x21

アプローチ直後にファンクションエラーが発生しました

W#16#9x22

終了直後にファンクションエラーが発生しました

W#16#9x31

アクチュエータ(DE/WE)制限位置 OPEN

W#16#9x32

アクチュエータ(DE/WE)制限位置が OPEN になりません

W#16#9x33

アクチュエータ(DE/WE)制限位置 CLOSED

W#16#9x34

アクチュエータ(DE/WE)制限位置が CLOSED になりません

W#16#9x41

不正ステータス、許容時間が経過しましたW#16#9x42

不正ステータス、許容時間が経過していません

W#16#9x43

インタロックエラー、許容時間 = 0

W#16#9x44

インタロックエラー、許容時間 > 0

W#16#9x45

反応がありません

W#16#9x46

最終ステータス終了が不正です、許容時間 = 0

W#16#9x47

最終ステータス終了が不正です、許容時間 > 0

W#16#9x50

信号範囲 USR の上限です

W#16#9x51

測定レンジ UMR の上限です

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

693

イベント
34.10 イベントクラス 9 - 標準ユーザーイベント
イベント ID

イベント

W#16#9x52

信号範囲 LSR の下限です

W#16#9x53

測定レンジ LMR の下限です

W#16#9x54

アラーム UAL の上限です

W#16#9x55

警告 UWL の上限です

W#16#9x56

許容 UTL の上限です

W#16#9x57

許容 UTL の下限です

W#16#9x58

警告 UWL の下限です

W#16#9x59

アラーム LAL の下限です

W#16#9x60

GRAPH7 ステップ開始/終了

W#16#9x61

GRAPH7 インタロックエラー

W#16#9x62

GRAPH7 実行エラー

W#16#9x63

GRAPH7 エラー通知

W#16#9x64

GRAPH7 エラー確認

W#16#9x70

勾配が正の方向に大き過ぎます

W#16#9x71

勾配が負の方向に大き過ぎます

W#16#9x72

反応がありません

W#16#9x73

最終状態終了が不正です

W#16#9x80

制限値を超えました、許容時間 = 0

W#16#9x81

制限値を超えました、許容時間 > 0

W#16#9x82

制限値未満です、許容時間 = 0

W#16#9x83

制限値未満です、許容時間 > 0

W#16#9x84

勾配が大き過ぎます、許容時間 = 0

W#16#9x85

勾配が大き過ぎます、許容時間 > 0

W#16#9x86

勾配が小さ過ぎます、許容時間 = 0

W#16#9x87

勾配が小さ過ぎます、許容時間 > 0

W#16#9190/9090

ユーザーパラメータの割り付けエラー開始/終了

W#16#91F0

オーバーフロー

W#16#91F1

アンダーフロー

W#16#91F2

0 による除算

W#16#91F3

計算操作が不正ですS7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
694

リファレンスマニュアル, 05/2017, A5E41733394-AA

イベント
34.11 イベントクラス A と B - 自由ユーザーイベント

34.11

イベントクラス A と B - 自由ユーザーイベント
イベント ID

イベント

W#16#Axyz

ユーザーが使用できるイベントです

W#16#Bxyz

34.12

予約済みイベントクラス

予約済み
後ほど拡張するのに備えて、次のイベントが予約されています。
•

C

•

D

•

E

•

F

基本ラック内にないモジュールに予約されています(たとえば、CP や FM など)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

695

イベント
34.12 予約済みイベントクラス

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
696

リファレンスマニュアル, 05/2017, A5E41733394-AA

35

SFC および SFB のリスト

35.1

SFC のリスト、番号順ソート
番号

略称

ファンクションSFC 0

SET_CLK

システムクロックを設定します

SFC 1

READ_CLK

システムクロックの読み取り

SFC 2

SET_RTM

RUN タイムメータの設定

SFC 3

CTRL_RTM

RUN タイムメータの起動/停止

SFC 4

READ_RTM

RUN タイムメータの読み取り

SFC 5

GADR_LGC

チャンネルの論理アドレスの問い合わせ

SFC 6

RD_SINFO

OB の起動情報の読み取り

SFC 7

DP_PRAL

DP マスタ上でハードウェア割り込みをトリガする

SFC 9

EN_MSG

ブロック関連、シンボル関連、グループ状態メッセージを有効にする

SFC 10

DIS_MSG

ブロック関連、シンボル関連、グループ状態メッセージを無効にする

SFC 11DPSYC_FR

DP スレーブのグループの同期

SFC 12

D_ACT_DP

DP スレーブの停止および起動

SFC 13DPNRM_DG

DP スレーブの診断データ(スレーブ診断)を読み取り

SFC 14

DPRD_DAT

標準 DP スレーブの一貫データ読み取り

SFC 15

DPWR_DATDP 標準スレーブへの一貫データの書き込み

SFC 17

ALARM_SQ

受信確認可能なブロック関連メッセージの生成

SFC 18ALARM_S

常に承認されたブロック関連メッセージの生成

SFC 19ALARM_SC

最後の ALARM_SQ 状態入力メッセージの承認状態の問い合わせ

SFC 20BLKMOV

変数のコピーSFC 21

FILL

メモリエリアの初期化

SFC 22

CREAT_DB

データブロックの作成

SFC 23

DEL_DB

データブロックの削除

SFC 24

TEST_DB

データブロックをテストしますSFC 25COMPRESS

ユーザーメモリを圧縮します

SFC 26UPDAT_PI

プロセスイメージ更新テーブルを更新します

SFC 27UPDAT_PO

プロセスイメージ出力テーブルを更新します

SFC 28

SET_TINT

時刻割り込みを設定します

SFC 29

CAN_TINT

時刻割り込みのキャンセル

SFC 30

ACT_TINT

時刻割り込みの起動

SFC 31

QRY_TINT

時刻割り込みの問い合わせ

SFC 32

SRT_DINT

時間遅延割り込みの起動

SFC 33

CAN_DINT

時間遅延割り込みのキャンセル

SFC 34

QRY_DINT

時間遅延割り込みの問い合わせ

SFC 35

MP_ALM

マルチコンピューティング割り込みのトリガ

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

697

SFC および SFB のリスト
35.1 SFC のリスト、番号順ソート

番号

略称

ファンクション

SFC 36

MSK_FLT

同期エラーをマスクする

SFC 37

DMSK_FLT

同期エラーをアンマスクする

SFC 38

READ_ERR

エラーレジスタの読み取り

SFC 39DIS_IRT

新しい割り込みと非同期エラーを無効にする

SFC 40

EN_IRT

新しい割り込みと非同期エラーを有効にする

SFC 41

DIS_AIRT

高優先度割り込みと非同期エラーを遅延させる

SFC 42

EN_AIRT

高優先度の割り込みと非同期エラーを有効にする

SFC 43

RE_TRIGR

サイクルタイムモニタリングの再トリガ

SFC 44

REPL_VAL

置換値をアキュムレータ 1 に転送

SFC 46STP

CPU を STOP に変更

SFC 47

WAIT

ユーザープログラム実行の遅延

SFC 48

SNC_RTCB

スレーブクロックを同期させる

SFC 49LGC_GADR

論理アドレスに属するモジュールスロットの問い合わせ

SFC 50

RD_LGADR

モジュールのすべての論理アドレスの問い合わせ

SFC 51RDSYSST

システムステータスリストまたは部分リストの読み取り

SFC 52

WR_USMSG

ユーザー定義の診断イベントを診断バッファに書き込む

SFC 54

RD_PARM

定義済みパラメータの読み取り

SFC 55

WR_PARM

動的パラメータの書き込み

SFC 56

WR_DPARM

デフォルトパラメータの書き込み

SFC 57

PARM_MOD

モジュールへのパラメータの割り付け

SFC 58

WR_REC

データレコードの書き込み

SFC 59RD_REC

データレコードの読み取り

SFC 60GD_SND

GD パケットの送信

SFC 61

GD_RCV受信された GD パケットの取り出し

SFC 62

CONTROL

通信 SFB インスタンスに属する接続の状態の問い合わせ

SFC 63

AB_CALL

アセンブリコードブロック

SFC 64

TIME_TCK

システム時間の読み取り

SFC 65

X_SEND

ローカル S7 ステーションの外部にある通信パートナーへのデータ送信

SFC 66

X_RCV

ローカル S7 ステーションの外部にある通信パートナーからのデータ受信

SFC 67

X_GET

ローカル S7 ステーションの外部にある通信パートナーからのデータ読み取り

SFC 68

X_PUT

ローカル S7 ステーションの外部にある通信パートナーへのデータの書き込み

SFC 69X_ABORT

ローカル S7 ステーションの外部の通信パートナーとの既存の接続を中止する

SFC 70

GEO_LOG

モジュールの開始アドレスの特定

SFC 71

LOG_GEO

論理アドレスに属するスロットの特定

SFC 72

I_GET

ローカル S7 ステーション内にある通信パートナーからのデータの読み込み

SFC 73

I_PUT

ローカル S7 ステーション内にある通信パートナーへのデータの書き込み

SFC 74

I_ABORT

ローカル S7 ステーション内の通信パートナーとの既存の接続の中止

SFC 78

OB_RT

OB プログラムのランタイムを決定します

SFC 79SET

出力範囲の設定

SFC 80RSET

出力範囲のリセット

SFC 81UBLKMOV

割り込み不可能なブロックの移動

SFC 82

CREA_DBL

ロードメモリ内でのデータブロックの生成

SFC 83

READ_DBL

ロードメモリ内データブロックからの読み出し

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
698

リファレンスマニュアル, 05/2017, A5E41733394-AA

SFC および SFB のリスト
35.1 SFC のリスト、番号順ソート

番号

略称

ファンクション

SFC 84

WRIT_DBL

ロードメモリ内にあるデータブロックからの書き込み

SFC 85

CREA_DB

データブロックの作成

SFC 87

C_DIAG

実際の接続ステータスの診断

SFC 90

H_CTRLH システムでの制御操作

SFC 99WWW

ユーザーの Web ページの有効化または同期

SFC 100

SET_CLKS

時刻と TOD ステータスの設定

SFC 101

RTM

ランタイムメータの処理

SFC 102

RD_DPARA

再定義されたパラメータ

SFC 103

DP_TOPOL

DP マスタシステムでのバストポロジの識別

SFC 104

CiR

CiR のコントロール

SFC 105

READ_SI動的システムリソースの読み取り

SFC 106

DEL_SI

動的システムリソースの削除

SFC 107

ALARM_DQ

常に確認応答可能なブロック関連メッセージの生成

SFC 108

ALARM_D

常に確認応答可能なブロック関連メッセージの生成

SFC 109

PROTECTCPU アクセス保護の有効化と無効化

SFC 112PN_IN

PROFInet コンポーネントの UPI(ユーザープログラムインターフェース)の入力の更新

SFC 113PN_OUTPROFInet コンポーネントの UPI(ユーザープログラムインターフェース)の出力の更新

SFC 114

PN_DP

DP 相互接続の更新

SFC 126

SYNC_PI

同期サイクルにあるプロセスイメージパーティションの入力テーブルの更新

SFC 127

SYNC_PO

同期サイクルにあるプロセスイメージパーティションの出力テーブルの更新

SFC 63「AB_CALL」は、CPU 614 にのみ存在します。詳細については、対応するマニュアルを参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

699

SFC および SFB のリスト
35.2 SFC のリスト、アルファベット順ソート

35.2

SFC のリスト、アルファベット順ソート
略称

番号

ファンクション

AB_CALL

SFC 63

アセンブリコードブロック

ACT_TINT

SFC 30

時刻割り込みの起動

ALARM_D

SFC 108

永続的に確認応答可能なブロック関連メッセージの生成

ALARM_DQ

SFC 107

永続的に確認応答可能なブロック関連メッセージの生成

ALARM_SSFC 18

常に承認されたブロック関連メッセージの生成

ALARM_SCSFC 19

最後の ALARM_SQ 状態入力メッセージの承認状態の問い合わせ

ALARM_SQ

SFC 17

受信確認可能なブロック関連メッセージの生成

BLKMOVSFC 20

変数のコピー

C_DIAGSFC 87

実際の接続ステータスの診断

CAN_DINT

SFC 33

時間遅延割り込みのキャンセル

CAN_TINTSFC 29

時刻割り込みのキャンセル

CiR

SFC 104

CiR のコントロール

COMPRESSSFC 25

ユーザーメモリを圧縮します

CONTROL

SFC 62

通信 SFB インスタンスに属する接続の状態の問い合わせ

CREA_DBSFC 85

データブロックの作成

CREA_DBL

SFC 82

ロードメモリ内でのデータブロックの生成

CREAT_DBSFC 22

データブロックの作成

CTRL_RTM

SFC 3

RUN タイムメータの起動/停止

D_ACT_DPSFC 12DP スレーブの停止および起動

DEL_DBSFC 23

データブロックの削除

DEL_SISFC 106

動的に占有されたシステムリソースの削除

DIS_AIRTSFC 41

高優先度割り込みと非同期エラーを遅延させる

DIS_IRT

SFC 39新しい割り込みと非同期エラーを無効にする

DIS_MSGSFC 10

ブロック関連、シンボル関連、グループ状態メッセージを無効にする

DMSK_FLTSFC 37

同期エラーをアンマスクする

DP_PRAL

SFC 7

DP マスタ上でハードウェア割り込みをトリガする

DP_TOPOL

SFC 103

DP マスタシステムでのバストポロジの識別

DPNRM_DG

SFC 13

DP スレーブの診断データ(スレーブ診断)を読み取り

DPRD_DATSFC 14

標準 DP スレーブの一貫データ読み取り

DPSYC_FR

SFC 11

DP スレーブのグループの同期

DPWR_DATSFC 15DP 標準スレーブへの一貫データの書き込み

EN_AIRT

SFC 42

高優先度の割り込みと非同期エラーを有効にする

EN_IRT

SFC 40

新しい割り込みと非同期エラーを有効にする

EN_MSGSFC 9ブロック関連、シンボル関連、グループ状態メッセージを有効にする

FILL

SFC 21

メモリエリアの初期化

GADR_LGC

SFC 5

チャンネルの論理アドレスの問い合わせ

GD_RCVSFC 61

受信された GD パケットの取り出し

GEO_LOGSFC 70モジュールの開始アドレスの特定

GD_SNDSFC 60

GD パケットの送信

H_CTRLSFC 90H システムでの制御操作

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
700

リファレンスマニュアル, 05/2017, A5E41733394-AA

SFC および SFB のリスト
35.2 SFC のリスト、アルファベット順ソート

略称

番号

ファンクション

I_ABORT

SFC 74ローカル S7 ステーション内の通信パートナーとの既存の接続の中止

I_GET

SFC 72

ローカル S7 ステーション内にある通信パートナーからのデータの読み込み

I_PUT

SFC 73

ローカル S7 ステーション内にある通信パートナーへのデータの書き込み

LOG_GEO

SFC 71

論理アドレスに属するスロットの特定

LGC_GADRSFC 49

論理アドレスに属するモジュールスロットの問い合わせ

MP_ALM

SFC 35

マルチコンピューティング割り込みのトリガ

MSK_FLTSFC 36

同期エラーをマスクする

PARM_MOD

SFC 57

モジュールへのパラメータの割り付け

PN_DP

SFC 114DP 相互接続の更新

PN_IN

SFC 112PROFInet コンポーネントの UPI(ユーザープログラムインターフェース)の入力の更新

PN_OUT

SFC 113

PROFInet コンポーネントの PROFInet インターフェースの出力を更新します

PROTECTSFC 109

CPU アクセス保護の有効化と無効化

QRY_DINT

SFC 34

時間遅延割り込みの問い合わせ

QRY_TINT

SFC 31

時刻割り込みの問い合わせ

RD_DPARA

SFC 102

再定義されたパラメータ

RD_LGADRSFC 50モジュールのすべての論理アドレスの問い合わせ

RD_PARM

SFC 54

定義済みパラメータの読み取り

RD_RECSFC 59

データレコードの読み取り

RD_SINFO

SFC 6

OB の起動情報の読み取り

RDSYSSTSFC 51

システムステータスリストまたは部分リストの読み取り

RE_TRIGRSFC 43

サイクルタイムモニタリングの再トリガ

READ_CLK

SFC 1

システムクロックの読み取り

READ_DBL

SFC 83

ロードメモリ内にあるデータブロックからの読み取り

READ_ERRSFC 38

エラーレジスタの読み取り

READ_RTM

SFC 4

RUN タイムメータの読み取り

READ_SI

SFC 105

動的に占有されたシステムリソースの読み取り

REPL_VALSFC 44

置換値をアキュムレータ 1 に転送

RSET

SFC 80

出力範囲のリセット

RTM

SFC 101

ランタイムメータの処理

SET

SFC 79出力範囲の設定

SET_CLK

SFC 0

システムクロックを設定します

SET_CLKS

SFC 100

時刻と TOD ステータスの設定

SET_RTMSFC 2

RUN タイムメータの設定

SET_TINTSFC 28

時刻割り込みを設定します

SNC_RTCBSFC 48

スレーブクロックを同期させる

SRT_DINT

SFC 32

時間遅延割り込みの起動

STP

SFC 46

CPU を STOP に変更

SYNC_PISFC 126

同期サイクルにあるプロセスイメージパーティションの入力テーブルの更新

SYNC_POSFC 127

同期サイクルにあるプロセスイメージパーティションの出力テーブルの更新

TEST_DBSFC 24

データブロックをテストします

TIME_TCKSFC 64

システム時間の読み取り

UBLKMOVSFC 81

割り込み不可能なブロックの移動

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

701

SFC および SFB のリスト
35.2 SFC のリスト、アルファベット順ソート

略称

番号

ファンクションUPDAT_PI

SFC 26

プロセスイメージ更新テーブルを更新します

UPDAT_POSFC 27

プロセスイメージ出力テーブルを更新します

WAIT

SFC 47

ユーザープログラム実行の遅延

WR_DPARM

SFC 56

デフォルトパラメータの書き込み

WR_PARM

SFC 55

動的パラメータの書き込み

WR_RECSFC 58

データレコードの書き込み

WR_USMSG

SFC 52

ユーザー定義の診断イベントを診断バッファに書き込む

WRIT_DBL

SFC 84

ロードメモリ内のデータブロックへの書き込み

WWW

SFC 99ユーザーの Web ページの有効化または同期

X_ABORT

SFC 69ローカル S7 ステーションの外部の通信パートナーとの既存の接続を中止する

X_GET

SFC 67ローカル S7 ステーションの外部にある通信パートナーからのデータ読み取り

X_PUT

SFC 68ローカル S7 ステーションの外部にある通信パートナーへのデータの書き込み

X_RCV

SFC 66

ローカル S7 ステーションの外部にある通信パートナーからのデータ受信

X_SENDSFC 65ローカル S7 ステーションの外部にある通信パートナーへのデータ送信

SFC 63「AB_CALL」は、CPU 614 にのみ存在します。詳細については、対応するマニュアルを参照してください。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
702

リファレンスマニュアル, 05/2017, A5E41733394-AA

SFC および SFB のリスト
35.3 SFB のリスト、番号順ソート

35.3

SFB のリスト、番号順ソート
番号

略称

ファンクション

SFB 0

CTU

カウントアップ

SFB 1

CTD

カウントダウン

SFB 2

CTUD

カウントアップ/ダウン

SFB 3

TP

パルスを生成します

SFB 4

TON

オン遅延を生成します

SFB 5

TOF

オフディレイを生成します

SFB 8

USEND

未調整のデータ送信

SFB 9

URCV

未調整のデータ受信SFB 12

BSEND

分割されたデータの送信

SFB 13

BRCV

分割されたデータの受信

SFB 14

GET

リモート CPU からデータを読み取ります

SFB 15

PUT

リモート CPU にデータを書き込みます

SFB 16

PRINT

プリンタにデータを送信します

SFB 19START

リモートデバイスでウォームリスタートまたはコールドリスタートを開始します

SFB 20

STOP

リモートデバイスを STOP 状態に変更します

SFB 21

RESUME

リモートデバイスでホットリスタートを開始します

SFB 22STATUS

リモートパートナーの状態を問い合わせます

SFB 23USTATUS

リモートデバイスのステータスを受信します

SFB 29*HS_COUNT

カウンタ(高速カウンタ、内蔵機能)

SFB 30*

FREQ_MES

頻度メータ(頻度メータ、内蔵機能)

SFB 31NOTIFY_8P

確認応答表示なしのブロック関連メッセージの生成

SFB 32

DRUM

シーケンサを装備しますSFB 33

ALARM

承認付きブロック関連メッセージを生成します

SFB 34

ALARM_88 点の値なしのブロック関連メッセージを生成します

SFB 35

ALARM_8P

8 点の値なしのブロック関連メッセージを生成します

SFB 36

NOTIFY

承認付きブロック関連メッセージを生成します

SFB 37

AR_SEND

アーカイブデータを送信します

SFB 38HSC_A_B

SFB 39**カウンタ A/B (内蔵機能)

POS

位置(内蔵機能)

SFB 41

CONT_C1)

SFB 42

CONT_S1)

連続制御
ステップ制御1)

SFB 43

PULSEGENSFB 44ANALOG

2)

DIGITAL2)

デジタル出力による位置決め

2)

カウンタのコントロール

SFB 46

パルス生成
アナログ出力による位置決め

SFB 47COUNT

SFB 48FREQUENC 2)

周波数測定のコントロール

SFB 49PULSE 2)パルス幅変調のコントロール

SFB 52

RDREC

データレコードの読み取り

SFB 53

WRREC

データレコードの書き込み

SFB 54

RALRM

割り込みの受信S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

703

SFC および SFB のリスト
35.3 SFB のリスト、番号順ソート

番号

略称

ファンクション

SEND_PTP

2)

送信データ (ASCII、3964(R))

RECV_PTP

2)

受信データ (ASCII、3964(R))

SFB 62

RES_RECV

2)

受信バッファ (ASCII、3964(R)) の削除

SFB 63

SEND_RK 2)

SFB 60
SFB 61

送信データ (RK 512)

FETCH_RK

2)

フェッチするデータ (RK 512)

SFB 65SERVE_RK

2)

データの受信と提供 (RK 512)

SFB 73

RCVREC

データレコードの受信

SFB 74

PRVREC

データレコードの送信

SFB 75

SALRM

DP マスタへの割り込みの送信

SFB 81

RD_DPAR

事前定義されたパラメータの読み取り

SFB 104

IP_CONF

IP コンフィグレーションの設定

SFB 64*

SFB 29 "HS_COUNT"および SFB 30 "FREQ_MES"は、CPU 312 IFM および CPU 314 IFM 上にのみ存在します SFB 38 "HSC_A_B"と 39 "POS"は、CPU 314 IFM にしか存在しません。詳細
については、/73/を参照してください。

1) SFBs 41 "CONT_C"、42 "CONT_S"および 43 "PULSEGEN"は、CPU 314 IFM にしか存在しま
せん。
2) FB 44～49、SFB 60～65 は、S7-300 CPU 上にのみ存在します

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
704

リファレンスマニュアル, 05/2017, A5E41733394-AA

SFC および SFB のリスト
35.4 SFB のリスト、アルファベット順ソート

35.4

SFB のリスト、アルファベット順ソート
略称

番号

ファンクションALARM

SFB 33

承認付きブロック関連メッセージを生成します

ALARM_8

SFB 348 点の値なしのブロック関連メッセージを生成します

ALARM_8P

SFB 358 点の値なしのブロック関連メッセージを生成します

ANALOGSFB 44アナログ出力による位置決め

AR_SEND

SFB 37

アーカイブデータを送信します

BRCV

SFB 13分割されたデータの受信

BSEND

SFB 12分割されたデータの送信

CONT_C1)

SFB 41

連続制御

CONT_S1)

SFB 42

ステップ制御COUNTSFB 47

カウンタのコントロール

CTD

SFB 1

カウントダウン

CTU

SFB 0

カウントアップ

CTUD

SFB 2

カウントアップ/ダウン

DIGITALSFB 46

デジタル出力による位置決め

DRUM

SFB 32

シーケンサを装備します

FETCH_RK

SFB 64

受信データ (RK 512)

FREQ_MES*SFB 30

頻度メータ(頻度メータ、内蔵機能)

FREQUENCSFB 48周波数測定のコントロール

GET

SFB 14

リモート CPU からデータを読み取ります

SFB 38

カウンタ A/B (内蔵機能)*

HSC_A_B*

HS_COUNTSFB 29カウンタ(高速カウンタ、内蔵機能)

IP_CONF

SFB 104

IP コンフィグレーションの設定

NOTIFYSFB 36

承認付きブロック関連メッセージを生成します

NOTIFY_8P

SFB 31

確認応答表示なしのブロック関連メッセージの生成

POS

SFB 39位置(内蔵機能)PRINT

SFB 16

プリンタにデータを送信します

PRVRECSFB 74

データレコードの送信

SFB 49パルス幅変調のコントロール

SFB 43

パルス生成

PUT

SFB 15

リモート CPU にデータを書き込みます

RALRM

SFB 54

割り込みの受信

RD_DPARSFB 81

あらかじめ定義されたパラメータの読み取り

RDREC

SFB 52

データレコードの読み取り

RECV_PTPSFB 61

受信データ (ASCII、3964(R))

RCVRECSFB 73

データレコードの受信

RES_RECVSFB 62

受信バッファ (ASCII、3964(R)) の削除

RESUMESFB 21

リモートデバイスでホットリスタートを開始します

SALRM

SFB 75

DP マスタへの割り込みの送信

SEND_PTPSFB 60

送信データ (ASCII、3964(R))

SEND_RKSFB 63

送信データ (RK 512)

*

PULSE
PULSEGEN1)

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

705

SFC および SFB のリスト
35.4 SFB のリスト、アルファベット順ソート

略称

番号

ファンクションSERVE_RK

SFB 65

データの受信と提供 (RK 512)

START

SFB 19リモートデバイスでウォームリスタートまたはコールドリスタートを開始
します

STATUSSFB 22

リモートパートナーの状態を問い合わせます

STOP

SFB 20

リモートデバイスを STOP 状態に変更します

TOF

SFB 5

オフディレイを生成します

TON

SFB 4

オン遅延を生成します

TP

SFB 3

パルスを生成します

URCV

SFB 9

未調整のデータ受信

USEND

SFB 8

未調整のデータ送信

USTATUSSFB 23

リモートデバイスのステータスを受信します

WRREC

SFB 53

データレコードの書き込み

1) SFB 29 "HS_COUNT"および SFB 30 "FREQ_MES"は、CPU 312 IFM および CPU 314 IFM 上にのみ存在します。SFB 38 "HSC_A_B"と 39 "POS"は、CPU 314 IFM にしか存在しません。詳し
くは、/73/を参照してください。
2) SFBs 41 "CONT_C"、42 "CONT_S"および 43 "PULSEGEN"は、CPU 314 IFM にしか存在しま
せん。FC のリスト。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
706

リファレンスマニュアル, 05/2017, A5E41733394-AA文献目録『/30/ 入門書: Working with STEP 7』『/70/ マニュアル: S7-300 Programmable Controller, Hardware and Installation』『/71/ リファレンスマニュアル: S7-300 Programmable Controller, Module data』『/72/ 命令リスト: S700 Programmable Controller』『/101/ リファレンスマニュアル: S7-400 Programmable controller
Module Specifications』『/102/ 命令リスト: S700 Programmable Controller 』『/231/ マニュアル: Configuring Hardware and Communication Connections,
STEP 7』『/232/ リファレンスマニュアル: Statement List (STL) for S7-300 and S7-400 』『/233/ リファレンスマニュアル: Ladder Logic (LAD) for S7-300 and S7-400 』『/234/ マニュアル: Programming with STEP 7』『/236/ リファレンスマニュアル: Function Block Diagram (FBD) for
S7-300 and S7-400』『/250/ マニュアル: Structured Control Language (SCL) for S7-300
and S7-400 Programming』『/251/ マニュアル: S7-GRAPH for S7-300 and S7-400,
Programming Sequential Control Systems』『/252/ マニュアル: S7-HiGraph for S7-300 and S7-400,
Programming State Graphs』『/270/ マニュアル: S7-PDIAG for S7-300 and S7-400 "Configuring Process Diagnostics for LAD,
STL, and FBD" 』『/350/ ユーザーマニュアル: SIMATIC 7,
Standard Controller』

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

707

文献目録

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
708

リファレンスマニュアル, 05/2017, A5E41733394-AA

用語解説
付随する値
メッセージが生成されたときに、メッセージと共に出力され、変数のステータスまたはアドレスに関する情報を提供する値です。

ACCU (アキュムレータ)
アキュムレータとは CPU 内のレジスタを指します。アキュムレータは、比較、数値演算、および変換の各操作だけでなく、ロードと転送の各操作のバッファとしても使用されます。

実パラメータファンクションブロック(FB)またはファンクション(FC)が呼び出されると、仮パラメータが実パラ
メータに置換されます。たとえば、仮パラメータ"REQ"は、実パラメータ" I 3.6" に置換されます。

アドレス
アドレスとは、メモリ位置、またはメモリ位置の範囲に指定された識別子を指します。たとえば、
入力 I 12.1、ビットメモリ MW25、データブロック DB3 が挙げられます。

アドレス指定ユーザープログラムでアドレスを割り付けることです。メモリ位置、またはメモリ位置の範囲にアドレスを割り付けることができます。たとえば、入力 I 12.1、ビットメモリ MW25 が挙げられます。

ビットメモリ
これは、1 ビットメモリ位置を指します。ビットメモリでは、STEP 7 基本操作による読み書きアクセスを実行できます(ビット、バイト、ワード、ダブルワードを使用したアドレス指定)。ユーザーは、
ビットメモリアドレス領域を使用すれば、中間結果を保存できます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

709

用語解説

ブレンドコントロール
ブレンドコントロールでは、合計量 SP のセットポイントを個々のコンポーネントのパーセンテージに変換するコントローラストラクチャを必要とします。
ブレンドファクタ FAC の合計は、1 (= 100 %)になる必要があります。

SP1

FAC1

FAC4

SP1

Controller 1-

SP4

Controller 4

-

LMN1

LMN4

Process 1

Process 4

PV1

PV4

ブロック関連メッセージ
メッセージ可能なブロック (FB または DB) にコンフィグレーションされたメッセージです。

カスケードコントロール
カスケードコントロールでは、一連の相互接続コントローラを必要とします。カスケードコント
ロールでは、メインプロセス変数の瞬時エラー信号に応じて、マスタコントローラが、2 次(スレーブ)
コントローラのセットポイントを調整します。
プロセス変数を追加すれば、カスケードコントロールシステムを向上できます。セカンダリプロセス
変数 PV2 は適切なポイントで測定され、リファレンスセットポイント (マスタコントローラ SP2の出力) でコントロールされます。マスタコントローラは、オーバーシュートなしにできるだけすばやくターゲットに到達するように、プロセス変数 PV1 を固定セットポイント SP1 に調整し、SP2 を設定します。

Master controller
SP1

Slave controller
SP2

Controller 1

Disturbance variable
LMN

Controller 2

Process 2

PV2

Process 1

Secondary loop
Main loop
Control

PV1

Process

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
710

リファレンスマニュアル, 05/2017, A5E41733394-AA

用語解説

クローズドループコントローラ
クローズドループコントローラとは、エラー信号を連続的に計算し、エラー信号をすばやく除去するために、オーバーシュートなしに起動信号が生成される装置を指します。

通信、相互データ交換に通信 SFB を使用する場合、一方向通信と相互通信が区別されます。ローカルモジュールとリモートモジュール上に SFB がある場合、通信は相互通信になります。たとえば、通信 SFB"USEND"と"URCV"が挙げられます。

コンフィグレーション済み接続用の通信 SFB
通信 SFB は、データ交換とプログラム管理に対応したシステムファンクションブロックです。
データ交換の例: SEND、RECEIVE、GET。
プログラム管理の例: 通信パートナーの CPU を STOP 状態に設定する場合、通信パートナーの CPUの STATUS を問い合わせる場合。

コンフィグレーションされていない接続の通信 SFC
通信 SFC は、データ交換用システムファンクション、および通信 SFC で確立された既存の接続を中止するシステムファンクションです。

通信、一方向
データ交換に通信 SFB を使用する場合、一方向通信と相互通信が区別されます。ローカルモジュー
ル上だけに SFB がある場合は相互通信になります。たとえば、SFB "GET"が挙げられます。

完全再起動
CPU が起動すると(たとえば、モードセレクタが STOP から RUN へ切り替えられた場合、または電源投入時)、周期プログラム処理(OB1)を開始する前に、まず、オーガニゼーションブロック
OB101(再起動、S7-400 の場合に限る)、OB100(完全再起動)が処理されます。完全再起動では、
プロセスイメージ入力テーブルが読み取られ、STEP7 ユーザープログラムの処理が OB1 の最初のステートメントから開始されます。

定数"定数"とは、論理ブロック内の定数値に対応するトークンを指します。定数を使用すれば、プログ
ラムが読みやすくなります。値(たとえば、10)を直接入力するのではなく、ファンクションブロックに、"Max_ iteration_count "トークン値が入力されます。このファンクションブロックが呼び出されると、定数値(たとえば、10)が入力されます。

連続コントローラ
連続コントローラとは、エラー信号が変更されるたびに操作出力変数が変更されるコントローラを指します。連続コントローラは、操作出力変数の範囲内にある値ならどの値でも使用できます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

711

用語解説

制御装置
プロセス変数の特定に使用する装置全体を指します。コントローラ、制御デバイス (つまり、アクチュエータ)、センサ (測定装置) から構成されます。

制御ループ
制御ループは、プロセス出力 (プロセス変数) とコントローラ入力間、およびコントローラ出力(操作出力変数) とプロセス入力間の接続です。つまり、コントローラとプロセスで閉ループを形成しています。

コントロールシステムグループメッセージ
標準診断イベントが診断バッファ内に入力されるときに、CPU オペレーティングシステムにより生成されるグループメッセージです。

コントローラパラメータ
コントローラパラメータとは、所定のループ特性またはプロセス特性にコントローラ応答を静的
および動的に適応させるための特性値を指します。

CPU オペレーティングシステム
CPU オペレーティングシステムは、特定のコントロールタスクにリンクされていない CPU ファン
クションと CPU プロセスをすべて編成します。

データブロック (DB)
データブロックは、ユーザープログラム内のユーザーデータが記述されている領域です。すべての論理ブロックからアクセス可能な共有データブロックと、特定のファンクションブロック(FB) 呼び出しに対応付けられているインスタンスデータブロックがあります。

診断バッファ
診断バッファとは、CPU 内のメモリ領域の 1 つであり、このバッファには、診断イベントがすべて発生順に保存されます。

診断データ
診断データとは、エラーメッセージに表示される情報(診断イベント、タイムスタンプ)を指します。

診断エントリ診断エントリを使用して、診断バッファで診断イベントを説明します。

診断割り込み診断モジュールは、診断割り込みを使用して、システムエラーを CPU にレポートします。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
712

リファレンスマニュアル, 05/2017, A5E41733394-AA

用語解説

診断メッセージ
診断メッセージは、処理した診断イベントで構成され、CPU から表示ユニットに送信されます。

診断
診断ファンクションには、システム診断がすべて組み込まれています。診断ファンクションには、
PLC 内のエラーの認識、解釈、およびレポートなどがあります。

表示装置
処理結果を表示するために使用される装置です。

エラー、非同期
非同期エラーとは、ユーザープログラム内の特定場所に割り付けられていない RUN タイムエラー
を指します。たとえば、電源エラー、スキャン時間オーバーランなどが挙げられます。これらのエラーが発生すると、オペレーティングシステムは、対応するオーガニゼーションブロックを呼び出します。このオーガニゼーションブロックで、ユーザーは応答をプログラムできます。

OB によるエラー処理
システムプログラムは、特定エラー(たとえば、S7 でのアクセスエラー)を認識すると、指定のオー
ガニゼーションブロックを呼び出します。ユーザープログラムを使用すれば、このオーガニゼー
ションブロックで、このエラーに対する CPU の応答を設定できます。

エラーOB
エラーOB とは、エラーへの応答をプログラムするときにユーザーが使用できるオーガニゼーショ
ンブロックを指します。ただし、エラーに対する応答をプログラムできるのは、そのエラーが発生しても PLC が停止しない場合に限ります。エラーのタイプごとにエラーOB が 1 つあります。たと
えば、アドレス指定エラーのエラーOB、S7 内で発生したアクセスエラーのエラーOB などが挙げ
られます。

エラー応答
RUN タイムエラーに対する応答です。オペレーティングシステムは、以下のように応答できます。
PLC を STOP ステータスに切り替えるか、ユーザーが応答をプログラムできるオーガニゼーション
ブロックを呼び出すか、エラーを表示します。

エラー、同期
同期エラーとは、ユーザープログラム内の特定場所に割り付けられた RUN タイムエラーです。
たとえば、I/O モジュールにアクセスしている最中に発生したエラーなどが挙げられます。これらのエラーが発生すると、オペレーティングシステムは、対応するオーガニゼーションブロックを呼び出します。このオーガニゼーションブロックで、ユーザーは応答をプログラムできます。

エラー、システムエラー
システムエラーとは、(プロセス内ではなく)PLC 内で発生するあるエラーを指します。システム
エラーには、たとえば、CPU のプログラムエラーやモジュール障害などがあります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

713

用語解説

仮パラメータ仮パラメータとは、パラメータを割り付けることができる論理ブロック内の、実パラメータのプ
レースホルダを指します。FB と FC では、仮パラメータはユーザーが宣言します。SFB と SFC では、
仮パラメータは既に存在しています。ブロックが呼び出されると、仮パラメータに実パラメータが
1 つ割り付けられます。この結果、呼び出されるブロックでは最新値が使用されます。仮パラメータはブロックのローカルデータに所属し、入力パラメータ、出力パラメータ、入力/出力パラメータとして宣言されます。

グループエラー
S7-300 のモジュール (のみ) のフロントパネルにある LED 表示により示されるエラーメッセージです。
当該モジュールにエラーが発生した場合に LED が点灯します (内部エラーおよび外部エラー)。

ハードウェア割り込み
プロセス内で特定イベントが発生すると、割り込み機能を装備したモジュールによってハードウェア
割り込みがトリガされます。このハードウェア割り込みは CPU にレポートされます。その後、この割り込みの優先度に応じて、割り込まれたオーガニゼーションブロックが処理されます。

入力パラメータ
入力パラメータが存在するのは、ファンクションとファンクションブロックだけです。入力パラ
メータにより、処理のため呼び出されたブロックにデータが転送されます。

命令
命令(STEP 5 または STEP 7)とは、テキスト言語で作成されたプログラムの最小部分です。これは、プロセッサに対するコマンドです。

積分コンポーネント
コントローラの積分コンポーネントです。
プロセス変数(エラー信号)の段階的変更を実行すると、その後、時間の経過とともに、積分処置ファ
クタ KI (= 1/TI)に比例した変化率で、傾斜ファンクションに伴って出力変数が変化します。クロー
ズドコントロールループ内の積分コンポーネントには、エラー信号がゼロになるまでコントローラ
出力変数を修正する働きがあります。

統合コントローラ
統合コントローラは、オペレーティングシステムで使用できるプログラム済みコントローラブロックの 1 つであり、クローズドループコントロールアプリケーションの最も重要なファンクションが含まれています。ユーザーは、ソフトウェアスイッチを使用すれば、ファンクションの選択と選択解除を実行できます。

完全再起動
CPU の起動モード。次のことは、完全再起動モードに該当します。SFC によって生成されたデータ
ブロックはワークメモリから削除され、それ以外のすべてのデータブロックには、ロードメモリと同様に既定値が割り付けられます。プロセスイメージ、時間、カウンタ、およびメモリビットも、残りのメモリコンフィグレーションに関係なくリセットされます。完全再起動では、CPU が OB 102を実行してプロセスイメージ入力テーブルを読み取った後、最初の OB 1 命令からユーザープログ
ラムの処理を続行します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
714

リファレンスマニュアル, 05/2017, A5E41733394-AA

用語解説

割り込み
SIMATIC S7 優先度クラスシステムでは、10 段階の優先度クラスが認識されます。この優先度クラス
により、ユーザープログラムの処理が調整されます。これらの優先度クラスに所属する割り込みには、
たとえば、ハードウェア割り込みがあります。割り込みが発生すると自動的に、オペレーティング
システムは、
オーガニゼーションブロックを 1 つ呼び出します。
このオーガニゼーションブロックで、ユーザーは、(たとえば、ファンクションブロック内に)必要な応答をプログラムできます。

割り込み、日付時刻
日付時刻割り込みは、SIMATIC S7 プログラム実行の優先度クラスの 1 つに所属しています。日付
時刻割り込みは、特定の日付(または日)および時刻(たとえば、9:50 または 1 時間ごと、1 分ごと)に実行されます。その後、対応するオーガニゼーションブロックが実行されます。

割り込み、時間遅延
時間遅延割り込みは、SIMATIC S7 プログラム実行の優先度クラスの 1 つに所属しています。ユー
ザープログラム内のタイマが満了すると、時間遅延割り込みが実行されます。その後、対応するオー
ガニゼーションブロックが実行されます。

論理ブロックSIMATIC S7 では、論理ブロックは、STEP7 ユーザープログラムの一部が保存されているブロックです。ブロックにはこの他に、データのみが格納されるデータブロックがあります。論理ブロックのタイプを次に示します。
•

オーガニゼーションブロック(OB)•ファンクションブロック(FB)•

ファンクション(FC)•システムファンクションブロック(SFB)•

システムファンクション(SFC)

メッセージ
イベントの発生レポートです。メッセージは適切にコンフィグレーションされた表示装置に出力され、優先度、ロケーション、メッセージイベント時間の情報に加えて、状態の偏移に関する情報が含まれます (開始状態/終了状態)。

メッセージコンフィグレーション
メッセージコンフィグレーションは、そのテキストおよび属性のあるメッセージおよびメッセージ
テンプレートの作成および編集を参照し、ブロック関連メッセージ、シンボル関連メッセージ、診断メッセージなどこれらのメッセージに関係しています。

メッセージ番号
メッセージには一意の番号が割り付けられ、これを使用して応答確認などで識別します。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

715

用語解説

モジュールパラメータモジュールパラメータとは、モジュールの動作内容を設定できる値を指します。特定モジュールによっては、これらのパラメータの中に、ユーザープログラムで変更できるものがあります。

OB1
オーガニゼーションブロック OB1 は、周期プログラム処理に対応したシステムプログラムのユー
ザーインターフェースです。

OB 優先度CPU のオペレーティングシステムでは、各種優先度クラスが区別されます。たとえば、周期プログ
ラム処理、ハードウェア割り込み制御プログラム処理などが挙げられます。オーガニゼーションブ
ロック(OB)は、各優先度クラスに割り付けられます。このオーガニゼーションブロックで、ユーザーは応答をプログラムできます。OB には各種優先度が指定されます。この結果、同時に 2 つの OBが発生すると、適切な順序で OB を処理できるため、優先度の高い OB が優先度の低い OB に割り込むことができます。S7 ユーザーは、標準の優先度を変更できます。

オーガニゼーションブロック(OB)オーガニゼーションブロックは、CPU オペレーティングシステムとユーザープログラム間のインターフェースを形成します。オーガニゼーションブロックには、ユーザープログラムの処理手順が指定されます。

並列ストラクチャ
並列ストラクチャとは、コントローラ内の、特殊タイプ信号処理の 1 つ(数値演算処理)です。P、I 、および D の各コンポーネントは、相互に作用せずに、相互に並列に計算された後、合計が求められ
ます。

LMN_P
GAIN
INT

SP
PV

X

GAIN = 0

LMN_I

TI = 0
DIF

Linearcombination+

PID_OUTV

LMN_D
TD = 0S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
716

リファレンスマニュアル, 05/2017, A5E41733394-AA

用語解説

パラメータ
1. パラメータは、S7 論理ブロックの変数の 1 つです。
(ブロックパラメータ、実パラメータ、および仮パラメータを参照してください)。
2. モジュールの動作内容を設定する変数(モジュールごとに 1 つ以上)
コンフィグレーション可能なモジュールにはすべて、工場出荷時に基本パラメータが設定されています。ただし、STEP 7 を使用すれば、この設定を変更できます。
(モジュールごとに 1 つ以上)
パラメータには次の 2 種類があります。:
静的パラメータと動的パラメータ。パラメータ、静的/パラメータ、動的)。

パラメータ、動的
静的パラメータと異なり、モジュールの動的パラメータは、SFC を呼び出せば動作中にユーザープログラムで変更できます。たとえば、アナログモジュールの制限値が挙げられます。

パラメータ、静的
動的パラメータと異なり、モジュールの静的パラメータは、ユーザープログラムでは変更できず、
STEP 7 を使用した場合に限り変更できます。たとえば、デジタル入力モジュールの入力遅延が挙げられます。

P アルゴリズム
エラー信号と操作出力変数の変更間に比例関係がある出力信号の計算用アルゴリズムです。特徴:
定常エラー信号、不動作時間が含まれたプロセスでは使用されません。

PI アルゴリズム
エラー信号に比例するコンポーネントと、エラー信号と時間に比例する I コンポーネントで、操作
出力変数の変更が構成されている出力信号の計算用アルゴリズムです。特徴: 非定常エラー信号、
I アルゴリズムの場合より補償が高速、すべてのプロセスに適切。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

717

用語解説

PID アルゴリズム
エラー信号の乗算、積分、および微分で形成される出力信号の計算用アルゴリズムです。PID アル
ゴリズムは、並列ストラクチャの 1 つです。特徴: プロセスの不動作時間が他の時間定数以下であれば、高い制御品質を達成できます。

Adaptation
Process
model

Controller
designGAIN, TI, TD
SP
PV

-

Controller

LMN

Identification

Process

Control loop

優先度
オーガニゼーションブロックに優先度を割り付けるときには、現在アクティブなユーザープログラムの割り込み可能性を決定して、高優先度イベントが低優先度イベントに割り込みをかけるようにします。

優先度クラスCPU のオペレーティングシステムには、最大 28 段階の優先度クラスが装備されており、これらのクラスに各種オーガニゼーションブロックが割り付けられます。優先度クラスにより、OB 間の割り込み度が決定されます。
1 つの優先度クラスに複数の OB が指定されている場合、
これら OB は、
互いに割り込みを実行せず、逐次実行されます。

プロセス
プロセスとは、(エネルギまたは質量のレベルを変更することで)プロセス値が操作出力変数の影響を受けるシステム部分を指します。プロセスは、アクチュエータ、およびコントロールされている実際のプロセスに分割できます。

PV

LMN
t

LMN

t
Process

PV

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
718

リファレンスマニュアル, 05/2017, A5E41733394-AA

用語解説

プログラム実行、イベント制御
イベント制御プログラム実行では、開始イベントにより、周期ユーザープログラムの実行が割り込まれます(優先度クラス)。開始イベントが発生すると、現在実行されているブロックが割り込まれた後、次の命令、および割り付けられたオーガニゼーションブロックが呼び出され、実行されます。
その後、割り込みポイントから、周期プログラム実行が継続されます。

比例アクチュエータ
パルス幅変調パルス幅変調パルス幅変調とは、不連続出力で操作出力変数に影響を及ぼす方法の１つです。パーセンテージ
形式で計算した操作出力変数は、操作出力変数出力時に、比例信号パルス時間 Tp に変換されます。
たとえば、100 % Tp = TA または= CYCLE となります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

719

用語解説

比率コントロール•

シングルループ比率制御
シングルループ比率コントローラが使用されるのは、2 つのプロセス変数の比率が、変数の絶対値より重要な場合です。
SP-

Controller

LMN

Process

Ratio

PV1
Quotient•

PV2

マルチループ比率制御
マルチループ比率コントローラでは、2 つのプロセス変数 PV1 と PV2 の比率が一定になっている
必要があります。この操作をするには、最初の制御ループのプロセス変数から、2 番目の制御
ループのセットポイントを計算します。プロセス変数 PV1 が動的に変更されても、この比率は保持されます。
SP-

Controller 1

LMN1

Process 1

PV1

Factor-Controller 2

LMN2

Process 2

PV2

リモート装置リモート装置とは、ネットワークでアクセスできる装置、たとえば、プリンタまたはコンピュータを指します。ローカル装置と異なり、リモート装置には、インストール時にネットワークアドレス
を割り付ける必要があります。

再起動
CPU の起動時(モードセレクタが STOP から RUN へ切り替えられた場合や、電源投入時など)には、
周期プログラム処理を開始する前に(OB1)、オーガニゼーションブロック OB100(再起動)、オーガ
ニゼーションブロック OB101(S7-400 のみ再起動)、オーガニゼーションブロック OB102(完全再起動)のいずれかが最初に処理されます。再起動を行うと、プロセスイメージ入力テーブル が読み取られ、前回の停止(STOP、電源オフ)割り込みが発生した時点から、STEP 7 ユーザープログラムの処理が再起動します。

論理演算結果(RLO)
論理演算結果(RLO)とは、プロセッサ内の現在の信号状態を指します。この状態は、さらに、バイ
ナリ信号処理に使用されます。最後の RLO の信号状態により、所定の操作を実行するかどうかが決まります。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
720

リファレンスマニュアル, 05/2017, A5E41733394-AA

用語解説

ランタイムエラー(プロセスではなく)PLC でユーザープログラムの実行している最中に発生したエラーです。

スキャン
信号の変化が発生したかどうか決定するために、設定インターバルにおいて信号をスキャンし検知するために使用される、CPU 内で統合されたオペレーティングシステムファンクションです。

標準ファンクション
標準ファンクションとは、複雑なタスクをインプリメントするために SIEMENS から入手できる
ファンクション(ブロック)を指します。

標準ファンクションブロック
標準ファンクションブロックとは、複雑なタスクをインプリメントするために SIEMENS から入手できるファンクションブロックを指します。

開始イベント
開始イベントとは、エラーや割り込みなどの定義済みイベントであり、適切なオーガニゼーション
ブロックを呼び出すようにオペレーティングシステムに指示します。

開始イベント情報
開始イベント情報とは、オーガニゼーションブロック(OB)の一部です。開始イベント情報を使用すれば、S7 ユーザーは、OB の呼び出しをトリガしたイベントに関する詳細情報を調べることができます。開始イベント情報には、(イベントクラスとイベント ID で構成される)イベント番号、
イベントタイムスタンプ、および追加情報(たとえば、割り込み起動信号モジュールのアドレス)が
あります。

開始情報
オペレーティングシステムは、オーガニゼーションブロックを呼び出すと、ユーザープログラムで解釈できる開始情報を転送します。

起動 OB
起動モードセレクタの設定(S7-400 の場合に限る)、つまり起動の理由(停電後の電源復帰、プログラ
ミングデバイスのモードセレクタまたはコマンドによる STOP から RUN への手動切り換え)によって、起動オーガニゼーションブロック"完全再起動"または"再起動" (S7-400 の場合にだけ存在する)のどちらかが、オペレーティングシステムにより呼び出されます。開始 OB では、SIMATIC S7 ユー
ザーは、たとえば、停電後にシステムを再起動する方法をプログラムできます。
命令(STEP 5 または STEP 7)とは、テキスト言語で作成されたプログラムの最小部分です。これは、プロセッサに対するコマンドです。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

721

用語解説

ステートメントリスト
ステートメントリストは、STEP 7 のアセンブリ言語です。プログラムが STL 内で処理される場合、個々の命令は CPU がプログラムを処理するシーケンスに対応しています。

STEP 7SIMATIC S7 コントローラに応じたユーザープログラムを作成するプログラムソフトウェアです。

STEP 7 プログラム言語
SIMATIC S7 コントローラのプログラム言語です。S7 プログラマは、a)ステートメントリスト、b)
コントロールシステムフローチャート、c)ラダーロジックの各表現で STEP 7 を使用できます。

ステップコントローラ
ステップコントローラとは、不連続出力を使用した擬似連続コントローラ(および、I 操作を使用したモータ方式アクチュエータ)です。アクチュエータは 3 ステップ応答で、例えば、アップ - 停止
- ダウン (または、開く - Eclose ホールド) です。
(3 ステップコントローラ)

STL
ステートメントリスト

サブ番号
メッセージブロックが 2 つ以上の信号をモニタできる場合、モニタされる信号の番号です。

シンボル関連メッセージ
シンボルテーブル内のシンボル(入力、出力、ビットメモリ、データブロック)のメッセージをコンフィグレーションする際に使用するメッセージです。コンフィグレーションの間、信号をモニタするために使用される SCAN ファンクションに時間間隔を設定する必要があります。

シンボルによるプログラミング
STEP 7 プログラム言語を使用すれば、STEP 7 アドレスではなく、シンボル名を使用できます。
たとえば、STEP 7 アドレス"Q 1.1"を"バルブ 17"で置換できます。
また、STEP 7 のシンボルリストを使用すれば、割り付けたシンボル名とアドレス間にリンクを作成できます。

システム診断システム診断イベントの検出と評価をします。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2722

リファレンスマニュアル, 05/2017, A5E41733394-AA

用語解説

システム診断イベント
CPU の診断バッファで行われた入力は、オペレーティングシステムの開始に使用されます。

システムファンクション (SFC)
システムファンクション(SFC)とは、CPU オペレーティングシステムに組み込まれているファンク
ションの 1 つです。必要に応じて、STEP 7 ユーザープログラムで呼び出すことができます。

システムファンクションブロック (SFB)
システムファンクションブロック(SFB)とは、CPU オペレーティングシステムに組み込まれている
ファンクションブロックの 1 つです。必要に応じて、STEP 7 ユーザープログラムで呼び出すことができます。

3 ステップコントローラ
3 つの個別の状態だけを使用できるコントローラを指します。たとえば、"加熱-オフ-冷却"または"
右-停止-左"が挙げられます(ステップコントローラ)。

時間遅延割り込み
時間遅延割り込みは、SIMATIC S7プログラム処理で使用する優先度クラスの 1つに所属しています。
この割り込みは、指定された時間が経過した後で生成され、関連するオーガニゼーションブロック
で処理されます。

ツール
コンフィグレーションおよびプログラミングに使用されるソフトウェア機能です。

2 ステップコントローラ
2 ステップコントローラは、操作出力変数に 2 つの状態だけを設定できるコントローラを指します。
たとえば、"オン-オフ"が挙げられます。

ユーザー定義診断
ユーザー定義の診断イベントの検出と評価をします。

ユーザー定義の診断イベント
診断バッファ内に置かれる、ユーザーにより検出される診断イベントです (SFC 52 を使用)。

ユーザー定義診断メッセージ
ユーザー定義の診断イベントの発生をレポートするメッセージです。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

723

用語解説

ユーザープログラム
ユーザープログラムには、ステートメントと宣言、およびシステムまたはプロセスの制御に使用する信号処理のデータが含まれています。
ユーザープログラムは、
プログラマブルモジュール(モジュール、
プログラマブル)に割り付けられ、ブロックと呼ばれる小単位で構成できます。

ユーザープログラムエラー
プロセスエラーと異なり、SIMATIC S7 PLC 内のユーザープログラムの処理中に発生するエラーを指します。オペレーティングシステムは、エラーOB(優先度クラスシステム)、システムファンクショ
ンのステータスワードと出力パラメータを使用してエラーを処理します。

変数
変数は、STEP 7 ユーザープログラムで使用できる変数内容でデータを定義します。変数は、アドレス(たとえば、M3.1)とデータタイプ(たとえば、BOOL)で構成され、シンボル(たとえば、
MOTOR_ON)で表現されます。

変数宣言
変数宣言には、シンボル名、データタイプ、既定値、アドレス、およびコメントのエントリが組み込まれます。

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2724

リファレンスマニュアル, 05/2017, A5E41733394-AA

索引"DPRD_DAT", 297

BLK, 101BLKMOV, 97
BRCV, 368
BSEND, 364
BVAL, 100（

Ｃ

SFC 13, 294

C_DIAG, 250
CAN_DINT, 211
CAN_TINT, 202
CDT, 136
CiR, 124, 125
CiR 操作, 54
COMPRESS, 108
CONT_C, 504
CONT_S, 509
CONTROL, 393, 501, 505, 507, 509, 510, 513
SFB 41 による連続コントロール, 501
SFB 42 によるステップコントロール, 509
COUNT, 103
CPU, 121, 223, 224, 623, 624
SFC 46 STP での STOP モードへの変更, 121
特性, 623
ハードウェアエラー, 224
CPU 417 と CPU 417H のアクセスエラー, 213
CPU 417 と CPU 417H のアクセスエラーマスク, 213
CPU ハードウェア故障 OB, 59
CPU ハードウェア故障オーガニゼーションブロック(OB84), 59
CPU リダンダントエラーOB(OB72), 41
CQ, 146
CREA_DB, 118
CREA_DBL, 111
CREATE_DB, 103
CTD, 498
CTRL_RTM, 145
CTU, 497
CTUD, 499
CV, 146＂；
SFB 23, 391, 392
SFC 112, 306
SFC 113, 307
SFC 114, 308［[エラーステータス]タブ, 213

１
SFC 109 \PROTECT, 126８
データブロックの生成
SFC 82, 111

Ａ
ACCFLT_ESR, 222
ACCFLT_MASKED, 220, 221
ACCFLT_QUERY, 222
ACCFLT_RESET_MASK, 221
ACCFLT_SET_MASK, 220
ACT_TINT, 203
ADC/DAC エラー, 612
ALARM, 461
ALARM_8, 467
ALARM_8P, 464
ALARM_D, 484
ALARM_DQ, 484
ALARM_S, 480
ALARM_SC, 483
ALARM_SQ, 480
AR_SEND, 469

Ｂ
BCD 変換エラー, 213

Ｄ
DB_NUMBER, 103
DEL_DB, 105
DEL_SI, 489
DIS_AIRT, 229
DIS_IRT, 225
DIS_MSG, 471
DMSK_FLT;DMSK_FLT;DMSK_FLT, 221
DP_PRAL, 281
DP_TOPOL, 254
DPNRM_DG, 294
DPRD_DAT, 297
DPSYC_FR, 284
DPWR_DAT, 300

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

725

索引

DP スレーブのグループ, 284
同期化, 284
DP 相互接続の更新, 308
DP マスタシステム情報, 656
DP マスタシステムでのバストポロジの識別, 254
DRUM, 269
DSTBLK, 96, 97
DTIME, 209

Ｅ
EN_AIRT, 230
EN_IRT, 227
EN_MSG, 473
EVENTN, 241

Ｇ
GADR_LGC, 271
GD_RCV, 333
GD_SND, 331
GD パケット, 331, 332, 333, 334, 335
SFC 60 による送信, 331
SFC 61 によるプログラム済み承認, 333
GEO_LOG, 276
GET, 373
GETIO, 324
GETIO_PART, 326

Ｈ
H/F イベント, 688
H_CTRL, 599

Ｆ
FB 12 BSEND, 362
FB 13 BRCV, 366
FB 15 PUT, 369
FB 20 "GETIO"を使用して、DP 標準スレーブ/PROFINET
IO デバイスのすべての入力を読み取る, 324
FB 20 GETIO, 324
FB 21 "SETIO"を使用して、DP 標準スレーブ/PROFINET
IO デバイスのすべての出力を書き込む, 325
FB 21 SETIO, 325
FB 210 "FW_TCP", 450
FB 210 "FW_TCP"による、FETCH および WRITE サービ
スを使用した、TCP 経由のサードパーティ製システム
へのリンク, 450
FB 22 "GETIO_PART"を使用して、DP 標準スレーブ/PROFINET IO デバイスの一部の入力を読み取る, 326
FB 22 GETIO_PART, 326
FB 220 "FW_IOT", 451
FB 220 "FW_IOT"による、FETCH および WRITE サービ
スを使用した、ISO-on-TCP 経由のサードパーティ製システムへのリンク, 451
FB 23 "SETIO_PART"を使用して、DP 標準スレーブ/PROFINET IO デバイスの出力の一部を書き込む, 328
FB 23 SETIO_PART, 328
FB 63 "TSEND", 437
FB 64 "TRCV", 440, 441, 442
FB 65 "TCON", 432
FB 65 "TCON"による接続の確立, 432
FB 66 "TDISCON", 435
FB 66 "TDISCON"による接続の終了, 435
FB 67 "TUSEND", 444
FB 67 "TUSEND"による UDP 経由のデータ送信, 444
FB 68 "TURCV", 447, 448
FB 68 "TURCV"による UDP 経由のデータ受信, 447
FB 8 USEND, 355
FB 9 URCV, 359
FILL, 100
FW_IOT, 451
FW_TCP, 450

Ｉ
I/O アクセスエラー, 213
I/O アクセスエラーオーガニゼーションブロック(OB122),
84
I/O リダンダントエラーOB(OB70), 39
I/O 領域のビットフィールド, 266
SFC 79 による設定 SFC 79 ニヨルセッテイ, 266
I_ABORT, 415
I_GET, 411
I_PUT, 413
Industrial Ethernet 経由のオープンな通信, 417
INFO1, 241
INFO2, 243, 244
IOID, 153, 155, 159, 161
IP_CONF, 311

Ｌ
LADDR, 153, 155, 159, 161
LGC_GADR, 272
LOG_GEO, 278
LOW_LIMIT, 103

Ｍ
MODE, 225, 227
MP_ALM, 123
MSK_FLT;MSK_FLT;MSK_FLT, 220
M 短絡, 614, 615, 616
アナログ出力モジュール, 614
アナログ入力モジュール, 614

Ｎ
NOTIFY, 457
NOTIFY_8P, 459
NR, 144, 145, 146

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2726

リファレンスマニュアル, 05/2017, A5E41733394-AA

索引

Ｏ

Ｑ

OB), 54
OB_NR, 201, 202, 203, 204, 209, 210, 211, 226, 227
OB_RT, 245
OB10～OB17, 16
OB100
OB101
および OB102, 76
OB121, 81, 84
OB20 ～ OB23, 20
OB30～OB38, 22
OB40～OB47, 24
OB55, 26, 27
OB56, 29, 30
OB57, 32, 33
OB60, 35, 36, 123
OB70, 39, 40
OB72, 41, 43
OB73, 44
OB80, 45
OB81, 49
OB82, 51
OB83, 54, 55, 56
OB84, 59
OB85, 61
OB86, 65, 66, 67
OB87, 70
OB のローカルデータ, 630

QRY_DINT, 210
QRY_TINT, 204

ＰP sh, 614
PERIOD, 201
PN_DP, 308
PN_IN, 306
PN_OUT, 307
PRGFLT_ESR, 222
PRGFLT_MASKED, 220, 221
PRGFLT_QUERY, 222
PRGFLT_RESET_MASK, 221
PRGFLT_SET_MASK, 220
PRINT, 379
PROFINET CBA コンポーネント, 306, 307, 308
相互接続の更新, 308
ユーザープログラムインターフェースの入力の更新,
306
PROFInet CBA コンポーネントの PROFINET インターフ
ェース出力の更新, 307
PROFINET インターフェース, 304, 305
PROTECT, 128
PRVREC, 132
PULSEGEN, 516, 517, 522
PULSEGEN ブロックの例, 527
PUT, 369
PV, 144
P 短絡, 614, 615, 616
アナログ出力モジュール, 614
アナログ入力モジュール, 614

Ｒ
RALRM, 175
RAM エラー, 612
RCVREC, 129
RD_DPAR, 167
RD_DPARA, 152
RD_LGADR, 275
RD_REC, 161
RD_SINFO, 231
RDREC, 171
RDSYSST, 234, 617
RE_TRIGR, 121
READ_CLK, 136
READ_DBL, 114
READ_ERR, 222
READ_RTM, 146
READ_SI, 486
RECNUM, 153, 155, 159, 161
RECORD, 153, 154, 159, 160
REPL_VAL, 110
RESUME, 387
RTM, 142

Ｓ
S, 145
S7 通信 SFB の分類とワークメモリ要件, 341
S7 通信の SFB/FB および SFC/FC の共有パラメータ, 347
S7 通信のブロックと S7 基本通信との相違, 337
S7 通信用 SFB の問題対処法, 353
SALRM, 191
SDT, 201
SEND, 241
SET_CLK, 135
SET_CLKS, 138
SET_RTM, 144
SET_TINT, 201
SETIO, 325
SETIO_PART, 328
SFB, 348, 351, 352, 353, 393
SFB インスタンスに属している接続のステータスの問
い合わせ, 393
エラーおよび障害に対する反応, 353
起動に対するリアクション, 351
パラメータ分類, 347
SFB 0 CTU, 497
SFB 1 CTD, 498
SFB 12 BSEND, 362
SFB 13 BRCV, 366
SFB 14 GET, 373
SFB 15 PUT, 369
SFB 16 PRINT, 376
SFB 19 START, 382
SFB 2 CTUD, 499
SFB 20 STOP, 385

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

727

索引

SFB 21 RESUME, 387
SFB 22 STATUS, 389
SFB 23 USTATUS, 391
SFB 29 (HS_COUNT), 603
SFB 3 TP, 491
SFB 30 (FREQ_MES), 605
SFB 31 NOTIFY_8P, 459
SFB 32 DRUM, 268
SFB 33 ALARM, 461
SFB 34 ALARM_8, 467
SFB 35 ALARM_8P, 464
SFB 36 NOTIFY, 457
SFB 37 AR_SEND, 469
SFB 38 (HSC_A_B), 606
SFB 39 (POS), 607
SFB 4 TON, 493
SFB 41 CONT_C, 501
SFB 42 CONT_S, 509
SFB 43 PULSEGEN, 515
2 ステップコントロール, 515
3 ステップコントロール, 519, 521, 523, 524, 525, 526
自動的な同期化, 518
非対称の 3 ステップコントロール, 521
SFB 44, 531
SFB 46, 544
SFB 47, 560
SFB 48, 564
SFB 49, 567
SFB 5 TOF, 495
SFB 52 "RDREC"によるデータレコードの読み取り, 171
SFB 52 RDREC, 171
SFB 53 "WRREC"によるデータレコードの書き込み, 173
SFB 53 WRREC, 173
SFB 54 RALRM, 175
SFB 60, 569, 590
追加エラー情報, 590
SFB 60～65 の追加エラー情報, 590
SFB 61, 572, 590
追加エラー情報, 590
SFB 62, 575, 590
追加エラー情報, 590
SFB 63, 577, 590
追加エラー情報, 590
SFB 64, 581, 590
追加エラー情報, 590
SFB 65, 586, 590
追加エラー情報, 590
SFB 73 "RCVREC"によるデータレコードの受信, 129
SFB 73 RCVREC, 129
SFB 74 "PRVREC"によるデータレコードの送信, 132
SFB 74 PRVREC, 132
SFB 75 SALRM, 191
SFB 8 USEND, 355
SFB 81, 167
SFB 81 "RD_DPAR"による予め定義されたパラメータの読み取り, 167
SFB 9 URCV, 359
SFB ANALOG, 531
SFB COUNT, 556
SFB DIGITAL, 544
SFB FETCH RK, 581
SFB FREQUENC, 562

SFB PULSE, 566
SFB RCV_PTP, 572
SFB RES_RCVB, 575
SFB SEND_PTP, 569, 577
SFB SERVE_RK, 586
SFB/FB 14 によるリモート CPU からのデータの読み取り,
373
SFB/FB 15 によるリモート CPU へのデータの書き込み,
369
SFB104 "IP_CONF"を使用して IP コンフィグレーションを設定する, 311
SFB104 IP_CONF, 311
SFB によるブロック関連メッセージの生成について, 453
SFB のリスト、
アルファベット順ソート, 703, 705
SFC 0 SET_CLK, 135
SFC 1 READ_CLK, 136
パラメータ, 136
SFC 10 DIS_MSG, 471
SFC 100 SET_CLKS, 138
SFC 101 RTM, 142
SFC 102 RD_DPARA, 152
SFC 103 DP_TOPOL, 254
SFC 104 CiR, 124
SFC 105 READ_SI, 486
SFC 106 DEL_SI, 489
SFC 107 ALARM_DQ, 484
SFC 108 ALARM_D, 484
SFC 109 "PROTECT", 126
SFC 11 DPSYC_FR, 284
SFC 12 "D_ACT_DP"による DP スレーブ/PROFINET IO
デバイスの停止と起動, 289
SFC 12 D_ACT_DP, 289
SFC 126 SYNC_PI, 262
SFC 127 SYNC_PO, 264
SFC 13 DPNRM_DG, 294
SFC 14 DPRD_DAT, 297
SFC 15 DPWR_DAT, 300
SFC 17 ALARM_SQ, 480
SFC 18 ALARM_S, 480
SFC 19 ALARM_SC, 483
SFC 2 SET_RTM, 144
SFC 20 BLKMOV, 95
SFC 21 FILL, 100
SFC 22 CREAT_DB, 103
エラー情報, 103
SFC 22 CREATE_DB, 103
SFC 23 DEL_DB, 105
エラー情報, 105
SFC 25 COMPRESS, 108
SFC 26 UPDAT_PI, 259
SFC 27 UPDAT_PO, 261
SFC 28 SET_TINT, 201
SFC 28～31 の特性, 199
SFC 29 CAN_TINT, 202
SFC 3 CTRL_RTM, 145
SFC 30 ACT_TINT, 203
SFC 31 QRY_TINT, 204
SFC 32 SRT_DINT, 209
SFC 33 CAN_DINT, 211
SFC 34 QRY_DINT, 210
エラー情報, 210
SFC 35 MP_ALM, 123

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2728

リファレンスマニュアル, 05/2017, A5E41733394-AA

索引

SFC 36 MSK_FLT;SFC 36 MSK_FLT;SFC 36 MSK_FLT,220
SFC 37 DMSK_FLT;SFC 37 DMSK_FLT;SFC 37
DMSK_FLT, 221
SFC 38 READ_ERR, 222
SFC 39 DIS_IRT, 225
SFC 4 READ_RTM, 146
SFC 40 "EN_IRT"による新規割り込みと非同期エラーの処理の有効化, 227
SFC 40 EN_IRT, 227
エラー情報, 227
SFC 41 DIS_AIRT, 229
戻り値, 229
SFC 42 EN_AIRT, 230
エラー情報, 230
戻り値, 230
SFC 43 RE_TRIGR, 121
SFC 44 REPL_VAL, 110
SFC 46 STP, 121
SFC 46 TIME_TCK, 147
SFC 47 WAIT, 122
SFC 48 SNC_RTCB, 137
SFC 49 LGC_GADR, 272
SFC 5 GADR_LGC, 271
SFC 50 RD_LGADR, 275
SFC 51 RDSYSST, 234, 617
SFC 52 WR_USRMSG, 241
SFC 55 ～ 59 のエラー情報詳細, 166
SFC 55 WR_PARM, 153
SFC 56 WR_DPARM, 155
SFC 58 WR_REC, 159
パラメータ, 159
SFC 59 RD_REC, 161
SFC 6 RD_SINFO, 231
SFC 60 GD_SND, 331
SFC 61 GD_RCV, 333
SFC 62 CONTROL, 393
SFC 63 (AB_CALL), 609
SFC 64 TIME_TICK, 147
パラメータ, 147
SFC 65 "X_SEND"によるローカル S7 ステーションの外部にある通信パートナーへのデータの送信, 401
SFC 65 X_SEND, 401
SFC 66 X_RCV, 402
SFC 67 X_GET, 408
SFC 68 X_PUT, 406
SFC 69 X_ABORT, 410
SFC 7 DP_PRAL, 281
SFC 70, 276
SFC 70 "GEO_LOG"によるモジュールの開始アドレスの特定, 276
SFC 71, 278
SFC 71 "LOG_GEO"による論理アドレスに属するスロットの特定, 278
SFC 72 I_GET, 411
SFC 73 I_PUT, 413
SFC 74 I_ABORT, 415
SFC 78 'OB_RT', 245
SFC 79 SET, 266
SFC 80 RSET, 267
SFC 82 CREA_DBL, 111
SFC 83 READ_DBL, 114

SFC 84 WRIT_DBL, 116
SFC 85 CREA_DB, 118
SFC 87 C_DIAG, 250
SFC 87 による診断, 250
SFC 9 EN_MSG, 473
SFC 90 H_CTRL, 599
SFC 90 による H システムの操作の制御, 599
SFC99, 309, 310
SFC99 "WWW"を使用してユーザーの Web ページを有効化または同期する, 309
SFC によるブロック関連メッセージの生成について, 477
SFC のリスト、
アルファベット順ソート, 697, 700
SIGN, 209
SNC_RTCB, 137
SRCBLK, 95
SRT_DINT, 209
SSL ID W#16#0132 およびインデックス W#16#000B のサブリスト抽出のデータレコード, 647
SSL ID W#16#0132 およびインデックス W#16#000C のサブリスト抽出のデータレコード, 648
SSL ID W#16#xy25 - OB へのプロセスイメージパーティ
ションの割り付け, 640
SSL_HEADER, 234
SSL-ID, 620
SSL-ID W#16#00B1 - モジュール診断情報, 671
SSL-ID W#16#00B2 - 物理的アドレスが指定された診断
データレコード 1, 673
SSL-ID W#16#00B3 - 論理ベースアドレスが指定されたモジュール診断データ, 674
SSL-ID W#16#00B4 - 任意の DP スレーブの診断データ,
675
SSL-ID W#16#0x75 - H システムにある切り替え DP スレーブ/IO デバイス, 654
SSL-ID W#16#xy11 - モジュール ID, 622
SSL-ID W#16#xy12 - CPU 特性, 623
SSL-ID W#16#xy13 - メモリ領域, 626
SSL-ID W#16#xy14 - システム領域, 627
SSL-ID W#16#xy15 - ブロックタイプ, 629
SSL-ID W#16#xy1C - コンポーネント ID, 632
SSL-ID W#16#xy22 - 割り込みステータス, 638
SSL-ID W#16#xy32 - 通信ステータスデータ, 643
SSL-ID W#16#xy71 - H CPU グループ情報, 651
SSL-ID W#16#xy74 - モジュール LED のステータス, 630
SSL-ID W#16#xy90 EDP マスタシステム情報, 656
SSL-ID W#16#xy91 - モジュールステータス情報, 658
SSL-ID W#16#xy92 - ラック / ステーションステータス情報, 664SSL-ID W#16#xy95 - 拡張 DP マスタシステム情報, 668
SSL-ID W#16#xyA0 - 診断バッファ, 670
START, 382, 383
STARTUP(起動), 76, 77, 78, 79
STATUS, 204, 210, 389, 390
STEP 7, 45, 49, 52, 61, 62, 81, 84
OB のタイプ
OB121, 81
OB122, 84
OB80, 45
OB81, 49

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

729

索引

OB82, 51
OB85, 61
STOP, 385, 386
リモートデバイスの変更, 385
STP, 121
SYNC_PI, 262
SYNC_PO, 264

呼び出し, 609
アセンブリコードブロックの呼び出し, 609
アライメントエラー, 213
アンマスク, 213
エラーイベント, 213

いＴ
TCON, 434
TDISCON, 435
TIME_TCK, 147
TOD の設定, 135
SFC 0 SET_CLK による, 135
TOF, 495
TON, 493
TP, 491
TRCV, 440
TSEND, 437
TURCV, 447
TUSEND, 444

Ｕ
UP_LIMIT, 103
UPDAT_PI, 259
UPDAT_PO, 261
URCV, 359
USEND, 355
USTATUS, 391

Ｗ
WAIT, 122
WR_DPARM, 155
WR_PARM, 153
WR_REC, 159
WR_USRMSG, 241
WRIT_DBL, 116
WRREC, 173
WT, 122
WWW, 309

Ｘ
X_ABORT, 410
X_GET, 408
X_PUT, 406
X_RCV, 402
X_SEND, 401

あアクセスエラー, 213
アクセスエラーイベント, 213
アクセスエラーマスク, 213
アセンブリコードブロック

イベント, 241, 242, 243, 244, 677, 678
ID, 242, 243, 677
クラス, 677
イベントクラス 8 - モジュールの診断イベント, 691
イベントクラス 1 - 標準 OB イベント, 678
イベントクラス 2 - 同期エラー, 679
イベントクラス 3 - 非同期エラー, 680
イベントクラス 4 - 停止イベントと他のモード変更, 683
イベントクラス 5 - モードランタイムイベント, 686
イベントクラス 6 - 通信イベント, 687
イベントクラス 7 - H/F イベント, 688
イベントクラス 9 - 標準ユーザーイベント, 693
イベントクラス A と B - 自由ユーザーイベント, 695
イベントとイベント ID, 677
インスタンスデータブロックの書き込みエラー, 213
インターフェース DB, 303, 305
インデックス W#16#0004 のサブリスト抽出 SSL-ID
W#16#0232 のデータレコード, 649
インデックス W#16#0005 のサブリスト抽出 SSL-ID
W#16#0132 のデータレコード, 644
インデックス W#16#0008 のサブリスト抽出 SSL-ID
W#16#0132 のデータレコード, 645

えエラー, 224, 612, 613
ADC/DAC, 612
EPROM, 612
RAM, 612
非同期, 223
エラーOB, 45, 46, 49, 51, 61, 213
OB のタイプ
OB80, 45, 46, 47
OB81, 49
OB82, 51
OB85, 61, 62, 63, 64
エラー検出, 45, 81, 84
OB のタイプ
OB121, 81
OB122, 84
OB80, 45
エラー情報, 104, 105, 106, 210, 228, 230
SFC 22 CREAT_DB, 103
SFC 23 DEL_DB, 105
SFC 34 QRY_DINT, 210
SFC 40 EN_IRT, 227
SFC 42 EN_AIRT, 230
エラー処理, 213
エラーマスク, 213
アクセスエラー, 213

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
730

リファレンスマニュアル, 05/2017, A5E41733394-AA

索引

プログラミングエラー, 213
エラーレジスタ, 222
SFC 38 READ_ERR による読み取り, 222
エラー割り込み, 223
同期, 224
非同期, 223, 224おオーガニゼーションブロック(OB), 16, 20, 22, 26, 29, 32,
35, 45, 49, 51, 54, 59, 61, 65, 70, 74, 76, 81, 84
CPU ハードウェア故障 OB (OB84), 59
OB121, 81
OB122, 84
完全再起動 OB (OB100), 76
起動 OB (OBs 100 と 101), 76
更新割り込み OB(OB56), 29
再起動 OB (OB101), 76
時間遅延割り込みオーガニゼーションブロック (OB20～OB23), 20
時刻割り込み OB(OB10～OB17), 16
周期割り込み OB(OB30～OB38), 22
診断割り込み OB(OB82), 51
ステータス割り込み OB(OB55), 26
製造元仕様割り込みの OB(OB57), 32
挿入/削除 OB(OB83), 54
通信エラーOB (OB87), 70のタイプ
OB80, 45
OB81, 49
OB82, 51
OB85, 61
背景 OB (OB90), 74
マルチコンピューティング割り込み OB (OB60), 35
優先度クラスエラーOB (OB85), 61
ラック障害 OB (OB86), 65
オーガニゼーションブロック(OB)の概要, 11
オープンな通信, 417, 418
FB のファンクション, 418
TCP および ISO on TCP による通信接続用のパラメー
タの割り付け, 422
UDP によるリモートパートナーのアドレス情報の構造,
430
UDP によるローカル通信アクセスポイント用パラメー
タの割り付け, 427
概要, 417

か
外部エラー, 612
概要, 343
カウンタ (CPU 312), 603
カウンタ番号エラー, 213
カウントアップ, 497
カウントアップ/カウントダウン, 499
カウントダウン, 498
書き込みエラー, 213

データブロック, 213
書き込み時の I/O アクセスエラー, 213
書き込み時のアライメントエラー, 213
書き込み時の領域エラー, 213
可能なサブシステムステータスリスト, 621

き基準チャンネルエラー, 614
アナログ入力モジュール, 614
起動オーガニゼーションブロッ(OB100、OB101 および OB102), 76
切り替え DP スレーブ, 654

くクロック, 135
同期, 135
マスタ, 135こ
更新割り込み, 29
更新割り込み OB(OB56), 29
コモンモードエラー, 614, 615
アナログ出力モジュール, 614
アナログ入力モジュール, 614
コンフィグレーション, 614
エラー
アナログ出力モジュール, 614
アナログ入力モジュール, 614
デジタル入力モジュール, 614
コンフィグレーションされていない S7 コネクション用のコミュニケーション SFC に関するエラー情報, 397
コンフィグレーション済み S7 コネクション用 SFB のルーチンの起動, 351
コンポーネント ID, 632

さ再起動, 76, 78, 79, 80, 387, 388
リモートデバイス上の起動, 387
再起動(ウォームスタート), 382
再起動(ウォームスタート)または完全再起動, 382
リモートデバイス上
実行, 382
サイクルタイムモニタの再トリガ, 121
SFC 43 RE_TRIGR による, 121
サイクルタイムモニタリング, 612
サブ SSL リストの構造, 619

しシーケンサ, 268, 269

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

731

索引

の装備, 268
時間遅延割り込み, 20, 207, 208, 209, 210, 211, 223
SFC 32 SRT_DINT による開始, 209
SFC 33 CAN_DINT によるキャンセル, 211
SFC 34 QRY_DINT による問い合わせ, 210
スタートアップ OB における開始, 207
呼び出しの条件, 207
影響する状況
エイキョウスルジョウキョウ, 207
時間遅延割り込みオーガニゼーションブロック (OB20～
OB23), 20
時間遅延割り込みの操作, 207
時刻, 135
時刻の読み取り, 136
SFC 1 READ_CLK による, 136
時刻割り込み, 197, 199, 200, 201, 202, 203, 204, 223
OB, 197
SFC 28 SET_TINT による, 201
SFC 29 CAN_TINT によるキャンセル, 202
SFC 30 ACT_TINT による起動, 203
SFC 31 QRY_TINT による問い合わせ, 204
ウォームリスタート, 200
コールドリスタート, 200
実行とリアクション, 199
呼び出しの条件, 197
影響する状況
エイキョウスルジョウキョウ, 199
時刻割り込み OB(OB10～OB17), 16
時刻割り込みの操作, 197
システム時間の読み取り, 147
SFC 64 TIME_TCK による, 147
システム診断, 231
システムステータスの読み取り, 234
SFC 51 RDSYSST による, 234
システムステータスリスト, 617, 621
サブリスト, 621
システムステータスリスト(SSL)の概要, 617
システムデータ, 617
システムファンクション GET と PUT におけるデータの整合性, 340
システム領域, 627
シャドウメモリ, 303
周期割り込み, 22, 223
周期割り込み OB(OB30～OB38), 22
自由ユーザイベント, 695
出力パラメータ RET_VAL によるエラーの評価, 87使用される CPU とプロトコルバリアント(connection_type)の関係と、転送可能なデータ長, 431
診断イベント, 691
診断データ, 150, 611, 612, 617, 618
CPU の, 617
ストラクチャ, 611
単一モジュールの, 149, 617
内容, 611
診断データ構造の概要, 611
診断バッファ, 213, 617, 670
診断割り込み, 224, 612

代替品から, 612
診断割り込みオーガニゼーションブロック (OB82), 51

すステータス割り込み, 26
ステータス割り込み OB(OB55), 26
スレーブクロック, 137の同期化, 137

せ製造元固有の割り込み, 32
製造元仕様割り込みの OB(OB57), 32
接続, 250, 251, 252, 253, 254
SFC 87 による診断, 250
接地異常, 615, 616
デジタル入力モジュール, 614

そ増設ラック異常, 612
挿入/削除 OB(OB83), 54
測定範囲を超過している。, 614
アナログ入力モジュール, 614

たタイプ ID, 620
モジュールの, 620
タイマ番号エラー, 213
タイムエラー, 224
タイムエラーオーガニゼーションブロック(OB80), 45
断線, 614, 615, 616
アナログ出力モジュール, 614
アナログ入力モジュール, 614

ち遅延, 493
作成, 493
遅延オフ, 495
作成, 495
遅延時間, 207
置換値, 110
SFC 44 REPL_VAL による ACCU 1 への書き込み, 110チャンネル, 612, 613
エラー, 612
情報, 612
チャンネル固有診断データの構造, 614

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
732

リファレンスマニュアル, 05/2017, A5E41733394-AA

索引

つ通信, 224, 643
エラー, 223
ステータスデータ, 643
割り込み, 224
通信 SFC, 344, 345
通信 SFC の共通パラメータ, 395
通信イベント, 687
通信エラーオーガニゼーションブロック(OB87), 70
通信パートナーからのデータの受信、およびそのデータのデータブロック(RK 512), 586
通信パートナーからのデータの受信、およびそのデータのデータブロックへのファイル, 572
通信リダンダントエラーOB (OB73), 44て停止イベント, 683
データ, 300, 301, 302
DP 標準スレーブ/PROFINET IO デバイスへの一貫デー
タ書き込み, 300
データセット, 173
データブロック, 103, 105, 114, 115, 116, 117
SFC 22 CREAT_DB による作成, 103
SFC 23 による削除, 105
データブロックの作成, 118
データブロックの生成, 111
データブロックの範囲全体またはデータブロックのセク
ションを通信パートナーに転送, 569, 577
データブロックの範囲全体またはデータブロックのセク
ションを通信パートナーに転送(RK 512), 581
データレコード, 149, 150, 159, 161, 162, 163, 165, 166,
171, 172
SFB 52 RDREC による読み取り, 171
SFB 53 WRREC による書き込み, 173
SFC 58 WR_REC による書き込み, 159
SFC 59 RD_REC による読み取り, 161
書き込み, 149
読み取り, 149
データレコードの書き込みおよび読み取り, 149
デバイスステータス変更, 391
リモートデバイスのステータス変更の受信, 391
電源, 612
エラー, 612
電源エラーオーガニゼーションブロック (OB81), 49
電源供給エラー, 224
テンポラリ変数(TEMP), 84
OB に必要, 84
電流が測定範囲を下回る, 614
アナログ入力モジュール, 614と同期, 135
クロック, 135

同期エラー, 81, 84, 213, 220, 221, 679
OB121, 81
OB122, 84
SFC 36 MSK_FLT によるエラー, 220
SFC 37 DMSK_FLT によるアンマスク, 221
同期エラーイベント
アンマスク, 213
マスク, 213
同期エラーのマスク, 213
統合カウンタファンクション, 603
統合頻度メータファンクション, 605

な
内部エラー, 612に入力バッファの削除, 575
SFB 35, 464
SFB 34, 467
SFC 104, 124
SFC 46, 121
SFB 54, 175
SFC 11, 284
SFB 75, 191
SFC 7, 281
SFC 15, 300
SFC 60, 331
SFC 90, 599
SFC 80, 267
SFC 79, 266
SFC 78, 245
SFC 6, 231
SFC 62, 393
SFB 37, 469
SFC 44, 110
SFC 38, 222
SFB 5, 495
SFB 4, 493
SFB 2, 499
SFB 0, 497
SFB 1, 498
SFC 108, 484
SFC 43, 121
SFB 32, 268
SFC 51, 234
SFC 64, 147
SFB 42/FB 42, 509
SFC 48, 137
FB 64, 440
FB 63, 437
SFC 24, 107
SFC 22, 103
SFC 85, 118
SFC 23, 105
SFC 58, 159
SFC 59, 161
SFC 56, 155
SFB 3, 491
SFB 43, 515

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

733

索引

SFB 16, 376
SFC 27, 261
SFC 26, 259
SFC 9, 473
SFC 35, 123
SFC 21, 100
SFC 50, 275
SFC 5, 271
SFC 47, 122
SFC 25, 108
SFC 52, 241
SFC 3, 145
SFC 101, 142
SFC 2, 144
SFC 4, 146
SFB/FB 14, 373
SFB/FB 15, 369
SFB 20, 385
SFB23, 391
SFB 19, 382
SFB 21, 387
SFB 22, 389
SFC 66, 402
SFC 67, 408
SFC 68, 406
SFC 69, 410
SFC 72, 411
SFC 73, 413
SFC 74, 415
SFC 82, 111
SFC 83, 114
データブロック
SFC 83, 114
SFC 84, 116
SFB 31, 459
SFC 107, 484
SFC 17, 480
SFC 87, 250
SFC 41, 229
SFC 42, 230
SFC 19, 483
SFC 33, 211
SFC 32, 209
SFC 34, 210
SFC 100, 138
SFC 0, 135
SFC 1, 136
SFC 29, 202
SFC 30, 203
SFC 28, 201
SFC 31, 204
SFC 61, 333
SFB 36, 457
SFB 33, 461
SFC 39, 225
SFC 54, 151
SFC 105, 486
SFC 106, 489
SFC 55, 153
SFC 37, 221
SFC 36, 220
SFC 127, 264
SFC 126, 262
SFB/FB 13, 366

SFB/FB 12, 362
SFC 20, 95
SFC 81, 98
SFB 8/FB 8, 355
SFB/FB 9, 359
SFC 102, 152
SFB 41/FB 41, 501
SFC 49, 272

はハードウェア割り込み, 223, 612
損失, 612
ハードウェア割り込み OB, 24
ハードウェア割り込みオーガニゼーションブロック(OB40 から OB47), 24
バックグラウンドオーガニゼーションブロック(OB90),74
バッテリ消耗, 612
バッテリバックアップ, 612
エラー, 612
パラメータ, 92, 93, 95, 96, 100, 101, 102, 103, 104, 122,
136, 144, 145, 146, 147, 149, 153, 155, 159, 160, 161,
162, 165, 166, 201, 202, 203, 204, 205, 209, 210, 211,
225, 226, 228, 241, 242, 243
ACCFLT_ESR, 222
ACCFLT_Masked, 221
ACCFLT_MASKED, 220
ACCFLT_QUERY, 222
ACCFLT_RESET_MASK, 221
ACCFLT_SET_MASK, 220
BLK, 100
BVAL, 100, 101
CDT, 136
COUNT, 103
CQ, 146
CV, 146
DB_NUMBER, 103
DSTBLK, 95
DTIME, 209
EVENTN, 243, 244
INFO1, 243, 244
INFO2, 241
IOID, 153, 155, 159, 161, 165
LADDR, 153, 155, 159, 161, 165
LOW_LIMIT, 103
MODE, 225, 226, 227, 228
NR, 144, 145, 146
OB_NR, 201, 202, 203, 204, 209, 210, 211, 225, 228
PERIOD, 201
PRGFLT_ESR, 222
PRGFLT_MASKED, 220, 221
PRGFLT_QUERY, 222
PRGFLT_RESET_MASK, 221
PRGFLT_SET_MASK, 220
PV, 144RECNUM, 153, 155, 159, 161
RECORD, 153, 159
SDT, 201
SEND, 241, 242, 243
SFC 1 READ_CLK, 136
SFC 51、55～ 59 の BUSY, 91

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2734

リファレンスマニュアル, 05/2017, A5E41733394-AA

索引

SFC 51、55～ 59 の RET_VAL, 91
SFC 58 WR_REC, 159
SFC 64 TIME_TICK, 147
SRCBLK, 96, 97
STATUS, 204, 210
UP_LIMIT, 103
WT, 122
単一モジュールの, 149
デフォルトパラメータの書き込み, 155
非同期 SFC の REQ, 91
パラメータの転送, 153, 155
SFC 55 WR_PARM による, 153
SFC 56 WR_DPARM による, 155
パラメータの割り付けがありません, 612
パラメータ割り付けエラー, 614, 615
アナログ出力モジュール, 614
アナログ入力モジュール, 614
デジタル入力モジュール, 614
パルス, 491, 492
作成, 491
パルス幅変調, 515, 516, 524

ひ日付, 135
非同期 SFC のパラメータ REQ、
RET_VAL、BUSY の意味, 91
非同期エラー, 45, 223, 225, 226, 227, 229, 230, 680
OB80, 45
SFC 39 DIS_IRT による無効化, 225
SFC 40 EN_IRT による有効化, 227
SFC 41 DIS_AIRT による遅延, 229
SFC 42 EN_AIRT による有効化, 230
ヒューズが切れた, 612
標準 OB イベント, 678
標準ユーザイベント, 693
頻度メータ (CPU 312), 605

ふ
負荷電圧がありません, 615, 616
アナログ出力モジュール, 614
プログラミング, 45, 49, 51, 61, 81, 84
OB のタイプ
OB121, 81
OB122, 84
OB80, 45
OB81, 49
OB82, 51, 52
OB85, 61
プログラミングエラー, 213
プログラミングエラーイベント, 213
プログラミングエラーオーガニゼーションブロック(OB121), 81
プログラミングエラーマスク, 213
プログラムエラー, 223
プロセスイメージ出力テーブルの更新, 261

プロセスイメージ入力テーブルの更新, 259
プロセッサの障害, 612
ブロック関連メッセージを生成する SFB の問題対処法,476
ブロック関連メッセージを生成するための SFB の起動動作, 475
ブロックタイプ, 629
ブロック番号エラー, 213
フロントコネクタがありません, 612
分割されたデータの受信, 366
FB 13 による, 366
SFB 13 による, 366
分割されたデータの送信, 362
FB 12 による, 362
SFB 12 による, 362
文献目録, 707

へ
変数宣言テーブル, 45, 81, 84
OB121 用, 81
OB122 用, 84
OB80 用, 45
変数のコピー, 95
SFC 20 BLKMOV, 95

ほ補助電圧なし, 612

まマスク, 213
エラーイベント, 213
マスタクロック, 135
マルチコンピューティング割り込み, 223
マルチコンピューティング割り込みオーガニゼーション
ブロック(OB60), 35

み未構成 S7 接続用のコミュニケーション SFC, 344, 345
分類, 343
未調整のデータ受信, 359
FB 9 による, 359
SFB 9 による, 359
未調整のデータ送信, 355
FB 8 による, 355
SFB 8 による, 355

め
メモリカード, 612
メモリ領域, 626

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

735

索引

DP スレーブの診断データ, 294
DP 標準スレーブ/PROFINET IO デバイスの一貫データ,
297
SFC 51 RDSYSST による, 234
読み取り時の I/O アクセスエラー, 213
読み取り時のアライメントエラー, 213
読み取り時の領域エラー, 213
予約済みイベントクラス, 695

メモリ領域の初期化, 100
SFC 21 FILL による, 100

もモード変更, 683
モジュール, 612, 613, 620, 622
ID, 622
異常, 612タイプ ID, 620
モジュール診断情報, 671
モジュール診断データ, 673, 674
モジュールステータス情報, 658
モジュールスロット, 272
論理アドレスの問い合わせ, 272
モジュールの再コンフィグレーション, 55
モジュールの診断データ, 611
モジュール割り込みの削除/挿入, 223
戻り値, 229, 230
SFC 41 DIS_AIRT, 229
SFC 42 EN_AIRT, 230ら
ラックエラー, 65, 66, 223
ラック障害オーガニゼーションブロック(OB86), 65
ランタイムメータ, 141
ランタイムメーター, 141, 144, 145, 146
SFC 2 SET_RTM による設定, 144
SFC 3 CTRL_RTM による開始, 145
SFC 3 CTRL_RTM による停止, 145
SFC 4 READ_RTM による読み出し, 146
値の範囲, 141
特性, 141

りゆ
ユーザーデータへの周期的アクセス用 FB
概要, 323
ユーザ情報, 612
ユーザプログラムによるカウンタの制御, 556
ユーザプログラムによる周波数測定の制御, 562
ユーザプログラムによるパルス幅変調の制御, 566
ユーザプログラムの遅延, 122
SFC 47 WAIT による, 122
ユーザプログラムを使用したアナログ出力による位置決めの制御, 531
ユーザプログラムを使用したデジタル出力による位置決めの制御, 544
ユーザメモリ, 108
SFC 25 による圧縮, 108
優先度クラス, 19, 20, 22, 24, 35, 39, 41, 46, 47, 49, 52, 59,
61, 65, 70, 74, 76, 81, 84, 213, 222, 231, 683
OB のタイプ
OB121, 81
OB122, 84
OB80, 45
OB81, 49
OB82, 51
OB85, 61
優先度クラスエラーOB, 61
優先度クラスエラーオーガニゼーションブロック(OB85),
61

よ用語解説, 709
読み取り, 234, 297

リスタートの完了, 76, 382, 384
リモートパートナーのステータス, 389
問い合わせ, 389
領域エラー, 213

ろ論理アドレス, 271, 275
チャンネルの問い合わせ, 271
モジュールのすべてのアドレスの問い合わせ, 275

わ割り込み, 16, 20, 21, 22, 24, 26, 27, 28, 29, 32, 54, 223,
225, 226, 227, 229, 230
DPV1 割り込み, 32
DPV1 割り込み, 26, 29
SFC 39 DIS_IRT による無効化, 225
SFC 40 EN_IRT による有効化, 227
SFC 41 DIS_AIRT による遅延, 229
SFC 42 EN_AIRT による有効化, 230
クラス, 223, 224
更新割り込み, 29
時間遅延, 20, 21
周期割り込み, 22
ステータス割り込み, 26, 27
製造元仕様割り込み, 32
挿入/削除割り込み, 54
ハードウェア割り込み OB, 24

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
736

リファレンスマニュアル, 05/2017, A5E41733394-AA索引

割り込み OB, 51
時刻割り込み, 17
診断割り込み, 51

割り込みクラス, 54
割り込みと非同期エラーの遅延および無効化, 223
割り込みの状態, 638

S7-300/400 システム用システムソフトウェアおよび標準ファンクション - ボリューム 2/2
リファレンスマニュアル, 05/2017, A5E41733394-AA

737