Skip to content

button_lamp_timer CIF example is broken

Running button_lamp_timer_genplc.tooldef fails:

ERROR: PLC code generation failed for CIF file "generated_files/button_lamp_timer_merged_hw.cif".
CAUSE: CIF PLC code generator failed due to unsatisfied preconditions:

  -------------------------------
  (1/2) A string literal is used.
  -------------------------------
   * In location "sup.s1":
     - @state(Button = "Released", Lamp = "Off", Timer = "Idle", Cycle = "WaitForButtonPush")
                       ^                  ^              ^               ^
   * In location "sup.s10":
     - @state(Button = "Pushed", Lamp = "Off", Timer = "Idle", Cycle = "WaitForButtonPush")
                       ^                ^              ^               ^
   * In location "sup.s2":
     - @state(Button = "Pushed", Lamp = "Off", Timer = "Idle", Cycle = "TurnLampOn")
                       ^                ^              ^               ^
   * In location "sup.s3":
     - @state(Button = "Pushed", Lamp = "On", Timer = "Idle", Cycle = "StartTimer")
                       ^                ^             ^               ^
   * In location "sup.s4":
     - @state(Button = "Released", Lamp = "Off", Timer = "Idle", Cycle = "TurnLampOn")
                       ^                  ^              ^               ^
   * In location "sup.s5":
     - @state(Button = "Released", Lamp = "On", Timer = "Idle", Cycle = "StartTimer")
                       ^                  ^             ^               ^
   * In location "sup.s6":
     - @state(Button = "Pushed", Lamp = "On", Timer = "Running", Cycle = "WaitForTimeout")
                       ^                ^             ^                  ^
   * In location "sup.s7":
     - @state(Button = "Released", Lamp = "On", Timer = "Running", Cycle = "WaitForTimeout")
                       ^                  ^             ^                  ^
   * In location "sup.s8":
     - @state(Button = "Pushed", Lamp = "On", Timer = "Idle", Cycle = "TurnLampOff")
                       ^                ^             ^               ^
   * In location "sup.s9":
     - @state(Button = "Released", Lamp = "On", Timer = "Idle", Cycle = "TurnLampOff")
                       ^                  ^             ^               ^

  ----------------------------
  (2/2) A string type is used.
  ----------------------------
   * In location "sup.s1":
     - @state(Button = "Released", Lamp = "Off", Timer = "Idle", Cycle = "WaitForButtonPush")
                       ^                  ^              ^               ^
   * In location "sup.s10":
     - @state(Button = "Pushed", Lamp = "Off", Timer = "Idle", Cycle = "WaitForButtonPush")
                       ^                ^              ^               ^
   * In location "sup.s2":
     - @state(Button = "Pushed", Lamp = "Off", Timer = "Idle", Cycle = "TurnLampOn")
                       ^                ^              ^               ^
   * In location "sup.s3":
     - @state(Button = "Pushed", Lamp = "On", Timer = "Idle", Cycle = "StartTimer")
                       ^                ^             ^               ^
   * In location "sup.s4":
     - @state(Button = "Released", Lamp = "Off", Timer = "Idle", Cycle = "TurnLampOn")
                       ^                  ^              ^               ^
   * In location "sup.s5":
     - @state(Button = "Released", Lamp = "On", Timer = "Idle", Cycle = "StartTimer")
                       ^                  ^             ^               ^
   * In location "sup.s6":
     - @state(Button = "Pushed", Lamp = "On", Timer = "Running", Cycle = "WaitForTimeout")
                       ^                ^             ^                  ^
   * In location "sup.s7":
     - @state(Button = "Released", Lamp = "On", Timer = "Running", Cycle = "WaitForTimeout")
                       ^                  ^             ^                  ^
   * In location "sup.s8":
     - @state(Button = "Pushed", Lamp = "On", Timer = "Idle", Cycle = "TurnLampOff")
                       ^                ^             ^               ^
   * In location "sup.s9":
     - @state(Button = "Released", Lamp = "On", Timer = "Idle", Cycle = "TurnLampOff")
                       ^                  ^             ^               ^