我试图用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;
}
答案 0 :(得分:-1)
您的figure显示ref < isb
和vcs
不为零的地方。您的if
和else if
都不包含此条件,因此程序执行不会通过其任何一个条款。因此,对于这些情况,代码是有效的:
int out;
return out;
因此,它返回一个未初始化的值。这可能恰好具有返回零的效果,但行为不可靠。
要解决此问题,请在这些情况下将out
初始化为您要返回的内容,或添加设置它的else
子句。