software development

56 views
Skip to first unread message

Arpi

unread,
Dec 19, 2009, 11:55:16 AM12/19/09
to Questm3
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-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


Tommy Hsu

unread,
Dec 22, 2009, 3:32:48 AM12/22/09
to Questm3
Could you describe this project's structure??
I want to understand where I can help you..

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-...

> 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...

Arpi

unread,
Dec 22, 2009, 7:02:20 PM12/22/09
to Questm3
Hi Tommy!


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

Arpi

unread,
Dec 22, 2009, 7:36:49 PM12/22/09
to Questm3
The libraries structure is as follows:


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)

Tommy Hsu

unread,
Dec 22, 2009, 8:07:36 PM12/22/09
to Questm3
I had view this group's file. I find some python program in the
'file'.
I think, if I want to help you, I need to buy a PID Fuji PXG4 to try.
I also see some picture, you had connect the PID to Quest M3.
Has any teaching about this setting?

BR.
Tommy

Arpi

unread,
Dec 23, 2009, 12:34:01 AM12/23/09
to Questm3
Hi Tommi.

The electrical schematic to install the PID is this one:

http://questm3.googlegroups.com/web/PIDmodificationQuestm3SCHEMATIC2.JPG?hl=en&gda=wIRjLVcAAABis52vEUPTInHuVwdaScKvgAwwGZ8kYHl2uDMO8g1K5Lpa3uz81CY0NcJtj7cmH5YSBD331fliG1uJmrk7ogQShbm91kZM-gV0lnTcIgyaKHleHbr-qQzBoYYWXY0JTQM

and this one:

http://questm3.googlegroups.com/web/PIDmodificationQuestm3SQUEMATIC.JPG?hl=en&gda=SeUntlYAAABis52vEUPTInHuVwdaScKvgAwwGZ8kYHl2uDMO8g1K5Lpa3uz81CY0NcJtj7cmH5YTqxxe9OqFTWBXpxAHn_-WZc0neHsuP-W680me_dwrNxPhGuxsWDLdLep2NLleRSE

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

Tommy Hsu

unread,
Jan 25, 2010, 3:30:23 AM1/25/10
to Questm3
Hi
I had see your picture. The Quest M3 is so nice.
In our side, the vendor not sale the PID to me. I don't know why??
I hope you finish the Quest M3 + PID early..

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...

zb

unread,
Jan 25, 2010, 10:41:49 PM1/25/10
to que...@googlegroups.com
Hi Tommy

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:

Reply all
Reply to author
Forward
0 new messages