OMRON#Let’s connect Turck TBIP-L5-4FDI-4FDX via CIP Safety

This article describes how to establish a CIP Safety and Ethernet/IP connection to a Turck TBIP-L5-4FDI-4FDX using an OMRON NX102-1220 in combination with an SL5700, and how to set up Turck’s Safety EDS Fie programme from scratch. We explain how to set up the Turck Safety EDS File from scratch.

Let’s get started!

Reference Video

OMRON.Let’s Connect with Turck’s CIP Safety IO

TBIP−L5−4FDI−4FDX?

TBIP-L… The -4FDI-4FDX is a safety block I/O module for CIP Safety via EtherNet/IP. The device has four 2-channel digital safety inputs (FDI) for connecting different safety sensors such as light barriers or emergency stop buttons. A further four safety channels (FDX) can be freely used as inputs (FDI) or outputs (FDO).

The safety I/Os and their functions are also configured with the software tool Turck Safety Configurator.

TBIP-L… -4FDI-4FDX has eight M12 connectors for connecting safe sensors and actuators. For connecting the supply voltage, a 4-pin 7/8” connector (TBIP-L4), a 5-pin 7/8” connector (TBIPL5) or a 5-pin L-code M12 connector (TBIP-LL) is available.

IP Addressing

TBIP-L… -4FDI-4FDX supports two IP addresses and whether a secondary IP address is required depends on the application used and the CIP Safety Scanner.

The first three bytes of the main IP address can be set via the instrument’s web server (Default state is IP address: 192.168.1.254) The last byte of the IP address The main IP address can be set via the instrument’s rotary code switch, Turck Service Tool or It can be set via the web server.

This is the meaning of the rotary code switch.

Input Data

This is the input data Mapping for the Ethernet/IP Connection.

Output Data

This is the output data Mapping of the Ethernet/IP Connection.

Unlock Safe Unit

The Bit signal to unlock the safe unit is responded to by a falling edge.

Implementation

Turck Side

Access WebServer

Access the web server of the Turck CIP Safety module.

Login

Login using the Login button on the right.

Default Password is password.

Done!After login, there are more items that can be set.

Factory Reset

Initially, Factory Reset the CIP Safety module.

Click Station Configuration>Reset to Factory Defaults.

Etherent/IP Memory Map

This is the Instance number and memory Mapping used for the Normal Ethernet/IP connection of the Turck CIP Safety module.

Install the Tools

Now download Turck’s Safety Configurator from the following website.

Note that you will need a coupon code to download the software and you will need to contact your local Turck Office.

https://www.turck.jp/ja/product/SW_Turck_Safety_Configurator

Double-click Install.exe to start the software installation.

Select the language and proceed with Install.

Just a while..

Proceed with Next>.

Agree to the licence and proceed with Next.

Proceed with Next.

Start installation.

Just a while..

Done!

Close the installer.

Next, you will be asked to enter the license and proceed with Yes.

Select Coupon Code and enter the Coupon Code you used when you downloaded the software earlier.

Just a while..

Done!

Create your project

Start Turck’s Safety Configurator.

Create a new Workspace at File>New>New Workspace.

Set the Workspace storage location.

Check and proceed with OK.

Select the Safety IO Block to be used in the project.

The device used in this case is the TBIP-L5-4FDI-4FDX, so you can either select it directly from the list just mentioned or you can follow the Order Number to select the device.

Choose TBIP-L5-4FDI-4FDX and proceed with Ok.

OK to confirm.

Next, the screen changes to the Safety IO basic settings screen.

Local I/Os can be configured for each IO Port of the Safety IO Blocks.

In this article, all will remain Default.

Now tick the Checkbox under “Show Advanced Settings”.

CIP Safety-related settings are also displayed on the Properties screen, such as SCID Time Stamp, but are not used in this article.

Proceed with Ok when all settings are complete.

Save the project.

Commissioning Wizard

Now start the Commissioning Wizard to connect the device with the CIP Safety Configurator in Turck.

Proceed with Next>.

You can set the authentication User Name and Password for the Safety project.

Of course, that Step is not always necessary, so you can Skip it if you do not need it.

Note that if you set a User and Password, you will be asked for that Validator name and Password when downloading the Safety project.

