Programming Services

Steve Crotty

Member
Join Date
Apr 2002
Location
Kingston
Posts
202
Recently the opportunity presented its self for me to do some contract PLC programming services for a local plant. Im looking for some friendly advice on how that normally works.

What im particularly interested in is issues of accountability for damage to the machine. Is stuff like that normally taken care of in a contract? Is there anything else I should be aware of?

The other thing I was interested in is hourly rates? In canada what is a typical hourly rate for PLC programming services? I was told that 50 - 70 dollar range was fair, is that correct?
 
Programming services

What im particularly interested in is issues of accountability for damage to the machine. Is stuff like that normally taken care of in a contract?
I have done some programming for companies, but not enough to know just exactly how liability is handled. However, if you have any doubt about issues of liability, you should definitely do the following:
1. Consult an attorney on issues of liability or do some research on your own, possibly via the Internet. There are laws in most countries that govern such things and may even work in your favor. After all, a company is hiring you to do work for them that you could also do if you were an employee. We have all been there and if you have done any work at all, like me, you have bungled a few jobs over the years.
2. My advice is to check the legal standings and also make sure it is written into any contract you may sign. Best advice I ever heard was, "get it in writing".
3. Providing your client with a written description of your rates is just good business policy I think. Things that are written into your quote for services should include whatever you expect to be necessary, per the job you are about to take on. Don't forget travel, meals, and lodging if necessary. Extra charges for equipment or software are also a consideration. If you are not going to charge your client for these things, then you are going to pay it out of your own pocket. Some choose to charge a very high hourly rate and let that cover all the bases, however most do not do that. It is easier for a client to know what they are getting if it is spelled out in a quotation.
The other thing I was interested in is hourly rates? In Canada what is a typical hourly rate for PLC programming services? I was told that 50 - 70 dollar range was fair, is that correct?
I am working now as a full time instructor at a local community college but also do some consulting engineering work on the side. I have a client now that I am working with on some programming issues as an advisor, not programmer, and I am charging an hourly rate in the range you mentioned. I figure it is reasonable for what I am doing and the prep work, short travel, and other incidentals are covered as well.
I hope this helps you a little.
 
Here in the uk its your program its your and you are reponsilble for anything that happens to the machine or the operator of the machine. Make sure that you have public liabilty insurance.
 
its called 'Liquidated Damages', dude

If any language refers to the phrase: Liquidated Damages....
run away.

It means that you are responsible for all damages thought to
be emminating from any item you touch.

There are lots of other stones in this road, but, LD is
the biggest.
 
Thanks a lot for the replies guys! After a few calls to the insurance companies im looking into "group insurance" for computer programming type people.


So far my plan of attack is to put everything in writing about how much I charge, and the services and equipment I will be supplying, and the services and equipment that they will be supplying.

Is it usually necessary to quote how long I expect things to take, or do you just take as long as it takes and charge them for that?

Thanks again, this is all very new to me, ive never done any contract programing before and have no idea what to expect!!
 
From the school of hard knocks:

1) If it isn't in writing, it doesn't exist.

2) In your proposal, include hourly rates or a fixed price. Include a rate for travel time (I use 1/2 the regular rate) and on site time if you are doing on site de-bugging. I usually indicate direct travel expenses will be billed at cost, including a mileage allowance for automobile travel. I also cover secretarial services, copying, and such at a lower rate.

3) Include the phrase "Steve Crotty will not accept consequential costs or liquidated damages." Also, identify the time limit and extent of your service required to fix bugs that don't show up until later: "Engineering services required to correct errors or omissions by SC SuperProgramming LLC and discovered within one year of completion of the programming shall be provided at no charge to the customer"

4) Identify the information (drawings, sequence of operations, schematics, part numbers of vendor supplied equipment, programming software, whatever) that the customer must supply before you can BEGIN work.

5) Identify the scope of work - HMI, PLC, etc. Include things that are NOT part of your services, such as redesign or revised electrical drawings if their design doesn't work, etc.

6) Avoid definite dates for scheduling like the plague. Everything should be expressed as weeks or months from benchmark events. Initial drawigns XXX weeks ARO (After Receipt of Order). Programming XX weeks after customer approval of drawings. On site testing within XXX weeks after completion of customer installation. You get the idea.

