t fas 200509 - シャープ株式会社本体正面部 番号 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨...

144
FAスクール定期講習会 初級・中級編 FAスクールテキスト シャープマニファクチャリングシステム株式会社 2005年9月作成

Upload: others

Post on 02-Jan-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

FAスクール定期講習会初級・中級編

FAスクールテキスト

シャープマニファクチャリングシステム株式会社

2005年9月作成

PLC 初級

シーケンス制御とは? 1PLCの基本構成 3トレーニングツールの構成 5電源ユニット 11コントロールユニット 13入力ユニット 17出力ユニット 19入出力ユニット 21配線実習 23特殊I/O 25オプション・その他 27ベースユニット 29サポートツール 31アドレス割付 33データメモリ 35スキャンタイム 37プログラミング 39ラダー図 41プログラム作成時の注意事項 45よく使用するプログラム 49タイマー回路 53カウンタ回路 57練習問題 61練習問題回答 65

PLC 中級

データメモリ(メモリマップ) 71アドレスの表現方法 73データの表現方法 75データメモリの内容 81システムメモリ 87パラメータメモリ 93応用命令 95プログラミングマニュアルの表記 97応用命令作成時の注意事項 99転送命令 101レベル演算条件命令 107比較命令 109カウンタ命令 113間接アドレス指定 115中級練習問題 119中級練習問題回答 121

付録

ハンディプログラマ使用方法 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には主に2通りの基本構成があります。

1、ビルディングブロック型 代表機種:JW300シリーズ2、一体型 代表機種:JW10シリーズ

ここでは、JW300シリーズを例に各部を詳しくみてみましょう。

ベースユニットPLCの各ユニットを実装するためのマザーボードです。基本/増設の区別があり、またI/Oユニットの実装可能数により数種類が存在します。

電源ユニット AC100/200Vを電源として入力し、PLCを動作させるための直流電圧をベースユニットに供給します。DC24Vを電源として入力するタイプもあります。

コントロールユニット/メモリPLC全体を制御するユニットで、CPU-LSIを搭載しプログラム演算・各ユニットとのデータ交換等を行ないます。メモリは機種により容量が異なり、プログラムや演算データの保存等を行ないます。

入力ユニットスイッチ・センサーなどのON/OFF情報を読み取ります。

出力ユニット演算によって得られた結果を、外部機器(ランプや電磁弁等の負荷 )へ送ります。

オプションユニットPLCネットワークやPCとの通信を実現するためのユニットです。

デバイスネットユニットデバイスネットマスターユニットが含まれます。

I/OリンクユニットI/Oリンク親局ユニットが含まれます。

特殊I/Oユニットアナログ入出力ユニット、パルス出力ユニットなど、特殊な用途に対応するためのユニットです。

PLCの基本構成

3

メモ

4

本体正面部

番号

出力配線端子 出力ユニットの00060~00067、及びCOM.Aに接続されています。

DC24V電源配線端子入出力配線端子のコモン、及び操作部のコモン端子へ電源を供給するための電源部です。

ミニチュアリレー(MC) 操作部の運転準備・非常停止に接続されています。

入力配線端子 入力ユニットの00000~00007、及びCOM.に接続されています。

I/O増設コネクタI/O増設ケーブルを接続、またはI/Oバス拡張アダプタ(JW-31EA)を取付します。

5V端子台次段の増設ベースユニットへDC5Vを供給します。次段の増設ベースユニットに電源ユニットを実装する場合は使用しません。

DC出力ユニット32点(JW-232S)

出力信号がONすると信号部とCOM間に電気的導通が発生し、接続負荷へ電圧を印可します。32点用・64点用はコネクタタイプとなります。

I/Oユニット用スロット入出力・特殊I/O・オプション・デバイスネット・I/Oリンク等各種ユニットを取付するスロットです。

DC入力ユニット32点(JW-234N)

入力信号部とCOM間に指定の電圧を印可すると入力信号がONします。32点用・64点用はコネクタタイプとなります。

DC出力ユニット16点(JW-212SA)

出力信号がONすると信号部とCOM間に電気的導通が発生し、接続負荷へ電圧を印可します。16点用は端子台タイプとなります。

コントロールユニット(JW-322CU)

プログラムやデータを記憶し、各種ユニットからの入力条件に基づいて演算を行い、結果を各種ユニットへ出力します。

DC入力ユニット16点(JW-212NA/214NA)

入力信号部とCOM間に指定の電圧を印可すると入力信号がONします。16点用は端子台タイプとなります。

トレーニングツールの構成

名称 概要

NFB(ノーヒューズブレーカ) トレーニングツールの電源をON・OFFします。

基本ベースユニット(JW-316KB)

電源、コントロールユニット、入出力ユニット(I/Oユニット)等を実装するベースです。

電源ユニット(JW-301PU)

コントロールユニット、入出力ユニット等にベースユニットを介してDC5Vを供給します。

① ② ③ ④ ⑤ ⑥ ⑦ ⑧

⑨ ⑩⑪

⑭⑮

5

メモ

6

操作部

番号

7セグメント表示器出力ユニット]0012・]0013に接続されています。 一桁の数字を4ビットで出力します。

モーメンタリスイッチ・ランプモーメンタリ動作型の押しボタンスイッチとランプです。モーメンタリ動作型とは、スイッチを押すとONし、離すとOFFする機構を意味します。

オルタネートスイッチ・ランプオルタネート動作型の押しボタンスイッチとランプです。オルタネート動作型は、スイッチを押すとONして離してもONのままの状態を保持し、もう一回押すとOFFします。押す度にON/OFFが反転する機構を意味します。

非常停止スイッチ運転準備スイッチ点灯時に押すとミニチュアリレー(MC)がOFFし、端子台タイプ入出力ユニット及び本体正面のDC24V電源配線端子のDC24Vが遮断されます。

デジタルスイッチ入力ユニット]0004・]0005に接続されています。 一桁の数字(BCD)を4ビットで入力します。

拡散反射型光電スイッチ入力ユニットの00030に接続されています。光電スイッチから5mm~30mmの範囲に光を反射する物体が存在する場合、センサーが反射光を検出してONします。

運転準備スイッチPLCが正常運転時に押すとミニチュアリレー(MC)がONし、端子台タイプ入出力ユニット及び本体正面のDC24V電源配線端子にDC24Vが供給されます。

入力(スイッチ)配線端子入力(スイッチ)を接続する端子です。00000~00007、及びCOMの接続学習用です。

