引言
在matlab社区File Exchange - MATLAB Central (mathworks.cn)中下载了一个锁相环的例程,其中的PFD是使用simulink中的Chart模块制作的,但是在自己仿真实践的过程中,编译文件时会出现以下报错:
Function-call port of block 'PFD/Chart1' is connected to 'PFD/Pulse Generator1' which does not produce a function-call signal. Blocks that can produce function-call signals include Stateflow charts, root-level Inport blocks with parameter 'Output function call' selected, or S-functions.
可以看出是连接到输入端口的信号不符合要求。
解决方案
- 进入模型资源管理模块
- 改变触发器的类型
在层次结构中选中新建的Chart模块,再选中输入的事件,将事件的触发器从函数调用改为边沿触发后即可顺利编译运行
运行结果
可以看出当var为高电平时s输出高电平,期间div也为高电平的话s清零