Sign in to follow this  
Followers 0
Rompot

faulted processor

10 posts in this topic

Hi I'm a bit new to Siemens, we;re an Allen Bradley plant...until now. we just got a brand new used press and it has a seimens controller on it. The press doesn't seem to have any manual functions so I as asked to move the cylinder, but I can't until I clear this fault. it won't do anything. 

I'm told I'm working with an older processor, s7 300?I don't really know seimens that well. 

I saved the diagnostics buffer as a text file and pasted it below. in case that helps solve my problem. I'm thinking it's just having trouble communicating with remote IO, but I'm not sure. I might be trying to communicate to a robot that used to be there that no longer is. 

Diagnostic buffer of module CPU 314C-2 DP

Order No./ Description            Component                         Version                       
6ES7 314-6CH04-0AB0               Hardware                          5                             
- - -                             Firmware                          V 3.3.11                      
Boot Loader                       Firmware expansion                A 37.12.12                    

Rack:                             0
Slot:                             2


Serial number: S Q-EDU050142014


Event 1 of 10:  Event ID 16# 2522
Area length error when reading
Global DB, word access, Access address:    262
Requested OB: Programming error OB (OB121)
Priority class:  1
Internal error, Incoming event
10:36:07.052 AM  04/17/2019
(Coding: 16# 2522  0179  0024  0106  0000  0000)


Event 2 of 10:  Event ID 16# 2522
Area length error when reading
Global DB, word access, Access address:    260
Requested OB: Programming error OB (OB121)
Priority class:  1
Internal error, Incoming event
10:36:07.052 AM  04/17/2019
(Coding: 16# 2522  0179  0024  0104  0000  0000)


Event 3 of 10:  Event ID 16# 2943
I/O access error, writing
P area, word access, Access address:     40
Requested OB: I/O access error OB (OB122)
Priority class:  1
External error, Incoming event
10:36:07.052 AM  04/17/2019
(Coding: 16# 2943  017A  0020  0028  0000  0000)


Event 4 of 10:  Event ID 16# 2943
I/O access error, writing
P area, word access, Access address:     36
Requested OB: I/O access error OB (OB122)
Priority class:  1
External error, Incoming event
10:36:07.052 AM  04/17/2019
(Coding: 16# 2943  017A  0020  0024  0000  0000)


Event 5 of 10:  Event ID 16# 2943
I/O access error, writing
P area, word access, Access address:     38
Requested OB: I/O access error OB (OB122)
Priority class:  1
External error, Incoming event
10:36:07.051 AM  04/17/2019
(Coding: 16# 2943  017A  0020  0026  0000  0000)


Event 6 of 10:  Event ID 16# 2522
Area length error when reading
Global DB, word access, Access address:    262
Requested OB: Programming error OB (OB121)
Priority class:  1
Internal error, Incoming event
10:36:07.051 AM  04/17/2019
(Coding: 16# 2522  0179  0024  0106  0000  0000)


Event 7 of 10:  Event ID 16# 2522
Area length error when reading
Global DB, word access, Access address:    260
Requested OB: Programming error OB (OB121)
Priority class:  1
Internal error, Incoming event
10:36:07.050 AM  04/17/2019
(Coding: 16# 2522  0179  0024  0104  0000  0000)


Event 8 of 10:  Event ID 16# 2943
I/O access error, writing
P area, word access, Access address:     40
Requested OB: I/O access error OB (OB122)
Priority class:  1
External error, Incoming event
10:36:07.050 AM  04/17/2019
(Coding: 16# 2943  017A  0020  0028  0000  0000)


Event 9 of 10:  Event ID 16# 2943
I/O access error, writing
P area, word access, Access address:     36
Requested OB: I/O access error OB (OB122)
Priority class:  1
External error, Incoming event
10:36:07.050 AM  04/17/2019
(Coding: 16# 2943  017A  0020  0024  0000  0000)


Event 10 of 10:  Event ID 16# 2943
I/O access error, writing
P area, word access, Access address:     38
Requested OB: I/O access error OB (OB122)
Priority class:  1
External error, Incoming event
10:36:07.050 AM  04/17/2019
(Coding: 16# 2943  017A  0020  0026  0000  0000)

Share this post


Link to post
Share on other sites

Hi Rompot.

It looks like your PLC has crashed because of a programming error, to prevent the PLC going to stop mode- you need to insert OB121 (this is the called OB on the rising edge of a programming error).

Then you will have a system error- but PLC is able to run as normal.

The most recent error indicates an area length error when reading/ writing to DB262. This could be because of a pointer or something changing during runtime. In your diagnostic buffer you should be able to navigate to the problem with the button 'go to', hope this helps.

 

 

Regards

Daniel

Share this post


Link to post
Share on other sites
17 hours ago, collinsd70 said:

Hi Rompot.

It looks like your PLC has crashed because of a programming error, to prevent the PLC going to stop mode- you need to insert OB121 (this is the called OB on the rising edge of a programming error).

Then you will have a system error- but PLC is able to run as normal.

The most recent error indicates an area length error when reading/ writing to DB262. This could be because of a pointer or something changing during runtime. In your diagnostic buffer you should be able to navigate to the problem with the button 'go to', hope this helps.

 

 

Regards

Daniel

Insert it where? 

 

Share this post


Link to post
Share on other sites

Posted (edited)

On 4/18/2019 at 3:20 PM, Rompot said:

Insert it where? 

 

Because you are using the 300-Series I am going to assume you are using STEP 7.

If you go to file --> open and choose your standard libraries, you can import OB121 from the Organization Blocks folder and paste into your blocks folder in your project tree.

Once you have done this, you can highlight block (or in the block-view, type "OB121") then click the download icon to load the OB into your PLCs memory; this will prevent the PLC from "crashing".

You then need the analyze the cause of the programming error using the diagnostic buffer you have mentioned previously. 

If you want me to have a look at your program- please "archive" and attach via here or via PM.

Regards

Daniel.

Edited by collinsd70

Share this post


Link to post
Share on other sites
5 minutes ago, Rompot said:

Ok, but OB121 is already in the program. 

3165_a_1.zip

While connected and online with the PLC, open the online blocks folder (select the Blocks folder of the project and click on the "online" button in the toolbar). Make sure OB121 is present in the processor, not just in the project. You can also select the blocks folder in the project tree and do an online/offline compare. It will tell you if OB121 is missing online.

Note: OB121 does not fix the actual root problem. You need to find the actual issue and correct it. All the presence of OB121 will do is allow the PLC to keep running, which may NOT be the best and safest outcome in your situation.

Share this post


Link to post
Share on other sites
27 minutes ago, Joe E. said:

While connected and online with the PLC, open the online blocks folder (select the Blocks folder of the project and click on the "online" button in the toolbar). Make sure OB121 is present in the processor, not just in the project. You can also select the blocks folder in the project tree and do an online/offline compare. It will tell you if OB121 is missing online.

Note: OB121 does not fix the actual root problem. You need to find the actual issue and correct it. All the presence of OB121 will do is allow the PLC to keep running, which may NOT be the best and safest outcome in your situation.

Yes I've seen OB121 on the processor when I'm online, the machine still doesn't run. 
I'm just wondering if the processor or any modules were damaged in shipping. 
Seimen's help isn't very helpful since the only two causes that are listed are a defective module or no signal module is assigned to address

I really want to know what " Global DB, word access, Access address:    262 " is referring to, what does access address 262 even mean? 

I was having some communication issues before, but that was resolved every module is showing ok when I'm online except the processor. 
 

Share this post


Link to post
Share on other sites

I'm not a super-expert on Siemens, but I have worked with them. It looks like you have 2 errors that have shown up in your buffer, twice each, that would involve OB121. Both are talking about access to a global DB, address 260 for one and 262 for the other. The others look like communications faults to various stations may not be related to this.

Does your project include a DB260 or DB262? If so, find all of the places where they, or their sub-elements, are called or referenced and verify that the addresses are all valid. If any of the references to a DB use pointers or indirection, trace the calculations of the indirection to verify they're right and limit check them to appropriate values.

In the cross-reference, look also at any entries that show as "DB?". That indicates some ambiguity in the individual calls. I've seen a couple of examples of that being done that I can go into in more detail at another time.

Share this post


Link to post
Share on other sites

Hmmm....I had a few minutes, so I opened up your archive. You don't have a DB260 or DB262 at all. Does your online/offline compare show any discrepancies? Like blocks that are online only?

Share this post


Link to post
Share on other sites

I ran a block consistency check and it found references to DB49, DB10640, FB49, and FB640 that don't exist in the project. I didn't try to track those down since they are probably unrelated to this issue but you might want to look for them.

I also generated a cross-reference and found one place, in FB600, where the x-ref found a reference to "DB?". It looks like it's using pointers, but that's something I've never done in the Siemens world, so I can't decipher that easily. FB600 is called 4 times, once each with instance DBs 1002, 1000, 1006, and 1004. This could get difficult to track down, especially not being online with the machine. For the calls to FB600, the DB numbers are passed in as constants, but either the source or destination word for each CALL is a variable that comes from the calculations preceding each CALL instructions. It's possible that there could be an issue with that calculation causing the block moves inside FB600 to reach out to non-existent locations.

Is it ok to stop the PLC during its operation? If so, you could delete OB121 from the PLC and let it fault. You should be able to go right to the problem from there, with the PLC in STOP mode so nothing is changing. I would be careful, though, to make sure the machine won't do bad things if the PLC faults mid-cycle. As an alternative, you can try to add some diagnostic code to OB121 such that it copies its interface area to a global DB that you create and can then monitor. I remember trying that once with mixed results. I also remember the variable names inside OB121 being far more useful than the ones I see in your program.

The project has two Simatic stations in it, each with what looks like the same PLC and IM stations but one also has a G120 drive and a DP/DP coupler. Are there 2 PLCs in the machine, or is one of the stations in the project a backup of the other with some edits done?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0