2. TwinCAT 3导出库文件时,如何嵌入Eventlogger自定义报警类型?

在使用EventLogger时,经常会在EventClass中定义很多报警事件,在项目中定义并不存在问题,但是如果要打包成库文件,通常会发现打包的库文件并不携带这些自定义报警事件,导致在调用库文件后仍需要手动导入报警,否则相关程序会报错。

实际上在导出库文件前我们可以将对应的报警事件类型转换为PLC程序的全局数据类型(Global Data Type),从而实现导出,具体操作步骤如下:

1.EventClass中定义好事件


2.此时如果直接导出成库文件,后续在别的项目中导入库,不会自动导入对应的EventClass,导致库中报警代码报错

3.鼠标右键单击External Types,点击Pin Global Data Type,在项目→TypeSystem→DataTypes→General中找到对应名称的数据类型(或直接搜索),选择ST_xxxE_xxx



4.可以看到对应的结构体和枚举体被添加到库项目的External Types中了


5.将库导出并安装,打开其他项目测试,可以看到对应的类被自动添加

  • 添加库之前:


  • 添加库之后:


6.此时使用类中的自定义报警事件不会存在问题,自动导入进来的类也可以修改


参考资料:

名称

作者

链接

TwinCAT3 Eventlogger详解与使用方法.docx

余洋

https://tr.beckhoff.com.cn/mod/folder/view.php?id=2882


2025.8.25 曹君 供稿