Initially, the error message “No Connection” is displayed. This is because the Ethernet Interface for the connection between the PC and the device has not yet been set up.

Click Setup Interface.

The Interface Configuration screen appears.

Select Ethernet and click >Search for device.

Done!You have found the CIP Safety IO Module from Turck. Select that Module and proceed with Ok。

Finally, click the Ok button to connect the PC and the device.

Yes to save the Configuration.

Change the Default Password and proceed with Ok.

Just a while..

Done!

OK to proceed.

Please wait a moment while the Module restarts…

Click Finish.

Finally, save the modified Configuration.

Assing Output

The Turck CIP Safety IO Block also has freely assignable output areas for CIP Safety and Normal Ethernet/IP, allowing various states to be fed back upwards depending on the application.

Assign output data via Start>Output Assignment.

This is how the output allocation table is displayed.

CIP Safety

If you want to assign a device as an output for CIP Safety, select the CIP Safety field > and assign it to a Bit area that is not yet used in the Free Outputs section on the right.

You can map the device in Bit units, e.g. 0-0 for Bit 0 of Byte 0, 0-1 for Bit 1 of Byte 0 and so on.

Done!This is OK.

The signal states of the four input Ports in the CIP Safety IO Block in Turck are now mapped to 0-0, 0-1, 0-2 and 0-3 of CIP Safety.

Fieldbus Bit

Now we need to assign the Fieldbus Bit. This area is used for the Turck Normal Ethernet/IP Instance 104 output. In the example below, the FDI 0/1 signal is selected as “Fieldbus” and a free area (Word Offset 0, Bit 0) is set in the Free outputs field.

Done!

Allocated to Word Offset0,Bit0-3 as shown below.

Next, FDX outputs should be assigned to Fieldbus Bits in the same way.

Done!

Finally, update Output devices.

Finally

This is the CIP Safety and Fieldbus Bit Mapping used in this article.

Safety Program

Turck’s TBIP-L5-4FDI-4FDX can not only be used as a Block IO, but can also create logic internally. By using internal logic, small applications can configure the system with several TBIP-L5-4FDI-4FDXs without the CIP Safety Scanner. Decentralized control also means that the CIP Safety Scanner has less logic, making it easier to switch to a third-party CIP Safety Scanner in the future.

On Default, the state of CIP Safety input Bit 0 is connected directly to the CIP Safety output (automatic reset).

The Turck Safety Configurator can also be used to build applications without programming knowledge, as programming is completed by simply connecting Drop, Drag and Wire.

In this case, local logic is created on TBIP-L5-4FDI-4FDX. The programme Flow causes FDI 0/1 to be True>Wait for Delay of 2 seconds>Finally True the output FDX 8/9 by a False>True>False signal change of the Omron Fieldbus Reset signal.

Add Single Channel Safety 

Drop Single Channel Safety because you want to Monitor the signal FDI 0/1.

Done!Single channel safety#1 has been added.

Name is the display name of the relevant Block on the Safety Configurator, Address specifies the safety input address where the module is to be used and Input allows the user to set which input is to be used.

Add Switch-on delay

Drop Logic Devices>Switch-on delay into the project, this time to add a Delay-On Timer.

Done!

Name is the name of the On-Delay and Delay Time can be set as a constant.

Add Monitoring Devices

Next, we’ll build the unlock signal for the safety outputs, as everything in the Default project is automatically reset, so we’re not looking at the standing down signal we mentioned earlier.

So let’s delete the Automatic start component in Default once and for all.

Next, add Start Devices>Monitored start-device to your project.

Add Fieldbus Bit

Now add the Fieldbus bit to be unlocked.

Done!

Next, double-click on the Fieldbus component you have just added to specify the Fieldbus Bit number to unlock via Ethernet/IP Connection.

It is currently set to FB0-0, meaning it corresponds to Fieldbus Word 0 and Bit Offset 0.

Finally

Finally, connect the components as shown in the diagram below.

Send Configuraiton

Finally, transfer the project to the module: click on Start>PC->Monitor.

It is also possible to operate Upload projects from the Drop List.

Proceed with Yes.

Enter the Password you have just set.

Just a while..

Done!

Finally, enter the Validator and Password again.

Just a While..

