1/30/2012 7:24 PM | |
Joined: 2/16/2011 Last visit: 7/8/2024 Posts: 229 Rating: (28) |
Hello, See this..
Good Lock |
Gabriel de Oliveira |
|
1/30/2012 9:33 PM | |
Joined: 7/7/2010 Last visit: 9/25/2024 Posts: 15230 Rating: (2418) |
Thanks Gabriel de Oliveira Unfortunately, the various set/reset, rising/falling edge detection functions are unavailable for SCL. It states, "For SCL: You must write code to replicate this function within your application.", for each of the items. It also does not describe how bits are turned on/off. In ladder logic, if I include a -( )- and do not have 'power flow' to the coil bit, it turns off that bit. In SCL, if I skip over logic that would ordinarily set a value, yet have no logic that resets the value, what state will it have at the end of the SCL function? This is quite unsettling as I have many string-handling functions that work so much better in SCL, yet, they often require edge triggering to activate pieces of logic, then SET or RESET status bits based on the results. I'm trying to convert some old ladder logic to SCL to take advantage of these capabilities. Anyone have sample code to replicate set/reset, rising/trailing edge detection, and can describe what happens as described above? |
science guy |
|
5/25/2012 5:03 PM | |
Posts: 10 Rating: (0) |
Hello Pegia I think the correct answer is: if S=True then
Q:=true; end if; if R=true then Q:=true; <=FALSE end if; |
This contribution was helpful to1 thankful Users |
5/25/2012 5:30 PM | |
Posts: 10 Rating: (0) |
Dear Mr. Pegaia, I wrote a comment your topic and I mistake your name. Sorry about my fault.
|
5/25/2012 5:45 PM | |
Posts: 10 Rating: (0) |
Hello Gabriel, it was my first post ever. I will keep it my head.
|
Last edited by: Gauss at: 5/25/2012 5:50 PM |
|
5/27/2012 10:19 AM | |
Posts: 8946 Rating: (999) |
For a big amount of SCL samples, try the OSCAT library. |
This contribution was helpful to2 thankful Users |
7/11/2013 1:59 PM | |
Joined: 9/23/2005 Last visit: 9/25/2024 Posts: 4347 Rating: (1446)
|
Hi, I think an alternative that maybe satisfy hugg_d1 would be a same that CFC (SIMATIC Classic) uses: build and uses FB for basic functions (Flip-Flops and Edge detection). It is however, memory and time "expensive" for small applications/CPU. Here there is a set of then as V12 libary.
AttachmentBinaryBasicFBs.zip (686 Downloads) |
Denilson Pegaia |
|
This contribution was helpful to4 thankful Users |
2/8/2017 10:56 AM | |
Posts: 69 Rating: (4) |
Btw you can write IF S THEN Q:=true; end_if; you dont need write in if operator true for bool vars bit if false you need write s=false. |
This contribution was helpful to1 thankful Users |
2/8/2017 11:12 AM | |
Joined: 12/9/2016 Last visit: 1/13/2022 Posts: 243 Rating: (127) |
Hello, i make it as follows : Using the Rising edge detecting operation the #output will be True for just one cycle.
--------------------- If you find this helpful please Rate it Best Regards |
If you find my contribution helpful please RATE it :)) |
|
This contribution was helpful to2 thankful Users |
5/24/2022 3:34 PM | |
Joined: 6/24/2013 Last visit: 9/20/2024 Posts: 1628 Rating: (421)
|
Hi ---() is equivalent to assign i.e. q:=<logic> ---(S) is equivalent to IF <logic> THEN q:=True; end_if; ---(R) is equivalent to IF <logic> THEN q:=False; end_if; Edges: POSITIVE IF Bit AND NOT Bit_Previous THEN // code executed at raising edge END_IF; Bit_Previous:=Bit; NEGATIVE IF Bit_Previous AND NOT Bit THEN // code executed at falling edge END_IF; Bit_Previous:=Bit; BOTH IF Bit_Previous <> Bit THEN // code executed at falling edge END_IF; Bit_Previous:=Bit; BTW if you skip coil () in Ladder with a jump it will not be processed and affected bit will not be changed. |
This contribution was helpful to1 thankful Users |
2/9/2024 5:41 PM | |
Joined: 1/10/2020 Last visit: 7/24/2024 Posts: 25 Rating: (0) |
Hi everyone, how can I write in scl a start and stop of an output using the same button exploiting the rising and falling edge? Thank you
|
2/12/2024 2:43 PM | |
Joined: 7/7/2010 Last visit: 9/25/2024 Posts: 15230 Rating: (2418)
|
What have you already tried?
This is completely untested. If it works, it means over the last 12 years since I submitted the original topic's post, I learned something along the way. If it does not, it means I am not perfect and in fact simply human and typed faster than my brain can think
|
science guy |
|
Follow us on