5. Initial Programming
234
Custom
The Custom project profile allows the developer to explore all the potential of the Runtime System
implemented in the Nexto Series central processing units. No functionality is disabled; no priority,
task and programs association or nomenclature are imposed. The only exception is for MainTask,
which must always exist with this name in this Profile.
Beyond the real time tasks, with priority between 00 and 15, which are scheduled by priority, in this
profile it is also possible to define tasks with lower priorities in the range 16 to 31. In this range, it’s
used the Completely Fair Scheduler (time sharing), which is necessary to run codes that can be
locked (for example, use of sockets).
The developer is free to partially follow or not the organization defined in other project profiles,
according to the characteristics of the application. On the other hand, the Custom model associated
with this profile needs no pre-defining elements such as task, program or parameter, leaving the
developer to create all the elements that make up the application. However, the user can generate the
same elements available for the Expert profile.
Table 5-7. Custom Profile Tasks
Machine Profile
In the Machine Profile, by default, the application has a user task of the Cyclic type called MainTask.
This task is responsible for implementing a single Program type POU called MainPrg. This program
can call other programming units of the Program, Function or Function Block types, but any user
code will run exclusively by MainTask task..
This profile is characterized by allowing shorter intervals in the MainTask, allowing faster execution
of user code. This optimization is possible because MainTask also performs the processing of the
bus. This way, different from other profiles, the machine profile requires no context switch for the
bus treatment, which reduces the overall processing time.
This profile may further include an interruption task, called TimeInterruptTask00, with a higher
priority than the MainTask, and hence, can interrupt its execution at any time.
Table 5-8. Machine Profile Tasks