Any Bosch Rexroth PLC Users?

iez44

Member
Join Date
Jan 2011
Location
Western PA
Posts
20
I was given the task of programming servo motor control using the Bosch Rexroth PLC drive controllers. Unfortunately, I am not familiar with this manufacturer at all. Yes, I know it's an obscure brand, but I didn't have a choice in the decision process. :mad:

Anyone know where I might find a sample project w/code that I might be able to follow? I've tried searching online and have been unsuccessful for the most part. I did find some sites that require a yearly fee, but I am unable to purchase. (Really don't want to anyway!)

Thanks for your help in advance.

Jim
 
Hiya,

What controler is it? Is it the MLC (indraworks) or the PPC (visual motion)?

Don't know much about the PPC, only did two projects with it and my predecessor did 90% of the work. I do know a little about the MLC though, maybe I can help. The MLC is programmed with IndraWorks/IndraLogic and the language looks like basic (PLCopen), although you can use FBD or Ladder as well.
 
OK I will ask the question. Where do I learn about these PLCs? I have a customer that has several of the Bosch PLC in machines. When they have an issue they fly in techs to help.
Bring the nice Guy that I am I offered to learn the programming to help these guyas out.
 
I'd start with your local rep.
Up here in IL, the Bosch is located in Lake Zurich.
I assume he is using the PPC which is the latest software package for their line of servos.
 
;) PPC is on it's way out actually, I think they will put it to service parts within the next year or two. The MLC is their new line and going into it's second generation this year (at least for the general populous). IW-MLC10 is out already, IW-MLC11 to be released soon to program their MLC line of controlers (L25/L45/L65).

But bkottaras is right, check your local rep, he can give training schedules etc. Or visit their site: www.boschrexroth.com to find out what training they give and when/where.
 
Last edited:
Hiya,

What controler is it? Is it the MLC (indraworks) or the PPC (visual motion)?

Don't know much about the PPC, only did two projects with it and my predecessor did 90% of the work. I do know a little about the MLC though, maybe I can help. The MLC is programmed with IndraWorks/IndraLogic and the language looks like basic (PLCopen), although you can use FBD or Ladder as well.


I am using the Indraworks controller. Unfortunately, I have many many questions and my company doesn't want to pay for training. I thought if I got a sample project, I might be able to learn from that and see how things are done.
 
I'm afraid it's not a simple matter. You have several parts you will need knowledge of to begin with.

1.) The drives, I take it IndraDrive, you have to know your way around the parameters to set it up. IndraWorks will interface for you, but you have to know where to look

2.) Indraworks: you will have to setup the hardware etc, get the drives online and configured

3.) Indralogic: setup the config, learn the language, then learn the functions, how they interact. Best is to also get the AxisInterface library (not free) to make interaction with the drives and functions a lot easier (less overhead).

4.) GAT Template is nice for big projects, it will let you bring some structure into your program using a machine-state and all that is associated with that.

Training on the drives themselves is a 3-4 day course, then MLC-basic and MLC-advanced (don't knwo the exact names) are 4 and 5 days respectively. And Bosch ain't cheap, expect $300+ per day ;)


This is not as simple as programming a regular Siemens or AB plc. There is more involved and more than can just be done on the side to please your boss. Not saying you can't become an autodidact at this over a period of time, but there is a learning curve if you have never worked with Bosch or other PLC-Open systems. It programs like a PLC, but there is so much more possible. You can set up tasks for motion and non-critical functions (like I/O and PLC-like tasks). With the MLC there is just a motion controler that can also do what a PLC can do along side it's motion tasks. I really like this system and am having great fun, and occasional headaches ;)

PS: IndraWorks is based on CoDeSys if that is any help.
 
Last edited:
Thanks Six for the info. Not what I wanted to hear, but appreciated nonetheless.

I still want to get a sample project and try to learn from it. Who knows, maybe I can shorten the learning curve a bit.
 
If you know basic then you can program the MLC. You can even use ladder if you want, but it is cumbersome.

Do you want an entire program or just some bits? Entire programs will be a no-no for me due to know-how protection etc. Apparently I have an intellect that can be property of my employer. The fact that I even have intellect is news to me ;)
 
