Cam Posted February 10, 2020 Report Share Posted February 10, 2020 (edited) Has any one ever set up a UniStream to communicate with an Ethernet/IP IO-Link Master block? or accomplish what is described below. I can communicate with the block and configure the block itself, however I am unable to set parameters in IO-Link devices connected to the block using an explicit message. I need to send a message with the following: CIP Service: 0x32 CIP Class ID: 0x96 CIP Instance ID: 1 Attribute 0x03 (read) 0x02(write) Service Data 0x41 (Index I want to read/Write) followed by the data I want to write if I'm doing that operation Rockwell has a message composer that allows you to set all this up, I don't see it available in the UniStream nor have I found a way to do it as the Get Single and Get All are 0x0E and 0x01 service codes, which looks like: Soure Elemenets are data I'm sending (Index to be read or write+data to write) Destination is where the data I'm reading gets put. Here are the messages using an ODVA tool Read Write Links to Balluff documentation and their technotes(which are all AB related and all their tech support could provide) Balluff Ethernet/IP Master Block BNI006A https://htmsensors-my.sharepoint.com/:b:/p/cameronm/EVAORRXz3UFIop2JuGVA_IEBmGORnCL_G8tLOIrm60Tp7w?e=VRd0vH Balluff IO Link Module BNI007R https://htmsensors-my.sharepoint.com/:b:/p/cameronm/EYJtc4q22K1Ai4TSbhiR2qwB_EWZ6cms43TnJ0y_e0eiMw?e=OcrPz4 Balluff Technote https://htmsensors-my.sharepoint.com/:b:/p/cameronm/EYhgfHdOL1hIk3Z1r8poKDoBLp1NROuyrQZbASe--i5ESw?e=QhVkIh Edited February 10, 2020 by Cam Added ODVA tool screen shots Link to comment Share on other sites More sharing options...
Cam Posted February 11, 2020 Author Report Share Posted February 11, 2020 Update to this I apparently missed the explicit general message function block when looking at this. I’ve got it configured However when it runs I get a -1 in the status message every time. I shut off the implicit messaging and just set it up for explicit that didn’t work either. Screen shot attached. My next step is to wire shark it in the morning and see if the PLC is actually transmitting, or somehow is stepping on itself and not. anyone else have a suggestion as to what to check or try? Link to comment Share on other sites More sharing options...
Pista Posted February 11, 2020 Report Share Posted February 11, 2020 Hi Cam, you haven't tried through the EIP: General Explicit Message ? Bytes to copy is 3. It is OK? but be careful, hex numbers need to be entered for example #H32 for Service code. (decadic 50). #H96 for Class. (decadic 150). Notes You must create an Ethernet/IP Scanner node in order to enable Explicit messaging; you do not need to define any assemblies or I/Os, only the node is required. If you are implementing Explicit messaging alone, when the Scanner Initialization Status = 2, the connection is ready. However, if you are implementing both Implicit and Explicit types, Status = 4 allows both types to flow through the connection. Link to comment Share on other sites More sharing options...
Cam Posted February 12, 2020 Author Report Share Posted February 12, 2020 Hi Pista, See the update post above yours I believe they got approved at the same time so you probally couldn’t see it. yes the scanner initialisation is 4 when I try to communicate as there is implicit meesaging going on as well. I believe three bytes is correct as all I need to send as data is 0x41 0x00 0x00. Or am I mistaken and I need to send 12 as the service code,class,instance,attribute which consist of 9 bytes need to be included in the bytes to copy? The help file is a little light on this function @Cara Bereck Levy Link to comment Share on other sites More sharing options...
Pista Posted February 12, 2020 Report Share Posted February 12, 2020 Hi, my comand is 3 x 32 bit, so bytes on copy = 12. Try service, class and instance enter in decad. values. I do not know what is being transferred correctly from the tag. Last zero is not a terminator? try sending 2 bytes. Attention- Rockwell can use the byte as 16-bit Link to comment Share on other sites More sharing options...
Cam Posted February 13, 2020 Author Report Share Posted February 13, 2020 Well this is partially solved. I can use explicit messaging and get data from the block if 1)No implicit messaging is active 2)I’m not in online mode with my PC If implicit is active there are two extra bytes inserted in to the explicit communication which the block then interprets as the class is 0xFF96 instead of the 0x96 which is declared. With the PC connected in online mode the status is always -1. Disconnect the PC and and disable implicit messaging and everything works. Support has everything including the wire shark files showing what is being transmitted including the extra bytes. I’ll update this once they provide a solution. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now