selling a locked user defined function block

I predict that the first person to buy one of your function blocks will ask if you can tweak it because it doesn't exactly fit his application for it.

I've dealt with this too much, where a program was made for a specific machine and a customer wants to "just copy it from the other machine". but there are so many small differences that it would be a nightmare to try and make it work instead of just starting new.
 
From an end user perspective, I would shy strongly against buying locked code UNLESS it was particularly unique, difficult, and well vetted to where it didn't need support. Say, for example, if you were to write code that creates a connection between an S7 and a ControlLogix without needing an intermediate gateway device...I would have been very interested in it at my last location. I wouldn't have minded too much if it was locked as long as it worked and was simple to transfer "x" number of registers back and forth. And was reasonably priced (less than a gateway module, for example).



Right now, with the hardware I have to support here, I can't think of any functions that I wouldn't mind being locked. I have to keep the machines running and I fight hard to avoid 2AM phone calls, so locked code is generally not ok with me.
 
No, but we sell motion controllers with firmware that the customer cannot modify.
I don't see any problem with selling FBs that work. Be ready for tech support calls if they don't.

What kind of PLC code to you deem useful? There are a lot of topics that come up over and over again here. I can see why people would want to buy ready made code. Sometimes time is more important than a few bucks.

I will pay for VPN software. Viscosity is just a user friendly version of Open VPN but I still buy it because makes implementing a client VPN easy. I wish there is a Viscosity for the Raspberry PI. I would buy it. Right now I am using my Raspberry PI to write this.

Normally I use a I7-4770 Zotac box. Yes they are old. Yes I can afford anything. That isn't the point. Being able to make what you have work is gold.

I have spent a great deal of time writing, modifying, and optimizing, modbus RTU code to multiple VFD drive types.

I would have bought it.

I was thinking about doing it through the 3S Codesys site, if possible?
 
^^This ^^

99% of the time I agree.

But, I have in the past appreciated seeing behind the scenes of a function block.
Was only ever able to do this w/ Phoenix un locked function blocks.
The comments were in German, but thanks to google and the brilliant programmers at Phoenix, they were some of the best.

If I write it as a locked function block and write the help awesome (I used to do this for a living as well), Customer places it on a rung of ladder logic and uses it like it an SCP function (example of a good one).
 
Can you guys see the difference between selling code that the customer paid for and code that you wrote on you one dime/time? I think it is fair to charge for code you write on your own dime/time.

"Even with just me using my own code I ended up finally abandoning that idea as each similar task on every machine turned out to be different"
Yes, it takes a lot of effort to write truly flexible code.

The saying we have around here is that the customers will only use about 1% of the code and everyone want their own special 1%. The trick is to be able to handle 99.9% of the applications with your code.

I am a big fan of re-usable code and having to re-invent the wheel.

What if I finish optimizing it on my own time, and give it to my customer for free. We have all re-used code that was developed and paid for by a previous project.
 
Can you guys see the difference between selling code that the customer paid for and code that you wrote on you one dime/time? I think it is fair to charge for code you write on your own dime/time.

"Even with just me using my own code I ended up finally abandoning that idea as each similar task on every machine turned out to be different"
Yes, it takes a lot of effort to write truly flexible code.

The saying we have around here is that the customers will only use about 1% of the code and everyone want their own special 1%. The trick is to be able to handle 99.9% of the applications with your code.

I am a big fan of re-usable code and having to re-invent the wheel.
I predict that the first person to buy one of your function blocks will ask if you can tweak it because it doesn't exactly fit his application for it.

lol
guaranteed

I agree. Without the perks of object-oriented programming and inheritance and such in Logix, "truly flexible" code means code that handles an atomic function in an agnostic way. It's achievable.

My go-to example is our PowerFlex 525 AOI.
  • its functions are specific to the drive
  • it doesn't assume it will be provided anything but RunFwd/RunRev/JogFwd/JogRev/Stop and reference frequency in terms of hertz
  • provide status indication and control through Class 1 comms
  • configure/maintain key parameters through Class 3 comms
  • provide indication and control of its embedded IO block
  • provide an interlock interface
  • runs in standalone fashion, but adoptable as part of more complex control without demanding more of its core functions

