现象描述:在控制器断电之后,出现EtherCAT从站无法运行的情况。实际通过TwinCAT 3在线观察,发现是授权状态异常,导致EtherCAT从站处于SAFEOP状态。
排查方法:
在System的license界面中查看Online License的实际情况
比如上图中,可以看到TF5050和TF6421两个授权是处于Pending状态,那么可以大致判断是缺少这两个授权导致EtherCAT从站SAFEOP。
如果实际项目未使用这些授权,可以在TwinCAT 3软件中取消相应的授权。
排查PLC项目中是否使用授权相关的库,以及库相关的程序段。如果有,那就删除相应库文件并注释掉对应程序。
之后在TwinCAT ->System->license->Manage Licenses中去掉勾选的相关授权文件,并通过Project License观察实际需要的授权:
随后清除控制器本地操作系统中C:\TwinCAT\3.1\target\license路径中的临时授权文件。
最后执行整个工程的编译,确认没有报错后,重新Activate Configuration激活配置即可。
如果确认项目需要使用到缺少的授权,就需要另外再订购并激活授权了。
授权激活的步骤可以参考:TwinCAT3 使用入门: TwinCAT 3的授权激活 | 倍福虚拟学院。
需要补充的是生成授权需求文件的操作:
下图中License Device①表示以控制器为授权对象,②表示以C9900-L100/EL6070为授权对象。通过License Id点击生成授权需求文件。①、②的System ID不一致,选择好之后会根据这个ID产生授权需求文件也会不同。
其中在表格红框中的License Device这项中,假如是用C9900-L100或者EL6070做为授权对象,需要手动选择对应的Dongle,否则默认是Target。
通过'tclicense@beckhoff.com'将授权需求文件发过去,等待邮件回复授权响应文件。授权需求和响应文件格式的说明:
执行授权响应文件导入的操作(C9900-L100/EL6070):
双击Dongle先Search USB或者/IO至设备状态在Valid下,表示设备正常扫描成功,开始按照②->①->③顺序执行一下。
附上图按钮的功能说明:
检查临时授权文件是否删除
重要提示:仅使用C9900-L100或者EL6070模块进行授权时,若在之前的调试阶段使用过7天授权,那么cache之后,也需要在目标控制器C:\TwinCAT\3.1\Target\Licenses 中仅保留Cache到的授权文件,将7天试用的授权文件删除。
上图中发现响应授权文件有4项,除了通过cache Dongle获取到授权文件外,大家可能还会误操作通过License Respronse File,又获取到了一次授权文件,如下图所示:
建议直接将文件夹中所有的授权文件剪切到其他路径,然后重新Cache Dongle Licenses,只保留最新cache到的文件,最后再整体编译项目程序,Activate Configuration激活配置。
2025.7.3 孙烨 供稿