Project name: artisan
Stage: planning
Licence: GPL
Language: Python
Estimated time: 1 year
The core of the program will rely on the following free available
software:
MinGW-3.4.2.exe: ftp://ftp.trolltech.com/misc/MinGW-3.4.2.exe
python 2.6.2: http://www.python.org/ftp/python/2.6.2/python-2.6.2.msi
pyqt: http://pyqwt.sourceforge.net/support/PyQt-Py2.6-gpl-4.5.4-1.exe
numpy: http://prdownloads.sourceforge.net/numpy/numpy-1.3.0-win32-superpack-python2.6.exe
pyqt4 for python 2.6: http://pyqwt.sourceforge.net/support/PyQt-Py2.6-gpl-4.5.4-1.exe
pyserial for python 2.6:
http://sourceforge.net/projects/pyserial/files/pyserial/2.5/pyserial-2.5-rc1.win32.exe/download
pyqwt: http://prdownloads.sourceforge.net/pyqwt/PyQwt5.2.0-Python2.6-PyQt4.5.4-NumPy1.3.0-1.exe
javacomm: http://www.xpl4java.org/xPL4Java/javacomm.html
Java JDK or JRE: http://java.sun.com/javase/downloads/index.jsp
Anybody interested in participating please contact me at:
zauborg@yah...com
Thanks
On 12月20日, 上午12時55分, Arpi <zaub...@yahoo.com> wrote:
> Hi. I am starting to do a program for roasters controlled by PIDs. It
> will be a fully featured program to display, control, and analyze
> profiles with roasters using the PID Fuji PXG4. It will interface with
> other programs (scientific/engineering/statistical).
>
> Project name: artisan
> Stage: planning
> Licence: GPL
> Language: Python
> Estimated time: 1 year
>
> The core of the program will rely on the following free available
> software:
>
> MinGW-3.4.2.exe:ftp://ftp.trolltech.com/misc/MinGW-3.4.2.exe
> python 2.6.2:http://www.python.org/ftp/python/2.6.2/python-2.6.2.msi
> pyqt:http://pyqwt.sourceforge.net/support/PyQt-Py2.6-gpl-4.5.4-1.exe
> numpy:http://prdownloads.sourceforge.net/numpy/numpy-1.3.0-win32-superpack-...
> pyqt4 for python 2.6:http://pyqwt.sourceforge.net/support/PyQt-Py2.6-gpl-4.5.4-1.exe
> pyserial for python 2.6:http://sourceforge.net/projects/pyserial/files/pyserial/2.5/pyserial-...
> pyqwt:http://prdownloads.sourceforge.net/pyqwt/PyQwt5.2.0-Python2.6-PyQt4.5...
Thanks for your interest. There are several ways to help as very
little has been done. There is no rush for anything either.
The are two parts: PID class (from object oriented programming) and
GUY (object oriented too)
I would like to create a class for the PID that abstracts the
interface. That way, other PIDs could be used in the future (ie. non
Fuji) by just importing a different class. The class can be expanded
and improved by adding methods little by little over time (ie.
different program versions or different support for PIDs). Another
example of the importance of the Class is that several Fuji PXG4 can
be connected together with the modbus protocol (communications part of
the class). And once one class is made, it is easy to use multiple
PIDs. Besides, it will help to kept things organize. So making a Class
for the PID is important.
The other help is with the GUY called Qt. Qt looks like the best, most
powerful option in the long term. Another advantage of Qt is that the
program will work in Window, Linux or Mac. I can make the front end
with Qt Designer which is fast but somewhat limited or I can make it
by hand. The graphics interface is probably the hardest thing to do
because many things can be done (menus, recipes, etc).
Once there is a first release ready, maybe somebody would like to help
with the documentation.
As I am learning myself, I have to read also before I know what I am
doing.
In the short term, I found that the fastest-results book to read is:
Matplotlib for Python Developers:
http://www.amazon.com/Matplotlib-Python-Developers-Sandro-Tosi/dp/1847197906
it has very important examples to do but it does not go deep into Qt.
You'll be able to do graphics in less than a day with this book and
the CommFujiExamplePython2.6 in the Files of this group. It has a very
important example that shows how to do the graph dynamically or plot
several graphs at the same time, etc.
The library called pyqwt has widgets to incorporate roaster knobs,
graphs, thermometers, etc.
Then there is the book called Rapid GUI Programming with Python and
Qt. This is the book for the long term. It will take some time to
master but the sky is the limit. This book will help doing all the
advanced features of the GUY.
Right now nothing has been done yet (learning), and I will not start
again to do anything till next week.
Cheers
Programming language Python 2.6
Serial communication is handled by the pyserial library. The
dependencies (requirements in order to work) for pyserial are:
javacomm library and Java.
GUY libraries:
Main GUY library: pyQt4
library with extra widgets (knobs, thermometers, chats, etc): pyqwt.
The dependency for pyqwt is the numpy library
extra library for fast graphing results: matplotlib
Compiler just in case you want to compile from source python (useful
for advance pyQt4 stuff):
MinGW-3.4.2.exe: ftp://ftp.trolltech.com/misc/MinGW-3.4.2.exe
Then there are several tools to convert the python program into
executable.exe file for windows (make things easier I guess)
BR.
Tommy
The electrical schematic to install the PID is this one:
and this one:
it is a barebone schematic to discourage people with no electrical
skills (danger of high voltages) to try it out.
There is a technical barrier installing a PID in a roaster. Then there
will be another barrier installing the computer software, and another
one developing the software. Installing the PID can be dangerous
because it involves high electrical voltages or mistakes. To some
people it will be easy and to other people it will be difficult. But
there is always some danger of not connecting something right. So the
schematic is only intended for people with previous practical
knowledge about electricity. Installing a PID involves metal box
fabrication, tools accessibility and wiring. So it can be a big effort
and a big barrier in itself.
There are cheaper alternatives to the PXG4. The Fuji PXR3 is half the
price. The commFuji26 program should work with the PXR3 (if bought
with the RS485 option) to read only temperatures, but it will be
different for other advanced commands as they don't have the same
memory map (they would need a different Class for Python).
Most commercial roasters use PIDs to monitor and control phases of the
roast process. Doing so, they gain a commercial advantage over other
people/companies. Though this program will be used in the future with
the small Quest M3 roaster, it could as well be used with big
roasters. A roaster working with only a PID is not very smart. But a
roaster + PID + computer can be very smart. The PID can control some
phases of the roast without supervision from the computer and the
computer would act as the guiding hand at a higher lever. But the
Quest M3 roaster does not need a PID. It already works very well
without one. So the purpose of this software is to explore the
possibilities that the extra help from a PID can offer, as well as to
make the computer interface, which would offer the most advantage. The
computer would be useful for monitor, training, analysis, profile
development, etc, as well as for roast control.
Cheers
BR.
Tommy
On 2009年12月23日, 下午1時34分, Arpi <zaub...@yahoo.com> wrote:
> Hi Tommi.
>
> The electrical schematic to install the PID is this one:
>
> http://questm3.googlegroups.com/web/PIDmodificationQuestm3SCHEMATIC2....
>
> and this one:
>
> http://questm3.googlegroups.com/web/PIDmodificationQuestm3SQUEMATIC.J...
Thanks for the good words. It is coming along well. The PID already work very well with the roaster. I am working now on the graphics for the software.I bought another PID and I have then connected in an RS485 network.
Rgrds
--- On Mon, 1/25/10, Tommy Hsu <tomm...@gmail.com> wrote: