This document provides an overview of basic data types, variables, and program types in PLC programming. It defines basic data types and shows a data type hierarchy chart. It describes two ways that variables can be expressed and notes that variables must have unique identifiers. It then explains the differences between functions, function blocks, and programs. Functions have one output, no internal state, and cannot use direct variables or call other programs. Function blocks can have multiple outputs, internal state, and can use direct variables or call programs. Programs are like function blocks but cannot be called by other programs or function blocks.