全球FlexSim系统仿真中文论坛

搜索
楼主: 13164121547
打印 上一主题 下一主题

怎样设置处理器的故障率

[复制链接]
跳转到指定楼层
1#
13164121547 发表于 2019-1-7 15:02:48 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
最近因论文需要建模,需要使处理器在处理每一个实体时,都有一定的概率发生故障,故障发生后有一段故障恢复时间,待故障恢复时间结束后,处理器正常处理实体,请问这个应该怎么实现呢,想了个把星期都没有好办法,望大神告知。
2#
 楼主| 13164121547 发表于 2019-1-7 21:08:01 | 显示全部楼层
慧娴亚伦 发表于 2019-1-7 16:42
. l# H5 |$ M% V5 o9 d' o如果是一定概率的话,我建议关键点事消息,有一定概率停止实体(故障),然后发送消息,指定时间来恢复实体 ...

2 N. b0 }+ y, d请问怎么设置固定概率的发送消息呢
3#
 楼主| 13164121547 发表于 2019-1-11 21:01:08 | 显示全部楼层
慧娴亚伦 发表于 2019-1-8 08:104 j9 E+ _! M' i9 p7 M6 S
单靠设置可能不行,需要代码,先在一定范围内随机一个值,然后判断这个值是否落在停机概率范围内。大概是 ...

1 L; O& ?7 N; W) e# w  t: F+ Y进入触发代码:
3 H% k  S: e, N: e: w  ndouble stop1 = uniform(0,100);
2 g6 {& \- U( e' n% z8 [6 M- hif(stop1 < 30){: G0 e3 n7 a5 J* M* _
        stopobject(current,1);6 a. N8 Q. k1 [3 O* ^
        senddelayedmessage(current,3,current,2);$ ?. ~& ?/ M8 C+ n: k! z
}
& D5 _1 _" D: s7 [. Sdouble stop2 = uniform(0,100);
; _" C8 S% |( l7 c- L0 {; ^if(stop2 <40){# L2 q! B; `/ s# D3 O. o9 e
        stopobject(current,2);" x2 [. T' O4 U
        senddelayedmessage(current,4,current,3);3 Z8 F) e5 R& S" g& y# M$ u( J7 P
}" ^* O4 R- b6 K2 P  n7 p( c

* J$ w! X/ b, Z) Y0 i  C7 E$ a9 x, S' |  H9 X
消息触发代码:" u' g) f2 E$ T3 O' g
int value2 = msgparam(1);
3 k; H( e1 O+ u' g- R, L$ P4 r: ~  Eswitch(value2){
' _+ {$ K( G- S) c/ [4 l, K! R        case 3 :) A% \) Z' ^" H7 X. G! q% a2 n+ @2 [* P5 o
        resumeobject(current);% n9 d7 {6 k8 S( n) ]& e
        break;  s) @1 `0 C, y: @, X- N0 G
} // ******* PickOption End ******* //  T% B) W3 w8 q' \$ |

! K2 B0 o, d- Fint value3 = msgparam(1);
( n; C7 n9 U# E0 n" O, oswitch(value3){, U7 q. m! ~4 w) u3 B( p3 N
        case 2 :+ j3 l& t0 p/ p7 K  B
        resumeobject(current);
7 a, j- \. K6 ^        break;
1 }, H1 z. w6 i7 q! ^( u  G" ?! j  E}
, L) @- S! M6 x4 F" K; ~1 y1 C2 d: X% l2 Q
}. _4 R, J, b0 Q0 N: \
: v) B' e6 k6 O7 [
你好,我是这么写的,可是最后运行的时候数据都是错的,请问是哪里出了问题呢
4#
 楼主| 13164121547 发表于 2019-1-12 10:39:04 | 显示全部楼层
SunshineFu 发表于 2019-1-12 08:58
. ]& R8 W: c; ~5 w6 ^/ }2 Q1 F不清楚具体情况,可以上传模型吗?
$ f& H2 \2 W7 K' S( `& M
你好,已上传* I8 E+ p: u: {. t$ u

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
5#
 楼主| 13164121547 发表于 2019-1-12 14:50:26 | 显示全部楼层
SunshineFu 发表于 2019-1-12 14:16* g, q# e8 S9 C6 [: _2 v' y0 k
我按照你在1层的留言修改了这个模型,延长故障恢复时间和在两个处理器间添加一个暂存区是为了便于观察故 ...
9 U% @7 Z  {( _3 \
请问如果我想让1个处理器出现2种故障该怎么弄呢
6#
 楼主| 13164121547 发表于 2019-1-12 15:06:01 | 显示全部楼层
SunshineFu 发表于 2019-1-12 15:012 L/ P, m( |3 n) {' G; }/ h
哪两种故障?两个处理器都会出现两种故障码?
1 k. a+ J$ u8 _4 }) T
嗯嗯,正常加工时间是5秒,百分之30概率出现故障1,故障恢复时间是10秒,百分之20概率出现故障2,故障恢复时间是15秒,其实我一直想实现的是这个功能。
7#
 楼主| 13164121547 发表于 2019-1-12 15:44:50 | 显示全部楼层
SunshineFu 发表于 2019-1-12 15:33
; g; z$ z' F0 k* j# I. w# {6 Y修改好了,代码都在处理器的进入触发内!
: x! ?9 l" r! v, S" G! [
对不起,我描述错了,是第1类故障发生之后以及恢复完了,再进行第2类故障的判断,然后再恢复
8#
 楼主| 13164121547 发表于 2019-1-15 12:01:43 | 显示全部楼层
SunshineFu 发表于 2019-1-13 16:23( l5 p; C3 B/ P
先判断1类,再判断2类不好操作。你可以转换下思路,一开始就判断是否发生1和2类故障,如果只发生1类故障 ...
9 B- Q$ ~7 D" o3 b1 z1 X) u
好的,多谢,我已经弄出来了,想法跟你差不多,我用的进入触发和预置结束触发,进入后判断一次,一定概率改变实体case,预置结束后再判断一次,再次改变case,然后加工时间根据不同case进行设置,非常感谢大佬
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2024-6-18 04:24 , Processed in 0.083133 second(s), 14 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表