JVL MAC00-EI4 and SLC-5/05 over EtherNet/IP

Ken Roach

Lifetime Supporting Member + Moderator
Join Date
Apr 2002
Location
Seattle, WA
Posts
17,490
This is a new thread spawned from an old one about small integrated servomotors that connect well with Rockwell Automation control systems. It turned into a discussion of the control of JVL integrated servos with the EtherNet/IP option board (MAC00-EI4 or -EI41).

User ATU has a MAC400 servomotor that he wants to run with an SLC-5/05 controller using the Ethernet Explicit Message instructions.

I have a project with 100 axes of MAC800 servomotors that I'm doing design and layout for, also using the EtherNet/IP option board. But I'm using a big ControlLogix 1756-L71 and three 1756-EN2T modules.

I have just one of the MAC800 on my bench for testing.
 
The basic question is: "Can you command a JVL MAC servomotor over EtherNet/IP using the EEM instructions in an SLC-5/05" ?

ATU has already tried sending a Set Attribute Single (Service Code 0x10) to the Class 0x64 "vendor defined object" that JVL implements instead of an ordinary Parameter Object.

This is a similar challenge to the more-common "can I run a PowerFlex drive over EtherNet/IP with an SLC-5/05 or MicroLogix 1100/1400 controller".

That's a practice I actively discourage, even though A-B makes it possible with a PLC/SLC data table emulation addressing mode and an easy-to-set Timeout feature for running the drives.

In the JVL MAC servos, our principal interfaces are the Class 0x64 Parameter object, and the Class 0x04 Assembly Object.
 
Well given up on the SLC, decided to try an LS35E that we had on the test bench. Setup the Generic Ethernet Module as shown in the JVL Manual.
Inputs 101 size 5
Outputs 100 Size 5
Config 1 size 0
Getting a Code 5 Connection Request Error Bad Class

Running Rev 19.1 on the CPU

Weird, I look at the Module information tab and get the correct Firmware version, but the serial number does not match.

Running Mac Talk, it says Cyclic Running, but no cyclic IO
Got a flashing Green on the Net LED on the Unit

I've noticed a lot of mistakes in the manual, could there be some parameter published wrong?

How do you setup the EIP on the CLX?
 
Which revision of MacTalk are you running ? I had to go back to version 1.50.52 to get all the features and windows working correctly, in particular the tuning.

In the EtherNet/IP tab in MacTalk, what parameters are configured in the Cyclic Data Setup ?

There's a pretty good example of configuring the cyclic data in the LB0056 Ethernet module user manual. I used a configuration very similar to the one shown in section 4.3 of that manual.

The serial number confused me, too; I think the MAC00-EI41 module has its own serial number, while the MAC motor has a different serial number. It's not part of any sort of keying so don't worry about it.
 
Make sure your data type is DINT when you create the Generic Module; the MAC motor parameters are almost all 32-bit.

Practical advice: Go ahead and print out the MAC400-specific parameters in hardcopy and refer to them. I kept on getting confused when I used a Search in the PDF file, because I'd come up with the MAC50-141 (the little DC supplied servos) when I really needed to be reading the page for the MAC800 240V AC servos. The tables are titled well and accurately but sometimes when you're searching midway through the table you don't look at the top to be sure you're looking at the right table.

I think that the "Bad Class" error comes up if you don't have parameters filled in so that the Assembly Object can be populated with parameters. When that error appears in a Generic Module object, it's always because the adapter device has a configuration problem.
 
Last edited:
1.50.62 for MacTalk
Read words 2,10,12,169,35,0,0,0
Write WOrds 2,3,5,7,0,0,0,0

Do you have to change the data lengths in the EIP object in RS5000 if you don't use those registers.

What is your setup?
 
Try adding one more parameter into the Write Words section so there are five nonzero parameters in each Assembly.

I'm setting up a new MAC800 and will have some info shortly.
 
Yep, that worked. I set the input and output size to 8 words each and did as you said. Now I have data and errors, but reporting position correctly.
I can also change the modes. Thanks for your help! Looks like I'll have to find small brick to put in the machine just to talk between the SLC505 and the Servos.
 
You could put in a 1769-L16ER controller just to run an I/O connection to the servos (how many do you have?), and then send MSG instructions to the SLC-5/05 controller.

If you're game, you could try the SLC-5/05 using the EEM to read and write the Assembly Object (Class 0x04, Instance 0x64 and 0x65, Attribute 0x03).

While I almost never recommend doing that, in this case you're taking enough care and attention to try it.
 
I tried the Assembly Objects and got a solitary 8 in the middle of the data block and I have no documentation that tells me how the corresponds to the registers.

I've got a copy of the registers, but they barely explain any of it. I've got an I_Peak_ERR but can't find where that limit is set?

Looking for some explanation of the homing modes. There is a checkbox in MacTalk that moves the motor to an offset position after the home. I can't find it in the register table where that bit is set. I can find the offset register and set that value, but when I save to flash the checkbox gets unchecked? I want to home in the neg direction via a hard stop and torque out, but when I select that mode and issue a 25 in reg 2, it moves back against the stop but does not finish the home. I have the home torque set to -25.
 
Someone finally gave me a CD with ALL the manuals, quite helpful. Explains quite a bit.
 
Looking for some explanation of the homing modes. There is a checkbox in MacTalk that moves the motor to an offset position after the home. I can't find it in the register table where that bit is set. I can find the offset register and set that value, but when I save to flash the checkbox gets unchecked? I want to home in the neg direction via a hard stop and torque out, but when I select that mode and issue a 25 in reg 2, it moves back against the stop but does not finish the home. I have the home torque set to -25.

Did you ever figure out the home to torque? I'm using CompactLogix and Ethernet/IP. I'm somewhat familiar with these servos. Have used them in very basic applications before. This is the first time I've tried home to torque - though I've done that many times with AB.

With AB, when homing to torque, it always stresses the fixture/platen that I'm homing by a few thou. AB has a feature where you can tell it to move after homing and THEN set that position to zero. So what I do is home with no offset. The fixture/platen will be stressed (yes I only use as much torque as necessary). then I interrupt the light curtains to kill power to the servos and see how far it "relaxes". I then make that my offset move. Again usually only a few thou like .004 or .007". THEN I zero and call that the home position.

When trying the Mode 12 "Home To Torque", and entering a negative velocity in V_HOME (Homing Velocity) and the scaled value of torque in T_HOME (Homing Torque) it appears to work EXCEPT after stalling and reaching the Homing Torque it rotates in the opposite direction about 30 degrees and goes limp like its in the Passive Mode. And I have set the START_MODE to 2 which means to put into Position Mode after homing. Whew. :)

Question is why the heck is it rotating a bit after homing to torque. Oh and the faster the Homing Velocity the more it "unwinds".
 
Yes, I got it to work, but it was months ago and I can't recall what I did with homing. I know it did some strange things. One issue, I think it was attributed to configuring the unit over the Ethernet Connection. There was some check box that gets unchecked over that link. It had something to do with homing but again I my memory fails me.

I have some notes, but can't remember what I did
Its been 3 projects ago.

Maybe you can make sense of it.
In-Position register must not be zero for homing mode 26
Do mode 26 after mode 12, use position register
Change velocity to neg for torque + for 26
Need to compare Positions, don't use ERR register
Must restart drives for Setup changes

Hope that helps!
 

Similar Topics

Hi All I am hoping there is some here on the list with the "Black Belt" in JVL servo motors :) I have a MAC3000 motor controlled via Ethernet IP...
Replies
4
Views
1,776
Back
Top Bottom