7/27/2009 7:42 PM | |
Posts: 8946 Rating: (999) |
Have a look at the P command. Maybe thanits easier for you to understand. |
7/28/2009 4:59 AM | |
Joined: 10/7/2005 Last visit: 9/18/2024 Posts: 3021 Rating: (1054) |
Hello Lalit 1. Short answer:NO. Address 1 is the one that you want to check for a 0-->1 (rising edge) transition. Example: You want to increment an Integer value by 1 every time input 5.6comes on. Input 5.6 can stay ON for some time though, so you'd use I 5.6 as "Address 1" of the POS instruction and use the (oneshot) Output to enable an ADD instruction. 2. Short answer:N/A. Address 2's (M_BIT) purpose is simply to "memorise" that a 0-->1 (rising edge) transitiontook place. Typically you'd use a Memory bit or DB bit for this. The sentence from the POS help "You should only use the process image input area I for the M_BIT when no input module is already using this address" is really quite a silly and confusing one. Even though you can technically (ab)use I/O addressesas "memory" bits (as long asthey arein Process image and do NOT exist as physical I/O) you never would do so (well I wouldn't). 3. The output will be ON for one scan when "Address 1" has a 0-->1 (rising/positive edge) transition. Having said all the above, IBN's answer is spot on. The "P" instruction does exactly the same (both use thethe same "FP" STL instructions) and I myself never use the POS instruction (i find it confusing, it it really only useful if you have some convoluted FBD or LAD "contructions" and need to add a oneshot somewhere in between). Btw, "P" looks and works in the same way as A/B's ONS instructions I hope this helps |
Cheers |
|
7/28/2009 7:02 AM | |
Joined: 10/7/2005 Last visit: 9/18/2024 Posts: 3021 Rating: (1054) |
OR MB 4 is used as the CPU clock memory byte (seeCPU propoerties in HWconfig) in which case the OS writes to MB 4. The POS instruction is then used to createbit that isON for one scan every second (M 4.5 itself is ON for 0.5 sec. and OFF for 0.5 sec.). |
Cheers |
|
7/28/2009 8:18 AM | |
Joined: 10/7/2005 Last visit: 9/18/2024 Posts: 3021 Rating: (1054) |
I'mstarting to get worried about youmy dear lalit (unless you drafted your reply to Anchobi's posting while I posted my reply to Anchobi's post and you did not yet see my previous post, this is all getting a bit confusing). Anyway,Iam now even "surer"that they will have declared MB 4 as the CPU clock memory byte (as perattached example screendump). |
Cheers |
|
This contribution was helpful to2 thankful Users |
7/28/2009 8:24 AM | |
Joined: 12/20/2008 Last visit: 8/12/2024 Posts: 556 Rating: (236) |
Thanks Fritz, I will get it confirm and let you know. Lalit |
7/28/2009 7:56 PM | |
Posts: 8946 Rating: (999) |
New Bitmap Image.jpgis not a vailf jpg. |
7/29/2009 11:02 AM | |
Joined: 10/7/2005 Last visit: 9/18/2024 Posts: 3021 Rating: (1054) |
It depends lalit I would at least check if the two outputs bits ("Global_DB".SYS_1SEC_TICK and "Global_DB"SYS_2SEC_TICK) are NOT used anyhwere else in the program, before you remove this logic. And even if they aren't,itnever "hurts" to have at least a 1 second'tick" (think using it for simple things like valve openingtimecounting andthe likes) and I'd probably rather assign MB4 as the CPU clock memory byte (instead of removing the logic). I always use the CPU clock memory byte and make all its bits available as as (oneshot) "ticks' or "spikes" or whatever you want to call them, simply beacuse it's "better to look at them than to look for them" should the need arise. |
Cheers |
|