Done!

Go Online

Monitor the project in the Go line.

Done!

Omron Side

The next step is to build the Omron side.

Reference Link

Omron#Let’s Configure a CIP Safety Originator

Create EDS File

Create Turck’s TBIP-L5-4FDI-4FDX module Safety EDS File.

Vendor ID

The Vendor ID will be 48.

Vendor Name

The Vendor Name is actually affected by the organization and display of the EDS Library in Sysmac Studio, so enter as much correct information as possible.

Product Type

Product Type will be 100.

Product Type String

The Product Type String is actually affected by the organization and display of the EDS Library in Sysmac Studio, so enter as much correct information as possible.

Product Code

Product Code is 20014.

Product Name

The Product Name is actually affected by the organization and display of the EDS Library in Sysmac Studio, so enter as much correct information as possible.

Revision

Major Revision is 3 and Minor Revision is 1.

Safety Input

The Input Assembly Instance is 1024, the Output Assembly Instance is 1279 and the Data Size is 8 Bytes.

Safety Output

The Input Assembly Instance is 1279, the Output Assembly Instance is 1056 and the Data Size is 8 Bytes.

Configuration Instance

Configuration Instance will be 1088.

Add CIPSafety Devices

Next, let’s add the Turck CIP Safety module we defined earlier to the Network of Ethernet/IP.

SNN Number

To use CIP Safety, a Safety Network Number must be set for the device.

Copy the Safety Network Number configured in Sysmac Studio,

Turck CIP Safety module and paste it under Web Server>Network Configuration>SNN Number.

Create Device Variable

Now select the Turck CIP Safety module from the I/O Map screen > right-click > Click Create Device Variable to automatically generate the variable.

Done!

Add Ethernet/IP Connections

Besides the CIP Safety connection, the CIP Safety module from Turck also offers a Normal Ethernet/IP connection. In this article, CIP Safety communication and Normal Ethernet/IP are used to connect an OMRON NX-SL5700 and an NX CPU at the same time.

Define Global Variables

Open Data>Global Variables and define Global variables.

Define Byte arrays named dataFromTurck and dataToTurck.

Register Variables

Register the variables defined earlier as Process Data for Etherent/IP.

Install EDS File

Install the Donwloaded TBIP-L5-4FDI-4FDX EDS File from Turck HP.

Add Connection

Define the Target device for TBIP-L5-4FDI-4FDX and add it to Connections.

Safety Program

This is a safety programme on the part of Omron.

Normal Program

Data Types

Byte2Bool

This is a Union type made so that each Bit of a Byte can be distributed to a Bool array.

TURCK_CIPSafety_StationStatusWord

This is the structure of the Turck module state data that can be retrieved via the TURCK Etherent/IP Connection (Word offset 0).

TURCK_CIPSafety_Status

This is the structure of the Turck module state data that can be retrieved via the TURCK Etherent/IP Connection (Word offset 1-3).

TURKC_CIPSafety_CxStatus

This is the structure of the Turck module state data that can be retrieved via the TURCK Etherent/IP Connection (Word offset 4-7).

TURCK_CIPSafety_ModuleStatus

This is the structure of the Turck module state data that can be retrieved via the TURCK Etherent/IP Connection (Word offset 9).

TURCK_CIP

This structure is a further grouping of the structures defined earlier.

Function

FC_GetCxStatus

In this FC, the Port state of the Turck module is decomposed from the Byte data.

In/Out
EN Input BOOL
iByte1 Input BYTE
udtCxStatus In/Out TURCK_CIPSafety_CxStatus
Internals
uByte2Bool Byte2Bool
Program
uByte2Bool.ByteData:=iByte1;

udtCxStatus.Normal:=uByte2Bool.BoolData[0];
udtCxStatus.WaitForInput:=uByte2Bool.BoolData[1];
udtCxStatus.TestInput:=uByte2Bool.BoolData[2];
udtCxStatus.InputError:=uByte2Bool.BoolData[3];
udtCxStatus.CrossCircuitCh0:=uByte2Bool.BoolData[4];
udtCxStatus.CrossCircuitCh1:=uByte2Bool.BoolData[5];
udtCxStatus.OutputOverload:=uByte2Bool.BoolData[7];

Function Block

