作者vulmoon (百鬼月夜)
看板MATLAB
标题[问题] Simulink从workspace读取值问题
时间Sun Dec 30 10:50:20 2012
各位板上大大好
我现在想要解决得情况是~
我想要用一个 plus generator 以离散的时间读取 workspace 中的变数做运算
当出现上升缘的时候 从 wrokspace 读取资料
将读取出来的资料用加法器加 1 delay 一个 clock 後存回 workspace 中
再下一个上升缘 再读取同一个变数的资料出来做一次加法
一直重复直到模拟时间结束
所以在读存变数方面
我选择用 Trigger signal from workspace 方块来读取存在workspace中的变数
以 Triggered to workspace 将资料回存到 workspace 中的变数
可是实际模拟跑完後用 scop 拉出来看讯号感觉只加了一次
我 workspace 中变数的初始值为 0
输出讯号却永远都为 1
因此不确定到底是只读了一次 还是指输出一次
而在 Trigger signal from workspace 的设定中
我已经把 from output after final data value by 的栏位
改成 cyclic reptition
可是还是不行
试了好多次都不行,也尝试了其他方式也都无法
所以恳请大家协助帮忙
我试着把方块图画上来 画的不好请见谅
详细参数也尽量列上~
但还是随後附上 *.mdl 档
恳请各位大神帮忙~
---------------------- 电路方块图 --------------------------
___________ ____
| pluse | | -1|
| Generator |----------------| Z |-------------
|___________| | |____| |
| Delays |
| |
__↓___ __↓___
| _ | ___ | _ |
| _↑ |---------->|+ | | _↑ |
| a | | |---->| a |
|_______| ---->|+ | | |_______|
Trigger signal | |___| |
from workspace | Add |
___ | |
| 1 |_____| | ____
|___| --->| __ |
Constant ||__||
| |
|____|
Scope
-----------------------------------------------------------
Pluse Generator 参数设定:
Pluse type - Time based
Time(t) - Use simulation time
Ampitude - 1
Period (secs) - 2
Pulse Width (% of period) - 50
Phase delay (secs) - 2
Interpuet vector parameters as 1-D 有勾选
Delay 参数设定
Inital comdition - 0.0
Sample time - -1
Number of delays - 1
order output vector starting with - 选择 Oldest
Include current input in output vector 未勾选
Triggered Signal From Workspace 参数设定
Signal - a
Trigger type - 选择 Rising edge
Inital output - 0
Samles per frame - 1
Form output after final data value by - 选择 Cyclic repetition
Triggered to workspace 参数设定
Trigger type - Rising edge
Variable name - a
Maximum number of rows - 1
Decimation - 1
Log fixed-point data as a fi object - 未勾选
其他加法器、常数、Scope我就不列上参数设定了
因为比较没甚麽重要参数需设定
model 档案连结下载网址
http://www49.zippyshare.com/v/10968113/file.html
感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.38.236.127
※ 编辑: vulmoon 来自: 114.38.236.127 (12/31 09:20)