Parallel Processing PLCs

XCore Project reviews, ideas, videos and proposals.
User avatar
franksanderdo
Experienced Member
Posts: 69
Joined: Sat Apr 30, 2011 6:19 pm

Parallel Processing PLCs

Post by franksanderdo »

Hi Folks,

next to the very interesting Hologram project I have joined, I will start to investigate feasibility to design a PLC around XCores. In fact only for this (old) Idea I have started reading into the XCores.

Being PLC Engineer for 20 Years+ I haven't seen to many real changes in PLCs Hardware during that time.
There was a Project about 20 years ago (is it already that long???) using Transputers. I liked the Idea of parallel Processing at that time and I want to start working on some thing similar again.

There is nothing really prepared yet. just some wild Ideas:

- Each PLC Module has it's own I/O and Processor.
- Modules can be combined as needed.
- Modules communicate via XMos Links.
- Communication should be possible via FOC to allow Modules to be placed in field.
- Programming must be possible according to IEC 61131 (here might be some add ons required)

I know it is totally crazy to start such a project without any company support. 8-)
Well, maybe this craziness is what pushes innovation ;)
In any case I will try to put some more details together as I learn every day more about XCores.

If any body want's to join me, please do.
If any body want's to warn me, please do. Only be aware I might use the warning to push the project forward :D

One little warning from my site:
As I do not have academic background and I am not english native speaker (I guess most of you realised that already ;) ) You will find me asking for explanation on some wordings and terminology. Please be patient with an aging freak :?

See you around
Frank


User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm

Post by Folknology »

Excellent Idea Frank

I have thought for some time that Xmos/PLC would be a match made in heaven. Clearly if you have experience in the PLC industry this would be an excellent project.

One key area that you would need to work on would be Xmos Links over optical, some work has already been done at low data rates using Audio optical interlinks for example, I am sure those involved will make themselves known.

regards
Al
User avatar
TonyD
XCore Addict
Posts: 234
Joined: Thu Dec 10, 2009 11:11 pm
Location: Newcastle, UK

Post by TonyD »

Great idea.

I did a simple PLC design last year, when I was asked to put together a design (no LCD and only one serial) for a contract proposal but the main contractor didn't get the job. I used a Arduino for quickness, I'll update the design when the L48 Module becomes available.

The original schematics on my blog.
User avatar
Berni
Respected Member
Posts: 363
Joined: Thu Dec 10, 2009 10:17 pm

Post by Berni »

Why didn't XMOS advertise its use in PLCs the multiple threads should work great for this. Good idea you got there
User avatar
franksanderdo
Experienced Member
Posts: 69
Joined: Sat Apr 30, 2011 6:19 pm

Post by franksanderdo »

Hi folks,

Please do not get it wrong if I answer the last response first.
It is just the one shown first when in edit mode ;)

@Berni:
There are several reasons why XMOS did not. The first most probable is: They did not think about PLCs
Let me be straight here: I believe what ever some body like me invents will not really go to the market.
The very few Companies (Siemens, Allan Bradley, AEG and maybe Hima) do very much control the market.
After that there are some companies with PLCs for special applications. For those XMOS might be interesting but to expensive as this would be a long design and testing time.
Even though (or because of this :D ) I believe it is time for changes and I am crazy enough to try starting them :P
Maybe in some month time XMOS will add PLCs as possible market with a small sample design :)

@Toni
Nice one, now imagine that with some minor modifications:
Each I/O Board contains 32(just a number at the moment) Ins or Outs AND one CPU.
As a result you can't overload the CPU with handling I/O and the resulting logic. Further you extend with each Board the amount of possible "Networks" (Sorry we PLC freaks still think in logical networks).
The most difficult thing in the whole design we be the IEC61131 programming IDE and how to get this translated in XCore code. My biggest challenge: How to handle the amount of possible CPUs.

