Any way to restore file

I need assistance regarding a SNAP-PAC-R1 controller that has stopped responding through the RS-232 serial port after being disconnected from the power supply for an extended period (+4 years).

Issue Description:

  • The controller powers on properly, with the LNK LED solid green and ACT LED blinking orange, indicating Ethernet link and traffic.
  • Communication over Ethernet is fully functional, and PAC Manager connects without issues.
  • However, serial communication via COM1 (RS-232) using ReadOpto returns error -29 (no response) even when all configuration parameters are correct.
  • We tested sending the typical Modbus frame (01 03 41 00 91) and observed activity in RealTerm/Tera Term, but the PAC does not reply.
  • The error changes to -31 if an empty frame is received, indicating the port is physically active, but the controller does not respond.

System Information and Tests:

  • PAC firmware: Version 9.3b
  • Software versions:
    • ReadOpto v1.4
    • PAC Manager v10.5c
  • Serial port settings in PAC Manager:
    • Mode: Generic ASCII Protocol
    • Baud Rate: 9600
    • Data Bits: 8
    • Parity: None
    • Stop Bits: 1
    • Flow Control: None
    • TTL: Disabled
  • We tested multiple null-modem RS-232 cables with full pinout (RTS/CTS, DTR/DCD), using different PCs and COM ports without success.
  • The file comm0.log is empty; other modules such as DAQio and RDD return valid data.

is there any way to recover the data or restore the system/

Hi Marco. Welcome to the OptoForums.

Sounds like the strategy has been lost.
When you inspect the controller - either via PAC Terminal, or via PAC Control debug mode, do you see a strategy staved to archive and any charts running?

EDIT: Opto22 - SNAP-PAC-BATTERY-ML2430 - Replacement backup battery for SNAP PAC controllers and brains

Is there any way to recover the files? they have the name and date, is ist possible that they are locked?

It looks like the last person to download the strategy did not save the archive to the controller, so the option of recovering the zip file is out.

The last option is to use Windows File Explorer and do a disk search on every computer that might have PAC Control on it.
The file you are looking for will have the name PAC20130426
You have one chart running, which is a little helpful, we just don’t know how it works or what it’s doing with the serial data.

If you can find the directory with that strategy in it, you can start to look at other options.

what would be the best way to connect to the directory?

Once you find the computer with the strategy files on it you can open it in PAC Control and start to look at the serial port commands.

If you’ve not worked with PAC Control much the users guide is excellent and we have a training course here: https://training.opto22.com/page/snap-pac-training

We’ve located one SNAP-PAC-R1 controller that is still running correctly, but its strategy archive is missing (“Archive = No”).
We don’t need to view or edit the control logic—our only goal is to copy everything that keeps it running and use it to revive the other R1 units that have lost their configurations.

Is there a way to clone the working controller’s image onto the non-working SNAP-PAC-R1s without the original archive file? Any step-by-step procedure or tool recommendations would be greatly appreciated.

Thanks in advance!

No. Its impossible to extract a file that does not exist.
The complied code running on the controller is very different from the zip archive.
Not even Opto22 can extract the running code.

I’ve noticed the active strategy seems to be running on units that experienced power loss and a dead battery.

Could the damage primarily be to the I/O configuration rather than the strategy itself?

Thanks,

With a dead battery and power cycle, we are well into guess the mode of recovery land.
Its hard to say for sure how the controller will behave with an unknown strategy.

For example, if the strategy makes heavy use of persistent variables (including ‘flags’) that steer the strategy charts to configure I/O or perhaps call / run the charts in the required sequence.

Without those variables being retained, and no visibility into them, we just can’t know what state the strategy is in.