Does anyone have any information on "Runtime error #81 (access violation Task = MAIN) ?? I can't find any documentation for this error.
The task throwing the error is the task that runs my main PLC_PRG. I am working on an ABB AC500 PM590 CPU. The error is produced EVERY time I try to RUN the PLC. Therefore, I cannot RUN the PLC.
The PLC is giving me the following error in conjunction with the above:
E2: IEC Task 0. Cycle time of IEC task index x - 4 is greater than watchdog time (x = 31 -> IEC task index > 27)
I have modified the task configuration multiple times now to no avail.
Any thoughts? Any help is greatly appreciated.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Well, I was able to get the PLC into RUN mode by disabling the MAIN task (the task causing the error). This was expected, but not acceptable.
I can't seem to find anything in the code that would create a problem here. This program runs on the last generation of the PLC I'm using. It refuses to run on the latest generation.
I do have more information stating:
Instruction at 0x00226DE4 attempted to read data at 0x00000000.
I think this refers to the access violation, but as I stated previously, this code RUNs on the last generation PLCs.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
A little more research has lead me to believe that this access violation at address '0x00000000' indicates a null pointer.
So, I am most likely using something before it's created. Still, I am puzzled as to why this does not create an error on the old PLC.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
you have a critical something in the tasktime, on old PLc this has worked, but now the watchdog is a lot stricter.
check for long loops, or if the program takes too much time while waiting
any program in a PLC must be complete every watchdog time.
the watchdog is reset when a program or function block ends.
this is complete different from a basic or C program.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
shooter hat geschrieben:
you have a critical something in the tasktime, on old PLc this has worked, but now the watchdog is a lot stricter.
check for long loops, or if the program takes too much time while waiting
any program in a PLC must be complete every watchdog time.
the watchdog is reset when a program or function block ends.
this is complete different from a basic or C program.
Is there a database of these runtime errors somewhere? A lookup table perhaps with descriptions and common causes / remedies?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Does anyone have any information on "Runtime error #81 (access violation Task = MAIN) ?? I can't find any documentation for this error.
The task throwing the error is the task that runs my main PLC_PRG. I am working on an ABB AC500 PM590 CPU. The error is produced EVERY time I try to RUN the PLC. Therefore, I cannot RUN the PLC.
The PLC is giving me the following error in conjunction with the above:
E2: IEC Task 0. Cycle time of IEC task index x - 4 is greater than watchdog time (x = 31 -> IEC task index > 27)
I have modified the task configuration multiple times now to no avail.
Any thoughts? Any help is greatly appreciated.
Well, I was able to get the PLC into RUN mode by disabling the MAIN task (the task causing the error). This was expected, but not acceptable.
I can't seem to find anything in the code that would create a problem here. This program runs on the last generation of the PLC I'm using. It refuses to run on the latest generation.
I do have more information stating:
Instruction at 0x00226DE4 attempted to read data at 0x00000000.
I think this refers to the access violation, but as I stated previously, this code RUNs on the last generation PLCs.
A little more research has lead me to believe that this access violation at address '0x00000000' indicates a null pointer.
So, I am most likely using something before it's created. Still, I am puzzled as to why this does not create an error on the old PLC.
you have a critical something in the tasktime, on old PLc this has worked, but now the watchdog is a lot stricter.
check for long loops, or if the program takes too much time while waiting
any program in a PLC must be complete every watchdog time.
the watchdog is reset when a program or function block ends.
this is complete different from a basic or C program.
Is there a database of these runtime errors somewhere? A lookup table perhaps with descriptions and common causes / remedies?
yes in the helpfile and in the docs.