PLC结构化文本(ST)——隐式枚举(implicit enum)

PLC Structured Text Object Oriented Programming

PLC结构化文本(ST)——隐式枚举(implicit enum)

什么是隐式枚类型

POU内部声明的枚举类型称为implicit enum

如何创建隐式枚举类型

PROGRAM MAIN
VAR
	state : (IDLE , SEND_REQUEST,WAIT_FOR_RESPONSE,READ_RESPONSE,ERROR);
END_VAR

POU内部声明一个枚举类型,该枚举只作用于声明的POU内部,外部程序无法重新声明定义。Main程序中只有内部成员可以访问state枚举类型。

PROGRAM MAIN
VAR
	state : (IDLE := 0, SEND_REQUEST,WAIT_FOR_RESPONSE,READ_RESPONSE,ERROR)INT;
    step : INT;
END_VAR
CASE step OF
    state.IDLE :
        ;// dosomething 
    state.SEND_REQUEST :
        ;// dosomething 
    state.WAIT_FOR_RESPONSE :
        ;// dosomething 
    state.READ_RESPONSE :
        ;// dosomething 
    state.ERROR :
        ;// dosomething 
END_CASE

与我们经常定义的全局枚举类型一样,可以定义枚举成员的值和数据类型。

使用场景

只有当前POU需要使用这个枚举,其它地方永远不会使用到,就可以把该枚举定义在POU本地。

总结

这样定义枚举,简单,方便。根据个人需求和项目需求定义即可。

posted @ 2024-09-11 17:33  J_Sheng  阅读(540)  评论(0)    收藏  举报