warwold 发表于 2012-12-5 19:03

simulink进行电机控制仿真时的过零点(consecutive zero crossing)问题

simulink仿真时出错提示如下:
【【【At time 0.004332417166686014,simulation hits (1000) consecutive zero crossings. Consecutive zero crossings will slow down the simulation or cause the simulation to hang. To continue the simulation, you may 1) Try using Adaptive zero-crossing detection algorithm or 2) Disable the zero crossing of the blocks shown in the following table.
-------------------------------------------------------------------------
No. of Consecutive Zcs | Block type | Block path
-------------------------------------------------------------------------
1000 RelationalOperator "dtc1/Subsystem5/Subsystem2/Compare To Zero1/Compare"
11 Switch "dtc1/Subsystem3/Switch1"
3 Switch "dtc1/Subsystem4/Switch2"
3 Switch "dtc1/Subsystem3/Switch"
2 Switch "dtc1/Subsystem4/Switch4"
2 MinMax "dtc1/Subsystem4/MinMax"
1 Switch "dtc1/Subsystem4/Switch1" 】】】
有一个解决办法是打开参数设置simulation-configurationparameters,在Zero Crossing Options中,把Algorithm选项选成Adaptive。第二种方法就是把提示中那个模块的过零检测关掉。Simulation->Configuration Parameters->Zero Crossing Control,选择Disable All。
这两种方法都试过了,会出错。就是模块单独拿出来运行是对的,放整体里面就错了,经检查是几个switch的 enable Zero Crossing detection选项是否选择的问题。如果不执行检测,整个模型运行结果都是错的,执行检测过零点会超过1000(设置更大也会超过),实验没法做下去了,求高手指点迷津。
本人是做电机直接转矩控制的仿真的。

yjhou 发表于 2012-12-5 20:28

我前几天也碰到了一次,结果我把模型编译了一下,就能够运行了。

warwold 发表于 2012-12-7 14:04

你好你能说的详细点吗?我是个新手 不太懂    谢谢了

yjhou 发表于 2012-12-7 15:07

warwold 发表于 2012-12-7 14:04 static/image/common/back.gif
你好你能说的详细点吗?我是个新手 不太懂    谢谢了

1.我用的是“accelerator”模式解算模型的,这个模式下点击运行模型,会自动编译模型的。
2.如果还报过零检测的问题,你就换换解算器试试看。

warwold 发表于 2012-12-10 09:17

谢谢你了
页: [1]
查看完整版本: simulink进行电机控制仿真时的过零点(consecutive zero crossing)问题