text:
This tutorial gives you an overview and talks about the fundamentals of LabVIEW.
1. Design
– Signal and Image Processing
– Embedded System Programming
• (PC, DSP, FPGA, Microcontroller)
– Simulation and Prototyping
– And more …
2. Control
– Automatic Controls and Dynamic Systems
– Mechatronics and Robotics
– And more …
3. Measurements
– Circuits and Electronics
– Measurements and Instrumentation
"Data acquisition is the process of gathering or generating information in an automated fashion from analog and digital measurement sources such as sensors and devices under test."
1.1 Introduction
The term "scientific computing," or "computational science", has been used for many years to define the use of computers (software and hardware) for solving problems related to science and engineering, usually involving experimental or applied research, modeling, and simulation. In a simplistic definition, it refers to the use of computers in solving scientific problems. Scientific computing applications usually follow a three-step process: data acquisition, data analysis and data visualization/presentation.
This three-step approach has been one of the pillars of the NI (National Instruments) virtual instrumentation model as shown in Figure 1.1 since its original conceptualization in the early 1980s, and has been expanded into a more comprehensive model known as graphical system design shown in Figure 1.2. In this new model, the focus is to accelerate the research and development cycle, delivering mathematical models to embedded real-time computers faster and easier. This design-flow acceleration is achieved by using NI LabVIEW software and its G programming language as a common system-level design tool for all the different phases in the design-to-deployment flow.
Figure 1.1 Virtual instrumentation model.
Figure 1.2 Graphical system design model.
In reality, the virtual instrumentation model is applied in each of the three phases of the graphical system design model as shown in Figure 1.3, because data acquisition, analysis and presentation functions are used in the design, prototyping and deployment phases.
Figure 1.3 Graphical system design and virtual instrumentation.
In the design phase as shown in Figure 1.4, the researcher develops a mathematical model of the system, including sensors, actuators, plants and controllers, and simulates them under a variety of initial conditions and constraints. The researcher uses different numerical methods with the objective of validating the performance of the model and optimizing it.
Figure 1.4 The design phase of the graphical system design model.
In this phase, researchers can acquire reference data from files or databases and incorporate it into the model. A "virtual plant/process" is created, which can be used later for hardware-in-the-loop (HIL) tests. Results from the simulation process are saved for post-analysis and visualization and can be used to introduce changes into the model. This is usually a software-centric process with a strong focus on numerical methods/analysis and mathematics. However, for complex or computationally intensive models, high-performance computing (HPC) using grid computers, standard computers with graphical processing units (GPUs), and multicore based computers is a key factor. In those cases, the hardware has an important impact on the performance of the model solution and simulation. Multicore-ready software tools are scarce, but LabVIEW is multicore-aware. It provides the user with a powerful yet easy-to-use programming language that can take advantage of multicore processors and parallel programming.
If experimental validation of the model is required, researchers develop and test a prototype in the laboratory. Signal processing and analysis as well as visualization can be implemented online while data is being measured and acquired, or while the process is being controlled. The "virtual plant/process" defined in the previous phase can be used for HIL tests. The experimental results obtained in this phase can be used to modify and optimize the original model, which in turn may require additional experiments. Data captured can also be used for system identification and parameter estimation. Usually, this experimental (prototyping) phase is executed on standard PCs or PXI computers, using PCI/PXI data acquisition devices or external measuring devices connected to a PC via USB, Ethernet, GPIB, or serial ports.
Frequently Asked LabVIEW Interview Questions & Answers
This process as shown in Figure 1.5 is usually more software/hardware-centric because sensors, actuators, data acquisition devices, controllers, and the controlled/analyzed plant itself are all key
Figure 1.5 The prototyping phase of the graphical system design model.
elements in the experimental setup. Real-time operating systems (RTOSs) can be used when deterministic performance or higher reliability is required. Also, multicore-based computers can be used when higher computational performance is needed. Field-programmable gate arrays (FPGAs), digital signal processors (DSPs), and GPU processors can be used with the multicore main CPU, allowing LabVIEW to execute critical computations in specialized processors. For example, sets of 2D or 3D differential equations can be solved in real time, or large sets of matrices can be processed at high speed and in real time using parallel programming in multicore computers while sharing part of the signal processing load with an FPGA or a GPU. Data is shared between the multicore processors and an FPGA via DMA first-in-first-out memory buffers (FIFOs). Finally, technical data mining algorithms can be implemented by combining LabVIEW with NI DIAdem, an excellent tool for managing, analyzing, and reporting technical data collected during data acquisition and/or generated during the modelling, simulation or analysis phases.
Finally, the model (controller, analyzer or both) is deployed in the field or lab using either a PC (desktop, server or industrial) or PXI, or it can be downloaded to a dedicated embedded controller such as CompactRIO, which usually operates in stand-alone mode and in real-time (deterministic) mode as shown in Figure 1.6. When using the LabVIEW Real-Time Module, symmetric multiprocessing (SMP) techniques can be easily applied. For large systems, with high-channel counts or involving modular instruments such as scopes, digital multimeters (DMMs), RF vector signal analyzers, and dynamic signal acquisition (DSA) devices, the PXI platform is more appropriate. The transition from the prototyping phase to the deployment phase can be very fast and efficient because the same set of tools used for prototyping can, in most cases, be applied to the final deployment of the system in the field.
Figure 1.6 The deployment phase of the graphical system design model.
In many cases, the system is deployed as a headless system (no monitors or interfaces to the user), executing the analysis/control algorithms in real time as a dedicated device. If on-the-field graphical user interfaces (GUIs) or operator interfaces (OIs) are needed, the LabVIEW Touch-Panel Module and industrial-grade monitors with touch-sensitive screens can be used locally. Remotely, data can be shared and visualized via Ethernet with applications developed using LabVIEW and the LabVIEW Datalogging and Supervisory Control Module running on one or more PCs distributed in a network.
Typical embedded system software and hardware design flows is shown in Figure 1.7.
Figure 1.7 Typical embedded system software and hardware design flow.
If you are creating custom hardware for final deployment, it is difficult to have the software and hardware developed in parallel as the software is never tested on representative hardware until the process reaches the system integration step. Additionally, you do not want the software development to be purely theoretical, because waiting until the system integration test to include I/O and test the design with real signals may mean that you discover problems too late to meet design deadlines. Most designers currently use a solution like an evaluation board to prototype their systems. However, these boards often only include a few analog and digital I/O channels and rarely include vision, motion, or ability to synchronize I/O. Additionally, designers often have to waste time developing custom boards for sensors or specialized I/O, just to complete a proof of concept.
Using flexible Commercial-off-the-shelf (COTS) prototyping platforms instead can truly streamline this process, as shown in Figure 1.8, and eliminates much of the work required for hardware verification and board design. Much like PCs today, in which case anyone can go to an
Figure 1.8 Stream-lined development flow with graphical system design.
electronics store and plug components such as memory, motherboards and peripheral together to create a PC, graphical system design strives to achieve the same standardization for prototyping platforms. The time has come for a new approach to electronic system design.
For most systems, a prototyping platform must incorporate the same components of the final deployed system. These components are often a real-time processor for executing algorithms deterministically, programmable digital logic for high-speed processing or interfacing the real-time processor to other components, and varied types of I/O and peripherals as shown in Figure 1.9. Finally, as with any system, if the off-the-shelf I/O doesn't serve all of your needs, the platform should also be extensible and customizable when needed.
Figure 1.9 Typical components of an embedded system.
Virtual instrumentation combines mainstream commercial technologies, such as the PC, with flexible software and a wide variety of measurement and control hardware. Engineers use virtual instrumentation to bring the power of flexible software and PC technology to test, control and design applications making accurate analog and digital measurements. Engineers and scientists can create user-defined systems that meet their exact application needs. Industries with automated processes, such as chemical or manufacturing plants use virtual instrumentation with the goal of improving system productivity, reliability, safety, optimization and stability. Virtual instrumentation is computer software that a user would employ to develop a computerized test and measurement system for controlling from a computer desktop, an external measurement hardware device, and for displaying, test or measurement data collected by the external device on instrument-like panels on a computer screen. It extends to computerized systems for controlling processes based on data collected and processed by a computerized instrumentation system. The front panel control function of the existing instrument is duplicated through the computer interface. The application ranges from simple laboratory experiments to large automation application.
Virtual instrumentation as shown in Figure 1.10 uses highly productive software, modular I/O and commercial platforms. National Instruments LabVIEW, a premier virtual instrumentation graphical development environment, uses symbolic or graphical representations to speed up development. The software symbolically represents functions. Consolidating functions within rapidly deployed graphical blocks further speeds up development.
Figure 1.10 Virtual instrumentation combines productive software, modular I/O and scalable platforms.
Another virtual instrumentation component is modular I/O, designed to be rapidly combined in any order or quantity to ensure that virtual instrumentation can both monitor and control any development aspect. Using well-designed software drivers for modular I/O, engineers and scientists quickly can access functions during concurrent operation.
The third virtual instrumentation element using commercial platforms, often enhanced with accurate synchronization, ensures that virtual instrumentation takes advantage of the very latest computer capabilities and data transfer technologies. This element delivers virtual instrumentation on a long-term technology base that scales with the high investments made in processors, buses and more.
In summary, as innovation mandates use of software to accelerate a new concept and product development, it also requires instrumentation to rapidly adapt to new functionality. Because virtual instrumentation applies software, modular I/O and commercial platforms, it delivers instrumentation capabilities uniquely qualified to keep pace with today's concept and product development.
A traditional instrument is designed to collect data from an environment, or from a unit under test, and to display information to a user based on the collected data. Such an instrument may employ a transducer to sense changes in a physical parameter such as temperature or pressure, and to convert the sensed information into electrical signals such as voltage or frequency variations. The term "instrument" may also cover a physical or software device that performs an analysis on data acquired from another instrument and then outputs the processed data to display or recording means. This second category of instruments includes oscilloscopes, spectrum analyzers and digital millimeters. The types of source data collected and analyzed by instruments may thus vary widely, including both physical parameters such as temperature, pressure, distance, light and sound frequencies and amplitudes, and also electrical parameters including voltage, current and frequency.
A virtual instrument (VI) is defined as an industry-standard computer equipped with user-friendly application software, cost-effective hardware and driver software that together perform the functions of traditional instruments. Simulated physical instruments are called virtual instruments (VIs). Virtual instrumentation software based on user requirements defines general-purpose measurement and control hardware functionality. With virtual instrumentation, engineers and scientists reduce development time, design higher quality products, and lower their design costs. In test, measurement and control, engineers have used virtual instrumentation to downsize automated test equipment (ATE) while experiencing up to a several times increase in productivity gains at a fraction of the cost of traditional instrument solutions.
Virtual instrumentation is necessary because it is flexible. It delivers instrumentation with the rapid adaptability required for today's concept, product and process design, development and delivery. Only with virtual instrumentation, engineers and scientists can create the user-defined instruments required to keep up with the world's demands. To meet the ever-increasing demand to innovate and deliver ideas and products faster, scientists and engineers are turning to advanced electronics, processors and software. Consider modern cell phones. Most of them contain the latest features of the last generation, including audio, a phone book and text messaging capabilities. New versions include a camera, MP3 player, and Bluetooth networking and Internet browsing.
Virtual instruments are defined by the user while traditional instruments have fixed vendor-defined functionality. In a conventional instrument, the set of components that comprise the instrument is fixed and permanently associated with each other. Nevertheless, there is some software that understands these associations. Thus the primary difference between a virtual instrument and a conventional instrument is merely that the associations within a virtual instrument are not fixed but rather managed by software.
Every virtual instrument consists of two parts—software and hardware. A virtual instrument typically has a sticker price comparable to and many times less than a similar traditional instrument for the current measurement task. However, the savings compound over time, because virtual instruments are much more flexible when changing measurement tasks. By not using vendor-defined, prepackaged software and hardware, engineers and scientists get maximum user-defined flexibility. A traditional instrument provides them with all software and measurement circuitry packaged into a product with a finite list of fixed-functionality using the instrument front panel. A virtual instrument provides all the software and hardware needed to accomplish the measurement or control task. In addition, with a virtual instrument, engineers and scientists can customize the acquisition, analysis, storage, sharing and presentation functionality using productive, powerful software.
Without the displays, knobs and switches of a conventional, external box-based instrumentation products, a virtual instrument uses a personal computer for all user interaction and control. In many common measurement applications, a data acquisition board or card, with a personal computer and software, can be used to create an instrument. In fact, a multiple-purpose virtual instrument can be made by using a single data acquisition board or card. The primary benefits of apply data acquisition technology to configure virtual instrumentation include costs, size, and flexibility and ease of programming. The cost to configure a virtual instrumentation-based system using a data acquisition board or cards can be as little as 25% of the cost of a conventional instrument.
Traditional instruments and software-based virtual instruments largely share the same architectural components, but radically different philosophies as shown in Figure 1.11. Conventional instruments as compared to a virtual instrumentation can be very large and cumbersome. They also require a lot of power, and often have excessive amounts of features that are rarely, if ever used. Most conventional instruments do not have any computational power as compared to a virtual instrument. Since the virtual instrument is part of a person computer configuration, the personal computer's computational as well as controlling capability can be applied into a test configuration. Virtual instruments are compatible with traditional instruments almost without exception. Virtual instrumentation software typically provides libraries for interfacing with common ordinary instrument buses such as GPIB, serial or Ethernet.
Figure 1.11 Traditional instruments (left) and software based virtual instruments (right).
Except for the specialized components and circuitry found in traditional instruments, the general architecture of stand-alone instruments is very similar to that of a PC-based virtual instrument. Both require one or more microprocessors, communication ports (for example, serial and GPIB), and display capabilities, as well as data acquisition modules. What makes one different from the other is their flexibility and the fact that we can modify and adapt the instrument to our particular needs. A traditional instrument might contain an integrated circuit to perform a particular set of data processing functions; in a virtual instrument, these functions would be performed by software running on the PC processor. We can extend the set of functions easily, limited only by the power of the software used. By employing virtual instrumentation solutions, we can lower capital costs, system development costs, and system maintenance costs, while improving time to market and the quality of our own products.
There is a wide variety of hardware devices available which we can either plug into the computer or access through a network. These devices offer a wide range of data acquisition capabilities at a significantly lower cost than that of dedicated devices. As integrated circuit technology advances, and off-the-shelf components become cheaper and more powerful, so do the boards that use them. With these advances in technology, comes an increase in data acquisition rates, measurement accuracy, precision and better signal isolation. Depending on the particular application, the hardware we choose might include analog input or output, digital input or output, counters, timers, filters, simultaneous sampling, and waveform generation capabilities.
Virtual instrumentation has achieved mainstream adoption by providing a new model for building measurement and automation systems. Keys to its success include rapid PC advancement; explosive low-cost, high-performance data converter (semiconductor) development; and system design software emergence. These factors make virtual instrumentation systems accessible to a very broad base of users.
Virtual instruments take advantage of PC performance increase by analyzing measurements and solving new application challenges with each new-generation PC processor, hard drive, display and I/O bus. These rapid advancements combined with the general trend that technical and computer literacy starts early in school, contribute to successful computer-based virtual instrumentation adoption. The virtual instrumentation driver is the proliferation of high-performance, low-cost analog-to-digital (ADC) and digital-to-analog (DAC) converters. Applications such as wireless communication and high-definition video impact these technologies relentlessly. Virtual instrumentation hardware uses widely available semiconductors to deliver high-performance measurement front ends. Finally, system design software that provides an intuitive interface for designing custom instrumentation systems furthers virtual instrumentation. Various interface standards are used to connect external devices to the computer. PC is the dominant computer system in the world today. VI is supported on the PC under Windows, Linux, Macintosh, Sun, and HP operating systems. All VI platforms provide powerful Graphical User Interfaces (GUIs) for development and implementation of the solutions.
Input/Output plays a critical role in virtual instrumentation. To accelerate test, control and design, I/O hardware must be rapidly adaptable to new concepts and products. Virtual instrumentation delivers this capability in the form of modularity within scalable hardware platforms. Virtual instrumentation is software-based; if we can digitize it, we can measure it. Standard hardware platforms that house the I/O are important to I/O modularity. Laptops and desktop computers provide an excellent platform where virtual instrumentation can make the most of existing standards such as the USB, PCI, Ethernet, and PCMCIA buses.
Software is the most important component of a virtual instrument. With the right software tool, engineers and scientists can efficiently create their own applications by designing and integrating the routines that a particular process requires. You can also create an appropriate user interface that best suits the purpose of the application and those who will interact with it. You can define how and when the application acquires data from the device, how it processes, manipulates and stores the data, and how the results are presented to the user. With powerful software, we can build intelligence and decision-making capabilities into the instrument so that it adapts when measured signals change inadvertently or when more or less processing power is required. An important advantage that software provides is modularity. When dealing with a large project, engineers and scientists generally approach the task by breaking it down into functional solvable units. These subtasks are more manageable and easier to test, given the reduced dependencies that might cause unexpected behaviour. We can design a virtual instrument to solve each of these subtasks, and then join them into a complete system to solve the larger task. The ease with which we can accomplish this division of tasks depends greatly on the underlying architecture of the software.
A virtual instrument is not limited or confined to a stand-alone PC. In fact, with recent developments in networking technologies and the Internet, it is more common for instruments to use the power of connectivity for the purpose of task sharing. Typical examples include supercomputers, distributed monitoring and control devices, as well as data or result visualization from multiple locations. Every virtual instrument is built upon flexible, powerful software by an innovative engineer or scientist applying domain expertise to customize the measurement and control application. The result is a user-defined instrument specific to the application needs. Virtual instrumentation software can be divided into several different layers like the application software, test and data management software, measurement and control services software as shown in Figure 1.12.
Figure 1.12 Layers of virtual instrumentation software.
Most people think immediately of the application software layer. This is the primary development environment for building an application. It includes software such as LabVIEW, LabWindows/CVI (ANSI C), Measurement Studio (Visual Studio programming languages), Signal Express and VI Logger. Above the application software layer is the test executive and data management software layer. This layer of software incorporates all of the functionality developed by the application layer and provides system-wide data management. Measurement and control services software is equivalent to the I/O driver software layer. It is one of the most crucial elements of rapid application development. This software connects the virtual instrumentation software and the hardware for measurement and control. It includes intuitive application programming interfaces, instrument drivers, configuration tools, I/O assistants and other software included with the purchase of hardware. This software offers optimized integration with both hardware and application development environments.
Virtual instrumentation has been widely adopted in test and measurement areas. It has gradually increased addressable applications through continuous innovation and hundreds of measurement hardware devices. The benefits that have accelerated test development are beginning to accelerate control and design.
Test has been a long-proven field for virtual instrumentation. As the pace of innovation has increased, so too has the pressure to get new, differentiated products to market quickly. Consumer expectations continue to increase; in electronics markets, for example, disparate function integration is required in a small space and at a low cost. All of these conditions drive new validation, verification and manufacturing test needs. A test platform that can keep pace with this innovation is not optional; it is essential. The platform must include rapid test development tools adaptable enough to be used throughout the product development flow. The need to get products to market quickly and manufacture them efficiently requires high-throughput test. To test the complex multifunctional products that consumers demand requires precise, synchronized measurement capabilities. And as companies incorporate innovations to differentiate their products, test systems must quickly adapt to test the new features.
Virtual instrumentation is an innovative solution to these challenges. It combines rapid development software and modular, flexible hardware to create user-defined test systems. Virtual instrumentation delivers as shown in Figure 1.13 user-defined instruments and customizable hardware for test systems:
Figure 1.13 User-defined instruments and customizable hardware for test systems.
Engineers and scientists have always been able to use virtual instrumentation software to create highly integrated user-defined systems using modular I/O, but they can now extend custom configurability to the hardware itself. This degree of user-configurability and transparency will change the way engineers build test systems.
PCs and PLCs both play an important role in control and industrial applications. PCs bring greater software flexibility and capability, while PLCs deliver outstanding ruggedness and reliability. But as control needs become more complex, there is a recognized need to accelerate the capabilities while retaining the ruggedness and reliabilities. Independent industry experts have recognized the need for tools that can meet the increasing need for more complex, dynamic, adaptive and algorithm-based control. The Programmable Automation Controllers (PACs) provide multidomain functionality (logic, motion, drives and process) and the concept of PAC supports multiple I/O types. Logic, motion and other function integrations are a requirement for increasingly complex control approaches. PACs deliver PC software flexibility with PLC ruggedness and reliability. LabVIEW software and rugged, real-time, control hardware platforms are ideal for creating a PAC.
The same design engineers that use a wide variety of software design tools must use hardware to test prototypes. Commonly, there is no good interface between the design phase and testing/validation phase, which means that the design usually must go through a completion phase and enter a testing/validation phase. Issues discovered in the testing phase require a design-phase reiteration as shown in Figure 1.14. The simulation test plays a critical role in the design and manufacture of today's electronic devices.
Figure 1.14 Simulation test plays a critical role in the design and manufacture.
In reality, the development process has two very distinct and separate stages—design and test—which are two individual entities. On the design side, Electronic Design Automation (EDA) tool vendors undergo tremendous pressure to interoperate from the increasing semiconductor design and manufacturing group complexity requirements. Engineers and scientists are demanding the capability to reuse designs from one tool in other tools as products go from schematic design to simulation to physical layout. Similarly, test system development is evolving towards a modular approach. The gap between these two worlds has traditionally been neglected, first noticeable in the new product prototype stage. Traditionally, this is the stage where the product designer uses benchtop instruments to sanity-check the physical prototypes against their design for correctness. The designer makes these measurements manually, probing circuits and looking at the signals on instruments for problems or performance limitations. As designs iterate through this build-measure-tweak-rebuild process, the designer needs the same measurements again. In addition, these measurements can be complex—requiring frequency, amplitude and temperature sweeps with data collected and analyzed throughout. Because these engineers focus on design tools, they are reluctant to invest in learning to automate their testing. Systems with intrinsic-integration properties are easily extensible and adapt to increasing product functionality. When new tests are required, engineers simply add new modules to the platform to make the measurements. Virtual instrumentation software flexibility and virtual instrumentation hardware modularity make virtual instruments a necessity to accelerate the development cycle.
Virtual instruments provide significant advantages in every stage of the engineering process—from research and design to manufacturing test.
In research and design, engineers and scientists demand rapid development and prototyping capabilities. With virtual instruments, we can quickly develop a program, take measurements from an instrument to test a prototype and analyze results—all in a fraction of the time required to build tests with traditional instruments. When we need flexibility, a scalable open platform is essential, from the desktop to embedded systems to distributed networks. The demanding requirements of research and development (R&D) applications require seamless software and hardware integration. Whether we need to interface stand-alone instruments using GPIB or directly acquire signals into the computer with a data acquisition board and signal conditioning hardware, virtual instrumentation software makes integration simple. With virtual instruments, we also can automate a testing procedure, eliminating the possibility of human error and ensuring the consistency of the results by not introducing unknown or unexpected variables.
With the flexibility and power of virtual instruments, one can easily build complex test procedures. For automated design verification testing, one can create test routines in virtual instrumentation software and integrate software such as National Instruments Test Stand, which offers powerful test management capabilities. One of the many advantages these tools offer across the organization is code reuse. We develop code in the design process and then plug these same programs into functional tools for validation, test or manufacturing.
Decreasing test time and simplifying development of test procedures are primary goals in manufacturing test. Virtual instruments combined with powerful test management software deliver high performance. These tools meet rigorous throughput requirements with a high-speed, multithreaded engine for running multiple test sequences in parallel. TestStand easily manages test sequencing, execution and reporting based on routines written in virtual instrumentation software. TestStand integrates the creation of test code in virtual instrumentation software. TestStand also can reuse code created in research and development or design and validation. If we have manufacturing test applications, we can take full advantage of the work already done in the product life cycle.
Manufacturing applications require software to be reliable, high in performance and interoperable. Virtual instruments offer all these advantages by integrating features such as alarm management, historical data trending, security, networking, industrial I/O and enterprise connectivity. With this functionality, we can easily connect to many types of industrial devices such as PLCs, industrial networks, distributed I/O and plug-in data acquisition boards. By sharing code across the enterprise, manufacturing can use the same applications developed in research and development or validation, and integrate seamlessly with manufacturing test processes.
Recently, commercial PC technologies have begun migrating into embedded systems. Examples include Windows CE, Intel x86-based processors, PCI and Compact PCI buses and Ethernet for embedded development. Virtual instrumentation relies on commercial technologies for cost and performance advantages; it has also expanded to encompass more embedded and real-time capabilities. LabVIEW runs on Linux as well as the embedded ETS real-time operating system from VenturCom on specific embedded targets. The option of using virtual instrumentation as a scalable framework that extends from the desktop to embedded devices should be considered a tool in the complete toolbox of an embedded systems developer. Ethernet now dominates as the standard network infrastructure for companies worldwide. In addition, the popularity of the Web interface in the PC world has overflowed into the development of cell phones, PDAs, and now industrial data acquisition and control systems. Embedded systems at one time meant stand-alone operation, or at most interfacing at a low level with a real-time bus to peripheral components. The increased demand for information at all levels of the enterprise (and in consumer products) requires you to network embedded systems while continuing to guarantee reliable and often real-time operation.
Virtual instrumentation software can combine one development environment for both desktop and real-time systems using cross-platform compiled technology; you can capitalize on the built-in Web servers and easy-to-use networking functionality of desktop software and target it to real-time and embedded systems. For example, you can use LabVIEW to simply configure a built-in Web server to export an application interface to defined secure machines on the network on Windows, and then download that application to run on a headless embedded system that can fit in the user's hand. This procedure happens with no additional programming required on the embedded system. You then can deploy that embedded system, power it, connect to the application from a remote secure machine via Ethernet, and interface to it using a standard Web browser. For more sophisticated networking applications, you can graphically program TCP/IP or other methods with which you are already familiar in LabVIEW and then run them in the embedded system.
Embedded systems development is one of the fastest growing segments of engineering, and will continue to be for the foreseeable future as consumers demand smarter cars, appliances, homes, and so on. The evolution of these commercial technologies will propel virtual instrumentation into being more applicable to a growing number of applications. Leading companies that provide virtual instrumentation software and hardware tools need to invest in expertise and product development to serve this growing set of applications. Virtual instrumentation software platform, LabVIEW, includes the ability to scale from development for desktop operating systems, to embedded real-time systems to handheld personal digital assistant targets, to FPGA-based hardware, and even to enabling smart sensors.
Next-generation virtual instrumentation tools need to include networking technology for quick and easy integration of Bluetooth, wireless Ethernet and other standards. In addition to using these technologies, virtual instrumentation software needs a better way to describe and design timing and synchronization relationships between distributed systems in an intuitive way to help faster development and control of these often embedded systems. The virtual instrumentation concepts of integrated software and hardware, flexible modular tools, and the use of commercial technologies combine to create a framework upon which we can rapidly complete our systems development and also maintain them for the long term. Because virtual instrumentation offers so many options and capabilities in embedded development, it makes sense for embedded developers to understand and review these tools.
The development of VI is linked to the evolution of small inexpensive personal computers and progress in computer hardware and software. Graphical User Interfaces (GUIs) too played a vital role in the development of VI. While the original application of replacing the controls with a computer link used a command line interface, the use of sophisticated GUI became an essential component in the later versions of VI software. The major developments that helped VI become successful were development of low cost computer systems of adequate computing power, evolution of good GUI, development of standards for buses, and increasingly stable networking platforms. The computing power of the processors improved by leaps and bounds permitting the development of all these resource intensive techniques. Standardization and progress in computing hardware increased. Developments of various interfacing standards lead to a massive reduction in development effort. All these developments have occurred in parallel and have taken us to the situation where VI is the dominant tool for the development and implementation of instrumentation applications and systems.
The term "VI" owes a lot to the development of the Laboratory Virtual Instrument Engineering Workbench (LabVIEW) by National Instruments, Austin, Texas, USA. In 1983, National Instruments began to search for a way to minimize the time needed to program instrumentation systems. LabVIEW made its appearance as an interpreted package on the Apple Macintosh in 1986. LabVIEW 2 was released in 1990, and was a compiled package as against an interpreted package. The first reasonably stable graphical environment (Windows 3.0) made its appearance only in 1990.
In 1992, they introduced LabVIEW for Windows and LabVIEW for Sun based on the new portable architecture. LabVIEW 3 arrived in 1993 for Macintosh, Windows and Sun operating systems. LabVIEW 3 programs written on one platform could run on another. In 1999, LabVIEW became available for the Linux platform as well. LabVIEW 4, released in 1996, featured a more customizable development environment so that users could create their own workspace to match their industry, experience level and development habits. In addition, LabVIEW 4 added high-powered editing and debugging tools for advanced instrumentation systems, as well as OLE-based connectivity and distributed execution tools.
Networking support on smaller systems was first introduced in Version 5. LabVIEW 5 and 5.1 (in 1999) continued to improve on the development tool by introducing a built-in Web server, a dynamic programming and control framework (VI server), integration with ActiveX, and easy sharing of data over the Internet with a protocol called DataSocket. In 2000, LabVIEW 6 (sometimes called 6i) provided both an easy and intuitive programming interface. In 2001, LabVIEW 6.1 introduced event-oriented programming, remote Web control of LabVIEW.
Version 7 has expanded the horizon to make it simpler for the inexperienced user by providing various Express utilities and Assistants. LabVIEW has two closely related products—BridgeVIEW and LabVIEW RT (for realtime applications). BridgeVIEW can also be called LabVIEW industrial. The RT module of LabVIEW was originally designed to support distributed computing and real-time applications. LabVIEW RT is a hardware and software combination that allows you to take portions of your LabVIEW code and download them to be executed on a separate controller board with its own real-time operating system. In certain respects LabVIEW RT and the development of FPGA (Field Programmable Gate Array) support in LabVIEW overlap. It is possible to program FPGA modules to carry out many tasks which may be assigned to RT systems.
National Instruments released LabVIEW 8.5, the latest version of the graphical system design platform for test, control and embedded system development. LabVIEW 8.5 simplifies multicore as well as FPGA-based application development with its intuitive parallel dataflow language. NI LabVIEW 8.6 includes the platform installation DVDs, Block Diagram Cleanup, Quick Drop and Web services creation. In addition to these added tools to the LabVIEW development system, we can explore key new features in the LabVIEW modules and toolkits, including industrial function blocks in the LabVIEW Real-Time Module and new LabVIEW FPGA Module IP.
With the enhanced releases of LabVIEW graphical programming software, system-level engineers as well as domain experts with little to no embedded expertise can accurately work with systems of increased complexity and scale, thereby, drastically reducing the time from concept to prototype.
Graphical programming is a visually-oriented approach to programming. Graphical programming is easier and more intuitive to use than traditional textual programming. Textual programming requires the programmers to be reasonably proficient in the programming language. Non-programmers can easily learn the graphical approach faster at less amount of time.
The main advantage of textual languages like C is that they tend to have faster graphical approach execution time and better performance than graphical programs. Textual programming environments are typically used in determining high throughput virtual instrumentation systems, such as manufacturing test systems.
Textual programming environments are popular and many engineers are trained to use these standardized tools. Graphical environments are better for nonprogrammers and useful for developing virtual instruments quickly and need to be reconfigured rapidly.
Virtual instrumentation is not limited to graphical programming but can be implemented using a conventional programming language. In R & D design characterization or in a troubling shooting situation Microsoft Excel (spreadsheet) or Microsoft Word (word processor) can be used. The most important task is to understand how to use standard analysis packages that can directly input data from the instruments and can be used to analyze, store and present the information in a useful format. Irrespective of whether it is classical or graphical environment any system with a graphical system design can be looked at as being composed of two parts—the user interface and the underlying code. The code in a conventional language like C comprises a number of routines while in the graphical language G it is a collection of icons interconnected by multi-colored lines. Table 1.1 compares text-based programming and graphical programming.
LabVIEW (Laboratory Virtual Instrument Engineering Workbench) is a graphical programming environment which has become prevalent throughout research labs, academia and industry. It is a powerful and versatile analysis and instrumentation software system for measurement and automation. Its graphical programming language called G programming is performed using a graphical block diagram that compiles into machine code and eliminates a lot of the syntactical details. LabVIEW offers more flexibility than standard laboratory instruments because it is software based. Using LabVIEW, the user can originate exactly the type of virtual instrument needed and programmers can easily view and modify data or control inputs. The popularity of the National Instruments LabVIEW graphical dataflow software for beginners and experienced programmers in so many different engineering applications and industries can be attributed to the software's intuitive graphical programming language used for automating measurement and control systems.
LabVIEW programs are called virtual instruments (VIs), because their appearance and operation imitate physical instruments like oscilloscopes. LabVIEW is designed to facilitate data collection and analysis, as well as offers numerous display options. With data collection, analysis and display combined in a flexible programming environment, the desktop computer functions as a dedicated measurement device. LabVIEW contains a comprehensive set of VIs and functions for acquiring, analyzing, displaying, and storing data, as well as tools to help you troubleshoot your code.
All test, measurement and control applications can be divided into three main components and the key to virtual instrumentation is the ability to acquire, analyze and present data. LabVIEW can acquire data using the devices like GPIB, Serial, Ethernet, VXI, PXI Instruments, Data Acquisition (DAQ), PCI eXtensions for Instrumentation (PXI), Image Acquisition (IMAQ), Motion Control, Real-Time (RT) PXI, PLC (through OPC Server), PDA, and Modular Instruments. To help you analyze your data LabVIEW includes analysis functions for Differential Equations, Optimization, Curve Fitting, Calculus, Linear Algebra, Statistics and so on. Express VIs are specifically designed for measurement analysis, including filtering and spectral analysis. Signal Processing VIs for Filtering, Windowing, Transforms, Peak Detection, Harmonic Analysis, and Spectrum Analysis are provided. LabVIEW includes the following tools to help in presenting data on the computer; Graphs, Charts, Tables, Gauges, Meters, Tanks, 3D Controls, Picture Control, 3D Graphs and Report Generation. Over the Internet, Web Publishing Tools, Data socket (Windows Only), TCP/IP, VI Server, Remote Panels and Email are available to present data.
LabVIEW can communicate with hardware such as data acquisition, vision, and motion control devices, and GPIB, PXI, VXI, RS-232, and RS-485 devices. LabVIEW also has built-in features for connecting your application to the Web using the LabVIEW Web Server and software standards such as TCP/IP networking and ActiveX. Using LabVIEW, you can create test and measurement, data acquisitions, instrument control, datalogging, measurement analysis, and report generation applications. You also can create stand-alone executables and shared libraries, like DLLs, because LabVIEW is a true 32-bit compiler.
For new programmers, LabVIEW Express technology transforms common measurement and automation tasks into much higher-level, intuitive VIs. With Express technology, thousands of nonprogrammers have taken advantage of the LabVIEW platform to build automated systems quickly and easily. For experienced programmers, LabVIEW delivers the performance, flexibility and compatibility of a traditional programming language such as C or BASIC. In fact, the full-featured LabVIEW programming language has the same constructs that traditional languages have such as variables, data types, objects, looping and sequencing structures, as well as error handling. And with LabVIEW, programmers can reuse legacy code packaged as DLLs or shared libraries and integrate with other software using ActiveX, TCP and other standard technologies. The LabVIEW Family consists of NI LabVIEW Graphical Programming Software for Measurement and Automation, LabVIEW Real-Time Module, LabVIEW FPGA Module, LabVIEW PDA Module, LabVIEW Datalogging and Supervisory Control Module.
The following are the advantages of LabVIEW:
There are three steps to create our application in the software environment:
A virtual instrument (VI) has three main components—the front panel, the block diagram and the icon/connector pane. In order to use a VI as a subVI in the block diagram of another VI, it is essential that it contains an icon and a connector. The two LabVIEW windows are the front panel (containing controls and indicators) and block diagram (containing terminals, connections and graphical code). The front panel is the user interface of the virtual instrument. The code is built using graphical representations of functions to control the front panel objects. The block diagram contains this graphical source code. In LabVIEW, you build a user interface or front panel with controls and indicators. Controls are knobs, push buttons, dials and other input devices. Indicators are graphs, LEDs and other displays. After you build the user interface, you can add code using VIs and structures to control the front panel objects. The block diagram contains this code. In some ways, the block diagram resembles a flowchart.
When you open a new or existing VI, the front panel of the VI appears. The front panel is the interactive user interface for the VI. It is named a front panel because it stimulates the front panel of a physical instrument. Build the front panel with controls and indicators as shown in Figure 2.1.
One of the most powerful features that LabVIEW offers engineers and scientists is its graphical programming environment to design custom virtual instruments by creating a graphical user interface on the computer screen to
Figure 2.1 LabVIEW virtual instrument front panel.
The front panel can include knobs, push buttons, graphs and various other controls (which are user inputs) and indicators (which are program outputs). Controls are inputs used to simulate instrument input devices and supply data to the block diagram of the VI, and indicators are outputs displays used to simulate instrument output devices and display data the block diagram acquires or generates. The front panel is customized to emulate control panels of traditional instruments, create custom test panels, or visually represent the control and operation of processes.
The block diagrams accompany the program for the front panel. Front panel objects appear as terminals on the block diagram and the components wired together. After the front panel is built, codes are added using graphical representations of functions in the block diagram to control the front panel objects. The block diagram contains the graphical source code composed of nodes, terminals, and wires. The block diagram is the actual executable program as shown in Figure 2.2. The components of a block diagram are lower-level VIs, built-in functions, constants and program execution control structures. Wires have to be drawn to connect the corresponding objects together to indicate the flow of data between each of them. Front panel objects have analogous terminals on the block diagram so that data can pass easily from the user to the program and back to the user. Use Express VIs, standard VIs and functions on the block diagram to create our measurement code. Block diagram objects include the terminals, subVIs, functions, constants, structures and wires. LabVIEW is the easiest, most powerful tool for acquiring, analyzing and presenting real-world data. Terminals are entry and exit ports that exchange information between the panel and the diagram. Terminals are analogous to parameters and constants in text-based programming languages. Right-click the block diagram objects and select View As icon to change the icon view.
Figure 2.2 LabVIEW virtual instrument block diagram.
To use a VI as a subVI, it must have an icon and a connector pane. Every VI displays an icon in the upper-right corner of the front panel and block diagram windows. An icon is a graphical representation of a VI. The icon can contain both text and images. To use a VI as a subVI, you need to build a connector pane. The connector pane is a set of terminals that correspond to the controls and indicators of that VI.
When you launch LabVIEW, the Getting Started window appears as shown in Figure 2.3. You can begin in LabVIEW by starting from a blank VI or project, opening an existing VI or project and modifying it, or opening a template from which to begin your new VI or project.
To open a new project from the Getting Started window, select the Empty Project option. A new, unnamed project opens, and you can add files to and save the project.
To open a new, blank VI that is not associated with a project, select the Blank VI option on the Getting Started window. A blank VI opens a blank front panel and blank block diagram.
To Create a VI or Project from a Template select File»New to display the New dialog box, which lists the built-in VI templates. You also can display the New dialog box by clicking the New link in the Getting Started window.
To open an existing VI select the Browse option in the Getting Started window to navigate to and open an existing VI.
The menus at the top of a VI window contain items common to other applications, such as Open, Save, Copy and Paste, and other items specific to LabVIEW. To save a new VI, select File»Save. If you have already saved your VI, select File»Save As to access the Save As dialog box to create a copy of the VI, or delete the original VI and replace it with the new one.
Figure 2.3 Getting Started window.
Table 2.1 provides the list of front panel toolbars buttons. Click the following toolbar buttons and pull-down menu to run and edit a VI.
Table 2.2 provides the details of the block diagram toolbar buttons. Click the following buttons on the block diagram toolbar to debug the VI.
LabVIEW has graphical, floating palettes help to create and run VIs. The three palettes are the Tools, Controls, and Functions palettes.
The Tools palette shown in Figure 2.4 is available on both the front panel and the block diagram. You can create, modify, and debug VIs using the tools located on the floating Tools palette. A tool is a special operating mode of the mouse cursor. The cursor corresponds to the icon of the tool selected in the Tools palette. Use the tools to operate and modify the front panel and block diagram objects. You can manually choose the tool you need by selecting it on the Tools palette. Or select View»Tools Palette to display the Tools palette. Also you can press the key and right-click to display a temporary version of the Tools palette at the location of the cursor. Table 2.3 provides the detailed function of each icon of the tools palette.
Figure 2.4 Tools palette.
The Controls palette shown in Figure 2.5 is available only on the front panel. The Controls palette contains the controls and indicators which you can use to create the front panel. The Controls palette can be accessed from the front panel by selecting View»Controls Palette or by right-clicking an open space on the front panel window to display the Controls palette. The Controls palettes contain subpalettes of objects which you can use to create a VI. When you click a subpalette icon, the entire palette changes to the subpalette you selected. To use an object on the palettes, click the object and place it on the front panel.
Figure 2.5 Controls palette.
Table 2.4 lists the tools available in the toolbar of the Controls and Function palettes.
Use the Functions palette to create the block diagram. The Functions palette as shown in Figure 2.6 contains the sub VIs, functions, and constants that are available only on the block diagram. You can access the Functions palette from the block diagram by selecting View»Functions Palette. You can also right-click an open space on the block diagram to display the Functions palette. The VIs and functions located on the Functions palette depend on the palette view currently selected. The VIs and functions are located on subpalettes based on the types of VIs and functions.
Figure 2.6 Functions palette.
All LabVIEW objects have associated shortcut menus. To access the shortcut menu right-click the object and change the look or behavior of front panel and block diagram objects. The most often-used menu is the object shortcut menu. All LabVIEW objects and empty space on the front panel and block diagram have associated shortcut menus.
Use the shortcut menu items to change the look or behavior of front panel and block diagram objects. To access the shortcut menu, right-click the object, front panel or block diagram. To access the shortcut menu, right-click the object. Right-click the label as shown in Figure 2.7 to access its shortcut menu for front panel objects. Right-click the digital display to access its shortcut menu as shown in Figure 2.8. The shortcut menu for a meter is shown in Figure 2.9.
Figure 2.7 Label shortcut menu.
Figure 2.8 Display shortcut menu.
You can use the shortcut menu to create constants, controls and indicators. Right-click a function terminal and select Create»Constant, Create»Control, or Create»Indicator from the shortcut menu to create. To replace nodes, right-click the node and select Replace from the shortcut menu.
Figure 2.9 Meter shortcut menu.
Front panel objects also have property dialog boxes that you can use to change the look or behavior of front panel objects. Right-click the front panels object and select Properties from the shortcut menu to access the property dialog box for an object. Figure 2.10 shows the property dialog box for a meter. The options available on the property dialog box for an object are similar to the options available on the shortcut menu for that object.
Figure 2.10 Property dialog box for a meter.
You can build the front panel with controls and indicators, which are the interactive input and output terminals of the VI, respectively. Controls are knobs, push buttons, dials and other input devices. Indicators are graphs, LEDs and other displays. Controls simulate instrument input devices and supply data to the block diagram of the VI. Indicators simulate instrument output devices and display data the block diagram acquires or generates.
Every control or indicator has a data type associated with it. They are numeric data type, Boolean data type and string data type as shown in Figure 2.11. The numeric data type shown in Figure 2.11(a) can be of various types such as integer or real. The two most commonly used numeric objects are the numeric control and the numeric indicator. The Boolean data type represents data that only has two parts, such as TRUE and FALSE or ON and OFF as in Figure 2.11(b). Use Boolean controls and indicators to enter and display Boolean (True or False) values. Boolean objects simulate switches, push buttons, and LEDs. Figure 2.11(c) shows the string data type which is a sequence of ASCII characters. Use string controls to receive text from the user such as a password or user name and indicators to display text to the user.
Figure 2.11 Numeric, Boolean and string data type.
To keep an object proportional to its original size as you resize it, press the key while you drag the resizing handles or circles. To resize an object as you place it on the front panel, press the key while you click to place the object and drag the resizing handles or circles.
Block diagram objects include terminals, subVIs, functions, constants, structures and wires to transfer data among other block diagram objects.
2.11.1 Terminals
Front panel objects appear as terminals on the block diagram. Figure 2.12 shows the front panel where two numeric values A and B need to be added and subtracted, and the block diagram for the corresponding front panel. Terminals are entry and exit ports that exchange information between the front panel and block diagram. Terminals are analogous to parameters and constants in text-based programming languages. Types of terminals include control or indicator terminals and node terminals. Control and indicator terminals belong to front panel controls and indicators. Data you enter into the front panel controls (A and B in the figure) enter the block diagram through the control terminals. The data then enter the Add and Subtract functions. When the Add and Subtract functions complete their calculations, they produce new data values. The data values flow to the indicator terminals, where they update the front panel indicators.
Figure 2.12 Front panel and its corresponding block diagram.
The terminals represent the data type of the control or indicator. You can configure front panel controls or indicators to appear as icon or data type terminals on the block diagram. By default, front panel objects appear as icon terminals. For example, a numeric icon terminal, shown in Figure 2.13, represents a numeric control on the front panel. A DBL terminal represents a double-precision, floating-point numeric control. To display a terminal as a data type on the block diagram, right-click the terminal and select View As Icon from the shortcut menu.
Figure 2.13 Default icon terminals can be viewed as data type terminal.
2.11.2 Nodes
Nodes are objects on the block diagram that have inputs and/or outputs and perform operations when a VI runs. They are analogous to statements, operators, functions, and subroutines in text-based programming languages.Nodes can be functions, subVIs or structures. Structures are process control elements, such as Case structures, For loops, or While loops. The Add and Subtract functions in the previous figure are function nodes.
2.11.3 Functions
Functions are the fundamental operating elements of LabVIEW. Functions do not have front panels or block diagrams but do have connector panes. Double-clicking a function only selects the function. A function has a pale yellow background on its icon.
2.11.4 SubVIs
SubVIs are VIs that you build to use inside of another VI or that you access on the Functions palette. Any VI has the potential to be used as a subVI. When you double-click a subVI on the block diagram, its front panel and block diagram appear. The front panel includes controls and indicators. The block diagram includes wires, front panel icons, functions, possibly subVIs and other LabVIEW objects. The upper-right corner of the front panel and block diagram displays the icon for the VI. This is the icon that appears when you place the VI on a block diagram as a subVI. SubVIs also can be Express VIs. Express VIs are nodes that require minimal wiring because you configure them with dialog boxes. Use Express VIs for common measurement tasks. You can save the configuration of an Express VI as a subVI. Refer to the Express VIs topic of the LabVIEW Help for more information about creating a subVI from an Express VI configuration.
2.11.5 Express VIs and VIs
Express Vis are interactive VIs with configurable dialog page but Standard VIs are modularized VIs customized by wiring. LabVIEW uses colored icons to distinguish between Express VIs, VIs and functions on the block diagram. By default, icons for Express VIs appear on the block diagram as expandable nodes with icons surrounded by a blue field. Icons for VIs have white backgrounds, and icons for functions have pale yellow backgrounds. By default, most functions and VIs on the block diagram appear as icons that are not expandable, unlike Express VIs.
2.11.6 Wires
You can transfer data among block diagram objects through wires. Each wire has a single data source, but you can wire it to many VIs and functions that read the data. Wires are different colors, styles and thicknesses, depending on their data types as shown in Table 2.5. A broken wire appears as a dashed black line with a red X in the middle, as shown at left. Broken wires occur for a variety of reasons, such as when you try to wire two objects with incompatible data types. You must connect the wires to inputs and outputs that are compatible with the data that is transferred with the wire. You cannot wire an array output to a numeric input. In addition, the direction of the wires must be correct. You must connect the wires to only one input and at least one output. Also you cannot wire two indicators together. The components that determine wiring compatibility include the data type of the control and/or the indicator and the data type of the terminal. Press -B to delete all broken wires or right-click and select Clean Up Wire to reroute the wire.
LabVIEW automatically wires objects as you place them on the block diagram. LabVIEW connects the terminals that best match and leave terminals that do not match unconnected. As you move a selected object close to other objects on the block diagram, LabVIEW draws temporary wires to show you valid connections. When you release the mouse button to place the object on the block diagram, LabVIEW automatically connects the wires. Toggle automatic wiring by pressing the spacebar while you move an object using the Positioning tool. You can adjust the automatic wiring settings by selecting Tools»Options and selecting Block Diagram from the top pull-down menu.
Data types indicate what objects, inputs and outputs you can wire together. For example, if a switch has a green border, you can wire a switch to any input with a green label on an Express VI. If a knob has an orange border, you can wire a knob to any input with an orange label. However, you cannot wire an orange knob to an input with a green label. Notice the wires are the same color as the terminal. The dynamic data type stores the information generated or acquired by an Express VI. The dynamic data type appears as a dark blue terminal. Most Express VIs accept and/or return the dynamic data type. You can wire the dynamic data type to any indicator or input that accepts numeric, waveform or Boolean data. Wire the dynamic data type to an indicator that can best present the data. Indicators include a graph, chart or numeric indicator.
LabVIEW follows a dataflow model for running VIs. A block diagram node executes when all its inputs are available. When a node completes execution, it supplies data to its output terminals and passes the output data to the next node in the dataflow path.
Visual Basic, C++, JAVA, and most other text-based programming languages follow a control flow model of program execution. In control flow, the sequential order of program elements determines the execution order of a program. For a data flow programming, consider a block diagram shown in Figure 2.14 that adds two numbers and then subtracts 50.00 from the result of the addition. In this case, the block diagram executes from left to right, not because the objects are placed in that order, but because the Subtract function cannot execute until the Add function finishes executing and passes the data to the Subtract function. A node executes only when data are available at all of its input terminals, and it supplies data to its output terminals only when it finishes execution.
Figure 2.14 Data flow program.
The programmer can use the Context Help window, the LabVIEW Help and the NI Example Finder to help build and edit VIs. The Context Help window displays basic information about LabVIEW objects when you move the cursor over each object. To toggle display of the Context Help window, select Help»Show Context Help, press or click the Show Context Help Window button on the toolbar.
The LabVIEW Help contains detailed descriptions of most palettes, menus, tools, VIs and functions. It LabVIEW Help also includes step-by-step instructions for using LabVIEW features. Access LabVIEW Help by the following methods:
The New dialog box contains many LabVIEW template VIs that you can use to start building VIs. However, these template VIs are only a subset of the hundreds of example VIs included with LabVIEW. You can modify any example VI to fit an application, or you can copy and paste from an example into a VI that you create. In addition to the example VIs that ship with LabVIEW, you also can access hundreds of example VIs on the NI Developer Zone at ni.com/zone. To search all examples using LabVIEW VIs, use the NI Example Finder. The NI Example Finder is the gateway to all installed examples and the examples located on the NI Developer Zone. To launch the NI Example Finder, select Help»Find Examples from the front panel or block diagram menu bar. You also can launch the NI Example Finder by clicking the arrow on the Open button on the LabVIEW dialog box and selecting Examples from the shortcut menu.
Free Demo for Corporate & Online Trainings.


