C
Request For Comments:
I had hinted before that a new hardware project was in the works to provide a standard open PLC style platform for PC automation projects that need a home with a PLC form factor and modularity. I, of course, am primarily concerned with the LinuxPLC/MAT stuff, but Open means just that, and the platform should work with other OS's providing someone writes drivers.
This idea hasn't been cooking for long, indeed it's a variation of the first platform which addresses some issues and is much easier to do. I shelved the first project because, while it would work, the number of people who could construct one if desired was quite limited. This is partof my definition of Open. That a standard platform should be able to be constructed by as many sources as possible.
This eliminates lock-in and most of the other evils of proprietary hardware.
I have searched for ways to standardize on a list of requirements, for example, should be as compatible with a PC as possible, should be practical for users to add different modules, should have the widest possible range of options for automation, etc. It should use no parts that are single sourced or not widely available. It should be understandable by anyone who has a hope of contributing or expanding on the idea.
The original concept was to build a backplane with a SOC PC on it and a simple bus for plugin modules. The backplane and the modules are cool and can be done by almost anyone, the SOC part is not. It requires a large investment to be able to handle surface mount components and the processors are single source. The other factor in the death of this idea is that it's not possible for me to actually build one out of pocket. The fieldbus modules are simply not doable by individuals or our OSS project, in most cases requiring big bucks licensing or at best
encumbering our work with patent issues, etc.
So I had that on the back burner till last weekend when Greg from Chiron Consulting mailed me an article about Open IP for integrated
circuits. I'd already seen the article but as we chatted a bit about Open Hardware, a bunch of things clicked together about a way to make a decent system for PC automation with the least amount of reinventing the wheel. I've checked out a few things and it looks pretty good.
System description:
System will consist of a backplane board with a PC104 connector for a CPU of your choice. These are available in many flavors from many
vendors. That way I won't simply design another one for vanity. This has many advantages as PC104 modules stack and are available for various industrial protocols. The cpu can be anything from a 486 to pentium or beyond and can have as many bells and whistles as desired. There are
fairly inexpensive ones for basic functionality.
The PC104 bus is in essence the good old standard ISA bus in 8 and 16 bit versions. Use of the PC104 bus is free and Open and the specs are available for free without any legal BS.
Addresing and accessing IO modules on the PC104 bus would require that each have decoding and address setting jumpers and that would take space and require setup. Instead circuitry on the backplane (glue logic) will look like a single ISA card and do the decoding and and slot selection for 8 slots initially. Each slot will own 4 addresses or 32 bytes with the 8 bit bus. This allows the backplane to be simply an 8 bit bus with slot selects and 2 address lines. This buss will extend to pin headers set at regular intervals for the modules to plug into. The data bus and address lines will be buffered. This arrangement means that a plug in module need only have a register and the optoisolators plus resistors for an input card, adding a driver IC for an output card. 32 bits for each slot means it's easy to have a 16 bit DAC or ADC module with registers for control bits and such. All of this can be well understood and will be well documented so that anyone can add a custom module or special function with tools freely available for Linux. The discrete IO will be very close to that which I designed for the TTL to industrial level translator published earlier. Since I built those for about $3.00 a point, this should accomplish the same price point with optoisolation and .5 amp outputs standard. This will use a single driver that will be about as simple as any driver can be and would also be usable with direct access from almost any language that can read and write from a memory location. I would see to it that there is at least an OSS driver for Linux.
Complex functions like networking are much better handled with modules stacked on the PC104 bus. This means that servo cards and the like
can be serviced at high speed with no fixed relationship to scan time. Many types of PC104 modules are available including some popular
industrial fieldbus protocols thus avoiding the whole IP issue and creating our own standard.
All of this can be accomplished using widely available parts from DigiKey or Jameco or even Radio Shack. By limiting the scope of the project, it can be done on a simple two layer board using the published (GPL) artwork. For those who would prefer not to make their own, bare boards, kits or assembled units could be made available. I may even do this if there is enough interest The cost is low enough for me to build and use in qty one.
The packaging is still a headache. It takes a substantial volume to make tooling costs reasonable for a nice PLC like enclosure. We have a plastic molding house next door and I will make inquiries. Best deal would be if they wanted to make a product out of it and people could buy it directly from them. Because of the regular dimensions, all that is required amounts to a box with card guides that line up with the headers. For the prototype I can build a box out of plexiglas with woodworking tools.
This is my concept for a low cost standard PLC form factor PC automation platform. The elegance and beauty of this approach is that it takes what is already available as commodities and adds only what is special to the automation market and does it in the most accessable, least costly way while maintaining industrial standards in common use.
Regards
cww
_______________________________________________
LinuxPLC mailing list
[email protected] http://lists.linuxplc.org/mailman/listinfo/linuxplc
I had hinted before that a new hardware project was in the works to provide a standard open PLC style platform for PC automation projects that need a home with a PLC form factor and modularity. I, of course, am primarily concerned with the LinuxPLC/MAT stuff, but Open means just that, and the platform should work with other OS's providing someone writes drivers.
This idea hasn't been cooking for long, indeed it's a variation of the first platform which addresses some issues and is much easier to do. I shelved the first project because, while it would work, the number of people who could construct one if desired was quite limited. This is partof my definition of Open. That a standard platform should be able to be constructed by as many sources as possible.
This eliminates lock-in and most of the other evils of proprietary hardware.
I have searched for ways to standardize on a list of requirements, for example, should be as compatible with a PC as possible, should be practical for users to add different modules, should have the widest possible range of options for automation, etc. It should use no parts that are single sourced or not widely available. It should be understandable by anyone who has a hope of contributing or expanding on the idea.
The original concept was to build a backplane with a SOC PC on it and a simple bus for plugin modules. The backplane and the modules are cool and can be done by almost anyone, the SOC part is not. It requires a large investment to be able to handle surface mount components and the processors are single source. The other factor in the death of this idea is that it's not possible for me to actually build one out of pocket. The fieldbus modules are simply not doable by individuals or our OSS project, in most cases requiring big bucks licensing or at best
encumbering our work with patent issues, etc.
So I had that on the back burner till last weekend when Greg from Chiron Consulting mailed me an article about Open IP for integrated
circuits. I'd already seen the article but as we chatted a bit about Open Hardware, a bunch of things clicked together about a way to make a decent system for PC automation with the least amount of reinventing the wheel. I've checked out a few things and it looks pretty good.
System description:
System will consist of a backplane board with a PC104 connector for a CPU of your choice. These are available in many flavors from many
vendors. That way I won't simply design another one for vanity. This has many advantages as PC104 modules stack and are available for various industrial protocols. The cpu can be anything from a 486 to pentium or beyond and can have as many bells and whistles as desired. There are
fairly inexpensive ones for basic functionality.
The PC104 bus is in essence the good old standard ISA bus in 8 and 16 bit versions. Use of the PC104 bus is free and Open and the specs are available for free without any legal BS.
Addresing and accessing IO modules on the PC104 bus would require that each have decoding and address setting jumpers and that would take space and require setup. Instead circuitry on the backplane (glue logic) will look like a single ISA card and do the decoding and and slot selection for 8 slots initially. Each slot will own 4 addresses or 32 bytes with the 8 bit bus. This allows the backplane to be simply an 8 bit bus with slot selects and 2 address lines. This buss will extend to pin headers set at regular intervals for the modules to plug into. The data bus and address lines will be buffered. This arrangement means that a plug in module need only have a register and the optoisolators plus resistors for an input card, adding a driver IC for an output card. 32 bits for each slot means it's easy to have a 16 bit DAC or ADC module with registers for control bits and such. All of this can be well understood and will be well documented so that anyone can add a custom module or special function with tools freely available for Linux. The discrete IO will be very close to that which I designed for the TTL to industrial level translator published earlier. Since I built those for about $3.00 a point, this should accomplish the same price point with optoisolation and .5 amp outputs standard. This will use a single driver that will be about as simple as any driver can be and would also be usable with direct access from almost any language that can read and write from a memory location. I would see to it that there is at least an OSS driver for Linux.
Complex functions like networking are much better handled with modules stacked on the PC104 bus. This means that servo cards and the like
can be serviced at high speed with no fixed relationship to scan time. Many types of PC104 modules are available including some popular
industrial fieldbus protocols thus avoiding the whole IP issue and creating our own standard.
All of this can be accomplished using widely available parts from DigiKey or Jameco or even Radio Shack. By limiting the scope of the project, it can be done on a simple two layer board using the published (GPL) artwork. For those who would prefer not to make their own, bare boards, kits or assembled units could be made available. I may even do this if there is enough interest The cost is low enough for me to build and use in qty one.
The packaging is still a headache. It takes a substantial volume to make tooling costs reasonable for a nice PLC like enclosure. We have a plastic molding house next door and I will make inquiries. Best deal would be if they wanted to make a product out of it and people could buy it directly from them. Because of the regular dimensions, all that is required amounts to a box with card guides that line up with the headers. For the prototype I can build a box out of plexiglas with woodworking tools.
This is my concept for a low cost standard PLC form factor PC automation platform. The elegance and beauty of this approach is that it takes what is already available as commodities and adds only what is special to the automation market and does it in the most accessable, least costly way while maintaining industrial standards in common use.
Regards
cww
_______________________________________________
LinuxPLC mailing list
[email protected] http://lists.linuxplc.org/mailman/listinfo/linuxplc