How to know that PLC Program is Re-downloaded ?

nilesh_1106

Member
Join Date
Dec 2011
Location
pune
Posts
34
Hi Everyone,

Usually, We are giving a PLC Program with password to customer for backup & diagnostic purpose. These days we are notice that the customer doing changes in PLC program without inform to us. If any malfunction is happend due to the changes, then they will download original copy & call us . So, I want to stop this activity.
Therefore, How we can identified that the PLC Program is re-downloaded (same copy of Program ) ?.

Note: 1. PLC can be any make.
2. Retentive memory can not used.

Regards
Nilesh
 
First of all, how do you know they do this?

And what do you mean by stopping this activity?
Making it discoverable to you after being done? Or making it impossible to do?

Also, the PLC brand and even model can determine the solution, so it may be not the same for any make.
 
Last edited:
The only ways to stop your customer from modifying the program you supplied are:
Put it on eprom, or password protect it so they only have read only access.

Where the program has a safety function or an environmental impact then I can see this being done. There are ways of protecting the code.

But, as a customer, I am paying money for a product that I will run 24/7 and will require access to diagnose and sometimes tweak the operation, and it bugs me to see "standard" code password protected, so I cannot fully diagnose an issue - I may have to guess what I think the code is doing. Production may go down for a simple software issue, costing thousands, because some supplier thinks he is protecting his product, whereas he is selling it to me, an end user, and unless he provides 24/7 support (under a contract) that product is mine!

Remember, without a satisfied customer, you will not have a business.
 
Some PLC models can be set up so that an end user can view the code for debug/diagnostic purposes but not change it. That may be what you need to do.

If your company is being paid to fix the problems caused by unauthorized changes to the program, then you have a revenue stream.

If the customer is abusing your company's warranty and you have to perform the service for free, then you should be dealing with a better class of customer.
 
If there is no password protection on the CPU, there is no way you can tell if code blocks have been re-downloaded.

For datablocks, you can manually set a value in an address that isnt written to by the PLC code. You can do this by a VAT table for example. If you do that, do NOT use the RAM-to-ROM function. If the value is set to the offline value, you know that the DB has been manipulated.
This obviously requires that you have taken the mentioned steps in advance.

JohnCalderwood said:
[..] because some supplier thinks he is protecting his product, whereas he is selling it to me, an end user, and unless he provides 24/7 support (under a contract) that product is mine!
You may have bought the machine, but unless specifically stated in the contract, you have not bought the engineering that goes into creating the machine.

A reasonable middle ground is to allow read-only access to the PLC.
 
But, as a customer, I am paying money for a product that I will run 24/7 and will require access to diagnose and sometimes tweak the operation, and it bugs me to see "standard" code password protected, so I cannot fully diagnose an issue.
I fully understand that position, but as the purchaser of equipment you cannot assume that the OEM takes the same attitude. You need to make sure that access to PLC code is specified in the purchase contract.
 
Thanks all for your reply. as per your replies, It can be conclude that, there is no way to find a program re-download identification. but my personal request to all USA members that they can a suggest to Rockwell Corporation for further new product development. so it may overcome of this issue.
 
I just opened up the help file in Studio5000 (v24) and under the GSV instruction, check the "CONTROLLER" object. There are these two values which may be helpful:

Code:
AuditValue

DINT[2]
LINT

GSV

The AuditValue is a unique value that is generated when a project is downloaded to the controller or loaded from removable storage. When a change is detected this value is updated. 

To specify which changes are monitored, use the ChangesToDetect attribute.

Code:
ChangesToDetect

DINT[2]
LINT

GSV
SSV

Used to specify which changes are monitored. When a monitored change occurs, the Audit Value is updated.
 
Excellent find !

I did a "roll your own" download detector with a single source-protected structured text routine years ago, but I like a built-into-the-firmware feature much better.

I had a problem like the OP's many years ago with a PLC-5 system, except that the customer's edits had contributed to a severe injury accident. They re-loaded the archived program, called my company, and falsified a Labor & Industries Department report about the accident. It was... unpleasant.
 
Something like this would probably be simpler on a non-AB project. In Codesys, one could create a variable that is persistent, but not retentive (or perhaps the other way around) and have it store a timestamp if it boots up at zero.
 
Omron PLCs store the date and time of the last program download in registers A90-A93. That solves the problem, but it only applies to Omron PLCs.
 
Ken,

I had a similar thing happen years ago, our customer had us remove a test on a part we tested and lied to their customer when the parts began to fail. We were fortunate enough to have a change order with the program change description and the supervisors signature.

We faxed the information to the powers that be and at least we were in the clear. Most unpleasant for others.

james
 

Similar Topics

We have a PLC-5 in a printing machine. Few weeks ago, I made some online change in the running program of PLC but did not burn in to EEPROM. So...
Replies
8
Views
4,855
Hi All, I am downloading program on Siemens PLC -CPU 315-2 PN/DP. But programe is not downloaded & all LED's are blinking continiously. please...
Replies
5
Views
4,295
I'm a beginner in the automation field and I've set up an automation system connecting several devices (datalogger, radio, etc.) via Modbus RS485...
Replies
5
Views
181
Hi All, want to ask. I have PLC a programme to control the valve. The existing programme is to control valve A (Y22), and I want to change to...
Replies
2
Views
137
can anyone has a good program to learn plc programming online. i have the basic looking into improve my skills thanks
Replies
1
Views
135
Back
Top Bottom