スイッチ両極スナップスイッチです。 上側(00000~00007)に倒すとオルタネート動作型、下側(00010~00017)はモーメンタリ動作型スイッチとなっています。00010~00017は入力ユニットの信号端子、00010~00017に接続されています。

LED LED負荷です。 出力ユニットの信号端子、00070~00075に接続されています。

ブザー ブザー負荷です。 出力ユニットの信号端子、00077に接続されています。

負荷(LED)配線端子負荷(LED)を接続する端子です。00060~00067、及びCOMの接続学習用です。

LED LED負荷です。 電圧を印可することにより発光します。

トレーニングツールの構成

名称 概要

③ ④

⑦⑧ ⑨

⑩ ⑪

7

メモ

8

配線図

トレーニングツールの構成

AC100V

NFB

JW-301PU

DC24V電源

非常停止HLT

MC

FUSE JW234N COM.AB/CD

7SEG LED +V端子

押ボタンスイッチ COM.

JW232S COM.AB(-)

デジタルスイッチ COM.

押ボタン 照明 COM.

00070-00077 COM

前面パネル +24V

JW212SA COM.B(-)

前面パネル 0V

運転準備

HLT01

HLT02 HLT03

P24MC

N24MC

7SEG LED GND端子

サービスコンセント

MC

LED

MC

MC

運転準備

P24

N24

VU

u v

9

メモ

10

MC

MC

役割

電源ユニットは外部より供給された電圧をDC5Vへ変換し、各ユニットが動作するために必要な電力をベースユニットを介して供給します。また、PLCの状態により開閉する接点として、停止出力機能があります。

配線

POWER INPUT AC100~240V端子へ外部電源を供給します。

GND端子へはアース線を接続します。 (単独D種接地)インバータやモータ等、他機器との共用接地は通信障害・PLC誤動作の原因となることがあります。

HALT OUTPUT端子は外部非常停止回路に直列に接続します。(停止出力)

HALT OUTPUT端子(停止出力)の動作について

異常検出時またはプログラム編集等で停止させた場合

電源ユニット

PLC運転状態

正常運転

停止出力

ON(導通あり)

OFF(導通無し)

POWERRUN

AC100/200V

非常停止運転準備

JW-301PU

11

メモ

12

リセットスイッチ プロテクトスイッチ動作状態ランプUSB接続ポート

PCカードスロット

PG/COMMポート1

バックアップ用電池 PG/COMMポート2

種類コントロールユニットは下表の通り、メモリ容量・I/O点数・メモリカードI/F有無により複数存在します。コントロールユニットを選定する場合は、プログラムのステップ数や制御I/O点数を考慮します。

プログラム容量は一般に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ワード

512Kバイト

8K語

16K語

32K語

64K語

32Kバイト

128Kバイト

プログラム容量

JW-321CU

無し

JW-352CUJW-362CU 8192Kバイト256K語

無し有り無し有り

JW-331CUJW-332CUJW-341CU

128K語 2048Kバイト

4096点

512点

コントロールユニット (メモリ)

形 名JW-311CUJW-312CU

メモリカードI/F無し有り

入出力点数ファイルレジスタ容量

1024点JW-322CU

有り有り有り

JW-342CU

JW-322CU

13

メモ

14

プロテクトスイッチ・動作ランプ

コントロールユニット上部には、動作状態を表すランプ、プロテクトスイッチなどがまとめられています。

RUNFLTCM1CM2USBMW

RUN/FLTランプの点灯状態によりPLCの運転状況が確認できます。

詳細は、ユーザーズマニュアルハード編のトラブルシューティングに関する項目を確認します。

USBポートパソコンとUSB接続するときに使用します。USBを使用するためにはJW300SP付属のデバイスドライバをパソコンへインストールする必要があります。USBケーブルは市販のケーブルが使用できます。

PLC・パソコンに不具合が無いのに通信エラーが発生する場合は、サージ&ノイズ吸収対応のUSBケーブルをご使用ください。

PG/COMMポートJW-300SP等のパソコン用ラダー設計支援ソフト、液晶コントロールターミナルなどシリアルポートを有する機器と接続できます。コントロールユニットの機種により、使用できるポート数が変わります。

PCカードスロット市販のコンパクトフラッシュカードやSRAMカードを挿入し、プログラムのバックアップやコメント保存等の用途に使用できます。PCカードスロットが無い機種もあります。

バックアップ用電池プログラム等が保存されているメモリは揮発製メモリ(RAM)であり、電源OFF時に内容が失われてしまいます。これを防止するためにバックアップ用電池が装着されています。電池は出荷時にはコネクタに接続されていませんので、使用前に接続して交換時期を記入します。

電池は1次リチウム電池です。最長有効期間はPLCに接続してから5年になります。

通電時間率

ONでPCカードより電源投入時プログラムロードAUTO LD

はたらきCPUの動作状態により 点灯(正常)・点滅(演算停止)自己診断により異常を検出時点灯

パソコンなどの周辺装置と通信中点滅USBポートを使用しパソコンと通信中点灯プログラムメモリを変更時点滅

名称

70%(16.8時間通電/日)

1.215年(443日)1.710年(624日)2.850年(1040日)

50%(12時間通電/日)30%(7.2時間通電/日)0%(0時間通電/日)

保証値(70℃保管)0.855年(312日)

CM2USBMW

RESETPROTECT 周辺装置からの書込み禁止

PCカードにアクセス時点灯

FLTCM1

RUN

コントロールユニット (メモリ)

パソコンなどの周辺装置と通信中点滅

100%(24時間通電/日) 5年(1825日)※2

実使用値(25℃保管)2.277年(831日)3.255年(1188日)4.554年(1662日)5年(1825日)※25年(1825日)※2

ソフトリセット (プログラムモードへ移行)CARD

RUN FLT点灯点滅

消灯消灯

運転状況正常運転中停止モード自己診断で検出可能な異常発生により停止

点灯 点灯 電池異常などその他の要因で異常検出点灯消灯

PROTECTAUTO LD

RESET

CARD

USB

15

メモ

16

入力ユニットはスイッチ、センサーなどから入力される電圧信号をPLCへ取込み、信号のON/OFF状態をプログラム等で利用します。1ユニットで取込できる数(点数)には8・16・32・64と4種類から選択できます。また各ユニットで対応できる電圧も異なります。

配線について入力ユニットに配線するときは、COM(コモン)端子と0~7の端子間にスイッチなどが動作した時に電圧が加わるよう配線します。COM端子へ接続する極性が決まっているユニットもありますので、電圧や極性に十分注意します。誤った電圧(DC入力ユニットへAC200V投入など)を使用するとユニットが破損します。

