CANopen协议基础知识——LSS服务

CANopen是一种常被用于嵌入式系统与工业控制领域的高层通讯协议。本篇文章将主要介绍CANopen的LSS服务。

一、概述

Layer setting service (LSS)是CANopen的设置服务与协议(CiA 305),是具有LSS主功能的CANopen设备通过CAN网络查询或更改CANopen设备上物理层、数据链路层和应用层的三个数据,包括Node_ID、波特率、LSS地址(1018h)。

每个LSS从站都有 唯一的LSS地址,其中包含了四个32位子索引的1018h Identity object对象(具体可见CiA301规范)。LSS从站可以处于配置模式和等待模式,LSS主站负责在两个模式之间进行切换。

LSS协议的消息都是由8个字节组成,其中字节0始终包含服务的命令说明符(CS),同时LSS协议的两个CAN-ID分别为7E57E4

  • 7E5h:用于从 LSS 主站发送至 LSS 从站的消息(请求)。
  • 7E4h:用于从 LSS 从站发送至 LSS 主站的消息(响应)。

二、LSS服务

LSS服务主要包括开关状态服务、配置服务、查询服务、识别服务,这里主要介绍开关状态服务和配置服务。

1.开关状态服务

借助这个服务,LSS主站可以将LSS从站切换成配置模式或者等待模式,在配置模式下才能够对LSS从站设备进行节点ID和波特率的更改,这里主要用到命令符号CS=40h。通过这个服务可以将网络中的所有LSS从站切换为配置模式或者等待模式。

如果在整个CAN网络当中不想操作所有的LSS从站,那么也可以通过LSS地址中的参数来操作相应的设备,这个时候LSS主站会发送四条消息(如下图),之后相应的从站会切换到配置模式并发送确认。

2.配置服务

通过配置服务,LSS主站可以更改并且存储(如果有必要的话)LSS从站节点ID和波特率。

1)配置节点服务

LSS主站向LSS从站发送新节点ID的消息,返回错误代码 00h:没有错误,01h:无效节点。

2)配置波特率服务

LSS主站向LSS从站发送新波特率的消息,返回错误代码 00h:没有错误,01h:波特率不支持,FFh:无效表索引

其中表索引与波特率的对应关系如下图

3)激活位计时参数服务

LSS 主站使用此命令同时激活网络中所有 LSS 从站的设定波特率,其中Switch delay的单位ms,确保在可能再次发送消息之前,网络中的所有 LSS 从站均具有相同的波特率。从每个 LSS 从站收到此消息之后,其中存储的时间即是允许等待的时间。只有这时才能接受新的波特率,还可以再次等待相同的时间;只有这时 LSS 从站才能再次发送消息。

4)保存配置服务

通过这一服务,LSS主站可以保存重新设定的节点ID和波特率;在执行这一服务的时候LSS主站必须确保网络中只有一个LSS从站处于配置模式。返回错误代码 00h:没有错误,02h:访问非易失存储器失败。

三、示例

目前有一个LSS从站的参数设置节点ID=40h,波特率=1000kBd,现在需要将参数修改如下节点ID=04h,波特率=500kBd。那么将进行以下报文命令操作:

  • 7E5 | 04 01 00 00 00 00 00 00  将LSS从站切换至配置模式
  • 7E5 | 5E 00 00 00 00 00 00 00  查询LSS从站的节点ID
  • 7E4 | 5E 40 00 00 00 00 00 00  回复节点ID
  • 7E5 | 11 04 00 00 00 00 00 00   将从站节点设置为04h
  • 7E4 | 11 00 00 00 00 00 00 00   从站返回确认
  • 7E5 | 13 00 02 00 00 00 00 00   将LSS从站波特率设置为500kBd
  • 7E4 | 13 00 00 00 00 00 00 00   从站返回确认
  • 7E5 | 17 00 00 00 00 00 00 00   LSS主站发送保存更改命令
  • 7E4 | 17 00 00 00 00 00 00 00   LSS返回确认
  • 7E5 | 04 00 00 00 00 00 00 00  将LSS从站切换至等待模式
  • 705 | 00                                             控制器重启接受新参数

关于虹科

虹科是一家在工业自动化领域,特别是工业总线通讯行业经验超过15年的高科技公司。虹科智能自动化事业部与欧洲和美国的世界知名工业自动化、能源管理与楼宇自动化专家展开深度合作,提供业内顶尖水平的通信协议的软硬件解决方案,通信技术类型涉及工业自动化通讯协议【CAN、CANopen、EtherCAT、PROFINET、EtherNet/IP、IO-Link、OPC UA、MQTT、TSN】等,能源管理与楼宇自动化通讯协议【ASCII、BACnet、KNX、Modbus】等,解决方案包含:代码、芯片/模块、板卡、网关、IO、工控机、继电器、测试方案、培训和开发服务等。因此,虹科是国内为数极少的在OT领域深耕多年并技术经验全面的供应商。

虹科智能自动化事业部以客户需求为导向,以技术能力为基础,为国内企业提供最适合的产品和最满意的服务。作为链条最全、方案最丰富、且兼备技术服务落地的通信技术资源整合商,虹科服务的客户已经超过1000家,虹科工程师们一直在万物互联的潮流中扮演着如高速公路般的连接作用,这是我们的使命也是我们的自豪。