Author Topic: How to protect my PLC code from others?  (Read 6129 times)

Prayuktibid

  • Newbie
  • Posts: 15
  • I am Prayuktibid
    • View Profile
How to protect my PLC code from others?
« on: June 22, 2017, 09:20:19 PM »
Hello folks,
I am using Trilogi PLC FDMD88-10 model and I am using it for Industrial purpose. So I  would like to know how can I secure my code for confidential purpose such that no one can copy, view my code. what are the procedure to authenticate my Code?
Please suggest me. Thank you.

support

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3170
    • View Profile
    • Internet Programmable PLCs
Re:How to protect my PLC code from others?
« Reply #1 on: June 23, 2017, 09:01:41 PM »
Your code is automatically protected from downloading by any user once it is transferred to the PLC. There is no backdoor means to recover the program from the PLC. That is the feature of these OEM PLCs. However you do need to backup your program properly because if you lose the source program we will not be able to help you recover the program.

Given the low cost of SD card, some OEM would put a copy of the actual program inside a password-protected ZIP file and attach the SD card to the control panel. Only the OEM knows the password to unzip the program. That ensure that a secure copy of the source code follows the machine but only the OEM can access the program.

Email: support@triplc.com
Tel: 1-877-TRI-PLCS

Prayuktibid

  • Newbie
  • Posts: 15
  • I am Prayuktibid
    • View Profile
Re:How to protect my PLC code from others?
« Reply #2 on: June 23, 2017, 09:07:33 PM »
Thank you very much for your Kind Information.

garysdickinson

  • Hero Member
  • Posts: 502
  • Old PLC Coder
    • View Profile
Re:How to protect my PLC code from others?
« Reply #3 on: September 26, 2017, 01:38:47 PM »
My best suggestions on how to product one's PLC programming from being stolen or used by others is to write the program using the following guide lines:
  • Use no comments either in ladder logic or in custom functions
  • Never use the # Define mechanism in custom functions to provide meaningful names for variables
  • If you need to access DM[] as 32-bit variables, then never use the DM32[n] syntax.  Always access it as two 16-bit values.
  • Write all custom functions as a block of code with no indentations or delimiters.  Attempt to make the code margins even or perhaps in the shape of a tree.
  • If you use a subroutine, don't give it a name just invoke it as "call 3".
  • Don't use for/next  or while/endwhile statements, just use as many GOTO  statements as possible.  You don't want anyone to be able to guess that you have a bit of code that might run in a bit of a loop.
  • Don't use if..elif..elif..elif..else..endif only use nested if..else..if..else..if..else..endif..endif..endif (nested if statements).  And if possible nest the if statements as deeply as possible.
  • Name all INPUT, OUTPUT, RELAY, COUNTER and TIMER items with names like INPUT1, INPUT2 and OUPUT3.  If you give any of these things useful names, some causal user might guess what you are doing.


I am certain that their are more creative ideas on how to obfuscate your work, but these will get you a long way.

Best regards,

Gary D*ckinson
[/list]
« Last Edit: September 26, 2017, 01:40:20 PM by garysdickinson »