Ignition Scripting, Perspective, and Reporting Flashcards

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/103

flashcard set

Earn XP

Description and Tags

Flashcards about Ignition Scripting, Python, Perspective, and Reporting

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

104 Terms

1
New cards

Scripting

Offers flexibility and customization where standard options fall short in Ignition.

2
New cards

Python and Expression Language

Two major scripting languages in Ignition.

3
New cards

Python in Ignition

A general-purpose programming language developed in the early 90s, widely used and interacts gracefully with Java, which is essential for Ignition as it is written in Java.

4
New cards

Jython

An interpreter that converts Python to Java.

5
New cards

Python 2.7

The version of Python used in Ignition, due to Jython's current version.

6
New cards

Monty Python

The 70s-era British comedy group, the language Python is named after.

7
New cards

Script Console

A simple interactive editor in Designer for writing and executing Python code.

8
New cards

Print Keyword

A handy tool in Python for displaying text in the output console, useful for debugging scripts.

9
New cards

Syntax

The grammar of a programming language, ensuring the interpreter understands the code's instructions.

10
New cards

Basic Syntax Rules

Case sensitive and whitespace sensitive.

11
New cards

Comments

Notes left in the code to describe its function, ignored by Python but useful for understanding and maintaining the code.

12
New cards

Keywords

Vocabulary of a programming language; coding environments in Ignition highlight these in bold and blue, and they are case sensitive.

13
New cards

Event Handling

Enables scripting to respond to a wide variety of events, crucial for interactive windows Vision and Perspective projects.

14
New cards

Variables

A way to store a value for later use, identified by a name.

15
New cards

Data Types

Used to differentiate between values in Python; includes Strings, Integers, Floats, and Booleans.

16
New cards

Strings

Any sequence of characters, usually text.

17
New cards

Integers

A whole number.

18
New cards

Floats

Decimal numbers.

19
New cards

Boolean

A value that is either True or False.

20
New cards

Loosely Typed Language

A language where you do not need to declare the data type when you define the variable. Instead, Python will look at the value you assign and decide on the data type for you.

21
New cards

Variable Names

Must begin with a letter or underscore and can contain letters, underscores, and numbers after the first character.

22
New cards

Camel Case

A method of writing multi-word variable names, removing spaces and capitalizing the first letter of every word except the first.

23
New cards

Script Console Limitations

Won’t save our work if you close Designer, cannot interact with components on a window.

24
New cards

Button

It is a simple component that does not do anything on its own until you write script of some kind to get a Button to work.

25
New cards

Navigation Tab

Allows us to navigate somewhere–most often, another window—when the button is clicked.

26
New cards

Set Tag Value

States a specific Tag will hold a given value upon button click.

27
New cards

SQL Update

Triggers a query to the database to update values on clicking the button.

28
New cards

Set Property

Changes the property of a component to a different value when clicking the button.

29
New cards

Script Editor

The tab is where you write your own code.

30
New cards

OK Button

Saves the changes made in the dialog and closes it.

31
New cards

Apply Button

Saves the changes in the dialog but leaves it open.

32
New cards

Non-Modal Dialog

A dialog box that can stay open because we can still interact with the rest of the program.

33
New cards

Console Panel

Can display the results of executing a print statement, and also display errors if they occur.

34
New cards

Modulo

This is the remainder of a division problem.

35
New cards

If Block

In Python, you can create it to perform basic binary logic; that is, evaluate a value and do something if that evaluation is true, and something else (or possible nothing) if it is false.

36
New cards

Else Statement

Needs to be at the same level of indentation as if, and the statement to execute on else needs to be indented the same amount as the statement to execute when the if statement is true.

37
New cards

Elif

Short for “else if”, allows you to check another condition when the previous one is not met. This form can optionally have a catch-all else clause at the end.

38
New cards

Lists

Allow us to store multiple data points in a single object that can be then be referenced as a whole, but also still referenced as individual pieces as well.

39
New cards

Square Brackets

Used whenever we are creating a list.

40
New cards

Referencing Items in a List

You can reference an item in a list by using its index number. Python uses zero-indexing, meaning that the first item in the list is at index 0, and second at index 1, and so forth.

41
New cards

Adding to the List

You can add items to a list with the append() function. This function is called on the list using dot notation: you type the name of the list, then a period (dot), and then the function.

42
New cards

For Loop

Has one purpose: looping over a list.

43
New cards

String Concatenation

Adding several strings together using the plus symbol.

44
New cards

String Formatting

Allows you to enter values into specific points into the string.

45
New cards

Type Casting

Forcing Python to convert a variable from one type to another.

46
New cards

System Functions

Full of functions that are useful when designing projects in Ignition; built into Ignition to ease certain common tasks and interact with various systems in Ignition.

47
New cards

Message Box Function

Opens a modal message box on the screen, which is a fancy way of saying a dialog box that we must deal with before we can do anything else.

48
New cards

system.tag.readBlocking()

Function that reads from a Tag in Ignition using its path.

49
New cards

Documentation Appendix

A complete reference to Ignition components, Expression Functions, System Functions, and Reference Pages.

50
New cards

Component Extension Functions

Are pre-defined functions used to expand on the functionality of the component.

51
New cards

Client and Gateway Event Scripts

