...

FAスクールテキスト

by user

on
Category: Documents
27

views

Report

Comments

Transcript

FAスクールテキスト
2005年9月作成
FAスクール定期講習会
初級・中級編
FAスクールテキスト
シャープマニファクチャリングシステム株式会社
目次
PLC 初級
シーケンス制御とは?
PLCの基本構成
トレーニングツールの構成
電源ユニット
コントロールユニット
入力ユニット
出力ユニット
入出力ユニット
配線実習
特殊I/O
オプション・その他
ベースユニット
サポートツール
アドレス割付
データメモリ
スキャンタイム
プログラミング
ラダー図
プログラム作成時の注意事項
よく使用するプログラム
タイマー回路
カウンタ回路
練習問題
練習問題回答
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
1
3
5
11
13
17
19
21
23
25
27
29
31
33
35
37
39
41
45
49
53
57
61
65
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
71
73
75
81
87
93
95
97
99
101
107
109
113
115
119
121
PLC 中級
データメモリ(メモリマップ)
アドレスの表現方法
データの表現方法
データメモリの内容
システムメモリ
パラメータメモリ
応用命令
プログラミングマニュアルの表記
応用命令作成時の注意事項
転送命令
レベル演算条件命令
比較命令
カウンタ命令
間接アドレス指定
中級練習問題
中級練習問題回答
付録
ハンディプログラマ使用方法 ・・・・・・・・・・・・・・・・・・・・・・・・・ 127
・・・・・・・・・・・・・・・・・・・・・・・・・ 131
インデックス修飾
ブロック運転
・・・・・・・・・・・・・・・・・・・・・・・・・ 133
PLC初級編
シーケンス制御とは?
シーケンス制御
あらかじめ決められた順序に従い動作を行なうことをシーケンス制御といいます。
JISでは「あらかじめ定められた順序にしたがって、制御の各段階を逐次進めていく制御」と定義されてい
ます。
シーケンス制御は身近なところでは、家電製品などにも使用されています。
自動洗濯機は給水量・衣類等に応じた洗濯メニュー・脱水時間など、あらかじめ決められた設定に基づ
きスタートボタンを押すと自動的に洗濯を開始します。
ここでもう少し詳しく洗濯機の動きを考えてみると、スタートボタンを押した時、洗濯が開始される条件は
一定量の水が給水されているかどうかになります。
給水量が一定量に達していない場合は、スタートボタンを押しても洗濯は開始されません。
このように、シーケンス制御とは、1つの動作が終わると、次の動作に移る制御を行なうことをいいます。
(条件が満たされている場合)
このようなシーケンス制御は当初は、リレーを用いたリレーシーケンスで行なっていました。
しかし複雑な制御や大規模な制御を行なう場合、リレーを使用したリレーシーケンスだけでは大変手間
がかかり、変更も容易にできないデメリットがありました。
そこでコンピューターの技術を導入しリレー、カウンタ、タイマなどの機能を1つにまとめた制御手順を組
み立てるプログラマブルコントローラが1970年代に発売(国産機)されました。
一般的にこのようなシーケンス制御装置を下記のように呼びますが、本書ではPLCと表現します。
PLC(Programable Logic Controller / プログラマブル・ロジック・コントローラ)
PC(Programable Controller / プログラマブルコントローラ)
PLCの特徴
1.プログラミングにより高度複雑な制御も容易に構築できる(プログラムの変更も容易にできる)
2.汎用性が高いため、装置の標準化が容易にできる
3.さまざまな外部機器とネットワーク接続できる
4.小型化が進んでおり、大規模・高度な制御においても制御盤を小型化できる
PLCの活用事例
・ 自動車・家電製品・食品などの工場生産ライン・ロボット機器制御
・ 電車などの車番管理
・ 上下水道などのポンプ開閉・水量制御・遠隔監視
・ 物流センターなどにおける仕分・搬送制御
・ 超音波洗浄装置の動作制御
・ 立体駐車場システムの制御(各動作指示・空きパレット管理)
・ 上位コンピューターへの信号受け渡し(インターフェイス)
1
メモ
2
PLCの基本構成
現在のPLCには主に2通りの基本構成があります。
1、ビルディングブロック型
2、一体型
代表機種:JW300シリーズ
代表機種:JW10シリーズ
ここでは、JW300シリーズを例に各部を詳しくみてみましょう。
ベースユニット
PLCの各ユニットを実装するためのマザーボードです。
基本/増設の区別があり、またI/Oユニットの実装可能数により数種類が存在します。
電源ユニット
AC100/200Vを電源として入力し、PLCを動作させるための直流電圧をベースユニットに供給します。
DC24Vを電源として入力するタイプもあります。
コントロールユニット/メモリ
PLC全体を制御するユニットで、CPU-LSIを搭載しプログラム演算・各ユニットとのデータ交換等を行な
います。
メモリは機種により容量が異なり、プログラムや演算データの保存等を行ないます。
入力ユニット
スイッチ・センサーなどのON/OFF情報を読み取ります。
出力ユニット
演算によって得られた結果を、外部機器(ランプや電磁弁等の負荷 )へ送ります。
オプションユニット
PLCネットワークやPCとの通信を実現するためのユニットです。
デバイスネットユニット
デバイスネットマスターユニットが含まれます。
I/Oリンクユニット
I/Oリンク親局ユニットが含まれます。
特殊I/Oユニット
アナログ入出力ユニット、パルス出力ユニットなど、特殊な用途に対応するためのユニットです。
3
メモ
4
トレーニングツールの構成
本体正面部
①
②
③
④
⑤
⑥
⑦
⑧
⑨
⑪
⑩
⑫
⑬
⑭
⑮
名称
番号
① NFB(ノーヒューズブレーカ)
②
③
④
⑤
⑥
⑦
⑧
基本ベースユニット
(JW-316KB)
電源ユニット
(JW-301PU)
コントロールユニット
(JW-322CU)
DC入力ユニット16点
(JW-212NA/214NA)
DC入力ユニット32点
(JW-234N)
DC出力ユニット16点
(JW-212SA)
DC出力ユニット32点
(JW-232S)
⑨ I/Oユニット用スロット
⑩ I/O増設コネクタ
⑪ 5V端子台
概要
トレーニングツールの電源をON・OFFします。
電源、コントロールユニット、入出力ユニット(I/Oユニット)等を実装するベースで
す。
コントロールユニット、入出力ユニット等にベースユニットを介してDC5Vを供給しま
す。
プログラムやデータを記憶し、各種ユニットからの入力条件に基づいて演算を行
い、結果を各種ユニットへ出力します。
入力信号部とCOM間に指定の電圧を印可すると入力信号がONします。16点用
は端子台タイプとなります。
入力信号部とCOM間に指定の電圧を印可すると入力信号がONします。32点用・
64点用はコネクタタイプとなります。
出力信号がONすると信号部とCOM間に電気的導通が発生し、接続負荷へ電圧
を印可します。16点用は端子台タイプとなります。
出力信号がONすると信号部とCOM間に電気的導通が発生し、接続負荷へ電圧
を印可します。32点用・64点用はコネクタタイプとなります。
入出力・特殊I/O・オプション・デバイスネット・I/Oリンク等各種ユニットを取付す
るスロットです。
I/O増設ケーブルを接続、またはI/Oバス拡張アダプタ(JW-31EA)を取付しま
す。
次段の増設ベースユニットへDC5Vを供給します。
次段の増設ベースユニットに電源ユニットを実装する場合は使用しません。
⑫ ミニチュアリレー(MC)
操作部の運転準備・非常停止に接続されています。
⑬ 入力配線端子
入力ユニットの00000~00007、及びCOM.に接続されています。
⑭ 出力配線端子
出力ユニットの00060~00067、及びCOM.Aに接続されています。
⑮ DC24V電源配線端子
入出力配線端子のコモン、及び操作部のコモン端子へ電源を供給するための電
源部です。
5
メモ
6
トレーニングツールの構成
操作部
⑧
⑦
⑨
①
②
⑩
③
④
⑤
⑫
⑬
⑥
番号
⑪
名称
概要
① 負荷(LED)配線端子
負荷(LED)を接続する端子です。
00060~00067、及びCOMの接続学習用です。
② LED
LED負荷です。 電圧を印可することにより発光します。
③ LED
LED負荷です。 出力ユニットの信号端子、00070~00075に接続されています。
④ ブザー
ブザー負荷です。 出力ユニットの信号端子、00077に接続されています。
⑤ 入力(スイッチ)配線端子
入力(スイッチ)を接続する端子です。
00000~00007、及びCOMの接続学習用です。
⑥ スイッチ
両極スナップスイッチです。 上側(00000~00007)に倒すとオルタネート動作型、
下側(00010~00017)はモーメンタリ動作型スイッチとなっています。
00010~00017は入力ユニットの信号端子、00010~00017に接続されています。
⑦ 拡散反射型光電スイッチ
⑧ 運転準備スイッチ
⑨ 非常停止スイッチ
⑩ デジタルスイッチ
⑪ 7セグメント表示器
入力ユニットの00030に接続されています。光電スイッチから5mm~30mmの範囲
に光を反射する物体が存在する場合、センサーが反射光を検出してONします。
PLCが正常運転時に押すとミニチュアリレー(MC)がONし、端子台タイプ入出力ユ
ニット及び本体正面のDC24V電源配線端子にDC24Vが供給されます。
運転準備スイッチ点灯時に押すとミニチュアリレー(MC)がOFFし、端子台タイプ
入出力ユニット及び本体正面のDC24V電源配線端子のDC24Vが遮断されます。
入力ユニット]0004・]0005に接続されています。 一桁の数字(BCD)を4ビットで
入力します。
出力ユニット]0012・]0013に接続されています。 一桁の数字を4ビットで出力しま
す。
⑫ モーメンタリスイッチ・ランプ
モーメンタリ動作型の押しボタンスイッチとランプです。
モーメンタリ動作型とは、スイッチを押すとONし、離すとOFFする機構を意味しま
す。
⑬ オルタネートスイッチ・ランプ
オルタネート動作型の押しボタンスイッチとランプです。
オルタネート動作型は、スイッチを押すとONして離してもONのままの状態を保持
し、もう一回押すとOFFします。押す度にON/OFFが反転する機構を意味します。
7
メモ
8
トレーニングツールの構成
配線図
AC100V
JW234N COM.AB/CD
FUSE
U
V
7SEG LED +V端子
サービス
コンセント
押ボタン 照明 COM.
NFB
u
JW232S COM.AB(-)
v
7SEG LED GND端子
デジタルスイッチ COM.
押ボタンスイッチ COM.
JW-301PU
MC
P24
前面パネル +24V
P24MC
DC24V
電源
00070-00077 COM
運転準備 LED
N24
MC
N24MC
前面パネル 0V
JW212SA COM.B(-)
非常停止
運転準備
HLT01
MC
HLT02
HLT03
MC
9
HLT
メモ
10
電源ユニット
JW-301PU
POWER
RUN
AC100/200V
運転準備
非常停止
MC
MC
役割
電源ユニットは外部より供給された電圧をDC5Vへ変換し、各ユニットが動作するために必要な電力を
ベースユニットを介して供給します。
また、PLCの状態により開閉する接点として、停止出力機能があります。
配線
POWER INPUT AC100~240V端子へ外部電源を供給します。
GND端子へはアース線を接続します。 (単独D種接地)
インバータやモータ等、他機器との共用接地は通信障害・PLC誤動作の原因となることがあります。
HALT OUTPUT端子は外部非常停止回路に直列に接続します。
(停止出力)
HALT OUTPUT端子(停止出力)の動作について
PLC運転状態
停止出力
正常運転
ON(導通あり)
異常検出時またはプログラム
編集等で停止させた場合
OFF(導通無し)
11
メモ
12
コントロールユニット (メモリ)
リセットスイッチ
JW-322CU
プロテクトスイッチ
動作状態ランプ
USB接続ポート
PCカードスロット
PG/COMMポート1
バックアップ用電池
PG/COMMポート2
種類
コントロールユニットは下表の通り、メモリ容量・I/O点数・メモリカードI/F有無により複数存在します。
コントロールユニットを選定する場合は、プログラムのステップ数や制御I/O点数を考慮します。
形 名
JW-311CU
JW-312CU
JW-321CU
JW-322CU
JW-331CU
JW-332CU
JW-341CU
JW-342CU
JW-352CU
JW-362CU
プログラム容量 ファイルレジスタ容量
8K語
-
16K語
32Kバイト
32K語
128Kバイト
64K語
512Kバイト
128K語
256K語
2048Kバイト
8192Kバイト
メモリカードI/F
無し
有り
無し
有り
無し
有り
無し
有り
有り
有り
入出力点数
512点
1024点
4096点
プログラム容量は一般にK語単位で表現されます。
例:256K語のプログラムステップ数は
256(ワード)×1024(1K)=262144(10進数)
プログラムステップ(プログラムアドレス)は、0から開始されるため、1を引きます。
256(ワード)×1024(1K)-1=262143(10進数)
262143を8進数へ変換すると、777777(8進数)になります。
上で求めた777777(8)はプログラムを記述できる最終アドレスとなります。
従い、プログラムは0~777777(8)の範囲で使用できることになります。
豆知識 1K語=1Kワード=1024ワード
8ビット=1バイト
16ビット=2バイト=1ワード
13
メモ
14
コントロールユニット (メモリ)
プロテクトスイッチ・動作ランプ
コントロールユニット上部には、動作状態を表すランプ、プロテクトスイッチなどがまとめられています。
PROTECT
AUTO LD
RESET
USB
RUN
FLT
CM1
CM2
USB
MW
C
A
R
D
名称
RUN
FLT
CM1
CM2
USB
MW
CARD
RESET
PROTECT
AUTO LD
はたらき
CPUの動作状態により 点灯(正常)・点滅(演算停止)
自己診断により異常を検出時点灯
パソコンなどの周辺装置と通信中点滅
パソコンなどの周辺装置と通信中点滅
USBポートを使用しパソコンと通信中点灯
プログラムメモリを変更時点滅
PCカードにアクセス時点灯
ソフトリセット (プログラムモードへ移行)
周辺装置からの書込み禁止
ONでPCカードより電源投入時プログラムロード
RUN/FLTランプの点灯状態によりPLCの運転状況が確認できます。
RUN
FLT
運転状況
点灯
消灯 正常運転中
点滅
消灯 停止モード
消灯
点灯 自己診断で検出可能な異常発生により停止
点灯
点灯 電池異常などその他の要因で異常検出
詳細は、ユーザーズマニュアルハード編のトラブルシューティングに関する項目を確認します。
USBポート
パソコンとUSB接続するときに使用します。
USBを使用するためにはJW300SP付属のデバイスドライバをパソコンへインストールする必要があります。
USBケーブルは市販のケーブルが使用できます。
PLC・パソコンに不具合が無いのに通信エラーが発生する場合は、サージ&ノイズ吸収対応のUSBケー
ブルをご使用ください。
PG/COMMポート
JW-300SP等のパソコン用ラダー設計支援ソフト、液晶コントロールターミナルなどシリアルポートを有する
機器と接続できます。
コントロールユニットの機種により、使用できるポート数が変わります。
PCカードスロット
市販のコンパクトフラッシュカードやSRAMカードを挿入し、プログラムのバックアップやコメント保存等の用
途に使用できます。
PCカードスロットが無い機種もあります。
バックアップ用電池
プログラム等が保存されているメモリは揮発製メモリ(RAM)であり、電源OFF時に内容が失われてしまいま
す。
これを防止するためにバックアップ用電池が装着されています。
電池は出荷時にはコネクタに接続されていませんので、使用前に接続して交換時期を記入します。
通電時間率
0%(0時間通電/日)
30%(7.2時間通電/日)
50%(12時間通電/日)
70%(16.8時間通電/日)
100%(24時間通電/日)
保証値(70℃保管)
0.855年(312日)
1.215年(443日)
1.710年(624日)
2.850年(1040日)
5年(1825日)※2
実使用値(25℃保管)
2.277年(831日)
3.255年(1188日)
4.554年(1662日)
5年(1825日)※2
5年(1825日)※2
電池は1次リチウム電池です。最長有効期間はPLCに接続してから5年になります。
15
メモ
16
入力ユニット
JW-214NA
センサ
DC24V
電源
入力ユニットはスイッチ、センサーなどから入力される電圧信号をPLCへ取込み、信号のON/OFF状態
をプログラム等で利用します。
1ユニットで取込できる数(点数)には8・16・32・64と4種類から選択できます。
また各ユニットで対応できる電圧も異なります。
配線について
入力ユニットに配線するときは、COM(コモン)端子と0~7の端子間にスイッチなどが動作した時に電圧が
加わるよう配線します。
COM端子へ接続する極性が決まっているユニットもありますので、電圧や極性に十分注意します。
誤った電圧(DC入力ユニットへAC200V投入など)を使用するとユニットが破損します。
本書の入出力ユニット一覧表やユーザーズマニュアル・ハード編の仕様項目を確認し、どのような種類の
入力ユニットがあるか確認しておきましょう。
17
メモ
18
出力ユニット
JW-212SA
ランプ
リレー
DC24V
電源
出力ユニットはプログラムの演算によって得られた結果を外部機器へ出力し、ユニットからの信号で外部
機器の動作をコントロールします。
※注意点:ユニットから電圧が出力されるのではなく、COMと信号間の電気的導通をコントロールします。
1ユニットで出力できる数(点数)には8・16・32・64と4種類から選択できます。
また各ユニットで対応できる電圧も異なります。
配線について
演算の結果、上図のA0がONとの結果が得られた場合、A0端子とCOM.A端子間が導通します。
従い、上図のように配線した場合はA0=ONの場合にランプが点灯します
COM端子へ接続する極性が決まっているユニットが多くありますので、電圧や極性に十分注意します。
誤った電圧(DC出力ユニットへAC100V印可など)を使用するとユニットが破損します。
本書の入出力ユニット一覧表やユーザーズマニュアル・ハード編の仕様項目を確認し、どのような種類の
出力ユニットがあるか確認しておきましょう。
19
メモ
20
入出力ユニット
入出力(I/O)ユニットの種類
名称
8点入力ユニット
機種名
概要・機能
JW-201N ※1
AC100/120V (50/60Hz) 応答時間 40ms以下
JW-202N ※1
DC12/24V 応答時間 10ms以下
JW-203N
AC200~240V (50/60Hz) 応答時間 40ms以下
JW-211NA
(JW-211N ※1)
16点入力ユニット
JW-212NA
(JW-212N ※1)
JW-214NA
(JW-214N ※1)
32点入力ユニット
8点出力ユニット
DC12/24V 応答時間 1.5ms以下(高速応答タイプ)
DC12/24V 応答時間 1.5ms以下(コネクタ接続)
JW-202S ※1
DC5/12/24V 1A/点、4A/コモン シンク(トランジスタ)出力
JW-203S ※1
AC100~240V (50/60Hz) 1A/点、4A/コモン サイリスタ出力
JW-204SA
JW-212SA
(JW-212S ※1)
JW-213SA
(JW-213S ※1)
JW-214SA
(JW-214S ※1)
32点出力ユニット
DC12/24V 応答時間 10ms以下
JW-234N
(JW-204S ※1)
16点出力ユニット
AC100/120V (50/60Hz) 応答時間 40ms以下
AC250V/DC30V 2A/点、独立コモン リレー出力
DC5/12/24V 0.5A/点、2A/コモン シンク(トランジスタ)出力
AC100~240V (50/60Hz) 1A/点、2A/コモン サイリスタ出力
AC250V/DC30V 2A/点、5A/コモン リレー出力
JW-215SA
DC5/12/24V 0.5A/点、2A/コモン ソース(トランジスタ)出力※2
JW-232S
DC5/12/24V 0.1A/点、1.6A/コモン シンク出力(コネクタ接続)
32点入出力ユニット JW-232M
入力部前半16点 DC12/24V 応答時間 1.5ms以下
出力部後半16点 DC5/12/24V 0.1A/点、1.6A/コモン シンク出力
(コネクタ接続)
※1 生産完了モデル
※2 ソース出力とは、コモン側に+の電圧を印可する出力方式です。シンク出力はコモン側が-にな
ります。
豆知識 リレー(電磁接点)以外の出力素子は半導体が使用されており、一般にSSRと呼ばれます。
SSRは、Solid State Relay(ソリッドステート・リレー)の略称で、リレーに比べて応答速度が速く機械的な摩耗が
ありません。AC用ならトライアックやサイリスタ、DC用ならトランジスタやMOS-FETが使用されています。
尚、通常「SSR」と呼ぶ場合は、AC用を指すことが多いと思われます。
21
メモ
22
配線実習
トレーニングツールの入力配線をしてみましょう。
トレーニングツール操作部
00000
00001
00002
00003
00004
00005
00006
00007
COM
スイッチ00000
+
-
電源
24V電源配線
端子
正面配線
端子
接続する線の色に注意しながら、上図の未配線部分を接続します。
電流のループ(+から出て-に帰る)が出来るように、よく考えて接続してください。
PLCを使用した設備を構築する場合、入出力ユニットへの配線作業は必ず行う事になります。
ユニットを破損させないためにも、トレーニングツールを使用して理解してください。
配線接続後に入力スイッチを動作させ、スイッチがONしたタイミングで入力ユニットのランプが点灯するか
確認して下さい。
出力配線
トレーニングツール操作部
00060
00061
00062
00063
00064
00065
00066
00067
COM.A
ランプ00060
+
-
電源
24V電源配線
端子
正面配線
端子
入力配線同様に、出力配線にもチャレンジしてみましょう。
32点の入出力ユニットはコネクタタイプになりますが、配線内容は同じです。
配線イメージ
接続する番号に注意しながら配線をしてみましょう
23
メモ
24
特殊I/O
通常の入出力ユニットではなく、特殊な機能を持った入出力ユニットを特殊I/Oユニットと呼びます。
特殊I/Oユニットは、基本/増設ベース(ラック0~7)に最大64台実装可能です。
特殊I/Oユニットの種類
名称
機種名
概要・機能
64点入力ユニット
JW-264N
DC24V(高速応答タイプ・コネクタ接続)
特殊I/O用リレー領域を64点分の入力として使用。
64点出力ユニット
JW-262S
DC5/12/24V・0.1A トランジスタ出力(シンク出力・コネクタ接続)
特殊I/O用リレー領域を64点分の出力として使用。
アナログ入力ユニット JW-24AD
4チャンネル 13ビットバイナリ値及び±符号1ビット(最大値8000)
アナログ入力範囲(DC0~±10V/0~±20mA)
分解能 1.25mV/0.63mV(2倍増幅時)/2.5μA(2倍増幅時)
アナログ出力ユニット JW-22DA
2チャンネル 15ビットバイナリ値及び±符号1ビット(最大値30000)
アナログ出力範囲(DC0~±10V/0~±20mA)
分解能 0.33mV(10V/30000)/0.67μA(20mA/30000)
JW-21HC
100kHz 1チャンネル
動作モード:リニアカウンタ・リングカウンタ・プリセットカウンタ・ゲートカ
ウンタ・サンプルカウンタ・ラッチカウンタ
JW-22HC
100/200kHz 2チャンネル
動作モード:リニアカウンタ・リングカウンタ
高速カウンタユニット
パルス出力ユニット JW-21PS
制御軸数1軸 最高パルス出力速度250kpps
出力形式 ① CW/CCW 2パルス方式 ② 符号付きパルス方式
シリアルI/Fユニット
JW-21SU
1ポート(25ピンD-subメスコネクタ)
RS-232C/RS-422切替
JW-21DU
※1
マイクロ波通信アンテナ接続、IDプレート無線通信機能
接続可能アンテナ(19.2kbps):DS-1A、DS-5A、DS-20A等
IDコントロールユニットJW-22DU
JW-23DU
※2
マイクロ波/光通信アンテナ接続、IDプレート無線/赤外線通信機能
接続可能アンテナ(19.2kbps):DS-1A、DS-5A、DS-20A等
接続可能アンテナ(76.8kbps):DS-1AK、DS-5AK、DS-20AK等
接続可能リードライトヘッド(赤外線型 76.8kbps):DS-2AL
マイクロ波通信リーダライタ接続、RFIDタグ無線通信機能
接続可能リーダライタ(RFID):DS-5RW、DS-10RW
※1 生産完了モデル
※2 発売予定(2005/9現在)
25
メモ
26
オプション・その他
オプションユニットを使用すると、PLC間のデータ通信やPCとのイーサネット接続等が可能となります。
オプションユニットは基本ベースに最大8台実装可能です。
デバイスネットユニット・I/Oリンク親局ユニットは、それぞれに対応する子局を接続して使用します。
デバイスネットユニット・I/Oリンク親局ユニットは基本ベースに合計で最大4台実装可能です。
名称
機種名
リンクユニット
JW-21CM
概要・機能
リモートI/O親局、データリンクDL1、データリンクDL9、コン
ピュータリンクの各機能をスイッチで切り替えて選択。
EIA RS485準拠
ネットワークユニット JW-22CM
データリンク機能、コンピュータリンク機能、SEND/RECEIVE機能
シャープサテライトネット(同軸ケーブル:BNC/5C2V)に接続。
ME-NETユニット
ME-NET対応データリンク機能、コンピュータリンク機能
ME-NETに接続。
JW-21MN
イーサネットユニット JW-255CM
コンピュータリンク機能、SEND/RECEIVE機能
10BASE5用AUIインターフェイス(D-sub15ピン)
コンピュータリンク機能、SEND/RECEIVE機能
10BASE-Tインターフェイス(RJ-45コネクタ)
ン
ョ
オ イーサネットユニット JW-25TCM
プ
シ
FL-netユニット
JW-20FL5
Ver1.対応
10BASE5用AUIインターフェイス(D-sub15ピン)
FL-netユニット
JW-20FLT
Ver1.対応
10BASE-Tインターフェイス(RJ-45コネクタ)
FL-netユニット
JW-22FL5
Ver2.対応
10BASE5用AUIインターフェイス(D-sub15ピン)
FL-netユニット
JW-22FLT
Ver2.対応
10BASE-Tインターフェイス(RJ-45コネクタ)
シリアルI/Fユニット
JW-22SU
2ポート(9ピンD-subメスコネクタ)
PORT0:RS-232C/RS-422切替 PORT1:RS-232C
JW10リンクユニット
JW-25CM
JW10との間でデータリンク機能又はリモートI/O機能を選択
通信速度 76.8kbps(500m) 又は 38.4kbps(1km)
JW-20DN
※1
DeviceNet準拠 マスターモード/スレーブモード
最大4096点(512バイト) 通信速度 125kbps、250kbps、500kbps
I/Oメッセージ機能(Polling I/O機能、Bit Strobe機能)
Explicitメッセージ機能
※JW300には従来機能で使用可能
JW-20DNH
※1
DeviceNet準拠 マスターモード/スレーブモード
最大4096点(512バイト) 通信速度 125kbps、250kbps、500kbps
I/Oメッセージ機能(Polling I/O機能、Bit Strobe機能)
Explicitメッセージ機能 JW-20DNマイナーチェンジ版
※JW300には従来機能で使用可能
JW-20DN2
DeviceNet準拠 マスターモード/スレーブモード
最大4096点(512バイト) 通信速度 125kbps、250kbps、500kbps
I/Oメッセージ機能(Polling I/O機能、Bit Strobe機能)
Explicitメッセージ機能 JW-20DNHマイナーチェンジ版
終端抵抗スイッチ付き
JW-23LM
※1
I/Oリンク親局機能(172.8kbps) EIA RS-485準拠
最大子局32局/504点(63バイト)
JW-23LMH
I/Oリンク親局機能(172.8kbps・345.6kbps) EIA RS-485準拠
最大子局32局/504点(63バイト)
デバイスネット
マスターユニット
ッ
デ
バ
イ
デバイスネット
ス
マスターユニット
ネ
ト
デバイスネット
マスターユニット
I/Oリンク親局
I/O ユニット
リンク
I/Oリンク
親局ユニット
リモートI/O子局ユニット JW-21RS
リモートI/O子局機能
基本ベースのCPU装着スロットへ実装し、JW-21CM等リモートI/
O親局ユニットと接続。
※1 生産完了モデル
27
メモ
28
ベースユニット
基本ベースユニット
電源ユニット用
スロット
増設用コネクタ
(OUT)
5V端子台
コントロールユニット用スロット
電源・コントロール以外のユニット用スロット
増設ベースユニット
ラック番号スイッチ
増設用コネクタ
(OUT)
増設用コネクタ
(IN)
ベースユニットには電源・コントロール・I/O等の各ユニットを実装する基本ベースユニットと、基本ベース
ユニットだけでは実装スロットが足りない場合に追加する増設ベースユニットがあります。
基本ベースユニットにはコントロールユニットが実装できますが、増設ベースユニットには実装できません。
また、電源ユニットとコントロールユニットの実装位置はあらかじめ決められています。
増設について
増設を行なう場合、コントロールユニットの最大I/O点数と各ユニットの消費電流に注意して増設を行
なって下さい。
I/Oバス拡張アダプタを使用した場合、最大7枚まで増設できます。(基本ベースユニット含め8枚)
I/Oバス拡張アダプタを使用しない場合は、最大3枚(基本ベースユニット含め4枚)となります。
増設ベースユニットのラック番号は、番号が重複しないように設定します。
基本ベースユニット、増設ベースユニット、増設方法及びI/Oバス拡張アダプタに関する詳細は、ユーザ
ーズマニュアル・ハード編を参照しましょう。
29
メモ
30
サポートツール
PLCのプログラム作成・設定・データ確認などは、専用のサポートツールを使用します。
サポートツールは小型で専用ハードウエアのハンディプログラマとパソコン用ソフトのラダー設計支援ソフ
トがあり機能も異なります。
それぞれに良い点がありますので、バランス良く双方を活用できるようになるのが理想的です。
ハンディプログラマ(JW-15PG)
メリット
専用ケーブル※1を使用して、PLCへ直接接続できます。
パソコンのように電源投入・OS起動・ソフト起動などの待ち時間が無いため、簡単な
回路変更や、データの確認など素早く行なうことができます。
デメリット
操作方法・手順を理解していないと使用出来ません。
PLCの命令語について理解していないとプログラミングが出来ません。
画面が小さいので、多くのデータ・プログラムを一度に表示出来ません。
パソコン用ラダー設計支援ソフト(JW-300SP)
パソコンにソフトをインストールして使用します。
PLCへ接続する場合は、専用ケーブル※1と変換アダプタ※2が別途必要になります。
本書では、プログラミングなどの作業はJW-300SPを使用して行ないます。
ハンディプログラマの操作方法を学びたい場合は、付録ページに操作方法一覧がありますので参照して
下さい。
※1 JW-22KC(2m)・JW-24KC(4m) ※2 JW-100SA(RS232C-RS422変換アダプタ)・JW-100UA(USB-RS422変換アダプタ)
31
メモ
32
アドレス割付
入出力ユニットにはスイッチやランプなどを接続しますが、プログラムを作成するためにはこれらの機器に
個別の番号を割り当てる必要があります。
これをアドレス割付(I/O割付)と呼びます。また、割り付けられた番号をI/Oアドレス(リレーアドレス)と
呼びます。
I/Oアドレスは、リレーの2000番などと表現されます。
アドレス割付方法
アドレスは8進数を使用して割付けられます。
・ 空きスロット及び8点I/Oユニットは16点(2バイト)が割付されます。
・ 電源ユニット・コントロールユニットは割付の対象にはなりません。
・ 16点・32点I/Oユニットはそれぞれのユニットが持つ点数が割付けされます。
・ 64点I/Oユニットは16点(2バイト)がダミー割付され、実際のI/OアドレスはユニットNo.スイッ
チの番号により決定されます。
・ 特殊I/Oユニット・オプションユニット・デバイスネットユニット・I/Oリンクユニットには、16点(2
バイト)がダミー割付されます。
・ コントロールユニットの右側スロットが割付を開始する先頭アドレスになります。
JW-234N
JW-212SA
JW-232S
空き
JW-204SA
空き
JW-212SA
①
②
③
④
⑤
⑥
⑦
⑧
① JW-214NA(16点)
I/Oアドレス 0
~
17
バイトアドレス
コ
0
~
コ
1
② JW-234N(32点)
I/Oアドレス 20
~
57
バイトアドレス
コ
2
~
コ
5
③ JW-212SA(16点)
I/Oアドレス 60
~
77
バイトアドレス
コ
6
~
コ
7
④ JW-232SA(32点)
I/Oアドレス 100 ~ 137
バイトアドレス
コ
10
~
コ
13
⑤ 空き(16点)
I/Oアドレス 140 ~ 157
バイトアドレス
コ
14
~
コ
15
⑥ JW-204SA(8点)
I/Oアドレス 160 ~ 177
バイトアドレス
コ
16
~
コ
17
⑦ 空き(16点)
I/Oアドレス 200 ~ 217
バイトアドレス
コ
20
~
コ
21
⑧ JW-212SA(16点)
I/Oアドレス 220 ~ 237
バイトアドレス
コ
22
~
コ
23
JW-301PU
JW-214NA
JW-322CU
割付の例
バイトアドレスは、8点分のリレーアドレスをまとめて1バイト(8点)単位で表現したアドレスになります。
バイトアドレスを表現する場合、『 コ 』を使用します。
33
メモ
34
データメモリ
コントロールユニットのデータメモリは機種により容量が異なります。
JW-311/312CU
領域
リレー
リレー番号
0 ~ 15777
20000 ~ 75777
バイトアドレス
コ0 ~ コ1577
コ2000 ~ コ7577
リレー番号
0 ~ 15777
20000 ~ 75777
100000 ~ 153777
バイトアドレス
コ0 ~ コ1577
コ2000 ~ コ7577
コ10000 ~ コ15377
JW-321/322CU
領域
リレー
JW-331/332/341/342/352/362CU
領域
リレー
リレー番号
0 ~ 15777
20000 ~ 75777
100000 ~ 543777
バイトアドレス
コ0 ~ コ1577
コ2000 ~ コ7577
コ10000 ~ コ54377
各機種のリレー番号7000以降は、キープリレー領域(停電保持)になります。
各機種のリレー領域内のリレー番号7300~7377は、特殊リレーが割付されます。
特殊リレー
リレー番号
7330
7331
7332
7333
7334
7340~7347
7354
7355
7356
7357
7360
7362
7363
7364
7365
7366
7370
7371
7372
7373
7374
7375
7376
7377
内 容
MWフラグ
MWリセット
PCカードスロットのメモリカードへセーブ実行
メモリカードビジー
メモリカードエラー
異常コード格納
ノンキャリーフラグ
エラーフラグ
キャリーフラグ
ゼロフラグ
0.1秒クロック
イニシャライズパルス
ヒューズ切れ
1秒クロック
設定値変更スイッチ
常時OFF接点
メモリ異常
CPU異常
電池異常
入出力異常
オプション異常
特殊I/Oユニット異常
増設電源異常
電源異常
特殊リレーをモニタして動作を確認してみましょう。
35
メモ
36
スキャンタイム
PLCは決まった一連の動作を繰り返すことで動作しています。
PLCのコントロールユニット動作フローを確認してみましょう。
①
②
③
④
⑤
⑥
⑦
⑧
自己診断
入出力処理
オプション処理
PG/COMMポート通信処理
特殊リレー処理
プログラムの演算(ブロック毎)
故障診断
ウオッチドグタイマリセット ※1
1スキャンタイム
コントロールユニットは常に上記①~⑧までの処理を繰り返し実行しています。
①~⑧までの処理を1回実行するのに要した時間を1スキャンタイムと呼びます。
プログラムの演算以外の処理は非常に短時間で完了するため、プログラムの実行速度のみをスキャンと
表現することがあります。
過度にスキャンタイムを意識する必要はありませんが、プログラミングの内容や外部からの入力を短時間
で取り込む場合など、スキャンタイムを意識して設計を行なわなければならないケースがあります。
コントロールユニットの動作フローについての詳細は、プログラミングマニュアル・ラダー命令編の運転サイ
クルに関する項目を参照して下さい。
※1 規定時間内に各処理が完了しているか、監視しているタイマをリセットする処理
例えば、⑥プログラムの演算で不具合があり完了しない場合、⑦、⑧に進まないので、ウオッチドグ
タイマがタイムアップしてウオッチドグタイマ異常が発生する。
豆知識 ウオッチドグタイマとはウオッチドッグ(番犬)タイマを意味します。
システムが正常に動作していない場合、タイマにリセットが入りませんので番犬に吠えられてしまいます。
JW300シリーズのコントロールユニットでは、300msに設定されています。
37
メモ
38
プログラミング
PLCを使用するためにはプログラムを作成する必要があります。
プログラムはPLCを使いこなして頂く上で、最も重要な知識の1つです。
ラダー図
パソコンを使用したプログラミング形式で、最も一般的なプログラミング方法になります。
PLCメーカー間での互換性はありませんが、ほぼ同じような形式で表現されるため、ラダー図の基本的な
考え方を理解すれば、他メーカーのPLCプログラムも理解することが可能です。
リレーアドレス
出力コイル
ネットワーク番号
プログラムアドレス
コメント
B接点
A接点
END命令
母線
命令語
PLCのコントロールユニットが理解出来る最小単位の命令セットを意味します。
PLCに用意されている命令を使用し、リスト形式で1語1語順番に入力してプログラミングを行ないます。
ハンディプログラマでプログラムを作成する場合は、命令語形式になります。
ラダー図のように視覚的・直感的な理解が難しいため、命令語の意味・使用方法を理解してプログラミング
する必要があります。
本書では、主にラダー図形式でプログラミングの学習を進めます。
では、パソコンでJW-300SPを起動してプログラムの作成方法を実習してみましょう。
作成したプログラムの転送順序
① プログラム作成
② PLC停止(RUNランプ点滅)
③ プログラムチェック実行
④ プログラム転送(書込)
⑤ PLC運転(RUNランプ点灯)
⑥ プログラム動作確認(デバッグ)
39
メモ
40
ラダー図
ラダー図で使用される記号
記号
機能
A接点
通常は信号がOFFしています
B接点
通常は信号がONしています
出力コイル
通常アドレス部分には出力ユニットに割付される
リレーアドレスを指定します。未使用のリレーをプ
ログラム内で補助的に使用することもできます。
立上がり検出 A接点
信号の立上がりを検出し1スキャンタイム幅の
パルス信号を出力します
立下がり検出 A接点
信号の立下がりを検出し1スキャンタイム幅の
パルス信号を出力します
立上がりコイル
信号の立上がりを検出し1スキャンタイム幅の
パルス信号を出力します
立下がりコイル
信号の立下がりを検出し1スキャンタイム幅の
パルス信号を出力します
反転出力
入力条件を反転出力します
セットコイル
入力条件の立上がり信号をセット(保持)します
自己保持回路、応用命令F32と同等
リセットコイル
セットコイルで保持されたリレーをOFFします
応用命令F33と同等
41
メモ
42
ラダー図
記号
機能
タイマー
カウンタ
応用命令 (中級コースで学習します)
43
メモ
44
プログラム作成時の注意事項
ラダープログラムを作成する時には、下記注意事項を守り正しいプログラムを作成する必要があります。
① 入力ユニットに割付されているリレーアドレスを出力コイルのアドレスには設定できません。
② プログラム全体で同じ番号のリレーアドレスを出力コイルに設定することはできません。
(同じ番号のリレーアドレスを使用した際の動作を理解した上で使用することは可能)
③
入力条件だけの回路や、出力コイルだけで条件の無い回路は正常に動作しません。
④
出力コイルを頂点としたとき、母線から出力コイルへ近づくほど、条件が少なくなるようプログラム
すると、見やすい回路になります。
45
メモ
46
プログラム作成時の注意事項
⑤
PLCのラダープログラムはサイクリック(循環)演算であり並列処理はできません。
ラダー回路の上下を入替えると動作が異なります。
ラダープログラムA
ラダープログラムB
AとBのプログラムでは、000070番のランプが点灯してから000071番のランプが点灯するまでの時間に違
いが発生します。
BのプログラムがAにくらべ点灯時間が遅くなります。
入出力処理
プログラム演算
入出力処理
プログラム演算
入出力処理
A
000000
000070
000071
ランプ70
ランプ71
B
000000
000070
000071
ランプ70
ランプ71
時間
47
メモ
48
よく使用するプログラム
自己保持回路
自己保持回路はPLCラダープログラムで最も利用される回路の1つで、モーメンタリスイッチなどの入力を
受け、自らの出力信号で回路を保持(コイルON状態を保持)する働きがあります。
000000
000070
000001
自己保持回路は、セットコイルとリセットコイルを組み合わせることでも作成することができます。
自己保持回路を作成し、JW-300SPでモニタをしながらスイッチを動作させ、自己保持回路の働きを確認
してみましょう。
49
メモ
50
よく使用するプログラム
優先回路
入力スイッチ0か1のいずれか先に入った方を優先し、後で入った方の入力を無効にします。
入力スイッチ0と1が同時(同一スキャン内)にONになった場合は、入力0の方が(プログラム順が上)
優先されます。
オルタネート回路
テレビや携帯電話の電源スイッチのように、切れている時に押すと電源が入り、電源が入っている時に
押すと電源が切れる回路になります。
特殊リレーを利用した回路
特殊リレーには、0.1秒、1秒のクロック信号が割付されているリレーがあります。
ランプの点滅信号などに利用することができます。
51
メモ
52
タイマ(TMR)回路
待ち時間調整等の時間制御には、タイマ命令を使用した回路を利用します。
タイマ命令には多くの種類がありますが、最も標準的なタイマ命令を使い動作を学習をします。
入力条件
タイマ番号
設定値
タイマ TMR00000の限時接点
機種
JW-311CU
JW-312CU
JW-321CU
JW-322CU
JW-331CU
JW-332CU
JW-341CU
JW-342CU
JW-352CU
JW-362CU
演算方式
計数値
タイマー番号
設定値範囲
0~1777
0~3777
減算式
0.1秒単位
定数 0~7999
OR
レジスタ指定
BCD
0~17777
タイマ番号は、カウンタ・MD命令と共通使用になります。
タイマ同士での同一番号重複使用やタイマとカウンタで同一番号を使用することは出来ません。
設定値は0.1秒(100ms)単位で減算されます。
設定値を100とした場合、タイマの動作時間は10秒になります。
(設定値 100 × 0.1秒 = 10秒)
タイマ回路を入力して、動作を確認してみましょう。
53
メモ
54
タイマ(TMR)回路
タイマ設定値のレジスタ指定
タイマ命令の設定値には、定数(固定値)に加えレジスタでの指定も可能です。
液晶コントロールターミナル等の外部機器や条件により動作時間を変更したい場合は、定数でなくレジス
タを指定すると便利です。
レジスタ009000の値が10(BCD)の状態でタイマを動作させると、定数で10に設定した場合と同じ動作に
なります。
JW-300SPでレジスタ009000に適当な数値を設定し、タイマの動作を確認してみましょう。
55
メモ
56
カウンタ(CNT)回路
回数を使用する制御にはカウンタ命令を使用した回路を利用します。
カウンタ命令には多くの種類がありますが、最も標準的なカウンタを使い動作の学習をします。
カウンタ番号
設定値
カウント入力
リセット入力
カウンタ CNT00100
の限時接点
機種
JW-311CU
JW-312CU
JW-321CU
JW-322CU
JW-331CU
JW-332CU
JW-341CU
JW-342CU
JW-352CU
JW-362CU
演算方式
計数値
タイマー番号
設定値範囲
0~1777
0~3777
減算式
定数 0~7999
OR
レジスタ指定
BCD
0~17777
カウンタ番号は、タイマ・MD命令と共通使用になります。
カウンタ同士での同一番号重複使用や、タイマとカウンタで同一番号を使用することは出来ません。
設定値は1単位で減算されます。
設定値を100とした場合、カウント入力が100回ON/OFFするとカウントアップになります。
リセット入力がONになると、設定値がリセットされます。
リセット入力がONの時は,カウント入力からの信号が来てもカウンタは動作しません。
カウンタ回路を入力して、動作を確認してみましょう。
57
メモ
58
カウンタ(CNT)回路
カウンタ設定値のレジスタ指定
カウンタ命令の設定値には、定数(固定値)に加えレジスタでの指定も可能です。
液晶コントロールターミナル等の外部機器や、条件により動作時間を変更したい場合は、定数でなく
レジスタを指定すると便利です。
レジスタ009000の値が10(BCD)の状態でカウンタを動作させると、定数で10に設定した場合と同じ動作
になります。
JW-300SPでレジスタ009000に適当な数値を設定し、カウンタの動作を確認してみましょう。
59
メモ
60
練習問題
練習問題1
パソコンの関数電卓を使用して、プログラム容量32K語のJW-322CUのプログラムアドレスの最大値を
計算により求めてみましょう。
練習問題2
スロット
0
1
2
3
4
5
6
7
JW-204SA
JW-212SA
JW-232S
JW-234N
JW-214NA
空き
JW-234N
スロット→
空き
JW-322CU
JW-301PU
下記ユニット構成のPLCがあります。 I/Oアドレス・バイトアドレス表を完成させてみましょう。
0
1
2
3
4
5
6
7
I/Oアドレス
~
~
~
~
~
~
~
~
バイトアドレス
~
~
~
~
~
~
~
~
練習問題3
61
空き
JW-232S
JW-234N
JW-232S
JW-232S
JW-234N
JW-232S
JW-232S
JW-234N
JW-232S
JW-232S
JW-234N
JW-232S
JW-232S
JW-234N
JW-232S
JW-301PU
JW-234N
JW-232S
JW-234N
JW-234N
JW-24AD
JW-22CM
JW-311CU
JW-301PU
JW-301PU
下図のPLC構成には誤りがあり正しく動作しません。 誤っている箇所を探してみましょう。
CPUの入出力点数、増設ベースへ装着できるユニットの種類に注目して考えてみましょう。
メモ
62
練習問題
練習問題4
トレーニングツールのセンサ00030を反応させるとランプ00070~00072が下記の条件で動作するプロ
グラムを考えてみましょう。(センサー検出前はランプは全てOFFします)
70
○
71
○
72
○
70 71 72
● ○ ○
3秒保持
70 71 72
○ ● ○
3秒保持
70 71 72
○ ○ ●
3秒保持後消灯
練習問題5
タイマ命令を利用し、ランプ00070が点灯3秒、消灯1秒を繰り返すプログラムを考えてみましょう。
条件として、PLCを運転させると自動的に上記動作を繰り返すものとし、スイッチなどの信号は
使用しない事とします。
練習問題6
トレーニングツールの00024~00027のスイッチはモーメンタリスイッチになっています。
また、00024~00027の各スイッチのランプは、00104~00107に割付されています。
スイッチ00024~00027を入力するとスイッチ入力を検出したことを示すランプ00104~00107を点灯させ、
点灯を保持するプログラムを考えてみましょう。
保持状態の解除スイッチは、00020~00023を00024~00027に対応させます。
動作フロー
スイッチ00024を押す → ランプ00104点灯保持 → スイッチ00020を押す → ランプ00104消灯
63
メモ
64
練習問題回答
練習問題1
回答
プログラムアドレス:0~77777(8)
解説
32K語 = 32Kワード
32Kワード = 32 × 1024 = 32768ワード
32768ワード - 1 = 32767
32767(10)を8進数へ変換 = 77777(8)
※32768(10) = 100000(8) だが、プログラムアドレスは0から開始されるため -1 する。
練習問題2
スロット
0
1
2
3
4
5
6
7
解説
空き
JW-204SA
JW-212SA
JW-232S
JW-234N
JW-214NA
空き
JW-234N
JW-322CU
JW-301PU
回答
0
1
2
3
4
5
6
7
I/Oアドレス
000000
000017
~
000020
000037
~
000040
000057
~
000060
000117
~
000120
000157
~
000160
000177
~
000200
000217
~
000220
000257
~
バイトアドレス
コ00000
コ00001
~
コ00002
コ00003
~
コ00004
コ00005
~
コ00006
コ00011
~
コ00012
コ00015
~
コ00016
コ00017
~
コ00020
コ00021
~
コ00022
コ00025
~
スロット0にはユニットが実装されていませんが、16点(2バイト)が割付られます。
スロット1は8点のリレー出力ユニットですが、I/Oアドレスは16点(2バイト)を占有します。
8点ユニットは前半の8点(000020~000027)を使用し、後半の8点(000030~000037)はダミー
となります。(補助リレーとして使用可能)
練習問題3
回答
I/O点数の合計が512点を超えており、JW-311CUの仕様範囲外です。
(コントロールユニットを上位機種へ交換する必要がある)
オプションユニットであるJW-22CMが増設ベースユニットへ装着されています。
(オプションユニットは基本ベースユニットにのみ装着可能)
解説
32点入力ユニット(JW-234N)×8台=256点
32点出力ユニット(JW-232S)×11台=352点
256点 + 352点 = 608点 となります。
※JW-22CM等のオプションやJW-24AD等の特殊I/Oは、I/Oアドレスとして16点を占有しま
すが、最大入出力点数には影響を与えません。
詳細は、ユーザーズマニュアル・ハード編のリレー番号の割付の項を参照してください。
65
メモ
66
練習問題回答
練習問題4
模範回答
練習問題5
模範回答
67
メモ
68
練習問題回答
練習問題6
模範回答
69
メモ
70
PLC中級編
データメモリ(メモリマップ)
応用命令が含まれるプログラムを作成するときは、データメモリを使用します。
つまり、データメモリの内容を理解することが応用命令を使いこなすための必須条件になります。
コントロールユニット(JW3**CU)のデータメモリは、機種により容量が異なります。
ファイルアドレス(容量)
JW-311CU
JW-312CU
JW-321CU
JW-322CU
00000000(8)
00000000(8)
00073777(8)
(30Kバイト)
・リレー
30720点
(3.75Kバイト)
・TMR/CNT接点
1024点
(0.25Kバイト)
・TMR/CNT/MD
の現在値
(2Kバイト)
・レジスタ
(24Kバイト)
JW-331CU
JW-332CU
JW-341CU
JW-342CU
JW-362CU
00000000(8)
00105777(8)
(35Kバイト)
00177777(8)
(64Kバイト)
・リレー
53248点
(6.5Kバイト)
・TMR/CNT接点
2048点
(0.5Kバイト)
・TMR/CNT/MD
の現在値
(4Kバイト)
・レジスタ
(24Kバイト)
00200000(8)
JW-352CU
・リレー
180224点
(22Kバイト)
・TMR/CNT接点
8192点
(2Kバイト)
・TMR/CNT/MD
の現在値
(16Kバイト)
・レジスタ
(24Kバイト)
00200000(8)
00200000(8)
00200000(8)
00200000(8)
00277777(8)
(32Kバイト)
ファイルレジスタ⇒
00577777(8)
(128Kバイト)
02177777(8)
(512Kバイト)
10177777(8)
(2048Kバイト)
40177777(8)
(8192Kバイト)
豆知識
JW30Hの場合、ファイルレジスタはファイル1~3、10~2C(H)があり、各64Kバイト(ファイル1のみ16K
バイト)が独立しています。JW300では、最大8192Kバイト(JW-362CUのとき)の連続アドレスとなり
ます。
尚、JW30HのプログラムをJW-300SP(ラダー設計支援ソフト)によりJW300にプログラム変換すると、
「JW30Hのファイル1~3、10~2C(H)」は「JW300のファイルレジスタ」に変換されます。
ファイルレジスタはコメントメモリに使用することができます。
71
メモ
72
アドレスの表現方法
データメモリのアドレス表現方法について。
ビットアドレス(リレーアドレス、リレー番号)
基本命令のI/Oアドレスや、ビット指定の応用命令に使用します。
1点単位、1ビット単位のアドレス表現方法です。1つのアドレスの大きさは1ビットです。
バイトアドレス
カタカナのコで表す8点単位、8ビット単位、1バイト単位のアドレス表現方法です。
I/Oアドレスや補助リレー、キープリレー、汎用リレーを1バイト以上のデータとしてプログラミングしたり
モニタするときに使用します。
応用命令で演算前のデータが入る場所(ソースと呼びます。略称S)や、演算結果データが入る場所(
デスティネーションと呼びます。略称D)に使用します。
1つのアドレスの大きさは1バイトです。
ファイルアドレス
応用命令の間接アドレス指定(応用命令で@記号のついたレジスタ等を先頭とする3バイトの内容で指
定される方法)や、オプションユニットのパラメータ設定(通信ユニット内のメモリでどのアドレスを先頭と
して通信するか等を決める設定方法)に使用します。
コや、bレジスタ、09000、Eレジスタ、Z000などを番号に置き換えた絶対アドレス表現方法です。
1つのアドレスの大きさは1バイトです。(Z***は1ワード単位になります)
JW-214NA
JW-234N
JW-212SA
JW-232S
JW-322CU
JW-301PU
割付の例
①
②
③
④
① JW-214NA(16点)
I/Oアドレス
ファイルアドレス
0
0
~
~
17
1
バイトアドレス
コ
0
~
コ
1
② JW-234N(32点)
I/Oアドレス
ファイルアドレス
20
2
~
~
57
5
バイトアドレス
コ
2
~
コ
5
③ JW-212SA(16点)
I/Oアドレス
ファイルアドレス
60
6
~
~
77
7
バイトアドレス
コ
6
~
コ
7
④ JW-232S(32点)
I/Oアドレス
ファイルアドレス
100 ~ 137
10 ~ 13
バイトアドレス
コ
10
~
コ
13
73
メモ
74
データの表現方法
PLCでは用途に応じてデータを2進数、8進数、16進数、BCDコード、アスキーコードで数値表現しま
す。
応用命令を作成するには、この数値表現を理解する必要があります。
2進数(Binary Code/バイナリ)
0と1でデータ(数値)を表現する方法です。数値が1よりも大きくなると桁上がりします。
※1バイトデータの場合8個または8ビットになります。
8進数(Octal Code/オクタル)
0~7でデータ(数値)を表現する方法です。数値が7よりも大きくなると桁上がりします。
10進数(Decimal Code/デシマル)
0~9でデータ(数値)を表現する方法です。数値が9よりも大きくなると桁上がりします。
16進数(Hexa Decimal Code/ヘキサ)
0~9までの数字とA~Fまでの英文字でデータ(数値)を表現する方法です。数値が15よりも大きくな
ると桁上がりします。
BCDコード(BCD Code/ビーシーディ) 別名:2進化10進数(Binary Coded Decimal)
0~9でデータ(数値)を表現する方法です。数値が9よりも大きくなると桁上がりします。
但し10進数と違うのは4ビットを使用して1桁を表現するところです。つまり、10進数の1桁を4桁の2進
数で表現します。
ASCIIコード(アスキーコード)
上位4ビットと下位4ビットのデータの組み合わせからなる制御コード、記号、数字、英字、カタカナな
どを表現します。外部機器との通信に使用する場合があります。
豆知識 日常生活では、文章に数値を記載するときは、そのまま100や200と書きますが、PLCを使用した図面や
資料などを作成するときは、数値の表現にどれを使用しているのか他の人が理解出来るように記載する
必要があります。
75
メモ
76
データの表現方法
ビットの状態
○○○○○○○○
○○○○○○○●
○○○○○○●○
○○○○○○●●
○○○○○●○○
○○○○○●○●
○○○○○●●○
○○○○○●●●
○○○○●○○○
○○○○●○○●
○○○○●○●○
○○○○●○●●
○○○○●●○○
○○○○●●○●
○○○○●●●○
○○○○●●●●
○○○●○○○○
○○○●○○○●
○○○●○○●○
○○○●○○●●
○○○●○●○○
○○○●○●○●
○○○●○●●○
○○○●○●●●
○○○●●○○○
○○○●●○○●
○○○●●○●○
○○○●●○●●
○○○●●●○○
○○○●●●○●
○○○●●●●○
○○○●●●●●
2進数
00000000
00000001
00000010
00000011
00000100
00000101
00000110
00000111
00001000
00001001
00001010
00001011
00001100
00001101
00001110
00001111
00010000
00010001
00010010
00010011
00010100
00010101
00010110
00010111
00011000
00011001
00011010
00011011
00011100
00011101
00011110
00011111
8進数
000
001
002
003
004
005
006
007
010
011
012
013
014
015
016
017
020
021
022
023
024
025
026
027
030
031
032
033
034
035
036
037
10進数
000
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
『-』は表現できないことを表します。
77
16進数
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
BCD
00
01
02
03
04
05
06
07
08
09
-
-
-
-
-
-
10
11
12
13
14
15
16
17
18
19
-
-
-
-
-
-
ASCII
-
-
-
ETX
-
-
-
-
-
-
LF
-
-
CR
HOME
CLS
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
メモ
78
データの表現方法
10進数『196』を2進数、8進数、16進数、BCDに変換してみましょう。
10進数『196』を2進数に変換
はじめに2進数に変換すると、後の変換を楽に行うことができます。
10進数を2進数に変換するためには《 》のようなビットの重みを知る必要があります。
《128》
1
《64》
《32》
《16》
《8》
《4》
《2》
196=128+64+4なので128と64と4のビットに1が立ちます。
1
0
0
0
1
0
《1》
0
つまり、10進数『196』を2進数に変換すると『11000100』になります。
8進数に変換
8進数は7よりも大きくなると桁上がりするので4+2+1=7 つまり、右端から3桁ごとにビットの重み計算を
行います。
1
《2》
1
《1》
重み2+重み1=3
0
《4》
0
《2》
0 + 0
0
《1》
+ 0=0
1
《4》
0
《2》
0
《1》
重み4 + 0 + 0=4
つまり、2進数『11000100』を8進数に変換すると『304』になります。
16進数に変換
16進数は15よりも大きくなると桁上がりするので8+4+2+1=15 つまり、右端から4桁ごとにビットの重み
計算を行います。
1
《8》
1
《4》
0
《2》
0
《1》
0
《8》
1
《4》
0
《2》
0
《1》
重み8 + 重み4 + 0 + 0=12 0 + 重み4 + 0 + 0=4
16進数は10=A 11=B 12=C 13=D 14=E 15=F というように10から15の数値は英文字A~Fで表
現します。
つまり、10進数『196』を16進数に変換すると『C4』になります。
BCDに変換
BCDは16進数と同じビットの重み計算を行いますが、英文字A~Fは表現できません。
10進数『196』はBCDに変換できないことになります。
79
メモ
80
データメモリの内容
入出力リレー(00000~ I/O実装領域まで)
プログラムを作成するときに入出力リレー番号(I/Oアドレス)を使用します。
入力ユニットを実装したリレー領域
毎スキャンサイクルの入出力処理で入力ユニットのON/OFF状態を読み込み、1スキャンサイクル
中保持します。プログラムで入力情報(接点、データ)として使用します。
出力ユニットを実装したリレー領域
プログラムでコイル、デスティネーションとして演算結果を書き込みます。
毎スキャンサイクルの入出力処理で出力ユニットにON/OFF状態が転送されます。
演算結果はプログラムで接点、ソースとして使用できます。
ユニット未実装領域
補助リレーとして使用できます。
補助リレー(I/O実装領域+1アドレス~06777[初期値]まで)
外部に出力する必要のない演算結果の一時記憶として、プログラムでコイル、デシティネーションに演
算結果を書き込みます。演算結果はプログラムの中で接点、ソースとして使用できます。
停電後はON/OFF状態はクリアされます。
キープリレー([初期値]07000~7277、07400~07777まで)
停電後の復電時に停電直前のON/OFF状態を保持している補助リレーです。
停電時にON/OFF状態を保持する必要がある場合の、記憶用リレーとして使用します。
また、システムメモリの設定によってキープリレー領域を増減することもできます。
特殊リレー(07300~07377)
特殊リレー(07365を除く)はCPUから書き込まれる領域で、プログラムでは接点、応用命令のソースと
して使用できます。
OUT命令(コイル)、応用命令のデスティネーションとしては使用できません。
予約領域(07300~07327、07332~07337、07350~07353、07361、07367)は、プログラムでは使用
しないでください。
MWフラグ(07330)
プログラムメモリを変更するとONし、コントロールユニット(JW-3**CU)のMWランプが点滅します。
MWリセット(07331)
MWフラグのリセットとして使用します。
MWフラグがONのとき、MWリセットをOFF→ONすると、MWフラグはOFFし、コントロールユニットのM
Wランプが消灯します。MWリセットも同時にOFFします。
MWフラグとMWランプを無効(OFF)にする場合は、プログラムでMWリセットリレーを常時ONにしてく
ださい。
CFカードへセーブ実行(07332)
立上り(OFF→ON)で、システムメモリ#2221に種類を設定したファイルをセーブ(JW300→CFカード)
します。ファイル名は、システムメモリ#2230~#2236に設定します。
CFカードビジーフラグ(07333)
CFカードを操作中、ONします。
81
メモ
82
データメモリの内容
CFカードエラーフラグ(07334)
CFカードを操作時に異常が発生すると、ONします。
異常コード格納領域(07340~07347)
PLCが異常のとき、異常コードを格納する特殊レジスタでバイトアドレスコ0734として使用します。
フラグ(07354~07357)
フラグの動作に影響を与える応用命令(プログラム)の次に接点として使用します。
0.1秒クロック(07360)、1秒クロック(07364)
点滅(フリッカ)回路等の入力条件に接点として使用します。
イニシャライズパルス(07362)
電源ON時や、PLC停止→運転直後に1スキャン発生するパルスです。
接点として使用します。
ヒューズ切れ(07363)
JW-262S(64点出力ユニット)のヒューズ切れを検出時にONします。
設定値変更スイッチ(07365)
コイルとして使用します。ONするとサポートツールからキープリレー・汎用リレー以外の補助リレーを
任意にSET(ON)/RESET(OFF)できます。但しプログラム優先です。
常時OFF接点(07366)
必ず接点として使用し、コイルでは絶対使用しないでください。
プログラムでは通常、b接点(常時ON)として多用します。
自己診断結果(07370~07377)
自己診断の結果、異常内容に応じた接点がONします。
汎用リレー(最大:10000~15777、20000~75777、100000~543777)
使用用途はキープリレーと全く同じです。
TMR・CNT限時接点
減算式のTMR・CNTでは現在値が0になるとTMR・CNT限時接点がONします。
加算式のTMR・CNTでは現在値=設定値になるとTMR・CNT限時接点がONします。
TMR・CNT限時接点はプログラム中、何回でも使用できます。
bレジスタ(TMR・CNT現在値)
TMR・CNT現在値はbレジスタに格納されます。
bレジスタは1アドレス1バイトの大きさですが、1つのTMR・CNT現在値はbレジスタ2バイト分が格納さ
れます。
TMR・CNT未使用領域のbレジスタは、通常のレジスタとして使用できます。
通常、現在値はプログラム中ソースとして使用しますが、設定値をプログラムで書き換える場合などに
デスティネーションとして使用することもできます。
83
メモ
84
データメモリの内容
レジスタ(09000~99777、109000~389777)
レジスタとは1バイトのデータを入れる(記憶しておく)場所です。
データ処理を行う応用命令で使用します。
アドレスは8進数で表現しますが、下3桁以外の数字は記号として扱います。
例:09000は、09+000 であり、09部分が記号で 000部分がアドレス(8進数)です。
同様に、389777等も、記号部分の389+アドレス777 となります。
1バイト単位のレジスタはビットアドレスで表現できないため、STR09000やOUT19000など基本命令
で使用する接点や出力のプログラムは作成できません。
プログラムでデスティネーションとして演算結果を書き込み、その演算結果はプログラム中のソースと
して使用します。
ハンディプログラマやパソコンからデータを書き込むこともできます。
電源を切ってもレジスタの内容は記憶されています。
インデックスレジスタ(Z000~Z377)
インデックスレジスタを基本命令・応用命令で直接指定するリレー・レジスタアドレスにインデックス修
飾すると、インデックスレジスタの内容を加減算したアドレスで演算が行われます。
インデックスレジスタは2バイト単位です。
Eレジスタ(E0000~E7777)
PCに異常が発生した場合、何年何月何日 何時何分何秒にXX異常が何回発生したというような自己
診断結果(異常情報)を格納する場所です。E7600~E7777はコントロールユニットの異常情報格納領
域です、それ以外の領域で、PLCの機種構成によって未使用のEレジスタがあれば、通常のレジスタとし
て使用できます。
1アドレス1バイトの大きさで、8進数で表現します。
ファイルレジスタ(ファイル番号1+00000000~37777777※)※JW-362CUのとき
レジスタだけでは足りない場合に使用します。1アドレス1バイトの大きさで、ファイル番号1+8桁の8進
数で表現します。
85
メモ
86
システムメモリ
システムメモリとはPLCの各種機能の設定を行ったり、PLCに異常が発生したときに異常内容を格納す
る場所です。#記号で表現し、1アドレスのデータの大きさは1バイトです。
システムメモリは初期設定のままでもPLCは動作します。
#0000~#2777まで1.5Kバイトの容量がありますが次の表以外のメモリ番号は予約領域のため、デー
タを書き込まないでください。
システムメモリ(#)
0010~0017
0030~0035
0046
0050~0053
0054~0057
0060
0064
0065
0066、0067
0150
0152
0160~0167
0170~0177
0201
0202
0206
0207
0211
0213
0222
0225
0226
0227
0230、0231
0232、0233
0234、0235
0236、0237
0241~0245
0246
0247
0250、0251
0252、0253
0255
0256
0266、0267
0270~0272
0277
0300~0377
1600~1677
2100~2103
2104
2105
2106~2155
2156~2161
2162~2165
2220~2236
2200
2300~2377
2400~2477
内 容
時計機能(BCD)
スキャンタイムのモニタ
異常I/Oを検知したI/Oのラック、スロットのモニタ
プログラムの異常アドレスのモニタ
ユーザープログラム ソースサムチェックコード
ユーザープログラム ソースサムチェック異常
ブートプログラムバージョンのモニタ (サブバージョン)
ブートプログラムバージョンのモニタ ブートプログラムの機種コード
異常オプションユニットのスイッチ設定値のモニタ
異常デバイスネットユニット等のスイッチ設定値のモニタ
自己診断結果の異常コード
オプションユニットの異常コード
TMRのリセット条件
CNTのリセット条件
ヒューズ断検出時、運転継続/停止の設定
オプシュニットが異常時、運転継続/停止の設定
デバイスネットユニット等が異常時、運転継続/停止の設定
異常履歴格納領域の使用選択
PG/COMM2ポートの通信方式の選択
1msタイマ機能の設定
コンスタントスキャン時間の設定
10msタイマ機能の設定
キープリレー領域の設定
出力保持アドレスの設定
PG/COMM1ポートの設定
PG/COMM2ポートの設定
割込処理の設定
瞬停検出時間延長の設定
I/Oアドレスの登録方法の設定
キープリレー領域の設定(拡張エリア)
出力保持アドレスの設定(拡張エリア)
ROM運転モードの設定
ROM格納領域の設定
EA-PGポートの設定
システムメモリ#0000~#2777のレジスタ転送
BCCチェックコード
デバイスネットJW-20DNの設定(ユニット№0)
異常コード別の発生回数(№1~№32)
ロギングデータを格納する領域の先頭アドレス(ファイルアドレス)
ロギング格納回数
タイムスタンプのフォーマット
ロギング指定レジスタ(1~10)のレジスタアドレス(ファイルアドレス)
次のロギングデータの格納カウンタ
ロギングデータの格納回数
PCカードの設定
故障診断設定
デバイスネットJW-20DNの設定(ユニット№2)
デバイスネットJW-20DNの設定(ユニット№3)
87
メモ
88
システムメモリ
例1 TMR400~477だけを10msタイマにする。
TMR設定値の最小単位は通常100ms単位ですが、システムメモリ『#0227』を設定変更すると10ms単
位になります。
各ビットをONすると、各領域が10msタイマになります。
ビット
#0227
7
6
5
4
3
2
1
0
初期値:00(H)
TMR000~077
TMR100~177
TMR200~277
TMR300~377
TMR400~477
TMR500~577
TMR600~677
TMR700~777
1(ON)・・・10msタイマ
0(OFF)・・・100msタイマ
つまり、4ビット目をON(1)するとTMR400~477だけが10msになります。
例2 キープリレー領域を04000~以降にする。
キープリレー領域は通常7000~以降ですが、システムメモリ『#0230』『#0231』の2バイトを設定変更すると
キープリレー領域を増減することができます。ファイルアドレスで設定します。
システムメモリ #231
システムメモリ #230
15 14 13 12 11 10 9
8
7
6
5
4
3
2
1
0
《1》 《4》 《2》 《1》 《4》 《2》 《1》 《4》 《2》 《1》 《4》 《2》 《1》 《4》 《2》 《1》
0
0
0
4
0
89
0
メモ
90
システムメモリ
自己診断
自己診断の結果、PLC自身が異常と判断した場合、異常コードが#0160~#0167までに格納されます。
トラブルシューティングのときによく使用します。
システムメモリ #0160~#0167
#0160
#0167
#0166
#0165
#0164
#0163
#0162
#0161
異常コード 異常コード 異常コード 異常コード 異常コード 異常コード 異常コード 最新の
異常コード
最新の異常コードは#0160に格納されます。
#0160に格納された異常コードとは別の異常があらたに発生した場合は、別のあらたな異常コードが
#0160に格納されて、今まで#0160に格納されていた異常コードは#0161にシフトされます。
同じ異常コードがあらたに発生した場合は無視されます。(シフトされません。)
#0167までシフトされた異常コードはあらたな異常が発生すると、#0167の異常コードは捨てられます。
つまり、8回分の異常内容を記憶できます。
これらの異常コードは任意にクリアしない限り記憶されています。
PLCに異常が発生した場合、ハンディプログラマをコントロールユニットに接続すると異常内容を表示し
ますが、これは#0160の異常内容を表示しています。
また、時々異常が発生する場合は、過去に記憶された異常コードをクリア(00書込)しておくと、わかり
やすく便利です。
コントロールユニットの電池を外して、電池電圧低下の異常コードを確認してみましょう。
異常コードを確認後、その原因を調査して復旧手順を検討します。
異常コードは28種類あるので、取説等を参考にトラブルシューティングを行ってください。
91
メモ
92
パラメータメモリ
JW300における特殊I/Oユニット、オプションユニットのパラメータはコントロールユニット(JW3**CU)
のパラメータメモリに、サポートツール(JW-15PG、JW-300SP)を使用して設定します。
特殊I/Oユニット用パラメータ
パラメータ設定が必要な特殊I/Oユニットは次の機種があります。
●JW-21HC、JW-22HC、JW-24AD、JW-22DA、JW-21PS、JW-21SU
特殊I/Oパラメータ領域は、特殊I/Oユニットのユニット№スイッチ(設定値0~7)により決定さ
れ、1ユニットあたり256バイトを使用します。
特殊I/Oパラメータの内容は、各特殊I/Oユニット(JW-21HC等)のユーザーズマニュアルを参
照ください。
オプションユニット用パラメータ
オプションユニットは次の機種があります。
●JW-21CM、JW-22SU、JW-20FL5/20FLT、JW-22FL5/22FLT、JW-255CM、JW-25TCM、
JW-22CM、JW-21MN、JW-25CM
オプションパラメータ領域は、オプションユニットのユニット№スイッチ(設定値0~7)により決定さ
れ、1ユニットあたり2Kバイトを使用します。
オプションパラメータの内容は、各オプションユニット(JW-21CM等)のユーザーズマニュアルを参
照ください。
オプションパラメータ設定不要のユニットもあります。
JW300SPを使用してパラメータの設定方法を確認してみましょう。
93
メモ
94
応用命令
近年のPLCは単に機器の制御だけにとどまらず、さまざまなデータを扱い処理する役割も請け負って
います。
応用命令を理解することはPLCを学ぶ上でとても重要な要素の1つです。
応用命令にはどのような種類の命令があるのか確認してみましょう。
分 類
内 容
転送命令
レジスタの内容や定数を転送します。
算術演算命令
四則演算をします。
論理演算命令
論理演算(AND・ORなど)をします。
比較命令
レジスタ間または定数と比較をします。
変換命令
データを変換します。(バイナリ→16進など)
交換命令
データを交換します。(桁転送など)
データ処理命令
検索・並び替え・三角関数などをします。
ビット処理命令
応答命令でビット処理を行います。
タイマ・カウンタ命令
応用命令でタイマ・カウンタを動作させます。
シフト命令
ビットのシフトを行います。
演算条件命令
分岐・ジャンプなどを行います。
時計命令
PLCの時計データを処理します。
通信命令
リンクユニット間などでデータ通信を行います。
その他の命令
間接アドレス指定・ロギング・サムチェック命令等。
応用命令を理解するためには、まずプログラミングマニュアルの応用命令に関する項目を確認し
記述内容をよく理解する必要があります。
95
メモ
96
プログラミングマニュアルの表記
応用命令には多数の種類があり、その全てを覚えるのは大変なことです。
必要に応じ、プログラミングマニュアルで命令を確認しながら使用して行きますが、マニュアルの表記に
ついて理解し命令の使用方法をマニュアルより読取る力が必要になります。
各命令はほぼ同一の表記で統一されているため、転送命令を例にプログラミングマニュアルの記述に
ついて確認してみましょう。
名称
名 称
内 容
シンボル
命令をJW-300SPに表示した場合の形を表します。
機能
命令の動作内容を表します。
演算内容
演算が実行された場合のデータの流れを表します。
使用範囲
PLCのメモリや定数の使用できる範囲を示します。
演算条件
命令が動作する条件を示します。 演算後の内容
演算後のデータメモリ・フラグの状況を示します。
使用例
サンプルプログラムと動作についての解説です。
97
メモ
98
応用命令作成時の注意事項
応用命令を作成する場合、下記の注意事項を守り正しく記述する必要があります。
①
②
③
④
①
転送命令などでデータの転送先(書込み先)に入力ユニットが装着されているアドレスを指定
した場合正しく動作しません。
②
命令を動作させるための条件が必要な命令において、条件が無い回路は作成できません。
③
命令が動作する条件が無い命令(無条件命令)で条件を設定することはできません。
④
2バイト以上のメモリを転送する場合などは、奇数アドレスは設定できません。
その他、マニュアルに記載されている注意事項を守り作成して下さい。
99
メモ
100
転送命令
転送命令を使用し、プログラムの動作を確認してみましょう。
入力条件
信号の立ち上がりで
転送が1回実行されます
動作前000000=OFF
コ00004
コ00012
23 (hex)
00 (hex)
データの取り出し元
データの転送先
トレーニングツール
2桁デジタルスイッチ
トレーニングツール
2桁デジタル表示部
動作後000000=ON
コ00004
コ00012
23 (hex)
23 (hex)
転送命令は頻繁に使用される命令の1つです。
トレーニングツールを利用し、データの転送元・転送先をいろいろ変化させ転送命令の動きを確認して
みましょう。
入力条件
転送命令の動作条件は、「入力信号の立上がり」となっており、このプログラムの場合はトレーニング
ツールの入力スイッチ0が該当します。
スイッチ0がOFFからONに変化したとき転送命令が動作します。
データの取出し元・転送先
データの取出し元・転送先には使用できる範囲があります。
プログラミングマニュアルの使用範囲を確認し適切なアドレスを指定します。
転送命令を含め多くの応用命令は下記回路のように複数を同じ条件で動作させることもできます。
上記回路はF-00w命令を使用することで簡略化できます。
101
メモ
102
転送命令
転送命令には多くの種類があります。
ここでは、その他の転送命令についても確認してみましょう。
F-001 BCD定数の転送
BCD定数を指定したメモリへ転送します。
BCD定数部分には16進数を使用することもできます。
F-070 nバイト一括転送
指定バイト数のデータを一括転送します。
コ00004~コ00005までの2バイトデータをコ00012~コ00013へ転送します。
F-74、76命令も動作が類似しています。
プログラミングマニュアルを参考にプログラムを作成してみましょう。
103
メモ
104
転送命令
転送命令を使用して、タイマー回路の設定値をラダープログラムで変更してみましょう。
JW30Hシリーズでは、F-260命令を使用することで設定値のレジスタ指定が可能です。
105
メモ
106
レベル演算条件命令
応用命令の多くは条件の立上がり(エッジ)でのみ動作し、条件がONし続けていたとしても演算は1
回しか行なわれません。
F-047、F-048命令を使用することで、応用命令の動作を「ONで演算」に変更することができます。
(条件がONしている場合は、毎スキャン演算)
F-047、F-048命令は必ず一対で使用します。
F-047、F-048命令で囲まれた範囲に記述されている命令が、レベル演算条件で動作します。
F-047、F-048命令は無条件命令です。
F-048命令を使用しなかった場合、F-047命令以降が全てレベル演算条件で動作しますので注
意が必要です。
表示器などへリアルタイムにデータ転送したい場合などに使用します。
①
②
③ ④ ⑤
⑥
入力条件
1回目の転送(①)~2回目の転送(②)までの間隔は、PLCのスキャンタイムと
同一間隔で演算が行なわれます。
107
メモ
108
比較命令
比較命令を使用しデータの大小比較を行い動作を確認してみましょう。
比較命令は転送命令と並んで、多くの応用命令のなかでも頻繁に使用される命令のひとつです。
例えば、現在の生産台数が格納されている場所と、生産目標値が格納されている場所を比較し生産
目標台数に到達したら、自動的に装置を停止するプログラムなども比較命令を使用すると簡単に作る
ことができます。
比較命令はレベル演算条件で動作します。
比較結果はフラグ領域(7357,7356,7355,7354)に出力されます。
プログラミングマニュアルF-012命令のフラグ項目をよく確認します。
比較命令を使用した基本回路
比較命令の基本回路を入力し、トレーニングツールのデジタル値を変化させ比較命令とフラグ出力の
動作を確認してみます。
フラグ領域はPLC全体で1ヶ所しかなく、比較命令以外のフラグを使用する命令でも共通で使用され
ます。
従い、比較命令と他のフラグに影響を与える命令を連続で使用した場合、フラグ領域には最後に実
行された命令の結果が出力され、正しい比較結果になりませんので注意が必要です。
109
メモ
110
比較命令
比較命令の倍長演算
比較命令を複数連続で使用し、2バイト以上のデータを大小比較できます。
比較命令には「F-012d」命令のように2ワード(16進やBCDで8桁)まで専用の命令が用意されて
いますが、複数の比較命令を組み合わせることで「倍長演算」となり、2ワードを越えるような数値の比
較もすることができます。
倍長演算をする場合は、比較する数値の下位桁から比較するようプログラムします。
コ00012、13に1234(BCD)が格納されており、コ00004、5と比較する上記プログラムの場合
データメモリは下記のようになっています。
コ00012 34
コ00013 12
つまり、BCD数値1234の下位2桁である34が格納されているコ00012を先にプログラムし
上位2桁の12が格納されているコ00013を後からプログラムします。
この順番が比較元と比較先で異なっていると正しい比較結果が得られません。
また、比較元・比較先の何れかが連続アドレスの場合は倍長演算として動作します。
上記プログラムを入力し、0番のスイッチでデータセットを実行した後、デジタル数値4桁を変化させ
倍長演算を使用した比較命令が動作するか確認してみましょう。
111
メモ
112
カウンタ命令
カウンタ命令を使用して動作を確認してみましょう
バイナリ加算カウンタ
入力条件がOFF→ONすると指定メモリのバイナリデータを加算カウントします。
BCD2桁のアップダウンカウンタ
アップダウン指示入力の状態により、指定されたメモリのBCDデータを加算・減算します。
それぞれのカウンタ命令を入力して動作を確認してみましょう
113
メモ
114
間接アドレス指定
各応用命令において、アドレスを間接的に指定しプログラム内の条件によりアドレスを変化させることで
転送先が変化したり、比較先が変化したりするプログラムを作成することができます。
間接アドレスを使用したプログラムでは、「@」記号を用いて直接アドレスと間接アドレスを区別して
います。
上記プログラムは、F-001 BCDデータ定数転送命令において転送先に間接アドレスを使用した例
になります。
@029000と指定した場合、レジスタ029000~029002までの3バイトが自動的に占有され、占有
された3バイトのレジスタの中身(データ)が定数33の最終的な転送先になります。
029002
ファイル番号
029001
029000
ファイルアドレス
転送先をコ12に設定した場合は下記のようにします。
029002
029001
029000
0
000012 (OCT)
転送先をレジスタ039000に設定した場合は下記のようにします。
029002
029001
029000
0
007000 (OCT)
ファイル番号、ファイルアドレスの関係はプログラミングマニュアルで確認します。
間接アドレスの設定には、8進定数転送や加算命令を使用する場合と専用命令(F-100/F101)
を使用する方法があります。
115
メモ
116
間接アドレス指定
F-100命令を使用した、間接アドレス生成例
Fc210を使用してアドレスを生成する例
39000~39377までに定数77を転送
117
メモ
118
中級練習問題
練習問題1
取扱説明書を参考に表を完成させてみましょう。
バイトアドレス
コ100
ファイルアドレス
30000
9000
79000
練習問題2
コントロールユニットのコミニケーションポート1へ液晶タッチパネルを接続したい。
液晶タッチパネルの通信条件が下記の状態に設定されているとき、システムメモリ何番にどのような
数値を設定すればよいか考えてみましょう。JW300SPは使用禁止です。
液晶タッチパネル通信設定
通信速度
115200kbps
パリティー
偶数
ストップビット
1
データ長
7
接続先局番
1
練習問題3
スイッチ24~27を押すとランプ60~67が下記パターンで点灯するプログラムを考えてみましょう。
スイッチ24
スイッチ25
スイッチ26
スイッチ27
67
●
○
●
○
66
●
○
●
○
65
●
○
○
●
64
●
○
○
●
63
○
●
●
○
62
○
●
●
○
61
○
●
○
●
60
○
●
○
●
練習問題4
4桁のデジタルスイッチを変化させたとき、ランプ70~75が表のパターンで点灯するプログラムを
考えてみましょう。補助リレーは何個使用しても構いません。
数値範囲(BCD)
0~99
100~199
200~299
300~449
450~999
1000~9999
ランプ
70
71
72
73
74
75
119
メモ
120
中級練習問題回答
練習問題1
バイトアドレス
コ100
コ2000
9000
79000
ファイルアドレス
100
30000
4000
13000
練習問題2
#234に16進数で15を設定
#235に16進数で01を設定
設定する数値は16進数以外の数値で設定しても問題ありません。
練習問題3
スイッチ24
スイッチ25
スイッチ26
スイッチ27
67
●
○
●
○
66
●
○
●
○
65
●
○
○
●
64
●
○
○
●
63
○
●
●
○
62
○
●
●
○
61
○
●
○
●
60
○
●
○
●
ビット配列を2進数に見立て、16進数に変換します。
121
→
→
→
→
16進数
F0
0F
CC
33
メモ
122
中級練習問題回答
練習問題4
123
メモ
124
中級練習問題回答
125
メモ
126
付録
ハンディプログラマ使用方法
PLCの停止
PLCの運転
設定値変更モード
オールメモリクリア
リレーのON/OFF状態モニタ (リレー4000番の例)
レジスタ9000のモニタ (10進数)
レジスタ19300のモニタ
コ1500のモニタ
システムメモリ#160のモニタ
異常モニタ (STEP +入力で過去履歴参照)
127
ハンディプログラマ使用方法
プログラム編集
プログラム作成手順
① PLC停止操作
② プログラム入力
③ プログラムチェック
④ PLC運転操作
下記プログラムの入力方法
上記プログラムの「AND 000002」を検索して削除
「OUT 000070」を検索して1つ上の行にAND 000003挿入
128
ハンディプログラマ使用方法
タイマー回路の入力
カウンタ回路の入力
129
ハンディプログラマ使用方法
応用命令の入力
コ以外の項目(レジスタ9000など)に
変更する場合は、STEP(+)キーの後に
入力します
130
インデックス修飾
インデックスレジスタ(Z000~Z377)を基本命令・応用命令で直接指定するリレー・レジスタ
アドレスにインデックス修飾すると、インデックスレジスタの内容を加減算したアドレスで演算
が行なわれます。
使用例
下記プログラムでは、リレー000000にインデックスレジスタZ000が割付されています。
トレーニングツールの24~26のスイッチを入力すると、インデックスレジスタZ000に
8進定数がそれぞれ転送されます。
トレーニングツールの24スイッチを入力した時
Z000には20(8進)が転送され、リレーアドレス000000にZ000の内容(20)を加算したアドレス
000020がランプ70を点灯させる条件になります。
つまり、下記プログラムと同じ条件で動作します。
トレーニングツールの25スイッチを入力した時
下記プログラムと同じ条件で動作します。
131
インデックス修飾
下記のようにプログラムした場合、リレー11000にインデックスレジスタZ000が設定されて
います。
このとき、トレーニングツールの25番スイッチで8進定数177777をZ000へ転送しています。
この場合は、下記プログラムを動作させたのと同じ働きになります。
つまり、インデックスレジスタの最上位ビットが1の場合はアドレスを減算する働きになります。
マイナスの数値を扱う場合、下記のようにF-057w命令を使用すると便利です。
132
ブロック運転
CPUがJW300シリーズの場合、ユーザープログラムを各処理・役割別にブロックに分割して
プログラミングできる「ブロック運転機能」があります。
状態
メインブロック
起動
毎スキャン実行
ランプテスト
ブロック
待機
PLCメモリには入ってい
るが、実行されることは
ない
ブザーテスト
ブロック
起動
起動リレー
5000
起動リレー5000がON
の時だけ実行される
133
ブロック運転
ブロックの追加
プロジェクトツリーのプログラムを選択し右クリックをするとサブメニューが表示されます。
ブロック追加を選択します。
ブロック構成
プロジェクトツリーより「ブロック構成」を選択するとブロック構成ダイアログが表示されます。
ブロックを選択し設定ボタンを押すと、起動・待機・起動リレーなどの設定ができます。
非転送
転送ブロック
JW300SP内でのみプログラム
の確認ができ、CPUへは転送
されません。
起動・待機などの状態にかかわらず
CPUにプログラムが転送されます。
134
Fly UP