PLCNEXT#Programming with Extermal IOs

前回はLocal変数でプログラムを作成しましたので、次は実際のIOをCPUの変数に割り当ててプログラムしてみようと思います。よろしくお願いします。

PLCNEXTのStarter kitではDI8/1 DO8/1の入出力モジュールとAI2 AO2のアナログ入出力モジュールが取り付けられたのでこちらのモジュールを直接使用します。

参考LINK:

PLCNext#PLCNEXT Engineer Download/Installation
PLCNEXT#Connect PLC to your PC
PLCNEXT#First Project with Local variables
PLCNEXT#Communicate with Beckhoff TwinCAT PN Devices

実際にモジュールの上にも型式がのっています。


Insert Modules

ではまずモジュールを追加します。

Axioline Fをダブルクリックします。

このようなモジュール構成画面が表示されます。

TypeのFieldからDevices>Axiocontrol>Devices>Phoenix Contact>AXL Fでモジュールの種類を選べます。

まずは入出力モジュールです。Digital input and output>AXL F DI8/1 DO8/1 1Hを追加します。

このようにSlot1が入出力モジュールに追加されました。

次はアナログ入出力モジュールです。AXL F> AXLF AI2 AO2 1H Rev. >=02/1.00を選択します。

Slot2にアナログ入出力モジュールが追加されました。

DI/DO variables

まずはDI/DO モジュールから始めます。

次はLocal>Programsで前の記事で作成したプログラムを開きます。

VariablesのTab開き、変数定義のUsageのところにExternalに変更します。

プログラム自体はわからないですね。


Assign

変数が定義されたら、次は実際のIOにプログラムの変数と紐つけます。

赤枠のところをクリックします。

Process data Itemのところを押すと自動的にSortします。

dio-1 はその入出力モジュールですね。

dio-1/IN01・dio-1/IN02・dio-1/OUT00をVariableのところに先Externalに変更した変数に割り付けます。

Starter kitから見ますと、スイッチ1と2はオレンジ枠のところですね。

Download

Write and Start ProjectでProjectをダウンロードします。

実機のモジュールみますと、上と下2つのLEDも点灯になりました。

Test

Monitorします。Data ListのTabを開きます。

スイッチひとつをOnしたらValueもFalseからTrueに変わります。

2つのスイッチ同時にONすれば、OutputもONになります。

実機ではこんな状態ですね。

AI/AO Variables

では次AI/AOモジュールを設定したいと思います。

モジュールをクリックします。

ParametersのTabで各Channelの入力RangeやFilterなど設定できます。

今回のTutorialでは0-10vにします。

AI Channel

まずアナログ入力からやります。

作成したプログラムをクリックします。

以下のように3つの変数を定義します。

i_i32AIin1はモジュールからのアナログ入力値です。

i_i33AiOut1はモジュールからのアナログ出力値です。

r32AIIn1Valueは内部変換用の変数です。

Manual Download

下記のLinkアクセスしモジュールのManualをダウンロードします。

https://www.phoenixcontact.com/en-us/products/io-component-axl-f-ai2-ao2-1h-2702072

DownloadsのTabを開きます。

英語でよいので、ダウンロードします。

Reference From Manal

Manualによりますとこのアナログ入出力は16Bitで15Bit+1Sign bitです。

15Bitは7FFFです。

0-10vの値は7F00(32512)だと+10.837vになります。それ以上の値だと+10.837vになり、8001だとOverRangeとかの特別の意味を持っています。


Programming

ではエラー値、ScalingのUpper(10v)と10vのアナログ入力値(32512)をさらに定義します。

次はまたPLCの型式に乗ってるところをクリックします。

追加したExternual 変数をモジュールのaio-1/IN01と aio-1/OUT01に割り付けます。

最後は簡単なScalingプログラムを作成します。

Result

Starter kitのButtonを回すと、0-10vの電圧がアナログ入力 Channel1に流れます。

このように、0-32xxxくらいの値が読み取り、そして0-10に変換します。

AO Channel

Anlogs outputsは以下のように電圧ならO02とO22、電流ならO13とO33端子を使用します。今回は0-10vなのでO02とO22を使いますね。


Programming

先のNewProgramからr32AO1Valueの内部変数を追加します。

前のStepからScalingされた0-10vもう一度0kら32512にScaling戻りそのままアナログ出力します。

Result

結果はこのようですね。アナログ入力が5v入力されたら、そのまま5vにアナログ出力に反映します。

Footer_Basic

Please Support some devices for my blog

Amazon Gift List

Find ME

Twitter:@3threes2
Email:soup01threes*gmail.com (* to @)
YoutubeChannel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする