PID double integer to real results in 0


Thread Starter

Ken Miller

PID loop created with wizard in Siemens step 7 Micro/Win 32. 3rd network includes DI_R which should change the integer 13871 to 13871.0. out to VD830 memory location. It does not result is 0.0

I have checked cross reference to see if something else is moving 0.0 to mem location vd830 but found nothing. VB830 is start of table loop and the process variable. Any suggestions appreciated.
It sounds as if it must be getting overwritten. try the same but using different memory location like MD100 etc.
I must stress I have done little with S7200.

marc sinclair


How are you viewing this variable? Viewing on the status screen doesn't always reflect the true value as the display is updated at scan end. (I believe this his has been rectified for version 4)
also -

For intermediate values i use an accumulator ac0 ac1 ac2 it saves having to allot symbols and accidental overwriting (vb102 overwrites a byte of vd100, look in the cross reference, this shows where variable overlap.)

Have you tried using IEC 1131 mode? the maths and logic functions are overloaded (i find this a lot easier, for example one ADD instruction rather than ADD_DINT ADD_INT and ADD_REAL)

Marc Sinclair