近年来,“功能安全”正在成为工业设备领域中实现系统安全性的可靠方法,在工业设备领域,可能会因为机器故障和事故的发生导致经济损失,甚至造成人身伤害事件,从而对工厂运转造成影响或引起社会关注。为了避免这些情况,“功能安全”的重要性与日俱增。在人与机器人协同作业来提高作业效率的进程中,设备安全性越发受到关注。因此,越来越多的设备制造商以满足社会与用户的要求和提高商品竞争力为目的,开始研究功能安全设备。
在本文中,我们将介绍工业领域功能安全应用之一的安全驱动设备,介绍如何使用瑞萨电子RZ/T2M Motor Solution Kit开发板,实现安全驱动器应用方案。介绍开发环境及其所需软件和硬件资料,安全驱动器方案实现的功能,如何搭建开发环境和开发流程和演示测试。
开发环境
RX72N开发环境 |
IDE |
e² studio 2022-10 or later with CCRX 3.0.1 toolchain |
Target board
|
RZ/T2M Motor Solution Kit |
Sample program |
RZ/T2M Motor solution Kit Firmware(r01an6469XX0400-rzt2m-motor-solution-kit) |
Emulator |
E1 Emulator or E2 lite Emulator |
Industrial Safety program
|
-
FSoE:FSoE Application Software Kit Evaluation Version for RX72N
(RTK0EF0080F31001SJ_Ev110_J)
-
PL-SW:SIL3 System Software Kit Evaluation Version for RX72N
(RTK0EF0061F33002SJ_Ev220_RX72N_J)
|
电机套件 |
电机 |
 |
编码器 |

(ROC425 2048 1SS08-C4)
|
联轴器 |
D20L25 孔径8*10 |
FSoE主站模块 |
EK1100+EL6900+EL9011 |
 |