本書の入出力ユニット一覧表やユーザーズマニュアル・ハード編の仕様項目を確認し、どのような種類の入力ユニットがあるか確認しておきましょう。

入力ユニット

DC24V電源

センサ

JW-214NA

17

メモ

18

出力ユニットはプログラムの演算によって得られた結果を外部機器へ出力し、ユニットからの信号で外部機器の動作をコントロールします。※注意点:ユニットから電圧が出力されるのではなく、COMと信号間の電気的導通をコントロールします。1ユニットで出力できる数(点数)には8・16・32・64と4種類から選択できます。また各ユニットで対応できる電圧も異なります。

配線について演算の結果、上図のA0がONとの結果が得られた場合、A0端子とCOM.A端子間が導通します。従い、上図のように配線した場合はA0=ONの場合にランプが点灯しますCOM端子へ接続する極性が決まっているユニットが多くありますので、電圧や極性に十分注意します。誤った電圧(DC出力ユニットへAC100V印可など)を使用するとユニットが破損します。

本書の入出力ユニット一覧表やユーザーズマニュアル・ハード編の仕様項目を確認し、どのような種類の出力ユニットがあるか確認しておきましょう。

出力ユニット

DC24V電源

リレー

ランプ

JW-212SA

19

メモ

20

入出力(I/O)ユニットの種類

※1 生産完了モデル

※2 ソース出力とは、コモン側に+の電圧を印可する出力方式です。シンク出力はコモン側が-にな

ります。

豆知識 リレー(電磁接点)以外の出力素子は半導体が使用されており、一般にSSRと呼ばれます。SSRは、Solid State Relay(ソリッドステート・リレー)の略称で、リレーに比べて応答速度が速く機械的な摩耗がありません。AC用ならトライアックやサイリスタ、DC用ならトランジスタやMOS-FETが使用されています。尚、通常「SSR」と呼ぶ場合は、AC用を指すことが多いと思われます。

32点出力ユニット 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/コモン シンク出力(コネクタ接続)

16点出力ユニット

JW-212SA(JW-212S ※1)

DC5/12/24V 0.5A/点、2A/コモン シンク(トランジスタ)出力

JW-213SA(JW-213S ※1)

AC100~240V (50/60Hz) 1A/点、2A/コモン サイリスタ出力

JW-214SA(JW-214S ※1)

AC250V/DC30V 2A/点、5A/コモン リレー出力

JW-215SA DC5/12/24V 0.5A/点、2A/コモン ソース(トランジスタ)出力※2

32点入力ユニット JW-234N DC12/24V 応答時間 1.5ms以下(コネクタ接続)

8点出力ユニット

JW-202S ※1 DC5/12/24V 1A/点、4A/コモン シンク(トランジスタ)出力

JW-203S ※1 AC100~240V (50/60Hz) 1A/点、4A/コモン サイリスタ出力

JW-204SA(JW-204S ※1)

AC250V/DC30V 2A/点、独立コモン リレー出力

16点入力ユニット

JW-211NA(JW-211N ※1)

AC100/120V (50/60Hz) 応答時間 40ms以下

JW-212NA(JW-212N ※1)

DC12/24V 応答時間 10ms以下

JW-214NA(JW-214N ※1)

DC12/24V 応答時間 1.5ms以下(高速応答タイプ)

8点入力ユニット

JW-201N ※1 AC100/120V (50/60Hz) 応答時間 40ms以下

JW-202N ※1 DC12/24V 応答時間 10ms以下

JW-203N AC200~240V (50/60Hz) 応答時間 40ms以下

入出力ユニット

名称 機種名 概要・機能

21

メモ

22

トレーニングツールの入力配線をしてみましょう。

トレーニングツール操作部

+ -電源

接続する線の色に注意しながら、上図の未配線部分を接続します。電流のループ(+から出て-に帰る)が出来るように、よく考えて接続してください。

PLCを使用した設備を構築する場合、入出力ユニットへの配線作業は必ず行う事になります。ユニットを破損させないためにも、トレーニングツールを使用して理解してください。

配線接続後に入力スイッチを動作させ、スイッチがONしたタイミングで入力ユニットのランプが点灯するか確認して下さい。

出力配線

トレーニングツール操作部

+ -電源

入力配線同様に、出力配線にもチャレンジしてみましょう。32点の入出力ユニットはコネクタタイプになりますが、配線内容は同じです。

配線イメージ接続する番号に注意しながら配線をしてみましょう

000650006600067COM.A

24V電源配線端子

正面配線端子

00061000620006300064

00000

24V電源配線端子

正面配線端子

000010000200003

配線実習

スイッチ00000

ランプ00060

00004000050000600007COM

00060

23

メモ

24

通常の入出力ユニットではなく、特殊な機能を持った入出力ユニットを特殊I/Oユニットと呼びます。特殊I/Oユニットは、基本/増設ベース(ラック0~7)に最大64台実装可能です。

特殊I/Oユニットの種類

※1 生産完了モデル※2 発売予定(2005/9現在)

IDコントロールユニット

JW-21DU※1

マイクロ波通信アンテナ接続、IDプレート無線通信機能接続可能アンテナ(19.2kbps):DS-1A、DS-5A、DS-20A等

JW-22DU

マイクロ波/光通信アンテナ接続、IDプレート無線/赤外線通信機能接続可能アンテナ(19.2kbps):DS-1A、DS-5A、DS-20A等接続可能アンテナ(76.8kbps):DS-1AK、DS-5AK、DS-20AK等接続可能リードライトヘッド(赤外線型 76.8kbps):DS-2AL

JW-23DU※2

マイクロ波通信リーダライタ接続、RFIDタグ無線通信機能接続可能リーダライタ(RFID):DS-5RW、DS-10RW

パルス出力ユニット JW-21PS制御軸数1軸  高パルス出力速度250kpps出力形式 ① CW/CCW 2パルス方式 ② 符号付きパルス方式

シリアルI/Fユニット JW-21SU1ポート(25ピンD-subメスコネクタ)RS-232C/RS-422切替

高速カウンタユニット

JW-21HC100kHz 1チャンネル動作モード:リニアカウンタ・リングカウンタ・プリセットカウンタ・ゲートカウンタ・サンプルカウンタ・ラッチカウンタ

JW-22HC100/200kHz 2チャンネル動作モード:リニアカウンタ・リングカウンタ

アナログ入力ユニット JW-24AD4チャンネル 13ビットバイナリ値及び±符号1ビット( 大値8000)アナログ入力範囲(DC0~±10V/0~±20mA)分解能 1.25mV/0.63mV(2倍増幅時)/2.5μA(2倍増幅時)

