An event driven network
CBUS is an event driven network. This means that all that is broadcast across the network is information that something has happened.
Each node on the network, usually an individual circuit board, has a unique node number that is allocated as the network is built. Nodes can be either producers or consumers. There are nodes that can be both but let’s not confuse things too much to start with.
Producer nodes broadcast data packets over the CBUS when an event occurs. An event can be a switch being operated, a button being pressed, a locomotive entering a section of track or almost anything else. The data packet simply contains information about what event has occurred.
Let’s take an example from Kay Herman. The main line track that enters from the right has its track power fed via output number 1 on a DCC train on track indicator (DCCTOTI). The DCCTOTI is connected to input number 1 on a CBUS CANTOTI module (node) with the node address 261. When a locomotive enters that section of track the DCCTOTI detects it and send a a signal to the CANTOTI and the CANTOTI then broadcasts a data packet on the CBUS that contains the node number, the event number on that node and the fact that the event has turned on. The actual message will look a bit like this…
This means it is a plus event (turned on) on node 261, event number 1. When the locomotive leaves the section the message sent will be like this…
You will notice that there is no destination address in the data packet, it is just broadcast as information for any other node to use.
Producer node functions can be performed by…
- CANACE3 when a mimic panel switch or button is operated
- CANACE8C or CANTOTI when an input pin voltage changes
A consumer node listens to broadcasts on the CBUS for any event that it has been taught to respond to. This response could be to output a voltage to operate some item of equipment, operate a servo (e.g. for point or signal control), light a lamp on a mimic panel or almost any other.
Consumer nodes have to be taught what events to respond to. This can be done by operating switches on the board itself, when it is operating the SLiM mode, or by the FCU control program when the board is operating in FLiM mode.
Consumer node functions can be performed by…
- CANLED64 to control LEDs on a mimic diagram
- CANACC8 to output eight outputs to operate items of equipment
- CANSERVO8C to drive eight servos that can be used for point or signal control or any other moving device