473,561 Members | 3,602 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Process Control Help



I'm attempting to start some process control using Python. I've have
quite a bit of literature on networking, and have made some tinkering
servers and clients for different protocols HTTP, FTP, etc... But now
it's time for the murky web of industrial protocol. I'm looking to
start with IO and servo controls via Ethernet.

Questions:

Is there an existing forum on this already?
What protocols are the most python friendly? i.e. are transparent
enough that i can create my own python driver. (or do these drivers
exist?)
What ethernet accesible servo and IO industrial devices have people
had success with?

Jul 27 '07 #1
7 1518
<ty*****@jeld-wen.comwrote:
>

I'm attempting to start some process control using Python. I've have
quite a bit of literature on networking, and have made some tinkering
servers and clients for different protocols HTTP, FTP, etc... But now
it's time for the murky web of industrial protocol. I'm looking to
start with IO and servo controls via Ethernet.

Questions:

Is there an existing forum on this already?
What protocols are the most python friendly? i.e. are transparent
enough that i can create my own python driver. (or do these drivers
exist?)
What ethernet accesible servo and IO industrial devices have people
had success with?
What is it that you are trying to do?
Some of the commercial devices come with their own software, and
you may not need python or anything else.
A lot of the industrial connectivity is still RS-485 or RS-422 and not
Ethernet based - although some of the protocols, have, I think, been ported.

If you say more, then someone can maybe help you, as there are quite a few
people on this group who seem to dabble in process control.

- Hendrik
Jul 28 '07 #2
On Jul 28, 1:40 am, "Hendrik van Rooyen" <m...@microcorp .co.zawrote:
<tyle...@jeld-wen.comwrote:
I'm attempting to start some process control using Python. I've have
quite a bit of literature on networking, and have made some tinkering
servers and clients for different protocols HTTP, FTP, etc... But now
it's time for the murky web of industrial protocol. I'm looking to
start with IO and servo controls via Ethernet.
Questions:
Is there an existing forum on this already?
What protocols are the most python friendly? i.e. are transparent
enough that i can create my own python driver. (or do these drivers
exist?)
What ethernet accesible servo and IO industrial devices have people
had success with?

What is it that you are trying to do?
Some of the commercial devices come with their own software, and
you may not need python or anything else.
A lot of the industrial connectivity is still RS-485 or RS-422 and not
Ethernet based - although some of the protocols, have, I think, been ported.

If you say more, then someone can maybe help you, as there are quite a few
people on this group who seem to dabble in process control.

- Hendrik- Hide quoted text -

- Show quoted text

We're looking to run some industrial machinery from a PC. Starting
with some basic servo controls and IO port reading for something like
an XYZ table (just X would be a good start!). Now there is some
existing software out there for PC control but this software is, to my
understanding, largely unnecessary and "black box". This "black box"
creates a problem when trying to e.g. control servos and IO with the
same program. And if we want to include an HMI like a touchscreen, or
export the machinery's production into a RSS feed, the web of software
becomes messy and slow. If we could consolidate this software into a
single, non "black-box" package, we could see significant improvements
in development time. Having to program 3 different devices with three
different languages to control your PLC, Servos, and module X is the
status quo we face, but it is quite frustrating and limited. Soo....
I need to find some ethernet friendly IO, serial would be fine but but
it's a leash in many instances. I know some protocols have been
ported to ethernet, but I am having extreme difficulty figuring out
what these protocols entail. ModBus/TCP is the one I'd like to
choose. I know that people have done this kind of software but it
seems that industrial python remains a bit taboo because of
proprietary issues...

Ty

Jul 30 '07 #3
Walt Leipold <le*****@ace-net.comwrites:
The first time you see twenty tons of machinery move
unexpectedly because you inadvertently changed one bit in memory, you
become very conservative about your software platform.
+1 QOTW
Jul 31 '07 #4

"Walt Leipold" <lei...e-net.comwrote:

8<--------------- summary of state of the art -------------
(Wow, that was a depressing post to write.)
Cheer up! - The end is nigh!

Warning:
The rest of this post is barely on topic for python,
and contains some shameless self advertising. Its
probably bad for your health too.

I have just spent considerable time developing some stuff.

I call it SDCL - simple distributed control language

Its a simple scripting language, that is interpreted.

The HMI bits are python, the "compiler" is python,
the simulator is python, the interpreter in the PC is
python. What is not python is the interpreter in the
PLC - that is a mix of Assembler and C, for speed.

You can run the code either in the PC, or in the PLC,
or as a mix of both - obviously fast stuff needs to run
in the real hardware, but a lot of the control, checking
and sequencing functions fall naturally into the PC.
With the PC logging, you get ISO 900x almost
automatically, as any change to a variable that lives in
the PC is logged.

The language is still a bit "brain dead" - it implements a
virtual Reverse Polish Notation stack machine and reads
like assembler, with less than 40 instructions to learn.

A real compiler is planned for some unspecified future time.

