Chris,
I'll try to make this easy.
Every state is a memory. The set of that memory is the combination of the state where you come from and the transition conditions. The reset of the state is the next state.
Not every action is an output, but the outputs are depending on the actions. If we look at the grafcet for traffic lights (yes, although we hate 'em here, I'll take that example), there are several different actions where a certain light will be on. Check out
this grafcet to see what I mean. Extra signals, such as timers and counters, are also considered actions.
The inputs are used to make up the transitions amongst other things. Inputs can also be used to make intermediate signals, which in turn are used to make up the transitions.
To make everything crystal clear let's look at some examples taken from the above mentioned grafcet.
Step example:
Normal cycle Step 0 Set = Safety start Step 2 AND MR_GR OR Normal cycle Step 5 AND 3s
Normal cycle Step 0 Reset = Normal cycle Step 1
Action example (main road orange light):
MR_OR = Alarm mode AND 1Hz
OR Safety start Step 0 AND 2Hz
OR Safety start Step 1 AND 2Hz
OR Normal cycle Step 1
As you can see, you can use grafcet to design everything that has memories and logical functions. I have used grafcet to design electronics, pneumatics, relay logic, PIC (microcontroller) programs, and yes, PLC programs too.
[EDIT]Damn Daniel, you beat me to it. But I see you stick to the Siemens Graph package. As stated in this post, you don't need a graph or SFC package to design using grafcet. I use it for every PLC I know, and (as stated) for other techniques as well[/EDIT]
Kind regards,