P
I've been reading up on the whole idea of AJAX technology and the idea of having your entire HMI implemented as web pages. Personally, I think it's a great idea. It solves a whole lot of problems.
However, there's one issue that I can't seem to get past. Looking at OPC-DA by itself, it pumps XML data to you... great. Looking at SVG by itself, it's a graphics engine... great.
However, most of the information on SVG assumes that the world is relatively STATIC. That there's no "point" or "tag database" of data in the background that is dynamically updating.
In my mind, it seems fairly simply to construct an XML document that would have your entire HMI "screen" written in SVG with pointers connected somehow to a set of data points. This will come up and display nicely, and you'd have a nasty little piece of Javascript running on it to periodically grab OPC-DA data and then tear it down and feed it into all the right places in the DOM tree to update the SVG.
But, that just seems very clunky. I've looked at RDF and such until my eyes start to glaze over. But am I missing something? It just seems like it should be possible to put something other than relatively "static" definitions in the SVG code and have SVG more or less "update itself" without a bunch of man-handling by the Javascript in the background. In other words, some way to provide "variables" or "placeholders" in an SVG object that get dynamically updated...possibly by something as simple as writing an ugly little bit of RDF and/or CSS which reads the OPC-DA output which is being periodically refreshed by a much smaller and cleaner Javascript code snippet that is timer-driven.
Anybody going down this road or have any ideas on how to do it cleaner than simply implementing a giant Javascript scan-and-poke creature?
However, there's one issue that I can't seem to get past. Looking at OPC-DA by itself, it pumps XML data to you... great. Looking at SVG by itself, it's a graphics engine... great.
However, most of the information on SVG assumes that the world is relatively STATIC. That there's no "point" or "tag database" of data in the background that is dynamically updating.
In my mind, it seems fairly simply to construct an XML document that would have your entire HMI "screen" written in SVG with pointers connected somehow to a set of data points. This will come up and display nicely, and you'd have a nasty little piece of Javascript running on it to periodically grab OPC-DA data and then tear it down and feed it into all the right places in the DOM tree to update the SVG.
But, that just seems very clunky. I've looked at RDF and such until my eyes start to glaze over. But am I missing something? It just seems like it should be possible to put something other than relatively "static" definitions in the SVG code and have SVG more or less "update itself" without a bunch of man-handling by the Javascript in the background. In other words, some way to provide "variables" or "placeholders" in an SVG object that get dynamically updated...possibly by something as simple as writing an ugly little bit of RDF and/or CSS which reads the OPC-DA output which is being periodically refreshed by a much smaller and cleaner Javascript code snippet that is timer-driven.
Anybody going down this road or have any ideas on how to do it cleaner than simply implementing a giant Javascript scan-and-poke creature?