From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Industrial Communications

cancel
Showing results for 
Search instead for 
Did you mean: 

NI EIP Toolkit and SMC EX600

Solved!
Go to solution

Hi all,

 

I'm very new to communicating via Ethernet/IP and I've been given the task of integrating an SMC EX600 Ethernet/IP fieldbus module into a labview system. Currently the EX600 is attached to 2 SMC 8 pos. digital input modules and 10 SMC solenoids.  

 

I've done some searching on here, and it seems I've gotten myself slightly confused about the capabilities of a Communication Adapter and Communication Scanner. From what I've read, the EIP toolkit is an adapter, so it can not initiate I/O communications between other adapters. Turns out the SMC EX600 is also an adapter per pg 29 of the data sheet (http://www.smcworld.com/upfiles/manual/e/EXxx-OMN0032.pdf), bummer. So am I right in assuming that Implicit messaging is out of the question?

 

This could be ok with me, as I don't need a constant stream of I/O and I'd rather communicate with the EX600 on a point to point basis. Reading through some posts I found that explicit messaging is supported (http://forums.ni.com/t5/Industrial-Communications/SMC-Valve-Ethernet-IP-Communication/td-p/2979621). This means that I can still get the status of an digital input port or set the position of a solenoid, correct?

 

 

Reading through the data sheet, I'm at a dead end on how I would actually read digital inputs or set solenoid states using explicit messaging. Could someone clear this up for me? Thanks. 

 

 

 

0 Kudos
Message 1 of 19
(12,819 Views)
Solution
Accepted by dankaroll

Quick update, 

 

After some careful reading I was able to communicate with the SMC EX600. Using the Access Assembly Instance Data (Explicit).vi example I was able to read the status of the digital input modules, as well as set the state of the digital output module and actuate the solenoid valves on the valve stack module. 

 

On page 60 of the manual (http://www.smcpneumatics.ie/media/EX600-SEN1_2-Ethernet.pdf) it describes which assembly instance to use when specifying inputs or outputs. Using these values I receive a decimal number response corresponding to the state of each module. Convert this number into binary get the bit value for each individual digital line. Digital outputs are handled similary except you're writing the digital number.

 

Valves come after your output modules in the array and are handled in groups of 4, since there could be 2 solenoids per valve on certain configurations.  0 turns the block of 4 off, and 255 turns the block of 4 on. Set the correct binary to decimal converted number to get the combination you desire. 

 

I hope this post can help someone that has the same issue down the road. 

 

PS: Don't forget to set your EX600 to have a static IP before doing any of this. The rockwell BootP utility didn't work for me, but this one did http://www.anybus.com/support/support.asp?PID=509&ProductType=Support%20Tools

 

 

 

 

 

 

Message 2 of 19
(12,814 Views)

Can you post a picture of the block diagram of your code. I'm trying to read and set I/O statuses from a Turck BLCEN-IP fieldbus module and I can't for the life of me figure out how set up the assembly instance VI's to make it work.

0 Kudos
Message 3 of 19
(11,401 Views)

Hi TysonBunker,

 

Thanks for posting on the forums to get help using the EIP toolkit in LabVIEW! Oftentimes our contributors don't want to post thier code as it could be proprietary. What specifically are you needing help with in your code? What version of LabVIEW are you using? Could you post a screenshot of your code, or maybe the specific section that is giving you trouble?

 

Thanks!

Austin H.
Applications Engineering
National Instruments
0 Kudos
Message 4 of 19
(11,382 Views)

Tyson, the code used to get communicating is an example included with the Ethernet/IP toolkit. What is the exact part number of the BLCEN-IP module you're using? Have you set a static IP address to the module?  You also need to make sure you set the correct Input Assembly Instance and Output Assembly Instance ID's on the front panel of the VI or else you'll never be able to obtain any data.

0 Kudos
Message 5 of 19
(11,372 Views)

After much fuss, I was able to make it work! The class, instance and attribute I needed were not very easy to track down. In fact I found some newer documentation for a similar module (TBEN series) that was much more helpful. In order to get the input data I needed the class was 4, instance 103 and attribute 3.

0 Kudos
Message 6 of 19
(11,368 Views)

Glad you got it working. I've found that when getting or setting an assembly instance over explicit messaging, you'll always use class = 4 and attribute = 3 with the assembly ID provided by the manufacturer in the datasheet or manual.

0 Kudos
Message 7 of 19
(11,362 Views)

Hi,

 

I am trying to communicate SMC EX250-SEN1 with EIP toolkit.

I  am using access assembly instance data(Explicit).vi.

 

Assembly instance ID=100 , class =4, atttribute=3

Assemnly instance id =150 class=4 and attribute=3

 

During data received i am getting data array {0,0,0,0,0,12}  i dont understand what is this?

 

i am writing to send digital output but no response.

 

In my controller SN= LED blinking GREEN. 

 

Can you help me how to communicate this ethernet ip module?

 

0 Kudos
Message 8 of 19
(10,564 Views)

Hi BaljiDP,

 

What is the I/O Block configuration of your setup?

 

0 Kudos
Message 9 of 19
(10,555 Views)

Hi dankaroll,

 

I have SMC EX250-SEN1 - Ethernet IP version with 20 channel output.  10 for each.

 

 

0 Kudos
Message 10 of 19
(10,549 Views)