5/28/2016 2:21 AM | |
Joined: 2/26/2015 Last visit: 3/25/2024 Posts: 2 Rating: (0) |
The content of AR2 is M0.1 .... |
5/28/2016 3:05 PM | |
Joined: 1/28/2009 Last visit: 9/10/2024 Posts: 6849 Rating: (1365)
|
Dear users, This issue is discussed in details in the following FAQ in SIOS: Pointer transfer to a functionI hope it helps, hdhosseini |
This contribution was helpful to1 thankful Users |
5/29/2016 5:08 AM | |
Joined: 10/7/2005 Last visit: 9/21/2024 Posts: 3021 Rating: (1054)
|
The reason why AR1 points to V20.0 instead of M0.0 is actually rather simple in this case. LAD or FBD calls of Blocks allow you to use a combination of bits whose combined result is then "fed" into the BOOL Input Parameter of the Block. In order to do so, Step 7 automatically allocates a local bit (TEMP variable) in the calling Block to store the result of the binary logic. This TEMP variable then becomes the actual Variable that is passed on to the Blocks IN Parameter. Even though you only use M0.0 directly as the IN1 Parameter of FC2, Step 7 will nonetheless store M0.0's status firstly in OB1's TEMP variable L20.0 and then assign L20.0 as the IN1 Parameter of FC2. OB'1 L20.0 now becomes so called "local data of the calling Block" inside FC2 and you thus see AR1 pointing to V20.0. Simply display OB1 in STL and you'll see what I mean and overall there is nothing to worry about as this behavior is "as designed". |
Cheers |
|
This contribution was helpful to1 thankful Users |