NI CompactRIO I/O别名与控制任务详解

需积分: 50 22 下载量 184 浏览量 更新于2024-08-06 收藏 11.87MB PDF 举报
本篇文档详细介绍了如何在NI CompactRIO系统中创建I/O别名以及实现控制和测量任务的基础架构。标题提到的"I/O别名-gicv3_software_overview_official_release_b"暗示了内容主要围绕NI CompactRIO平台的软件配置,尤其是针对输入/输出(I/O)的管理和处理。 首先,章节一概述了背景和开发指南,介绍了常用术语以及CompactRIO的机器控制架构,包括实时控制器、可重构的FPGA机箱和工业级I/O模块。读者可以了解到CompactRIO的规格特点,它是NI产品系列中专为工业自动化和嵌入式控制设计的平台。 在创建I/O别名的部分,用户被指导通过右键菜单操作,为特定的物理I/O设备(如Thermcouple 1和Heat 1)创建逻辑上的抽象,以便在编程时更容易管理和调用。这些别名随后会被添加到I/O库中,提供了一种标准化的方式来处理不同类型的输入输出。 接下来,章节着重于控制任务的实现,强调了定时循环的作用。定时循环用于安排控制流程,通过设置周期为1,确保每个扫描周期内都会执行一次I/O扫描,实现了控制任务和I/O操作的同步。这对于精确控制和数据采集至关重要,因为这保证了实时响应和数据的正确处理。 在控制的基本架构部分,讲解了控制流程的初始化、执行规则和关闭规则,以及初级控制器架构的示例。此外,还介绍了基于状态的编程方法,如状态机,这是一种常用的结构化编程技术,通过定义不同的状态和状态转换来管理复杂的控制流程。 LabVIEW中的状态机例程展示了如何在实际编程中应用这一概念。 状态图表作为辅助工具,帮助开发者可视化和理解状态机的工作原理,有助于提高代码的可读性和维护性。通过状态图,可以清晰地看到状态之间的转移逻辑,使得系统的行为更加直观和易于管理。 总结来说,这篇文档为使用NI CompactRIO的工程师提供了关于I/O别名创建、定时循环和状态机编程等关键技能的详细介绍,帮助他们构建高效和可靠的工业控制系统。

If Not IsObject(application) Then Set SapGuiAuto = GetObject("SAPGUI") Set application = SapGuiAuto.GetScriptingEngine End If If Not IsObject(connection) Then Set connection = application.Children(0) End If If Not IsObject(session) Then Set session = connection.Children(0) End If If IsObject(WScript) Then WScript.ConnectObject session, "on" WScript.ConnectObject application, "on" End If session.findById("wnd[0]").maximize session.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT\02/ssubSUBSCREEN_BODY:SAPMV45A:4431/subSUBSCREEN_TC:SAPMV45A:4909/tblSAPMV45ATCTRL_U_ERF_WERTKONTRAKT").getAbsoluteRow(0).selected = true'选中一个item session.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT\02/ssubSUBSCREEN_BODY:SAPMV45A:4431/subSUBSCREEN_TC:SAPMV45A:4909/tblSAPMV45ATCTRL_U_ERF_WERTKONTRAKT/txtVBAP-POSNR[0,0]").setFocus session.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT\02/ssubSUBSCREEN_BODY:SAPMV45A:4431/subSUBSCREEN_TC:SAPMV45A:4909/tblSAPMV45ATCTRL_U_ERF_WERTKONTRAKT/txtVBAP-POSNR[0,0]").caretPosition = 5 session.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT\02/ssubSUBSCREEN_BODY:SAPMV45A:4431/subSUBSCREEN_TC:SAPMV45A:4909/subSUBSCREEN_BUTTONS:SAPMV45A:4052/btnBT_PKSE").press session.findById("wnd[0]/tbar[1]/btn[43]").press'进入Pricing agreement 编辑界面 session.findById("wnd[1]/usr/ctxtRV13A-KSCHL").text = "ZS61" '输入ZS61 condition type session.findById("wnd[1]/usr/ctxtRV13A-KSCHL").caretPosition = 4 session.findById("wnd[1]/tbar[0]/btn[0]").press session.findById("wnd[2]/usr/sub:SAPLV14A:0100/radRV130-SELKZ[4,0]").select’选择Key combination session.findById("wnd[2]/usr/sub:SAPLV14A:0100/radRV130-SELKZ[4,0]").setFocus’选择SD Document/Item/Product Hierachy level 1 session.findById("wnd[2]").sendVKey 2 session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-PRODH1[0,0]").text = "SP"'放入SP备件 session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[2,0]").text = "100"'放入100%折扣 session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtRV13A-DATAB[8,0]").text = "01.01.2023"'放入开始生效时间 session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtRV13A-DATBI[9,0]").text = "04.03.2024"'放入结束生效时间 session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtRV13A-DATBI[9,0]").setFocus session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtRV13A-DATBI[9,0]").caretPosition = 10 session.findById("wnd[0]/tbar[0]/btn[11]").press

2023-06-10 上传