前页 | 后页 |
在仿真中创建对象
在仿真模型中,您可以创建类并创建它们的实例(全局对象)来表示过程中存在的对象,或者定义行动以在过程中的任何时间点生成一个或多个对象。
在仿真模型中创建对象有三个选项:
- 手动创建物件
- 通过 CreateObject行动元素动态创建物件
- 使用JavaScript函数使用("name") 作为行动元素的“影响”,再次动态创建物件
手动创建一个物件
只需通过以下方式在模型的图表上创建一个物件元素:
- 从工具箱的“物件”页面图表一个物件元素并设置其分类器,或
- 从浏览器窗口拖动一个分类器元素并将其作为实例粘贴到图表中
通过 CreateObject行动创建一个物件
如果您的流程在运行时生成对象,您可以使用仿真行动来模拟这一点。
节 |
行动 |
也见 |
---|---|---|
1 |
在您的活动图表上,从工具箱中图表一个“行动”图标,然后选择“其它| CreateObject 的上下文菜单选项将其定义为 CreateObject行动元素。 |
行动 |
2 |
将 CreateObject行动的分类器设置为物件将成为实例的类。这是在属性窗口 > CreateObjectAction >分类器中设置的,使用 [...] 按钮。 |
行动销 |
3 |
在行动上创建一个行动销,种类输出。 |
行动销 |
4 |
在处理行动中创建或选择下一个行动序列,并添加一个行动销类输入。 用控制器流量连接器连接两个行动,用控件物件流连接器连接两个行动销。
|
控件 物件流 |
5 |
在图上进行仿真。当创建对象行动被执行时,它创建一个具有分类器属性的物件,并将其存储在其输出销中。物件本身通过物件流连接传递到行动2的输入销,其属性可以在本地窗口窗口中列出,用于仿真。 |
使用JavaScript创建物件
您还可以在行动元素的“影响”字段中使用JavaScript命令动态创建仿真对象。命令是:
sim.newObject = sim.CreateObject("ClassName");
或者
sim.newObject = new SimObject("ClassName"); (自然的JavaScript )
即:“仿真基于类<名称>的物件创作”。分类类将与行动存在于同一个包中。
至于CreateObject行动元素,该物件是在仿真过程中创建的,可以被“下游”元素传递和处理。在这个例子中,创建的物件被标识为物件,并且在行动2 中它被访问,并且它的一个属性被赋予了不同的值(也被JavaScript作为行动的影响)。
实例化内部对象
如前所述,您可以使用JavaScript或 CreateObject行动创建一个物件。同样,您可以使用JavaScript或行动来实例化内部对象。
在这个例子中,使用JavaScript ,仿真首先创建了一个基于 Class1 的测试object 。类1有一个活动元素和图表,活动参数1设置为整数 5,活动参数2 设置为string “test”。活动参数1的值被捕获为缓冲区值“buf”。