The first app is an injection moulding machine, and it has
been working for some months now, with crude animation
of the machine's motions on screen, and everything from
star-delta timing to thermocouple heating inputs and control,
as well as screw position and injection pressure sensing on
the PLC.

There are just over 3000 instructions in the sequence to
control this machine, and the "address space" is 64k of
instructions - so it is aimed at fairly serious control.

Unfortunately at this stage the "PLC" is Microcorp proprietary.

But the whole thing is aimed at simplifying the problem of
putting voltages on wires and reporting the results to a PC.

I intend to open the spec as soon as I am satisfied that there
are no fearsome dragons left lurking in the code or the design.

- Hendrik
Aug 1 '07 #5
In article <11************ *********@e9g20 00prf.googlegro ups.com>,
<ty*****@jeld-wen.comwrote:
>

I'm attempting to start some process control using Python. I've have
Aug 13 '07 #6
In article <11************ **********@x40g 2000prg.googleg roups.com>,
Azazello <ty*****@jeld-wen.comwrote:
>On Jul 31, 12:45 pm, Walt Leipold <leip...@ace-net.comwrote:
Aug 13 '07 #7
In article <he************ @lairds.us>, I mused:
>In article <11************ **********@x40g 2000prg.googleg roups.com>,
Azazello <ty*****@jeld-wen.comwrote:
>>On Jul 31, 12:45 pm, Walt Leipold <leip...@ace-net.comwrote:
.
.
.
>>It has nothing to do with 'proprietary issues'. A lot of it has to do
with the perception of support -- who will support Python and custom
Python code if my plant shuts down? Who will train my developers and
operators? Who can I sue? The rest of it is because of the way the
.
.
.
>>Yes, it's a shame that you have to buy three packages to perform three
functions, and then buy other 3rd-party packages to tie them together.
Yes, it's a shame that industrial software is expensive, and
proprietary , and Windows-only, and generally has a brain-dead scripting
language (when it has any scriptability at all). Still, as much as it
galls me to say it, if your company's primary business isn't writing
industrial automation software, don't write industrial automation
software.
.
.
.
>>* Unless you're a hobbyist, if you want to do data acquisition or i/o,
purchase an i/o server for your particular bus/instrumentation from a
major manufacturer. You *can* write your own i/o server, especially for
simple protocols like Modbus, but the commercial versions have been
tested more exhaustively than you can manage. Also, the most common
protocol these days is OPC, which isn't a protocol at all in the
conventiona l sense -- it's a set of APIs to a Windows DLL, with the
wire-level details completely opaque -- so you'd have to buy a library
for that anyway.
Aug 13 '07 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
2586
by: Peter Åstrand | last post by:
There's a new PEP available: PEP 324: popen5 - New POSIX process module A copy is included below. Comments are appreciated. ---- PEP: 324 Title: popen5 - New POSIX process module
12
2899
by: serge calderara | last post by:
Dear all, I have an application which is suppose to start another executable process. As soon as that process is running, I need to retrive its handle. The problem of the particular process I am starting is that it has a welcome window first which gets displayed and then the real windows after a while,in other words it means that the...
77
4520
by: Charles Law | last post by:
Hi guys I have a time critical process, running on a worker thread. By "time critical", I mean that certain parts of the process must be completed in a specific time frame. The time when the process starts is not especially important, but it must be complete within a small number of seconds. The operations I am performing do not take a...
7
5066
by: Devron Blatchford | last post by:
Hi there, I am trying to develop a small menu application to run on an RF network, we are using a wavelink server to communicate with our rf scanners and run VB.NET applications on our server that repond to the scanner requests. I would like to know if there is a way that I can spawn a process on the server and attach it to the current...
12
2355
by: Raymond Lewallen | last post by:
How to wait for a process to stop completion is my goal. Obviously, the looping while waiting for the HasExited property is not a solution.. but thats the best I can come up off the top of my head. Natuarally it will not work. I expect it to use up all resources looping, which will not allow the process to complete. The process takes about...
15
1428
by: jcrouse | last post by:
Here is my code: Dim sw As StreamWriter = File.CreateText(Application.StartupPath & "\mameversion.bat") sw.WriteLine(lblMameExePath.Text & " -help >""" & Application.StartupPath & "\mameversion.txt""") sw.Close()
7
2568
by: MgGuigg | last post by:
Hello all, This is my first time posting a question to this forum, so here is hoping I am following protocol. I am scraping the rust off my old Basic programming skills, and have just recently upgraded to VB.NET, and I have a lot of catching up to do. That being said, I have come a long way in a short while, however, I am stumped at the...
0
820
by: geet114 | last post by:
Hi, With the help of google and bytes I am able to launch(invoke) the commands(like dos commands), But the problem does end there, now I need launch(invoke) the command something like telnet in command prompt then I should be able to get control of the that process(which is launched) and then execute the respective commands(commands of that...
0
7647
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
0
7570
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language...
0
7859
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
0
8088
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that...
0
5187
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
0
3617
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in...
0
3600
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
2068
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
0
896
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.