# タグ書き込み処理のエラーハンドリング

トレーニング > 応用編 > スクリプトTips集 > # タグ書き込み処理のエラーハンドリング |

タグ書き込み処理のエラーハンドリング

WriteValやWriteRefreshなどのタグ書き込みメソッドは、戻り値として書き込み処理の成否をTrue／Falseで返してくれます。書き込み処理でエラーが発生しうる可能性としては、通信障害、サーバダウン、あるいはPLC側での問題発生などが考えられます。

実際にシステムを設計する際には、スクリプトからの書き込み処理がエラーとなった場合に、どのようなエラーハンドリングを行うのかをあらかじめ取り決めておくべきです（書き込みのリトライを行う、メッセージを表示する、エラーを無視する、etc）。いずれの場合にせよ、書き込みメソッドを直接呼び出すのではなく、これらのメソッドをオブジェクト内で共通のユーザ定義関数としてラップしておくことで、エラー処理を一箇所にまとめることができます。

•タグ書き込みメソッドのエラーハンドリング例
（Form01オブジェクト）

event OnInitialize() { this.AddTag( c(“$D0”, “$D1”, “$D2”) );　//AddTag if(!WriteValEx("$D0", 100)) { //ここに個別のエラー処理を記述する return; } if(!WriteValEx("$D1", 150)) { //ここに個別のエラー処理を記述する return; } if(!WriteValEx("$D2", 200)) { //ここに個別のエラー処理を記述する return; } } /* *　書き込み処理をラップした共通関数。 *　このオブジェクト内でのタグ書き込みは必ずこの関数を呼び出すルールとする */ function WriteValEx(tagname, value) { if(!this.WriteVal(tagname, value)){ /* *　ここに、書き込みエラー時の全体的な共通処理を記述する */ return F; } return T; }