Open source PLC hardware

While I may not have this entirely correct (I am a controls engineer, not a combustion engineer), my recollection is that naphtha is a difficult liquid fuel - it has low lubricity (compared to distillate or kerosene) and is corrosive. I believe that it was preferable to leave the better fuel in the system while running on gas or when the unit is shutdown. Then, when either changing from gas to liquid or starting up, you begin with the kerosene or distillate, get a stable flame established on the liquid system and then transfer to naphtha.
 
C
Report on progress, or lack of it:^) The original backplane layout with level shifters fails the DFM check. I had staggered holes on 50 mil centers that would make it possible to solder ribbon cable to the board. with the holes at .020" the runs between the holes don't make spacing. So, I decided to drop two 8 pin headers onto the board and jiggle things to hook up to them. This went well until I noticed that I was treating the SMDs as through hole, when there is no actual connection through the board. This is a headache You can't just drop vias on the pins because the min hole size on APC's barebones service is .015". The alternatives are: Reverse the layers with the wiring on top and the ground plane on the backside. This I don't like because you depend too much on the pth. Or you can drop vias for every pin. That's really ugly. Or you can move the chips to the solder side. I think this last is going to be the approach I take. Opinions?

Regards
cww
 
W

William Sturm

Can't you just add some 10 pin thru hole headers?  I don't like the idea of soldering ribbon cables directly to the board.  I also would prefer to see thru hole for connectors because they are mechanically stronger.  Then, of course your via problems go away :)

Bill Sturm
 
C
Sorry for jumping in on this thread, but I'm interested in efforts leading to "Open source PLC Hardware". Can someone direct me to the best location on this forum (or another forum) to get up to speed on what is underway?
 
C
Backplane revision.

Once again, I have not explained as I should. I did solve the problem with spacing with 2 standard 8 pin (2x4) headers. There simply wasn't room for a single longer header. One header has the /reset and SPI signals along with 1.8V from the SBC and ground. These last two are redundant pins. The second has the 8 chip selects. Through hole headers do not solve the SMD problem though. On this board the ground plane is on the component side, no exposed voltage, and 99% of the wiring is on the solder side. These signals are all bussed and need to work opposite the ground plane. Dropping an SMD (TSSOP14 in this case) on the component side gives you pads only on the component side so they would have to go through the board to the actual bus lines on the solder side. Due to the fact that these are tiny devices and added late in the game there isn't enough room for vias that meet fab limits. So the most practical thing to do was move the chips to the solder side. I did this and the board passes the DFM check. Since all the other soldering will be done on the solder side (duh) this presents no problems other than breaking tradition that chips go on top. I'll send the .png. I need to check the hole sizes and that nothing got messed up in the process, but the board should be ready for fab. The new headers use ribbon cable numbering since they will likely be used with ribbon cables. I am not a fan of IDCs and ribbon cable for high reliability gear, but they are easily replaced. The scrambling will be on the SBC end.

C1

1. /Reset
2. SO
3. SI
4. SCK
5. GND
6. GND
7. Low side reference voltage from SBC (VL)
8. Low side reference voltage from SBC (VL)

C2

1. /CS0
2. /CS1
3. /CS2
4. /CS3
5. /CS4
6. /CS5
7. /CS6
8. /CS7

No progress on the funding front.

Regards
cww
 
