10/13/2009 9:16 AM | |
Joined: 10/7/2005 Last visit: 9/23/2024 Posts: 3021 Rating: (1054) |
Hello peva since you are famliar with indirect addressing in Step5, you'll probably find this FAQ very useful to begin with: What is the difference between STEP 7 and STEP 5 with regard to the operations for indirect addressing? Note that it is part of a "bundle" of FAQ's (see top of the page) which have more info on the subject of indirect addressing. Main to thing to bear in mind is that S7 indirect addressing always usesBYTE.BIT type address and the "BIT" part takes up the three least significant bits. What this means is that you'll basically always end up doing a "SLD3" of your index value tocreate thepointer value, for example: If MW150 has values of 0-99 and your DB has 100 INT's as of DBW0, you logic could look like this (note:range check of MW150omitted in this example): L MW 150 // index value, range 0-99 SLD4 // Convert to S7 Pointer format (SLD3) and multiply with 2 (SLD1) to cater for INT's TTEMP_DOUBLEWORD// store in TEMP variable OPN DB100 // Open DB 100 L DBW [TEMP_DOUBLEWORD] // Load value (based on MW150 index value) AR1 or 2 are alterantively available for indirect addressingand worthwhile reading up on. I hope this helps and good luck |
Cheers |
|
This contribution was helpful to2 thankful Users |
12/20/2011 1:53 PM | |
Posts: 122 Rating: (1) |
Thanks for your post! It's been very helpful for me. |
This contribution was helpful to1 thankful Users |
Follow us on