Windows WF for industrial automation
I'm learning WF while envisioning a system that I'm developing for industrial automation. The physical process IS a workflow. For example, the process involves controlling a 6-dof robot to pickup a mechanical part and put it through a series of work stations. Some workstations involve testing and that can fail, so the workflow becomes more interesting.
While it is cl开发者_C百科ear that WF fits the bill, what it is not clear is if there are any advantages using it instead of implementing my own state machine.
In general I agree with Teoman that WF4 is a good fit for long running business processes although that is by no means the only place where WF4 is applicable.
It is perfectly possible, and I have done so in the past, to automate industrial processes. One thing to keep in mind is the performance bit. It is not that activities execute much slower than regular C# code the problem is in the asynchronous execution nature. You never execute an activity directly, instead you ask the internal workflow scheduler to do so for you. Most of the time, depends on your hosting options, this is done on a worker thread and if the machine is busy that could take a bit of time but at any time is non deterministic. The industrial process I was involved in was not that fast and was a monitoring system that didn't actually control the process to the slight lag was not a problem.
You should try out the Windows Workflow Foundation (WF4) - Introduction to State Machine Hands On Lab and see what you think. We designed WF for this type of thing and there are others who have built systems like your with it.
精彩评论