Makers Blog Archive
1,079 views 0 comments

This is a little quickstart on how to use PLCnext Technology with IO-Link devices.

When implementing IO-Link (IEC 61131-9) for the first time there are some “have to know” things.
I hope this quickstart helps everyone to get on the right track.

Preparation

Equipment used

  • AXC F 2152 Starterkit
  • AXL E IO-Link master (2701513)

Knowledge required

  • Configuring Profinet devices in PLCnext Engineer
  • How does synchronous and asynchronous data transfer work

Documentation used

  • Datasheet of the IO-Link master
  • Datasheet of the IO-Link device

Step 1: connect the hardware

For the connecting to network, the power supply, and the sensor I used a standard cabling.
In the datasheet of the IO-Link master you find that for the power supply:

  • brown and black are 24v
  • blue and green are GND

In the datasheet of the Sick sensor you find this:

wiring

Which means it is a 3-wire sensor and it will work on A-type and B-type ports.

Step 2: configure the standard Profinet

  1. Load the AXL E library (not the GSDML)
  2. Insert the IO-Link Master
  3. Find it online and pair it to the controller


Download these settings to the controller, the BF-C led goes off, as well as the BF led on the AXL E IO-Link master. Please notice that the IO-Link led on the IO-Link master is still off in this moment.

Step 3: configure the IO-Link device hardware

  1. Double-click the IO-Link master: here you can insert an IO-Link type. In the SICK datasheet we find:Processdata
    So we should insert an IO-Link device with 2byte input in our hardware configuration:hardware-config
  2. Double-clicking this device in the project tree gives us the possibility to fill in the Vendor ID and the Device ID. The device specific parameters are found in the device documentation.
    I peeked in the IODD file of the sensor:IODD-file

Please notice these are decimal numbers!

  1. For the Vendor ID this is ok but for the Device ID we need a special trick.
    1. First we convert it into Hex code6488069 -> 99 00 05
    2. These are 3 bytes which have to be individually converted back to decimal notation:
      • 99 -> 64
      • 00 -> 00
      • 05 -> 05
    3. Fill these decimal numbers in into the hardware configuration for the device:
parameters

After downloading the parameters, the IO-Link communication should run.
Watching at the diagnose on the web interface, we’ll see this:

webview

Please notice the green led at port 1, this could also be seen at the IO-Link master itself.

Step 4: receive synchronous process data

Add a uint or word variable to the project and connect this to the GDS data of the IO-Link port:

SynchronousData

This is the synchronous process data.

Step 5: receive asynchronous process data

Add the IO-Link library to PLCnext Engineer.

I used the “PLCNE_IOL_Basic_PLCnext_2_20180928.msi” which I downloaded from the AXC F 2152 download page on the Phoenix Contact website. (In between, all function modules moved to the PLCnext Store, and the one used here was updated to work with the PLCnext Engineer 2019.0 LTS.)

In the example we find that we need 2 blocks of Asyncom_PN to set up the Profinet communication channel and IOLCom to send asynchronous IO-Link data over this channel.

All we need for Asyncom is the NodeID of the IO-Link master which is in our case 19 ( = 13h):

node

At the IOL we set the bit PNIOdataValid when the AR is valid.
xActivate will communicate with the Asyncom block.
The xActive should become true and the Diagcode should be 8000.

Fill in the port .. (at the IO-Link master 1 = port X01).
wIndex and bSubindex are numbers for the object you want to read.

I will be reading object 10h with subindex 0 because the SICK documentation does not supply me with sub indexes.
Reading this will – after some time – give an answer of ireadlength 16, in the data array we will find (53,49,43,4B,20, 41,47, 00, 00,00, 00 etc) which is according to the ASCII table “SICK AG”, and at object 14h I get the answer “Ultrasonic sensor”:

functionblock


That’s it: IO-Link on PLCnext Technology.
Any questions or comments?

Note:

The Makers Blog shows applications and user stories of community members that are not tested or reviewed by Phoenix Contact. Use them at your own risk.

Discussion

Please login/register to comment

Login/Register

Leave a Reply

Newsletter
Never miss a new article
Sign up for the newsletter
Never miss news about PLCnext Technology
Get interesting content via newsletter four times a year
Receive exclusive information before all other users