At the end of the day it moves its attached motor.
 
Last edited:
I agree. Without the perks of object-oriented programming and inheritance and such in Logix, "truly flexible" code means code that handles an atomic function in an agnostic way. It's achievable.

My go-to example is our PowerFlex 525 AOI.
  • its functions are specific to the drive
  • it doesn't assume it will be provided anything but RunFwd/RunRev/JogFwd/JogRev/Stop and reference frequency in terms of hertz
  • provide status indication and control through Class 1 comms
  • configure/maintain key parameters through Class 3 comms
  • provide indication and control of its embedded IO block
  • provide an interlock interface
  • runs in standalone fashion, but adoptable as part of more complex control without demanding more of its core functions

At the end of the day it moves its attached motor.

I agree w/ most all posts above. And, controlling hz w/ analog outputs would be much quicker.
 
I would see it possible to be selling a framework kinda sw that would make it simpler to build advanced sw for a machine, but that is not an easy task to do in the first place and then that also would mean that the framework needs to be taught in some form.

But just blocks, no. Usually even the process automation libraries that cost something are coming from the automation platform manufacturer (siemens, rockwell etc.).
 
It is interesting, one major customer I did work for over 20 years produced standard code this encompassed many functions i.e. if it moves send it to higher level system (Ethernet to their main system), coms for many different interfaces, standard software framework for process control plus many others, the guy who spent years perfecting this was an ex Siemens engineer & there was no doubt his ability was second to none, the "Standard" blocks were supplied to their suppliers but documentation was lacking, I was lucky enough to spend time with this guy at their head offices so had a head start. I used it on a number of projects & found it very easy once I knew what it all did, I came across a number of other suppliers who had put in the blocks of code but what they had done was wrote their own framework & just mimicked the way the original supplied functions worked, so we found only one other supplier had actually used it, all the others just put the blocks in, manipulated the bits & use the communications to send the data up to the MIS systems.
One problem was that after loading all this standard software there was little room left for the supplier to do the required coding, indeed one system there was not enough memory left if a modified block was downloaded, so the only way was to stop the PLC, delete the blocks to be downloaded then compress, then download. what a pain.
So if you are to produce standard functions for others to use make sure your documentation is useable by others.
 
@ganutenator, there was a post above about finding the market/customers.
This requires marketing. The problem with the PLC industry is that it is so fragmented.


Also, the "locked" code would need to be something that can't be duplicated easily with a little effort.

That was a very good point. I forgot about that one.
So, there are plenty of reasons supplied by this group for reasons not to do it.
Are there any reasons TO DO it?

1) It could help others.
2) Other computer programmers share ****
3) Get off my lazy ***.
4) It could help me?

summary:
Is the juice worth the squeeze?

probably

hints on how to do this?

research 3S codesys site?
 
Mitsubishi does it, and it's called Monozukuri. Complete solutions for converting, web tension control, flow packagint etc. It is sold per unit, and you have to use their PLCs, servos, VFDs, HMIs with it.
I would buy it for single machine as it is tested, well documented and it is cheaper than my time, but for several machines it is not economical.
 

Similar Topics

We are trying to sell a Pouching machine for medical device cartridges. We no longer need this as we have another machine for pouching. Are...
Replies
0
Views
432
I realize that there is a spot on this forum to sell, but I am wondering where is the best site to sell PLC items. I have bought from Ebay many...
Replies
9
Views
3,270
Is there any place on this board where advertising PLC related equipment for sale is allowed? Thank you.
Replies
5
Views
1,759
Hey all, I just posted some Siemens S7 parts on Ebay, a PLC and a 12" HMI. Just wondering if anyone has had any luck selling used but still...
Replies
5
Views
3,205
Has your plc or vfd lost its magic smoke? Found some good sources on replacement smoke.
Replies
18
Views
4,871
Back
Top Bottom