アナログ出力ユニット JW-22DA2チャンネル 15ビットバイナリ値及び±符号1ビット( 大値30000)アナログ出力範囲(DC0~±10V/0~±20mA)分解能 0.33mV(10V/30000)/0.67μA(20mA/30000)

64点入力ユニット JW-264NDC24V(高速応答タイプ・コネクタ接続)特殊I/O用リレー領域を64点分の入力として使用。

64点出力ユニット JW-262SDC5/12/24V・0.1A トランジスタ出力(シンク出力・コネクタ接続)特殊I/O用リレー領域を64点分の出力として使用。

特殊I/O

名称 機種名 概要・機能

25

メモ

26

オプションユニットを使用すると、PLC間のデータ通信やPCとのイーサネット接続等が可能となります。オプションユニットは基本ベースに最大8台実装可能です。デバイスネットユニット・I/Oリンク親局ユニットは、それぞれに対応する子局を接続して使用します。デバイスネットユニット・I/Oリンク親局ユニットは基本ベースに合計で最大4台実装可能です。

I/Oリンク

※1 生産完了モデル

JW-21RSリモートI/O子局機能基本ベースのCPU装着スロットへ実装し、JW-21CM等リモートI/O親局ユニットと接続。

リモートI/O子局ユニット

I/Oリンク親局ユニット

JW-23LM※1

I/Oリンク親局機能(172.8kbps) EIA RS-485準拠大子局32局/504点(63バイト)

I/Oリンク親局ユニット

JW-23LMHI/Oリンク親局機能(172.8kbps・345.6kbps) EIA RS-485準拠

大子局32局/504点(63バイト)

デバイスネット

デバイスネットマスターユニット

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マイナーチェンジ版終端抵抗スイッチ付き

シリアルI/Fユニット JW-22SU2ポート(9ピンD-subメスコネクタ)PORT0:RS-232C/RS-422切替 PORT1:RS-232C

JW10リンクユニット JW-25CMJW10との間でデータリンク機能又はリモートI/O機能を選択通信速度 76.8kbps(500m) 又は 38.4kbps(1km)

FL-netユニット JW-22FL5Ver2.対応10BASE5用AUIインターフェイス(D-sub15ピン)

FL-netユニット JW-22FLTVer2.対応10BASE-Tインターフェイス(RJ-45コネクタ)

FL-netユニット JW-20FL5Ver1.対応10BASE5用AUIインターフェイス(D-sub15ピン)

FL-netユニット JW-20FLTVer1.対応10BASE-Tインターフェイス(RJ-45コネクタ)

イーサネットユニット JW-255CMコンピュータリンク機能、SEND/RECEIVE機能10BASE5用AUIインターフェイス(D-sub15ピン)

イーサネットユニット JW-25TCMコンピュータリンク機能、SEND/RECEIVE機能10BASE-Tインターフェイス(RJ-45コネクタ)

オプション

リンクユニット JW-21CMリモートI/O親局、データリンクDL1、データリンクDL9、コンピュータリンクの各機能をスイッチで切り替えて選択。EIA RS485準拠

ネットワークユニット JW-22CMデータリンク機能、コンピュータリンク機能、SEND/RECEIVE機能シャープサテライトネット(同軸ケーブル:BNC/5C2V)に接続。

ME-NETユニット JW-21MNME-NET対応データリンク機能、コンピュータリンク機能ME-NETに接続。

オプション・その他

名称 機種名 概要・機能

27

メモ

28

基本ベースユニット

増設用コネクタ(OUT)

コントロールユニット用スロット 電源・コントロール以外のユニット用スロット

増設ベースユニット

増設用コネクタ(OUT)

増設用コネクタ(IN)

ベースユニットには電源・コントロール・I/O等の各ユニットを実装する基本ベースユニットと、基本ベースユニットだけでは実装スロットが足りない場合に追加する増設ベースユニットがあります。基本ベースユニットにはコントロールユニットが実装できますが、増設ベースユニットには実装できません。また、電源ユニットとコントロールユニットの実装位置はあらかじめ決められています。

増設について

増設を行なう場合、コントロールユニットの 大I/O点数と各ユニットの消費電流に注意して増設を行なって下さい。I/Oバス拡張アダプタを使用した場合、 大7枚まで増設できます。(基本ベースユニット含め8枚)I/Oバス拡張アダプタを使用しない場合は、 大3枚(基本ベースユニット含め4枚)となります。増設ベースユニットのラック番号は、番号が重複しないように設定します。

基本ベースユニット、増設ベースユニット、増設方法及びI/Oバス拡張アダプタに関する詳細は、ユーザーズマニュアル・ハード編を参照しましょう。

ラック番号スイッチ

ベースユニット

5V端子台

電源ユニット用スロット

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-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

バイトアドレスは、8点分のリレーアドレスをまとめて1バイト(8点)単位で表現したアドレスになります。バイトアドレスを表現する場合、『 コ 』を使用します。

JW

-204SA

空き

JW

-212SA

アドレス割付

JW

-301P

U

JW

-322C

U

JW

-214N

A

JW

-234N

JW

-212SA

JW

-232S

空き

33

メモ

34

コントロールユニットのデータメモリは機種により容量が異なります。

JW-311/312CU

~ ~~ ~

JW-321/322CU

~ ~~ ~~ ~

JW-331/332/341/342/352/362CU

~ ~~ ~~ ~

各機種のリレー番号7000以降は、キープリレー領域(停電保持)になります。各機種のリレー領域内のリレー番号7300~7377は、特殊リレーが割付されます。

特殊リレー

特殊リレーをモニタして動作を確認してみましょう。

電源異常7377

内  容MWフラグMWリセットPCカードスロットのメモリカードへセーブ実行メモリカードビジーメモリカードエラー異常コード格納ノンキャリーフラグエラーフラグ

リレー番号733073317332

7355

増設電源異常

設定値変更スイッチ常時OFF接点メモリ異常CPU異常電池異常入出力異常オプション異常特殊I/Oユニット異常

0.1秒クロックイニシャライズパルスヒューズ切れ1秒クロック

キャリーフラグゼロフラグ

73737374

7362736373647365

73567357

73757376

7366737073717372

7360

73337334

7340~73477354

コ54377リレー

100000 543777 コ10000

コ157720000 75777 コ2000 コ7577

コ15377

0 15777 コ0バイトアドレス領域 リレー番号

0 15777

100000 153777

コ0 コ1577領域 リレー番号

リレー 20000 75777 コ2000 コ7577コ10000

リレー

バイトアドレス

