flexsim714自学笔记教学提纲.docx

上传人:b****6 文档编号:8507372 上传时间:2023-01-31 格式:DOCX 页数:12 大小:938.78KB
下载 相关 举报
flexsim714自学笔记教学提纲.docx_第1页
第1页 / 共12页
flexsim714自学笔记教学提纲.docx_第2页
第2页 / 共12页
flexsim714自学笔记教学提纲.docx_第3页
第3页 / 共12页
flexsim714自学笔记教学提纲.docx_第4页
第4页 / 共12页
flexsim714自学笔记教学提纲.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

flexsim714自学笔记教学提纲.docx

《flexsim714自学笔记教学提纲.docx》由会员分享,可在线阅读,更多相关《flexsim714自学笔记教学提纲.docx(12页珍藏版)》请在冰豆网上搜索。

flexsim714自学笔记教学提纲.docx

flexsim714自学笔记教学提纲

 

flexsim7.14自学笔记

1

/**CustomCode*/

treenodeitem=parnode

(1);

treenodecurrent=ownerobject(c);

switch(getlabelnum(item,"routing"))

{case1:

{return1;break;}

case2:

{return1;break;}

case3:

{return2;break;}

case4:

{return2;break;}};

2

3

4函数学习:

Setitemtype(item,Bernoulli(60,1,2));临时实体引用,设置值

item的引用

临时实体类型值为:

getitemtype(item)

Setitemtype(item,Bernoulli(60,1,2));

if(getitemtype(item==2))setlabelnum(item,”nrofcopies”,duniform(1,1000));

设置标签值,其中nrofcopies为自定义的标签名称,duniform函数返回1到1000之间的整数值,而uniform()函数可返回小数值。

设置不同类型,不同标签值的加工时间:

if(getitemtype(item)==1)return3;elsereturn

5+(getlabelnum(item,”nrofcopies”)*(5.0/60.0));

多个“标题”语句:

treenodecurrent=ownerobject(c);

此语句为一个变量声明,声明一个变量为current,类型为树节点。

变量值设置为:

ownerobject(c).current为总是指向正在为其编辑代码区域的“当前”实体。

treenodeitem=parnode

(1);

此语句为一个树节点变量声明,成为item.其给定值为parnode

(1)。

Item将总是指向那个特定时间执行代码和触发器相关的那个临时实体。

这些语句创建了可以用于代码区域的可访问变量如currentitem。

如有个指向临时实体的引用,并且此引用名为item.

intport=parval

(2);

这里是一个名为port的整数变量声明,在此例中,在离开触发器中,端口是临时实体穿越离开的输出端口号。

这段代码表示如果有两个临时实体进入到了该实体中,那么就关闭该实体的输出端口。

fmod(num,value1,num,value2):

返回value1除以value2的余数。

getinput(objinvolved)返回所涉及对象的输入统计数据

依次打开各实体的输出端口

nrip(objobject)返回对象输入端口数目

nrop(objobject)返回对象输出端口数目

nrcp(obobject)返回对象中间端口数目

 

5任务序列:

createemptytaskequeuece(objdispatcher,numpriority,numpreempting)

此命令在分配任务序列中创建一个新的、空的任务序列表。

dispatcher为操作工,

语句:

treenodedispatcher=centerobject(current,2或1等数字(表示端口号));为指定操作工所在的中间端口。

如图:

例:

outobject(current,port)指向与之相连的下一实体

current表示当前实体

执行行进任务的语句为:

Inserttask(ts,TASKTYPE_TRAVEL,outobject(current,port)(目的地),NULL)

执行装载卸载任务的语句:

意义:

inserttask(序列名称,装载,临时实体,当前实体,当前输出端口);

Inserttask(序列名称,卸载,临时实体,卸载目的地,目的地的输入端口);如下:

延时语句:

卸载完临时实体后,呆在处理器那里处理临时实体。

使用操作员:

添加utilize任务:

Inserttask(ts,TASKTYPE_UTILIZE,item,outobject(current,1),STATE_UTILIZE);

