[MAT-devel] New Graphical HMI

J

Thread Starter

Juan Carlos Orozco

Hi all,

I was out of town for some days (and off-line). I wanted the group to know
that I am still working on the big-demo project. While waiting for some
changes in the dsp module, I started to work on the graphical interface and
came out with what I think may be more interesting than the demo itself
(don't worry I will still make the demo also), it is a WYSIWYG HMI
development system based on GTK+. The system is almost ready, I still need
to work on a basic documentation. To try this new interface I did the chaser
demo using it and I am starting to test an interface for the basic_dsp demo,
both demos use the same binary code to execute, in other words, if the
needed widgets are in the HMI system, there is no need to program nor
compile code in order to build the interface. Right now my problem is that
since I am returning from my days off to work, I need to catch up before I
can continue to work on this. I will be able to return to this in about a
week and a half, and I need about one more week to have something useful to
upload. I am planning to upload at this time the basic demo graphical
interface, the basic_dsp demo graphical interface an Alfa version of the HMI
interpreter and a short manual. After this I will continue with the
big-demo. I will still need some additional infrastructure from the dsp
modules to be able to really finish the big- demo, some of this is already
being solved by Mario de Sousa (I just read the news about the new
multiplying block, thanks). One of this requirements that I don't remember
if it was already scheduled is a Reset signal for the PID and an antiwindup
feature for the integral part of the PID. The controller behaves very badly
without this features, specially when switching from manual to automatic
mode.

By the way, could someone give me some directions to learn how to upload to
the new cvs.

Regards,

Juan Carlos Orozco

ACElab Industrial Automation
[email protected]
www.ace-lab.com


_______________________________________________
LinuxPLC mailing list
[email protected]
http://linuxplc.org/mailman/listinfo/linuxplc
 
M

Mario de Sousa

Juan Carlos Orozco wrote:
>
> I was out of town for some days (and off-line). I wanted the group to know
> that I am still working on the big-demo project. While waiting for some
> changes in the dsp module, I started to work on the graphical interface and
> came out with what I think may be more interesting than the demo itself
> (don't worry I will still make the demo also), it is a WYSIWYG HMI
> development system based on GTK+.


This is great! I am really looking forward to seeing it!

(...)
> After this I will continue with the
> big-demo. I will still need some additional infrastructure from the dsp
> modules to be able to really finish the big- demo, some of this is already
> being solved by Mario de Sousa (I just read the news about the new
> multiplying block, thanks). One of this requirements that I don't remember
> if it was already scheduled is a Reset signal for the PID and an antiwindup
> feature for the integral part of the PID. The controller behaves very badly
> without this features, specially when switching from manual to automatic
> mode.

Yes, I am slowly working on this, and at the same time thinking on how to tie up all the loose knots so we can make the release...

> By the way, could someone give me some directions to learn how to upload to
> the new cvs.

You just follow the instructions in

https://sourceforge.net/cvs/?group_id=29758
although I found they are not quite there yet... ;-)

Here is what I sugest:

Add the 'export CVS_RSH=ssh' to your .bashrc file in case you are using bash. That way you wont have to do this every time, it gets done
automatically.

Log in to the server hosting the cvs server. This will create your home directory (done automatically the first time you log in). Otherwise you will get ugly errors later on with cvs, because you don't have a home directory.
You can logout imediately after logging in.

ssh -l developername cvs.sourceforge.net

You then log in to the cvs server using
cvs -z3 -d:pserver:[email protected]:/cvsroot/mat
login

You then checkput a copy of the new cvs...
cvs -z3 -d:ext:[email protected]:/cvsroot/mat checkout .


From here onwards, you can use the simple syntax

cvs -z3 update (for updates ;-) )
cvs -z3 commit
etc...

Hope I haven't made any errors...

Cheers,

Mario.
----------------------------------------------------------------------------
Mario J. R. de Sousa
[email protected]
----------------------------------------------------------------------------

The box said it requires Windows 95 or better, so I installed Linux

_______________________________________________
LinuxPLC mailing list
[email protected]
http://linuxplc.org/mailman/listinfo/linuxplc
 
J

Juan Carlos Orozco

Mario de Sousa wrote:

> Juan Carlos Orozco wrote:
> >
...
> > By the way, could someone give me some directions to learn how
> to upload to
> > the new cvs.
>
> You just follow the instructions in
>
> https://sourceforge.net/cvs/?group_id=29758
...

Thanks Mario, I was finally able to commit some minor changes to README.html and linuxplc.conf in the demo/oven directory.

Regards,

Juan Carlos Orozco

ACElab Industrial Automation
[email protected]
www.ace-lab.com

_______________________________________________
LinuxPLC mailing list
[email protected]
http://linuxplc.org/mailman/listinfo/linuxplc
 
J

Juan Carlos Orozco

Rick Jafrate wrote:
>
> Juan,
>
> I am interested in your graphical HMI. I would like
> to use it in a demo project I am trying to get going
> at one of my client's sites. I am willing to
> contribute my effort; can you point me in the
> right direction. Thanks.
>
...

I will start uploading this project to the mat.souceforge.net cvs repository soon (maybe next week).

Regards,

Juan Carlos Orozco

ACElab Industrial Automation
[email protected]
www.ace-lab.com

_______________________________________________
LinuxPLC mailing list
[email protected]
http://linuxplc.org/mailman/listinfo/linuxplc
 
J

Juan Carlos Orozco

The Graphical HMI is now on the cvs.

The new directories are as follows

/mmi/hmi_gtk/ (For the HMI interpreter)
/demo/basic_gtk/ (For the GTK GUI of the chaser demo)
/demo/basic_dsp_gtk/ (For the GTK GUI of the dsp demo)

If these locations are not OK they can be changed.

To get an idea of what this is all about, read the README in /mmi/hmi_gtk/ folder. There is also some important information at the heading of the
hmi_gtk.c file which is located in this directory as well.

After reading those files you will notice that the trick to achieve this HMI editor in such a short time is due to glade/libglade. But I wanted to reserve this news until I actually uploaded the code.

Warning, the demos need some work in their running script to help executing them, see next section. There are still memory leaks in the hmi_gtk.c specially when windows are closed. For more details read the To-Do list included in the hmi_gtk.c file.

Help needed,

Could someone help me write the demo script for this two demos. My problem is that when adding ../../mmi/hmi_gtk from the script, nothing happens.

The Makefile of the /mmi/hmi_gtk/ also needs improvement. I have little experience with Makefiles so I need help here too.

Other problem that I am experiencing is in the basic_dsp_gtk demo is when I try to run it without vitrine, the linuxplc program seems to get stuck. Vitrine and kbd are no longer needed to run this demo. It should be something simple but I can not figure it out.

I really hope the group finds this code useful.

Regards,

Juan Carlos Orozco

ACElab Industrial Automation
[email protected]
www.ace-lab.com


_______________________________________________
LinuxPLC mailing list
[email protected]
http://linuxplc.org/mailman/listinfo/linuxplc
 
Top