There are a lot of different types of signals that PLCs can read and write. The two most basic signals are discrete (digital) and analog. Discrete means on or off, 1 or zero, high or low, etc. Two possible states. Using discrete signals you could have a switch that when pressed starts a motor running. Both the switch “input” and the motor start “output” would be discrete signals. Analog signals are continuous signals varying between two limits. Analog signals can have a multitude of different values between those two limits such as pressure, temperature, level, etc.
Early PLCs were designed primarily as relay replacements. Those PLCs were designed completely around discrete applications. They were a fantastic improvement over the rooms of relays that were used to operate what would be considered now simple sequences. You can imagine the improvement it would be to be able to add a new discrete input and output into your program as opposed to having to wire a new relay into an existing system.
A single discrete signal is also referred to as a "bit". Although they sound very simple, bits can be used in a lot of different ways. For example, by turning a bit on and off you can generate pulses. By using a bit going into a counter you can count the number of times the bit turns on. For example, if you have a motor and each revolution of the motor moves the crane one foot, and you need to move the crane six feet, then you would simply count six pulses. You can also have a bit go into a timer. So if the crane moves one foot per second, then the "crane is currently moving" bit starts a timer that in six seconds tells the PLC that the crane moved six feet. Typically however, discrete signals are used for simple applications. Starting a motor or opening and closing valves. Not glamorous, but very useful
A single bit can have two states – one or zero. Two bits can have four states (00, 01, 10, and 11). Eight bits is known as a byte and can represent 256 states or the numbers from 0 to 255. This is how computers represent numbers and values – by cascading bits. The PLC is no different.
Analog signals involve detecting different levels of a signal. For example, how fast you want to run a motor. With analog signals, the user can turn a potentiometer that generates a varying voltage or current (analog input) that tells the PLC to send an analog output to the motor indicating the speed that the motor should run. Technically you would need something like a motor inverter between the PLC analog output and the motor to essentially amplify the PLC analog output to control the motor voltage or frequency and vary the motor speed.
You can represent the position of the potentiometer using 12 bits (0 to 4095). Zero voltage (or current) would be represented by 0 in the PLC and 4095 would represent the maximum voltage (or current). Theoretically (assuming no noise, perfect linearity, and a few other things), the PLC can run the motor at one of 4096 different speeds. Analog signals can be used to bring many types of continuous signals into the PLC – temperature, pressure, level, position, etc. Once in the PLC memory, these signals can be manipulated to control motors, valves, and other field devices.
Let me reemphasize that the function of a PLC is to read these discrete and analog inputs, run some logic based on those inputs, and then write discrete and analog outputs to control the available environment.