C
This is it currently, if you use the web version you can follow the thread. Where it is at, is that I have an 8 slot backplane, 16 input DC sinking card, DC output cards in sinking and sourcing and a 16 DC input card that is isolated and can be strapped either sinking or sourcing in groups of 4. The boards are ready to be fabricated. The backplane interfaces to the SBC of your choice with a SPI bus. 8 chip selects are needed, can be GPIO. Bill has some of the pics on his website. My intent is to have a Linux based PLC, but the hardware could be used with any setup that can communicate with SPI. Fab, build, and test are awaiting funds (I'm unemployed). Once working, I will release the PCB files, gerbers, schematics, BOM, etc. under an Open License. Boards may be available from me or others, but can be fabbed locally.

Regards
cww
 
C
Hi All

BeagleBoard.org has a contest for projects using the BB. If your project is approved, they provide a BeagleBoard to help get the project going. They award two every week on Friday. Maybe this is interesting enough to get some help.

Otherwise not much is going on. The boards are ready to go to fab and the packaging can wait for hardware. Getting a BeagleBoard would let me get started on the drivers and software. My tentative endpoint is to get the hardware and drivers working and port the small PLC program in C and ncurses that I published here long ago. That would be enough to show how to use the hardware.

Regards
cww
 
The BeagleBoard contest sounds like a good idea. As well as getting you a free BeagleBoard, it will provide publicity for the project by bringing it to the awareness of people who encounter it via the BeagleBoard.

I just had a look at the BeagleBoard web site, and I see that you've registered the "BeaglePLC" project there on Monday. I'm not sure however that someone will understand your project from the description you have given unless they are already familiar with the project. In fact, I'm not sure I understand the scope of the BeaglePLC project. You might want to re-word that, I'm sure we could provide some suggestions if you are interested.

You also said earlier that you had investigated using Sourceforge to host the project. I would suggest that you register it, put up preliminary files for download, set up the project web site, etc. That will let you link the BeaglePLC listing to the project web site home page which in turn will help a lot with explaining the project and in making it look more serious (which should help with the BeagleBoard contest). I can help with the project web site if you need help with that.

Before you can register the project you will need a name. It should be something that will show up on Google pretty easily ("Open PLC Hardware" won't do well in that respect). Have you thought about this?
 
C
I have registered with SourceForge, but haven't done anything with it, as I don't have anything yet:^). I can see releasing alpha or beta code, but I don't think I want to release hardware without building and testing it. If you download something free and it doesn't compile or segfaults, that's one thing, but if you build boards and buy components and a BB, etc. and it doesn't work, I think you would have justification to be a bit more irate. It is extremely frustrating to me to be hung up on the filthy lucre to get it done, but it's hard to attract sponsors for something you plan on giving away. I even played a bit with SeaMonkey and started a web page with pictures and descriptions, but the cheap hosting outfits want 6 months or a year in advance to be cheap, and I can't mail that away right now. I could drop a PayPal donation box on it though ":^). Just keeping the effort alive is hard and I don't think tax time is going to help. The good part is that I have the time sinks done, so if I get a job, I can still proceed. And I was going to start accumulating the parts, little by little, but the shipping eats you alive that way. Everyone can feel free to send suggestions on the project description. I've been deep in the techie end and while the folks playing with BeagleBoards seem pretty deep there also, anything to help people understand what it's about would help. I guess my world view has become fairly narrow:^).

Regards
cww
 
I found your project page on Sourceforge. As for the cost of a web site, Sourceforge gives you free web hosting (for static pages) with the project. Right now your project just has the default web page up.

If you replaced the default page with your own, then you could link your BeagleBoard.org description to that so that people who find it via the BeagleBoard site could get more information about it. As it is, the only way that anyone can find out about this project is to find this thread on Control.com and try to follow the discussion.

My own project web site on Sourceforge has over 1000 files totalling about 20 - 25 MB in size. Anything that anyone wants to know about it is right there.

As I said before, if you want help with the web site, let me know.
 
C
Part of the reason for a separate site would be to offer boards, which might upset SF, but it would probably do for now. I need to dig through how to do stuff on SF, I may take you up on that kind offer.

Regards
cww
 
C
Hi All

Trying amid many other non related issues to keep things moving, at least a little. Dug back in the archives and pulled out the Demo PLC code that I wrote years ago. I guess I shouldn't really refer to it as a demo, it was code written to do a specific job. It was the go between for three robots and a machine vision fixture. But anyway, I was curious if the changes to Linux would require changes to get it to run on the hardware. It was originally written in two parts, one was to run the hardware, which was a ComputerBoards DIO48 card with the level translators I built, and the second part which was to display the registers and allow modification, forcing, if you will, for testing and monitoring. I don't have a DIO card and that would be replaced with the SPI code anyway, but I did check out the display portion. It mmaps /dev/kmem in an area declared outside the Linux memory management. To use it, I give the Linux kernel a boot argument that limits the memory to 1M less than what is in the machine and this gives an area that is safe from conflict. Once I adjusted the addresses to the much larger memory on this machine and remembered what the compile options were, it came right up and ran overnight with no errors or leaks.

Since I still don't have any hardware, I will write an emulator to modify the shared memory to make sure it really works. The original reason for this mapping was that mapped this way, the memory is accessible to a RTLinux task and thus could work around delays, etc. I'm not sure this is important anymore, and it raises some security issues, but it works. The display app is tiny by today's standards and uses ncurses on the console or a terminal emulator. If Angstrom includes ncurses, it should fit just fine on an embedded host.

I have been a little disappointed on the BeagleBoard contest front, it seems there has been no action since I added the project. Not wanting to jinx it, I have been reluctant to ask what the deal is, after all, they are giving the hardware away. I could really use for something to happen to keep the momentum up.

Regards
cww
 
Have a look at this: http://lwn.net/Kernel/LDD3/

Linux Device Drivers, Third Edition. It's a free download and the authors are well known kernel developers.

The following is a summary of SPI driver development:
http://www.mjmwired.net/kernel/Documentation/spi/spi-summary
It does mention that there is support for user space SPI drivers, but it doesn't go into details (it's just a summary).

Wouldn't the Beagleboard come with SPI drivers and wouldn't there be an "official" way of accessing it? For example, I've got a "/sys/bus/spi" directory (but no SPI devices however).

As for the contest, they say they give away 2 boards every week. However, not all the details for your project are filled out on the contest wiki. The "beagleboard.org project" and the "homepage" are still "TBD".

I would suggest filling out the details, and PUT UP A HOME PAGE SOMEWHERE. As far as most people are concerned these days, if it doesn't have a web page, it doesn't exist. You have to explain the project to people who don't know what a PLC is. They're not going to give you a free board if they can't figure out what you are trying to do. If you need help with the web page, let me know.

