Weidmüller#M4000_Part3_CodesysとuRmote モジュールを連携しよう

こちらはWeidmüllerのM4000 CPU記事第3話で、今回はCodesysとU-Remoteのモジュールと連携します。また、WeidmüllerのUR20-PF-O-1DI-SILのモジュールを使用することにより、安全PLCなしで安全アプリケーションを実装できます。

さ、はじめよう。

Reference Link

Weidmüller#M4000_Part1_出荷設定戻し・Firmwareアップデート
Weidmüller#M4000_Part2_Codesysをインストールしよう

UR20-PF-O-1DI-SIL?

パワーフィードモジュールUR20-PF-O-1DI-SILは、出力電流経路の安全なフィードインを実装できるモジュールです。これは、2チャンネルの非常停止コマンド装置の監視に使用でき、24Vセーフ出力により、出力電流経路の現在のステータスをPLCやスイッチングデバイス(リレーなど)に転送したり、さらにu-リモートステーションにカスケード接続することができます。

モジュールの電源電圧がオンになるたびに、”Man Start “入力に0.1〜2秒のパルスを与えて、モジュールを手動で初期化する必要があります。

また、モジュールの電源電圧が遮断されていない限り、”Autostart”入力が使用されると、24 Vセーフ出力経路は自動的に再アクティブ化されます。

もちろん、安全回路のテストパルスの評価機能もあり、故障や配線の操作を検出することができます。

Layout

こちらはUR20-PF-O-1DI-SILの配線図です。

LED

こちらはUR20-PF-O-1DI-SILのLEDの意味です。

Block Diagram

こちらはUR20-PF-O-1DI-SILのBlock図です。安全な給電モジュールを起動するには、下記の順番に従ってやりましょう。

  • 安全装置を S11〜 S22 に接続し、装置を解除(ロック解除)します。
  • DC24V電源をモジュールの4.3と4.4に接続します。
  • u-remote stationの電源を入れます。
  • manual startを操作する。

Process Data

こちらはUR20-PF-O-1DI-SILのProcess Dataです。

UR20-8DO-P

UR20-8DO-Pデジタル出力モジュールは、最大8個のアクチュエータをそれぞれ最大0.5Aで制御できます。また、各チャンネルにステータスLEDが割り当てられ、出力には出力電流経路(IOUT)から電力が供給される。

Layout

こちらはUR20-8DO-Pの配線図です。

LED

こちらはUR20-8DO-PのLEDの意味です。

Block Diagram

こちらはUR20-8DO-PのBlock図です。

Process Data

こちらはUR20-8DO-PのProcess Dataです。

UR20‐16DI‐P‐1

UR20-16DI-Pデジタル入力モジュールは、最大16個のバイナリ制御信号を検出できます。各コネクタに4個のセンサを1線式で接続できます。また、各チャンネルにステータスLEDが割り当てられます。

Layout

こちらはUR20‐16DI‐P‐1の配線図です。

LED

こちらはUR20‐16DI‐P‐1のLEDの意味です。

Block Diagram

こちらはUR20‐16DI‐P‐1のBlock図です。

Process Data

こちらはUR20‐16DI‐P‐1のProcess Dataです。

UR20-4AI-UI-16

UR20-4AI-UI-16アナログ入力モジュールは、以下の計測範囲を設定できます。

  • ±10 V
  • ±5 V
  • 0 … 10 V
  • 0 … 5 V
  • 2 … 10 V
  • 1 … 5 V
  • 0 … 20 mA
  • 4 … 20 mA。

分解能は各チャンネル16ビットで、センサーは2線式、3線式、3線式+FEにも接続できます。また、電圧サージと過電流から保護されています。

Layout

こちらはUR20-4AI-UI-16の配線図です。

LED

こちらはUR20-4AI-UI-16のLEDの意味です。

Block Diagram

こちらはUR20-4AI-UI-16のBlock図です。

Process Data

こちらはUR20-4AI-UI-16のProcess Dataです。

Measurement Range

こちらはUR20-4AI-UI-16の測定範囲です。

Implementation

M4000にWeidmüllerのモジュールを使用するには、CodesysのSystem_Busからモジュールを追加することができます。

Configuration

こちらはM4000のSystem Bus設定画面です。

アラームやBusのCycle Timeをアプリケーションに合わせて設定しましょう。

Device Manager

次はDevice Managerの項目からモジュールを追加しましょう。

Slot1

Slot1はUR20-8DO-Pにインストールされていますので、Catalogueで8DOを検索し、UR20-8DO-PをM4000にDorpしましょう。

Done!UR20-8DO-Pが追加されました。

Slot2

