BC9000, BC9100 - Bus Terminal Controller for Ethernet

BECKHOFF Fieldbus Components

Start.jpg (207194 Byte)

Documentation for

BC9000 and BC9100

Bus Terminal Controller for Ethernet

Version: 3.12
Date: 2007-07-27


BC9000, BC9100 - Technical Data

BECKHOFF 现场总线组件: 产品概述

技术参数

系统参数 | 以太网(BC9000) | 以太网 (BC9100)
控制器数量 | 仅由IP地址空间限制
I/O点数量 | 与控制器有关
数据传输媒介 | 4 *2双绞铜线; 三类线(10 MBaud), 五类线(100 MBaud)
模块之间的距离 | 100 米 (集线器至BC9000)
数据传输速率 | 10/100 MBaud
拓扑 | 星型连接 | 星型连接，线型连接（最多连20个BC9100）

技术参数 | BC9000 | BC9100
总线端子模块数量 | 64
数字量 I/O 信号 | 256 输入/输出
模拟量 I/O 信号 | 128 输入/输出
协议 | Beckhoff ADS, ModbusTCP
组态方式 | 通过KS2000软件或控制器(TwinCAT)
最大字节数 | 512 bytes输入和 512 bytes 输出
总线连接 | 1 x RJ 45 | 2 x RJ45
内置交换机 | - | 三端口交换机
电源 | 24 V DC (-15%/+20%)
输入电流 | 70 mA + (总K-Bus电流)/4
起动电流 | 约 2.5倍持续电流
建议保险丝容量 | £ 10 A
K -Bus供电电流 | 1750 mA
电源触点电压 | 24 V DC max.
电源触点负载电流 | 最大 10 A
电气隔离 | 500 Veff（电源触点/电源电压/现场总线）
重量 | 170 g
工作温度 | 0°C ... +55°C
储存温度 | -25 °C ... +85°C
相对湿度 | 95％无冷凝
抗振/抗冲击性能 | 符合IEC 68-2-6/IEC 68-2-27
EMC/ESD | 符合 EN 50082 (ESD, burst)/EN 50081
安装位置 | 可变
防护等级 | IP20


Technical Data for the PLC

BECKHOFF 现场总线组件: 产品概述

PLC技术参数

PLC 数据 | BC9000 | BC9100
编程 | 通过编程接口(TwinCAT)或通过以太网(TwinCAT)
程序内存 | 64/96 kbyte
数据内存 | 64/128 kbyte
可保持标志 | 4 kbyte
PLC的周期时间 | 执行1000条IL指令（不带I / O的循环）约, 1.5毫秒 | 执行1000条IL指令（不带I / O的循环）约, 1.2毫秒
编程语言 | IEC 6-3 (IL, LD, FBD, ST, SFC)


The Principle of the Bus Terminal

BECKHOFF 现场总线组件: 产品概述

总线端子原理


Ethernet Connection

BECKHOFF现场总线组件 : 安装和布线

以太网的连接

以太网总线的连接通过 RJ45 连接器完成 。

BC9000_Connector.jpg (6645 Byte)

布线

通过集线器或交换机连接

VekabellungPC_HUB_BC.jpg (16161 Byte)

采用标准以太网线，一根从 PC 的网卡连接到集线器，另一根则从集线器连接到总线端子控制器。通过交换机连接，也采用同样方法。

带以太网卡的 PC 和 BC9000 直接连接

VekabellungPC_BC.jpg (15629 Byte)

若要使 PC 直接连接到总线端子控制器，必须使用交叉连线的电缆。

RJ45 插头的管脚分配

管脚 | 信号 | 说明
1 | TD + | 发送+
2 | TD - | 发送 -
3 | RD + | 接收 +
4 | - | 未使用
5 | - | 未使用
6 | RD - | 接收 -
7 | - | 未使用
8 | - | 未使用


Start-up Behaviour of the Bus Terminal Controller

BECKHOFF 现场总线组件：参数和调试

总线端子控制器启动特性

开机后，总线端子控制器检查其状态，配置K-bus， 创建所插入总线端子模块的结构列表并启动PLC程序。
当总线耦合器启动时，I/O LED灯亮并闪烁。如果没有异常，I/O LED灯将在2-3 秒后停止闪烁。如果发生异常，相应的LED灯的闪烁情况将根据错误类型（详见诊断LED）而不同。


Ethernet - Network Classes

BECKHOFF 现场总线组件: 以太网

网络类别

网络分为三类。它们指定了Network-ID的位数和计算机数(或节点数)。 区别在于 IP 地址的前 3 位的不同。

网络类别 | Network ID 位数 | 允许最大网络数 | 节点地址的位数 | 每个网络最大节点数
A 类 | 7 | 126 | 24 | 16 777 214
B 类 | 14 | 16 382 | 16 | 65 536
C 类 | 21 | 2 097 150 | 8 | 254

警告 IP 地址在整个连接的网络中必须唯一！

注意 在同其它的以太网设备通讯时，IP 地址的设置必须在同一个网络分类中。示例: 你的 PC 地址为172.16.17.55, 则总线偶合器的地址必须为172.16.xxx.xxx(每个 xxx 代表 0..255 之间的数。- "0" 通常用于路由器/交换机，因此作为保留数)。

