Structure Programming Motor DBs

N

Thread Starter

nicer

Hello Experts!=')

I'm currently working in a project using Siemens TIA Portal.

I am implementing the control using the very good "structured programming", where I program an FB for the motor logic, and then use it through "multiple-instances", in which each instances has its respective DBs.

Now my question is, what is the standard procedure, to make the motor DBs retentive or non-retentive?

This question became relevant to me when we've encountered a sudden CPU stop (don't worry, this is due to programmer!;'b), and when the CPU restarts immediately after the stop (due to programmer again), the motor outputs seems to retain their status before the stop, that is, those motors that are running before the PLC stop, retained their output commands after PLC restart! That which can result to some problems (power fluctuation due to simultaneous motor start, all at once; motor start unexpectedly; etc.)

Though, I think this can be advantageous (to retain the prior process status), I equally think this can be disastrous.

Though, please be reminded that I am still unsure if having the motor DBs retentive is what have resulted to this unexpected behaviour.

Here, I think I have at least two (at least, possible) solutions (if I want to *not* retain the prior motor status after a sudden PLC stop:

1) Make the motor DBs non-retentive, at least, the motor command output (so that after a restart, all the motor command output would be 0)

2) Program a logic that which would reset all the motor after a restart.

If the retentivity of DBs is really not what makes the problem, (thus, not also the solution), which is also one of my questions, then I must take #2.

Any thoughts?

Thanks much!
 
Top