I'm trying to install IW at home to give you some examples, bl__dy windows 7 is not supported yet but I have hopes of getting it running anyway. Stay tuned.
 
Some general variable declarations, UFB is a custom FB made by me, the others are standard things.

R_Trig = rising edge
F-Trigger = falling edge
UINT/DINT/INT/UDINT/REAL/DREAL/STRING/BYTE/BOOL/WORD/DWORD etc should be the standard types


PROGRAM MainSercos
VAR
fbTRIGGER_shiftSplice: UFB_Trigger;
OSR_Splice: R_TRIG;
OSF_EndOfSplice: F_TRIG;
uiNumberToSplice_m: UINT;
icounter_NotCut_m: INT;
END_VAR
 
Last edited:
normal PLC stuff

OSR kind of betrays my AB history ;) This routine makes a rising edge when a certain position is reached (hyst of 2) and then creates a timed pulse of 25ms and sends it to an output.

(* ##### Trigger printerfunction = output activating output on specific location *)
OSR_Printer.CLK := AxisData[1].rActualPosition_i > diPrinterPosition_gb AND
AxisData[1].rActualPosition_i < (diPrinterPosition_gb + 2);
OSR_Printer();
fbPrint_TP(IN:=OSR_Printer.Q , PT:=t#25ms);
bPrinter_q := bEnable_Printer_gb AND fbPrint_TP.Q;


Timer example where the .IN is defined in a seperate line:
TON_VacumePump.IN := (bMachineProducing_gb OR bMachineJogging_gb OR bMachineParking_gb) AND bEnable_Vacumepump_gb AND bMachineReady_gb;
TON_VacumePump(PT:= UINT_TO_TIME(uiVacumepump_OnDelay_gb * 1000));




The following is a shift register (well, really an array used as a shift reg) that is toggled every cycle of the machine and filled with the appropriate info true/false.

(* #### shiftregister for blow-out of NotCut *)
fb_TRIGGER_shiftNotCut(x:=AxisData[5].rActualPosition_i , position:= rPosition_NotCut_gb, modulo:= 360.0, Q=> );
IF fb_TRIGGER_shiftNotCut.Q THEN
FOR icounter_NotCut_m:=10 TO 1 BY -1 DO
arshift_BlowoutNotCut_gb[icounter_NotCut_m] := arshift_BlowoutNotCut_gb[icounter_NotCut_m - 1];
END_FOR
IF bSensor_NotCut_i THEN
arshift_BlowoutNotCut_gb[0] := TRUE;
ELSE
arshift_BlowoutNotCut_gb[0] := FALSE;
END_IF
END_IF
bBlowout_NotCut_gb := bEnable_NotCut_gb AND arshift_BlowoutNotCut_gb[uiNumberNotCut_gb];


Heres a standard function that changes a variable when you press a button and keep it pressed:
fb_Adjust_Printer(
Enable := TRUE,
Inc := bAdjust_Printer_Up_gb,
Dec := bAdjust_Printer_Down_gb,
ModuloValue := 360,
StepWidth := 1,
StepsPerSecond := 5,
AdjTimeIntervals := strAdjustTimes_m,
AdjWeightFactors := strAdjustFactors_m,
Value := diPrinterPosition_gb);
 
Last edited:

Similar Topics

Hi guys, My name is Kevin, and I'm doing internship right now. I need to make an universal denester, filler and lidder. Right now I'm designing...
Replies
5
Views
4,339
Dear Sirs, in my current application, I am using a Bosch Rexroth L20 PLC communicating with Hightec PWS-6A00T-N HMI, but in the configuration of...
Replies
1
Views
4,133
Hello everyone.. Anyone here who´s familiar with Boch rexroth mobile PLC´s ? Here´s the situation: Im supposed to do a school project. And im...
Replies
0
Views
4,918
Good Day I trust you are well, I am struggling to find someone that is familiar with the software "bosch Rexroth Indralogic Engeneering" I am...
Replies
3
Views
1,527
Hello . I have some kind of problem with loading program into CLM 1.4. I have working controler which has first symptoms of coming failure...
Replies
0
Views
1,268
Back
Top Bottom