为了查看 PC 自己的地址，可以在 WindowsNT/2000/XP 的 DOS 窗口中输入"ipconfig" 命令。


IP Address

BECKHOFF 现场总线组件: 地址设置

IP 地址

IP地址可以通过四种不同的方法进行设置，这些将在下面详细描述 。

方法 | 说明 | 需要的组件
KS2000 | Addressing using the KS2000 configuration software and DIP switches | KS2000 软件和KS2000电缆
ARP | Addressing via the ARP table | PC with network
BootP | Addressing via BootP server | BootP server
DHCP | Addressing via DHCP server | DHCP server


BK9x00, BC9x00, BK9050 - Address Configuration with KS2000

BECKHOFF 现场总线组件: 地址设置

通过 KS2000设置地址

在KS2000 组态软件中 ，你可以通过对话框窗口设置(3.2.8以上版本)，或直接修改寄存器值来设置TCP/IP 地址。在上电之前，DIP开关的9和10（BK9050 DIP开关的蓝色1和2）必须设置为OFF（0）。

Table 100

寄存器 | 高字节 | 低字节
0 | IP byte 2 | IP byte 1
1 | Not used | IP byte 3

默认值

字节 | 默认值 (十六进制) | 默认值 (十进制)
1 | 0xAC | 172dec
2 | 0x10 | 16dec
3 | 0x11 | 17dec
4 | (DIP switch) | (0 to 255dec)

示例

BK9000, BK9100, BC9000, BC9100
BK9050
Bx9000DipSwitch.jpg (4507 Byte)
开关序号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 (1) | 10 (2) |
码值 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | - | - |
本例中 | ON | OFF | OFF | ON | OFF | OFF | ON | ON | OFF | OFF |
值 | 1 | 0 | 0 | 8 | 0 | 0 | 64 | 128 | - | - | Total=201
注意 要保存图中BK9000、BK9050的设置，单靠硬件复位（开/关电源）是不够的，需要做一个软件复位！


Address Configuration via DHCP Server

BECKHOFF 现场总线组件: 地址设置

通过DHCP Server设置地址

要通过DHCP Server的方式设置地址，则将DIP开关的9设为OFF (0)，10设为ON (1)。

在这种状态下，DHCP服务启动，总线耦合器的IP 地址由DHCP服务器自动分配。
为此，DHCP服务器必须要知道总线偶合器的 MAC-ID,并且每次启动时都应该分配给MAC-ID相同的IP地址。

当分配地址时,TCP/IP Error LED 闪烁。


Testing the IP Address

BECKHOFF 现场总线组件: 地址设置

测试 IP 地址

"PING" 命令用于测试 IP 地址。


Reading the MAC-ID

BECKHOFF 现场总线组件: 以太网

读取 MAC-ID

读取MAC-ID步骤如下:.

  • 将你电脑的 IP地址设为172.16.x.x,子网掩码设为255.255.0.0 。
    BC9000 和 BK9000 的IP地址的出差设置为172.16.17.255（DIP开关1至8设为ON）。
    IP67现场总线盒的 IP 地址为172.16.18.（旋转开关设置）。
  • 启动DOS窗口
  • 向IP地址172.16.17.xxx发送一个 Ping 命令。
  • 用命令arp -a 读取MAC-ID。


Configuration using the System Manager

Enter a general Ethernet card in the TwinCAT System Manager under devices. If the Bus Couplers are already connected to the network and have IP addresses, you can also read these. This will cause all the Bus Couplers with Bus Terminals and their configurations to be loaded. You can then adapt these to meet your requirements.

TCSysMgr_Bx9Scan.gif (20904 Byte)

Commissioning with 6 or more Ethernet nodes

If you enter more than five nodes in the System Manager, you will have to increase the router memory. You will find this setting in the System Manager under Real Time Settings. Enter 350 kbyte there for each Bus Coupler. This will give, for instance, 3.5 MB (10 x 350 kbyte) for 10 Bus Couplers.