text:
Earlier this year, Marvel Comics gave its subscription-based digital comics service, Marvel Unlimited, a serious overhaul. Now available on iOS and Android devices, Unlimited can be used to access over 13,000 comics from throughout Marvel's history – including books as recent as six months old. But for some hardcore Marvelites, that just might not be enough.
Beginning today, Marvel is offering a new subscription level dubbed Marvel Unlimited Plus. For $99.99/year, readers can get full access to Unlimited on top of exclusive bonus incentives including variant covers, action figures, discounts at the Marvel Store and digital comics app, and much more. When you sign up for the service, you'll also get the bonus swag in a cool exclusive collectible short box that includes an official membership card and welcome letter.
In fact, we unboxed the very first one – themed around Marvel's recent Age of Ultron event – so you can see what we're talking about! (Quick note about the video: by a slip of the tongue I say that it's $99.99/month which is obviously wrong. The correct price is $99.99/year as listed in this article.)
Take a look:
"Marvel has always been a fan-focused publisher, and Marvel Unlimited Plus is the natural next step to many years of putting our fans first," Peter Phillips, Senior Vice President and General Manager of Marvel's Digital Media Group, told IGN. "We've worked hard to build the best Marvel digital comics fan experience, and give our fans the best of the Marvel Universe with benefits as far-reaching as unlimited comics access, shopping discounts, early access to our freshest content, and more!"
In addition to the cool 6-inch gold Marvel Legends Ultron figure and Age of Ultron #10 Salvador Larroca variant cover you saw in the unboxing video, a subscription to Unlimited Plus comes with daily perks. "Throughout the year, Marvel Unlimited Plus members will have access to every day benefits like 15% off Marvel digital comics and 10% off MarvelStore.com, access to members-only events and benefits at cons, and early access to the freshest Marvel content – a benefit that's never been offered before."
Better yet, Phillips hinted that there will be "more surprise-and-delight moments in store" for Plus members throughout the year and that they will be reevaluating the collectible kits annually, so when you (inevitably) renew, you'll be getting all-new swag. "We plan to refresh the collectible kits every year, but we may experiment with the format based on what our fans are clamoring for."
Readers can sign up for Marvel Unlimited Plus for $99.99/year at marvel.com/comics/unlimited. The regular Unlimited subscription is $9.99/month or $69/year.
Joey is a Senior Editor at IGN and a comic book creator. Follow Joey on Twitter @JoeyEsposito, or find him on IGN at Joey-IGN. He often wonders whatever happened to Billy's RadBug.

subset: commoncrawl


text:
Show Summary Details
Quick Reference
Small glass holder for a bunch of flowers, especially one carried in the hand; the design, which derives from late 18th-century France, is a trumpet-shaped mouth and a deep handle ...
Subjects: Art.
Related content in Oxford Index
Reference entries
Users without a subscription are not able to see the full content. Please, subscribe or login to access all content.


text:
Anthony Lawson, 9, of the 4300 block of Northwest 34th Court, reported his $120 bicycle was stolen from the front of his house Tuesday.Stacy E. Coats, 23, on vacation here from Alabama, reported her $250 stereo was stolen from her car Sunday while it was parked in the 5200 block of Northwest 26th Street.Jacob Warshowsky, 59, told police last Friday that he parked his station wagon in front of his warehouse bay in the 600 block of Northwest Eighth Street at approximately 8:30 p.m. and a short time later, as he started to drive away, he noticed that he had a flat tire. When he went to change it, Warshowsky said he discovered a 1 1/2-inch cut in the tire. He estimated that it will cost him $100 to have the tire replaced.
Robert Sanders, of the 200 block of Northwest 56th Terrace, told police that he parked his car at the post office in the 4700 block of Coconut Creek Parkway last Friday and when he came back to his unlocked car, discovered that his hearing aid, worth $550, had been removed from a box on the front seat of the car.
Dorothy Morgan, 40, of the 6100 block of Southgate Boulevard, told police Monday that sometime between Feb. 1 and March 4, almost $2,000 worth of furniture was stolen from her home. Items missing included a $350 couch, $200 dining set and $200 sewing machine.An overhead projector and cassette deck were reported stolen Tuesday from Piper High School, located in the 8000 block of Northwest 44th Street. The equipment was valued at $198.13, police reported.A $250 bicycle chained to a rack was stolen sometime between March 5 and March 8, police said. The bicycle was stolen from the home of Gary Wallace, 26, who lives in the 4000 block of Lakeside Drive.


text:
The Excruciating Wait for the Condo Lottery Drawing
Yes, it's that time again! The Condo Lottery Drawing is near! February 7th, to be exact.
If you haven't signed up yet, tough luck. The deadline was last Friday.
But for those (thousands of tortured souls) waiting for February 7th, it appears there is a new twist in the drama: according to the SF TIC blog, they will now be doing the drawing digitally, using a computer to randomly draw the numbers, rather than slips of paper and a 40-gallon cowboy hat. And the author of the article, RP, has concerns about how 'random' this drawing might actually be. Or for the conspiracy theorists in the house, how the drawing could actually be rigged or influenced.
Ahhh… San Francisco. If it's not one thing, it certainly is another…
Now I would venture to guess that if you're involved in the 2007 Condo Lottery, you are more than up-to-speed on the process, as well as when you'll find out if you were selected (that would be February 14th, one week after the actual drawing).
But for those that are just getting into the process (perhaps waiting out your owner-occupancy requirement), there is a great PDF with all of the details on this year's lottery here.
Since this is the first year that we'll be excluding units from consideration [PDF] that had multiple evictions or evictions of 'protected' tenants, we'll see if that has shrunk the numbers at all. My guess is that the pool will be larger than ever. And unlike last year, there is very little favoritism for those that may have already been through the lottery 7+ years in a row.
According to a Department of Public Works study published by the Examiner last fall, there were 1652 units that applied for the 2006 lottery, which leaves 1452 that will likely be back for this year's carnival (except those who might have done the aforementioned evictions).
And even if we lived in a vacuum and no more buildings entered the lottery (think of how many new TIC buildings were formed in the past three years!), we're looking at seven or eight years just to clear out the existing applicants.
I really hope that buyers aren't being told that condo conversion is much of an option in their lifetimes right now… Especially considering that most people are only in their homes in SF these days for 2-3 years. That's barely enough time to convert a lottery-exempted two unit building!
I wish all of the applicants the best of luck!
I also expect to see at least 20 of those lottery-winning units to hit the MLS on February 15th…
Condo Conversion in San Francisco [Department of Public Works]
2007 Condominium Lottery Information [Department of Public Works]
Condo Lottery Goes Digital [SF TIC]
Condo permit odds toughen [Examiner]
T-Third running, other routes changing
I know that I'm two weeks late on this one. I was still out of town on January 13th when the new T-Third MUNI line started its weekend-only service. But now I'm back, so if you haven't heard it somewhere else, you'll hear it now.
Additionally, there are some changes to other MUNI lines coming on April 7th, when the full-time operation of the T-Third kicks in.
From SFMUNI.com,
Service Effective January 13, 2007
T-THIRD introductory service operates January 13, 2007, through April 1, 2007, weekends only, from 10 a.m. to 7 p.m. every 20 minutes. [FREE if you board south of 4th/King]
Service Effective April 7, 2007
New T line Service changes on the N & J 15-Third service replaced by T-THIRD line and 9X Castro Shuttle service replaced by T-THIRD line T-THIRD: The T line operates from Castro Station, down Market Street, around The Embarcadero and down Third Street to Sunnydale Avenue. N-JUDAH: The N line will now terminate at the Embarcadero Station (not 4th & King) J-CHURCH: During peak hours only, the J line terminates at 4th & King. During regular hours it continues to terminate at The Embarcadero station.
So where I used to take the N-Judah from Cole Valley to AT&T Park for Giants games, I'll now take either the J-Church from Church/Duboce, or the T-Third from somewhere on Market.
But the important thing is that the T-Third is finally up and running.
Gonna have to get out and do a lap to see how it all looks. I drive 3rd Street and have seen the construction taking shape, but look forward to seeing how far/long the ride is from downtown.
Interesting that they couldn't have moved the opening up just few days, as the first Giants home exhibition game is on Thursday, March 29th, and they will have played 7 home games before April 7th. Not to mention that April 7th is a home game vs. the rival Dodgers. That should make for even more confusion than normal for those poor Dodgers fans…
I know that the world certainly doesn't revolve around the Giants, or even around Barry Bonds, but when you're pushing 43,000 people through the area, you would think that it would have been taken into consideration.
SFMUNI.com – T-Third [official site]
Third Street rail on track for January run [SFHomeBlog]
Transit + Housing = Good
This is another one of the things that I feel strongly about: building new housing close to major transit lines! And it appears that at least one part of San Francisco is heading in the right direction to that end, Balboa Park.
Where, you ask?
Balboa Park. [Google Map]
For those of you who ride BART, but have never been past 24th & Mission, you would continue on to Glen Park, then one more stop to Balboa Park. This is also the end of the line for multiple MUNI lines, including the J-Church, K-Ingleside, and M-Oceanview.
There are still many folks who refuse to consider Glen Park, no matter how quickly you can get downtown. I know, you have renter-friends who still live in the Marina. I get it. But now you'll start hearing people talking about neighborhoods like Mission Terrace, the Excelsior, and Ingleside. Many parts of these neighborhoods are walking distance to Balboa Park BART, and have all of your favorite amenities like coffee shops, family-owned restaurants, and a sense of community.
And the city actually has a long-range plan for the area (imagine that!!), which includes higher-density housing along the corridor streets like Ocean Avenue.
Now AvalonBay Housing (the same people who run the all-rental building across from the Beacon, which is also next to AT&T Park) has bought up a site which is now a Kragen Auto Parts, and will be building 160 units and a large grocery store space on the site. The housing will be rental, and will likely include the current requirement of 15% affordable units.
From this week's San Francisco Business Times,
Rental housing giant AvalonBay has snapped up a development site near City College of San Francisco and will build a 160-unit mixed-use project.
AvalonBay, which owns 47,445 apartments in 10 states and has a $4 billion pipeline, would transform the Kragen Auto Parts store at 1150 Ocean Ave. into a mixed-use development with housing above a 30,000-square-foot grocery store.
City planning officials call it a vital part of efforts to create a transit-oriented village near the Balboa BART station.
"It's definitely one of the central proposals in the Balboa Park plan," said Ken Rich, manager of plans and programs for the city's Planning Department.
The Balboa Park Station Area Plan calls for 1,780 new apartments and 104,680 square feet of commercial development clustered around the station and along the Ocean Avenue commercial district.
The Balboa station is one of the busiest in the BART system, and the city would love to see more development proposals to get more residents living within walking distance to the station, Rich said. In addition to the Kragen site, a mixed-use affordable housing development and new community park is planned for the so-called Phelan Loop, on the north side of Ocean Avenue between Phelan and Plymouth streets.
While AvalonBay would not comment on the retail portion of the project, the plan clearly calls for a grocery store on the Kragen site.
"That is the No. 1 desire of the community and the developer is designing the project exactly as the plan asks," said Rich. [more…]
So, not only do they have a plan, but so far it appears that there are developers who can make the numbers work. At least until Supervisor Maxwell gets her hands on the project in committee or in front of the full board…
Now if we could only get this kind of planning and progress at sites like the Schlage Lock Factory near the Cow Palace! Problem is, that's in Maxwell's district. Our grandchildren have a better shot of seeing that one get built than we ever will.
AvalonBay snags Balboa Park site for housing, stores [SF Business Times]
Balboa Park Station [BART.gov]
Everybody fights, housing loses
Guess I should start a series of articles called 'housing loses'… Because that's what continues to happen in our lovely town, courtesy of our jackass Board of Supervisors.
Today's oh-so-common topics: Trinity Plaza and the Armory (again)
First, the 'good' news. The 1,900 unit Trinity Plaza development was approved AGAIN on Thursday by the Planning Commission.
Everything was previously on track till 'Supes Maxwell and McGoldrick (looking to get their names in print, undoubtedly) threw a stick in the proverbial spokes last November, putting the project into yet another tailspin.
Never mind that Trinity is not in either of their districts, or that the 'Supe for that district (Daly) was in full approval of what was then-agreed-upon.
But once again, it's about making a name for oneself through headlines and/or attempts at setting a new standard in developer extortion or affordable housing minimum requirements. I mean, why should Chris Daly get all of the headlines?!?
From Friday's Examiner,
The commission's second vote on the amendment came after the Board of Supervisors refused to adopt it in November 2006, as the project became bogged down over competing visions for how much affordable housing should be included.
In the coming weeks, the Board of Supervisors Land Use and Economic Development Committee is expected to hold a hearing on the proposed development, which would go in at the four-acre site on Market and Eighth streets. [more…]
So although we saw the Planning Commission give it yet-another thumbs-up, we are still in for another round of silliness with Maxwell & McGoldrick…
From Friday's BeyondChron,
Now the question on everyone's mind is if the same shenanigans will happen all over again. Board President Aaron Peskin has chosen to keep both Maxwell and McGoldrick on the Land Use Committee, allowing for the possibility for further shenanigans. It also means that 1900 units of rental housing might never be built. [more…]
And what is the fight really about right now? McGoldrick wants another 46-48 units made affordable. So in his fight to get less than 50 units designated affordable, he's willing to screw you, the residents of San Francisco, out of a MUCH-needed 1,900 units of housing. That makes a lot of sense.
Then again, let's not forget about 2007's favorite cocktail party topic, the conversion of the Armory (14th & Mission) into (depending on who you ask) a big film production facility that will benefit all of San Francisco with the economic boost, not to mention the clean-up of a very dirty and dangerous block, or on the other hand, a den of perversion which threatens to corrupt any school-age child within a one-mile radius.
The point of bringing up the Armory in this discussion is plain and simple: learn from your mistakes! The well-intentioned folks at the Mission Anti-Displacement Coalition, Mission Neighborhood Center, et al. pressured their 'Supe (Chris Daly) along with their other 'Supe (Tom Ammiano) into restricting what that HUGE space might have been used for.
First they wanted affordable-only housing. But that wasn't enough. Then they wanted low-income housing. And that wasn't enough, either. Then they wanted NO-INCOME housing. And in the meantime, developer after developer got sick of waiting and moved onto greener pastures (likely outside of SF).
So in his own free-market brilliance, the most-recent owner did what every good capitalist would: he found a buyer that wasn't going to use the space for housing, made them agree to a confidentiality agreement (so nobody would get wind of the transaction till it was done), and cashed-out.
The other key piece to this puzzle is that the new owner, who we all know to be kink.com, is not planning any changes that would require government intervention. Meaning they are not changing the use of the building (it has been a commercial use and will continue to be a commercial use). They also are not making any exterior changes to the building, short of repairing windows, and cleaning up, so they are not subject to any scrutiny from the Planning Department. Besides, if this wasn't such a big news piece, would anyone have known was was going on behind the tall, brick walls?
From Friday's Chronicle,
[Peter Acworth, kink.com's CEO, says that] the film company will be a good neighbor. Acworth already has met with a housing organization and a merchants group, he said, and is open to meeting with others. He also has reached out to the mayor's office and Daly, he added, but was unable to talk about the sale publicly before it was finalized because of a verbal confidentiality agreement with the building's previous owners.
Acworth said he also would like to explore the idea of turning part of the armory into an assembly room for community use, he said, and plans on making improvements to the exterior. "It's not a porn shop at all — it's not as if it's open to the public," Acworth said. "I have been in business for 10 years" in three other locations in the city "and I'm not even sure the neighbors knew what we were doing," he said. [more…]
So where does that leave us? Well, from that same Friday Chronicle article, we find that the Mission neighborhood groups are REALLY sore losers. They thought they had Daly in their back pocket (they do, actually), and that they would ultimately find someone dumb/rich enough to create a little utopia of no-income housing, without any subsidy from the city or state. But since a few decades have passed and nobody rich or dumb enough has come along, the building finds a buyer in kink.com, and the neighborhood groups are crying foul.
Like a bunch of spoiled children.
Whether you like kink.com or not, they bought the building and they will do what is necessary to follow any/all laws/rules/regulations governing the business that they do in the space. And like it or not, there's really not much anyone in the Mission or down at City Hall can do about it.
Unless we want to get into a conversation about eminent domain. But we all know that the City of San Francisco doesn't have $15M to plop down on that sort of solution…
So what's the moral of the story? Tell your Supervisor (no matter what district you live in) to quit fighting about this crap and move some of these housing projects forward. Can you imagine if some deep-pocketed shopping mall developer got wind of the problems at Trinity Plaza? Perhaps he offers Sangiacomo a very large sum of money, and converts all of that potential housing to yet-another shopping mall.
What would Maxwell & McGoldrick have to say about that?
It's time to quit fighting and build more housing. Now.
Amendment propels Trinity Plaza project [Examiner]
Planning Commission Approves Trinity Plaza — Again [BeyondChron]
No welcome mat for adult film studio [SFGate]
Porn wins, housing loses [SFHomeBlog]
Are cries of Mission gentrification justified?
Was really surprised to read this one today… BeyondChron's Randy Shaw lived in the Mission in the early-'80s, and returned last week (for the first time, perhaps??) to find that things aren't all that different after twenty five years…
The recent purchase of the Mission's historic Armory by Kink.com, and its planned use as a bondage video studio, has raised questions about who, if anyone, is guiding the neighborhood's future. Business and development interests, along with some merchants and residents, believe the Armory ended up as a site for porno films because pesky neighborhood activists prevented a more neighborhood-serving use. Activists, however, long opposed market-rate housing at the Armory, and have sought to delay any Mission development until their neighborhood plan is released. The irony of all this finger-pointing is that the Mission District is actually thriving, and that for all the talk of gentrification and anti-development zealotry, much of the community has remained remarkably unchanged over the past 25 years. [more…]
He goes on to detail how many of the same shops are around (especially on 24th Street and Mission Street), and even run by the same owners or employees. In fact, he even defends the few new housing projects that are underway, reminding folks how little new construction has occurred there in the past few years.
Just a bit surprising to see BeyondChron allow something to run that shoots down so much of what they complain about week-in and week-out.
The Future of San Francisco's Mission District [BeyondChron]
New Affordable Housing Engine Needed in Mission [BeyondChron]


text:
- Sun
- Mon
- Tue
- Wed
- Thu
- Fri
- Sat
Jan 9 5:00 PM
Fore Restaurant and Lounge, 1959 KLO Rd, Kelowna
EXPERIENCING YOUR COMMUNITY THROUGH INSPIRATIONAL STORIES Balance Well-Being Centre Inc. is proud to present BWB Storytelling Tuesday!!! Limited tickets available get yours now. BE Inspired BE Moved BE Entertained What to expect:...
Jan 9 7:00 PM
Rotary Centre for the Arts, 421 Cawston Avenue, Kelowna
New Vintage Theatre broke RCA box office records with the huge Broadway musical Rock Of Ages last April. Featuring the music of classic 1980's rock bands like Bon Jovi, Journey, Foreigner, and solo artists like Pat Benatar, the production played...
Jan 9 7:00 PM
Rotary Centre for the Arts, 421 Cawston Avenue, Kelowna
The Living Things International Arts Festival brings Kelowna's arts communities together once a year for an inclusive, winter festival with celebrated live performances from regional, national and international artists in local venues. This...
Jan 9 10:00 AM
Museum of Anthropology at UBC, 6393 NW Marine Drive Vancouver, BC , Vancouver
The Museum of Anthropology (MOA) at UBC presents the thought-provoking, socially and environmentally-conscious new exhibition Amazonia: The Rights of Nature, on display March 10, 2017 – January 28, 2018. Curated by Dr. Nuno Porto (MOA Curator,...
Jan 9 10:00 AM
Museum of Vancouver, 1100 Chestnut Street, Vancouver
The Museum of Vancouver (MOV) explores the history of our city's street protests with City on Edge: A Century of Vancouver Activism – a major, new photo-based exhibition on display from September 28-February 18, 2018, showcasing rarely seen...
Jan 9 10:00 AM
Museum of Anthropology at UBC, 6393 NW Marine Dr, Vancouver, BC V6T 1Z2, Vancouver
Jan 9 10:00 AM
Okanagan Military Museum, 1424 Ellis , Kelowna
Success in Battle is the 4th installment in our WWI exhibition series. New displays explore the compelling story of how Canadian soldiers succeeded in several important battles in 1917, including Vimy Ridge. Their victories were aided by advances...
Jan 9 10:00 AM
Penticton Art Gallery, 199 Marina Way, Penticton
Main Gallery Exhibition opening featuring the works of Lincoln Clarkes, Brad McMurray, and Alan Wood; recent donations to the Penticton Art Gallery's Permanent Collection. 7:00-9:00pm. Free event; all welcome.
Jan 9 12:00 PM
Penticton Museum & Archives, 785 Main Street, Penticton
Puppets have been used in many societies all around the world as a powerful storytelling technique. They provide many therapeutic benefits to children, giving them the opportunity to express fears and frustrations in a creative, safe space. Join...
Jan 9 7:00 PM
Penticton Art Gallery, 199 Marina Way, Penticton
University-level art history lectures running from October to April, first Tuesday of the month. $10 single lecture; series tickets $60 non-members, $50 members. Lectures focus on the art and architecture of Rome from antiquity to the modern day.
Jan 9 7:00 PM
Evangel Church, 3261 Gordon Drive, Kelowna
Speaker: LOGAN LALONDE Logan was chosen to embark on a journey to the Cornell Lab of Ornithology in New York, to attend the Young Birders Event. It was an eye-opening experience for him and he learned a massive amount about birds, careers in...
Jan 9 1:00 PM
H2O Adventure & Fitness Center, 4075 Gordon Drive, Kelowna
Cancer: Thriving & Surviving is a no cost self-management program designed for people who are undergoing treatment or have completed treatment and are living with or have been affected by cancer. Classes are highly participatory, where mutual...
Jan 9 2:00 PM
The World of Computer Technology, #400 1950 Harvey Ave., Kelowna
Our Kelowna London Drugs Computer department features Daily information seminars. These events focus on all aspects of computers from backing up your data to home automation, wifi basics as well as the newest gaming solutions, printers and more!...
Jan 9 4:00 PM
Vernon Community Arts Centre, 2704A Hwy 6, Vernon
Painting with Acrylics for ages 11-15 with Samantha Hesketh (4 classes) Throughout this 4 week class students will work with acrylics to create paintings they are proud to take home. Come and play around with different techniques and colors in a...
Jan 9 7:00 PM
CNIB, 101-1456 St Paul St., Kelowna
SMART Recovery is the leading alternative to the 12-step programs for helping people overcome addictions. Whether your addictive behaviour involves substances - alcohol, smoking, or drugs - or behaviours - gambling, sex, eating, shopping,...
Jan 9 Various Times
Kelowna Kiwanis Festival Office and Mailing Address, 721 Bernard Avenue, Kelowna
Music teachers and amateur performing artists should register online now at http://www.kelownakiwanisfestival.com for the 2018 Kelowna Kiwanis Festival. Take advantage of this annual festival for aspiring performing artists to showcase their...
Jan 9 Various Times
Black Box Theatre, 1375 Water Street, Kelowna
The LIVING THINGS INTERNATIONAL ARTS FESTIVAL fills a vital niche in the Okanagan Valley's cultural fabric, featuring boundary pushing contemporary theatre, music, dance, animated films, visual art and multi-media performances from international...
Jan 9 5:30 PM
Fore Restaurant, Mission Creek Golf Club, 1959 KLO Road, Kelowna, Kelowna
Soroptimist International of Western Canada invites you to join us for wine, snacks and chocolate. Learn about Soroptimist, a dynamic volunteer organization working to improve the lives of women and girls through programs leading to social and...
Jan 9 6:30 PM
KCR Community Services, 620 Leon Avenue, Kelowna
An information series, dealing with issues of interest to immigrants and newcomers to the community. Jan 9 - Sponsoring a Family Member, Jan 23 Family Law, Feb 6 Citizenship, Feb 23 Permanent Resident Options, Mar 6 Criminal Law & Mar 13 Small...
Social Action
Jan 9 Various Times
UNITARIAN HALL, 1310 Bertram St Kelowna, Kelowna
Celebrating & connecting all Vegan, Raw & Vegetarians to dine together and enjoy meeting awesome people feasting on fabulous healthy food! "Bring your friends and the VEGAN DISH you are most famous for" $5 Admission & Children under 12 feast...
Jan 9 12:15 PM
Ultimate Social Club upcoming events, 4 1900 46 avenue, Vernon
The Ultimate Social Club is a singles activities club holding weekly events throughout the Okanagan. Fun and an amazing way to meet new friends while experiencing social venues . www.meetup.com search for singles or social and Ultimate Social...
Jan 9 6:30 PM
OK Falls Hotel Pub, 1045 Main Street, Okanagan Falls
Free, friendly, fun Texas Hold'em poker league. Play weekly and qualify for Season Finals and Provincial Championships, where cash and trophies will be won.
Jan 9 7:00 PM
Woody's Pub, 9882 Highway 97 North, Lake Country
Free, friendly, fun Texas Hold'em poker league. Play for the weekly prize, and to qualify for the Season Finals and annual Provincial Championships, where cash, prizes and trophies will be won.
Jan 9 6:30 PM
Okanagan Mission Community Hall, 4409 Lakeshore Road, Kelowna
Join us for 2 hours of FREE instruction in Taoist Tai Chi® arts. Experience a complete exercise unlike any other that can help you feel better and live a healthier more harmonious life. In a survey of over 18,000 international Taoist...