Campbell Scientific CR3000 CR3000 Micrologger - Page 431
Program Does Not Compile, 3.3 Program Compiles / Does Not Run Correctly
View all Campbell Scientific CR3000 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 431 highlights
Section 10. Troubleshooting 10.3.1.8.2 Watchdoginfo.txt File A CPU: WatchdogInfo.txt file is created on the CPU: drive when the CR3000 experiences a software reset (as opposed to a hardware reset that increment the Status-table WatchdogError register). Postings of WatchdogInfo.txt files are rare. Please consult with a Campbell Scientific applications engineer at any occurrence. Debugging beyond the source of the watchdog is quite involved. Please contact Campbell Scientific for assistance. There are a few key things to look for: 1. Are multiple tasks waiting for the same resource? This is always caused by a software bug. 2. In newer operating systmes, there is information about the memory regions. If anything like ColorX: fail is seen, this means that the memory is corrupted. 3. The comms memory information can also be a clue for PakBus and TCP triggered watchdogs. For example, if COM1 is the source of the watchdog, knowing exactly what is connected to the port and at what baud rate and frequency (how often) the port is communicating are valuable pieces of information. 10.3.2 Program Does Not Compile Although the CRBasic Editor compiler states that a program compiles OK, the program may not run or even compile in the CR3000. Reasons may include: • The CR3000 has a different (usually older) operating system that is not compatible with the PC compiler. Check the two versions if in doubt (the PC version is shown on the first line of the compile results). • The program has large memory requirements for data tables or variables and the CR3000 does not have adequate memory. This normally is flagged at compile time, in the compile results. If this type of error occurs, check: o for copies of old programs encumbering the CPU: drive. The CR3000 will keep copies of all program files ever loaded unless they are deleted, the drive is formatted, or a new operating system with DevConfig. o that the USR: drive, if created, is not too large. The USR: drive may be using memory needed for the program. o that a memory card (CF) is not available when a program is attempting to access the CRD: drive. This can only be a problem if a TableFile() or CardOut() instruction is included in the program. 10.3.3 Program Compiles / Does Not Run Correctly If the program compiles but does not run correctly, timing discrepancies are often the cause. Neither CRBasic Editor nor the CR3000 compiler attempt to check whether the CR3000 is fast enough to do all that the program specifies in the time allocated. If a program is tight on time, look further at the execution times. Check the measurement and processing times in the Status table (MeasureTime, ProcessTime, MaxProcTime) for all scans, then try experimenting with the InstructionTimes() instruction in the program. Analyzing InstructionTimes() 431