FB_TURCKCIPSafety

The Function Block here breaks down the input data (19Bytes) acquired via the Turck module and Ethernet/IP Connection into structures.

In/Out
udtTURCK_CIP In/Out TURCK_CIP
iData         Input ARRAY[0..19] OF byte
Internals
uByte2Bool Byte2Bool
Program
uByte2Bool.ByteData:=iData[0];

//Station Status word
uByte2Bool.ByteData:=iData[0];//word0
udtTURCK_CIP.StationStatus.ModuleDiagnosticsAvailable:=uByte2Bool.BoolData[0];
udtTURCK_CIP.StationStatus.StationConfiguredChanged:=uByte2Bool.BoolData[3];
udtTURCK_CIP.StationStatus.OverCurrentIsys:=uByte2Bool.BoolData[5];
udtTURCK_CIP.StationStatus.OverVoltageV2:=uByte2Bool.BoolData[6];
udtTURCK_CIP.StationStatus.UnderVoltageV2:=uByte2Bool.BoolData[7];

uByte2Bool.ByteData:=iData[1];//word0
udtTURCK_CIP.StationStatus.OverVoltageV1:=uByte2Bool.BoolData[0]; //8
udtTURCK_CIP.StationStatus.UnderVoltageV2:=uByte2Bool.BoolData[1]; //9
udtTURCK_CIP.StationStatus.ModuleBusCoumLost:=uByte2Bool.BoolData[2]; //10
udtTURCK_CIP.StationStatus.ModuleBusError:=uByte2Bool.BoolData[3]; //11
udtTURCK_CIP.StationStatus.ForceModeEnabled:=uByte2Bool.BoolData[6]; //14

//Safety Status
uByte2Bool.ByteData:=iData[2];//word1 byte2,3
udtTURCK_CIP.SafetyStatus.ProtectiveMode:=uByte2Bool.BoolData[0];
udtTURCK_CIP.SafetyStatus.ConfigurationMode:=uByte2Bool.BoolData[1];
udtTURCK_CIP.SafetyStatus.UnKnownMode:=uByte2Bool.BoolData[2];

uByte2Bool.ByteData:=iData[4];//word2 byte4,5

uByte2Bool.ByteData:=iData[6];//word3 byte6,7
udtTURCK_CIP.SafetyStatus.NoMemoryStick:=uByte2Bool.BoolData[0];
udtTURCK_CIP.SafetyStatus.NoConfigurationAvailable:=uByte2Bool.BoolData[1];
udtTURCK_CIP.SafetyStatus.ConfigurationMismatch:=uByte2Bool.BoolData[2];
udtTURCK_CIP.SafetyStatus.CommunicationLoss:=uByte2Bool.BoolData[4];
udtTURCK_CIP.SafetyStatus.FateError:=uByte2Bool.BoolData[7];

uByte2Bool.ByteData:=iData[8];//word4 byte8
FC_GetCxStatus(
EN:=TRUE
,iByte1:=iData[8]
,udtCxStatus:=udtTURCK_CIP.SafetyCx[0]
);

uByte2Bool.ByteData:=iData[9];//word4 byte9
FC_GetCxStatus(
EN:=TRUE
,iByte1:=iData[9]
,udtCxStatus:=udtTURCK_CIP.SafetyCx[1]
);

uByte2Bool.ByteData:=iData[10];//word5 byte10
FC_GetCxStatus(
EN:=TRUE
,iByte1:=iData[10]
,udtCxStatus:=udtTURCK_CIP.SafetyCx[2]
);

uByte2Bool.ByteData:=iData[11];//word5 byte11
FC_GetCxStatus(
EN:=TRUE
,iByte1:=iData[11]
,udtCxStatus:=udtTURCK_CIP.SafetyCx[3]
);

uByte2Bool.ByteData:=iData[12];//word6 byte12
FC_GetCxStatus(
EN:=TRUE
,iByte1:=iData[11]
,udtCxStatus:=udtTURCK_CIP.SafetyCx[4]
);
uByte2Bool.ByteData:=iData[13];//word6 byte13
FC_GetCxStatus(
EN:=TRUE
,iByte1:=iData[11]
,udtCxStatus:=udtTURCK_CIP.SafetyCx[5]
);

