KM6551端子模块是一个基于无线电技术的数据交换单元,符合IEEE802.15.4标准。两个独立控制单元可通过无线电实现数据的交换和传输,独立于上一层现场总线。在室外空旷环境下,两个 KM6551 之间最远通讯距离可达到300米。
KM6551端子模块配备了一个反向SMA母座(Straight Medium Adapter),可连接各种无线电天线。可根据具体的环境自由选择天线。模块上的LED指示灯可以显示数据交换状态和无线信号质量,因此可实现快捷、方便的诊断功能。
KM6551是我们可以在两个或多个控制器之间进行无线数据交换。每个数据包可以传送10个字节的数据。模块上的指拨开关可以用来设置模块的工作模式,比如模块可作为主站或从站模式进行通讯。
KM6551模块支持16个无线通道的数据交换,并可在16个通道中自由选择。例如,可建立几个不同的无线网络组成室外无线局域网或是2.4GHz技术的无线电系统。
KM6551还可以搜索可用通道,测量各频率范围内的信号,以确认在这些频段中是否有其它系统在活动。每个数据报文中都会发送一个叫做LQI(信号质量指标)的数据,用于侦测无线信号质量。LQI值高,则说明连接状态好,反之则说明连接状态差。若要改善LQI值,可以改用具有更大传输因数的天线。
1)对等模式——数据交换在两个模块间进行:
数据交换在两个KM6551间进行。每个循环最大传送10字节数据。每次循环(一般小于20ms),模块1向模块2发送数据并且模块2向模块1发送回数据。
2)主-从模式——数据交换在1个主站和最多7个从站间进行:
主-从模式下,主站可以与最多7个从站以轮询(polling)的方式进行通讯。每个从站需要通过拨码开关设置从站地址。在PLC中可以指定主站与哪个从站通讯,如何通讯以及通讯多久。每个从站大约需要20ms,主站若要每次循环与所有7个从站通讯的话,最小循环时间需要140ms。
3)广播模式——向任意数量从站进行广播
广播模式时,只有广播主站发送数据,其他模块作为广播从站只能接收数据而不能发送数据任何处于广播范围内的广播从站都可以监听主站发送的数据
TwinCAT 2.10 Build 1326及以上版本都支持KM6551。
目前支持的总线耦合器为BK1120、BK1250、BK2020、BK3120、BK3150、BK9000、BK9050。
所有BC、BX系列控制器都支持KM6551。
Run(绿色) 灭——K-bus未激活
亮——K-bus激活
Rx(绿色) 亮——正经由无线电接收数据
Tx(绿色) 亮——正经由无线电发送数据
Link 亮绿色——信号质量好
亮橙色——信号质量中等
亮红色——信号质量差或watchdog被触发
更改KM6551的指拨开关可以将KM6551设置为不同的模式,操作简单,无需额外软件设置。
开关拨向右边:On
开关拨向左边:Off
下图示范Slave 5的拨码开关位置(根据下表可设置不同模式)
在TwinCAT中使用KM6551进行通讯需要调用相关的功能块,而针对使用不同的控制器(BC、BX、CX、IPC),其所对应的库文件是不同的,下面列出使用不同控制器所需加载的对应库文件:
用于总线控制器BCxx00系列
Standard.lb6 PlcHelper.lb6
用于总线控制器BCxx20和BCxx50系列
Standard.lbx TcBaseBCxx50.lbx TcSystemBCxx50.lbx
用于总线控制器BXxxxx系列
Standdard.lbx TcBaseBX.lbx TcSystemBX.lbx
用于基于386系统的控制器如IPC、EPC(CX)
Standard.lib TcBase.lib TcSystem.lib
FB_KM6551_MAIN:
该功能块用于处理KM6551的通讯以及设置,每个KM6551模块只能对应一个FB_KM6551_MAIN的功能块。
VAR_INPUT
bActivate: 上升沿激活功能块并将参数写入KM6551
bBroadcast: 仅在主站模式有效;TRUE表示将KM6551设置为广播主站
iChannel_Set: 设置IEEE802-15.4的信道,可设值0~15
uiSlaveTM: 仅用于从站模式;用于 从站的watchdog
KM6551_IN: 用于链接到KM6551的INPUT data
KM6551_OUT: 用于链接到KM6551的OUTPUT data
VAR_OUTPUT
bActive: 为TRUE表示功能块已经参数成功写入KM6551并正与其他KM6551模块进行通讯
bError: 功能块出错
iErrorID: 错误代码
bBusy: 功能块正在执行中
strLinkData: 提供其他功能块需要的数据,可在其他功能块中调用
FB_KM6551_MASTER_10BYTE
该功能块处理主站与任一从站的数据通讯,针对每个从站只可以调用一个功能块。主站中最多可以调用7个该功能块(最多允许有7个从站)。
VAR_INPUT
bStart: 上升沿激活功能块
iSlaveAddr: 所要通讯的从站地址(查看该从站模块的指拨开关)
strLinkData: 链接来自于FB_KM6551_MAIN的strLinkData
ptData_IN: 主站读取从站的数据变量的地址指针,可用ADR(变量名)获得
iLenData_IN: 变量的长度,可用SIZEOF(变量名)获得
ptData_OUT: 主站发送给从站的数据变量的地址指针,可用ADR(变量名)获得
iLenData_OUT: 变量的长度,可用SIZEOF(变量名)获得
VAR_OUTPUT
bError: 功能块出错
bBusy: 功能块正在执行中
iErrorID: 错误代码
iSignalQuality: LQI值,表示接收信号的强度,100为最好,0为最差
E_Addr: 读取并显示KM6551指拨开关的设置值
FB_KM6551_MASTER_10BYTE
VAR_INPUT
bStart: 上升沿激活功能块
strLinkData: 链接来自于FB_KM6551_MAIN的strLinkData
ptData_IN: 从站读取主站的数据变量的地址指针,可用ADR(变量名)获得
iLenData_IN: 变量的长度,可用SIZEOF(变量名)获得
ptData_OUT: 从站发送给主站的数据变量的地址指针,可用ADR(变量名)获得
iLenData_OUT: 变量的长度,可用SIZEOF(变量名)获得
VAR_OUTPUT
bError: 功能块出错
bBusy: 功能块正在执行中
iErrorID: 错误代码
iSignalQuality: LQI值,表示接收信号的强度,100为最好,0为最差
E_Addr: 读取并显示KM6551指拨开关的设置值
FB_KM6551_MASTERBROADCAST_10BYTE
用于主站,令主站以广播模式发送数据
FB_KM6551_SLAVEBROADCAST_10BYTE
用于从站,令从站以广播模式接收主站数据,每个从站只能调用一个该功能块
FB_KM6551_ENERGY_SCAN
该功能块可用以监测一个频段范围内16个无线信道的信号强度,并能将信号强度下显示出来。执行时,每个信道测量5秒钟,然后换到下一信道。信道强度以0至0xF的值显示,0表示无信号,0xF表示信号最强。