Note: The router memory depends on your PC's working memory, and there is a limit to how high it can be set.
Calculation of the maximum possible router memory:
Max. router memory [MB] = (1 MB +((RAM [MB] - 4 MB ) x 0.4)

Example:
Suppose your PC has 128 MB of RAM:
1MB +(128MB - 4MB) x 0,4 = 50,6 MB
So the maximum size of the router memory must not exceed 50.6 MB if there is 128 MB of RAM.


BC9000, BC9100 - Configuration for ModbusTCP

BECKHOFF BC9000, BC9100: ModbusTCP

ModbusTCP组态

实现ModbusTCP通讯不需要进行特殊的配置。默认提供了16字节输入和输出 (PLC variables)用于实现Modbus功能。


Mapping of the Bus Terminals

BECKHOFF 现场总线组件: 组态

总线端子映射

对面向字节的总线端子进行映射的详细分配，可以在总线端子组态指南中找到。该文档也可在产品的 CD 上或下列的因特网上找到： http://www.beckhoff.com.

面向字节的总线端子 | 面向位的总线端子
KL15x1 | KL10xx, KL11xx, KL12xx, KL17xx, KM1xxx
KL25xx | KL20xx, KL21xx, KL22xx, KL26xx, KL27xx, KM2xxx
KL3xxx |
KL4xxx |
KL5xxx |
KL6xxx |
KL7xxx |
KL8xxx |
 | KL9110, KL9160, KL9210, KL9260


BC9000, BC9100 - Remanent and persistent Data

BECKHOFF BC9000, BC9100: 标记内存的分配

诊断

在总线端子控制器中可以读取诊断数据。 诊断信息位于标记区。

标志字节 | 意义
%MB4092-4093 | Bit 0 | ADS 通讯看门狗
 | Bit 1 | ModbusTCP 通讯看门狗
 | Bits 1-14 | 保留
 | Bit 15 | 无以太网连接: Link 指示灯不亮. (出厂设置时此功能不激活。可设置Table 100的寄存器 25来激活 )
%MB4094-4095 | Bit 0 | K-Bus 错误
 | Bit 1 | 配置错误
 | Bit 2 | 超出 K-Bus 循环时间 (K-Bus 循环时间可由 table 1 的寄存器17 查知)
 | Bit 3-15 | 保留


BC9000, BC9100 - Remanent and persistent Data

BECKHOFF BC9000, BC9100: 标记内存的分配

周期时间测量

标记区包括一个计时系统，其计时精度为毫秒级。变量类型为 UDINT(无符号双整型数)。该值可用程序覆盖，为在控制器中对齐数据，该计时器的范围大约 48 天。

标志字节 | 意义
%MB4088-4091 | 4 bytes
 | 数据类型 | UDINT
 |  | 0 .. 4.22 billion ms / 0 .. about 48 days
 | 分辨率 | 1 ms/digit


BC9000, BC9100 - Transmission via the Serial Interface

BECKHOFF BC9000, BC9100: 编程

通过串行接口传输

总线端子控制器的编程，必须通过TwinCAT完成。

程序可以通过PC的 RS232接口下载到总线端子控制器。它通过一根特殊的电缆完成 (随KS2000组态软件包提供)。

为此，应在TwinCAT PLC Control中选择串行接口。

串行接口设置, 串口号, 波特率等. 均可在 PLC Control的Online/Communication parameter中找到。总线端子控制器需要设置如下:
波特率: 19200
停止位: 1
校验位: Even


TcUtilities BC9000

Library:

功能块 RW_FieldbusPrmBC9000

该功能块可用于修改现场总线参数数据。该功能块中只有一个实例是允许的。

VAR_INPUT

bStart_R :BOOL;
bStart_W :BOOL;
NetID: :STRING;
W_BC9000_PRM :BC9000_Fieldbus;
AutoReboot :BOOL;

bStart_R: 读取数据并在 R_BC9000_Prm输出。
bStart_W: 读取和写入W_BC9000Prm数据结构的数据。
NetID: AMSNetId
W_BC9000_Prm: 参数的数据结构
AutoReboot: "TRUE" - 一旦参数设置成功后，耦合器自动重启，并应用修改后的设置。

VAR_OUTPUT

bBusy :BOOL;
bError :BOOL;
iErrorId :DWORD;
R_BC9000_Prm :BC9000_Fieldbus;
RebootNecessary :BOOL;

bBusy: 为真则激活功能块。
bError: 出错指示
iErrorId: 出错代码
R_BC9000_Prm: 现场总线数据结构
RebootNecessary: 此参数为新增，表示控制器要求重启

TYPE BC9000_Fieldbus:
STRUCT
Disable_ADS :BOOL;
WD_ADS :WORD;
CloseIP_Port_ADS :WORD;
DisableModbus :BOOL;
WD_Modbus :WORD;
Close_IP_Port_Modbus :WORD;
FastModbus :BOOL;
IP_Port_Number_Modbus :WORD;
END_STRUCT
END_TYPE

Legend

Disable_ADS: 停用ADS协议（表100偏移15.1）
WD_ADS: ADS 看门狗: 功能执行后如果没有收到报文，输出被设为0（表100偏移量14）。
Close_IP_Port_ADS: 功能执行后如果没有收到更多的报文，关闭TCP/IP 服务（表100偏移量27）。
Disable_Modbus:停用 Modbus 协议(表 100 偏移量15.0)
WD_Modbus: ModbusTCP 看门狗: 功能执行后如果没有收到报文，输出被设为0 (表100 偏移量 24)
Close_IP_Port_Modbus: 功能执行后如果没有收到更多的报文，关闭TCP/IP 服务（表100偏移量28）。
FastModbus: 激活快速 Modbus (表100 偏移量29.0)
IP_Port_Number_Modbus: TCP 端口号 (表 100 偏移量 26)

iErrId 参数 | 含义
0 | 没有错误
> 0 | 出错代码(#暂无说明#)

功能块 RW_ParameterBC9000

该功能块可用于修改PLC参数。该功能块中只有一个实例是允许的。

VAR_INPUT

bStart_R :BOOL;
bStart_W :BOOL;
NetID: :STRING;
W_BC9000_PRM :BC9000_Prm;
AutoReboot :BOOL;

bStart_R: 读取数据并在 R_BC900_Prm输出。
bStart_W: 读取和写入W_BC9000Prm的数据结构的数据。
NetID: AMSNetId
W_BC9000_Prm:参数的数据结构
AutoReboot: "TRUE" - 一旦参数设置成功后，耦合器自动启动并重新启动，并应用修改后的设置。

VAR_OUTPUT

bBusy :BOOL;
bError :BOOL;
iErrorId :DWORD;
R_BC9000_Prm :BC9000_Prm;
AutoReboot :BOOL;

bBusy: 为真则激活功能块。
bError: 出错指示
iErrorId: 出错代码
R_BC9000_Prm: 现场总线数据结构
RebootNecessary: 此参数为新增，表示控制器要求重启

TYPE BC9000_Prm:
STRUCT
Byte_Offset_Output :WORD;
Byte_Offset_Input :WORD;
PLC_Offset_Input :WORD;
PLC_Len_Input :WORD;
PLC_Offset_Output :WORD;
Task_Time :WORD;
Background_Time :WORD;
RetainData :WORD;
PersistentData :WORD;
Terminal_Refresh :WORD;
Check_Terminals: :BOOL;
END_STRUCT
END_TYPE

Legend

Byte_Offset_Output: 指定数字量输出端子的偏移量 (表 0 偏移量 19)
Byte_Offset_Input: 指定数字输入端子的指定偏移量 (表 0 偏移量 20)
PLC_Offset_Input: 指定现场总线输入数据的偏移量(PLC variables, 表 1 偏移量0)
PLC_Len_Input: 指定现场总线输入数据的长度(PLC variables) (表 1偏移量 1)
PLC_Offset_Output: 指定现场总线输出数据偏移量 (表1 偏移量 2)
PLC_Len_Output: 指定现场总线输出数据的长度(PLC变量) (表 1偏移量3)
Task_Time: 任务时间 (表 1 偏移量 12)
Background_Time: 后台时间 (表1 偏移量13)
RetainData: 保持型数据大小 (表 1 偏移量15)
PersistentData: 持久型数据的大小 (表 1 偏移量18)
Terminal_Refresh: K-Bus 刷新 (表1 偏移量 17)
Check_Terminals: 启动阶段时停用总线端子的检验 (表 1偏移量14.6)

iErrId 参数 | 含义
0 | 没有错误
> 0 | 出错代码(#暂无说明#)

Example:


Time protocol (SNTP)

BECKHOFF 现场总线组件: 编程

时间协议 (SNTP)

(firmware 版本 BB或以上)

简单网络时间协议是用来通过因特网同步时钟的。BC9000可以与时间服务器同步。

Library:

功能块 FB_SNTP

firmware 版本 BA :

如果变量sSntpServer为空字符串，则BC9000将搜索时间服务器。 如果没有找到时间服务器则终止进程。如果找到时间服务器，变量sCurrSntpServer会显示找到的IP地址。 bStart的 上升沿激活该功能块并启动时间服务器查询。

Firmware 版本BB或以上:

如果是输入IPAddress总线控制器采用SNTP协议。 如果输入空字符串，则采用时间协议（UDP port 37）。

VAR_INPUT

bStart :BOOL;
sSntpServer :STRING(15);
tTimeOut :TIME;

bOpen: 上升沿启动该功能块。
sSntpServer: 输入SNTP 服务器地址。如果输入一个空字符串，则采用时间协议（UDP port 37）。
tTimeOut: 超时则终止进程

VAR_OUTPUT

bBusy :BOOL;
bError :BOOL;
iErrorId :WORD;
tTime :DT;
cCurrSntpServer :STRING(15);

bBusy: 为真则激活该功能块。
bError: 出错指示
iErrorId: 错误代码
tTime:读取到的时间和日期
sCurrSnptServer:SMTP服务器的IP地址。

iErrId 参数描述 | 含义
0 | 没有错误
> 0 | 错误代码 (#暂无具体说明#)

Example:


BC9000 Reaction Time

BECKHOFF 现场总线组件: BK9000, BC9000

响应时间

BC9000 响应时间

ADS | 时间 [ms]
TCP | 23 ～ 50 ms + BC9000 (jitter)任务时间
UDP | 2 ～ 3 ms + BC9000 (jitter)任务时间

Modbus | 时间 [ms]
TCP | 12 ～ 15 ms + BC9000 (jitter) (默认)任务时间
Fast TCP* | 1 ～ 3 ms + BC9000 (jitter)任务时间

* firmware版本 B7或以上, Table 100, Register 29 - "1" Fast TCP / "0" TCP (see Modbus Interface)

BK9000 响应时间

ADS | 时间 [ms]
TCP | 23 ～ 50 ms
UDP | 2 ～ 3 ms

RT-Ethernet** | 时间 [ms]
RAW | < 1 ms + K-Bus (K-Bus 循环时间)

Modbus | 时间 [ms]
TCP | 12 ～ 15 ms (默认)
Fast TCP* | 1 ～ 3 ms

* firmware版本B5或以上, Table 100, Register 29 - "1" Fast TCP / "0" TCP (see Modbus Interface)

** firmware版本B8


ADS Services

BECKHOFF 现场总线组件: 以太网

ADS 服务

Note 一个ADS报文的用户数据最大值是1900字节。

过程数据端口300

现场总线数据通过ADS端口300来访问。 该数据由看门狗监控。如果在1000 ms 内没有进一步的报文到达，输出将切换到安全状态。.

Index group | Meaning | Index offset (value range)
0xF020 | Inputs | 0...511
0xF030 | Outputs | 0...511

本地过程映像端口800(仅BC9000 )

数据可以从本地进程映像中读取，也可以写入本地进程映像。如果有必要将输出写入，确保它们没有被本地PLC使用是非常重要的，因为PLC可能会覆盖这些值。数据与watchdog无关，因而不可用做输出，否则一旦发生错误即会切断通讯。

Index group | Meaning | Index offset (value range)
0xF020 | Inputs | 0...511
0xF030 | Outputs | 0...511
0x4020 | Flags (BC 9000 only) | 0...4096

ADS services

AdsServerAdsStateB7
Data type (read only) | Meaning
String | Start - 本地PLC正在运行 Stop - 本地PLC停止
AdsServerDeviceStateB7
Data type (read only) | Meaning
INT | 0 – Start - 本地PLC正在运行 1 – Stop - 本地PLC停止
AdsServerTypeB7
Data type (read only) | Meaning
String | Coupler_PLC
ADSWriteControlBA
Data type (write only) | Meaning
NetID | Net ID of the BC9000, C900
Port | 800
ADSSTATE | 5 - RUN / 6 - STOP
DEVSTATE | 0
LEN | 0
SRCADDR | 0
WRITE | 上升沿触发功能块
TMOUT | 例: t#1000ms
Note 注意：对非循环数据通信， TCP/IP 连接的建立需要大约20 - 30 毫秒。连接成功建立之后，ADS数据将被读取和写入。1000字节左右的ADS读取需要大约50毫秒。 如果10秒内没有数据传输，TCP/IP连接将被BC/BK9000, B/C9000切断。

寄存器端口100

在BK/BC9000 中用于寄存器通讯的ADS端口序号是固定的，被设置为100。

Index group | Index offset (value range) |  | Meaning
 | Hi-Word | Low Word
0 | 0...127 | 0...255 | 耦合器中的寄存器 高字表示寄存器所在的table 低字表示寄存器号
1...64 | 0...3 | 1...64 | 端子模块的寄存器 高字表示通道号 低字表示寄存器号
Note 注意：当读取寄存器时，ADS功能块块的超时时间设置要大于1秒。
Note 注意：当写入寄存器时的密码设置。 (详见特殊总线端子文件).

IP 和 AMS-Net-IDB6 之间的访问控制及相关

AMS Net-Id 表允许通过AMS访问控制BC 9000。只有那些已经输入到表里的AMS设备才可以访问BC9000。
可以用ADS write命令来填写AMS Net-Id表:
最多能填写10条。

The structure
AMS Net ID | Size
AMS Net ID | 6 bytes
IP address | 4 bytes
Reserve | 2 bytes
Reserve | 4 bytes
Reserve | 4 bytes

通过端口10.000访问

Index group: 700

Index Offset (write) | Comment | Data
0 | Add an entry | Data structure, 20 bytes
1 | Delete an entry | -
2 | Delete all entries | -
10 | Save the table in Flash memory | -

Index Offset (read) | Comment | Data
0 | Number of entries | 2 bytes
1...10 | Entry n (1...10) | Data structure, 20 bytes
Note 第一次输入时，设备会写入表中，其设置会立即生效。确保所有这些设置都正确。如果只有终端模块插入并且将DIP开关1-7设为ON，则可以删除此表。

)B6: firmware版本 B6
)B7: firmware版本 B7
)BA : firmware版本 BA

See the example


Further ADS services

BECKHOFF 现场总线: ADS

进一步ADS服务

Flash data storage*

(from firmware version BA)

0x1234hex process data port

此服务可使更多的数据储存在内存中。有16,000 字节的空间用于此目的。

Index group | Meaning | Index offset (value range)
0x4000_FE00 | Flash data memory | 0...0x3EFF

Note
  • 需要2 个IP套接字供调用。请确保不要超过开放的IP套接字的最大值。
  • 闪存已经限制了写入能力。请确保如有实际需要将数据只写入闪存。否则使用剩磁数据。
  • 最大可读取或写入1500字节。 该内存字节的地址可以通过偏移索引来指定。

数据写入需要有一定时间：
正常操作时，200字节大约需要120 ms，600字节大约需要150 ms。
读取200字节需要大概50 ms，600字节需要大概60 ms。

ST example program


AMS routing table

BECKHOFF 现场总线组件: 以太网

AMS 路由表

该 AMS路由表 可用于两个功能：

  1. 如果AMS Net ID与TCP/IP 地址不匹配， 两个地址可以填入表中以设置关联。
    如果它们前4字节相同并且AMS Net ID 以".1.1"结尾，则AMS Net ID 可以匹配TCP/IP 地址。
  2. 只有存储在表项中的AMS Net IDs可以通过ADS访问BC9000。

请确保所有被要求与之通讯的ADS设备均写入了该表项。如果表是空的（默认），则所有ADS设备都可以访问BC9000。

KS2000 对话框

4.3.0.39及以上版本的KS2000软件可以直接通过对话框编辑AMS路由表。

通过ADS在路由表中输入数值

该AMS路由表可以通过ADS加载到BC9000中。 由于输入的内容会立即生效，请确保你的记录是第一条，否则有可能会影响AMS路由表中其他的记录。

Example ST program:


Example communication from BC9000 to a TwinCAT PC system

BECKHOFF现场总线组件: 示例

BC9000 到TwinCAT PC system的通讯示例

在一些应用中，不希望采用轮询操作（主从原则）。BC9000的 ADS功能块可以实现节 点间通讯（两个BC9000之间）和与上层TwinCAT PC的通讯。这意味着BC9000的应用程序可以决定什么时候将数据发送给上层的系统。比如，任何故障信息都可以立即传送给TwinCAT PC。

要求：
TwinCAT 2.9 build 1025或以上版本
IP地址与 AMS Net ID 相匹配。

可在Dos窗口中执行>ipconfig< 命令来获取你电脑的IP地址。

该AMS Net ID 显示在Properties/AMS router中。

如果AMS Net ID 与TCP/IP地址不匹配，可以直接在路由表中修改（表2）。

例: AMS Net ID匹配

AMS Net ID: 172.16.100.10.1.1
TC/IP: 172.16.100.10

所需库文件: AdsBC.lb6

BC9000 与TwinCAT PC 通讯编程示例

ST master example program:
ST slave example program:


Example: Changing the Ethernet coupler settings via ADS

BECKHOFF Fieldbus Components: ADS example

Example: 通过ADS改变以太网耦合器设置。

要求：
本例中需要一台BC9000 。请注意：需要两个本地插口用于读取和写入!

Required library:
AdsBC.lb6
TcPlcUlititiesBC.lb6
PlcSystemBC.lb6
PlcHelperBC.lb6
TcUtilitiesBC9000.lb6

说明：
该功能块可以设置各种参数(see example) 。更多介绍详见库章节。

Example:
ST example program


ModbusTCP Error Answer

BECKHOFF 现场总线组件: ModbusTCP

ModbusTCP 从站错误应答 (BK9000, BC9000, IP/ILxxxx-B/C900)

当用户给从站发送一个耦合器不能识别的请求或信息时，从站将回应一个错误报告。该应答包含功能和错误代码。返回值会自动加0x80 。

代码 | 名称 | 意义
1 | ILLEGAL FUNCTION | Modbus 功能未实现
2 | ILLEGAL DATA ADDRESS | 无效的地址或长度
3 | ILLEGAL DATA VALUE | 无效的参数 - 诊断功能 - 不正确的读/写存取寄存器号
4 | SLAVE DEVICE ERROR | 看门狗或 K-Bus 错误
6 | SLAVE DEVICE BUSY | 输出数据已被另一IP地址的设备接收。


ModbusTCP Functions

BECKHOFF 现场总线组件: ModbusTCP

ModbusTCP 功能码

在Modbus协议中， 采用不同的功能码决定了是读还是写以及读写的数据类型。

Function | Code | Description
Read coil status | 1 | Read digital outputs
Read input status | 2 | Read digital inputs
Read holding register | 3 | Read analog outputs and inputs / GPR
Read input register | 4 | Read analog inputs / GPR
Force single coil | 5 | Writing a digital output
Preset single register | 6 | Write one analog output / GPR
Diagnostic | 8 | Diagnostic
Force multiple coils | 15 | Write a number of digital outputs
Preset multiple register | 16 | Write a number of analog outputs / GPRs
Read / Write Registers | 23 | Write and read a number of process data outputs / GPRs

GPR (General Preset Register) - register structure of the Modbus interface (see Appendix)


Examples for ModbusTCP

BECKHOFF 现场总线组件: ModbusTCP

ModbusTCP示例

Modbus TCP示例包含在如下帮助文档中。

例子: VB6.0实现ModbusTCP
Extract ModbusTCP.zip

例子: VB6.0实现ModbusTCP置位或复位watchdog:
Extract BK9000Modbus.zip


Register Settings, Table 0

BECKHOFF 现场总线组件: 寄存器

Table 0 寄存器设置

KS2000 软件可以通过对话框设置寄存器，也可以直接写寄存器。

寄存器 | 描述 | 默认值 | 总线端子控制器
19 | Byte offset digital outputs %Q... | 0 | BC2000, BC3100, BC4000, BC7300, BC8x00, BC9000
20 | Byte offset digital inputs %I... | 0 | BC2000, BC3100, BC4000, BC7300, BC8x00, BC9000


Register Settings, Table 1

BECKHOFF 现场总线组件: 寄存器

Table 1 寄存器设置

KS2000 软件可以通过对话框设置寄存器，也可以直接写寄存器。

寄存器 | 描述 |  | 默认值 | 总线端子控制器
0 | Byte offset PLC variables %I. |  | 128 | BC2000, BC3100, BC4000, BC7300, BC8x00, BC9000
1 | Length of the PLC variables %I... |  | 16 | BC2000, BC3100, BC4000, BC7300, BC8x00, BC9000
2 | Byte offset PLC variables %Q... |  | 128 | BC2000, BC3100, BC4000, BC7300, BC8x00, BC9000
3 | Length of the PLC variables %Q... |  | 16 | BC2000, BC3100, BC4000, BC7300, BC8x00, BC9000
4-11 | Bus Terminal assignment |  |  | BC2000, BC3100, BC4000, BC7300, BC8x00, BC9000
4.0-4.1 | Assignment of the first Bus Terminal |  | 00bin | BC2000, BC3100, BC4000, BC7300, BC8x00, BC9000
 | 00bin | Local process image
 | 10bin | Fieldbus process image compact
 | 11bin | Fieldbus process image complex
4.2-4.3 | Assignment of the second Bus Terminal |  | 00bin | BC2000, BC3100, BC4000, BC7300, BC8x00, BC9000
m.n-1..m.n | Assignment of the nth Bus Terminal |  | 00bin | BC2000, BC3100, BC4000, BC7300, BC8x00, BC9000
14.2-14.3 | Execution of the K-Bus update |  | 00bin | BC2000, BC3100, BC4000, BC7300, BC8x00, BC9000
 | 00bin | before and after the PLC
 | 01bin | before the PLC
 | 10bin | after the PLC
12 | PLC cycle time |  | 5 ms (20 ms for the BC9000) | BC2000, BC3100, BC4000, BC7300, BC8x00, BC9000
13 | Background Time |  | 2 ms (10 ms for the BC9000) | BC2000, BC3100, BC4000, BC7300, BC8x00, BC9000
15 | Size of the NOVRAM (remanent data) |  | 64 [Byte] | BC2000, BC3100, BC4000, BC7300, BC8x00, BC9000
17.0-17.7 | Terminal bus autorefresh: Cycle in [ms] |  | 0x0000 Disable (0x005F for the BC9000) (0x035F for the BC9100) | BC2000, BC3100, BC4000, BC7300, BC8x00, BC9000
17.8-17.15 | Terminal bus autorefresh: max. retries
18 | Size of the NOVRAM Persistent data R18<R15 |  | 0 | BC2000, BC3100, BC4000, BC7300, BC8x00, BC9000
27 | Byte offset KL6xx1 bus terminal emulation %Q... |  | 500 | BC8x00
28 | Byte offset KL6xx1 bus terminal emulation %I... |  | 500 | BC8x00
32 | Baud Rate |  | 2 | BC8x00
 | 0 | 38400Bd
 | 1 | 19200Bd
 | 2 | 9600Bd
 | 3 | 57600Bd
 | 4 | 1200Bd
 | 5 | 2400Bd
 | 6 | 4800Bd
33 | Mode |  | 2 | BC8x00
 | 0 | 7 data bits, even parity
 | 1 | 7 data bits, odd parity
 | 2 | 8 data bits, no parity
 | 3 | 8 data bits, even parity
 | 4 | 8 data bits, odd parity
34 | Number of stop bits |  | 0 | BC8x00
 | 0 | one stop bit
 | 1 | two stop bits


Register Settings, Table 100

BECKHOFF 现场总线组件: 组态

Table 10 寄存器设置

KS2000 软件可以通过对话框设置寄存器，也可以直接写寄存器。

寄存器 | 描述 |  | 默认值 | 总线端子控制器
0-1 | IP address |  | 0xAC, 0x10, 0x11, 0x00 | BC9000, BK9000
2-3 | IP mask |  | 0xFF, 0xFF, 0x00, 0x00 | BC9000, BK9000
4-13 | Device name |  | BC9000 | BC9000, BK9000
14 | Watchdog AMS/ADS |  | 1000 ms | BC9000, BK9000
15.0 | 0bin | Enable ModbusTCP | 0bin | BC9000, BK9000
 | 1bin | Disable ModbusTCP
15.1 | 0bin | Enable AMS/ADS | 0bin
 | 1bin | Disable AMS/ADS
16.8 | 0bin | Ethernet mode half duplex | 1bin | BC9000, BK9000
 | 1bin | Ethernet mode full duplex
16.12 | 0bin | Auto baud rate off | 1bin
 | 1bin | Auto baud rate on
16.13 | 0bin | 10 MBaud | 1bin
 | 1bin | 100 MBaud
17-18 | Default gateway |  | 0x00, 0x00, 0x00, 0x00 | BC9000, BK9000
24 | Watchdog ModbusTCP |  | 1000 ms | BC9000, BK9000
25.0 | Entry of a fieldbus error (connection to switch interrupted) in the flags area diagnosis |  | 0bin | BC9000
 | 0 | Error was not entered
 | 1 | Error was entered
26 | ModbusTCP port no. |  | 502 | BC9000, BK9000
27 | ADS connection duration |  | 10 s | BC9000, BK9000
28 | Modbus connection duration |  | 10 s | BC9000, BK9000
29.0 | ModbusTCP mode |  | 0bin | BC9000, BK9000
 | 1bin | Fast ModbusTCP


ModbusTCP Diagnostic

BECKHOFF 现场总线组件: 错误处理和诊断

ModbusTCP 诊断

See Modbus diagnostic function

See ModbusTCP error answers


General operating conditions

The following conditions must be observed if the fieldbus components are to function without error.

Environmental conditions

Operation

The components may not be used without additional protection in the following locations:

  • in difficult environments, such as where there are corrosive vapors or gases, or high dust levels
  • in the presence of high levels of ionizing radiation
Condition | Permissible range
Permissible ambient temperature range during operation | 0°C ... +55°C
Permissible relative humidity during operation | 95 %, no condensation
Installation position | variable
Vibration resistance | conforms to EN 60068-2-6
Shock resistance | conforms to EN 60068-2-27, EN 60068-2-29
EMC resistance burst | conforms to EN 61000-6-2
ESD emission | conforms to EN 61000-6-4

Transport and storage

Condition | Permissible range
Permissible ambient temperature range during storage | -25 °C ... +85°C
Permissible relative humidity | 95 %, no condensation
Free fall | up to 1 m in the original packaging

Protection classes and types

Condition | Permissible range
Protection class in accordance with IEC 536 (VDE 0106, Part 1) | A protective conductor connection to the mounting rail is necessary!
Protection class according to IEC 529 | IP20 (protection against contact with a standard test finger)
Protection against foreign objects | Less than 12 mm in diameter
Protection against water | No protection

Component identification

Every supplied component includes an adhesive label providing information about the product's approvals. For example, on the BK2000:

The following information is printed on the label:

Printed item | In this particular example:
Precise product identification | Lightbus Coupler BK2000
Supply voltage | 24 VDC
Data transfer rate | 2.5 MBaud
manufacturer | Beckhoff Automation GmbH
CE mark | Conformity mark
UL mark

Mark for UL approval. UL stands for the Underwriters Laboratories Inc., the leading certification organization for North America, based in the USA.

C = Canada, US = USA, LISTED 22ZA (the test results can be inspected under this entry)
Production identification

From left to right, this sequence of characters indicates the production week (2 characters), the production year (2 characters), the software version (2 characters) and hardware version (2 characters), along with any special indications (4 characters).

This case therefore is a BK2000
- produced in the 9th calendar week
- of the year 2001
- containing the BF firmware version
- and using the 6th hardware version
- with no special indications


Approvals

BECKHOFF 现场总线组件: 附录

认证

UL E172151

合格标志

CE

防护等级

IP20 in accordance with EN60529


Test Standards for Device Testing

BECKHOFF 现场总线组件: 附录

设备性能的测试标准

EMC

EN 61000-6-2

EN 61000-6-4

Vibration resistance

EN 60068-2-6 Vibration Testing

EN 60068-2-27/29 Shock Testing


Bibliography

BECKHOFF Fieldbus Components: Appendix

参考书目

TCP/IP

TCP/IP (English)
Illustrated, Volume1 The Protocols
by W. Richard Stevens
Publisher: ADDISON-WESLEY Longmann Verlag

TCP/IP (German)
Aufbau und Betrieb eines TCP/IP Netzes (Structure and Operation of a TCP/IP Network)
by Kevin Washburn and Jim Evans
Publisher: ADDISON-WESLEY Longmann Verlag

Modbus/TCP

http://www.modicon.com/

http://www.modbus.org

TwinCAT

Beckhoff Information System
http://infosys.beckhoff.com


List of Abbreviations

ADS

Automation Device Specification.

IP (20)

Bus Terminal protection class

IPC

Industrial PC

I/O

Inputs and outputs

K-Bus

Terminal bus

KS2000

Configuration Software for Bus Terminals, Bus Coupler, Bus Terminal Controller, Fieldbus Box Modules and so on

PE

The PE power contact can be used as a protective earth.

TwinCAT

The Windows Control and Automation Technology


Support and Service

Beckhoff and their partners around the world offer comprehensive support and service, making available fast and competent assistance with all questions related to Beckhoff products and system solutions.

Beckhoff's branch offices and representatives

Please contact your Beckhoff branch office or representative for local support and service on Beckhoff products!

The addresses of Beckhoff's branch offices and representatives round the world can be found on her internet pages:
http://www.beckhoff.com

You will also find further documentation for Beckhoff components there.

Beckhoff Headquarters

Beckhoff Automation GmbH

Eiserstr. 5
33415 Verl
Germany

Phone: | +49(0)5246/963-0
Fax: | +49(0)5246/963-198
e-mail: | info@beckhoff.com
Beckhoff Support

Support offers you comprehensive technical assistance, helping you not only with the application of individual Beckhoff products, but also with other, wide-ranging services:

  • support
  • design, programming and commissioning of complex automation systems
  • and extensive training program for Beckhoff system components
Hotline: | +49(0)5246/963-157
Fax: | +49(0)5246/963-9157
e-mail: | support@beckhoff.com
Beckhoff Service

The Beckhoff Service Center supports you in all matters of after-sales service:

  • on-site service
  • repair service
  • spare parts service
  • hotline service
Hotline: | +49(0)5246/963-460
Fax: | +49(0)5246/963-479
e-mail: | service@beckhoff.com


LEDs

Fieldbus components: Appendix

Quick Start for Experienced Users

In development.


ModbusTCP Error Answer

BECKHOFF现场总线组件: ModbusTCP

ModbusTCP 错误代码描述

当用户向耦合器发送一个无法识别的请求或信息时，耦合器（从站）会给出一个出错信息。此信息包含了功能错误代码。功能执行的返回值会加 0x80 。

Code | Name | Meaning
1 | ILLEGAL FUNCTION | 未执行Modbus功能
2 | ILLEGAL DATA ADDRESS | 地址或数据长度无效
3 | ILLEGAL DATA VALUE | 无效的参数 - 诊断功能 - 寄存器不正确
4 | SLAVE DEVICE ERROR | Watchdog 或 K-Bus 错误
6 | SLAVE DEVICE BUSY | 收到来自另一IP地址设备的输出数据


Fieldbus components: Appendix

Lists

In development.


Fieldbus Box: Accessories

Profibus Accessories

The necessary accessories for the IP67 modules are available from Beckhoff for this protection class.

Fieldbus Accessories

Pre-assembled cable

Plug

Distributor

Power supply

Pre-assembled cable

Plug

Distributor

Sensor power supply

Pre-assembled cable

Plug

Distributor

IP-Link

Pre-assembled cable

Plug