MTownsend (Customer) asked a question.

How to resolve integer corruption after migrating project from P2-550 to P3-622

HI,

 

I've recently moved over from the P2-550 CPU to the P3-622 CPU. The original configuration was:

 

  • P2-04B
  • P2-32ND3-1
  • P2-32TD2P

 

The new configuration is:

 

  • P3-03B
  • 93-32ND3
  • P3-32TD2

 

I used the Module Conversion tool (under 4.6.2(2)) and the project compiles with no errors. Where I've run into a problem is that integers seem to have become corrupted.

imageThis is an example of the CMP corrupting.

imageHere there's corruption inside CPA.

 

I've tried repeating the process and the fault remains. I've tried adding the task to the library, deleting the task and retrieving from the library and the same result.

 

I've even manually started rewriting some of the PLC logic but found the error can return. Oddly integers, assigned to tagnames, do not seem to be affected.

 

Is this a potential bug of the conversion tool or something else?


Kevin Roman likes this.
  • ADC Community_02 (Automationdirect.com)

    @MTownsend (Customer)​ This issue has been fixed and will be in the next major release of Productivity Suite.

    Selected as Best
  • ADC Community_02 (Automationdirect.com)

    Please send me the following via PM:

    • A system report generated from your original project
    • The project file displaying the corruption

     

    This will allow us to attempt to reproduce the issue on our end. The corrupted file will serve as a backup reference if we're unable to duplicate it using the original.

  • ADC Community_02 (Automationdirect.com)

    @MTownsend (Customer)​ This issue has been fixed and will be in the next major release of Productivity Suite.

    Selected as Best
  • MTownsend (Customer)

    Many thanks for the support. I have PM an older copy of the project file just in case there is anything else that may be of use.

  • MTownsend (Customer)

    So I've downloaded 4.7.0.47 and noticed that there is no mention of this fix in the release notes. I've downloaded the project from the P2-550 CPU, using the new release, converted to P3-622 and uploaded to the CPU. The corruption still remains.

     

    Corrupt integers. 

    Expand Post
  • MTownsend (Customer)

    So I have found a workaround that seems to be stable (live testing still to be done).

     

    • Open 4.7.0(47) and pull code from P2-550 PLC.
    • Convert project from P2-550 to P3-550.
    • Make hardware changes for new base, layout, etc.
    • Convert project from P3-550 to P3-622.
    • Push project.

     

    For some reason the conversion from P2-550 to P3-662 results in random integer corruption but not this method. Perhaps it's the conversion to P3-550 is more reliable; perhaps it's the second conversion, post hardware changes?

     

    Hopefully this will be useful for anyone else who may encounter similar issues in the future.

    Expand Post
    • ADC_Tech_03 (AutomationDirect)

      When you can, with the project open go into the tools menu, then click Options. Click on the ladder tab, then check the option for "Disable Exponent Notation". After that's done reload into the PLC and report back. :)

  • MTownsend (Customer)

    Thanks 😄 I later realised that I had picked a poor example but had seen issues, with non floats, where the value was corrupted.

     

    I tried again, with a direct conversion from the P2-550, and every time I uploaded to the P3-622 I had this error:

     

    s8XzLaFPg5 

    I have to power cycle the the CPU to get the program to run. The version, twice converted, does not run into this issue and I can safely update the code every time. Again, just posted as this may help someone.

    Expand Post