Martin
Am I correct in understanding that your original request relates to actual parameters and formal parameters?
When you create an FC or FB, you declare the formal parameters. This defines the type and size.
When you call the FC or FB you assign an actual parameter to each formal parameter.
As Jacekd said, every formal parameter in an FC must have an actual parameter assigned - there is no choice. However, for an FB, if no actual parameter is assigned, the FB uses whatever value is stored in the Instance Data Block. FCs do not have associated Instance Data Blocks - that is why there is no choice with them.
If you want an FC with optional actual parameters you have to write it as an FB instead.
Regards
Ken.