问题描述:
SoMachine编译报错C0077:未知类型GetDateAndTime如何处理?所属产品线:
EcoStruxure Machine Expert(原SoMachine)解决方法:
问题:
当我将一个项目从SoMachine v3.1更新到SoMachine v4.1或更高版本时,编译会报错如下:
未知类型“GetDateAndTime”
未知类型“SetDateAndTime”
C0077:未知类型“Error”
原因:
SoMachine v4.1 或更高版本中的函数 GetDateAndTime 和 SetDateAndTime 不再对一个库具有唯一名称和唯一性。
名为“ERROR”的枚举(这是 GetDateAndTime 和 SetDateAndTime 的“eERROR”输出引脚的数据类型)也不再唯一命名。
每个都必须使用前缀为“DTU”的“CAA DTUtil Extern”库(日期和时间实用程序)的命名空间显式声明。
解决方法:
在项目中使用查找(Ctrl+F)功能,分别找到“GetDateAndTime”,“SetDateAndTime”和“ERROR”的所有实例,并执行以下修改:
1.将“GetDateAndTime”的声明和函数块实例替换为“DTU.GetDateAndTime”
2.将“SetDateAndTime”的声明和函数块实例替换为“DTU.SetDateAndTime”
3.将“ERROR”的声明替换为“DTU.ERROR”
例如:将声明"MySetTimeError: POINTER TO ERROR;"改为"MySetTimeError: POINTER TO DTU.ERROR;"
是否有帮助?