uByte2Bool.ByteData:=iData[14];//word7 byte14
FC_GetCxStatus(
EN:=TRUE
,iByte1:=iData[11]
,udtCxStatus:=udtTURCK_CIP.SafetyCx[6]
);

uByte2Bool.ByteData:=iData[15];//word7 byte15
FC_GetCxStatus(
EN:=TRUE
,iByte1:=iData[11]
,udtCxStatus:=udtTURCK_CIP.SafetyCx[7]
);

uByte2Bool.ByteData:=iData[16];//word8 Byte16
udtTURCK_CIP.FieldbusBits[0]:=uByte2Bool.BoolData[0];
udtTURCK_CIP.FieldbusBits[1]:=uByte2Bool.BoolData[1];
udtTURCK_CIP.FieldbusBits[2]:=uByte2Bool.BoolData[2];
udtTURCK_CIP.FieldbusBits[3]:=uByte2Bool.BoolData[3];
udtTURCK_CIP.FieldbusBits[4]:=uByte2Bool.BoolData[4];
udtTURCK_CIP.FieldbusBits[5]:=uByte2Bool.BoolData[5];
udtTURCK_CIP.FieldbusBits[6]:=uByte2Bool.BoolData[6];
udtTURCK_CIP.FieldbusBits[7]:=uByte2Bool.BoolData[7];

uByte2Bool.ByteData:=iData[17];//word8 Byte17
udtTURCK_CIP.FieldbusBits[8]:=uByte2Bool.BoolData[0];
udtTURCK_CIP.FieldbusBits[9]:=uByte2Bool.BoolData[1];
udtTURCK_CIP.FieldbusBits[10]:=uByte2Bool.BoolData[2];
udtTURCK_CIP.FieldbusBits[11]:=uByte2Bool.BoolData[3];
udtTURCK_CIP.FieldbusBits[12]:=uByte2Bool.BoolData[4];
udtTURCK_CIP.FieldbusBits[13]:=uByte2Bool.BoolData[5];
udtTURCK_CIP.FieldbusBits[14]:=uByte2Bool.BoolData[6];
udtTURCK_CIP.FieldbusBits[15]:=uByte2Bool.BoolData[7];

uByte2Bool.ByteData:=iData[18];//word9 Byte18
udtTURCK_CIP.ModuleStatus.ModuleDiagnosticsAvailable:=uByte2Bool.BoolData[0];
udtTURCK_CIP.ModuleStatus.UnderVoltage2:=uByte2Bool.BoolData[7];

uByte2Bool.ByteData:=iData[18];//word9 Byte19
udtTURCK_CIP.ModuleStatus.UnderVoltage1:=uByte2Bool.BoolData[1];
udtTURCK_CIP.ModuleStatus.InternalError:=uByte2Bool.BoolData[2];
udtTURCK_CIP.ModuleStatus.IOAssistantForceMode:=uByte2Bool.BoolData[6];

MAIN

This is the Main programme, which calls the Function Block defined earlier and also sends the start-up signal of the Fieldbus Bit to the Turck module for safe unlocking.

Download

Finally, download the Safety project, Normal project and also the Ethernet/IP Connection settings to the NX CPU and reset the power supply.

Result

Done!Safety input/output data could be exchanged via the Turck module and the CIP Safety connection.

An emergency stop condition was also taken via the Normal Ethernet/IP connection.

The current input/output status can also be monitored from the Turck Safety Configurator software.

This video shows the TURCK module via OMRON CIP Safety.

OMRON.CIP Safety Connection with TURCK Safety Blocks

You can see the Turck module in action in this video.

OMRON.Normal Condition of SL5700 and Turck Safety IO

You can check the OMRON safety programme status in this video.

OMRON.CIP Safety Connection with TURCK Safety Blocks Safety Program Side

Download EDS File

Download the Turck Safety EDS File for OMRON Sysmac Studio from this Link.

https://github.com/soup01Threes/OMRON/blob/main/0030_4E2E_TBIP-L5-4FDI-4FD_16B9A185.eds

Download Project

You can download a sample project of the article from this Link.

https://github.com/soup01Threes/OMRON/blob/main/CIPSafety_TURCK.smc2

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

シェアする

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

フォローする