Skip to main content

Practical Laboratory Automation: Made Easy with AutoIt

Practical Laboratory Automation: Made Easy with AutoIt

Matheus C. Carvalho

ISBN: 978-3-527-80196-1

Oct 2016

248 pages

$92.99

Description

By closing the gap between general programming books and those on laboratory automation, this timely book makes accessible to every laboratory technician or scientist what has traditionally been restricted to highly specialized professionals. Following the idea of "learning by doing", the book provides an introduction to scripting using AutoIt, with many workable examples based on real-world scenarios.
A large portion of the book tackles the traditionally hard problem of instrument synchronization, including remote, web-based synchronization. Automated result processing, database operation, and creation of graphical user interfaces are also examined.
Readers of this book can immediately profit from the new knowledge in terms of both increased efficiency and reduced costs in laboratory operation. Above all, laboratory technicians and scientists will learn that they are free to choose whatever equipment they desire when configuring an automated analytical setup, regardless of manufacturers suggested specifications.

Related Resources

Instructor

Request an Evaluation Copy for this title

Foreword xiii

Preface xv

Acknowledgments xvii

1 Introduction 1

1.1 A Brief Story of Laboratory Automation 1

1.2 Approaches for Instrument Integration 2

1.3 Scripting versus Standardization in Laboratory Automation 3

1.4 Topics Covered in this Book 5

1.5 Learning by Doing: FACACO and FAKAS 7

1.6 Summary 10

Suggested Reading 10

2 The Very Basics of AutoIt 13

2.1 What Is AutoIt? 13

2.2 Alternatives to AutoIt 14

2.3 Getting AutoIt 15

2.4 Writing Your First Script (Mouse Click Automation) 15

2.5 Knowing More about SciTE 16

2.6 AutoIt on Linux 18

2.7 Summary 18

Suggested Reading 19

3 Timed Scripts 21

3.1 Controlling the Timing of Actions 21

3.2 Moving and ActivatingWindows 22

3.3 Sending Keyboard Inputs 23

3.4 “For” Loops and Variables 23

3.5 Organizing Your Code: Functions and Libraries 29

3.6 ReplacingMouse Clicks with Keyboard Shortcuts 32

3.7 Summary 34

4 Interactive Scripting 35

4.1 Window Monitoring 35

4.2 Pixel Monitoring 37

4.3 “While…WEnd” Loops for Pixel Monitoring 39

4.4 Synchronizing FACACO and KAKAS Using Pixel Monitoring 40

4.5 Enhanced Pixel Monitoring Using PixelCheckSum 43

4.6 Blocking Access to Keyboard and Mouse 46

4.7 Summary 46

5 Scripting with Controls 49

5.1 Using AWI to Get Control Information 49

5.2 Functions That Provide Control Information 51

5.3 Sending Commands to Controls 52

5.4 Synchronizing FACACO and FAKAS Using Controls 52

5.5 Dealing with Errors: If…Then 55

5.6 Infinite Loops and Controls 57

5.7 Summary 59

6 E-mail and Phone Alarms 61

6.1 E-mail Alarms 61

6.2 SMS and Phone Call Alarms 65

6.3 Summary 69

7 Using Low-Cost Equipment for Laboratory Automation 71

7.1 G-Code Devices 71

7.2 Robotic Arms 76

7.3 Do-It-Yourself Devices 77

7.4 Summary 77

Suggested Reading 78

8 Arrays and Strings 79

8.1 Organized Data: Arrays 79

8.2 Raw Data: Strings 80

8.3 Summary 82

9 Data Processing with Spreadsheets 83

9.1 Exporting Results to Spreadsheet Software 83

9.2 Dealing with Saved Results (Files) 87

9.3 Processing Spreadsheet Files 91

9.4 Summary 94

10 Working with Databases 95

10.1 Starting SQlite in AutoIt 95

10.2 Creating SQlite Databases 96

10.3 Modifying an Existing SQlite Database 99

10.4 Databases with More Than One Table 101

10.5 Retrieving Data from Databases 102

10.6 Summary 104

