キーエンスPLC タイマ命令【TMR】使用時はココに注意

シーケンスプログラムにおけるタイマ命令は、入力条件がONしている間時間を加算して、設定値に到達すると指定したデバイスがONします。装置のシーケンスプログラム設計時、必ずと言っていいほどタイマ命令を使用すると思います。
今回は、私がキーエンスPLCとタッチパネルの組み合わせを初めて使用した際に、タイマ命令を使用して実際に失敗した例を紹介します。

タイマの設定値をPLC内部で直接設定したシーケンスプログラムを作成

まずは三菱、オムロンのPLC同様にタイマ命令を複数使用して、PLC内部で数値を直接指定するシーケンスプログラムの作成例です。

これに関しては特に問題はありません。

【誤】タイマの設定値をデータレジスタで設定したシーケンスプログラムを作成

次にタイマ命令の設定値をデータレジスタで設定するシーケンスプログラムの作成例(誤った例)です。

タイマの設定値が実際に設定した数値と異なる

T0、T1共にタイマ設定を「10」にするため、D0とD1に「10」を転送しましたが、モニタすると全く違う数値が表示されます。
ここが失敗したポイントです。

キーエンスPLCのタイマ命令の設定は2ワード(32bit)指定

三菱、オムロンPLC使用時と異なり、キーエンスPLCでタイマ命令を使用したシーケンスプログラムを作成する場合は設定値が32bit指定になる点に注意が必要です。
例えばT0、T1共にタイマ設定値を「10」にするためにD0、D1それぞれに「10」を設定した場合、T0のタイマ設定はD0、D1の2ワード(32bit)を使用するため設定値が「655370」になってしまいます。

【正】タイマの設定値をデータレジスタで設定したシーケンスプログラムを作成

キーエンスPLCのタイマ命令時の設定が32bitで指定すると分かったところで、T0、T1共にタイマ設定値を「10」にするためのシーケンスプログラム作成例です。

タイマの設定値が実際に設定した数値になった

T0のタイマ設定値をD0、D1、T1のタイマ設定値をD2、D3の2ワード(32bit)で指定すると、T0、T1共にタイマ設定値が「10」になりました。

キーエンスPLCでタイマ命令を使用する際の注意点まとめ

・タイマの設定値は2ワード(32bit)で指定する

これだけ意識していれば問題ないですが、しばらく他社PLCを使用していて、久しぶりにキーエンスPLCを使用する場合には上記注意点を思い出してください。
今回のキーエンスPLCに限らず各社PLCでシーケンスプログラム作成時、またはタッチパネルデータ作成時にはデータサイズの指定に注意が必要です。
例えばPLCでカウントした数値をタッチパネルに表示する場合、PLC側が32bit指定にもかかわらずタッチパネル側の表示指定が16bitになっていると、カウントが16bitで表現できる数値(0から65535)を超えた場合には全く違う数値が表示されてしまいます。
単純で初歩的な事ですが、シーケンスプログラム設計時にはデータサイズを常に意識しましょう。