データメモリ

領域 リレー番号コ0 コ157715777

コ2000 コ7577

バイトアドレス0

20000 75777

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

B

時間

ランプ71

000070

000071

ランプ70

ランプ71

000000

000070

000071

ランプ70

000000

入出力処理 プログラム演算 入出力処理 プログラム演算 入出力処理

プログラム作成時の注意事項

47

メモ

48

自己保持回路

自己保持回路はPLCラダープログラムで も利用される回路の1つで、モーメンタリスイッチなどの入力を受け、自らの出力信号で回路を保持(コイルON状態を保持)する働きがあります。

自己保持回路は、セットコイルとリセットコイルを組み合わせることでも作成することができます。

自己保持回路を作成し、JW-300SPでモニタをしながらスイッチを動作させ、自己保持回路の働きを確認してみましょう。

よく使用するプログラム

000000

000070

000001

49

メモ

50

優先回路

入力スイッチ0か1のいずれか先に入った方を優先し、後で入った方の入力を無効にします。

入力スイッチ0と1が同時(同一スキャン内)にONになった場合は、入力0の方が(プログラム順が上)優先されます。

オルタネート回路

テレビや携帯電話の電源スイッチのように、切れている時に押すと電源が入り、電源が入っている時に押すと電源が切れる回路になります。

特殊リレーを利用した回路

特殊リレーには、0.1秒、1秒のクロック信号が割付されているリレーがあります。ランプの点滅信号などに利用することができます。

よく使用するプログラム

51

メモ

52

待ち時間調整等の時間制御には、タイマ命令を使用した回路を利用します。タイマ命令には多くの種類がありますが、 も標準的なタイマ命令を使い動作を学習をします。

入力条件 タイマ番号 設定値

タイマ TMR00000の限時接点

タイマ番号は、カウンタ・MD命令と共通使用になります。タイマ同士での同一番号重複使用やタイマとカウンタで同一番号を使用することは出来ません。

設定値は0.1秒(100ms)単位で減算されます。設定値を100とした場合、タイマの動作時間は10秒になります。(設定値 100 × 0.1秒 = 10秒)

タイマ回路を入力して、動作を確認してみましょう。

JW-342CUJW-352CUJW-362CU

BCD

0~1777

0~3777

JW-311CUJW-312CU

タイマ(TMR)回路

演算方式 計数値 タイマー番号 設定値範囲機種

JW-321CU

0~17777

定数 0~7999OR

レジスタ指定

減算式0.1秒単位

JW-322CUJW-331CUJW-332CUJW-341CU

53

メモ

54

タイマ設定値のレジスタ指定

タイマ命令の設定値には、定数(固定値)に加えレジスタでの指定も可能です。液晶コントロールターミナル等の外部機器や条件により動作時間を変更したい場合は、定数でなくレジスタを指定すると便利です。

レジスタ009000の値が10(BCD)の状態でタイマを動作させると、定数で10に設定した場合と同じ動作になります。

JW-300SPでレジスタ009000に適当な数値を設定し、タイマの動作を確認してみましょう。

タイマ(TMR)回路

55

メモ

56

回数を使用する制御にはカウンタ命令を使用した回路を利用します。カウンタ命令には多くの種類がありますが、 も標準的なカウンタを使い動作の学習をします。

カウンタ番号 設定値カウント入力

リセット入力

カウンタ番号は、タイマ・MD命令と共通使用になります。カウンタ同士での同一番号重複使用や、タイマとカウンタで同一番号を使用することは出来ません。

設定値は1単位で減算されます。設定値を100とした場合、カウント入力が100回ON/OFFするとカウントアップになります。

リセット入力がONになると、設定値がリセットされます。リセット入力がONの時は,カウント入力からの信号が来てもカウンタは動作しません。

カウンタ回路を入力して、動作を確認してみましょう。

JW-341CUJW-342CUJW-352CUJW-362CU

BCD

0~1777

定数 0~7999OR

レジスタ指定

0~3777JW-322CU

カウンタ CNT00100の限時接点

JW-331CU

0~17777

JW-332CU

カウンタ(CNT)回路

設定値範囲JW-311CU

減算式

機種 演算方式 計数値 タイマー番号

JW-312CUJW-321CU

57

メモ

58

カウンタ設定値のレジスタ指定

カウンタ命令の設定値には、定数(固定値)に加えレジスタでの指定も可能です。液晶コントロールターミナル等の外部機器や、条件により動作時間を変更したい場合は、定数でなくレジスタを指定すると便利です。

レジスタ009000の値が10(BCD)の状態でカウンタを動作させると、定数で10に設定した場合と同じ動作になります。

JW-300SPでレジスタ009000に適当な数値を設定し、カウンタの動作を確認してみましょう。

カウンタ(CNT)回路

59

メモ

60

練習問題1

パソコンの関数電卓を使用して、プログラム容量32K語のJW-322CUのプログラムアドレスの 大値を計算により求めてみましょう。

練習問題2

下記ユニット構成のPLCがあります。 I/Oアドレス・バイトアドレス表を完成させてみましょう。

0 1 2 3 4 5 6 7

~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~

練習問題3

下図のPLC構成には誤りがあり正しく動作しません。 誤っている箇所を探してみましょう。CPUの入出力点数、増設ベースへ装着できるユニットの種類に注目して考えてみましょう。

JW

-232S

JW

-232S

空き

JW

-232S

JW

-232S

JW

-301P

U

JW

-311C

U

JW

-234N

練習問題

JW

-301P

U

JW

-322C

U

空き

JW

-204SA

JW

-212SA

JW

-232S

JW

-234N

JW

-214N

A

空き

345

JW

-234N

スロット01

バイトアドレス

67

I/Oアドレス

2

JW

-234N

JW

-234N

JW

-234N

JW

-234N

JW

-301P

U

JW

-22C

M

JW

-24A

D

JW

-232S

JW

-232S

JW

-232S

JW

-232S

スロット→

JW

-232S

JW

-234N

JW

-234N

JW

-234N

JW

-301P

U

JW

-232S

JW

-232S

61

メモ

62

練習問題4

トレーニングツールのセンサ00030を反応させるとランプ00070~00072が下記の条件で動作するプログラムを考えてみましょう。(センサー検出前はランプは全てOFFします)

70 71 72 70 71 72 70 71 72 70 71 72○ ○ ○ ● ○ ○ ○ ● ○ ○ ○ ●

3秒保持 3秒保持 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 = 3276732767(10)を8進数へ変換 = 77777(8)※32768(10) = 100000(8) だが、プログラムアドレスは0から開始されるため -1 する。

