Execution Protection / Licensing for AOIs?

JeremyM

Lifetime Supporting Member
Join Date
May 2014
Location
Dallas, Texas
Posts
1,233
Hi all,

Short story: My company is very soon beginning to ship Studio 5k code in the form of AOIs that needs to be both source and execution protected.

I’ve got a grasp of the built-in source protection tool and I think it will suffice.

However, source protection won’t prevent a blind export/copy/paste/import of the AOIs themselves to processors we didn’t ship to our customer by other integrators and so on.

I understand I can do a hard-coded processor serial or MAC address check within each AOI via GSV to protect it. However, this requires un-protecting source, and re-protecting, manual key-in, and endless verification. It’s cumbersome, error-prone, and difficult to coordinate among a fellow team that regularly pushes various sets of these AOIs out daily.

Is the solution to hash the serial/MAC -> pass to AOI -> parse serial/MAC, regenerate hash, then compare?
 
Last edited:
You mean you want to prevent someone from copying the AOI and using it in another program?
 
your company can also state in your quote that your company has intellectual and propriety information in the systems and they cannot be copied, modified.... legal can handle this part.

I know it can be done, we have 4 systems here that have protection on certain parts of the code.

james
 
You mean you want to prevent someone from copying the AOI and using it in another program?
Exactly.

your company can also state in your quote that your company has intellectual and propriety information in the systems and they cannot be copied, modified.... legal can handle this part.

I know it can be done, we have 4 systems here that have protection on certain parts of the code.

james
Right, but other avenues exist to obtain or release it including outside integrators, in-house naivety, and so on.
 
Do these AOIs have a great use outside the of their intended location? I mean what do these do that people copy them? Not to be insulting, but what is so great about them?
 
Do these AOIs have a great use outside the of their intended location? I mean what do these do that people copy them? Not to be insulting, but what is so great about them?


more than likely they are in the business of wanting to be called for follow up work and future mods possibly!
 
Do these AOIs have a great use outside the of their intended location?
Yes, absolutely.
Not to be insulting, but what is so great about them?
Not playing.
more than likely they are in the business of wanting to be called for follow up work and future mods possibly!
No, I'm in it to build software that doesn't break; my goal is reducing follow up work.
 
Last edited:
I wasn't trying to play. I was just curious what these AOIs do specifically. What is their function? Can you put protection on the routine their in? I have never added protection to any of my code. So I just want to know what your AOI are doing.
 
To my, limited, knowledge, what you want to do can't be done with a source key, but I think it's possible with a license, but I think that costs a lot, at least that's what I heard. Even if you protect a routine with a source key, the AOI can still exported and imported in another project. However, I think a license will prevent this.

You probably need to get in touch with RA or your local distributor.
 
FYI (or maybe you already know): if you are selling to either China, whatever you do will not prevent theft.

Can a dongle be used? That might slow them down.
 
I know Allen-Bradley just released a bunch of stuff of securing intellectual property. I would suggest you contact your local distributor about this stuff. Of course it's gonna cost you money to implement but if these are novel and valuable then it might be worth investing in the latest protection.
 
To be honest I have never come across any function or block that I could not write myself given the incentive. I can understand in some circumstances where protection may be required, however, if somebody wanted to rip your machine off there will be a way somehow. Also, I have come across copycat machines but not plc software, it is probably quicker to re-write it than try to decipher non documented code. How people can be naïve enough to believe they can write AOI's or functions in a PLC that others could not I do not know.
I have been in this industry for 40 years and never protect or fail to supply documented copies of code unless it is a requirement of the customer. I have worked in a factory where quite a lot of the plant had been protected by the suppliers however, I engaged in conversation with them and obtained documented copies and passwords, They were quite happy that I was there to look after the plant, my knowledge was probably superior to their engineers (this was proved in practice when I had to bail them out on their own systems).
With some of the suppliers I had to sign a document that I would not divulge their intellectual property to 3rd parties.
To be honest I would find it quite flattering if other engineers used my code and will give it away freely in most circumstances.
As far as PLC code goes it is just an application of instructions designed by the plc mfr. and you just put them together to make it work.
I'm never worried about suppliers protecting their investment and took that under my belt, however, we did have a supplier win a contract with us, it was specifically designed for us and we paid for the development of the software, they refused to give us copies and password protected the plc's, the system never worked properly even after many visits by their engineers. Over a period of time I re-programmed the whole system (not easy as this was a 24hr production plant). I replaced one plc at a time after full simulation without any real downtime. needless to say they never got another contract with us.
 
I'm never worried about suppliers protecting their investment and took that under my belt, however, we did have a supplier win a contract with us, it was specifically designed for us and we paid for the development of the software, they refused to give us copies and password protected the plc's, the system never worked properly even after many visits by their engineers.
Not to be a smart-a**, but that is a case where the requirement should have been explicitly stated in the contract. One can argue that morally they ought to hand out the code due to it being custom made for you, but dont expect it to be implied.
 
Unfortunately I had no input on that side of the project, my involvement was design hardware, however, I did state that we needed a copy of the documented software, which I eventually got and it was read only & for download if required, no problem for me as I knew how to remove the password both on the files & plc but I decided as I had no input to the contract I decided not to use any of their code. I had lists of all the tags etc. and the inter plc & Scada coms and as it was so badly written decided to completely re-write it, it goes without saying though that some of my code was near identical, how many ways are there to do the same function.
 

Similar Topics

Good morning. I'm doing a rehab and I need to recycle some part of the old code that won't change and that I need. This is a calculation that...
Replies
22
Views
1,164
Hi, We have a machine with 9 servo motors and Kinetix 5100 drives. The controller is L33ER and there is no motion control in the project. The...
Replies
8
Views
1,152
Another daft question coming up... In the picture, suppose "Data_block_1.Calculate Diff" is TRUE. What's the order of execution of the...
Replies
3
Views
670
Hello gentlemen, If I have more than one Program POU assigned to the same PlcTask, how do I changed the priority of which program executes...
Replies
9
Views
3,374
Back
Top Bottom