Programming
From ECCWiki
[edit] Manual Mode
The best place to start with BCS programming is Manual Mode. Manual Mode gives a straightforward input method to control the outputs. But first, visit System Settings to give Outputs and Temp Inputs identifiable names.
Enter into Manual Mode by clicking the appropriate box in the Run/Stop Processes sidebar. This will enable Manual Mode, noted by the green 'Running' light, and bring the Manual Mode menu into view.
Each output has a unique set of parameters. There are four different ways that the BCS can control an output in a state.
- Direct - Directly force and output ON or OFF.
- Duty Cycle - Set the duty cycle percent ON over a programmable period. See Output PWM Control
- Differential - Control the output by associating it with a temperature input and hold the temperature within a defined temperature window (swing).
- PID - Proportional Integral Derivative controller, also associated with a temperature input. See PID Implementation
All settings must be saved via the "Apply" button for them to take effect. Manual Mode is also great for initially setting up the system to verify I/O connections, or to finish up miscellaneous tasks that aren't programmed as processes.
| Tip: Manual Mode doesn't have exit conditions, so no Timers or Wins are displayed. |
| Tip: Entering into Manual Mode will disable all active processes. This is because Manual Mode controls every output, defaulting to them Direct Off, so the processes are disabled to avoid output control contention. |
[edit] Processes
Once Manual Mode is understood, its a short leap to Processes. Think of a Process as stringing a few Manual Modes settings together. For example, maybe when brewing the user requires forcing Pump1=On and MLT Heat=PID controlled at 154deg. Sixty minutes later, they require the setpoint of MLT Heat to be 170deg. We'll call the first Manual Mode setting State0:Mash, and the second Manual Mode setting State1:Mash Out. To transition from State0:Mash to State1:Mash Out, we need a timer counting down, with an initial value of 60 minutes. When the timer expires, we have an "Exit Condition". See the diagram below for the newly create Process.
In programming terms, a process is technically called a State Machine. For more information and another example, see State Machine Concepts.
A 'State' is the basic building block of BCS programmable sequences. Each State can control any (or all) outputs uniquely. Each State can contain temperature setpoints, timer values, user input conditions, alarms, etc. All of the features and properties of States make the BCS exhibit complex behavior. Processes are used for more advanced control, and make automation possible. There are eight available processes, and each process contains a group of eight states, and allow the user to transition though the states via the exit conditions (i.e., a State Machine). Each of the eight Processes can be running independently. For more information on the features available for each State/Process, see Edit Processes.
For more programming examples, please navigate to System Examples.
[edit] Ladder Logic
The next way to program the BCS is with Ladder Logic. More information about this method below.