此时操作员被使用,将一直呆在处理器那里,需要释放操作员。

这样释放:

首先将操作员与处理器中间连接,然后

treenodecurrent=ownerobject(c);

树节点当前

Ownerobject(nodethenode)

返回对象节点所包含的节点。

intcase_val=getlabelnum(current,"label");

getlabelnum(objnode,str/numlabel)

返回标签所存储的数值

阴影部分为实体引用

 

协同任务序列:

创建协同任务序列的命令框架:

treenodextrw=createcoordinatedtasksequence(执行器);创建任务

intpo1rw=insertallocatetask(xtrw,执行器,0,0);分派任务

intpo1rw=insertallocatetask(xtrw,执行器,0,0);

insertproxytask();任务流程

insertsynctask();中断

insertdeallocatetask();取消分派任务

dispatchcoordinatedtasksequence();分配任务

Inserttask(ts,TASKTYPE_TRAVELTOLOC,NULL,NULL,X,Y,Z,结束速度);

函数:

rank(current,getrank(item)-1)

6

yrot(objobject)返回对象y轴的旋转位置。

 

6运动学

initkinematics(kin,current);它的第一个参数必须指定一个空节点,通常将这个参数设置为一个标签节点。

参数localcoords控制实体的位置,其值只能为0或1,默认为0(当不写入时),0表示为参考model坐标,1表示参考实体自身的坐标。

 

addkinematic(kin,0,15,0,10,0,0,10,0,time(),KINEMATIC_ROTATE);

7

treenodecurrent=ownerobject(c);

treenodesource=inobject(current,1);指定相关的实体

for(inti=1;i<=nrop(source);i++)nrop函数返回该实体的输出端口数目。

定义数值i初值为1.

{

openoutput(outobject(source,i));如果为真则打开相关实体outobject(source,i)的输出端口。

}

closeoutput(current);关闭当前实体的输出端口。

senddelayedmessage(current,30,current);当前实体给当前实体发送延时消息,延时30秒。

触发当前实体内的消息触发器内的函数,使之生效。

8,

9基本传送带(双向):

switch(lb)

{case2:

{

releaseitem(item);释放指定的实体

openinput(current);用于打开对象之前已锁定的输入端口

sendmessage(current,current);从后一个current立即发送一个消息到前一个current.

break;}

case1:

{

break;

}

 

switch(lb)

{

case1:

{bcsetdirection(current,1);此命令停止传送带上的所有实体,并设置它的移动方向:

1为正向,0为反向。

bcsetitemconveystate(current,item,1,1,1,0);设置传送带上的临时实体的运作状态。

(传送带,实体,开始点,开始速度,目标速度,加速度)

closeinput(current);关闭对象的输入端口。

stopobject(inobject(current,1),STATE_BLOCKED);告诉对象停止所有在做的事情。

stopobject(inobject(current,2),STATE_BLOCKED);

break;}

case2:

{

setloc(item,10,0,0);设置对象容器内相关实体的位置

bcsetdirection(current,0);

bcsetitemconveystate(current,item,10,1,1,0);

closeinput(current);

stopobject(inobject(current,1),STATE_BLOCKED(堵塞));

stopobject(inobject(current,2),STATE_BLOCKED);

break;}

}

 

10:

在重置触发器中设置如下代码可设置重置后该实体的转向

11,吊车的部分树节点

从上图中可以看出在吊车模型中在常规选项卡中spatial开头的节点控制黄色框框的xyz三个方向上的位置,大小,转角,而offset开头的节点控制在黄色框框内的3D实体的xyz三个方向上的位置,大小,转角。

(即编辑三维形状因子)

从上图可以看出以shellxlocshellylocshellzloc控制吊车(起重机)大的黄色框框的位置,以shellsizexshellsizeyshellsizez来控制吊车(起重机)大的黄色框框的尺寸大小。

 

12触发器

当临时实体进入处理器中时,它触发器处理的先后顺序是entrysetupfinishsendtoportexit

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1