A.2.1.2 整数型ロジックシステム変数 - #Lシステム変数

変数名称

内容

読み込み

書き込み

スキャンタイム

#L_ScanTime

0ステップめ開始~次のスキャンの0ステップめ開始までの時間

-

#L_AvgScanTime

#L_ScanTimeの64サイクル分の平均

-

#L_MinScanTime

#L_ScanTimeの最小スキャンタイム

-

#L_MaxScanTime

#L_ScanTimeの最大スキャンタイム

-

#L_ScanCount

スキャン回数

-

#L_LogicTime

0ステップめ開始~END命令までの時間

-

#L_AvgLogicTime

#L_LogicTimeの64サイクル分の平均

-

#L_MinLogicTime

#L_LogicTimeの最小ロジックタイム

-

#L_MaxLogicTime

#L_LogicTimeの最大ロジックタイム

-

ステータス

#L_Status

ロジックのステータス情報

-

#L_Platform

表示器プラットフォームのコード

-

#L_Version

ロジックのファームウェアバージョン

-

#L_EditCount

オンライン編集された回数

-

#L_ForceCount

強制変更された変数の数

-

#L_IOInfo

I/Oドライバ情報

-

#L_LogicInfo

ロジック情報

-

#L_IOMasterDrv**1

マスターI/Oドライバの拡張情報

ドライバに依存

ドライバに依存

#L_IOMasterDiag**4

マスターI/Oドライバの自己診断情報

ドライバに依存

ドライバに依存

システム設定

#L_ConstantScan

ロジックの起動周期

-

#L_PercentScan

ロジックの動作割合

-

#L_WatchdogTime

ロジックのWDT値

-

#L_AddressRefreshTime

接続機器アドレスのアドレスリフレッシュ時間

-

時間

#L_Time

時分情報

-

動作情報

#L_Command

ロジックの動作モード変更

#L_LogicMonitor

ロジックモニタの起動スイッチ

#L_LogicMonStep

ロジックモニタの表示ステップを指示

I/Oステータス

#L_IOStatus

I/Oドライバのステータス

-

エラー情報

#L_CalcErrCode

演算異常コード格納エリア

-

#L_FaultStep

演算異常発生ステップ番号格納エリア

-

#L_FaultLogicScreen

演算異常発生ロジック番号格納エリア

-

ロジック停止

#L_StopScans

ロジック停止スキャン回数

保持変数バックアップ

#L_BackupCmd

バックアップコマンド

LT共通*2*3

#L_ExIOFirmVer*2

拡張I/Oボードのファームウェアバージョン

-

#L_ExIOSpCtrl*2

特殊I/O制御

#L_ExIOSpOut*2

特殊I/O出力

-

#L_ExIOSpParmChg*2

特殊I/Oパラメータ変更

#L_ExIOSpParmErr*2

特殊I/Oパラメータ異常

-

#L_ExIOAccelPlsTbl*2

加減速パルス用テーブル制御

#L_ExIOCntInCtrl*2

カウンタ入力制御

#L_ExIOCntInExtCtrl*2

カウンタ入力外部制御

#L_ExIOCntInState*2

カウンタ入力状態

#L_PWM*_WHZ*2*3

Ch*の出力周波数

#L_PWM*_DTY*2*3

Ch*のONデューティー値

#L_PLS*_LHZ*2*3

Ch*の出力周波数

#L_PLS*_NUM*2*3

Ch*の出力パルス数

#L_PLS*_SHZ*2*3

Ch*の初期出力周波数

#L_PLS*_ACC*2*3

Ch*の加減速時間または加速時間

#L_PLS*_DEC*2*3

CH*のパルス減速時間

#L_PLS*_CHZ*2*3

CH*の現在の周波数

-

#L_PLS*_CPC*2*3

Ch*のパルス出力数現在値

-

#L_HSC*_MOD*2*3

Ch*のカウント方式

#L_HSC*_TB*2*3

CH*のサンプリングモード選択時のタイムベース

#L_HSC*_PLV*2*3

Ch*のプリロード値

#L_HSC*_PSV*2*3

Ch*のプリストローブ値

-

#L_HSC*_ONP*2*3

Ch*のONプリセット値

#L_HSC*_OFP*2*3

Ch*のOFFプリセット値

#L_HSC*_HCV*2*3

Ch*のカウンタ現在値

-

*1 [*]には0~255が入ります。

*2 詳細は、31.5.1.3 特殊I/Oのシステム変数についてを参照してください。

*3 [*]にはCh値(1~4)が入ります。

*4 [*]には0~31が入ります。

#L_ScanTime(0ステップめ開始~次のスキャンの0ステップめ開始までの時間)