Are special events not based around components.

52
New cards

Project Script Library

A place where you can create your own script functions. These functions can be called from anywhere in the project, and are helpful when you have scripts that you need to use repeatedly.

53
New cards

Perspective

A module that allows you to create resources that enable a user to easily transition from Viewing the project on a computer to Viewing it on a mobile device

54
New cards

View

The basic thing we create in Perspective - Similar conceptually to both Windows and Templates in Vision

55
New cards

Page

A View in Perspective with an assigned Page URL, viewable directly from a web browser

56
New cards

Session

When we launch Perspective in the browser, we launch this - Conceptually similar to the Client in Vision

57
New cards

HTML

Hypertext Markup Language - Used to define the structure of a web page

58
New cards

CSS

Cascading Style Sheets - the standard for formatting on the web - All formatting, positioning, sizing, and layout of components and Views in Perspective is done with this

59
New cards

JavaScript

A scripting language, conceptually similar to Python, that is widely used on the web

60
New cards

JSON

JavaScript Object Notation - a lightweight, plain-text format for describing data

61
New cards

Coordinate Container

This container allows you to place components in arbitrary locations in the View and freely move and resize them.

62
New cards

Breakpoint Container

The Breakpoint Container allows you to embed Views at specific screen widths, and have the browser automaticlaly switch between them.

63
New cards

Flex Container

Allows you to create Views that can work on the widest variety of screen sizes

64
New cards

Smart Guides

A feature in Perspective that includes red guides as you drag a component in the View, that will help you to line up components with each other and with the View as a whole.

65
New cards

Anchor

The point around which an component will rotate.

66
New cards

Props

Basic properties of the components.

67
New cards

Position

Properties needed to position the component.

68
New cards

Custom

You can add custom properties to components.

69
New cards

Meta

Other properties, such as the Name of the component, can be found here.

70
New cards

Binding Preview

A feature in Perspective that you can always check to make sure that the binding is working before clicking OK.

71
New cards

Flexbox

A CSS technology that creates flexible layouts that can rearrange and resize parts of a page to fit on larger or smaller displays

72
New cards

Grow

This property allows a component to grow along the main axis, both in initial sizing and if the container grows in response to being displayed in a larger window.

73
New cards

Shrink

Works the same as Grow, but in the opposite direction: if the container gets smaller, the space for the components will be redistributed based on this value.

74
New cards

Basis

The starting size of the component, before remaining space is distributed

75
New cards

Deep Selection

Which container we want to set properties on and add new components to - Displayed as a crosshair icon

76
New cards

Perspective Custom Property Types

These are the choices because the underlying data for all properties in Perspective is JSON

77
New cards

Perspective Edit Binding Dialog Box - Binding Preview

Lets you confirm that your binding is correct before you close the dialog box.

78
New cards

Resizing the Coordinate Container

If you resize the MotorView, we will see that the components inside Flex containers resize based on the properties we set. The motor image, however, is in a Coordinate container with a fixed size, so it does not resize.

79
New cards

Breakpoint

The process where modern web designers create layouts to fit one screen, and then as that screen gets bigger or smaller, there will be points where the layout breaks

80
New cards

Classes

Components are defined in Perspective as style definitions.

81
New cards

Naming Classes

How you should name classes - Based on how they will be used rather than how they look

82
New cards

Element State

In CSS, this will define a set of style properties that we can have the browser automatically apply when a state is met

83
New cards

Identity Providers

Are used to authenticate users in a Perspective Session.

84
New cards

Security Levels

A new security system that works with the user information provided by the IdP to grant users certain permissions that can then later be applied to a Perspective project

85
New cards

Client Reports

Allows users to dynamically view reports on any Window in your Client.

86
New cards

Reporting Module

Simplifies and enhances reporting from beginning to end.

87
New cards

Report Overview

A tab that is a collection of useful information about your report.

88
New cards

Data Tab

A tab where you define the data that goes into your report.

89
New cards

Design Tab

A tab that is the primary workspace when creating a report. You will add components such as tables and charts here, as well as static text elements like headers and page numbers

90
New cards

Preview Tab

A tab that is how you make sure the data is displaying correctly, during the design process.

91
New cards

Schedule Tab

A tab where you set up schedules so your report can automatically be printed, saved, or emailed.

92
New cards

Named Query

Use this to save SQL statements into the project for reuse.

93
New cards

SQL Query

Directly write SQL to query the database through this.

94
New cards

Basic SQL Query

This also allows you to directly write SQL to query the database. But it is an older method for writing queries that is maintained for legacy use.

95
New cards

Tag Historian Query

Use this to retrieve that data in a simpler way.

96
New cards

Tag Calculation Query

This query also relies on the Tag Historian, but allows you to perform calculations such as sum, average, and the like.

97
New cards

Alarm Journal Query

While the tables created for the Alarm Journal can be queried directly, this provides a simpler interface for working with that data.

98
New cards

Script

It’s possible to write a Python script to retrieve data. This can be used if you need to get data from multiple sources or pre-process the data.

99
New cards

Static CSV

Rather than retrieving data from a database, you can import a static CSV file, such as a file created in Excel, and use it for reports.

100
New cards

SQL Query Builder Tool

An interactive visual interface that which allows us to create most of the query.