この記事では、SelecのSelproソフトウェアのセットアップとラダーロジック要素の基本的な概要を説明します。この記事では、Selproソフトウェアとその要素の基本のみに焦点を当て、Selproソフトウェアの機能についての詳細は、今後の記事で説明します。
SelecのSelproソフトウェア
SelecのSelproソフトウェアは、IEC 61131-3標準のPLCプログラミング言語としてラダーロジックを使用します。Selproソフトウェアは、変数にすべてのIEC 61131-3データ型を使用しているわけではありませんが、使用するデータ型はIEC 61131-3標準に準拠しています。Selproソフトウェアには、さまざまな種類のタスクを実行するためのさまざまな機能ブロックも含まれています。これらの機能ブロックには、タイマブロック、数学ブロック、PID制御ブロック、データコンバータブロックなどがあります。
ソフトウェアのセットアップ
PLCプログラミングのためにSelproソフトウェアをセットアップするには、まずSelecのWebサイトにあるソフトウェアをダウンロードしてインストールする必要があります。ソフトウェアのダウンロードが完了したら、Selproソフトウェアを開くと、図1が表示されます。この画面で「新規プロジェクト(New Project)」アイコンをクリックするか、上部の「ファイル」ドロップダウンメニューから「新規」を選択します。これにより「新規プロジェクト」とラベル付けされたポップアップウィンドウが表示され、プロジェクトのPLC(プログラマブルロジックコントローラ)を選択できます。
図2では、このプロジェクトのためにMIBRX-2M-1-0-0-24VDC PLCとMIBRX-DSP-2M-7-1-04-A HMIを選択しています。「新規プロジェクト」ウィンドウでは、プロジェクトに名前を付け、コンピュータ上の保存場所を選択します。
図2: 「新規プロジェクト(New Project)」画面
「次へ(Next)」をクリックすると、「プロジェクト情報(Project Information)」画面が開き、プロジェクトに関する情報が表示されます。そして、この画面でお使いのPLCのハードウェアモデルも確認できます。
図3: 「プロジェクト情報(Project Information)」画面
また、「プロジェクト情報」のポップアップで、モジュールカードをプロジェクトに追加する必要があり、これは「プロジェクト情報」ウィンドウの「カード選択(Card Selection)」タブ(図4参照)で行います。モジュールを選択するには、モジュールスロットをクリックし、スロットに配置したカードを選択するだけです。ここでは、入力がすべてDINレールの上部に、また、出力カードがDINレールの下部に来るように設定しています。
図4: 拡張カードを選択した「カード選択(Card Selection)」タブ
拡張カードを選択した後、「完了(Finish)」 ボタンをクリックすると、プロジェクトのラダー図の画面が表示されます。すべてが正しく実行されていれば、画面は図5のようになります。ここでは、Selproプログラミング変数の基本および、基本的なラダーロジックのセットアップについて説明します。
ラダーロジックの記号
このセクションでは、Selproソフトウェアでプログラムを構築するために必要なさまざまな記号について説明します。Selproソフトウェアにはラダーのラングがあらかじめ組み込まれていないため、必要なラングを自分で作成する必要があります。ラダーのラングの構築とともに、入力と出力のシンボルが必要になります。これらの記号のすべてと、その記号がSelproソフトウェアでどのように機能するかについて説明します。また、Selproソフトウェアには、さまざまなタスクを実行する機能ブロックがありますが、これらの機能ブロックについては、今後の記事で使用しながら説明していきます。
ラダー要素
Selproには、ラングを構築するために使用できる4種類の線があります。水平の「―」線、垂直の「|」 線、水平ジャンパ、垂直ジャンパです。これらの線は、さまざまなラダーロジックの変数や記号を接続し て、機能するプロジェクトを作成するために使用します。プログラムは左から右、上から下に読み込まれるため、ラダー要素をどのように並べるかは非常に重要なことです。プログラムでエラーが発生する可能性を減らすために、ラダーはできるだけシンプルに保つことが最善です。これらの線を挿入するには、3つの異なる方法があります。上部の挿入メニューを使い、基本要素の下にあるラダーのラングを選択する方法と、ラダー図の上部にあるバーを使って配置する方法と、そして、キーボードショートカットを使う方法があります。
水平ジャンパと垂直ジャンパの記号
ノーマリオープン(NO)
NO接点は、一組の開いた線「||」で表され、ラダーロジックの入力として使用され ます。NO接点は、バイナリ入力を使用して接点をアクティブあるいは非アクティブにします。NO接点がアクティブになると接点が閉じ、回路はそのラングの次の変数に進むことができ ます。NO接点はボタンと考えることもでき、ボタンを押すとライトが点灯し、ボタンを離すとライトが消灯します。
NO接点
ノーマリクローズ(NC)
NC接点は、真ん中にスラッシュがある線のセット「|/|」で表され、ラダーロジックの入力として使用されます。NC接点はNO接点とは逆に動作し、信号を受信するまでアクティブになり、接点が開いてプログラムが停止します。NC接点はボタンとしても考えることができ、ボタンを押すとライトが消灯し、ボタンを放すとライトが再び点灯します。
NC接点
コイル
ラダーのラングのもう一方の端にはコイルがあり、これは括弧「()」で表されます。これらのコイルは、負荷に信号を送る出力変数として使用されます。これらのコイルは、ラダーの反対側からの入力によってアクティブ化される必要があり、もしもその入力がアクティブであれば、コイルはアクティブになります。そして、もし入力が非アクティブ化されると、コイルも非アクティブになります。なぜならば、コイルは入力によってのみアクティブ化されるためです。
コイル
セット/リセットコイル
もう1つのタイプのコイルは、セットコイルとリセットコイルと呼ばれ、これらを機能させるためには、互いに組み合わせて使用する必要があります。セット/リセットコイルは、真ん中にセット(S)を意味する「S」とリセット(R)を意味する「R」が付いたコイルのセットとして示されています。セットコイルはその名の通り、入力によってアクティブとなり、入力がオフになってもコイルはアクティブのままです。リセットコイルは、セットコイルを非アクティブにするために使用されますが、リセットコイルの入力がオンで、セットコイルの入力がオフの場合にのみ機能します。これらのコイルは、特定の入力がトリガされるか、一定時間が経過するまで出力をアクティブに保ちたい場合に非常に便利です。
変数の割り当て
接点とコイルを配置したら、それらを機能させるために変数を割り当てる必要があります。これを行うには、割り当てたい要素の左側にある赤い点をクリックします。すると、「変数の選択(Select Variable)」というポップアップウィンドウが表示され、要素のグローバル変数と正しいデータ型が作成されます。すでに使用したい変数を記入していた場合は、「変数の選択」と書かれたドロップダウンメニューから選択することができます。
すでに作成されている変数がなく、ポップアップウィンドウに表示されるデフォルトを使用したくない場合は、そのウィンドウで変数を作成することができます。実行する必要のある手順としては、まず、変数のスコープを選択し、変数に名前を付け、データ型を選択し、必要に応じて変数の初期値を設定することです。
変数を選択する最後の方法は、PLCのIOピンの1つを選択することです。これは、事前に書き込んだ変数と同じドロップダウンメニューで行うことができます。すべてが完了したら、OKをクリックすると、その変数が選択したエレメントに割り当てられます。
Selproの変数選択画面
Selproがデフォルトの変数名を表示するとき、ハンガリアン記法の形式に従っていることにお気づきでしょう。ハンガリアン記法の仕組みは、変数がグローバル変数の場合は大文字のGで始まり、ローカル変数の場合はデータ型に合った小文字で始まります。注意すべき点は、1つの変数を複数の要素に使用し、その変数の情報を変更すると、その変数が使用している残りの要素についてもプログラムが自動的に変更するということです。例えば、GVarというラベルの変数が3カ所あり、そのうちの1つをGxVarに変更すると、他の2つも同じ名前に変更されます。
まとめ
この記事では、SelecのSelproソフトウェアのインストール、セットアップ、使い方の基本について説明しました。今後の記事では、さまざまなラダーロジックゲート、機能ブロック、HMIのプログラミング方法、SelecのPLCへのプログラムのダウンロード方法について詳しく説明していきます。また、今後の記事では、簡単なプログラムを作成し、Selproソフトウェアで何ができるのか、実際のアプリケーション(応用場面)にどのように使われるのかを紹介する予定です。ご意見やフィードバック、ご質問などがありましたら、お気軽にお寄せください。
著者について
Anthony Fish氏はエレクトロニクス業界で5年の経験を持つ、情熱的で熟練した技術者です。Northland Community & Technical Collegeで電子技術とオートメーションシステムの学位を取得し、現在DigiKeyのオートメーションおよび産業用制御システムの分野でエレクトロニクス技術者として働いています。電話やチャット、またはこのフォーラムを通じて、お客様の技術的な質問にお答えするチャレンジングな仕事を楽しんでいます。