否则,如果条件不成立,则执行条件

时间:2018-04-29 17:19:10

标签: c

我试图用this circuit跟踪PLECS(电力电子仿真软件)中的参考。 C脚本是我在下面的代码,它基本上告诉IGBT器件打开(0)和关闭(1)。但是,我无法理解为什么会得到" 0"当输出电压(VCS)上的电压甚至不接近零伏时,作为输出,如shows this figure

DateTimeField(input_formats=['%Y-%m-%d %H:%M:%S'])

在C-Script块中,信号值只能通过使用宏来访问,而不能通过指针算法来访问。例如,我声明了Inputs和Output如下:

int track(double ref, double isb, double vcs) {
    int out;

    if(ref > isb){
        out = 1;
    }
    else if(ref < isb && vcs == 0.0){
            out = 0;
        }

    return out;
}

1 个答案:

答案 0 :(得分:-1)

您的figure显示ref < isbvcs不为零的地方。您的ifelse if都不包含此条件,因此程序执行不会通过其任何一个条款。因此,对于这些情况,代码是有效的:

int out;

return out;

因此,它返回一个未初始化的值。这可能恰好具有返回零的效果,但行为不可靠。

要解决此问题,请在这些情况下将out初始化为您要返回的内容,或添加设置它的else子句。