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