Slot2はUR20-PF-O-1DI-SILにインストールされていますので、Catalogueで1DIを検索し、UR20-PF-O-1DI-SILをM4000にDorpしましょう。

Done!UR20-PF-O-1DI-SILが追加されました。

Slot3

Slot3はUR20-16DI-Pにインストールされていますので、Catalogueで16DIを検索し、UR20-16DI-PをM4000にDorpしましょう。

Done!UR20-16DI-Pが追加されました。

Slot4

Slot4はUR20-4AI-UI-16インストールされていますので、Catalogueで4AI-UI-16を検索し、UR20-4AI-UI-16をM4000にDorpしましょう。

Done!UR20-4AI-UI-16が追加されました。

Result

こちらは今回の記事で設定したSystem_Busです。

Add GVL

Global Variable Listを追加するために、Application>右クリック>Add Object>Global Variable Listを追加します。

GVL名を入力します。

下図のようにSystem_BusにインストールされているモジュールとMappingする変数を定義しましょう。

Program

FB_UR20_PF_O_1DI_SIL

こちらはUR20-PF-O-1DI-SILを制御するFunction Blockになります。

Interface

こちらはFunction BlockのInterface定義です。

FUNCTION_BLOCK FB_UR20_PF_O_1DI_SIL
VAR_INPUT
END_VAR
VAR_OUTPUT
qSafetyInput0 :BOOL; //1=Activate
qAutoStartActived :BOOL; //1=Activate
qManualStartActived :BOOL; //1=Activate
qSafetyInputChannel0:BOOL; //S12,S12
qSafetyInputChannel1:BOOL; //S21,S22
q24VSafetyOutput :BOOL; //24V Safety
q24VDCSupply :BOOL; //24V
END_VAR
VAR_IN_OUT
ioByte0,ioByte1:BYTE;
END_VAR
VAR
END_VAR

Code

Rung1-4はByte0のBit0-3を出力変数に転送します。

Rung5-8はByte0のBit4-5、Byte1のBit0と2を出力変数に転送します。

MAIN

こちらはMAINプログラムです。

Interface

PROGRAM PLC_PRG
VAR
SwitchLamp :BOOL;
Channel0_Voltage:REAL;
Channe11_Current:REAL;
Module1 :FB_UR20_PF_O_1DI_SIL;
SwitchNO,SwitchNC:BOOL;
END_VAR

Code

こちらはアナログ入力を電流と電圧値をScalingし、また先ほど作成した、UR20-PF-O-1DI-SILのFunction Blockを呼び出し、UR20-PF-O-1DI-SILの状態を取得します。

Channel0_Voltage:=
(TO_REAL(GVL_SystemBus.Slot4[0])/27648.0)*10;

Channe11_Current:=
((TO_REAL(GVL_SystemBus.Slot4[1])/27648.0)*20)+4;


Module1(
ioByte0:=GVL_SystemBus.Slot2[0]
,ioByte1:=GVL_SystemBus.Slot2[1]
);

SwitchNC:=GVL_SystemBus.Slot3[0].0;
SwitchNO:=GVL_SystemBus.Slot3[0].2;

SwitchLamp:=SwitchNO;

GVL_SystemBus.Slot1.0:=SwitchLamp;

Configuriation

次は各モジュールのパラメータを設定します。

Slot1

Slot1のUR20-8DO-Pをクリックします。

Module ConfigurationにModuleのパラメータを設定できます。

次はIoModuleInterface I/O Mappingを開きます。

…のボタンをクリックします。

先ほどGVLで定義した変数と紐つけましょう。

Slot2

Slot2のUR20-PF-O-1DI-SILをクリックします。

UR20-PF-O-1DI-SILの入出力データとプログラム変数と紐つけましょう。

Slot3

Slot3のUR20-16DI-Pをクリックします。

UR20-16DI-Pの入出力データとプログラム変数と紐つけましょう。

Slot4

Slot4のUR20-4AI-UI-16をクリックします。

Module ConfigurationにModuleのパラメータを設定できます。

Channel0とChannel1を0…10Vと4…20mAに設定しましょう。

UR20-4AI-UI-16の入出力データとプログラム変数と紐つけましょう。

Download

Loginをクリックし、プロジェクトをCPUにDownloadしましょう。

Result

こちらの動画でM4000とDI/AI/DOモジュールと連携する動作を確認できます。

こちらの動画でM4000とUR20-PF-O-1DI-SILモジュールと連携する動作を確認できます。

Download Project

こちらのLinkから記事のプロジェクトをDownloadできます。

https://github.com/soup01Threes/Codesys/blob/main/M4000_Tutorial_Part03.projectarchive

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

シェアする

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

フォローする