毎スキャン実行前の1つ前のスキャンタイムを最新のスキャンタイムとして格納します。

スキャンタイムとは、I/Oの読み込み、ロジックプログラムの実行、I/Oの書き込み、表示処理までに必要な時間です。

単位は0.1msになります。

 

#L_AvgScanTime(#L_ScanTimeの64サイクル分の平均)

平均スキャンタイムを格納します。

平均スキャンタイムとは、1回のスキャン実行でI/Oの読み込み、ロジックプログラムの実行、I/Oの書き込み、表示処理までに必要な時間の平均です。

64回スキャン実行するごとに更新されます。

単位は0.1msになります。

#L_MinScanTime(#L_ScanTimeの最小スキャンタイム)

ロジックプログラムの実行最小スキャンタイムを格納します。

#L_ScanTimeの更新時に最小スキャンチェックを行い、スキャンごとに更新します。

単位は0.1msです。

#L_MaxScanTime(#L_ScanTimeの最大スキャンタイム)

ロジックプログラムの実行最大スキャンタイムを格納します。

#L_ScanTimeの更新時に最大スキャンチェックを行い、スキャンごとに更新します。

単位は0.1msです。

#L_ScanCount(スキャン回数)

カウンタで、ロジックプログラムのスキャン実行が1回終わるごとにインクリメントされます。

#L_ScanCountの値の範囲は0~16#FFFFFFFFで、最大値(16#FFFFFFFF)を超えると0から再度インクリメントされます。

#L_ScanCountを確認することで、ロジックプログラムが実行されているかを容易に知ることができます。

#L_LogicTime(0ステップめ開始~END命令までの時間)

前回のスキャン実行のロジックタイムを格納します。

ロジックタイムとは、1回のスキャン実行でI/Oの読み込み、ロジックプログラムの実行、I/Oの書き込みまでに必要な時間です。表示処理を実行している時間は含まれません。単位は0.1msです。

#L_AvgLogicTime(#L_LogicTimeの64サイクル分の平均)

平均ロジックタイムを格納します。

平均ロジックタイムとは、1回のスキャン実行でI/Oの読み込み、ロジックプログラムの実行、I/Oの書き込みまでに必要な時間の平均です。

64回スキャン実行するごとに更新されます。単位は0.1msです。

#L_MinLogicTime(#L_LogicTimeの最小ロジックタイム)

ロジックプログラムの実行最小ロジックタイムを格納します。

#L_LogicTimeの更新時に最小ロジックタイムのチェックを行いスキャンごとに更新します。

単位は0.1msになります。

#L_MaxLogicTime(#L_LogicTimeの最大ロジックタイム)

ロジックプログラムの実行最大ロジックタイムを格納します。

#L_LogicTimeの更新時に最大ロジックタイムのチェックを行いスキャンごとに更新します。

単位は0.1msになります。

#L_Status(ロジックのステータス情報)

表示器の状態を表示します。バイトとビットを、次のように定義します。

バイト0 : 表示器の現在のエラー状態が表示されます。

バイト1 : エラー状態の履歴が表示されます。表示器をリセットしたときのみ、0にリセットされます。

バイト2 : 現在の動作状態が表示されます。

バイト3 : 予約エリアです。

#L_Platform(表示器プラットフォームのコード)

表示器のプラットフォームのコードを格納します。

0x00020404

0x00020504

0x00020514

0x00020B14

0x00020B34

0x00020614

0x00020714

0x00020814

0x00020634

0x00020734

0x00020834

0x00020934

0x00020A14

0x00020A34

0x00030204

0x00030504

0x00030514

0x00040000

#L_Version(ロジックのファームウェアバージョン)

ロジックのファームウェアバージョンを格納します。

#L_EditCount(オンライン編集された回数)

オンラインエディットの回数を格納します。(RUN中書き込み時は実行できません。)

#L_ForceCount(強制変更された変数の数)

オンラインモニタ時に強制変更された変数の数を格納します。

#L_IOInfo(I/Oドライバ情報)

I/Oドライバの情報を格納します。

#L_IOInfo[0] : 内部ドライバ2

#L_IOInfo[1] : 内部ドライバ1

#L_IOInfo[2] : 外部ドライバ1

#L_IOInfo[3] : 予約

#L_LogicInfo(ロジック情報)

システムで予約されています。

#L_IOMasterDrv*(マスターI/Oドライバの拡張情報)

[*]には0~255が入ります。

マスターI/Oドライバの拡張情報を格納します。マスターI/Oドライバの種類によって、使用できるものとできないものがあります。

31.9.4 I/Oドライバ命令を使用する - CANopen

31.10.3 I/Oドライバ命令を使用する - EtherNet/IP

