ServoStar 600 positioning through Profibus and a S7 Program.

pietervdb

Member
Join Date
Jun 2006
Location
Ghent, Belgium
Posts
67
Hello,

Our client has bought a Danaher Motion ServoStar 601 / DBL3H00065 servo-motor combination with a profibus expansion card and now i have to write a simple positioning program for it. In automode: Input position/speed -> go to position with the given speed. In manual: Input: Switch left or right Output: Jog left or Jog right.

I have two hardware limit switches and one home position/reference switch.

This is the first time i have to use a ServoStar, i already programmed other servodrive's (siemens posmo, sew movidrive), so i thought it wouldn't be that difficult.

With the productmanual which was included i was able to connect/wire the drive properly, and with the quickstart guide which was included i was able learn to understand the program "Drive".

With "Drive" i was able to set up the drive,(Run basic setup, connect the limit switches to PSTOP and NSTOP, set DI 1 to "Reference") and do some basic test like jogging.

On the CD if found the gsd file + demo program for siemens S7, which is called "servofb.zip" and a manual "Instructions FB10.doc". This instruction file is 3 pages long.

With this "Documentation" and FB i was able to setup and connect the drive to the PLC. I could even enable the drive and reset it so i was sure that the profibus connection works.

After set init_drive i'm able to jog but if i change the jog speed in the DB i wont affect. Also when i stop jogging, the moving bit is still flashing and actual speed and position are still jumping. When i look with drive -> monitor there's nothing changing.
Reference run also works.

Now i didn't found out how to position. I just want to send a position and speed. I think it has something to do with "Start_MT" but i didn't find any good technical documentatie where everything is explained. I know its a motion task which can be programmed into the drive. But this isn't what i want.

The only PDF i found on the cd was the manual, where you cant find a thing about positioning. On the internet a found a PDF "Communication profile PROFIBUS DP for SERVOSTAR® 400/600" here you can find the whole concept of the PWK and PZD words for the drive.

I just need to know how i must position by just sending the position and speed.

I already contacted the supplier of the drive but the only thing he did was sending me the PDF's that i already found on the internet.

Does anyone has some documentatie how you can do it with this drive or maybe a demo program?

This would help me a lot.

Kind regards.
 
I have never done profibus but in general to go to position with a Servostar 600 you have to first be in position mode.

In the 'drive' software this is mode 8. In the Profibus manual it calls it Drive Profile Mode 2. The setting of the mode is covered on page 23 of the manual:
200609140534310.srprof_e.pdf

Next, if you have an incremental feedback like a resolver or incremental encoder you have to home the axis.

On page 47 of the same manual it talks about running motion tasks. It sounds like you want to run a direct motion task so you should make sure STW Bit 14=1.

