Siemens S7 PID Control Problem

hmm well I'm left with trying it out.
The regulating of the pumps is all that has to be done (so one PID would be sufficient)

Now I wonder what about the drive build-in PID in stead of that fb41. It would certainly take my mimimum speed into account automatically, but I have no idea how that PID would work (yet)
 
Hi JGS

I'm sorry but I really don't know anything about the built-in control in a Sinamics S120 drive. Knowing Siemens I bet there are all kinds of tricks you can get it to do, but I'm no expert and this isn't a drives forum. You may be lucky with someone else who can offer specific guidance on that.

Picking up on a couple of points in your post #12 -

Yes, you can set a minimum value for the output of the FB41 block. You'll find a couple of input parameters LMN_FAC and LMN_OFF. These allow you to apply a FACtor and an OFFset to the Lmn - the output. The factor is a multiplier to adjust the slope of the Lmn response, and the offset determines what the zero point is. The default values you will see in the help file and in the instance data block are 1.0 and 0.0 respectively. If you want the pumps never to run at less than 20% then change the offset to 0.2 etc

Simulation using PLC-SIM only simulates the CPU, not the process. You're right that you need to add some operation in the CPU which will simulate the process. There is another FB which can be used for this in a very simple way. (Oh, no. Not that word 'simple' again!!) In the STEP7 TI-S7 Library you will find an FB named LEAD_LAG - I think it's FB80. Add it to your OB35. You can feed the input of this block with the Lmn value, and send the output of the LEAD_LAG block back to the PID as the PV_IN. You can adjust the lead and lag time parameters so that this block gives something for the FB41 to exercise against. It's not designed for detailed process simulation so don't try to tune the FB41 assuming the same values will work on your tank. But at least you can experiment with some of the issues we've discussed.

Good luck

Ken
 
Thank you ken, this seems to be valuable information also!
I'll get more into it next week and try what you explained.
 
The S120 CU310 is a servo/vector drive (really for motion control)
It has no analog I/O or a free function PID- yet (its on the way and a whole lot more)
But for right now- You will need FB41 or something similar
 
JRW said:
The S120 CU310 is a servo/vector drive (really for motion control)
It has no analog I/O or a free function PID- yet (its on the way and a whole lot more)
But for right now- You will need FB41 or something similar

Yes JRW is correct S120 is a motion drive and as such a poor choice for aforementioned application (unless your looking for uniformity of spares etc). The Sinamics instruction set will be filled out soon (I'm assume). I would use a MM440...or just use the drive as a speed control and do your PID in the PLC (you'll be happier in the long run).

Nick
 
Last edited:
Ken M said:
...I initially offered that as an additional piece of information Nick's original solution. It was a small but vital element. But it now seems to have a life of its own in this thread. I stand by what I originally said until someone can convince me otherwise. If what Nick says is true, then it makes PID control in S7 a lot easier all of a sudden.

Regards

Ken

Ken,
I would suggest you crack open the source code and look at the way the block is written. I have also experimented with calling this block a hundred times (different instances) not a loop. All with the same values and snapped the scan rates. You'll find that on "dead calls" when the cycle time had not elapsed it zipped through the 100 calls but for the "working calls" it executed about 0.5mSec per call (on a OLD 400).

I'm not advocating this is the "correct method" just addressing your concern. Your point out the 100mSec call was valuable but I still defend myself to the over the top statement of wrong.

Nick
 
So which value would be appropriate for this task ? 100 ms ? 1 s ?

I know the sinamics S120 is a poor choice, the main reason is spares idd :s
Although there are plenty of micromaster 440 around but they have told us they will be ended and sinamics will follow them up.
 
JGS said:
So which value would be appropriate for this task ? 100 ms ? 1 s ?

I know the sinamics S120 is a poor choice, the main reason is spares idd :s
Although there are plenty of micromaster 440 around but they have told us they will be ended and sinamics will follow them up.

If you are doing NOTHING ELSE. Set them both for 1000mSec (Need to do this in hardware manager). In future if you need something faster you'll need to change OB35 again. You've never told us which CPU you have. Some have more that one OB to use.

OB35.JPG


Note: Assuming your doing Profibus Control you'll need to scale the output between 0~4000H (16384 Dec) for 0-100% operation.

Nick
 
Nick

Humble apologies and I prostrate myself. Obviously I am wrong.
One final question - how does an instance of FB41 time itself to know when it's time to execute? Why do we need to bother with OB35 or any other timed interrupt? Why not just sling it in to OB1 with all the rest of the code?
(Oh, all right. That was three final questions!)

Ken
 
Ken M said:
Nick

Humble apologies and I prostrate myself. Obviously I am wrong.
One final question - how does an instance of FB41 time itself to know when it's time to execute? Why do we need to bother with OB35 or any other timed interrupt? Why not just sling it in to OB1 with all the rest of the code?
(Oh, all right. That was three final questions!)

Ken

Ken,
Because there is still some additional overhead by calling the block. It's a background task and it belong in the time based blocks. If you called it in OB1 you would be subjected to the jitter of the program. OB1 has the Least priority and would be interrupted by everything. As long as OB35 update time divides evenly into desired cycle time you are in business. 1000/100=10 no remainder...tadda.

Question:
Have you ever seen a PCS7 project? You might be surprised where all the code goes and how the PID blocks and control blocks get called.

Ken I'm not interested in a ****ing contest...you obviously have some skills...It doesn't mean you need to attack my view because I didn't cover EVERY possible variable. I simply got him started.

Nick
 
I just discovered that the sinamics S120 has an advanced PID controller.
It's part of the technology controller and also works for vector.

Has anyone an idea how I can send non-BICO parameters (like ramp times) to drives ?
 
ProTool Siemens Simatic s7-300

Hi. I have problem with ProTool Pro. I must to create operating panel in ProTool
on the strengt basis of SFB 41 with big time delay.I've got problem with switching work mode. How match this value??(MAN)​
Where set time delay and how big must be??
 
Last edited:

Similar Topics

Hello all, A group I am involved with is just completing converting a Siemens APACS control system over to an RSLogix PLC. The subject came up of...
Replies
1
Views
1,208
Hello I have test a program today using FC41 for a flow control(flow meter feed back(4~24mA,0~6.5 m3/h); positioner for the butterfly...
Replies
2
Views
2,104
Hi Sorry for the long explaination I am commisioning a new install with these PID control blocks which are supposedly auto tuning. The process...
Replies
4
Views
7,475
Hi Can anyaone please help..? I need to bild a line following robot it will be steered and driven by pneumatics, I need to be sent into a...
Replies
5
Views
2,443
Hello to all, I need its aid. I need to implement a control of pH for acid water neutralization and will use a PLC Siemens S7200, the problem is...
Replies
10
Views
7,313
Back
Top Bottom