1 / 13

TINE Workshop II

TINE Workshop II. The client side. Reminders. If you’re logging in again … Subst L: %TINE_ROOT%. Lessons learned. Better to have several smaller workshops LabView Java C, C++ Administrators (setting up the ENS, CAS, Archive, etc.)

sheng
Download Presentation

TINE Workshop II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TINE Workshop II The client side

  2. Reminders • If you’re logging in again … • Subst L: %TINE_ROOT%

  3. Lessons learned • Better to have several smaller workshops • LabView • Java • C, C++ • Administrators (setting up the ENS, CAS, Archive, etc.) • Need more setup tools that work on non-Windows machines (java ?)

  4. Some loose ends … • Network Globals … • sendNetGlobal() • recvNetGLobal() • Most servers are ‘standard servers’ • LabView and MatLab ‘must’ use buffered API • Buffered API is much easier but less flexible (but we can easily test features such as “device-oriented server”, “property scheduling”, “redirection”, etc.) • “user-defined” structures (see http://tine.desy.de/tineTypes.html) < nobody else offers this! • Synchronization and data timestamps

  5. Client Applications • Rich versus Primitive clients • Primitive • Just connect data to displayers • No programming possible • Easy (intuitive?) • Rich • Can also connect data to displayers • Programming not only possible, but some programming is necessary • Not as easy, maybe not as intuitive • The finished application can do a lot more!

  6. Generic client applications • Instant Client • Archive viewer • Multi-Channel Analyzer • Trend Chart Viewer • Etc. • Command line tools

  7. Client Development Tools • Acop (ActiveX, Java beans, … .NET) • MatLab • LabView • Frameworks: CSS, jddd, GumTree, JoiMint • Python (PyQt) • IDE: VB, Visual Studio, eclipse (qt, Delphi, Kylix, Lazarus, .NET)

  8. Basic TINE client API • All based on the low level calls • ExecLink() – synchronous • AttachLink() – asynchronous • CM_SINGLE • CM_TIMER (alias CM_POLL) • CM_DATACHANGE (alias CM_REFRESH) • CM_EVENT • recvNetGlobal() - asynchronous

  9. ACOP (advanced component oriented programming) • Rich-Client Tool! • Data acquisition plus data rendition (connecting data to a displayer) • ActiveX (legacy). Mostly used in VB (also in VC++, Excel, HPVee, LabView). • Java • .NET (there is a prototype! ready next year?)

  10. Visual Basic Demo • For old time’s sake …

  11. Today’s Schedule pre-lunch (10:00 -> 12:00) : The TINE Repeater Server groups Using the full server API - advantages of full server vs. buffered server. - A typical server example - Property signals post-lunch (13:00 - 16:00?): Client programs - using the Instant client - using the Trend Chart Viewer - using command line calls Client API - EZTINE API, C API - java, LabView, MatLab ?, .NET (c#, VB.NET) (once again, we'll start with C, but you can switch to your favorite) Fine points: - callback groups - queues, sync notify - CM_DATACHANGE/CM_EVENT - CM_WAIT - notification tolerance - data stamps Steering client from the server with Property registration

  12. Reminders • If you’re logging in again … • Subst L: %TINE_ROOT% • Browse to S:\services\ControlSystem\xApps\controls • Run ‘fixvbproblem.bat’ • (OR re-install the TINE windows 7 setup) • (wrong variant of the tinemt.dll was distributed!)

More Related