AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |
Back to Blog
Rslogix using tag as timer preset11/24/2023 ![]() ![]() The OIU or SCADA tag is scaled by 0.1 to display actual hours. When the count reaches 360 (0.1 hour), the program adds 1 to the DINT runtime and clears the count. We do something similar with a one-second periodic task, counting seconds when the motor is running. Basically, I have all of my logic completed, but the only thing that I need now is a way to convert the variable (a 100-1000 integer) stored in my N7:3 into a valid preset for the timers that control the cycling from one output to another. ![]() the preset time of the FaultTimerAdv timer that we defined in Rung 5. I think you missed a 60 in your division: 2,147,483,647 msec / 1000 msec/sec / 60 sec/min / 60 min/hr = 596.52 hours. This is a perfect opportunity to make use of Studio 5000 Add-On Instructions. So the timer finishes, then it goes back to zero, then it goes all the way back to the preset value. You want a 1 second Timer Preset 1sec 1000ms Set PRE 1000 1000 x 0.001 (1ms) 1 sec The PREset is just a value, a multiplier if you will. There are many methods for tracking run-time, and the choice depends upon the required accuracy and maximum number of hours you desire to keep track of. So these three timers are essentially running in a loop. ControlLogix and CompactLogix are programmed using RSLogix 5000, as opposed to 500, which you are currently using. Perhaps a periodic task that operates once per minute and adds 1 to an accumulator register whenever the motor is running, then divide the value of that accumulator register by 60 to convert from minutes to hours. There are three timers in the ControlLogix processor. ![]() You may want to consider a different method for accumulating run-time hours if you want to log more than 35,791 hours. ControlLogix timers are used to delay events, or to time events. The following example loads a series of preset values into a timer, one value. Each decimal digit of an LED display is controlled by data lines that are wired to four output terminals of a PLC output module. Imagine using the main PLC task with various processes and calculations. No patent liability is assumed by Rockwell Automation, Inc. A (n) is an output device that enables a machine operator to view the accumulated or preset value of an instruction without the use of a programming terminal. Since CLX timers operate with a mS timebase, that means that the maximum number of hours that can be accumulated in a timer is 35,791. At the falling edge of the dwell flag, a timer could be started, and once the timer has expired, a virtual stop command can be sent to the PLC to stop and decelerate the table, allowing it to come to rest on the dwell flag. Try disconnecting and then doing the program/run test above.Since CLX timer presets are of the DINT type, the maximum preset value would be 2,147,483,647. If the program/run mode test above still overwrites your value then it may be the HMI overwriting. They can read and write also depending on where the change is made. Most tags in the HMI's nowdays are bidirectional. Go online then and see if your value is the same as offline. You might try downloading it and leaving the processor in program mode. The Logix Designer application is the rebranding of RSLogix 5000® software and will continue to be the product to program Logix 5000 controllers for discrete, process, batch, motion, safety, and drive -based solutions. The program can have not affect on those registers because its not doing anything offline. element is the Studio 5000 Logix Designer® application. ![]() When you say wont allow, what do you mean? As far as changing it offline, you can do that all day long. Why cant you change it online? That may be related. TT bit is set to HIGH while the timer is counting the Accum is less than Preset. EN bit will be set to HIGH if the timer is de-energized by the input instructions leading to it. The timer will set different auxiliary bits during operation. I dont see anything there that would cause a problem, but as I mentioned, the problem is most likely somewhere else in your program. In other words, the timer will count to 10 seconds. ![]()
0 Comments
Read More
Leave a Reply. |