#L_IOMasterDiag*(マスターI/Oドライバの自己診断情報)

[*]には0~31が入ります。

マスターI/Oドライバの自己診断情報を格納します。マスターI/Oドライバの種類によって、使用できるものとできないものがあります。

#L_ConstantScan(ロジックの起動周期)

コンスタントスキャンモードの場合に、ロジックの総処理時間を格納します。

ロジックタイムが一定の場合、#L_ConstantScanの値を大きくすると、表示処理の処理時間を長くすることができます。また、値を小さくすると、表示処理の時間が短くなります。これは、処理時間の大半をロジック機能が使用するためです。

初期設定として設定してください。単位は0.1msです。
30.14.3.2 ロジックのスキャンタイム

#L_PercentScan(ロジックの動作割合)

パーセントスキャンモードの場合に、ロジックの総処理時間に対してロジック機能が使用できる割合をパーセントで格納します。

初期設定として設定してください。
30.14.3.1 ロジック機能の動作

#L_WatchdogTime(ロジックのWDT値)

WDT(ウォッチドッグタイマ)の値を0.1ms単位で格納します。

#L_ScanTimeがこの値を超えると、メジャー異常が発生します。

初期設定として設定してください。単位は0.1msです。

#L_AddressRefreshTime(接続機器アドレスのアドレスリフレッシュ時間)

ロジックプログラム上で使用されている接続機器アドレスのアドレスリフレッシュ時間が格納されています。単位は0.1msです。
30.14.3.3 アドレスリフレッシュ

#L_Time(時分情報)

ロジックに設定されている「時分」をBCD4桁で示します。

時分は次の状態で格納されています。

例)午後11時19分の場合

 

時(10の桁)

時(1の桁)

分(10の桁)

分(1の桁)

2

3

1

9

#L_Command(ロジックの動作モード変更)

ロジックに対する制御コマンドとして使用される整数変数です。

ロジックは、#L_Commandを認識した後、ビット7以外を0にリセットします。複数のビットがONになっている場合、最下位ビットが優先されます。

#L_LogicMonitor(ロジックモニタの起動スイッチ)

表示器のロジックプログラムモニタ機能の起動、操作を行います。

各操作については、次のとおりです。

#L_LogicMonStep(ロジックモニタの表示ステップを指示)

ロジックモニタが起動している場合に表示する先頭行番号を格納します。

また、ロジックモニタが起動していない場合は、#L_LogicMonStepに行番号を書き込むことによって、ロジックモニタ起動ビット(#L_LogicMonitorのビット0)がOFF→ON時に指定行番号を先頭にロジックモニタが起動します。

ロジックモニタ機能が有効の場合に使用できます。

#L_IOStatus(I/Oドライバのステータス)

I/Oドライバのエラー情報を格納します。

エラーが発生したユニットの号機番号が格納されます。使用するI/Oドライバによっては予約ビットとなります。

設定されたユニットと実際に接続されたユニットのI/O属性が一致し、点数が異なる場合に「1」がセットされます。使用するI/Oドライバによっては予約ビットとなります。

設定されたユニットと実際に接続されたユニットのI/O属性が不一致の場合に「1」がセットされます。使用するI/Oドライバによっては予約ビットとなります。

補助ボードのID不一致、プロジェクトデータ破損など、ロジックを停止(Stop)させる必要がある故障を検出したときに「1」がセットされます。

I/Oドライバのエラーが発生した場合、表示器の画面にエラーメッセージと以下のエラーコードが表示されます。

RGED*** : 内部ドライバ2のエラーコード

RGEE*** : 内部ドライバ1のエラーコード

RGEF*** : 外部ドライバ1のエラーコード

#L_IOStatusの下位8ビットには、このエラーコードの番号「***」(0~255)が格納されます。

エラーコードの分類は次のとおりです。

エラーコード

内容

001-049

プロジェクトデータ関連異常

050-099

ハードウェア関連異常

100-199

アプリケーション関連異常

200-254

内部エラー

 

各I/Oドライバのエラーコードの詳細は、以下を参照してください。

T.7 表示器で表示されるエラー

T.8 ユニット使用時に表示されるエラー

各要素の配列は次の通りです。

#L_IOStatus[0] : 内部ドライバ2

#L_IOStatus[1] : 内部ドライバ1

#L_IOStatus[2] : 外部ドライバ1

#L_IOStatus[3] : 予約

#L_CalcErrCode

ロジックプログラムのエラーコードを格納する32ビットの変数です。このシステム変数の値を確認することで、最後に発生したエラーが確認できます。エラーコードが格納されると、#L_ErrorがONになります。
#L_CalcErrCodeの値は、ロジックをリセットすることで0にクリアされます。ロジックのリセットは、#L_Command(ロジックの動作モード変更)で実行できます。

