罗克韦尔(AB)PLC讲解,嵌套的Add-On指令
Add-On指令可以在定义中包括其它的Add-On指令。使用这种方式,用户可以将模块化代码块的功能扩展到更具体的应用中。与以前创建的那种简单的仿真指令不同,还可以创建包含更多基本仿真指令的更特殊的仿真指令:二级仿真指令,固定的参数仿真指令(适用于特殊的设备)等。
在这部分中,创建固定的参数仿真指令来仿真带有3秒滞后和时间常数为30秒的温控回路。
1. 与前面相同,创建具有如下定义的新Add-On指令:

2. 选中左下角的‘Open Logic Routine’,即可打开相关逻辑例程。
3. 单击OK接受更改。
4. 在这个新定义中放置‘Simulation_DT_1st’指令。

5. 双击‘DA1’相邻的问号(?)并键入‘deadarray’。点击Enter接受更改。
6. 右击‘deadarray’并选择‘New Local Tag‘deadarray’…’

7.完成的‘NewLocalTag’对话框:

8. 单击OK接受更改。
9. 单击Simulation_DT_1st指令属性按钮

并将参数‘SimDeadtime’设置为可见。
10. 单击Apply和OK接受更改。
11. 添加三个(3)输入参考(IREF)和两个(2)输出参考(OREF)并将它们分别连接到指令的可见输入和输出上。使用以前实验中所学过的方法,创建下列输入和输出参数:
这个指令的输入:
Name In
• Usage: 输入参数
• Data Type 实型
• Default: 0.0
• Not Required (不选择)
• Visible (选择)
• Description: 输入这个指令的输出:
• Name Out
• Usage: 输出参数
• Data Type 实型
• Default: 0.0
• Not Required (不选择)
• Visible (选择)
• Description: 输出
• Name DTError
• Usage: 输出参数
• Data Type: 布尔型
• Default: 0
• Not Required (不选择)
• Not Visible (不选择)
• Description: 时滞时间错误

12. 在逻辑IREF中设置这些新参数:

13. 对其它两个IREF,输入下列字符内容:
• 3.0->SimDeadtime
• 30.0->SimTimeConstant
* 使用IREF中的字符和使用‘默认’选项(如果有)有什么不同?
‘Temperature Sim’此时为带有固定时间常数和滞后时间的‘一级延迟加滞后’仿真。
14. 校验逻辑例程。

15.如果还没有打开,那么就打开MainTask中‘MainProgram’中的‘FB1’例程。在功能块页面上放置‘Temperature_Sim’指令。

16 .将‘RealValue1’IREF连到新建指令的输入上。

17.校验‘FB1’例程。

18. 将项目下载到控制器中并切换成运行模式。
19. 双击MainProgram中的‘Program Tags’,打开标签数据库并选择‘Monitor’视图。

20. 单击标签域选择器,显示现存标签域列表并选择‘Add-On Instructions’下的‘Simulation_DT_1st’(这是本实验中首次创建Add-On指令)。

请注意:除了在‘Simulation_DT_1st’指令实例的选择器列表中外,还存在于‘Temperature_Sim_01’指令实例中。

使用这种方式,通过上下文查看任意一个Add-On指令实例,甚至内嵌于其它Add-On指令中的Add-On指令实例也能查看到。
21. 选择这种嵌套的实例,查看该范围中的这些参数。

在这能够修改‘SimDeadtime’或‘SimTimeConstant’的数值吗?
22. 使用前面章节学过的知识,查看‘Simulation_DT_1st’指令特定实例的逻辑。
23.运用同样的知识,查看‘Temperature_Sim_01’标签和逻辑。
24.当完成后,将项目从控制器中离线。