When the HomeVision doesn't work exactly as expected the problem is
frequently just a small mistake: checking the wrong flag, using a less-then
in stead of a greater-then comparison or setting an output port low when it
should be high. These type of errors can now be fixed without reloading the
whole schedule, or even stopping the controller. The "Action patching" entry
in the Other menu presents a choice of all objects that can have actions
attached. When the desired object has been selected and the "Edit Action" is
clicked the program will retrieve the action as it is currently defined in
the controller. The user will then have the possibility to edit this action
as usual in an action editor screen. As long as the new action doesn't
require more memory space than the original version, the action in the
controller memory can be updated by clicking the "Patch Action" button.
During the patch interval the object is temporarily disabled to make sure
the controller doesn't try to execute a mix of old and new code. Also any wait
timers used in the action code are stopped and cleared to prevent that invalid
code will be executed.
If you are not quite sure about an action and expect that you may need to
patch it later, some extra space can be reserved to allow the action to
grow. This is accomplished by including a comment somewhere in the action
with the following contents:
#Patchspace <size>
Where <size> specifies the number of bytes (e.g.: 12) or percentage of
the action length (e.g.: 10%) to reserve as additional patch space.