My Account Log in

1 option

PLCs for Beginners : An Introductory Guide to Building Robust PLC Programs with the Structured Text Language / M. T. White.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
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.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account