練習問題2

回答

0 1 2 3 4 5 6 7

~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~

解説 スロット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点を占有しま  すが、 大入出力点数には影響を与えません。  詳細は、ユーザーズマニュアル・ハード編のリレー番号の割付の項を参照してください。

コ000217 000220 000257 コ00022 コ000256 000200 000217 コ00020

コ000155 000160 000177 コ00016 コ000174 000120 000157 コ00012

コ000053 000060 000117 コ00006 コ000112 000040 000057 コ00004

コ000011 000020 000037 コ00002 コ000030 000000 000017

空き

コ00000スロット I/Oアドレス バイトアドレス

JW

-212SA

JW

-232S

JW

-234N

JW

-214N

A

練習問題回答

JW

-301P

U

JW

-234N

JW

-322C

U

空き

JW

-204SA

65

メモ

66

練習問題4

模範回答

練習問題5

模範回答

練習問題回答

67

メモ

68

練習問題6

模範回答

練習問題回答

69

メモ

70

PLC中級編

応用命令が含まれるプログラムを作成するときは、データメモリを使用します。つまり、データメモリの内容を理解することが応用命令を使いこなすための必須条件になります。

コントロールユニット(JW3**CU)のデータメモリは、機種により容量が異なります。

JW-311CUJW-312CU

JW-321CUJW-322CU

JW-331CUJW-332CU

JW-341CUJW-342CU

JW-352CU JW-362CU

00000000(8)

00073777(8)(30Kバイト)

00000000(8)

00105777(8)(35Kバイト)

ファイルレジスタ⇒

00200000(8)

00277777(8)(32Kバイト)

00200000(8)

00577777(8)(128Kバイト)

00200000(8)

02177777(8)(512Kバイト)

00200000(8)

10177777(8)(2048Kバイト)

00200000(8)

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のファイルレジスタ」に変換されます。

ファイルレジスタはコメントメモリに使用することができます。

ファイルアドレス(容量)

00000000(8)

00177777(8)(64Kバイト)

データメモリ(メモリマップ)

・リレー 30720点 (3.75Kバイト)・TMR/CNT接点 1024点 (0.25Kバイト)・TMR/CNT/MD の現在値 (2Kバイト)・レジスタ (24Kバイト)

・リレー 53248点 (6.5Kバイト)・TMR/CNT接点 2048点 (0.5Kバイト)・TMR/CNT/MD の現在値 (4Kバイト)・レジスタ (24Kバイト)

・リレー 180224点 (22Kバイト)・TMR/CNT接点 8192点 (2Kバイト)・TMR/CNT/MD の現在値 (16Kバイト)・レジスタ (24Kバイト)

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(16点)I/Oアドレス 0 ~ 17 バイトアドレス コ 0 ~ コ 1ファイルアドレス 0 ~ 1

② JW-234N(32点)I/Oアドレス 20 ~ 57 バイトアドレス コ 2 ~ コ 5ファイルアドレス 2 ~ 5

③ JW-212SA(16点)I/Oアドレス 60 ~ 77 バイトアドレス コ 6 ~ コ 7ファイルアドレス 6 ~ 7

④ JW-232S(32点)I/Oアドレス 100 ~ 137 バイトアドレス コ 10 ~ コ 13ファイルアドレス 10 ~ 13

JW

-212SA

JW

-232S

アドレスの表現方法

JW

-301P

U

JW

-322C

U

JW

-214N

A

JW

-234N

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

『-』は表現できないことを表します。

1F -○○○●●●●○ 00011110○○○●●●●● 00011111 037 031

036 030

1C -1D -1E -

○○○●●●○● 00011101 035 029○○○●●●○○ 00011100 034 028

1B -○○○●●○●○ 00011010○○○●●○●● 00011011 033 027

032 026

18 1819 191A -

○○○●●○○● 00011001 031 025○○○●●○○○ 00011000 030 024

17 17○○○●○●●○ 00010110○○○●○●●● 00010111 027 023

026 022

14 1415 1516 16

○○○●○●○● 00010101 025 021○○○●○●○○ 00010100 024 020

13 13○○○●○○●○ 00010010○○○●○○●● 00010011 023 019

022 018

10 1011 1112 12

○○○●○○○● 00010001 021 017○○○●○○○○ 00010000 020 016

0F -○○○○●●●○ 00001110○○○○●●●● 00001111 017 015

016 014

0C -0D -0E -

○○○○●●○● 00001101 015 013○○○○●●○○ 00001100 014 012

0B -○○○○●○●○ 00001010○○○○●○●● 00001011 013 011

012 010

08 0809 090A -

○○○○●○○● 00001001 011 009○○○○●○○○ 00001000 010 008

07 07○○○○○●●○ 00000110○○○○○●●● 00000111 007 007

006 006

04 0405 0506 06

○○○○○●○● 00000101 005 005○○○○○●○○ 00000100 004 004

03 03○○○○○○●○ 00000010○○○○○○●● 00000011 003 003

002 002

00 0001 0102 02

○○○○○○○● 00000001 001 001○○○○○○○○ 00000000 000 000

データの表現方法

ビットの状態 2進数 8進数 10進数 16進数 BCD

ASCII-

ETX

--

-----

--

-CLS

HOMECR

LF

--------

---

----

77

メモ

78

10進数『196』を2進数、8進数、16進数、BCDに変換してみましょう。

10進数『196』を2進数に変換はじめに2進数に変換すると、後の変換を楽に行うことができます。 10進数を2進数に変換するためには《 》のようなビットの重みを知る必要があります。

196=128+64+4なので128と64と4のビットに1が立ちます。

つまり、10進数『196』を2進数に変換すると『11000100』になります。

8進数に変換8進数は7よりも大きくなると桁上がりするので4+2+1=7 つまり、右端から3桁ごとにビットの重み計算を行います。

つまり、2進数『11000100』を8進数に変換すると『304』になります。

16進数に変換16進数は15よりも大きくなると桁上がりするので8+4+2+1=15 つまり、右端から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に変換できないことになります。

重み8 + 重み4 +  0  + 0=12   0  + 重み4 +  0  + 0=4

0《8》 《4》 《2》 《1》 《8》 《4》 《2》 《1》

重み2+重み1=3    0  +  0 + 0=0 重み4 + 0 + 0=4

1 1 0 0 0 1 0

《1》 《4》 《2》 《1》《2》 《1》 《4》 《2》0 1 0 01 1 0 0

0 1 0 01 1 0 0

《8》 《4》 《2》 《1》《128》 《64》 《32》 《16》

