先日ソフト変更してもらったのを他の人から動作確認してもらうことがありました。
机上での確認のみなので、確認しきれず間違っている箇所はある訳で、やっぱりきちんとテストするべきだなと思いました。
PLCのテストはどうするかというのはあるんですが、
- 机上で頑張る
- シミュレーターで確認する
- 実機で確認する
- テストフレームワークを使って確認する
机上で頑張る
机上で確認というのも良くありますが、入力ミスはなかなか気づけません。
コピーしながら作っていると自己保持のデバイスを変更するのを忘れて、実機で確認した時に変な動きをしてしまって原因がなかなか分からないということもあります。(今回もそうだったのですが)
信号をトレースできれば追って行けたりしますが、機種によってはトレースできなかったりするのでその場合は手を焼きます。
シミュレーターで確認する
シミュレーターで確認する場合に初期状態を作るのが大変です。
例えばシミュレーター立ち上げ直後に非常停止やアラーム条件が入っている状態になっていると、それらを正常な状態にいちいちセットしていく必要があります。
そうしてアラームを解除してから確認できる様になりますが、ここまでの手間が結構大変です。
シミュレーターによってはデバイス値を保存して一括で書き込むという方法もあるかもしれませんが、それでも面倒だと思います。
実機で確認する
実機で確認するというのが多いと思いますが、装置によっては材料が流せないなどで十分確認できないことも良くあり、実稼働が始まってから色々問題が発覚してしまうという最悪の状況に出くわすこともあり、できれば避けたいです。
前のブログでも何回か書いてますが、プログラム言語ベースのプログラムではテストフレームワークというのがありそれを活用する方法です。
過去にはPLC用のテスト用プログラムを作ったことはありましたが、自分でテストする分には使いにくくて既存のテストフレームワークを使う方が使いやすかったというのがあります。
自分で使う分にはテストフレームワークでいいのですが、誰でも使える様に一般化したい場合はどうしたらいいかというのをずっと思案していますが、未だに思いついてないのですが、これから書いていくうちにまとまるといいのですが…