Nick,
Tom is on the mark. It does help to know which brand and model of PLC. However based on your descriptions, I am 90% sure that you are talking about an Allen-Bradley program.
my question when TON is enabled, will it start accumulating from 10690+ 1 or 10690 + (current time- last time)???
If the program enables it with 10690 in the ACC value, then it will start timing at 10690. However, if the rung is FALSE at any point, the ACC gets reset to 0.
why is programmer using 10690 for acc, why not 0 instead and (preset 30000-10690= 19310). Please help me with it.
The programmer may not be, and more than likely IS NOT, using 10690 as the starting point. There are 4 ways this value can be saved as something other than 0, which is where the programmer would normally start the timer. I have never seen one start from anywhere other than 0, and I consider it poor programming practice to do otherwise.
For the Allen-Bradley RSLogix TON timer, when the rung logic goes from True to False, the timer Accumulated value is reset to 0.
Quote from AB TON Help screen: "The accumulated value is reset when rung conditions go false, regardless of whether the timer has timed out."
Therefore, normally the ACCumulated value should be 0, unless the timer is running on-line. There are several ways to get an ACC value other than 0 saved into the program. (1) Save the program while it is running, and upload the data tables, which will capture timer ACC values; (2) From another rung, move a value into the ACC bit while the timer is off, (3) Manually enter a value in the Timer Data Table ACC word, and (4) Switch the PLC from RUN mode to PROGRAM mode while the timer is running, which prevents the timer ACC value from resetting to 0.
The above 4 reasons are why it is sometimes a good idea to make sure that TON timer Accumulated values get reset to 0 somewhere in the program. Use the RES command to make sure that a timer gets reset to 0, if there is any doubt.