Hello Stu,
You can easily copy the syntax shared by many users and paste it directly into the ladder editor of Logix500 or similar platforms. Here’s a quick guide on how to do it:
**[Rung 0]**
XIC B3:0/0
RTO T4:0 1.0 3600 0
**[Rung 1]**
XIC T4:0/DN
BST ADD 1 L9:0 L9:0
NXB RES T4:0 BND
Simply double-click to the left of the rung until the cursor appears, then paste the code above (be sure to exclude the bracketed text). Remember to replace B3:0 with your specific input contact that serves as the 'Motor Run' signal.
I hope you find this helpful!
Best,
Rob
Hello! If I want to reset the counter on the HMI (Human-Machine Interface) display, what steps should I follow? I noticed that using the command -(res)- only resets the timer or counter. How can I effectively perform a complete counter reset?
Simultaneously, when you reset the timer, ensure to clear the Long data as well.
- 07-04-2025
- bernie_carlton
Are you looking to have your system automatically reset when it hits a predetermined value? If that's the case, I recommend using a comparison instruction alongside a move instruction. This setup will allow you to input a value of zero into your display address once the desired threshold is reached. Alternatively, if you prefer a manual reset, you can set the move operation to be triggered by a bit connected to a push button on your Human-Machine Interface (HMI).
- 07-04-2025
- Controls_Engineer79
I am looking to perform a manual reset on my system. If I utilize the instruction `XIC EQU N7:0 3600 MOV 0 N7:1` and transfer it to the display, will that be effective? Thank you for your assistance!
Hi Stu,
If you're recording minutes, it's still important to use the "L" term to calculate hours with a 3600-second timer for accurate time retention. To display the elapsed time in minutes, apply the formula: Minutes = T4:0.ACC/60. On the HMI (Human-Machine Interface) screen, utilize two adjacent display fields—one for hours and the other for minutes, separated by a static colon (:). Ensure the hours display is right-aligned and includes sufficient digits. For the minutes display, format it to show two digits with a leading zero for consistency, achieving the HHHHHH:MM format. This approach enhances clarity and improves user experience.
Hello! I initially planned to utilize two monitors, but I'm currently aiming to add a button on the Human-Machine Interface (HMI) that will reset the displays to zero. Can anyone provide guidance on how to implement this feature?
I have a query regarding RSLogix 5000, specifically with the Structured Text add-on. I've successfully created hour counters that function properly; however, I've encountered an issue: they reset to zero whenever I download a configuration update. Is there a location in the PLC memory that remains unchanged during these updates, and how can I access that? My PLC model is the 1756-L61. Thank you, Roy.
XIC Pushbutton: Reset BST CLR with NXB RES T4:0 Bond at L9:0
The Micro 1200 supports long word functionality! To create a long word in the Micro 1200, simply navigate to the data table in RSLogix, right-click, select "New," and then add your long word. This process enhances your programming capabilities and allows for more complex data handling.
- 07-04-2025
- randyrjohnson2002
Hello everyone! Could someone please provide me with an example? Thank you, Stu!
I implemented a recovery time objective (RTO) set to 3600 seconds and added 1 for display purposes. However, I'm encountering a challenge: I prefer not to initiate a reset or use an additional instruction. The value has risen to 37268. Do you have any suggestions or solutions?
Please refer to the attached document. I've configured the PLC type as an ML1100, enabling users with the free version of RSLogix500 to access and view it easily.
I really wish I could have a generous 3.5 years to finish my projects in this role! (Just joking, stu!)
User OkiePC expressed their desire for a period of 3.5 years. Click to read more... This timeframe seems ideal. As of now, it has been 1,365 days since April 27, 2009, which translates to a total of 32,760 hours. Currently, just seven hours into the day, an N address has reached its maximum limit. This highlights the advantages of using an L address over an N address. An L address can significantly outlast the PLC, boasting an impressive lifespan of approximately 250,000 years.
Should I continue using an ADD instruction, but with an L address format?
Stu inquired: "Should I still use an 'add instruction' while incorporating an 'L' address?" Click to expand... Absolutely, yes!
Roy Matson mentioned: "I have a question regarding RSLogix 5000 and its Structured Text add-on feature. I've been working on creating hour counters, and while they function correctly, I've noticed that they reset to zero whenever I download a configuration change. Is there a specific area in the PLC memory that remains unaffected during these updates, and how can I access that? My PLC model is 1756-L61. Thank you, Roy."
For more insights, check out this discussion thread: [PLC Talk Forum](http://www.plctalk.net/qanda/showthread.php?t=71754).
I believed that the 'add' instruction has a limit of ±32768, or is it the memory address that is constrained to a maximum of 32768?
The math instruction is not relevant in this context. N addresses are represented as 16-bit integers, allowing for a number range of -32,768 to +32,767. To accommodate larger values, you'll need to utilize additional bits. In contrast, L addresses are defined as 32-bit integers, which can represent numbers ranging from -2,147,483,648 to +2,147,483,647. This distinction in bit representation is essential for understanding data types in computing.
I appreciate all the valuable insights you've shared; it all makes perfect sense now. Thank you for the knowledge!
According to T. Connolly, the range of values represented by a 32-bit signed integer is from -2,147,483,648 to +2,147,483,647. This range is crucial for developers and programmers working with data types in computing, as even minor discrepancies can have significant implications. Notably, it's interesting to observe that the last digits of these ranges frequently end with 8 or 7 when the total number of bits is divisible by 8. Here's a breakdown of bit ranges for common signed integers:
- 8 bits: -128 to +127
- 16 bits: -32,768 to +32,767
- 24 bits: -8,388,608 to +8,388,607
- 32 bits: -2,147,483,648 to +2,147,483,647
- 40 bits: -549,755,813,888 to +549,755,813,887
While it is likely that a mathematical proof exists demonstrating this recurring pattern, I lack the necessary expertise to formulate one. Understanding these ranges is essential for anyone involved in programming and computer science.
Stu mentioned that he thought the ADD instruction is limited to a range of -32,768 to +32,767. However, he is wondering if it's actually the address that is restricted to 32,768. To clarify, the ADD instruction operates differently depending on the type of PLC. In a 16-bit PLC, such as the SLC, the ADD command functions within signed 16-bit precision limits. Conversely, in a 32-bit PLC like Logix5000, it operates within signed 32-bit precision. If the addition results in a value that surpasses the maximum positive range or if the destination data type is insufficient to store the resulting value, an Overflow flag will be triggered. This is an essential aspect to consider when programming to avoid potential errors.
I entered the number 231 into my calculator and, due to my dyslexia, mistakenly typed 84 instead of the correct value, 48. Upon reviewing my entry, I confirmed it was indeed 48; this highlights the quirks of human cognition. After that, I copied and pasted the value and subtracted 1, which only compounded the error. I appreciate you pointing that out, Daba!
No problem at all! I suspected that was the case. My post has successfully established a sort of "secret handshake" among us. To clarify, if the number of bits is divisible by 8 (MOD(8) = 0), then the acceptable ranges should be -*8 and *7.
TConnolly commented: "Haha, I'm definitely saving that one for later!"
Leverage your existing S:4 bits (MicroLogix free-running clock) to track the time elapsed since the start value. Perform calculations to compare the current value with the initial value to determine the running hours. Incorporate a reset button that allows you to clear the recorded start run time, enabling you to easily compare it with the current time. If you’re not utilizing MicroLogix, it's likely there's an hour register within the status settings—though I cannot confirm this at the moment. You can use this register along with a day counter to manage durations exceeding 24 hours. Ensure your logic is sound, and in cases of uncertainty, implement a math overflow error unlatch in LAD 0. This precaution will help you avoid program malfunctions should your calculations or timers/counters exceed 32767. It allows you to correct any errors without having to reset your PLC each time a fault occurs.
Thank you, Dana! Is there an alternative method to accomplish this? I've attempted to add a data file with the address (L), but I can't locate it in the dropdown menu. I'm using RSLogix 500 version 8.40.
**Title: How to Add Data Tables in RSLogix 500: A Step-by-Step Guide**
**Question from User:** Dana, thank you for your assistance! Is there an alternative method to complete this task? I've attempted to add a data file (L type) but can't locate it in the dropdown menu. I'm using RSLogix 500 version 8.40.
**Response:**
To add a data table, ensure that you are offline first. Once you are offline, you will need to download the new data file to the Programmable Logic Controller (PLC). Please note that for this process, the machinery under control must be halted, and the controller set to program mode.
I suggest that you first connect online and stop the machine at a normal starting position, or at another suitable point, to capture a snapshot of the current states. After that, use the "Save As" function to upload all existing data tables. You can then restart the machine to continue operations.
Once you are offline again, make the necessary edits, and be sure to download the new configurations. When prompted, switch the SLC/Micro into program mode while also ensuring that the machinery is parked at the same good starting position before you execute the download of your updated code.
While you're offline, consider clearing the data tables and adding a few spare program files, utilizing the available memory in your CPU. This proactive approach will leave you with ample spare space for different data types. It ensures you can edit online for an extended period without interrupting ongoing processes.
Additionally, your ML1200 should support the L data type, and your version of RSLogix is compatible. Just to confirm, could you let me know which version of RSLinx you are using, as well as the series of your Micrologix 1200?
**Keywords for SEO:** RSLogix 500 tutorial, add data table RSLogix, PLC programming tips, Micrologix 1200 settings, RSLinx version compatibility.
I utilize this software to track the operational hours of two pumps, specifically analyzing their performance during rainy conditions compared to dry weather. As a beginner in programming—juggling my studies and work—I am eager to learn how to create a registry to monitor the runtime of Pump 1, Pump 2, and the combined runtime of both pumps. I am currently using RSLogix 500 Professional in conjunction with a MicroLogix 1200. Any guidance on this setup would be greatly appreciated!
HunterNelson shared: "I utilize this software to track the operation of two pumps to see if their functionality changes during rainy conditions compared to dry weather. As I'm relatively new to programming—balancing school and work—I would like to know if there's a method to create a registry for Pump 1, Pump 2, and the combined runtime of both pumps. Currently, I'm using RSLogix 500 Pro in conjunction with a MicroLogix 1200. For better assistance, I recommend initiating a new discussion thread with your question."