Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 43 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
43
Dung lượng
2,03 MB
Nội dung
Paper ID #33012 Work in Progress: Assessment of Automation Labs to Facilitate Continuous Improvement Mr Bradley Lane Kicklighter, University of Southern Indiana Brad holds a BS in Electrical Engineering from Rose-Hulman Institute of Technology (1989) and an MS in Electrical and Computer Engineering from Purdue University (2001) His past work experience includes eleven years at Delphi (formerly Delco Electronics) as an Advanced Project Engineer, eleven years at Whirlpool Corporation as a Lead Engineer/Solution Architect, and three years at Ivy Tech Community College as an Instructor/Program Chair of Pre-Engineering Since 2015, he has been employed at the University of Southern Indiana as an Assistant Professor of Manufacturing Engineering Technology He holds three patents, has served as an IEEE section officer since 2004, and has been a Licensed Professional Engineer in the State of Indiana since 2005 c American Society for Engineering Education, 2021 Work in Progress: Assessment of Automation Labs to Facilitate Continuous Improvement Abstract With the implementation of new equipment and laboratory activities in an automation course, it is desired to assess the effectiveness of the equipment and labs so that improvements may be made This paper covers the assessment methods used and the results to date New Programmable Logic Controller (PLC) trainers have been introduced in SCADA (Supervisory Control and Data Acquisition) Systems Design The labs for this course have either been modified or new ones created to work with the new equipment To objectively assess the effectiveness of the equipment and laboratory activities, pre- and post-lab surveys are administered to the students Students are surveyed about their understanding of the various objectives of the labs The survey results, along with direct assessment data in the form of lab scores, are used to identify areas of improvement for the equipment and the labs Introduction In the fall of 2020, a new PLC trainer was introduced to SCADA Systems Design, which required several labs to be modified or replaced with new ones Surveys administered to the students and lab scores were used to assess the effectiveness of the equipment and the labs [1], [2] The objectives of the labs formed the basis of the survey questions The survey results are used to identify areas of improvement Course ENGR 382 SCADA (Supervisory Control and Data Acquisition) Systems Design is an upperdivision course taught to students in the Engineering Department as an elective or required course, depending upon the program The following are the course learning outcomes: Understand common Industrial Automation concepts, methods, and control algorithms Understand sensors and actuators used in Industrial Automation tasks Design Piping & Instrumentation Diagrams (P&IDs) for simple process systems Measure process variables in response to process parameters and analyze the resulting process behavior Understand Programmable Logic Controller (PLC) components, signal interface methods, and applications Design and write PLC control programs Recognize other control program language formats defined in the IEC 61131-3 standard Design and program suitable Human Machine Interface systems Understand common industrial networking topologies, protocols, and hardware Course learning outcomes one, five, and six are related to PLC programming The course has the following laboratory activities: • • • • • • • • • • • • Lab 1: Automation Device Specifications Lab 2: CLICK Programming Software Introduction Lab 3: Basic Ladder Logic Programming Lab 4: Sequential Programming and Looping Lab 5: Car Lot Management System Lab 6: Stop Lights Lab 7: LabVIEW Lab 8: Analog I/O Lab 9: Analog Calculator Lab 10: Reaction Timer Lab 11: Process Trainer Closed-Loop Control Lab 12: Process Control System Design Seven of twelve laboratory activities use the new PLC Trainer (Lab 1, Lab 2, Lab 7, Lab 11, and Lab 12 not) See the Appendix for the labs referenced by this paper PLC Trainer The PLC trainer (see Figure 1) used for this course is based around an AutomationDirect CLICK PLC, a 16-point discrete input module, and 8-point relay output module [3] There are six lighted momentary pushbuttons, two potentiometers (connected to analog inputs), and a voltmeter (connected to an analog output) Figure 1: CLICK PLC Trainer Methods Blackboard is the learning management system used by our university The surveys used for this assessment were administered in Blackboard For each lab being assessed, a pre-lab survey is administered to the students Completing the survey makes the lab available using adaptive release in Blackboard Submitting the lab assignment to Blackboard makes the post-lab survey available The surveys consist of Likert Scale questions about the objectives of the lab and a place for students to make comments about the lab Note that for a given lab, the pre- and postlab survey questions are the same Since the surveys are Blackboard surveys, this means that they are anonymous Thus, the preand post-lab survey cannot be paired Since the data are non-parametric (see Shapiro-Wilk Normality Test results in the appendix) and that the pre- and post-lab data cannot be paired, the Wilcoxon Ranked Sum Test is used to test differences between the pre- and post-lab data to a 95% confidence level [4], [5] Box plots for each lab are prepared R is used for the Schapiro-Wilk Normality Test and for the Wilcoxon Ranked Sum Test Microsoft® Excel® is used to prepare the box plots The Likert Scale results are mapped to numeric scores per Table Result Score Strongly Agree Agree Neither Agree nor Disagree Disagree -1 Strongly Disagree -2 Table 1: Likert Scale Result to Score Mapping The hypothesis is that the post-lab survey values are greater than the pre-lab survey values Results and Discussion For each lab, the survey questions are presented, box plots of the data by question, box plots for the combined question data, a table of the Wilcoxon Ranked Sum Test results, and the comments entered by students Note that comments were not asked for until Lab A discussion of results follows each lab’s results Following the survey data is direct assessment data in the form of scores on the labs For a direct assessment item, success is defined as the average student performance being greater than 70% The labs assessed indirectly and directly are Lab to Lab and Lab to Lab 10 The other labs in the course did not involve the new PLC trainer The normality test results are found in the Appendix The number of responses per survey question are found in the Appendix The data is from fall 2020 and the number of students enrolled in the class was sixteen Lab Questions: Q1: I feel confident in using the CLICK Programming Software to create simple ladder logic programs Q2: I understand how logic gates as implemented in ladder logic work Q3: I am able to translate a Boolean expression into a ladder logic program Q4: I understand what a seal in and a seal breaker are Figure shows the box plots of pre- and post-lab survey questions and Figure shows the box plots of the combined pre- and post-lab data Figure 2: Lab Box Plots for Q1 to Q4 Pre- and Post-Lab Survey Results Figure 3: Lab Box Plots for Combined Pre- and Post-Lab Survey Results Table lists the Wilcoxon Ranked Sum Test p-values Q1 < 001 Q2 < 001 Q3 < 001 Q4 < 001 Combined < 001 Table 2: Lab Wilcoxon Ranked Sum Test p-values Comments were not asked for in either the Pre-Lab or Post-Lab surveys While the p-values indicate that it is likely that post-lab scores are higher than the pre-lab ones, box plots for question (I understand what a seal in and a seal breaker are) indicate that the preand post-lab survey scores are not statistically different Lab Questions Q1: I understand how to initialize variables in a ladder logic program Q2: I understand how to use an on-delay timer in a ladder logic program Q3: I understand how to create a sequential ladder logic program to automate a set of steps Q4: I understand how to create a sequential ladder logic program that loops Figure shows the box plots of pre- and post-lab survey questions and Figure shows the box plots of the combined pre- and post-lab data Figure 4: Lab Box Plots for Q1 to Q4 Pre- and Post-Lab Survey Results Figure 5: Lab Box Plots for Combined Pre- and Post-Lab Survey Results Table lists the Wilcoxon Ranked Sum Test p-values Q1 < 001 Q2 < 001 Q3 < 001 Q4 < 001 Combined < 001 Table 3: Lab Wilcoxon Ranked Sum Test p-values Comments were not asked for in either the Pre-Lab or Post-Lab surveys Both the p-values and the box plots indicate that it is likely that post-lab scores are higher than the pre-lab ones Lab Questions Q1: I understand how to use counters in a ladder logic program Q2: I understand how to use n copy instructions in a ladder logic program Q3: I understand how to use basic math instructions in a ladder logic program Q4: I understand how to use comparison instructions in a ladder logic program Figure shows the box plots of pre- and post-lab survey questions and Figure shows the box plots of the combined pre- and post-lab data Figure 6: Lab Box Plots for Q1 to Q4 Pre- and Post-Lab Survey Results Figure 7: Lab Box Plots for Combined Pre- and Post-Lab Survey Results Table lists the Wilcoxon Ranked Sum Test p-values Q1 < 001 Q2 < 001 Q3 < 001 Q4 < 001 Combined < 001 Table 4: Lab Wilcoxon Ranked Sum Test p-values Pre-Lab Survey Comments: • Satisfied with the lab process Post-Lab Survey Comments: • • I can build the system and apply these techniques, but I'm not sure they will 100% work the way intended Challenging Lab but helpful Both the p-values and the box plots indicate that it is likely that post-lab scores are higher than the pre-lab ones Q5: Why would you want a ladder logic program to loop? A5: Deliverables Submit the following to Blackboard under the appropriate lab assignment: • • A text or Word document with the title “Lab 4”, your name, and the answers to the questions (A1 to A5) Project and PDF files for all parts of the lab Lab 5: Car Lot Management System Name: Date: Objectives Create a ladder logic program using counters Create a ladder logic program using copy instructions Create ladder logic program using basic math instructions Create a ladder logic program using comparison instructions References CLICK Programming Software – Getting Started AutomationDirect C0-USER-M User Manual AutomationDirect CLICK Programming Software Help File Equipment CLICK PLC Trainer Programming Cable PC with CLICK Programming Software Thumb Drive or Cloud Storage Procedure Create a new project named “Lab5.ckp” Review and analyze the requirements for a control system that manages a car lot Design the control system Create and test the control system Each rung of the program must have a descriptive comment to document its behavior Demonstrate your program to your instructor Create a PDF (Microsoft Print to PDF) of the ladder logic program named “Lab5.pdf” Problem Statement You are to design and implement a system to manage a car lot of a given size Pushbuttons will be used to indicate when a car enters or leaves the lot The system will keep track of information about the current state of the lot The system must be designed based on the requirements given below Requirements Provide the following control relays (internal bits): lot full and lot empty Provide the following data registers: number of cars, number of (empty) spaces, total number of cars, and lot size The car lot has a size of 10 cars This variable should be initialized upon the first scan of the program Provide the following pushbuttons: car enters lot, car leaves lot, and reset counters Provide a lamp to indicate when the lot is full Start with the lot empty (initialized upon first scan of the program) Use a counter to keep track of the number of cars on the lot Set point = Use a counter to keep track of the total number of cars that have been in the lot since the last reset Set point = Use copy instructions to copy the number of cars and the total number of cars from the counters into data registers If the lot becomes full, prevent more cars from entering the lot (the current value of the counter must not go above the lot size) Prevent the current number of cars on the lot to go below zero (number of spaces must not go above lot size) Design Complete Table with the addresses that will be used by your program Add rows as needed The counters not need nicknames Address Nickname Description Inputs Outputs Control Relays (Internal Bits) Data Registers Counters Table 1: Memory Usage Deliverables Submit the following to Blackboard under the appropriate lab assignment: • • A Word document with the title “Lab 5”, your name, and Table Project and PDF files your ladder logic program Lab 6: Stop Lights Name: Date: Objectives Design a ladder logic program from a set of requirements Create a ladder logic program using advanced sequential programming techniques References Sequential Programming and Looping Advanced Sequential Programming CLICK Programming Software – Getting Started AutomationDirect C0-USER-M User Manual AutomationDirect CLICK Programming Software Help File Equipment CLICK PLC Trainer Programming Cable PC with CLICK Programming Software Thumb Drive or Cloud Storage Procedure Create a new project named “Lab6.ckp” Review and analyze the requirements for a control system that operates a stop light Design the control system Create and test the control system Each rung of the program must have a descriptive comment to document its behavior Demonstrate your program to your instructor Create a PDF (Microsoft Print to PDF) of the ladder logic program named “Lab6.pdf” Use the “letter” size and “landscape” orientation Problem Statement You are to create a system that controls stop lights at an intersection One set of lights controls traffic going North/South and the other set controls traffic going East/West Table shows the sequence for the lights where each row represents two seconds N/S E/W Green Red Green Red Green Red Yellow Red Red Red Red Green Red Green Red Green Red Yellow Red Red Table 1: Sequence for the North/South and East/West Stop Lights Since we will be using the CLICK PLC Trainer, the East/West lights will be the blue, orange, and white LEDs where: Red = Blue, Yellow = Orange, and Green = White Requirements Select normally open push buttons to start and stop the system All six LEDs will be used for the stop lights as described in the Problem Statement Apply the advanced sequential programming techniques to create a system that implements the sequence in Table that, once started, loops until stopped The number of steps must be minimized and therefore the number of timer set points is also minimized Hint: This can be done with only six steps and three set point times Pressing the Start button must start the sequence at the top of Table Pressing the Stop button must stop all steps from running Timer set points must be initialized upon the first scan of the program Design Complete Table with the addresses that will be used by your program Add rows as needed Address Nickname Description Inputs Outputs Control Relays (Internal Bits) Data Registers Timers Table 2: Memory Usage It is suggested that the LED outputs be named the same as their color The timers must have nicknames Deliverables Submit the following to Blackboard under the appropriate lab assignment: • • A Word document with the title “Lab 6”, your name, and Table Project and PDF files for your ladder logic program Lab 8: Analog I/O Name: Date: Objectives Set up analog inputs and outputs on a PLC Use analog inputs and outputs in a ladder logic program Use floating-point data values in a ladder logic program Translate requirements into a ladder logic program References CLICK Programming Software – Getting Started AutomationDirect C0-USER-M User Manual AutomationDirect CLICK Programming Software Help File Equipment CLICK PLC Trainer Programming Cable PC with CLICK Programming Software Thumb Drive or Cloud Storage Procedure Create a new project named “Lab8.ckp” Review and analyze the requirements for the program Design the program Create and test the program Each rung of the program must have a descriptive comment to document its behavior Demonstrate your program to your instructor Create a PDF (Microsoft Print to PDF) of the ladder logic program named “Lab8.pdf” Use the “letter” size and “portrait” orientation Setting Up Analog I/O To set up analog inputs and outputs on the PLC, go to Setup -> CPU Built-in I/O Setup On the Input tab, you can set the scaled range values for the analog inputs as well as see the floatingpoint data registers assigned to the inputs On the Output tab, you can set the scaled range values for the analog outputs as well as see the floating-point data registers assigned to the outputs Problem Statement You are to write a ladder logic program that uses analog inputs and an analog output The analog inputs will be compared to thresholds to determine when LEDs should be on The analog output will be driven by one of the analog inputs One of the analog inputs will be monitored for an error condition Table lists the inputs and outputs Device Signal Name POT1 Nickname Notes Sensor Nickname applies to the floating-point register for the input POT2 Sensor Nickname applies to the floating-point register for the input V_METER Driver Nickname applies to the floating-point register for the output WHT_NO Reset RED_LED High LED YEL_LED Med LED GRN_LED Low LED Table 1: System Inputs and Outputs Requirements All constants must be stored in data registers that are initialized upon the first scan of the program Unless otherwise specified, all addresses must have nicknames assigned to them The white normally open push button is the only one that is required The Low, Medium, and High conditions must be stored in control relays (internal bits) Sensor 1/Driver Set up the Sensor analog input for values from 0.0 to 100.0 Set up the Driver analog output for values from 0.0 to 100.0 Copy the value for Sensor to Driver (POT1 will determine the value for V_METER) The Medium condition must be true if the Sensor value is between 45.0 and 55.0 The yellow LED must be on if the Medium condition is true Sensor Set up the Sensor analog input for values from 0.0 to 100.0 The Low condition must be true if the Sensor value is less than 25.0 The High condition must be true of the Sensor value is greater than 75.0 The green LED must be on if the Low condition is true Each time the High condition becomes true, the High condition count must be incremented Sensor is considered in error if the High condition count is or greater The red LED must be on if the High condition is true and Sensor does not have an error If Sensor is considered in error, then the red LED must blink at a one second rate Hint: SC7 (_1sec_Clock) is a system control relay that goes on/off at a one second rate Pressing the Reset push button must reset the High condition count Design Complete Table with the addresses and nicknames that will be used by your program Add rows as needed Address Nickname Description Digital/Analog Inputs Digital/Analog Outputs Control Relays (Internal Bits) Integer/Floating Point Data Registers Counters/Current Values Table 2: Memory Usage The analog inputs and output not need nicknames, but their associated data registers Both the counter and its current value need nicknames Deliverables Submit the following to Blackboard under the appropriate lab assignment: • • A Word document with the title “Lab 8”, your name, and Table Project and PDF files for your ladder logic program Lab 9: Analog Calculator Name: Date: Objectives Use subroutines in a ladder logic program References CLICK Programming Software – Getting Started AutomationDirect C0-USER-M User Manual AutomationDirect CLICK Programming Software Help File Equipment CLICK PLC Trainer Programming Cable PC with CLICK Programming Software Thumb Drive or Cloud Storage Procedure Create a new project named “Lab9.ckp” Review and analyze the requirements for the program Design the program Create and test the program Each rung of the program must have a descriptive comment to document its behavior Demonstrate your program to your instructor Note: It is recommended that you create a Data View with all variables used in your program so that they may be easily monitored Create a PDF (Microsoft Print to PDF) of the ladder logic program named “Lab9.pdf” Use the “letter” size and “portrait” orientation Problem Statement You are to write a ladder logic program that uses subroutines to perform math functions (addition, subtraction, multiplication, division) on two numbers read from analog inputs and output the result to an analog output Pressing a button copies the current values of the analog inputs into data registers so that the values of the two numbers can be checked to determine which math functions are permitted A pushbutton is assigned to each math function and the LEDs in the pushbuttons indicate which math functions are permitted Pressing a pushbutton will clear the values of the numbers and result Analog I/O Setup The analog inputs are AD3 (POT1) and AD4 (POT2) The analog output is DA2 (V_METER) Use the default values of 0.0 to 100.0 for the analog inputs and outputs Requirements All constants used by the program, except for the value 0, must be stored in data registers Unless otherwise specified, all addresses must have nicknames assigned to them Floating-point data registers for Num1, Num2, and Result must be used for the math operations Table lists the inputs and outputs Device Signal Name POT1 Nickname Num1 In POT2 Num2 In V_METER Result Out Normally open pushbuttons of your choice Push Add Subtract Multiply Divide Clear LEDs for the Add, Add Ok Subtract, Multiply, Subtract Ok Divide pushbuttons Multiply Ok Divide Ok Table 1: System Inputs and Outputs Notes Nickname applies to the floating-point register for the input Nickname applies to the floating-point register for the input Nickname applies to the floating-point register for the output Seven subroutines are required for the program The main program will consist of rungs that call the subroutines The calling conditions and behavior are described below Initialize Calling Conditions: First scan of program Behavior: Copy constants into data registers Clear Calling Conditions: First scan of program or Clear pushbutton is pressed Behavior: Set Num1, Num2, and Result to 0.0 Push Calling Conditions: Push pushbutton is pressed Behavior: Copy Num1 In to Num1, copy Num2 In to Num2, and determine which math operations are permitted (see Table 2) Math Operation Permissible Conditions Addition Num1 ≤ 50.0 and Num2 ≤ 50.0 Subtraction Num1 ≥ Num2 Multiplication Num1 ≤ 10.0 and Num2 ≤ 10.0 Division Num2 ≠ 0.0 Table 2: Permissible Conditions for Math Operations The LED is on for each math operation pushbutton that is permissible based on the conditions in Table Add Calling Conditions: Add pushbutton is pressed and addition is permissible Behavior: Num1 and Num2 are added together and sum is written to Result Result is copied to analog output Result Out Subtract Calling Conditions: Subtract pushbutton is pressed and subtraction is permissible Behavior: Num2 is subtracted from Num1 and difference is written to Result Result is copied to analog output Result Out Multiply Calling Conditions: Multiply button is pressed and multiplication is permissible Behavior: Num1 and Num2 are multiplied together and product is written to Result Result is copied to analog output Result Out Divide Calling Conditions: Divide button is pressed and division is permissible Behavior: Num2 is divided into Num1 and quotient is written to Result Result is copied to analog output Result Out Design Complete Table with the addresses and nicknames that will be used by your program Add rows as needed Remove categories that are not needed Address Nickname Description Digital/Analog Inputs Digital/Analog Outputs Control Relays (Internal Bits) Integer/Floating Point Data Registers Table 3: Memory Usage The analog inputs and output not need nicknames, but their associated data registers Deliverables Submit the following to Blackboard under the appropriate lab assignment: • • A Word document with the title “Lab 9”, your name, and Table Project and PDF files for your ladder logic program Lab 10: Reaction Timer Name: Date: Objectives Use edge contacts in a ladder logic program Generate a pseudo-random number References CLICK Programming Software – Getting Started AutomationDirect C0-USER-M User Manual AutomationDirect CLICK Programming Software Help File Equipment CLICK PLC Trainer Programming Cable PC with CLICK Programming Software Thumb Drive or Cloud Storage Procedure Create a new project named “Lab10.ckp” Review and analyze the requirements for the program Design the program Create and test the program Each rung of the program must have a descriptive comment to document its behavior Demonstrate your program to your instructor Note: It is recommended that you create a Data View with all variables used in your program so that they may be easily monitored Create a PDF (Microsoft Print to PDF) of the ladder logic program named “Lab10.pdf” Use the “letter” size and “landscape” orientation Random Number Generator There are numerous methods of generating random numbers Some techniques give true random number sequences (usually based on a physical phenomenon) while others are pseudo-random number sequences If you need random integers from to 9, the system clock can be used as a source The least significant digit of the current number of seconds on the system clock can be isolated by performing “seconds modulo 10” See Real-Time Clock and Modulo below Real-Time Clock The CLICK PLC has a real-time clock that keeps track of the current date and time The system data registers in Table provide access to the time Address System Nickname Notes SD24 _RTC_Hour to 23 SD25 _RTC_Minute to 59 SD26 _RTC_Second to 59 Table 1: CLICK System Data Registers for Real-Time Clock Current Time See CLICK Software Manual (CLICK Help) for the system data registers for the date Modulo The modulo finds the remainder of an integer division operation This remainder is sometimes called the modulus The modulo operator is frequently abbreviated as mod MOD is one of the math operators available in the Math instruction Edge Contacts There are two different edge contacts available: Rising Edge and Falling Edge An edge contact will be on (true) for one scan time when the bit addressed by contact has a rising or falling edge These contacts are referred to as one-shot instructions by some other PLCs Use an edge contact if you want some task to happen once when a bit changes value The Rising Edge contact is on (true) when the bit addressed by the contact goes from off (false) to on (true) The contact stays on (true) for one scan time The Falling Edge contact is on (true) when the bit addressed by the contact goes from on (true) to off (false) The contact stays on (true) for one scan time Problem Statement You are to design a reaction timer where the system will light an LED a random amount of time after the start button is pressed and it will determine how long it takes for the stop button to be pressed after the LED lights up (the reaction time) If the stop button is not pressed within seconds, the reaction timer stops Requirements All constants used by the program must be stored in data registers and they must be initialized in a subroutine Unless otherwise specified, all addresses must have nicknames assigned to them The required inputs are normally open Start and Stop pushbuttons It is your choice which pushbuttons to use The required output is an LED It is your choice which LED to use There are three states that the system progresses through: Prep, Wait, and Go When entering a state, the previous state must end Use sequential programming techniques to create the states Use control relays (internal bits) to represent the states Prep State Pressing the Start pushbutton causes the Prep state to be entered Upon first entering the Prep state, the random wait time must be determined You must use an edge contact to trigger the math instruction to determine the wait time Wait State Being in the Prep state causes the Wait state to be entered While in the Wait state, the wait timer must be running Go State When the wait timer times out, the Go state must be entered While in the Go state, the reaction timer must be running, the LED must be on, and the current reaction timer value must be copied to a data register (reaction time) The reaction timer must have a time base of millisecond and must have a second setpoint Pressing the stop button or reaching the reaction timer setpoint must cause the Go state to be exited Design Complete Table with the addresses and nicknames that will be used by your program Add rows as needed Remove categories that are not needed Address Nickname Description Digital Inputs Digital Outputs Control Relays (Internal Bits) Integer Data Registers Timers Table 2: Memory Usage Deliverables Submit the following to Blackboard under the appropriate lab assignment: • • A Word document with the title “Lab 10”, your name, and Table Project and PDF files for your ladder logic program