11 Simple Remote Synchronization 107

11.1 Time Macros 107

11.2 Synchronizing FACACO and FAKAS Using Time Macros 108

11.3 Summary 109

12 Remote Synchronization Using Remote Control Software 111

12.1 TeamViewer 111

12.2 Synchronizing FACACO and FAKAS Using TeamViewer 112

12.3 Summary 115

13 Text-Based Remote Synchronization 117

13.1 Choosing Instant Messaging Software 117

13.2 Writing and Reading from Trillian Using AutoIt 119

13.3 Synchronizing FACACO and FAKAS Using Trillian 121

13.4 Summary 123

14 Remote Synchronization Using IRC 125

14.1 AutoIt and IRC 125

14.2 Monitoring the Connection 126

14.3 Synchronizing FACACO and FAKAS 130

14.4 Final Considerations 132

14.5 Summary 133

15 Remote Synchronization UsingWindows LAN Tools 135

15.1 Connecting to a LAN 135

15.2 Creating a Shared Folder 137

15.3 Synchronizing FACACO and FAKAS 139

15.4 Summary 140

16 Remote Synchronization Using Third-Party LAN Software 143

16.1 Connecting to a LAN Using Bingo’s Chat 143

16.2 Automated Communication Using Bingo’s Chat 144

16.3 Synchronizing FACACO and FAKAS 147

16.4 Summary 148

17 Interacting with Devices via COMPorts 149

17.1 Serial Communication Protocols 149

17.2 AutoIt and COM Ports 150

17.3 Monitoring in Real Time 153

17.4 Implications for Other Devices 157

17.5 Other Technologies for Instrument Control 157

17.6 Summary 157

Suggested Reading 158

18 Introduction to Graphical User Interface (GUI) 159

18.1 Making a Very Simple GUI 159

18.2 Adding Simple Elements to a GUI 161

18.3 Setting Keyboard Shortcuts 163

18.4 Summary 165

19 Using GUI to Control Instruments 167

19.1 GUIs to Control the EHMA Valve Actuator 167

19.2 Controlling Two or More COM Ports in the Same Script 169

19.3 A GUI to Control a Digital Balance 171

19.4 Summary 174

20 Multitasking GUIs 177

20.1 The “GUIOnEventMode” Option 177

20.2 Multitasking Using GUIOnEventMode 179

20.3 Summary 182

21 Adding Graphical Elements to a GUI 183

21.1 Getting Started with GDIplus 183

21.2 Creating Animations Using GDIplus 185

21.3 Summary 189

22 Creating GUIs Using Koda 191

22.1 Getting Started with Koda 191

22.2 Creating a Script 194

22.3 Summary 196

23 Some Suggestions 197

23.1 For Manufacturers: All Instruments with a GUI 197

23.2 For Manufacturers: All GUIs with Access to Controls 197

23.3 For Manufacturers: Stop Developing Standards for Laboratory Automation 197

23.4 For Users: Hardware Trumps Software 198

23.5 For Users: If You Can, Choose Controls 198

23.6 For Users: AutoIt May Not be the Best Programming Option in Some Cases 198

23.7 For Users: Be Aware of Technological Advances 199

23.8 For Users and Manufacturers: AutoIt Scripts May Serve as Basis for New Products 199

Suggested Reading 199

A Other SciTE Features 201

A.1 CodeWizard 201

A.2 Organizing Your Scripts with Tidy 202

A.3 Tools that Facilitate Navigation 203

B Optical Character Recognition 207

B.1 OCR in AutoIt 207

B.2 Copying from the Screen and Applying OCR 209

C Scripting with Nonstandard Controls (UIA) 211

C.1 Downloading the UIA Software Package 211

C.2 Sending Instructions 212

C.2.1 Mouse Clicks 213

C.2.2 Keyboard Inputs 216

C.3 Getting Information about Controls 217

C.3.1 Getting Information from FAKAS Controls 218

C.3.2 Getting Information from Controls of Other Programs 220

C.4 Automating a LabView Program 221

C.5 Summary 222

Index 223