Hi,
I just found Factory IO yesterday. Looks nice.
However I’m not sure it covers my needs. I develop and maintain a largish Warehouse Control System. We adapt it heavily for each project - if needed.
It all depends on how the site looks like of course.
A very common scenario is that we are faced with one or two conveyor systems - pallets or totes -and some kind of storage system - like cranes or shuttles.
The problem is that is is very often a (to us) new vendor delivering the hardware. And almost all vendors are
thinking that their communicating protocol is the best there is.
So - adapting to new communication protocols are something we need to do in almost all projects.
Usually it is socket-based. Some kind of byte-array or text-string is exchanged,
with fields containing different data. Like assignment-id, from-location, to-location, loadcarriertype, height, weight, sizes, barcodes…
we’ve seen one with JSON, and another with XML. sometimes 1 socket , sometimes 2.
So for conveyor a telegram sequence like this is common
Pallet is introduce at an id-station
PLC sends a format telegram containing
- location
- barcode
- sizes
- errors (too wide/ bad runners etc)
WCS thinks bit and then replies with an Transport order with
- an assignment-id
- from-location
- to-location
The conveyor system now moves the pallet towards the destination.
Once it has arrives it will send an Assignment completed tgm
- assignment-id
- location
- Error-code
If this is not the final destination, the WCS does some routing calculation,
and sends a new Transport order, and waits for a new assignment completed
This can span over large areas, so the transport start in PLC 1 and passes
over the area PLC 2 and PLC 3 covers and ends up at PLC4.
for inbound transports, the pallet usually eventually is picked up by a crane.
The telegrams looks different, and it may be another vendor. But same priciples applies.
So I am after an emulation program that I can
- draw the site into a model. 2d or 3d does not matter.
- I like to communicate with the model - by sending
data in the way that will be used on site.
I like to send the site-specific telegrams mentioned above.
The model then needs some logic to - understand the telegrams
- carry out the commands in the telegrams
- report back after movement.
This is done in PLC on site, but I want to be able to have that logic within the model.
Now - I don’t see that here, I see ‘connect the PLC to the model’
But we are not PLC-programmers. We just talk to PLCs we have no clue of programming them.
I can see that we need to create som middle-ware to have this chaing
WCS ↔ site cnv-protocol ↔ middle-ware ↔ model-protocol ↔ Model
where model-protocol would be generic like
- MOVETO
- REPORT-MOVE
and for cranes
- PICKUP
- REPORT-PICK
- DEPOSIT
- REPORT-DEPOSIT
- REPORT-STATUS
Has anyone done this ?
is it possible? Or do we have to draw a full conveyor system that
moves pallets only by turning on Motors and reading sensors?
Or is this not the right tool?
What I am after is something that I can draw fairly fast. I does NOT need to be exact as the drawing. The logical message exchanges is what is important.
The way the PLC turns on/off motors are of no real interest here.
/Björn

