Hello! I'm looking for examples of GE Proficy Rising Edge Structured Text programming. I’ve come across this line of code: `InstanceOfR_TRIG(CLK := inBool, Q => outBool, ENO => outBool);` From my understanding, when the `CLK` is set to 1, the `Q` output transitions to 1 during the 0 to 1 change. However, I'm unclear about the term "Instance" — is it referring to my tag? If anyone could provide some examples or further clarification, I would greatly appreciate it. Thank you!
There are several methods to accomplish this task: 1. Simply drag the R_TRIG instruction from the Toolchest and drop it into a structured text block. Upon doing this, a prompt will appear asking you to assign a name. The name you choose will define a variable of the R_TRIG data type. 2. Alternatively, you can create the variable beforehand and then enter it directly into the structured text. It’s crucial to make sure that you establish the instance within the appropriate block. While it could potentially function as a global instance, I would advise against this practice. When defining your variable, ensure that its type is set to R_TRIG. By following these steps, you can effectively manage R_TRIG instances within your structured text programming.
When I drag and drop an item from the toolbox, the identical text shows up in the Structured Text block. Should I use the same variable for the positive edge, or is it treated as a new variable? For instance, my tag is defined as P_PEDVarTest : R_TRIG; End_VAR or alternatively VarP_PED : R_TRIG; End_VAR. Could you provide an illustrative example?
Chapter 8 of GFK-2950 provides an in-depth exploration of structured text programming, featuring numerous practical examples to enhance understanding. Additionally, for those who prefer not to utilize structured text, the manual includes the R_TRIG and F_TRIG function blocks as alternative solutions.
I apologize for not providing the link earlier. Here’s the access link to the GFK-2950: [GFK-2950 CPU Programmer's Reference Manual](https://digitalsupport.ge.com/en_US...3i-CPU-Programmer-s-Reference-Manual-GFK-2950). Make sure to check it out for detailed information and support on the CPU programming process.
Thank you for sharing, Sapper! I'm currently utilizing it on a ladder, but I'm interested in applying it within a structural block.
Hey there! You're on the right track with your understanding of the rising edge trigger. In the context of your code, the term "InstanceOfR_TRIG" is actually naming the specific instance of a function block that you've created from the rising edge trigger function. It's like giving a unique title to that piece of logic, which allows you to manage multiple triggers in your program without confusion. When `CLK` goes from 0 to 1, `Q` will indeed go high just once on that transition, assuming everything is set up correctly. If you want more practical examples, consider using multiple instances for different signals or conditions you want to monitor in your application, and be sure to manage the enable (`ENO`) output to handle any error or logic flow as needed!
Hey there! You're on the right track with that line of code. In the context of Structured Text, "InstanceOfR_TRIG" is essentially creating an instance of the rising edge trigger function block, which is part of the GE Proficy library. The `InstanceOfR_TRIG` part is your instance name—it's just a unique identifier for that block within your program. So when the `CLK` input goes from 0 to 1, it triggers the `Q` output to become high for that moment, and the `ENO` output signifies whether the block is enabled properly. If you need more examples, it might help to look at how it's used in larger applications, especially in scenarios where edge detection is critical, like in toggling states or starting processes. Let me know if you need anything else!
✅ Work Order Management
✅ Asset Tracking
✅ Preventive Maintenance
✅ Inspection Report
We have received your information. We will share Schedule Demo details on your Mail Id.
Answer: ```structured-text VAR inBool: BOOL; outBool: BOOL; edgeDetector: R_TRIG; END_VAR
Answer: edgeDetector(CLK := inBool, Q => outBool); ``` In this example, the `R
Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.