Nゲージをもっと楽しもう!

 

                     プログラム:PLCラダープログラム

 

                    ターンアウトシステム(turnout system)
 

トップページ マイコン コントローラー 運行計画 プログラム
接続 オプション 購入 リンク お知らせ/問合せ
 

  プログラムの準備

運行計画分析表の作成が終わるとPICマイコンに転送するプログラムの作成へ進みます。
プログラムと言っても特別なコード体系を理解、学習する必要はありません。
PLCラダープログラムで使用するシンボルはA接点と、その接点をORで結ぶ結線と最後のendマークだけです。


その他出力ポート命令、内部監査リレー(レジスタ)、タイマ、立ち上がりワンショットパルス等のシンボルは、既にプログラム済みですから改めて追加、削除、変更する必要はありません。

「PLCラダープログラム(Base)の説明」をプリントアウトして確認してください。

1.左側に表示されている行ナンバーの1~29までは既にプログラム済みの予約領域ですから、絶対に追加、削除、変更しないでください。

2.※1で示された行はポート出力命令行で自己ホールド回路となっていますから、絶対に追加、削除、変更しないでください。

 

  運行計画分析結果のPLCラダープログラムへの展開

「運行計画分析からラダー図への展開」 をプリントアウトして確認してください。
この図に従って順に説明します。

1.分析表で切り替えるポイントが存在しない場合でも、プログラム上は何もしない(ポイントを直進状態にする)ことを明示的に指示する必要があります。
具体的な事例はSW1(M1)のABライン周回です。その場合は行№30にM1を配置しM0にORで結びます。
同様にSW14(M14)、SW15(M15)も運行計画自体が存在しないので、M14をORでつなぎ、さらにM15もORでつなぎます。
これによりSW1、SW14、SW15が押された時には、すべてのポイントが直進状態となります。

2.SW3(M3)が押された時はP-2ポイント(PICマイコン出力ポートY04)の一個だけ切り替えます。
Y04を出力する行の次の行にM3を配置して上の行とORでつなぎます。
この時自己ホールド回路のLD Y04、AndNot M0、OUT Y04の部分は絶対に追加、削除、変更しないでください。

3.以下同様にY17までを該当するM1~M13をORでつなぎながら配置して行きます。

4.最後のENDまでがPLCシーケンスプログラムとなります。

5.行番号の最大値は分析表のポイント切り替え指令(●)の数に比例します。実績としては72~74行です。

経験的に90行程度であればプログラム容量を超える事はないようですが、100行を超えるとプログラム容量を超える可能性が高くなります。

 

  連枝(れんり)のインストールとプログラム、コンパイルの流れ

PLCラダープログラマー「連枝(れんり)」のインストール

C言語やアセンブラ言語でPICマイコンのプログラムを作成する事は可能であり、圧倒的に多いと思います。しかし、マイコンプログラムに習熟していない場合はハードルが高いと思います。

このホームページの説明はC言語やアセンブラ言語を知らなくても、運行分析表の分析結果をPLCラダーに転記すれば良いように単純化しています。

プログラム作成にハードルを下げるために、PLCラダープログラマーの「連枝(れんり)」を採用しています。

CAH(Computer Aided Human)のホームページのホームページから「連枝」(れんり)のスタンダード(S)版のフリー版を、ダウンロードして解凍、インストールしてください。
CAHのホームページにはたくさんの情報が公開されていますから参考にしてください。


1.連枝(れんり)を起動して[ファイル][設計回路図を開く]と進む
PLCラダープログラムはゼロから作るのではなく、途中まで作成してある設計回路図を開いて、運行分析表の結果を転記する形で進めます。




2.最初はベースラダープログラム(BaseProgram)から始めます。
途中まで作成してある「設計回路図」はベースプログラム(BaseProgram.MBS)です。
ここからダウンロードしてください。(zip形式で圧縮しています)




3.連枝(れんり)の操作
連枝(れんり)を起動してBaseProgramを読み込むと最上段に各種ボタンが並んでいますが、使用するポタンは
①行を開ける:BaseProgramにはA接点を追記する、スペースが空いていないので必要なだけ行を開けます。
②A接点を選択する:運行計画の分析結果から追加で配置する接点はA接点のみです。
③線を引く:配置したA接点はそのままでは機能しません、縦に線を引いてOR接続とします。
④番号をふる:配置した接点には番号をふらないと機能しないので、該当するM1~M15の番号をふります。
「運行計画分析からラダー図への展開」の内容を何度も見て確認してください。