7) Identify ownership of any intelectual property. If you are writing logic for a customer defined sequence of operation, it is probably theirs. If you are dong "blue sky" work on a new process or machine, they may have rights to unlimited use, but you may have rights to re-use on "non-competitive" applicatons. If it is totally your own work and logic, developed at your expense prior to this project, they may have a single use license or a royalty arrangement.

8) The contract should release you for any respnsibility for patent infringement or other breches of contract instigated by the client without your knowledge.

9) A mutually binding confidentiality agreement should be part of the proposal to protect you and the client. Something like this for each of you: "Steve Crotty Mega Enterprises and its employees will hold all information of a business and technical nature disclosed to it by the customer and relating to the business of the customer confidential. No information or documents will be given to persons outside the employ of the customer without authorization."

10) Include payment terms, and the remedy if payments are late. "Billing shall be twice monthly, net 30 days, 1.5% interest per month on amounts past due. If at any time in Steve's judgement the customer may be or may become unable or unwilling to meet the payment terms specified, Steve may require satisfactory assurances of full or partial payment as a condition to commencing or continuing any work or payment in advance of delivery and/or installation, or may, if delivery and/or installation has been made, If payments are not made in full and on time, Steve has the right to access to the customer's facilities to erase all programming and recover all documentation."

There is more, but these are some of the "high points".

This may look intimidating, and like you don't trust your customer, but it isn't the case. I have been doing consulting for twenty some years, and I have never had to enforce any of this language by litigation. I have, however, on a couple of occasions, had to refer my customer to some of these terms, and I was glad they were there.

Most clients are good guys, and you won't have to deal with this once you have your contract written. If a prospective client doesn't like this, and can't make a good case for why he wants to change your "standard" terms and conditions, you probably don't want them for a client.
 
Way back when...

Tom Jenkins said:
From the school of hard knocks:

When you first started doing projects on your own, did you go with a lawyer to assist in drawing up contracts and standards, etc. or did you do it yourself?
 
I didn't use a lawyer - I couldn't afford it when I was getting started. I did read a business law text and the Uniform Commercial Code. Mostly I relied on common sense and language from contracts I had reviewed when I was an employee. I also added some items as time and experience dictated.
 
Thanks a lot Tom, I really appreciate the time you took to write that out for me.

To be more specific about the situation, the machine (prototype) was built by my former employer, and I have the most intimate knowledge about the program its running as well as how its supose to work mechanically. The machine was a ******* of a project (design wise) and im not sure if the machine will ever be able run at the standards it has to because of the original concept of the machine.

One thing I know im going to have to avoid is them backing me into a corner saying "we want the machine to do this", and what they want will not be possible to do 100% of the time because the concept behind it is flawed mechanically.

But I guess its been said more than once on this topic, protect my butt by putting everything in writing.

Thanks for the advice everyone!
 
non-compete

I assume that you DID NOT sign a non-compete aggreement with
your former employer that would restrict your activities at
this point.

Even though these aggreements are difficult to defend or
prosecute, it could make things sticky for all parties......

Oh, don't forget to say something similar to:

"PLC programming services are for development of the
application software only. Garage Shop Programmers LLC (you),
will not supply the manufacturer's developement software."

This thread shows why the 'cost of entry' and the 'risk of
maintaining' a business relationship for these types of works
is such a challenge for those just starting out. (and, lets
face it, for everyone in this buyer's market)
 
I assume that you DID NOT sign a non-compete aggreement with
your former employer that would restrict your activities at
this point.

Yeah, I have been very careful not to step on any toes in that respect, my former employer is actually the one that suggested it.
 

Similar Topics

New to vfds. I put in parameters. IP, but I get ethernet flashing and link solid. What did I do wrong?
Replies
0
Views
8
I'm been deciphering a program for a press here. I've gotten most of it deciphered using the manual to understand the instructions (first mitsu...
Replies
5
Views
37
Hello colleagues, Some time ago I started my adventure with programming. With your help and the courses, things are starting to come together...
Replies
13
Views
597
Dear All, I need a sample PLC program to count the output pulse of a mass flow meter so that a specific amount of mass (for example 100gm)can be...
Replies
2
Views
84
Hi Please I have zeilo smart relay #SR2A201BD but I don't have it's programming cable. Can I use any general usb/rs232 converter? Or need...
Replies
2
Views
80
Back
Top Bottom