You've registered a Sourceforge project, so you have a free host for static pages. That would be the home page for *the project itself*. If you decide you need a more elaborate web site later (e.g. so people could order boards, etc.), then you can point the home page somewhere else later, link to it, or whatever makes sense at the time.

The Beagleboard site has a mailing list. Subscribe to it and participate in some of the discussions. They've got an IRC channel. Log into there sometimes and get to know some of the people. Take the questions you've just posted here and discuss them there. Find out who knows what they are talking about, and ask them about your application. Look like you're an active community member.

P.S. It looks like someone else is working on a Beagleboard based PLC as well. See PupLC for details.
 
C
Hi Michael

> Have a look at this: http://lwn.net/Kernel/LDD3/

> Linux Device Drivers, Third Edition. It's a free download and the authors are well known kernel developers. <

I have Russini's book around here someplace.

> The following is a summary of SPI driver development:
> http://www.mjmwired.net/kernel/Documentation/spi/spi-summary
> It does mention that there is support for user space SPI drivers, but it doesn't go into details (it's just a summary). <

Yes, there is a spidev userspace driver. And a kernel space driver. And I've got examples. Just waiting on hardware. That's what's so frustrating.

> Wouldn't the Beagleboard come with SPI drivers and wouldn't there be an "official" way of accessing it? For example, I've got a "/sys/bus/spi" directory (but no SPI devices however). <

Well, kinda. There are issues on how to get the muxed pins set up right for SPI and some churn because new versions are coming fast and furious. But, I can see that it's all doable. Most of it's noise until you actually do it and get in the zone. Hard to do until you've got a target.

> As for the contest, they say they give away 2 boards every week. However, not all the details for your project are filled out on the contest wiki. The "beagleboard.org project" and the "homepage" are still "TBD".
>
> I would suggest filling out the details, and PUT UP A HOME PAGE SOMEWHERE. ----- snip ---
If you need help with the web page, let me know. <

I'll have to figure out how to show you what I've got. I'm not a web monkey, but I've got a start.

> You've registered a Sourceforge project, so you have a free host for static pages. That would be the home page for *the project itself*. If you decide you need a more elaborate web site later (e.g. so people could order boards, etc.), then you can point the home page somewhere else later, link to it, or whatever makes sense at the time. <

Yeah I can start working on that again.

> The Beagleboard site has a mailing list. Subscribe to it and participate in some of the discussions. They've got an IRC channel. Log into there sometimes and get to know some of the people. Take the questions you've just posted here and discuss them there. Find out who knows what they are talking about, and ask them about your application. Look like you're an active community member. <

I'm on the mailing list. I don't do IRC, but I suppose I can learn:^). The problem is I'm just a wannabe and don't have much to talk about yet.

> P.S. It looks like someone else is working on a Beagleboard based PLC as well. See PupLC for details. <

If it's the one I saw, he's more at interfacing the BB with PLCs that is, more like SCADA. But I should drop him a line. You have to remember, I don't "get" social networking :^) Just like I've been invited to get "Linked In". OK, so now what? I guess what I've been doing is close to blogging, but I'm not much on idle chit chat. Lately I've been burning a lot of time on job hunting but I don't want to let the project slide. More at home with C than HTML. I guess I'll have to reinvent myself _again_:^).

Regards
cww
 
CWW:
>I'll have to figure out how to show you
>what I've got. I'm not a web monkey, but
>I've got a start.

Send me a private message via the Sourceforge accounts, or else just download one of my MBLogic packages and look in the source code copyright headers for the e-mail address. I have a dedicated e-mail account set up for open source projects. I don't want to post it here because it would get spammed to death.

>OK, so now what? I guess what I've been
>doing is close to blogging, but I'm not
>much on idle chit chat. Lately I've been
>burning a lot of time on job hunting but
>I don't want to let the project slide.
>More at home with C than HTML. I guess
>I'll have to reinvent myself
>_again_:^).

If you're running an open source project you have to be prepared to do "management work". It may not be as much fun as writing code (or designing circuits), but it's part of the job you take on.

As for HTML, it's not hard once you get the basic ideas. I'm not an artist, but I can make a passable web page using proper modern techniques. I think it's an essential skill these days, so it's well worth learning for its own sake. I'm willing to explain whatever I do, so if I help you with the page(s), you will understand exactly what I did and why I did it that way.
 
C
Not much happening, but for a good reason. After a year and a month of sending resumes to the dead letter office, this week I got 3 calls. Went to one interview. I have a phone interview Wednesday and I was asked to show up for testing tomorrow. I may skip that as the outfits that do the testing are scamming. Aptitude, OK. Ability, Ok. General knowledge, OK. Personality profiling or psychological testing, not OK. The relevant stuff would be fine if they post the results in public and hire by those results. Otherwise, it's just a scam to legitimize discrimination. As long as nobody sees the results, you can reject anybody by telling them they didn't meet the criteria, with no recourse.

And you're free to use any criteria if it's challenged. I won't play. If you ask to see the results, they hang up. It's a scam. Don't play. But anyways, that's what's holding up progress. If I get a job I can probably afford to fab the cards and move it along. No progress noted on the BeagleBoard Contest. I wonder if it's dead.

Regards
cww
 
Top