エラーコード一覧

エラーコード(Dec)

内容

0000

-

異常なし

0001

マイナー異常(継続/停止)

実数→整数、64bit実数→32bit実数変換でオーバーフロー発生

0002

メジャー異常(停止)

配列の領域を超えて参照されました

0003

整数の範囲を超えて参照されました

0004

スタックがオーバーフローしました

0005

不正な命令コードを使用しています

0006

エラーハンドラ中にエラー発生

0007

スキャンタイムがWDTを超えました

0008

メジャー異常(停止)

I/Oドライバで重故障が発生しました

0009

ソフトウェアエラー

0010

不正なオペランドを使用しています

0011

-

予約

0012

マイナー異常(継続/停止)

BCD/BIN変換エラー

0013

ENCO/DECO変換エラー

0014

-

予約

0015

マイナー異常(継続/停止)

SRAMデータ(ユーザプログラム)が破壊された

FROMから読み出します

0016

シフトビット数の範囲を超えました

0100

メジャー異常(停止)

I/Oドライバ命令でメジャーエラー発生

0105

マイナー異常(継続/停止)

I/Oドライバ命令でマイナーエラー発生

6706

継続異常

応用命令のオペランドのデバイス番号範囲やデータの値がオーバー

6733

比例ゲイン(Kp)が対象範囲外(Kp<0)

6734

積分時間(Ti)が対象範囲外(Ti<0)

6736

微分時間(Td)が対象範囲外(Td<0)

6740

サンプリングタイム(Ts)<=演算周期

6742

測定値変化量オーバー(DPV<-32768または32767<DPV)

6743

偏差オーバー(EV<-32768または32767<EV)

6744

積分計算値がオーバー(-32768~32767以外)

6745

微分ゲイン(Kp)オーバーによる微分値オーバー

6746

微分計算値がオーバー(-32768~32767以外)

6747

PID演算結果オーバー(-32768~32767)

6765

応用命令の使用回数エラー

メジャー異常

ロジックプログラムの継続が不可能なエラーが発生したことを表します。
メジャー異常が発生すると、ロジックプログラムは停止します。また、表示器のブザーが鳴り、ステータスLED*1が赤色で点滅します。

マイナー異常

ロジックプログラムで桁あふれなどのエラーが発生したことを表します。

マイナー異常が発生したときに、ロジックプログラムを継続するか停止するか選択できます。

5.4.5 システム設定[本体設定] - [ロジック設定]の設定ガイド

ロジックプログラムは停止しません。

ブザー音や表示器のステータスLED*1での通知はされません。

ロジックプログラムは停止します。

ブザー音での通知はされませんが、ステータスLED*1が赤色で点滅します。

継続異常

ロジックプログラムでオペランドの値が不正などのエラーが発生したことを表します。ロジックプログラムは継続されますが、プログラムの実行結果が意図しないものになる可能性があります。
継続異常が発生しても、表示器のステータスLED*1やブザー音での通知はされません。

  *1 表示器によってはステータスLEDが存在しない場合があります。

#L_FaultStep

演算処理が正常に行われなかった場合のプログラムStep番号を格納します。

#L_FaultLogicScreen

演算処理が正常に行われなかった場合のロジック番号を格納します。

INIT : 1

MAIN : 2

ERRH : 3

SUB-01 : 32 ~SUB-32 : 63

FB : 1001~1128

#L_StopScans

数値を入力することで、設定された数値の回数分Scanが実行され、設定値が0になるまでロジックのスキャンを実行します。その間、#L_StopPending  のビットはONになります。ビットがOFFになるとロジックが停止します。

#L_BackupCmd

保持設定されている変数のデータをバックアップする際の、バックアップ、レストアのトリガとなります。

0ビット : バックアップ実行時に自動的に下位16ビットをOFF。
1ビット : レストア実行時に自動的に下位16ビットをOFF。
8ビット : バックアップ完了(正常終了)時にON、エラー発生時はOFF。
9ビット : レストア完了(正常終了)時にON、エラー発生時はOFF。

上記以外のビットは予約です。

0

0

レストア実行

バックアップ実行

 

ビット

OFF

ON

バックアップ実行

なし

要求(変数のバックアップ)

レストア実行

なし

要求(変数のレストア)

実行後は自動的にOFFになります。

同時に要求ビットがONとなった場合には、バックアップを実行後にレストアが実行されます。

0

0

レストア実行

バックアップ実行

 

ビット

OFF

ON

バックアップ実行

なし

完了通知

レストア実行

なし

完了通知