一个bug找了一天,在matlab中有一个并行模型,两个分支同时对一个变量进行操作。而变量需要和外界代码交互,这样就导致了变量变化十分复杂。
在stateflow模型中,输入状态,输出状态,模型本身的计算时序一定要分清楚。毫无疑问,外部动作肯定笔内部动作慢。所以内部在输出前一定要保证输出状态是正确的。
在并行的模型下同时对变量进行操作是非常危险的。matlab本身的机制不会报错,也没有线程锁的概念,这让错误更加隐蔽。
所以要自己模拟线程锁,利用内部变量确保状态输出一定是正确的。
debug并行模型
最新推荐文章于 2024-03-09 13:00:06 发布