[Visual-devel] Fwd: Re: VISUAL SCADA comments...
Status: Alpha
Brought to you by:
lettoz
From: Thomas H. <Tho...@we...> - 2002-10-16 14:59:13
|
Juan Carlos Orozco <jo...@ac...> schrieb am 16.10.02 16:18:24: > I had a problem with my outgoing mail, Did you receive my answer to your > mail? If not please let me know. > > The main points where: > > - I asked for help to compile the VISUAL server side. I was discouraged > by the multiple references to a specific SUSE directory in the Makefile. > But I guess I could try to create this directory with a link to where > the files actually reside. Is TURBOVISION Open Source? Where can I get > it, so I can try VISION in its full glory. > > - I agreed to your request of putting my mail and your answer in the > VISUAL lists. (In fact in my answer I agreed that you include the whole > thread) > > - I also thank you for your explanations. > > Regards, > > Juan Carlos Orozco > Director > > ACElab Industrial Automation > www.ace-lab.com > > On Thu, 2002-10-10 at 16:57, Thomas Hergenhahn wrote: > > Hello Juan Carlos, > > > I am a software developer from Mexico I work for www.ace-lab.com. I am > > > also a developer for the mat.sf.net (MATplc) open source project. I > > I know and I saw your homepage and the oven demo you did for mat.plc. > > > Is there a mailing list for this project? > > Yes, vis...@li..., but the few 4? mails are from myself. > > Other people mailed me privately, and I never found this of so much public > > interest, that I asked them to usse the mailing list. > > > > > > Well anyway, while testing the visual hmi code I found a couple of bugs > > > and corrected them. Remember I am using the hmi without your server > > > (turbovision) > > I fear you are confusing two things here: > > 1.turbovision is a library to make window/menu based user interfaces > > with semigraphics on text consoles. > > 2. VISUAL is an application to communicte with PLCs, to store longtime data, > > settings and alarm events. It serves the data to the hmi applet(s). > > >...so what is a bug for me may not be a bug at all. > > Yes, and if you plan to use it with another server please download latest > > sources from CVS directory /designer. > > Another person had the idea to connect driectly to a Siemens CP 343-IT (A web > > server to be but into the PLC rack). I took out all the communication stuff > > from hmiViewer.jave and transferred it into hmiVisualCI.java. Now you pass a > > parameter to your applet telling it, what communication interface to use. > > > > > > In file [Source Forge]/visual/designer/hmiViewer.java (1.8) at the > > > mouseClicked method in line 215 > > > > > >... It looks to me like the first widget is not taken into account for > > > events. > > Think you are right. Thank you. > > > > > > In file [Source Forge]/visual/designer/hmiVisualCI.java (1.1) at the > > > getValTab method in line 214 > > > > > > original: String Value=sb.toString().substring(smark+2,mark); > > > > > > my change: String Value=sb.toString().substring(smark+1,mark); > > > > > I think you will not need this. On the other hand, it , as far as I > > know, this is well tested with my server. > > > Comment: This may be because my server returns "key=val" I am not sure > > > how does the > > >turbovision... > > no, VISUAL > > >... absolute key,val pair looks like in the socket > > > communication. > > A1= 1.234<nl>( A space after the equal sign, the number and a newline > > (char(10)) ) > > > > > > One last question. For your trend implementation > > VISUAL > > >is going to > > > save the historic data? > > Yes and no. There are two types of trends to choose from: > > On the fake demo page you find a little trend window. This will NOT store > > data permanently. It is meant to provide a (slow) oscilloscope style tool. > > Different from the demo, the applet will directtly after page changes show > > the coplete curve. > > The other thing is a long term trend applet. This uses data recorded to the > > hard disk. As far as I remeber, there is a demo for this on the home page > > too. Try to click on the temperature. > > > > In both cases, threemodules are involved. > > For the short time (oscilloscope style) version: > > 1. The module mod_trend.so, which is a plug-in to the main programm. It is > > configured to listen to one or more variables and for a number of > > (time.value) poinnts. On start, it registers itself with the main application > > and allocates memory for the points. From then, it is called when value > > changes and stores a point to a ring buffer in RAM. > > 2. The widget. On start, it tells the server "getTrendData <varname>,0". > > The zero means all data newer then zero time, which is ALL. > > In consecutive calls it says "getTrendData <varname>,<lastTimeStamp". > > 3. The server, which is a plug-in to the main programm. You would need > > server3.so for this. When it receives the "getTrendData" request, it checks > > the data in the ring buffer and delivers everything newer than the given > > timestamp. > > > > For the long time (paper recorder style) version: > > 1. One of the modules log_bin.so, log_text.so or log_mysql.so, which are > > plug-ins to the main programm. They are configured to listen to one or more > > variables. On start, any of them registers itself with the main application > > and creates a file(s) for the data, if it/they don't yet exist. From then, it > > is called when value changes and it stores a/more value(s) to the file. > > 2. The trend applet. It expects the values as parameters and some other > > parameters like number of points or variable names, display modes, etc. > > 3. A php script or a CGI program. This provides the HTML code the Applet is > > embedded in. It inserts the parameter lines for time and value after > > extracting them from binary files, text files or a database.. > > > > Since I am not using your server I need to > > > understand how to use the historic data from my server in the visual > > > hmi. Could you tell me where exactly is your code requesting for the > > > historical data from the server, so I can implement this on my server? > > I would not do that (implementing my exact protocol). For the long time (disk > > based recording, it is unnecessary. > > It may be changed to tranport also status information (e.g. when a value is > > unknown due to PLC communication problems) in future. > > For the short time version, the way I recommend you is to implement a class > > hmiJCOsCI or hmiMatPLCCi or how you may choose to call it. This may implement > > any protocol you like. The only guidelines I recommend for this is that the > > server should honour the timestamp. > > See the classes hmiCommunicationInterface.java and hmiXXXCi.java > > > > Regards, > > > > Thomas Hergenhahn > > > > PS: Would you please agree that I send this and your original mail to the > > list? > > ________________________________________________________________ Keine verlorenen Lotto-Quittungen, keine vergessenen Gewinne mehr! Beim WEB.DE Lottoservice: http://tippen2.web.de/?x=13 |