Applies To:
  • CitectSCADA
  • European Cheese Version 5.xx

I execute my "make sandwich" procedure on a daily basis. It's scheduled for 1.00pm. Following its execution I regularly receive failure and warning messages such as "Who destroyed the cheese?", "Which of you Aussies attacked the cheese?" and "what the h### happened to the cheese?". This task used to run without error and the problem has occurred since executing it in Holland and upgrading to new equipment (i.e. cheese slicer). What am I doing wrong and how can I fix my routine so this procedure runs smoothly? 

This is a common procedural error which all inexperienced users in Holland are likely to make. The severity of the problem should not be underestimated as failure to rectify this issue in a timely manner can result in irreparable damage to both the software (cheese) and the operator (you). Fortunately the Warning messages are usually descriptive enough to assist in resolving the problem quickly. For those requiring further instruction or wishing to avoid this scenario then please read below:

Assuming that the block of cheese is rectangular in shape and waxed on 3 sides... take the block with the narrowest side (from hereon known as "the end") facing you and proceed to remove a thin strip of wax from both sides which are approximately equal in width to the amount of cheese you wish to eat. Removal of insufficient wax will result in sandwiches of an extra chewy consistency. But too much wax removal will result in premature aging of the block and definitely lead to the problem outlined above.

Take the cheese slice in left or right hand (whichever is your most dexterous) and approach the cheese confidently. Take broad and full slices applying even pressure during the entire motion so as to avoid concavity in the cheese surface. Early detection of "concavity" can be rectified simply by applying less pressure in the middle of the stroke and more at either end. If major concavity has occurred then you must run a "repair" routine which removes excess cheese from both ends. This routine usually requires additional equipment (ie. knife).

Avoid taking small, irregular slices of cheese (commonly referred to as "hacking") as this results in higher maintenance of the cheese container due to increased cheese deposits. Maintenance time incurred by others always results in a higher incidents of warning and failure messages.

For perfectionists, I suggest you enhance your procedure to include a "maintenance" sub-routine. Whilst it is unlikely to result in greater return on your time investment it will provide some intangible benefits such as increased eating pleasure and decreased risk of food poisoning. This sub-routine should include tasks such as regular washing of cheese container and cheese slicer and disposal of old cheese deposits (also known as "scum") from the plastic cheese container.

Also make sure the "rescue cheese" sub-routine is invoked whenever the condition: "FridgeIsDefrosting = True" or when "Weather = hot". Failure to execute this results in Cheese swimming in excessive amounts of fridge water and subsequent catastrophic failure alerts. Refer to KB article Q1743
for further information on determining / maintaining the operability of your "cheese" cooling equipment (i.e. fridge).

Be aware that the "make lunch" routine is likely to fail whenever "CheeseExists = False". Failure of this routine results in a flood of warning messages which are usually directed at the "Current User - 1" Client. Since all clients run this routine, you should try to avoid the condition "Current User = me" when CheeseExists becomes False. This is a timing related issue which you need to monitor closely if you are to avoid.

Should you find yourself in the unfortunate situation where "Current User = me" and "CheeseExists = False", then in order to complete the "make lunch" routine you will have no option but to reset the CheeseExists tag to "True". This can be done by firstly resetting the tag "CheesePurchased = 1" and then by setting the new value of the CheeseType tag accordingly. From experience we have found that "CheeseType = Extra Belegen" works well, however we recommend avoiding "CheeseType = Goudse Jong" as this tag setting is too "soft" and will generally result in excess cheese deposits and a need for the "maintenance" sub-routine to be called excessively.

Finally, make sure all Clients are running the same version of this routine or you will run into compatibility problems and conflicts.


If the block of cheese is wedge shaped, then you're really in trouble. I suggest you disable your "make lunch" routine until you have sort expert advise. Or wait for a "Cheese slicing for advanced Users" article.