在使用EventLogger时,经常会在EventClass中定义很多报警事件,在项目中定义并不存在问题,但是如果要打包成库文件,通常会发现打包的库文件并不携带这些自定义报警事件,导致在调用库文件后仍需要手动导入报警,否则相关程序会报错。
实际上在导出库文件前我们可以将对应的报警事件类型转换为PLC程序的全局数据类型(Global Data Type),从而实现导出,具体操作步骤如下:1.在EventClass中定义好事件
2.此时如果直接导出成库文件,后续在别的项目中导入库,不会自动导入对应的EventClass,导致库中报警代码报错
3.鼠标右键单击External Types,点击Pin Global Data Type,在项目→TypeSystem→DataTypes→General中找到对应名称的数据类型(或直接搜索),选择ST_xxx和E_xxx
4.可以看到对应的结构体和枚举体被添加到库项目的External Types中了
5.将库导出并安装,打开其他项目测试,可以看到对应的类被自动添加
6.此时使用类中的自定义报警事件不会存在问题,自动导入进来的类也可以修改
参考资料:
名称 |
作者 |
链接 |
TwinCAT3 Eventlogger详解与使用方法.docx |
余洋 |
https://tr.beckhoff.com.cn/mod/folder/view.php?id=2882 |
2025.8.25 曹君 供稿