PDA

View Full Version : Area length error when reading


svoicum
September 8th, 2010, 02:21 AM
Hello fellow programmers!

I've come to you with a new problem... currently I am working on a project involving a network of 8 Siemens PLCs (ET200S IM151-8 PN/DP CPU). They all pretty much do the same thing, so they're configured almost the same, except the HW. They all seem to work flawlessly, except one. This one, when I start it up, immediately turns on the RED SF LED. I've attached the Diagnostic Buffer read with Module Information inside Siemens.

I've also read Area length error when reading (http://www.plctalk.net/qanda/showthread.php?t=51342) and Please help me: Area length error when reading (http://www.plctalk.net/qanda/showthread.php?t=24482) but I couldn't figure out what's the solution to my problem.

I also mention that the CPU doesn't go into STOP because I loaded all the necessary OBs in order to prevent that :thumb: (learned this one from this forum :site:), but the boss see's every RED thingy as a problem :notrue:, so I must solve this one in order to get him off my back.

Has anyone ever dealt with this situation? Could anyone help me solve this?

Thanks in advance!
Voicu

P.S. Oh, I forgot to mention... I'm the boss...:eek:

L D[AR2,P#0.0]
September 8th, 2010, 03:13 AM
Delete OB121 from the plc so that it does stop then examine the stacks to track down your errant code which is attempting to access a bit in a DB but the DB is not big enough.

Jobbe
September 8th, 2010, 03:13 AM
My best guess is that you don’t have DB 43 loaded but the fault message isn’t very specific in this case.
Here’s one trick I sometimes use to diagnose this problem. Load the software in PLCSIM and remove OB121. This will make the PLC(SIM) go to STOP. Then open the PLC module information and open the I-stack. The button “Open block” will take you to the point where the PLC went to STOP.

svoicum
September 8th, 2010, 03:43 AM
It's good to be reminded from time to time that PLCSim exists :D (Thank you Jobbe). I did what you told me (thus learning a new way to debug programs without carrying out the whole compile all procedure and loading into the PLC - getting smarter by each day that passes me :D).

I've found the problem that was causing this. It was in the alarm managing function block, an erroneous copy paste from another PLC was addressing an address (DBX43.0) non existent in my DB (DB1):eek:. So i figured out that the "43" the diagnostic buffer was telling me about is the address of the bit that I was wrongly addressing.

Thank you! Thank you! Thank you!:bow::bow::bow:

You saved my day. Next round of drinks on me:beerchug::beerchug::beerchug:

Cheers to all,
Voicu

Paul B
September 8th, 2010, 10:00 PM
Brost!!!!

I got a kick out of your thread, svoicum. :)