1 option
PLCs for Beginners : An Introductory Guide to Building Robust PLC Programs with the Structured Text Language / M. T. White.
- Format:
- Book
- Author/Creator:
- White, M. T., author.
- Language:
- English
- Subjects (All):
- Programmable controllers.
- Physical Description:
- 1 online resource (380 pages)
- Edition:
- First edition.
- Place of Publication:
- Birmingham, England : Packt Publishing, [2024]
- Biography/History:
- White M. T. : M. T. White has been programming since the age of 12. His fascination with robotics flourished when he was a child programming microcontrollers. He holds an undergraduate degree in mathematics, a master's degree in software engineering, and an MBA in IT management. He is currently working as a software developer for a major US defense contractor and is an adjunct CIS instructor, where he teaches Python, C, and an array of other courses. His background mostly stems from the automation industry where he programmed PLCs and HMIs for many different types of applications. He has programmed many different brands of PLCs over the years and has developed HMIs using many different tools. Other technologies that he is fluent in include Linux, Ansible, Docker, AWS, C#, Java, and Python. Be sure to check out his channel AlchemicalComputing on YouTube.
- Summary:
- Unleash the power of PLCs by understanding and applying essential programming concepts such as structured text, programming logic, and technologies like ChatGPT Key Features Unleash the power of structured text by understanding its syntax, features, and applications Harness the power of programming logic and design by taking a design-first approach to PLC programming Leverage advanced concepts and technologies such as cybersecurity and generative AI with PLC Purchase of the print or Kindle book includes a free PDF eBook Book Description As smart factories and advanced technology become more prevalent, the demand for PLC programmers with expertise beyond ladder logic is growing. This book introduces a new approach to PLC programming, preparing you for future challenges by exploring automation programming through computer science and text-based programming. The book begins by exploring the basic components of PLCs and how they integrate with other modules, giving you a clear understanding of system functionality. As you progress, you'll delve into PLC program execution, learning about flow and essential components for effective programming. Next, you'll understand program design with pseudocode and flowcharts, vital for planning programs. You'll then explore Boolean logic intricacies, harnessing logical functions and truth tables for precise control statements. Later, you'll delve into structured text, gaining a comprehensive grasp of syntax and features crucial for efficient programming. The journey continues with a focus on advanced topics like cybersecurity in PLC systems and leveraging generative AI (GenAI), such as ChatGPT, to enhance productivity. By the end of this book, you'll be able to design real-world projects using pseudocode and flowcharts, and implement those designs in structured text. What you will learn Explore and understand how to implement PLC programs in structured text Experiment with common functions in structured text Control the flow of a PLC program with loop and conditional statements Discover how to design a PLC program with pseudocode and flowcharts Implement common sorting algorithms such as bubble sort and insertion sort, and understand concepts such as Big O Understand the basics of cybersecurity to protect PLC-based systems Leverage ChatGPT for PLC programming Understand the basics of troubleshooting hardware and fixing common problems Who this book is for This book is for automation engineering students and individuals seeking entry-level knowledge of PLC programming with structured text and other modern computer science concepts to excel in the advanced automation landscape. No prior knowledge of PLC programming is required.
- Contents:
- Cover
- Title Page
- Copyright and Credits
- Contributors
- Table of Contents
- Preface
- Part 1: Basics of Computer Science for PLC Programmers
- Chapter 1: Computer Science Versus Automation Programming
- Technical requirements
- What is computer science?
- Why study computer science?
- What is automation programming?
- What is a PLC?
- Exploring automation through computer science
- How does computer science help automation programmers?
- Why should automation programmers care?
- Cloud technologies
- The internet of things
- Machine learning
- What does this mean for automation engineering?
- PLCs versus microcontrollers
- What are microcontrollers?
- Surface-level differences
- PLC and microcontroller programming languages
- Use cases
- PLC versus computers
- What is a computer?
- Summary
- Questions
- Chapter 2: PLC Components - Integrating PLCs with Other Modules
- PLC types
- Common PLC modules
- Power supply
- Chassis
- CPU modules
- I/O modules
- Safety modules
- Sinking versus sourcing
- NPN versus PNP
- Sensors
- Motors and motor controls
- What is a motor?
- Open and closed-loop control systems
- Stepper motors
- Servo motors
- Encoders
- Motor drives
- Communication protocols
- What is a communication protocol, and what is it used for?
- Wiring diagrams
- Final project
- Specs
- BOM
- Further reading
- Chapter 3: The Basics of Programming
- Understanding what a program is
- What is the purpose of a program?
- Why use software over hardware?
- How to view software and hardware in a system
- Software is not a cure-all solution
- Understanding programming languages
- Syntax
- Translators
- Machine instruction
- Language paradigms
- Keywords.
- Dos and don'ts of learning keywords and syntax
- Program flow
- Program iteration
- Exploring the IEC 61131-3 standard
- IEC 61131-3 pitfalls
- Strategy
- Chapter 4: Unleashing Computer Memory
- What is memory?
- Memory
- Storage
- How computer/PLC memory and storage work
- HDDs
- SSDs
- Volatile versus non-volatile memory
- Volatile memory
- Non-volatile memory
- Memory addresses
- How memory works
- Computer memory - an analogy
- Common storage devices
- USB drives
- External hard-drives
- SD cards
- Cloud storage
- Obsolete storage devices
- Floppy drives
- Chapter 5: Designing Programs - Unleashing Pseudocode and Flowcharts
- What are pseudocode programs and flowcharts?
- Pseudocode
- What does pseudocode look like?
- Flowcharting
- What do flowcharts look like?
- Why use pseudocode and flowcharts in PLC programming?
- Why use pseudocode?
- Why use flowcharting?
- When to use one over the other?
- Tools needed for flowcharts and pseudocode
- Pseudocode tools
- Flowchart tools
- Whiteboarding
- Design exercises
- The quadradic equation
- The beer program
- Final project - Robot startup system
- Design requirements
- Design logic
- Wait sequence
- Flowchart
- Chapter 6: Boolean Algebra
- What is Boolean algebra?
- Boolean operators
- The basic operators
- The OR operator
- The NOT operator
- Boolean expressions
- Exploring NOT
- The AND operator
- Operator laws
- Idempotent law
- Solving Boolean equations
- Examples
- Getting to know truth tables
- Basic operators
- Final project: Creating custom truth tables from scratch
- Row 1
- Row 2
- Row 3.
- Row 4
- Final truth table
- Part 2: Introduction to Structured Text Programming
- Chapter 7: Unlocking the Power of ST
- What is ST?
- Area of a circle program in ST
- Why is ST important?
- ST versus LL
- Example 1 - The area of a circle program - LL
- Example 2 - Toggling a light
- What is CODESYS?
- Installing CODESYS
- A CODESYS exploration
- Exploring the PLC_PRG file
- The final project - Hello World
- Step 1 - Creating a new project!
- Step 2 - Code implementation
- Step 3 - Running the program!
- Chapter challenge
- Chapter 8: Exploring Variables and Tags
- What are variables/tags?
- Applications of variables
- Variables/tags under the hood
- Why use variables?
- Data types
- What is a data type?
- The IEC 61131-3 data types
- Bits and bytes
- Common data types
- How to declare variables
- Variable section of a file
- Declaring a variable
- Initializing a variable
- Variable naming
- Rules to naming a variable
- Naming conventions
- Final project - declare the variables of a triangle
- Code implementation
- Challenge - declare the variable for a rectangle's perimeter
- Chapter 9: Performing Calculations in Structured Text
- Math in ST
- Assigning numbers
- Basic calculations
- Solution variable
- The four basic functions
- Basic operation demonstration
- Complex mathematical functions
- Square root function
- Exponent function
- ABS function
- Trigonometric functions
- Arc functions
- Order of operations for math calculations
- Computing complex equations
- Distance between two points
- Final projects
- Final project 1 - programming the perimeter of a rectangle.
- Final project 2 - Pythagorean theorem
- Chapter 10: Unleashing Built-In Function Blocks
- What are prebuilt function blocks?
- Functions, function blocks, and keywords
- Function blocks under the hood
- What is a function block?
- Rising and falling edges
- Common PLC function blocks
- Counter function blocks
- Timer function blocks
- Variables
- Chapter 11: Unlocking the Power of Flow Control
- Exploring what flow control is
- Exploring why flow control is important
- Exploring logical expressions
- Exploring the IF statement
- IF statement syntax
- Checking if two values are the same!
- Exploring the not equals operator
- Designing control statements
- Overdraft program
- Exploring the CASE statement
- State machines and CASE statements
- Implementing the state machine
- Flowcharting and CASE statements
- Real-world applications for the CASE statement
- Requirements
- Program design
- Final challenge
- Chapter 12: Unlocking Advanced Control Statements
- Nested control statements
- ELSE statements
- ELSIF statements
- Challenge
- Logical operators
- Exploring the OR operator
- Exploring the XOR operator
- Exploring the NOT operator
- Color and shape sorter logic
- Testing conditions
- Chapter 13: Implementing Tight Loops
- Exploring the different types of loops
- Counter loop
- Precheck loops
- Post check loops
- Infinite loops
- Exploring loops in pseudocode and flowcharts
- Exploring loops with pseudocode
- Representing a loop in a flowchart.
- Implementing a FOR loop
- Implementing the WHILE loop
- Exploring the REPEAT loop
- Exporting the EXIT keyword
- Understanding nested loops
- Challenge - creating a behavior report
- Design
- Testing the program
- Part 3: Algorithms, AI, Security, and More
- Chapter 14: Sorting with Loops
- How to use this chapter
- What is sorting?
- Exploring what arrays are and how to use them!
- What is an array?
- Array elements
- Initializing an array
- Retrieving the number of elements in an array
- Why are arrays important for sorting algorithms?
- Exploring sorting algorithms
- What is an algorithm?
- What is a sorting algorithm?
- Algorithm efficiency metrics
- Exploring the Big O notation
- Exploring the Big Ω notation
- Common sorting algorithms
- Exploring bubble sort
- Exploring insertion sort
- Challenge - Merge sort
- Final project - cement bag sorter
- Analysis
- Implementation
- Chapter 15: Secure PLC Programming - Stopping Cyberthreats
- What cybersecurity is and why it's important
- The basics of cybersecurity
- Vulnerabilities, threats, and risk
- Threat actors
- Exploring AAA
- Air-gapped systems
- Common cyberattacks
- Exploring information gathering
- Exploring social engineering
- Exploring password hacking
- Malware
- Attack prevention methods
- Stopping social engineering
- Defending against password crackers
- Password length
- Malware defense
- Final project - a PLC-based activation system
- Certifications
- Chapter 16: Troubleshooting PLCs - Fixing Issues
- Common causes of PLC issues
- Broken software.
- Exploring environmental issues.
- Notes:
- Description based upon print version of record.
- Tools needed for flowcharts and pseudocode
- Description based on publisher supplied metadata and other sources.
- Description based on print version record.
- ISBN:
- 9781801814348
- 1801814341
- OCLC:
- 1434170655
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.