4.プログラムの保存
作成したPLCラダープログラムはそのまま上書きしてしまうとBaseProgram.MBSとなりますから、運行分析表で決めたファイル名として保存します。
ファイル名や、フォルダ名は半角英数字、アルファベット始まりとしてください。日本語が混じるとHEX変換できないことがあります。



5.コンパイルの設定
完成したPLCラダープログラムはコンパイルのプロセスを経て、PICマイコンが認識するマシン語に変換されます。
そのために連枝(れんり)のコンパイル設定が必要となります。
①連枝の画面から「ビルド(B)」を選び、そこから「CPU設定」画面を開きます。
「CPU設定」PICマイコン:pic16f84、クロック:20MHz、チャタ防止:onとします。
③「ASM/LST定置」はアセンブラが分かる人だけチェックしてください。
④その他の項目は変更しないでください。



6.コンパイル
コンパイルはPLCラダープログラム(拡張子は.MBS)を連枝の画面から「ビルド(B)」、「回路コンパイル」で行います。
成功すると成功の表示が出ます。
文法の誤りや番号のふり忘れはメッセージが表示されますから、修正してから改めて「回路コンパイル」を実施します。
間違った、あるいは動かないプログラムでも文法が合っていればコンパイルは成功します。
あくまでもコンパイルのエラーメッセージは文法チェックのみです。



7.HEXファイル作成
「回路コンパイル」が成功したら「SEQ-HEX変換(H)」を実行します。




8.HEXファイルの確認
PICマイコンが理解できるのはHEXファイルだけですから、すべてのコンパイルが終わったらファイルフォルダーを開いて確認します。
下の事例の場合「demo1.HEX」がPICマイコンに書き込まれるマシン語ファイルです。
PLCラダープログラムは「demo1.MBS」です。
ポイントコントローラの動作が期待通りでない場合や変更する場合は、このファイルを修正しますから、バックアップを取って世代管理等を考えてください。

「demo1.SEQ」ファイルはラダー図とHEXファイルをつなぐ「中間言語ファイル」と思われます。




 

  PICkit2とポイントコントローラーの接続

1. PCとPICkit2とポイントコントローラー(N1509A)を接続


「AKI-PIC2プログラマボード(PICkit2互換)」は販売中止となっています。 従ってPICkit4又はPICkit3(正規品又は互換品)にて書き込んでください
PICkit2をてPICkit4又はPICkit3(正規品又は互換品)に読み替えてください。

2. PICkit2とポイントコントローラー(N1509A)を接続 QIコネクタ6Pの接続は「三角マーク」を確認する必要があります。

3. QIコネクタ6Pとポイントコントローラーとの接続
ポイントコントローラー(N1509A)のICSP接続コネクタの「三角マーク」とQIコネクタ6Pの「三角マーク」を合わせて接続する。
その際にスライドスイッチをログラムモードプに変更しておく。
書き込み電源はPICkit2から供給しますのでポイントコントローラーの電源はオフにしておきます。
電源オンでも書き込みは可能ですが、書き込み終了と同時に中途半端に動作が開始しますので、
電源オフで書き込みを行うことを原則としてください。




4. AKI-PIC2プログラマボード(PICkit2互換)の接続
QIコネクタ6Pの接続は「三角マーク」は下向きになり上からは見えません。
当然のことですが、コネクタの接続を間違えると正常な動作をしないばかりか、電機部品を破損させますから注意が必要です。



5. プログラム転送後はスライドスイッチをランモードに戻す
プログラムの転送が終わったらQIコネクタ6Pを外します。
同時にスライドスイッチをランモードに戻します。



切り替えるのを忘れてプログラムモードのままにして置くとP8とP9が出力されません。
動作がプログラム通りにならないので忘れずにラン(Run)モードに戻してください。
デバッグのためQIコネクタ6Pをつないたままでも、スライドスイッチをラン(Run)モードに切り替えれば、動作に問題はありません。

PICkit3の場合はQIコネクタ6Pを切り離さないと動作しないので注意が必要です。


 

  HEXファイルをポイントコントローラ(N1509A)に書き込む