データの表現方法

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し、コントロールユニットのMWランプが消灯します。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バイトの容量がありますが次の表以外のメモリ番号は予約領域のため、データを書き込まないでください。

デバイスネットJW-20DNの設定(ユニット№2)デバイスネットJW-20DNの設定(ユニット№3)

ロギングデータを格納する領域の先頭アドレス(ファイルアドレス)ロギング格納回数

PCカードの設定故障診断設定

システムメモリ#0000~#2777のレジスタ転送BCCチェックコードデバイスネットJW-20DNの設定(ユニット№0)異常コード別の発生回数(№1~№32)

出力保持アドレスの設定(拡張エリア)ROM運転モードの設定ROM格納領域の設定EA-PGポートの設定

割込処理の設定瞬停検出時間延長の設定I/Oアドレスの登録方法の設定キープリレー領域の設定(拡張エリア)

キープリレー領域の設定出力保持アドレスの設定PG/COMM1ポートの設定PG/COMM2ポートの設定

PG/COMM2ポートの通信方式の選択1msタイマ機能の設定コンスタントスキャン時間の設定10msタイマ機能の設定

ヒューズ断検出時、運転継続/停止の設定オプシュニットが異常時、運転継続/停止の設定デバイスネットユニット等が異常時、運転継続/停止の設定異常履歴格納領域の使用選択

自己診断結果の異常コードオプションユニットの異常コードTMRのリセット条件CNTのリセット条件

ブートプログラムバージョンのモニタ ブートプログラムの機種コード異常オプションユニットのスイッチ設定値のモニタ異常デバイスネットユニット等のスイッチ設定値のモニタ

2400~2477

システムメモリ

内 容時計機能(BCD)

タイムスタンプのフォーマット

スキャンタイムのモニタ異常I/Oを検知したI/Oのラック、スロットのモニタプログラムの異常アドレスのモニタユーザープログラム ソースサムチェックコードユーザープログラム ソースサムチェック異常ブートプログラムバージョンのモニタ (サブバージョン)

2220~2236

2106~21552156~2161

22002300~2377

ロギング指定レジスタ(1~10)のレジスタアドレス(ファイルアドレス)次のロギングデータの格納カウンタロギングデータの格納回数2162~2165

21042105

2100~2103

0300~03771600~1677

0270~02720277

02560266、0267

0252、02530255

02470250、0251

0241~02450246

0234、02350236、0237

0230、02310232、0233

02260227

02220225

02110213

02060207

02010202

0160~01670170~0177

01500152

00650066、0067

00600064

システムメモリ(#)0010~0017

0050~00530054~0057

0030~00350046

87

メモ

88

例1 TMR400~477だけを10msタイマにする。

TMR設定値の最小単位は通常100ms単位ですが、システムメモリ『#0227』を設定変更すると10ms単位になります。各ビットをONすると、各領域が10msタイマになります。

7 6 5 4 3 2 1 0初期値:00(H)

TMR000~077TMR100~177TMR200~277TMR300~377

TMR400~477TMR500~577 1(ON)・・・10msタイマTMR600~677 0(OFF)・・・100msタイマTMR700~777

つまり、4ビット目をON(1)するとTMR400~477だけが10msになります。

例2 キープリレー領域を04000~以降にする。

キープリレー領域は通常7000~以降ですが、システムメモリ『#0230』『#0231』の2バイトを設定変更するとキープリレー領域を増減することができます。ファイルアドレスで設定します。

  システムメモリ #231   システムメモリ #23015 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》

4 0 0

#0227

0 0 0

ビット

システムメモリ

89

メモ

90

自己診断

自己診断の結果、PLC自身が異常と判断した場合、異常コードが#0160~#0167までに格納されます。トラブルシューティングのときによく使用します。

システムメモリ  #0160~#0167

最新の異常コードは#0160に格納されます。#0160に格納された異常コードとは別の異常があらたに発生した場合は、別のあらたな異常コードが#0160に格納されて、今まで#0160に格納されていた異常コードは#0161にシフトされます。同じ異常コードがあらたに発生した場合は無視されます。(シフトされません。)

#0167までシフトされた異常コードはあらたな異常が発生すると、#0167の異常コードは捨てられます。つまり、8回分の異常内容を記憶できます。これらの異常コードは任意にクリアしない限り記憶されています。

PLCに異常が発生した場合、ハンディプログラマをコントロールユニットに接続すると異常内容を表示しますが、これは#0160の異常内容を表示しています。また、時々異常が発生する場合は、過去に記憶された異常コードをクリア(00書込)しておくと、わかりやすく便利です。

コントロールユニットの電池を外して、電池電圧低下の異常コードを確認してみましょう。

異常コードを確認後、その原因を調査して復旧手順を検討します。異常コードは28種類あるので、取説等を参考にトラブルシューティングを行ってください。

#0160異常コード 異常コード 異常コード 異常コード 異常コード 異常コード 異常コード 最新の

異常コード

#0163 #0162 #0161#0167 #0166 #0165 #0164

システムメモリ

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など)をします。

リンクユニット間などでデータ通信を行います。

間接アドレス指定・ロギング・サムチェック命令等。

応用命令でタイマ・カウンタを動作させます。

ビットのシフトを行います。

分岐・ジャンプなどを行います。

PLCの時計データを処理します。

レジスタ間または定数と比較をします。

データを変換します。(バイナリ→16進など)

95

メモ

96

応用命令には多数の種類があり、その全てを覚えるのは大変なことです。必要に応じ、プログラミングマニュアルで命令を確認しながら使用して行きますが、マニュアルの表記について理解し命令の使用方法をマニュアルより読取る力が必要になります。各命令はほぼ同一の表記で統一されているため、転送命令を例にプログラミングマニュアルの記述について確認してみましょう。

使用例

内 容

命令をJW-300SPに表示した場合の形を表します。

命令の動作内容を表します。

演算が実行された場合のデータの流れを表します。

PLCのメモリや定数の使用できる範囲を示します。

命令が動作する条件を示します。    

演算後のデータメモリ・フラグの状況を示します。

サンプルプログラムと動作についての解説です。

プログラミングマニュアルの表記

名称

名 称

シンボル

機能

演算内容

使用範囲

演算条件

演算後の内容

97

メモ

98

応用命令を作成する場合、下記の注意事項を守り正しく記述する必要があります。

① 転送命令などでデータの転送先(書込み先)に入力ユニットが装着されているアドレスを指定した場合正しく動作しません。

② 命令を動作させるための条件が必要な命令において、条件が無い回路は作成できません。

③ 命令が動作する条件が無い命令(無条件命令)で条件を設定することはできません。

