一旦在程序中定义和使用Add-On指令,其在调试和试运行的实际操作中对查看定义有重要意义。为适应这些动作,应该采取预防措施从特定‘范围’中查看定义和标签结构。虽然可以离线使用这些工具,但在线使用才能发挥最大效用。
首先,重建项目,使三个例程每50ms执行一次。
1. 在MainTask任务属性对话框中将MainTask的类型改为:Periodic,周期为50ms。
2. 单击Apply和OK。
3.在MainRoutine中,添加如下RLL梯级。
此时,全部例程将每50ms执行一次。
4.在‘MainRoutine’中添加如下梯级。
5. 右键选择新建,创建FreeTimer标签,我们在整个实验中都使用相同的方法创建标签。这个梯级将实值赋予每条指令的输入(‘RealValue1’)。
6.校验控制器。
• 下一步,将把项目下载到控制器中。如果不确定所使用控制器的类型,请咨询授课教师。
下载到ControlLogix控制器中
• 从工具栏菜单中,选择Communications>Who Active。
• 当Who Active窗口出现时,查找demo箱中1756-ENBT模块(IP地址为192.168.1.x+10;X是demo箱编号)。
• 选择机架上1号槽的控制器,然后单击Download。
下载到CompactLogix控制器中
• 从工具栏菜单中,选择Communications>Who Active。
• 当Who Active窗口出现时,查找demo箱中1788-ENBT模块(IP地址为192.168.1.x+10;X是demo箱编号)。
• 单击控制器,然后单击Download。
7. 将控制器置于Run模式
8. 双击主程序中的‘Program Tags’,打开标签数据库。
正如所希望的那样,出现主程序域标签。
9.单击标签域选择器,查看标签域列表。
此时,‘Add-On指令’已添加到列表中,可以轻松地浏览到每个Add-On指令定义参数。
10.从标签域选项下拉菜单中选择‘Simulation_DT_1st’。
请注意:‘Data Context’选择下拉菜单的额外选项。
11.单击数据范围选择器,查看‘Simulation_ST_1st’指令作用范围列表。
列表包含了指令定义和当前控制器中全部指令实例。选择任意一个指令实例,该窗口反映该指令实例数据。试一试。在Monitor选项卡下,指令实例的参数值可随意改变。
12. 选择指令的‘LDsim1’范围。
13. 将‘SimDeadtime’参数改为6.0s。
14. 请注意:‘SimDTInv’输出参数当前值为一(1)。指令产生了内部错误,因为数组配置太小而不能适应请求的滞后时间(以当前的执行间隔)。
15. 打开‘MainRoutine’,查看‘SimDTInv’位引脚的动作。通过布尔量输出参数的默认动作,在RLL中创建位引脚,用户能够查看到程序中这些位的状态。(全部标签都可将这位设置为‘Visible’)。
如何定义逻辑本身?需要查看特定指令实例的内部操作。
16.如果该例程没有在前台运行,那么打开/显示MainRoutine梯形图逻辑例程。右击指令,打开RLL指令例程逻辑, 并在下拉菜单中选择‘Open Instruction Logic’。
显示该指令实例的运行逻辑。用户在此可以查看到这个指令实例的全部专用逻辑、标签数据、指令属性等。请注意:‘Data Context’下拉选择器立即被激活并显示当前视图内容。
17.单击‘DataContext’下拉菜单,显示控制器项目中这种指令的全部现存示例。请注意:也可选择指令的定义逻辑。
由此处,用户可以直接查看任何实例的逻辑。试试看。
18. 当结束时,使项目从控制器中离线。