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 must be configured with the same subnet address as the Ethernet Miniport adapter, of course (first two quadruples).
"BK9000" Tab
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. This 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.
Diagnosis Inputs:
Each fieldbus module contains status information which can be linked to TwinCAT (e.g. to to TwinCAT PLC). This 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 | 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) |
Notice | |
The ("cycle ticks") task time for the respective task should be selected to be so high that the value displayed at MissedCnt is always constant. In the event of doubt, it is better to select a slightly higher cycle time. |
Example:
Minimum cycle time with selected protocol UDP: 30 ms
Minimum cycle time with selected protocol TCP: 50 ms
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) |