This instruction is used to execute a subroutine from ladder code. Couple of things about calling into a subroutine. When you call into a subroutine you branch out from that spot in the ladder code, then Execute the subroutine code, and when complete, you will then return back to the call origination spot in the ladder code. This allows for the Subroutines to be called once or multiple times during a single ladder scan. When we look at the call instruction, itself, you see you have the ability to preload input variables and output variables before executing the subroutine. This way you can have a set of variables that are unique to each call of that subroutine. If one or more Subroutines already exist in the project, and then you open another call instruction the following message box will appear asking if you want to use previous parameter list. So now On the new call for the same subroutine, you just have to say what variables will be going into this unique process and what will be coming out. Now there is no need for replicated code and this can be huge time saver in the editing process. A note of warning, inside of a subroutine, there can be no edge triggered, asynchronous, multi-scan or Stage instructions as these all take multiple scans to complete For a more detailed video covering Subroutines, specifically, please search the video browser for Subroutines.