@Folknology
When I first time looked on the Datasheets of the XCores, I said the same. Compared to transputer the XCore has a much better (for PLC use) I/O Interface. Those beasts are just perfect.
Thanks for the advice about the FOC. As soon as Paul has explained me the search function in the forum I will search it ;)
As I understood you have worked already on automatic thread distribution!? I have done there some work 20 years ago on transputer but honestly I would be most happy if I could get help some help (as soon as I have my development kit and learned a bit more about XC).
OT here, but just in case you are still interested learning occam (you said that some time ago) I can send you all needed documentation. Could even send you my development kit, but I am not sure if the disks (good old 5 1/4") still contain any data :mrgreen:

@all
Up to now the Idea is only a chaotic bunch of notes on a peace of paper. On 1. June I will get my XC1A and start playing with it. XK1A is ordered as well, but digikey does not have stock. When this will arrive? I don't know.
I will be most happy if I can add some more notes on my paper before I start sorting it :P

See you around
Frank
User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm

Post by Folknology »

Thanks for the advice about the FOC. As soon as Paul has explained me the search function in the forum I will search it
It may of been here it could equally have been on IRC that it was mentioned.
As I understood you have worked already on automatic thread distribution!? I have done there some work 20 years ago on transputer but honestly I would be most happy if I could get help some help (as soon as I have my development kit and learned a bit more about XC).
OT here, but just in case you are still interested learning occam (you said that some time ago) I can send you all needed documentation. Could even send you my development kit, but I am not sure if the disks (good old 5 1/4") still contain any data
As for threads its the Stack issue that are the sticking point right now, not quite sure how to resolve that yet.
As for Occam, I would love to see Kent port that over to XS1, it would be nice to have a proper CSP language available. Xmos are you talking to the Kent group re this seems its been talked about for ages but I see no action?
Maybe Kent need some sort of incentive? The fact that they have it running on Arduino but not XS1 is a bit embarrassing albeit a kind of virtual machine.

regards
Al
vanjast
Member++
Posts: 30
Joined: Sat Jan 16, 2010 9:57 pm

Post by vanjast »

Frank... I think you have to look at the REALLY big SCADA picture where xmos goodies will fit in.

Xmos will most probably find niches in the motor (high) speed control, and real time vibrational analysis (etc..).
It certainly can do the slower control systems...

I see the main problem (time to implementation) with regard to protocol (hard and soft) adaptation.
Not impossible, but one must approach this project 'broad base', and look at a pilot project for promotional purposes.

I can get excited about this
:D
DanB
Experienced Member
Posts: 118
Joined: Fri Jan 28, 2011 1:13 am

Post by DanB »

vanjast wrote: I can get excited about this
:D
From my point of view that's exactly what XMOS is about though! It offers something 'different' (I do not wish to define this as we've had many threads on here regarding what it is that makes XMOS different and how it should be marketed accordingly)... None the less, it is the fact that the majority of projects can be tackled using XMOS which is very exciting... We could also use conventional chips (which must exist for they are used in industry) but doing something different is *fun*! Variety is the spice of life.

On this note, XMOS seems an excellent choice for PLCs. I can imagine this is something that many have looked at, though even if not documented I think it's worth a try starting from scratch and sharing for others. This is what XMOS is about... Let us all learn and evolve together!
User avatar
franksanderdo
Experienced Member
Posts: 69
Joined: Sat Apr 30, 2011 6:19 pm

Post by franksanderdo »

Hi vanjast
Hi DanB

I am already excited ;)

just to add some examples to your list vanjast:
Redundancy Systems, intelligent remote control, positioning control, surge surpression...

Both of you have made the point:
Some body has to be crazy enough start it! :lol:
It will not be done in a couple of months and it might never get to the market.
Still: If we do not try, the "might" gets a "will" ;)

Now, getting back from excitement to the real world:
The basic Ideas and a kind of roadmap is getting together.
I am going to finish my actual construction project during june and will be "jobless" for some time after.
The last delivery from digikey with the XK1A kit just left them and will arrive the next days.

I will have to learn a lot about the XCores and I want to produce some plans, how and were to start.
To be able to document all this I will have to learn also about the wiki system here.
The project will be fully open source and can be used by every body.

thanks to all of you for the input so far, please do not stop ;)

See you around
Frank
User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am

Post by infiniteimprobability »

Interesting discussion. Concurrent process automation and deterministic, hardware multi-threaded scalable processors with time-aware IO are certainly a match made in heaven. :D

One area which would be interesting to get feedback is that of communications. PLCs usually require robust and standardised communication to work with the rest of system (especially when connecting to legacy equipment).

Adding something like RS485 with a protocol layer is fairly straightforward but the full list of fieldbusses is somewhat daunting: http://en.wikipedia.org/wiki/List_of_au ... _protocols :shock:

franksanderdo and all - do you which are the important ones to support? Hopefully there is an 80:20 rule!