Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Siemens S7-400 PID Reset data format 2

Status
Not open for further replies.

Andy32821

Industrial
Aug 24, 2003
39
0
0
US


I am to writing a floating point number for PID “reset time” from a SCADA HMI to a data block register in a S7-400 processor simatic PLC. Contrary to some published data I cannot get the PID block to read milliseconds. The PID block seems to insist that the reset and rate times be in siemens’ “time format” data type before the PID block will read them.

Can I force the PID block to accept milliseconds?

Is there a math block that will convert decimal into time format?
 
Replies continue below

Recommended for you

jacekd,
in this case, can word containing tag containing number of millisecons be used as input for TIM_S5TI? I guess no.

S5Time is simply BCD. Once upon a time I had to convert seconds to S5Time (S5-155 CPU948 though)


Code:
Name :INT->S5T        Convert integer seconds to s5t
 
     :DUF             integer to bcd
     :L   KH 0FFF     only 3 digits needed
     :AW              apply binary mask
     :L   KH 2000     "2" means seconds
     :OW              apply binary mask
     :BE
 
Dear ipupkin,
You're right. It's not possible to use word at a input which is dword.
However try this:
L ?W x
T ?D y
(where ? stands for: I,Q,M,DB or DI and x,y - is a address)
This will copy your word (consisting of miliseconds) into dword (wow! data type TIME has been created) which you can use as input of FC40.

Regards,

Jacek

Do it right or don't do it at all.
 
A TIME data type is stored as a signed integer number of milliseconds in 2's complement format. This is not S5Time format as some of the other comments have suggested.
 
Status
Not open for further replies.
Back
Top