Developers best friends ¶ Attributes for expressing intended use cases, identifying real system properties and reacting with the live cycle of your plc application. We present here a collection of att
Advanced Topic’s ¶ Duration, Date and Time Dynamic Generation of FB Instances Segmented Buffers Synchronization of Concurrent Execution Asynchronous Job Execution Multicore - Tools Providing libraries
Duration, Date and Time ¶ Duration ¶ The library SysTimeCore supports functions for handling the difference (delta) between two points in time (duration) provided by the CODESYS runtime system. The Sy
Dynamic Generation of FB Instances ¶ In CODESYS there are two possibilities of dynamically creating an FB instance: A.) By using the operators __NEW and __DELETE and a MemoryPool which has to be param
Interface Design ¶ Rule #5: Design smart Interfaces ( Required ) External Interfaces require a reduced set of parameter types (e.g. no POINTER). They should be optimized for the use with CFC. They sho
Error Handling ¶ Rule #6: Implement an user friendly Error Handling ( Required ) Return only error codes which are documented within your library. Never simply return the original error code from sub
Deployment and Licensing ¶ Rule #7: Use the right method for deployment and licensing ( Required ) Deploy libraries only in compiled format (*.compiled-library). Everyone should be able to read “Proje
Templates ¶ Rule #8: Not from scratch - Use Templates ( Optional ) CODESYS provides a rich set of project templates. They are a good starting point for successful library design. See: Common Behaviour
Project Structure ¶ Rule #9: Reuse a well-known Project Structure ( Optional ) Every one find parts of the project much easier, if you use a well known project structure. In order to make orientation
Naming Conventions ¶ Rule #10: Use clean Naming Conventions ( Optional ) The consistent use of a naming convention is the best way for clean code. (Checked by the Static Code Analysis [ 3 ] ) These ru