Jump to content

Ethernet IP Communications


YINGD

Recommended Posts

I have an application where I need to communicate with an ACTech VFD via Ethernet IP using a Unistream based controls system. I am using Output Assembly 100 and Input Assembly 101 to send and receive communications with the drive. At this time, communications seem to be working well with Word 0 of each Assembly but I cannot find out how to read the and write to Word 1, 2, and 3 of each assembly as individual words. When I set the Data Type to INT16, I get 16 Bits that I can read/write as Word 0 and when I change the data type to INT 32, I get 32 bits that I can read&write to but the 32 bits translate to Worda 0 and 1 of each assembly but I cannot fidn out how to see access Words 2 & 3 of each assembly.

 

My questions are:

 

1. How do I access words 2 and 3 of each Assembly

2. How do I breakup words 0 & 1 which I can currently see as one 32 bit word into two 16 bit arrays so that it is seperated into Words 0 and 1?

 

 

The manual for the ACTech communications module can be seen at the link below. I could not seem to upload the manual because the file size was too large.

 

http://download.lenze.com/TD/COM__ESV__SMV%20EtherNet-IP%20module__v2-0__v2.0-B__EN.pdf

 

 

Link to comment
Share on other sites

Hello,

 

In the 'output' section of the assembly, you must link an array or 16-bit integers to have them all come across and in their own independent registers.  So the tag that you linked to this section, just change teh tag type to 16-bit INT again, and next to the tag name, you may create an "Array" of 4. 

 

Hope this helps.

Link to comment
Share on other sites

Question 2.

Look at this a binary to see it better.

The representation of the value as decimal, octal, binary has no affect on the result.

Your required value determines the number of bits used 4, 8,16, 32, 64 .

 

breaking up words, bytes, bits is done with the Logic And instruction

Using a mask like '0000 1111' will remove the bits masked by zero.

resulting in only the bits masked with 1's

Here the original high part disapears.

 

Getting hold of the high word, byte, bits takes one more operation

first mask the high part '1111 0000' then do a Shift Right 4.

Giving a result of '0000 1111'.

Here the original low part disapears.

(Some cpu's allow filling with 1's or 0's when shifting.)

:)

Link to comment
Share on other sites

Hello,

 

All information will be transmitted in the communications between the PLC and your device are transferred in bits.  It is up to the PLC to decifer what these bits represent.  For instance, if it is a signed integer, we will place these 16 bit into a tag type of "INT16".  If it is an ASCII character, place the bits into a tag type of "STRING-ASCII".  If you wish to have an array of bits, place the data into a tag type of "BIT" with an array length of however many bits your specifications call for.

 

If you need to shift, rotate, or mask an integer's bit data, we can do so within the ladder using the "Logic" tab or the "Shift Rotate" tab in the ladder section.

 

If you need to receive mixed data from your device's assembly instance (i.e. integers, strings, and bits all in the same instance) we may create a user-defined struct to place and separate the transmitted data properly.  The tag type order of the struct will just need to match the order of the register types in that instance we are reading or writing to.

 

You should not have to "break up" and data we receive (or send for that matter) from the EtherNet/IP device; we should just need to place the data in the correct registers to read the information properly.

 

What exactly is your output assembly instance is composed of?  If you may, please clarify the data in the input and output assembly instances, and how you wish to interpret it within the PLC.

 

Please let me know if this information is helpful.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

This site uses cookies. By clicking I accept, you agree to their use.