方案介绍
本方案提供可控制电机运转位置/速度的软件,使用户能够对使用RZ/T2M的工业电机系统进行初步评估。
除提供电路图参考设计外,还提供在电路板上运行的嵌入式软件和PC端的控制/监控软件,从而缩短了客户的开发周期。
RZ/T2M ΔΣ IF与瑞萨的ΔΣ调制器相结合,可为客户提供高精度电流检测。Renesas提供一个基准电路,用于检测电机U / V / W相的电流。
RZ/T2M内嵌编码器接口,支持多种绝对值编码器协议,可以直接搭配多种绝对值编码器和RS-485等收发器使用。(该RZ/T2M Motor Solution Kit开发板支持增量式编码器和绝对式编码器(A-format、BiSS、EnDat2.2、HIPERFACE DSL、FA-CODER)。
电机解决方案套件具有2ch RJ-45接口,支持EtherCAT(CiA402),同时支持SIL3软件和EtherCAT的功能安全FSoE协议,提供电机的安全应用功能STO样例。
RX72N和电压监控IC也在电机解决方案板上实现,瑞萨可为FuSa系统提供参考电路,以实现RZ/T2M和RX72N的交叉监控。
软件架构
电机控制运行在RZ/T2M的CPU0。SIL3安全软软件运行在RZ/T2M CPU1和RX72N上。
SIL3安全平台软件上部署了FSoE、EtherCAT(Cia402行规)、电压监控IC检测应用和安全编码器诊断等安全和非安全应用。

实物箱演示图

RZT2M准备
解压RZT2M固件包,生成CPU0,CPU1(空文件),other_3,other_4四个文件夹。

解压RZT2M SIL3软件包,使用到RZT2M_Dual目录下文件。

将RZT2M SIL3软件内容拷贝到固件包中的CPU1。

解压RZT2M FSoE软件包,生成app1,app2,app4,app5四个文件夹。

将RZT2M FSoE软件包下的四个文件依次拷贝覆盖固件包原文件。

将固件包下RZT2M_SolutionKit_FW\others_3\CPU1文件拷贝覆盖RZT2M_SolutionKit_FW\CPU1。

使用SSC软件生成EtherCAT源码
开始菜单打开ssc软件

点击Import输入选择该路径下的Renesas_RZT2_config.xml文件RZT2M\RZT2M_SolutionKit_FW\CPU1\src\usr\app6\rzt\fsp\src\r_ecat\utilities\ssc_config


选择创建RZT2M工程

生成代码,将路径设置如下,点击Start生成Src文件代码\RZT2M_SolutionKit_FW\CPU1\src\usr\app6\rzt\fsp\src\r_ecat\utilities\ssc_config

下载安装patch软件http://gnuwin32.sourceforge.net/packages/patch.htm,对生成的EtherCAT源码打补丁,用户管理员权限执行apply_patch.bat,成功结束后会在修改EtherCAT源码以及源码被拷贝到RZT2M_SolutionKit_FW\CPU1\src\usr\app6\application\ecat。至此,RZT2M的工程准备工作结束。

RX72N准备
解压RX72N固件,生成others_3和others_4文件。

将RX72N的SIL3软件解压。

将该路径下的PL-SW文件拷贝到RX72N固件目录。

解压RX72N的FSoE软件包。

将RX72N的FSoE软件包拷贝覆盖到RX72N固件原文件。

将固件包的\SAMPLE_RX\others_3\PL-SW拷贝覆盖到\SAMPLE_RX\PL-SW,至此RX72N的工程准备结束。

RZT2M工程编译
创建空白workspace文件,将章节3中所完成的RZT2M_SolutionKit_FW文件(路径\r01an6469XX0400-rzt2m-motor-solution-kit\Software\Firmware\FuSa\RZT2M\iccarm\RZT2M_SolutionKit_FW)拷贝到该workspace。打开IAR软件,file\open workspace\CPU1\ RZT2M_Dual_cpu1.eww

设置为debug模式,编译工程,注意并不需要烧录CPU1固件而是通过烧录CPU0来加载CPU1固件。

打开IAR软件,file\open workspace\CPU0\cpu0.eww

设置为release模式,编译工程,编译成功后会在CPU0文件夹里的CPU1_boot_bin里生成CPU1工程的二进制文件,在烧录时CPU0时会连带着CPU1的工程一起烧录。


使用I-Jet烧录器连接开发板上20Pin接口,Project\Download\Download active application开始烧录。注意板子也支持Jlink,不过20Pin接口不是标准接口,需要特殊转接线才可接Jlink烧录器。


RX72N工程编译
创建空白workspace文件,将章节4中所完成的SAMPLE_RX文件(路径为\r01an6469XX0400-rzt2m-motor-solution-kit\Software\Firmware\FuSa\RX72N\SAMPLE_RX)拷贝到该workspace,使用e² studio打开该workspace下的SAMPLE_RX工程。

右击工程属性选择toolchain。CCRX3.0.1是经过功能安全认证的编译器版本。

使用E2-lite连接开发板,如下图所示,右击工程,Debug As\Debug configurations设置如下,点击Debug即可烧录完成。至此固件烧录完成,上电重启,如果LED0509和LED1103闪烁,LED1101常亮,则表示软件运行正常,但是EL6900安全模块红灯闪烁,需要在主站端对ErrAck信号进行复位操作,见后续介绍。


硬件设置
电源供电设置,Inverter板和Controller板可分开单独供电,也可以通过Inverter板一起供电,通过设置Inverter板P1跳线帽1-2短路,表示Inverter板供电,同时给Controller板供电,此时Controller板不再额外供电。
设置电机参数
本文使用的电机型号是FH6S20E-X81,编码型号是ROC425,对应的电机参数是default_nidec_endat.mtr,可从\r01an6469XX0400-rzt2m-motor-solution-kit\Software\MotionUtility\RZ_T2 Motion Utility找到对应文件

设置电机参数,使用RS232转USB连接开发板和PC,双击RZ_T2M Motion Utility软件,选择RS232 Tuner/Analyzer OK打开软件。

加载电机参数文件,File->Import指定default_nidec_endat.mtr->Open,加载后点击File->Save to Flash修改参数完毕,板子上电重启,如果LED0511亮,则表示修改失败,需重新修改。

注意:
1.如果需要RZ_T2M Motion Utility对电机进行调试,需要将default_nidec_endat.mtr重命名为default.mtr。软件的使用请参考使用手册。
2.修改电机参数步骤需要在电机停止运行的条件下进行,如果电机参数不对,会导致电机运行异常,严重时会烧坏开发板的功率器件。
设置主站
连线
使用排线连接Motor board的P2900接口和Inverter Board的P8接口,将Twincat主站网口连接EK1100的IN口,EK1100的OUT口连接Motor board的IN口,分别给Inverter board和EK1100供电24V。

配置TwinCAT主站工程
将该路径RZT2M_SolutionKit_FW\others_3\CPU1\src\usr\app6\rzt\fsp\src\r_ecat\utilities\esi
的Renesas_RZT2M_Motor_Solution_Kit_CiA402.xml文件拷贝到TwinCAT的安装目录TwinCAT\3.1\Config\Io\EtherCAT
新建TwinCAT工程

扫描网络,选择对应网卡,生成网络拓扑,注意第一次扫描时,需要刷写EEPROM。

创建TwinSAFE项目

TwinSAFE项目中输入设备

添加ErrACK signal

创建安全功能块

给功能块分配变量

分配变量映射通道


编写PLC程序如下

编译工程Rebuild生成对应的bErrAck和bErrAckIn变量。

注册绑定FSoE主站硬件,拷贝序列号Series Number,将在后续下载步骤中使用到,保存设置。

双击Drive3确保FSoE从站设备如下

设置链接ErrAck信号

下载FSoE主站安全配置,用户名Administrator,序列号见上述7.2.13,密码是TwinSAFE


激活主站配置

此时从站处于op状态

登录启动主站,默认配置登录时会自动启动,如无自动启动,则需手动点击start。

至此软件下载结束,FSoE安全模块红灯闪烁,需复位清除错误:对bErrAckIn写1然后再写0,红灯闪烁消失。

在线监控通讯状态


功能验证
基于上述步骤完成的安全平台软件样例工程提供了完整软件代码框架,包括FSoE软件和SIL3平台软件以及自检软件。如图架构在硬件上的功能安全平台软件PLSW可实现自检功能和双处理器之间的交叉监控,安全数据通讯(通过SCI串口通道)等安全功能。PLSW支持16种user application,高达32个application,各个application之间通过时间片轮询调度执行,每个application的轮询顺序,执行占用时间和内存空间,都是通过工程路径下的PSW_user_setting.h文件来设置,该文件可通过手动或者官方提供的PLSW_ConfigTool来修改。
RZ CPU0实现电机控制应用,RZ CPU1部署了PLSW和各种不同的user application:包括安全状态led指示应用,电源监控应用,安全IO数据应用,ECAT通讯应用,FSoE应用和安全编码器诊断应用。接下来章节就从实际功能验证角度出发,说明如何在开发板上测试验证。

电机控制功能验证
默认支持pp,pv,hm,csp,csv模式,通过修改控制字等,可实现不同模式下的电机运行。


安全输入输出数据验证
板子按键SW0600和SW1101对应安全输入INPUT_1A和INPUT_1B,安全输出OUTPUT对应LED1101,模拟FSoE急停emergency stop控制,按下SW0600或者SW1101,此时板子LED0509,LED1103亮,表示进入安全控制状态(急停)。

交叉监控功能验证
部署在RZT2M和RX72N的安全平台软件通过串口SCI实现交叉监控,板子正常运行时,设置板子上的开关SW2400或者SW2401,使串口连线断开,两个灯LED0509,LED1103亮,表示进入安全控制状态,通讯中断,电机运行停止。

电压监控功能验证
电压监控IC(ISL88014IH5Z)连接到RZT2M 5.0V/3.3V/1.8V/1.1V电源线和RX72N 5.0V/3.3V电源线,用于监控过压/欠压。
对于RZT2M,开关SW1800模拟实现对5V电压监控,SW2100或者SW2102模拟实现对3.3V电压监控,开关SW2200或者SW2202模拟实现对1.8V电压监控,开关SW2201或者SW2203模拟实现对1.1V的监控。
对于RX72N,开关SW1800模拟实现对5V电压监控,开关SW2101或者SW2103模拟实现对3.3V监控。
通过设置对应开关,可以使正常运行时的板子进入安全控制状态,此时两个灯LED0509,LED1103亮,通讯中断,电机运行停止。

外部按键检测功能验证
按键SW0601或者SW1103模拟实现对外部输入检测,按下按键,可以使正常运行时的板子进入安全控制状态,此时两个灯LED0509,LED1103亮,通讯中断,电机运行停止。
