Open search

CAN Newsletter magazine

Implementing a CANopen injector FSA

An injector compliant with the CiA 425-2 implements a CANopen NMT (network management) slave FSA (finite state automaton) and an injector FSA. The coupling possibilities of the both FSA are analyzed in this article.

Value definition for object 1029h (Source: CiA 301)

The complete article is published in the September issue of the CAN Newsletter magazine 2020. This is just an excerpt.

The CiA 425 specification available from CAN in Automation (CiA) is a CANopen application profile for medical diagnostic add-on modules. The part 2 (CiA 425-2) specifies the CANopen interface of an injector. The document does not explicitly specify the relationship between the injector’s CANopen NMT slave FSA and the injector FSA. It states that the both automata are only loosely coupled, as an injector provides local control functions (local safety requirements) even if communication between the injector and its communication partner (scanner) breaks down. The latter is commonly known as a communication loss. CiA 425-2, nevertheless, specifies for the injector FSA selectable safety-behavior options in case of a communication loss. Similarly, the CiA 301, base CANopen specification) specifies options for the CANopen NMT slave FSA.

This article tries to establish a relationship between the two state machines, if a communication loss occurs. Achievable and realistic relationship with currently avail- able options (see CiA 425-2 and CiA 301) is analyzed regardless of injector’s local safety requirements.

CANopen NMT slave FSA and injector FSA

The CANopen NMT slave FSA (see CiA 301) models the behavior of the communication function unit on a CANopen device. The injector FSA (see CiA 425-2) models the application behavior of the injector device. The latter utilizes its underlying CANopen communication function unit to communicate with its counterpart CANopen communication function unit on a scanner device. In a CANopen network consisting of an injector and a scanner, the injector is the NMT slave, and the scanner is the NMT master (specified in CiA 425-1). Thus, the injector implements an NMT slave FSA, which is controlled by the scanner. This is valid regardless of the injector’s operation mode.

Which injector functions can be controlled by the scanner depends on the currently active operation mode (see CiA 425-2), namely monitor, tracking, or control mode. The scanner can choose in which operation mode the injector shall operate. In other words, the scanner decides how much control it has over the injector FSA. In the monitor mode, the scanner has no control over the injector FSA. The injector and the scanner start and operate independently. But the injector notifies the scanner about its current state (therefore the monitoring). Compared with the monitor mode, the tracking mode is different in the following two points:

  • The injector cannot enter the system ready state until the scanner informs the injector that it is also ready.
  • If the injector starts locally, the scanner is triggered to start itself (therefore the tracking).

Injector FSA reaction to a communication loss (Source: Bayer)

Consequently, the only difference between the monitor mode and the tracking mode is the way in which the injector and scanner start. In the monitor mode, the injector and scanner start separately. In the tracking mode, the injector starts locally, which then triggers the scanner to start automatically. But, the scanner prevents the injector from entering the system ready state when it is not ready itself. This guarantees that the scanner and the injector can start at the same time. This is the only control function, which the scanner has over the injector FSA in the tracking mode.

In the control mode, the scanner takes full control over the injector FSA. For example, when the scanner starts, it sends a command to start the injector as well. However, due to the different safety control requirements in the injectors implemented by the OEMs, the scanner's control over the injector FSA is more restricted than it is allowed in the CiA 425-2. For example, scanner’s request to arm the injector (i.e. remote arming by transitioning state from idle to injector ready) may be denied by the injector, even though the state transition is remotely allowed per CiA 425-2.

As described above, in the tracking mode, the scanner is triggered by the injector to start. In the control mode (in addition to being triggered by the injector) the scanner started by the operator, can also command the injector to start at the same time. As far as the starting (entering into the procedure-executing state) is concerned, it is a one- way issue in the tracking mode, but a both-way issue in the control mode.

The scanner command (i.e. the control word, including selection of injector’s operation mode and control- ling the injector FSA) is received by the injector through RPDO 1 (receive process data object). The injector state notification (i.e. the status word, sent either as a response to the scanner control word, or due to a state transition on the injector) is sent to the scanner through TPDO 1 (transmit PDO). This implies that the injector NMT state must be NMT operational, as it is the only NMT state in which a PDO communication is possible. In other words, the injector FSA “lives” in the NMT operational state, regardless of its operation mode. This is the case until the communication breaks down between the injector and the scanner (commonly known as a communication loss).

If you would like to read the full article you can download it free-of-charge or you download the entire magazine.


Publish date