Address Existence vs ML1400

Narlin

Lifetime Supporting Member
Join Date
Mar 2010
Location
phoenix
Posts
320
[FONT=&quot]With a ML1400 (also 1100) I have inadvertantly addressed a location that does not exits.[/FONT]
[FONT=&quot]XIC B3:0/0 OTE B10:2/[N7:22].[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot]The B3/0/0 exists and can be 0 or 1. Suppose it is 1.[/FONT]
[FONT=&quot]The B10 file has but 3 elements numbered 0, 1 & 2. [/FONT]
[FONT=&quot]N7:22 is 16. Oops![/FONT]
[FONT=&quot]This did not create a new element in B10 nor did it throw any kind of error.[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot]I have also done this in reverse.[/FONT]
[FONT=&quot]XIC B10:2/[N7:22] OTE B3:0/0. No error & No data element creation.[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot]This has occurred because in the 2nd case, it seems (unproven) that sometimes the address B10:2/[N7:22] is examined as TRUE !!!![/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot]Anybody ever seen it? Is it possible?[/FONT]
 
My 1100 Series A does not fault!! The 1400 in the field does not fault. What's up? Are you sure? I use an OTU S5/0 on every scan to clear minor faults. could that be the reason.
 
I removed the OTU S5/0. and tried
xic B3:0/0 OTE B10:2/16
with no such address due to only 3 elements. No Fault and it didn't appear to turn on B10:2/16 as shown by RS500.
 
Changed to a Series B 1100 and get same result: No Fault and it doesn't turn on B10:2/16. Can't try the 1400 right now.
 
Nothing else is writing or even addressing [N7:22].
You have to use indirect addressing to create this problem because if direct addressing used, i.e. B10:2/16, then the element B10:3/ is created at compile time.
 
B10:2 only has bits 0-15 . B10:2/16 is not a valid address.

If you are going to use N7:22 for the indirect address you should set limits on that address (0-15)

See picture

bitnumbers.png
 
Last edited:
B10:2 only has bits 0-15 . B10:2/16 is not a valid address.

See picture

Yeah that's why I think that N7:22 is having its value modified...while it may show 16 another value may be written there.

If you want to test make a rung that counts how many times that N7:22 doesn't equal 16
 
I'll do what Luke suggests and Mickey - you are correct about the limits and i will do that too but it doesn't please me that there was no fault. This is really short code and i am going to shorten it more it a routine all its own.
However - right now I am going sailing.
 
It appears that an incorrect indirect only faults if it points to an area beyond the end of the last data file. Do you have any data files larger than 10?

IndirectErr.jpg
 
Last edited:
I was wondering why it occured to me to check this lack of a fault out. The joke is on me. Check this thread from a few years back.

Nail hit squarely ... the MicroLogix don't behave the same as the SLC products... beats me why not !!

You can INDIRECTly address beyond file boundaries in a micrologix without faulting.

From the MicroLogix Help on major error codes....

Error 29h - "An instruction attempted to perform an indirection outside of the User Data file space." is specific and does not state "outside of the current data-file".

Edit : the missing word there is INDIRECTION
 
Bernie, That thread was very helpful. Now I understand how we got the results that were seen. Furthermore, this thread has assured me that my code fix will be a success.

Thanks to everyone.
Narlin
 

Similar Topics

i have two plc 1. s7-1212dc/dc/dc ip; 192.168.0.1 2. s7-1500 1513-1pn ip; 192.168.3.2 i need to get data from plc1 to plc2. any idea how to do...
Replies
5
Views
96
Hi, I wanted to ask is there a way to have a visibility expression use the IP address of the HMI (Dynics, not PV) to show certain elements? The...
Replies
3
Views
200
Hello. I have a few machines that use Kinetix 300 (each machine has two drives). Both drives on one of the machine keep losing IP address. They...
Replies
2
Views
95
Hi Guys, Is it okay to have Redundancy ControlLogix Processor IP address set to DHCP? I had Static IP address on it but removed it via RSLinx...
Replies
3
Views
235
Hi everybody, I have DELTA PLC DVP-32ES and I have make a simple project in WPLSoft. using the input X0 to switch ON the output Y0 and using the...
Replies
0
Views
166
Back
Top Bottom