Heterodoxy
Member
Time to come clean, my day job would be one of a ambitious, self-motivated, and maybe slightly over confident sparky, with a thirst for knowledge. Recently a friend brought me aboard his pre-existing small business to do some trouble-shooting & programming on small control systems using AB products. (Which I’m primarily familiar with) Now, this thing has expanded beyond our expectations. (Mine anyway, with much large systems now!) Anyway, We had a client come to us with a proposal to develop a control system using their proprietary algorithms. But with a hitch! They were very insistent that the code protects these algorithms. What they suggested was a deviation of what their competitor does. Which is, that if an end user accesses restricted sections of the code that could damage the machine or divulged the particular algorithms, that the code would store a violation flag (which their service tech could detect) and that the PV would make them (the end-user) know that we are aware of the intrusion…. So, never doing anything of this nature I did the usual. Which was to come to this website first and perform the customary searches, security, password, trap-door, ect… It didn’t take much reading to learn that this is a heated subject !!! But what you have to realize is that, this isn’t a time bomb or anything to persuaded payment. It’s main purpose is to deter end-user’s from performing the above mentionable’s. And to make the end-user aware that they have terminated the warranty. Now to all of the nay-sayer’s ---- these conditions will be upfront to the customer, (contractual) and there will be no process stoppage (to defer any legal actions)
Now with the confessions and the explanations out of the way. Onto the question, finally – how do I accomplish this task? Or is it even possible? Another thing is that this client sets themself's apart from their competitors by letting the customer (End-User) own the code. Meaning that the customer can make changes to any part of the code not deemed proprietary. Now I might be complete wrong, but as I explained to the client. It wouldn’t take much to defeat any monitoring, because let’s say that they get curious and make changes that they deem necessary. And afterwards the process crashes. Then it would just be a matter of clearing the memory and reloading the original program onto the processor and saying: I don’t know what happened, but I’m not paying for it! The clients response to this was “what if, we provided a copy of the original program onto a eeprom and flash any changes made onto the chip” And as I explained again, it would just be a matter of uploading a copy of the original program onto their hard drive before any changes were made and downloading it back if anything went wrong! So I can’t see any way around this, or is there something that I’m missing? I read in one post something about password protecting certain sections of code, ladders, subroutines, something like that? This seems interesting, how is that preformed?
Many Thanks
Heterodoxy
Now with the confessions and the explanations out of the way. Onto the question, finally – how do I accomplish this task? Or is it even possible? Another thing is that this client sets themself's apart from their competitors by letting the customer (End-User) own the code. Meaning that the customer can make changes to any part of the code not deemed proprietary. Now I might be complete wrong, but as I explained to the client. It wouldn’t take much to defeat any monitoring, because let’s say that they get curious and make changes that they deem necessary. And afterwards the process crashes. Then it would just be a matter of clearing the memory and reloading the original program onto the processor and saying: I don’t know what happened, but I’m not paying for it! The clients response to this was “what if, we provided a copy of the original program onto a eeprom and flash any changes made onto the chip” And as I explained again, it would just be a matter of uploading a copy of the original program onto their hard drive before any changes were made and downloading it back if anything went wrong! So I can’t see any way around this, or is there something that I’m missing? I read in one post something about password protecting certain sections of code, ladders, subroutines, something like that? This seems interesting, how is that preformed?
Many Thanks
Heterodoxy