İyi bir otomasyon yazılımında makina modlara göre fonksiyonlara veya ST tabirine göre "Action"lara ayrılmalıdır. Örneğin;
Girişler ve Çıkışlarların her biri bir global değişkenlere atanmalı ve bu değişkenlere bakılarak program yazılmalıdır. Bu global değişkenler "FC_PLC_IO" altında ilgili mutlak adreslere atanmalı("map"lenmelidir.)
Manual hareketler "FC_Manual" fonksiyonunda
Otomatik hareketler "FC_Auto" fonksiyonun altında
Alarm ve Uyarılar "FC_AlarmAndWarnings" altında
Yukarıdaki değişkenlerden gelen çıkışlar "FC_Outputs" altında
Operatör Panelle ilgili kısımlar FC_HMI altında... vs toplanabilir. Bu fonksiyonların içerisine de ilgili fb ler yazılabilir.
Bu şekilde yapısal olarak yapılmasının amacı arıza durumunda programın takibini ve okunaklığını arttırmak içindir.