Protecting Important Data

JeffB

Lifetime Supporting Member
Join Date
Apr 2002
Location
NW Arkansas
Posts
79
Hello Everyone,

I am relatively new programmer working for an OEM that makes packaging equipment for the brick and tubing industries. The programs I write involve a lot of sequencing and positioning. As most of you know, the values of set-point words and sequence step words are very important. I'm trying to develope an efficient way of protecting that type of data from being mistakenly changed. I've been going around in cirlces in my mind thinking about using "compare words", or something of that nature, but what if someone changes one of them? Do any of you "Gurus" know of way to accomplish what I'm trying to do?

BTY, we mainly use A/B SLC's and RsLogix.

Thanks to all who take the time to read this.

Jeff
 
The technique will vary depending on hte source of your new setpoints. An HMI can usually be set up to require a password to enter data. If they are coming over a serial data link from another PLC you may need to put protective logic at that unit. If the setpoints are being entered from RSLogix you may be out of luck.

One thing I try to do is have a subroutine in my programs that does a range check on critical setpoints periodically - usually every few seconds. If the entry gets outside my pre-determined safe range I stuff a "safe" default value into the register. I also call this subroutine immediately on power up so I avoid the problem of zero setpoints if the last entries "magically" disappear during a power cycle.
 
There is no fool-proof way, of course. "Anything that Man creates, Man can destroy."

But here's a technique I've used on SLCs:

Step 1 - have all your setpoints, etc, in registers (preferably in a single data table (say N30)). Use these throughout you program.

Step 2 - Create a ladder file whose sole purpose is to load values into these registers. It will be nothing more than a series of MOVEs of numbers into those regiseters. The JSR for this ladder can be done just on first scan or every scan, depending on your paranoia level. You may want to start it on first scan, which will allow you to change things on the fly, but once you get all the numbers just right, then make it every scan.

Step 3 - Once you have all the numbers just right, go to the Properties of the ladder file (off-line). You will see a checkbox for "Allow Online Edits". Uncheck this.

Step 4 - Go into the Properties of your Setpoint data table(s), and change the protection from None to Constant. Save and upload.

Now no one will be able to change the value of the registers online. Obviously, someone could still come along and change which register is being used, but unless you want to prohibit them from making ANY changes, there's nothing you can do about that.

This protection scheme is redundant, by the way. With CONSTANT protection on the data table, changing the ladder file won't affect the data table. If the data table protection is changed, the ladder will protect the data.

Of course, uploading a new program nullifies everthing. Like I said, nothing is 100%
 
You can set up a series of move statements that is activated by a first scan bit that will move the correct data into the proper places every time you first power up the PLC.
 
When you think about it, the entire program is important. You CAN NOT protect it from being corrupted by a human being, only delay the process awhile.

Me Personally, I initialize constants (registers in which I desire a constant hard coded value) on 1st scan.

This seems to be sufficient. I have rarely seen these values changed.

The first thing that people seem to do any way when the PLC isn't working correctly, is to do a power cycle. Plus, if you write to these registers every scan, someone may not know they made a programming mistake, and you may have just invented an intermittent problem.

Plus, if you are using a sequencer type instruction etc. put the recipe into the rung comment.

Also, it has been my experience that protecting data files or ladder files from modification only seems to **** the customer off. Weather right or wrong.
 

Similar Topics

Hello everyone, been awhile since I've posted..... As the title suggests, using Crimson 3.1 software (Red Lion) I cant seem to figure out if its...
Replies
4
Views
1,713
Hi, Just wanted some thoughts on protecting control and instrumentation from welding damage. We had a PLC and drive fail after some welding work...
Replies
12
Views
5,004
Hi Everyone, Yesterday we encountered an issue where I had a 480V 3Ph 2HP Powerflex 525 blow up. Upon further inspection, we noticed that 10...
Replies
21
Views
6,006
Hi, I am currently developing a project and need to know if it's possible that once I download to CPU and HMI no one can upload it and re use the...
Replies
23
Views
6,841
We have a PV+400 on our floor that has something quite odd going on. The program hasn't been changed in quite a while, at least a couple of...
Replies
8
Views
5,398
Back
Top Bottom