I have done Devicenet but this looks quite a bit different. (maybe easier from what I've seen)
 
Thanks ndzied1 you were very helpful.

But I still have some problems, I narrowed it down to these ones.
This is how I work now for positioning.

After the drives boots is set "DB101_NUDB".Axis.Motion_Task_No to W#16#0000 -> Direct Motion Task and "DB101_NUDB".Axis.Direct_MT_type to W#16#2000 -> Absolute positioning.

Set "I_Init_Drive” -> “O_ACK_ready_ok” is 1 -> Reset "I_Init_Drive”

Set “I_Ref_Start” + “I_SW_Enable” -> Starts homing -> when reference switch is reached -> “O_Reference_ok” and “O_In_Position” are 1 -> Reset “I_Ref_Start” + “I_SW_Enable”.

“O_Moving” is flashing irregular and the values of “O_Actual_Speed” and “O_Actual_Position” are jumping. Why??? Motor stands still.

Set "DB101_NUDB".Axis.Direct_vtarget (Target speed of direct MT) to L#10000 and "DB101_NUDB".Axis.Direct_starget (Target position) to L#100000

Set “I_Start_MT” and “I_SW_Enable” -> does nothing -> Reset “I_Start_MT” and “I_SW_Enable”

Set "I_Init_Drive” -> “O_ACK_ready_ok” is 1 -> Reset "I_Init_Drive”

Set “I_Start_MT” and “I_SW_Enable” -> Is moving “O_In_Position” is 0 -> With Drive Monitor Actuel Speed = 60, Setpoint Speed = 58-62 jumping up and down, in PLC O_Actual_Speed jumps around L#300 -> Position reaches 100000 inc in PLC O_Actual_Position = L#10485760 -> Stop, “O_In_Position” is 1 -> Reset “I_Start_MT” and “I_SW_Enable”

Changes "DB101_NUDB".Axis.Direct_starget (Target position) to L#300000

Set “I_Start_MT” and “I_SW_Enable” -> does nothing -> Reset “I_Start_MT” and “I_SW_Enable”

Set "I_Init_Drive” -> “O_ACK_ready_ok” is 1 -> Reset "I_Init_Drive”

Set “I_Start_MT” and “I_SW_Enable” -> Is moving to position 300000 inc

Changes "DB101_NUDB".Axis.Direct_starget (Target position) back to L#100000
Change "DB101_NUDB".Axis.Direct_vtarget (Target speed of direct MT) to L#20000

Set “I_Start_MT” and “I_SW_Enable” -> does nothing -> Reset “I_Start_MT” and “I_SW_Enable”

Set "I_Init_Drive” -> “O_ACK_ready_ok” is 1 -> Reset "I_Init_Drive”

Set “I_Start_MT” and “I_SW_Enable” -> Is moving to position 100000 inc at 60rpm, speed didn’t change.

Why ????

One time I set “I_SW_Enable” and it starts positioning without setting “I_Start_MT”.
Sometimes I Set “I_Start_MT” and “I_SW_Enable” doesn’t move at all, I set and reset "I_Init_Drive” then it moves when I set “I_Start_MT” and “I_SW_Enable”.

This I found in the manual of the FB.

Start a Direct Motion Task

- Write 0 into UserDB.DBW62 “Motion_Task_No”.
- Write speed command into UserDB.DBD 66 “Direct_vtarget”,.
- Write target position into UserDB.DBD 70 “Direct_starget”
- Write motion task type into UserDB.DBW 64 “Direct_MT_type”.
- Set Start_MT.
- Wait, until In_Position = 0.
- Wait, until In_Position = 1 and MT_active = 0.
- Set Start_MT back.

Note: With the parameter INPT you can set a time delay in ms for the In_Position signal. After the start of a motion task the signal will be set to 0 at least for the time INPT (s. manual chap. VII.1).

Note for position and speed command: Target position and speed command can be set in user units, when bit 13 of the motion task type is set. (s. manual chap. IV.2.5.3).

Motion Task Types (common values)
(s. manual chap. IV.2.5.3)
0x2000 (Bit 13 set) Absolute positioning; speed and position setpoint in user units.
0x2003 (Bits 0, 1, 13 set) Positioning “relative command”; position and speed setpoint in user units.


When I set Motion task type to 0x2003 (Positioning “relative command”) it does al the same except when "DB101_NUDB".Axis.Direct_starget (Target position) is L#100000 it goes to 300000 incr.

Does anyone know why it isn't working like it should be?

I included the manual and the S7 demo program.
 
I don't have a lot of time this morning but when you say the position and speed are jumping, depending on your scaling and tuning and your in position window, you might see a few counts this way or that and you might move out of the position window.

If the controller "thinks" the axis is moving wildly and it is standing still then you have a problem.
  • Is the motor type selected properly in the drive?
  • Is the feedback type and scaling selected properly?
  • Is the feedback cable good?
  • Is the feedback cable routed away from noisy devices?
I'm not familiar with the motor you mentioned (a DBL...) .

The other thing you seem to be doing is enabling the drive and trying to start a motion task at the same time. I always put a delay between these types of commands.

Also, how are you controlling the hardware enable signal? Are you turning this on and off along with the sofware enable or when power turns on?
 
It's just a few counts.

The motor is selected on type number in Drive so i think that every will be ok. I checked the max current, speed, ... and everything looks good.

Feedback is buildin resolver with 2 poles. I selected a resolver for feedback in Drive an didn't changed a value.

Feedbackcable is a prefab from Danaher Motion, also the motor cable.

How noisy is too noisy? There are 18 VFD running next too the drive, each with its own fan.

There is a delay between enabling and start MT.

Hardware enable is throug emergency stop.
 
Is the feedback cable routed away from the drives?

Also, what is your position tolerance. If it is not required to be a small value, make it bigger.

Before you do your reset of the drive, are there any fault messages or warnings on the drive? The LED display on the front of the drive should normally show E01 (for enabled, 1 amp drive). Does anything else come up?
 
Feedbackcable is routed away. Position tolerance isn't decided yet, machine isn't ready.

Resolution is now: 10000 / 1

No warnings or errors.


Thanx for the help.

I contacted Danaher Motion again with my problem but still no answer.
 
pietervdb said:
Feedbackcable is routed away. Position tolerance isn't decided yet, machine isn't ready.QUOTE]

Even though you haven't decided on a tolerance for your applicaiton, the controller still has one that determines when the InPosition or Moving signal comes on and off.

In the Drive software, this is on the position data screen and called In Position. If this value is very low, you may not be tuned well enough to say within it and you could be moving in and out as the machine vibrates. These vibrations can be so small that you canot see or feel them.

Also, you didn't mention what the 3 digit display on the drive is showing...
 
Ok,

In Drive i have these values to change under position:
Ff Factor: 1
KV: 0.15 m/s/mm
max Following Error: 262144 incr.

Display is showing E01 when enable and P01 when SW disabled.
 
From the Position window, click the Position Data button and a new screen will appear. One of the values there is called InPosition.

That is the value I'm talking about.
 

Similar Topics

kollmorgen servostar 400 x7 port support both can and profibus How to connect with this module through profibus instead of can ?📚
Replies
2
Views
1,563
Dear Sirs, Where can I get servostar programming software for education purpose? Servostar 400 series.
Replies
3
Views
1,788
How does the servo-star work,and what software to use for communication.
Replies
1
Views
1,888
I'm looking for information on connecting a Siemens Servostar S700 Drive to a ControlLogix PLC via Profibus. We will be using the Woodhead...
Replies
0
Views
4,167
Hello, I have a set of three tanks with their own trio of Hardy 6600 series load cells. Two of them have no issues with where they are at and...
Replies
3
Views
129
Back
Top Bottom