B.2.8 Controller nodes
Each controller node on the network contains its own comms array, which provides a convenient method of transferring data between controller nodes on the bus. The meaning of the data, which is passed between the controllers is determined by the application (Mint) program.
For further details on the comms array please refer to the Mint v4 Programming Guide.
B.2.8.1 Singlecast communication
The advantage of the comms array when accessed over the CAN network is that a link can be established so that a controller can read from and write to another controller’s comms array. After the link has been established using the network manager, the two nodes can communicate without further intervention from the network manager.
For example, the following command would need to be issued on the network manager to create a link so that node 7 could read from and write to the comms array on node 23:
CONNECT.7.23 = 1
The CONNECTSTATUS keyword can be used on the slave node to check that its link to node 23 is valid before it is used:
PAUSE CONNECTSTATUS.23=1
For node 7 to access its own comms array (index 5 for example) the following commands can be used:
COMMS(5) = 6 | to write a value |
v = COMMS(5) | to read a value. |
To access the comms array (index 5) on the remote controller node (node 23), via the CAN bus, the following commands can be used:
COMMS(23,5) = 6 | to write a value |
v = COMMS(23,5) | to read a value. |
B.2.8.2 Broadcast communication
The second method of accessing the comms arrays over CAN allows a group master node to write to a comms array location of a group of nodes. Each group must have a master node and any node may be in any number of groups. Grouping is set up using the GROUPMASTER keyword, for example:
GROUPMASTER.3 = 15 would set node 15 to be the group master of group 3.
To allow a node to receive a group write broadcast the GROUP keyword is used on the network manager. The following commands would allow nodes 2 and 23 to receive the group write broadcasts for group 3:
GROUP.3.2 = 1
GROUP.3.23 = 1
The group master node can check if it has been made the group master by using the GROUPMASTERSTATUS keyword. This command will return 1 when the node on which it is issued has been made the group master, for example: