ADC Community_02 (Automationdirect.com) asked a question.
This feature is similar to Add-On Instructions or Function Blocks in other programming environments. User-Defined Instructions allow a user to simplify programming, boost efficiency, and standardize logic.
Instead of writing the same lines of code for every motor, valve, or component, a user can create a single, custom instruction and reuse it throughout their project. This powerful feature allows complex logic to be packaged into a reusable block, making PLC code easier to read, faster to develop, and simpler to maintain.
Updating a single UDI definition will update all instances of that UDI that are in the project. Users can also update UDI definitions during runtime, unlike other programming environments that require the PLC to be in Stop Mode for edits to be made.
User defined instructions is supported in all Productivity CPU's.
If needed, users can secure their UDI definitions with Key Names and Passwords to protect their intellectual property.
The powerful new UDI feature can help you achieve the next level of efficiency in your programming and applications. Simple.. Affordable.. Productivity!
Go here to download the software
Are there any special limitations of using these instructions such as only allowed in"run every scan" tasks? Or can they be used anywhere?
A UDI instruction can be placed in a 'run every scan' task. Any limitations are listed in help topic P339.
The Free PLC Training portal has been updated to include a series of educational videos on the UDI feature! They are live and able to be watched free of charge
https://www.automationdirect.com/programmable-logic-controllers/plc-training
Thank you. I will be using these resources - eventually.
I do enjoy plundering before I resort to the assistance.
Does the UDI support timers? If so, does it now support timers if the UDI is called to run something than every scan?
Yes it does as long as the instruction is running... If you have logic on the same rung as the instruction that prevents it from running then the timers won't run.
So you have to call call it every scan then. you cannot call the UDI on demand and have functioning timers inside of the UDI.
I will play with this once my IT dept gives me install permissions....
The way around the issue would obviously be to enable the UDI unconditionally, but have an input that is conditional..
The UDIs are not tasks, they are instructions that run within tasks. If you have them in a "Run When Called" task, then yes you would have to make sure the task is called to run them. If you put them in a "Run Every Scan" task, they will execute their logic every scan unless you have permissive logic on the same rung.