FX CPU / GX Works2中的CAS结构中的VAR常量

时间:2015-03-02 13:20:33

标签: plc

我在GX Works 2(学习绳索)中遇到了一个奇怪的问题......

我正在尝试创建一个具有几种不同状态的简单状态机。但我确实想为每个状态使用变量名称,但无法使其工作。

Step0是一个代表0的变量常量,这是我的代码:

    CASE iCount  OF
            Step0: 
                Test := "Step 0";
            1: 
                Test := "Step 1";
            2: 
                Test := "Step 2";
            3: 
                iCount := -1;
            ELSE
                Test := "Default case";
    END_CASE;

    iCount := iCount + 1;

我在第一行的Parse error上得到一个简单的Step0。如果我用Step0替换0,它可以完美无缺地运行。 iCountStep0都是签名字。

有什么想法吗?

修改

手册中的相关引用:

  

可以在CASE中使用的数据类型   条件语句可以指定为的条件数据类型    在CASE条件语句中是整数   type(INT)和double precision integer type(DINT)。设备这个词   可以指定单词类型或双字类型标签。

我认为这意味着我可以使用WORD数据类型(一个INT)。

1 个答案:

答案 0 :(得分:1)

作为选择器,尝试使用枚举类型而不是变量:

TYPE
    STEP: (STEP_0, STEP_1, STEP_2, STEP_3);
END_TYPE

CASE iCount OF
    STEP_0: 
        Test := "Step 0";
    STEP_1: 
        Test := "Step 1";
    STEP_2: 
        Test := "Step 2";
    STEP_3: 
        iCount := -1;
    ELSE
        Test := "Default case";
END_CASE;

iCount := iCount + 1;