④ 2バイト以上のメモリを転送する場合などは、奇数アドレスは設定できません。

その他、マニュアルに記載されている注意事項を守り作成して下さい。

応用命令作成時の注意事項

99

メモ

100

転送命令を使用し、プログラムの動作を確認してみましょう。

転送命令は頻繁に使用される命令の1つです。トレーニングツールを利用し、データの転送元・転送先をいろいろ変化させ転送命令の動きを確認してみましょう。

入力条件転送命令の動作条件は、「入力信号の立上がり」となっており、このプログラムの場合はトレーニングツールの入力スイッチ0が該当します。スイッチ0がOFFからONに変化したとき転送命令が動作します。

データの取出し元・転送先データの取出し元・転送先には使用できる範囲があります。プログラミングマニュアルの使用範囲を確認し適切なアドレスを指定します。

転送命令を含め多くの応用命令は下記回路のように複数を同じ条件で動作させることもできます。

上記回路はF-00w命令を使用することで簡略化できます。

転送命令

コ00004 コ0001223 (hex) 00 (hex)

動作前000000=OFF 動作後000000=ONコ00004 コ0001223 (hex) 23 (hex)

入力条件

信号の立ち上がりで転送が1回実行されます

データの取り出し元

トレーニングツール2桁デジタルスイッチ

データの転送先

トレーニングツール2桁デジタル表示部

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と比較する上記プログラムの場合データメモリは下記のようになっています。

3412

つまり、BCD数値1234の下位2桁である34が格納されているコ00012を先にプログラムし上位2桁の12が格納されているコ00013を後からプログラムします。この順番が比較元と比較先で異なっていると正しい比較結果が得られません。また、比較元・比較先の何れかが連続アドレスの場合は倍長演算として動作します。

上記プログラムを入力し、0番のスイッチでデータセットを実行した後、デジタル数値4桁を変化させ倍長演算を使用した比較命令が動作するか確認してみましょう。

コ00012コ00013

比較命令

111

メモ

112

カウンタ命令を使用して動作を確認してみましょう

バイナリ加算カウンタ入力条件がOFF→ONすると指定メモリのバイナリデータを加算カウントします。

BCD2桁のアップダウンカウンタアップダウン指示入力の状態により、指定されたメモリのBCDデータを加算・減算します。

それぞれのカウンタ命令を入力して動作を確認してみましょう

カウンタ命令

113

メモ

114

各応用命令において、アドレスを間接的に指定しプログラム内の条件によりアドレスを変化させることで転送先が変化したり、比較先が変化したりするプログラムを作成することができます。

間接アドレスを使用したプログラムでは、「@」記号を用いて直接アドレスと間接アドレスを区別しています。

上記プログラムは、F-001 BCDデータ定数転送命令において転送先に間接アドレスを使用した例になります。@029000と指定した場合、レジスタ029000~029002までの3バイトが自動的に占有され、占有された3バイトのレジスタの中身(データ)が定数33の最終的な転送先になります。

転送先をコ12に設定した場合は下記のようにします。

転送先をレジスタ039000に設定した場合は下記のようにします。

ファイル番号、ファイルアドレスの関係はプログラミングマニュアルで確認します。

間接アドレスの設定には、8進定数転送や加算命令を使用する場合と専用命令(F-100/F101)を使用する方法があります。

029001 029000

0 007000 (OCT)

0 000012 (OCT)

029002 029001 029000

間接アドレス指定

029002 029001 029000ファイル番号 ファイルアドレス

029002

115

メモ

116

F-100命令を使用した、間接アドレス生成例

Fc210を使用してアドレスを生成する例39000~39377までに定数77を転送

間接アドレス指定

117

メモ

118

練習問題1取扱説明書を参考に表を完成させてみましょう。

練習問題2コントロールユニットのコミニケーションポート1へ液晶タッチパネルを接続したい。液晶タッチパネルの通信条件が下記の状態に設定されているとき、システムメモリ何番にどのような数値を設定すればよいか考えてみましょう。JW300SPは使用禁止です。

液晶タッチパネル通信設定

練習問題3スイッチ24~27を押すとランプ60~67が下記パターンで点灯するプログラムを考えてみましょう。

67 66 65 64 63 62 61 60● ● ● ● ○ ○ ○ ○○ ○ ○ ○ ● ● ● ●● ● ○ ○ ● ● ○ ○○ ○ ● ● ○ ○ ● ●

練習問題44桁のデジタルスイッチを変化させたとき、ランプ70~75が表のパターンで点灯するプログラムを考えてみましょう。補助リレーは何個使用しても構いません。

900079000

コ10030000

200~299300~449450~999

1000~9999

72737475

スイッチ26

ランプ7071100~199

スイッチ24

中級練習問題

通信速度パリティーストップビット

115200kbps偶数

1

バイトアドレス ファイルアドレス

スイッチ25

7接続先局番 1データ長

スイッチ27

0~99数値範囲(BCD)

119

メモ

120

練習問題1

練習問題2#234に16進数で15を設定#235に16進数で01を設定

設定する数値は16進数以外の数値で設定しても問題ありません。

練習問題3

67 66 65 64 63 62 61 60● ● ● ● ○ ○ ○ ○ →○ ○ ○ ○ ● ● ● ● →● ● ○ ○ ● ● ○ ○ →○ ○ ● ● ○ ○ ● ● →

ビット配列を2進数に見立て、16進数に変換します。

中級練習問題回答

スイッチ24スイッチ25スイッチ26スイッチ27 33

バイトアドレス ファイルアドレス

16進数F00FCC

コ100 100コ2000 300009000 400079000 13000

121

メモ

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シリーズの場合、ユーザープログラムを各処理・役割別にブロックに分割してプログラミングできる「ブロック運転機能」があります。

ブロック運転

メインブロック

ランプテストブロック

ブザーテストブロック

状態

起動

待機

起動起動リレー

5000

毎スキャン実行

PLCメモリには入っているが、実行されることはない

起動リレー5000がONの時だけ実行される

133

ブロックの追加プロジェクトツリーのプログラムを選択し右クリックをするとサブメニューが表示されます。ブロック追加を選択します。

ブロック構成プロジェクトツリーより「ブロック構成」を選択するとブロック構成ダイアログが表示されます。ブロックを選択し設定ボタンを押すと、起動・待機・起動リレーなどの設定ができます。

ブロック運転

転送ブロック

起動・待機などの状態にかかわらずCPUにプログラムが転送されます。

非転送

JW300SP内でのみプログラムの確認ができ、CPUへは転送されません。

134