Motor Hours

henno2000

Member
Join Date
Jan 2007
Location
UK
Posts
72
Hi, I have read some posts relating to recording motor hours, but was wonder what the best way to implement this using S7? (Currently, I have an hour timer, which on every hour will pulse a counter. The counter is only good for 999 counts though and would have to use more counters for days and months)

Is there a more efficient way of doing this?
 
If you want higher than 999, then don't use a counter (to be honest I never use counters).

Just use a word and increment it on a one shot.


EDIT: don't use the increment instruction, use the add, increment only works on a byte level (0-255).
 
Skip the counter and use a real or a dint.

Every 36 seconds add .01 to a floating point number. This will give total hours in hundredths of an hour. Or if you only want tenths of an hour then add .1 ever 360 seconds. If you are only interested in whole hour units then ADD 1 to a DINT once ever hour.
 
I agree with Alaric. A float gives you much more data. Just decide how frequently you want to count to trade for resolution for total time. I'd recommend working backward. Overestimate your max time count. Divide your float size by that number to get your smallest interval. Round up - realistically you probably won't need anywhere near that level of precision. That's the advantage of using a float versus a counter that only goes to 999.

Alternatively, you can do this in software with FactorySQL. You drag a tag into your group and make it an "hour meter". This creates a datetime column in your SQL database table that has a high resolution, high capacity storage. Suppose your group runs every 10 seconds. If the register/tag is "true" (usually = 1, but can be an expression) then 10 seconds will be added.

Additional advantages: Simple to configure for literally hundreds of points (devices). Storing in an SQL database provides easy options for reporting, manipulating, and displaying the data. Persistant storage means the data won't be lost in a power failure, PLC download, etc. Can set warnings/alarms that log or conditionally send emails (text messages).

Disadvantages: Doing it in software means that the computer must be up and talking to the PLC. The SQL database being down isn't important due to cached queries that will run on a reconnect.

You could get by the disadvantage by setting the PLC to accumulate time, then have FactorySQL periodically trigger in a read to the database and reset the values. IMO motor uptime is pretty approximate to justify that.

Alaric said:
Skip the counter and use a real or a dint.

Every 36 seconds add .01 to a floating point number. This will give total hours in hundredths of an hour. Or if you only want tenths of an hour then add .1 ever 360 seconds. If you are only interested in whole hour units then ADD 1 to a DINT once ever hour.
 
Merry Christmas& HNY to all,

I have a problem with this type of setup in RS5000 - I have an RTO with Preset of 360000, and add .1 to accumulated hours (Real Float) with the dn bit and ONS, resetting the RTO at the same time. The issue is it appears that less than .1 is added; IOW, 1+.1=1.1, 1.1+.1=1.19, 1.19+.1=1.29, 1.29+.1=1.38, etc. Any ideas? thanks,
 

Similar Topics

Hello, It is mandatory to use VFD IF i use IE5 electrical motor? What happens If connect it directly as delta without VFD? Please look at motor...
Replies
1
Views
119
Here's what happened, Operator turned on the disconnect for an auger while it was still running to cut power. Auger DID in fact turn off, but the...
Replies
8
Views
324
Hello all, In my facility we have multiple 3HP 460V motors that are being controlled by VFDs which drive conveyor belts. The drives are randomly...
Replies
2
Views
194
Hi everyone, This is my first time posting, so please forgive any omissions or mistakes. I am attempting to control the velocity of a stepper...
Replies
18
Views
954
Kindly, has anyone tried to control Lenze servomotors with Siemens S120 drives ? Any special hints ? Have some concerns for the resolver and servo...
Replies
5
Views
218
Back
Top Bottom