TwinCAT System Manager: Reference

BK9000 (Ethernet Interface)

The Beckhoff BK9000 Bus Coupler can be configured in TwinCAT below a "Virtual Ethernet Interface" or Ethernet Miniport (real-time) I/O device. In reference to the last which is available since TwinCAT v 2.9 is released, an introduction can be found under: Introduction of TwinCAT Real-Time Ethernet.

 The following description explains the differences between a BK9000 and other Beckhoff Bus Couplers. The Ethernet coupler communicates in non-real-time applications via TCP/IP or UDP (and ADS as the Application Layer on top of it) with TwinCAT. For an Overview of all currently supported Bus Couplers BK90x0 for Virtual Ethernet Interface, please see...

For an Overview of all currently supported Bus Couplers BK90x0 for Ethernet Miniport (real-time), please see...


    Hint:  If Real-Time Ethernet and "normal" Ethernet are both used on the same system with two different network adapters, the subnet addresses of these adapters (NICs) must differ! The BK9000 has to be configured with the same subnet address as the Ethernet Miniport adapter, of course (first two quadruples).

"BK9000" Tab

 BK9000 (Ethernet Interface) 1:

Diagnosis: This checkbox is deactivated for the BK9000.

2 Byte PLC Interface: This checkbox is deactivated for the BK9000.

No Real time Flag: If unchecked, the BK9000 bypasses at all incoming Ethernet frames its internal TCP/IP stack (default if used with Beckhoff TwinCAT Real-Time Ethernet in Run Mode). If, i.e. for configuration purposes in Config Mode sessions the TCP/IP part has to be enabled, this flag may be activated.

K-Bus Update: According to the attached Bus Terminals, the estimated K-Bus update time is calculated and displayed here.

Firmware Update: The firmware update dialog is called by pushing this button. With this function, the most recent firmware version for the BK9000 can be loaded to this device (via LAN or COM port).

Data Exchange: The data exchange with devices can be adapted to their local K-Bus update time and related application. The following description is based on the fact, that the I/O driver resolves an internal cycle counter which is always present.

Scenario: A network contains two Bus Couplers. One Coupler (A) has only a few digital Bus Terminals attached and needs to be updated fast.  Another Coupler (B) has analog Bus Terminals and doesn't need to get updated that fast. In that case, at Bus Coupler (B) the

- Divider: would be set e.g. to '4'  to force the I/O system to only exchange data with this device in every 4th I/O cycle

and the

- Modulo: factor takes care (in the above case it can be set to value between 0..3) that (B) doesn't get an update in the same cycle (A) gets it. 

VLAN Support:

- Enable: Activates the VLAN support (see: IEEE 802.1Q,  RFC3518) for the communication with this device. If enabled, the Ethernet frame is getting extended by 4 byte. These extension is called VLAN tag and contains information about ID and priority for instance

- Priority: A 3 bit VLAN priority value as defined by IEEE 802.1D. Most switches contain two queues, a high and a low priority one. Therefore priorities between 0..3 are assigned to the high priority queue and 4..7 are assigned to the low priority queue at those switch types.

- Id:  12 bit VLAN identifier number as defined by IEEE 802.1Q.

"IP Address" Tab

For further information about this tab, see -> "IP Address" Tab.

"ADS Commands" Tab

For further information about this tab, see -> "ADS Command Window".

Diagnosis Inputs:

BK9000 (Ethernet Interface) 2:

Each fieldbus module contains status information which can be linked to TwinCAT (e.g. to to TwinCAT PLC). These status information are mostly identical at all Beckhoff fieldbus nodes (see CouplerState, MissedCnt)) and are described under -> "Status Information  - Beckhoff Fieldbus nodes". Only the input variable BoxState is specific.  This variable can contain the values which are described inside the below table. Additionally, each variable status is listed in the corresponding "Comment" field.


Variable "BoxState" at BK9000 couplers underneath a Virtual Ethernet Interface device:

Variable Data Type Value Description
BoxState UINT16 0x0000 No error
0x0001 No new Input information
0x0002 Outputs disabled (only with UDP)
0xnn00 nn = current warning level (only with UDP)

Note (only "Virtual Ethernet Interface" related):

The task cycle time ("Cycle ticks") of the corresponding task should be set to that high, that the variable MissedCnt shows a static value. In a case of doubt it is better to decide for a higher rather than a lower cycle time. 

Example:         Minimum cycle time with UDP:    30ms

                          Minimum cycle time with TCP:    50ms



Variable "BoxState" at BK9000 couplers within an Ethernet Miniport (real-time) subnet:

Variable Data Type Value Description
BoxState UINT16 0x0000 No error
0x0001 No Inputs received
0x0002 Outputs disabled
0x0004 No communication
0x0008 Old inputs
0x0010 Invalid input length (configured input process variables don't match attached Bus Terminals)
0x0020 Invalid output length (configured output process variables don't match attached Bus Terminals)