「AKI-PIC2プログラマボード(PICkit2互換)」は販売中止となっています。 従ってPICkit4又はPICkit3(正規品又は互換品)にて書き込んでください
PICkit2をてPICkit4又はPICkit3(正規品又は互換品)に読み替えてください。

1. Pickit2のファームウエアのインストール
「AKI-PIC2プログラマボード(PICkit2互換)」に付属のCDから、必要なランタイム等が含まれている「PICkit2Setup.msi」Windowsインストーラーパッケージをクリックしてインストールします。

インストール後起動するとまれに.NET Frameworkのインストールを促されることがあります。
インストラーパッケージには必要な.NET Frameworkが含まれており普通は問題ないのですが、Windowsの方で機能が無効化されている場合があります。
その場合はコントロールパネル→プログラム、プログラムのアンインストール→Windowsの機能の有効かまたは無効化→.NET Framework 3.5(.NET2.0および3.0を含む)にチェックマークを入れます。
何らかのトラブルでインストールされていない場合は「Windows10で古いバージョンの.NET Frameworkを使うに従って、解決させてください。
古いバージョンのランタイムが必要なのに、新しいPCにはあらかじめインストールされていないことが原因です。
最初は問題なくてもMicrosoftによって勝手にアップデートされてしまった場合で、古い.NET Frameworkが無効化されてしまった場合も同様です。

①インストールが終了してプログラマー起動します。
PCにPicKit2を接続しないまま起動すると「PicKit2が見つからない!」とのエラー表示が出ます。



②コンピュータとPicKit2を接続して再度起動する。
接続が成立すると「PICkit2 connected.ID=******」と表示されます。



③書き込み電圧を設定する
書き込み電圧を5.0Vに設定します。最初に設定すれば保存されます。



④HEXファイルの読み込み
自動的に「Device:PIC16F84A」と表示されない場合は「Device Family」から「Midranng」→「Standard]と進みPIC16F84Aを指定してください。

「File」「HEX import」と進み作成したHEXファイルを読み込む



⑤プログラムの書き込み
ポイントコントローラーの電源はオフにしておきます。(PICkit2から書き込み電源を供給する)
ライト(write)ボタンをクリックして書き込みを実行します。
成功すると「Programming Successfui.」と表示されます。




2.MPLAB X IPEを使ってPICkit3で書き込む場合の注意点



MPLAB X IPEのインストールと使用方法について詳細を解説しませんが、実際に書き込んだ際に気がついた注意点を提供します。
周囲に詳しい人がいるならば助言を聞いてください。
また、使用法をWebで検索すると何件かヒットしますから確認してください。

MPLAB X IPEで書き込む場合は英語で「3.3V系のマイコンに5Vかかっているので壊れる可能性がある」との意味の警告が出ますが、PIC16F84Aは5V系なので無視しても問題ありません。

次に書込むPICマイコンが見つからない(PICマイコンに電源が入っていない)・・というメッセージが出てきますが、ここでポイントコントローラー(N1509A)の電源を入れればコネクションが確立します。
Target device was not found (could not detect target voltage VDD). You must connect to a target device to use PICkit 3.

PICkit2の場合はポイントコントローラーの電源オフで書き込みますが、PICkit3の場合は電源オンで書き込みます。(書き込み電源はポイントコントローラー(N1509A)から供給する)

PICkit3でもポイントコントローラー(N1509A)の電源オフで、PICkit3から書き込み電源を供給して書き込むことが可能ですが、時々USBからの電圧不足(5.0V)のエラーが出て先に進めなくなります。
(USBの電源規格は4.75 - 5.25 Vです、PICkit3に接続したUSBから運良く5V以上が供給されればエラーが出ない)
書き込み電圧不足のエラーが出た場合、管理者権限でMPLAB X IPEの電圧設定(Ex:5.0→4.75V)を変更しなければなりません。
分かる人は設定変更してください。
面倒ならば、手っ取り早く電源オンで書き込んでください。

プログラムの転送が終わりポイントコントローラーをランニングモードに切り替えても、Pickit3がつながっていると、PICkit 3との接続を優先するので動作しません。
QIコネクタ6PでつながっているPICkit 3を切り離してください。

ターンアウトシステム(turnout system)   C 2020 turnout system All Right Reserved
特定商取引法に基づく表記