Syllabus: Mechatronics and Engineering 3 Somerset County Vocational and Technical School Dan Dalfonzo 2018/2019 Topic 1: What is LabVIEW? (4 weeks) 1 LabVIEW and Vis Guided Task 1 2 Controls, Indicators, and Functions Guided Task 2 LabVIEW Interface Front Panel Block Diagram Icon Connector Pane Running VIs Controls Palette Controls Indicators Functions Palette Functions Palette Searches Tools Palette 3 Dataflow Dataflow Model Order of VI Operation Dataflow of Complex VIs 4 s in LabVIEW Creating LabVIEW s myrio s Dependencies N/A Hardware Tasks Building the Rover Wiring the myrio Connecting the myrio to Wi-Fi Topic 2: Troubleshooting and Debugging (4 weeks) 1 LabVIEW Help Tools Context Help Context Help Window LabVIEW Detailed Help NI Example Finder 2 Errors in LabVIEW Errors in Vis Non-Executable and Broken VIs Broken Run Arrow LabVIEW Error List Common Causes of Errors 3 LabVIEW Troubleshooting Tools Highlight Execution Single Stepping Probe Tool Breakpoints Basic Error Handling Can We Fix It? This project aims to reinforce basic LabVIEW error management and debugging concepts. Students will debug a VI that they are given and compose an error report. Topic 3: Introduction to VIs (4 weeks) Lesson Lesson 1
1 Organizing Your VI VI Arrangement Documentation 2 Data Types Introduction to Data and Data Types Boolean Data Numeric Data String Data Enumerated Data Dynamic Data 3 Loops While Loops For Loops Iteration Terminals Loop Tunnels Shift Registers Stacking Shift Registers 4 Charts and Graphs Waveform Charts Waveform Graphs XY Graphs 5 Case Structures Case Structures Case Structure Terminals Case Structure Tunnels Cases Photovore: The Light Eater In Topic 1, students created the Rover. The Rover drove forward, measured the ambient light, and then graphed and recorded the data. Now, students will expand the project so that the Rover becomes a Photovore. A photovore is a light eating, or light-seeking, entity. The Photovore will drive forward and backward looking for stronger light. It will also use the IR range sensor to avoid hitting an object in front of it. Topic 4: Developing Modular Applications (4 weeks) 1 SubVIs Modularity SubVIs Creating SubVIs SubVI Icons Editing SubVIs SubVI Terminals Connector Panes Simplify! In the Topic 3 project, students developed a VI for a photovore robot. However, that VI was complicated, convoluted, and took up an area larger than the average computer screen. In this project, students will simplify the VI by incorporating modularity into it. Topic 5: Organizing Data (3 weeks) 1 Arrays Uses of Arrays Creating Arrays Indexing Arrays 2 Bundles and Clusters Creating Clusters Bundling Clusters Unbundling Clusters The Error Cluster 3 Type Defs Type Definitions (Defs) Categories Type Defs Creating Controls Type Defs VS Strict Type Defs 2
The Data Collector In the previous projects, students created the photovore Rover. The VI that controlled the Rover was simplified and its overall structure was improved. In this project, students will use the Rover with the ALS and IR sensor. They will use arrays and clusters to improve data collection and operability. In terms of operational changes, the Rover will be required to turn when it gets too close to an object instead of just reversing its motion. Topic 6: File I/O (3 weeks) 1 File I/O in LabVIEW Steps of File I/O LabVIEW File Formats High and Low Level I/O Record Your Rover! This product aims to reinforce file I/O concepts, and aids in students understanding of the material taught via practical application. The final product of the project is the data output file of the sensor data of the myrio robot rover and its accompanying graph and VI. Students will discuss their data as well as the storage requirements for the data. Topic 7: Using Variables (3 weeks) 1 Introduction to Variables Parallel Processes The Purpose of Variables Local Variables Global Variables Global VIs 2 Implementing Variables Overuse of Variables Race Conditions Initializing Variable Values Avoiding Race Conditions Functional Global Variables Semaphores Let s Change It Up In Topics 3-5, students developed a VI for a photovore robot. Multiple modifications have been made to the photovore VI, including the addition of subvis, arrays, and additional sensors. In this project, students will improve the layout of the VI by adding variables for data transfer. Topic 8: Common Design Techniques (3 weeks) 1 State Machines Program Architecture and Design Patterns State Machines Sequential Tasks Controlling State Machines 3
2 Design Loop Patterns Design Patterns for Parallel Tasks Master/Slave Pattern Producer/Consumer Patterns Applications of Design Loop Patterns 3 Pattern Timing Execution Timing Software Control Timing Rage Against the State Machine! In this project, students will create a state machine that allows the Rover to drive forward in a straight line using the accelerometer or gyroscope to adjust wheel speeds. Students will be required to experiment in order to discover which output is the most useful for this job. In addition, students will have to determine exactly how to implement a state machine into their VIs. Topic 9: Synchronization Techniques (3 weeks) 1 The Importance of Coordination Synchronization Notifiers Queues The Brightest In this project, students will enhance their Rovers by programming them to find the area of brightest light in the room using the Rover s sensors. Light Topic 10: User Control (3 weeks) 1 Event Structures Events Event-Based Design Patterns Event Structure Anatomy 2 Event Types Types of Events in LabVIEW Standard User Interface Handler Event Handling Events and Real-Time Targets Topic 11: Error Handling (3 weeks) 1 Advanced Error Handling Definition of Error Handling Errors and Warnings Error Handlers Error Clusters Error Status and Code Value Shut It Down! In this project, students will enhance their Rovers by creating a shutdown state (manual and error activated). The Rover will be able to drive randomly around the room until stopped while using the IR sensor to avoid obstacles that are in front of 4
it. The VI will use the state machine architecture. It will also use the producer/consumer design to create a downloaded array of the light readings. Topic 12: Controlling the User Interface (3 weeks) 1 Dynamic Front Panels Property Nodes Property Node Terminals Invoke Nodes Dynamic Front Panels and Real Time Targets 5