7/5/2009 10:27 AM | |
Posts: 691 Rating: (37) |
Dear All I have a requirement of releasing DOs at certain Time in a day through Logic Can anybody help me in solving the problem |
7/5/2009 11:07 AM | |
Joined: 10/7/2005 Last visit: 9/19/2024 Posts: 3021 Rating: (1054) |
Hello Ninja Robot Usage of SFC1 as suggested by IBN-Service certainly gives you all the flexibilty you need. Have a look too at FC 6, 7 & 8 from the IEC library which are useful to extract the Date, Day and Time of Day respectively from the SFC1 created Date_and_Time variable (Time_of_Day by the way is a simple Double Integer value in ms with 0 being midnight, so DINT comparisons work very well on thisdata type). And just for completness, should you NOT need flexibilty (i.e. it is a fixed time of day that won't require changing) you can also configureso called "Time_of_Day Interrupts" via the HWconfig properties of your CPU. |
Cheers |
|
7/5/2009 12:29 PM | |
Joined: 6/13/2006 Last visit: 2/11/2023 Posts: 341 Rating: (24) |
Hi Ninja Robot, See the following FAQ with illustrated example which help your requirement. http://support.automation.siemens.com/WW/view/en/21222026 regards, rit03 |
7/5/2009 12:46 PM | |
Posts: 8946 Rating: (999) |
Because it seems to be a very asked theme, I like to attach an easy example: Reading Clock by using SFC1, converting with FC6, FC7 and FC8 and put it an an UDT. :-) I do it some time before for customer training - purposes. Sorry, comments are in german language, but it is easy to understand anyway. Otherwise, you can ask me for transalation if necessarily. AttachmentAAA_Readtime.zip (206 Downloads) |
This contribution was helpful to1 thankful Users |
7/8/2009 9:43 AM | |
Joined: 10/7/2005 Last visit: 9/19/2024 Posts: 3021 Rating: (1054) |
I think you wanted to say: Just remember that they are in BCD format |
Cheers |
|
7/8/2009 10:19 AM | |
Posts: 691 Rating: (37) |
But how to read the separate data like hour in one byte, minute in one byte because the datatype is TOD |
7/8/2009 11:27 AM | |
Joined: 10/7/2005 Last visit: 9/19/2024 Posts: 3021 Rating: (1054) |
If you use FC8 to extract the TOD from the SFC1 supplied Date_Time, then this TOD value will be a simply Double Integer value, represented as milliseconds from midgnight: TOD(DINT ms value) example values: 01:00:00 am:TOD#01:00:00.000 --> DINT ms value: L#3600000 06:00:00 am: TOD#06:30:00.000 --> DINT ms value: L#23400000 05:27:00 pm: TOD#17:25:00.000 --> DINT ms value:L#62700000 10:47:35 pm: TOD#22:47:35.000 --> DINT ms value:L#82055000 If you disable "Type check of addresses" you can very convieniently use DINT comparisons and declare the the Constants value in TOD format. The BCD "issue" is only applicable if you use the (individual Byte) values directly from the SFC1 suppliedDate_Timevariable. I hope this clarifiesit |
Last edited by: fritz at: 7/8/2009 11:28 AMCheers |
|
Follow us on