《ControLogix高级课程.ppt》由会员分享,可在线阅读,更多相关《ControLogix高级课程.ppt(280页珍藏版)》请在三一办公上搜索。
1、大家好!欢迎你们的到来!,我是罗克韦尔自动化(厦门)培训中心的工程师程新平 很高兴能有机会和你们继续学习罗克韦尔自动化的产品 我的联系信息是:座机:手机:电子邮件:,ControlLogix 系统,高级课程 罗克韦尔自动化(厦门)培训中心2007.03,课程内容简介(1),在五天的时间内,我们将学习:,Logix5000 控制器资源运用ControlLogix程序文件的优化ControlLogix数据文件的优化Logix5000控制器与其它设备的通讯 Logix5000控制器事件触发任务组态Logix5000控制器功能块编程简介程序控制指令数组操作指令数组/移动指令编程,课程内容简介(1),在
2、五天的时间内,我们将学习:,顺序器指令编程PID指令编程网络基础知识设计CotrolNet网络介质CotrolNet网络组态为Logix5000控制器建立I/O连接 识别ControlNet 网络故障DeviceNet网络的设计与安装DeviceNet网络的数据传递,课程内容简介(1),在五天的时间内,我们将学习:,DeviceNet的在线网络组态组态1756-DNB扫描器模块1756-DNB扫描器模块I/O映射管理DeviceNet EDS文件DeviceNet网络设备自动更换DeviceNet网络故障及排除EtherNet/IP网络的拓扑结构EtherNet/IP网络的优化EtherNet
3、网络的IP地址EtherNet网络的故障查询与排除,Logix5000 控制器资源运用(1),Logix5000控制器的CPU与内存,示意图表明2块CPU与2个内存之间的关系,Logix5000 控制器资源运用(2),动态连接信息的存放,信息处理过程的进入排队和出去排队 RSLinx数据处理的标签组存储 在线编辑时,悬挂梯级的临时存储 趋势图形的数据缓冲区,Logix5000 控制器资源运用(3),控制器每个任务占用4000个字节 离散量I/O每个点占用400个字节 模拟量I/O每个点占用2600个字节 DeviceNet 扫描器模块,第一块占用7400个字节,每增加一 个模块,增加5800个
4、字节的占用。其他通讯模块(控制器所属所有本地和远程)每个占用2000 个字节。运动控制每个轴占用8000 个字节,内存占用估算,Logix5000 控制器资源运用(4),RSLinx通讯管理每个连接占用1345个字节 RSLinx通讯管理中的独立的标签每个占用45个字节 RSLinx通讯管理中的数组或结构数据的标签每个占用7个字节,RSLinx通讯管理内存占用估算,Logix5000 控制器资源运用(5),控制器连接限量,Logix5000 控制器资源运用(6),控制器通讯设备连接限量,Logix5000 控制器资源运用(7),控制器的连接占用,本地框架中的I/O模块,每块占用1个连接远程框架
5、中非离散量模块各占用1个连接远程框架非优化离散量模块各占1个连接远程框架所有的优化离散量模块(同一框架)共占1个连接,(充当适配器的CNB或ENBT模块的占用)每块DH+/RIO模块占用1个连接每块DNB模块占用2个连接每个远程I/O的适配器占用1个连接,Logix5000 控制器资源运用(8),控制器的连接占用,每个Produce占用1个连接,对应Produce Tag 外部每一个Consume Tag 占用1个连接控制器中的每一个Consume Tag 占用1个连接每条MSG指令占用1个连接,可以通过取消MSG指令中的 Cache Connection 的功能来释放非执行中的MSG的连接R
6、SLogix5000编程软件在线占用一个连接RSLinx为HMI或第三方软件的访问占用4 个连接RSLinx Enterprice 为HMI或第三方软件的访问占用 5 个连接,Logix5000 控制器资源运用(9),数据传送的完整性,大于32位的数据块建议使用CPS指令解决数据的同步问题。,ControlLogix程序文件的优化(1),程序文件优化的几个方面,确定任务的执行顺序的基本原则 确定程序执行的基本原则 确定子程序的编程模式的基本原则,ControlLogix程序文件的优化(2),任务的确定,大部分执行代码都应该放在连续任务中。要求时间精确处理的操作或长时间才操作一次的执行代码 采用
7、周期类型的任务。特定的事件需要同步执行的代码采用事件触发类型的任 务。这类任务每触发一次只执行一遍。任务的个数不要太多,否则可能导致维护困难。为了改善系统性能,有的任务的输出处理应该取消。不需要执行的任务可以屏蔽。,ControlLogix程序文件的优化(3),任务执行的优先顺序,ControlLogix程序文件的优化(4),无须组态的系统任务,运动控制规划 I/O处理 系统高层管理 输出处理,ControlLogix程序文件的优化(5),控制器的任务执行过程,ControlLogix程序文件的优化(6),系统高层管理所做的工作包括,控制器与编程终端和人机界面的通讯控制器响应外部的MSG指令控
8、制器自己发出的MSG指令串口的信息和指令处理(如ASCII码),ControlLogix程序文件的优化(7),任务执行和CPU高层管理时间,ControlLogix程序文件的优化(8),程序的确定,将主要设备部分或工厂单元分隔开来 用程序区分不同的编程者或创建可再度使用的执行代码 在一个任务里安排代码执行的顺序 隔离个别的批处理相位或不连续的机器运行,多个程序引用的数据必须放在控制器数据区域。在控制器组织结构中列出执行的顺序。,ControlLogix程序文件的优化(9),子程序的确定-选择梯形图编程,连续的操作或多个操作并列执行(没有顺序的)布尔量或位操作 综合复杂的逻辑操作 信息或通讯处理
9、(MSG指令)解决机器的连锁关系 维护维修人员的操作也许能检查机器或生产过程 的故障 伺服控制,ControlLogix程序文件的优化(10),子程序的确定-选择功能块编程,连续过程和驱动控制 闭环控制 流量计算,ControlLogix程序文件的优化(11),子程序的确定-选择顺序功能流程图编程,多个操作的高水平管理。反复的操作顺序。批量处理。运控顺序(具有内嵌结构语句的功能块)。机器操作状态。,ControlLogix程序文件的优化(12),子程序的确定-选择结构语句编程,复杂的算术运算。专用数组或循环处理表格。ASCII字符串处理或协议处理。,ControlLogix 数据文件的优化(1
10、),使用基本数据类型的优点,名称是独立的。标签的数量没有限制。标签编辑器(Edit Tags)和数据监视(Monitor Tags)能随意地挑选标签并显 示任何参数。允许在标签编辑器和数据监视中按字母排序显 示。标签及其它的位都可以支持别名。在线编程时可以增加。,ControlLogix 数据文件的优化(2),使用基本数据类型的注意事项,每个标签都要消耗4个字节。需要消耗更多的通讯管理和控制器内存。只有在离线的时候才可以改变标签的数据类型。在标签编辑器(Edit Tags)和数据监视(Monitor Tags)中只能在根部按字母顺 序排列,而不能像结构数据一样按定义的顺序排 列。,Contro
11、lLogix 数据文件的优化(3),使用复合数据类型(UDT、array)的优点,允许特定的名称和用户自定义的结构。在控制器中固定的信息。控制器内存占用和通讯得到优化。数组能动态地被索引。在线编程能创建新的数组。,ControlLogix 数据文件的优化(4),使用复合数据类型(UDT、array)的注意事项,每个用户自定义的结构或数组限于2M字节。用户自定义的结构充满32位整倍数的空间。数组或UDT中的元素可作基本Tag被同类Tag所指向。但数组或UDT中的元素不可作为别名指向另外基本Tag,如:VFDs0.Loc_Start不可指向输入点 标签编辑器(Edit Tags)和数据监视(Mon
12、itor Tags)的筛选有限 只有在离线的时候才能创建或改变用户自定义的 结构 只有在离线的时候才能改变数组,ControlLogix 数据文件的优化(5),使用不同数据类型的耗用对比,ControlLogix 数据文件的优化(6),用户自定义结构要注意的事项,在结构里面的数组只可以是一维的 I/O数据要放入结构中,只能用COP指令,注意数据类型要一致,以 避免数据的转换。用户自定义结构的子元素不能超过500个,如果需要更多,可以嵌 套,即子元素本身就是自定义结构 要用于通讯的用户自定义结构也有限制,Produce/Consume 的标签,通过背板的不超过500字节,通过ControlNet
13、网络的不超过480字节。为了某些运用,需要在程序开始时将输入数据装载在结构数据中;在程序结束时将结构数据装载到输出数据。用合适的指令把数据装 载到结构数据里,单一的位用XIC和OTE;连续的位用BTD;单一的 量用COP;连续的量用CPS。自定义结构时加上的注释,在建立标签时,可以使能Pass-through Description,在标签中也读到,从而节省了空间。,ControlLogix 数据文件的优化(7),建立基本数据类型标签的一些原则,基本数据类型建立的标签直接地在标签编辑器和 数据监视中按字母排序显示,方便查找。基本数据类型的标签可以在线创建,但数据类型 的修改只能离线进行。只有用
14、基本数据的标签才能进入HMI的通讯,ControlLogix 数据文件的优化(8),建立用户自定义标签的一些原则,一个标签包含了与系统特定形态有关的所有的数 据,这些不拘于数据类型而集合在一起的数据,非 常方便查找。每个数据片(子元素)能获得描述性的名称。能用结构数据创建具有相同数据样式的多个标签。用户自定义结构只能离线修改。在RSLinx上,结构数据比基本数据更优化。,ControlLogix 数据文件的优化(9),建立数组标签的一些原则,数组可以建立一个标签块的组织,这些标签 具有相同的数据类型或完成类似的功能。可组织1、2或3 维的数据块,去适合对象的 数据形态描述。数组只能离线修改 在
15、RSLinx上,数组比基本数据更优化。,ControlLogix 数据文件的优化(10),在程序区域建立局部标签的好处,如果多个标签具有相同的名称,建立各个标签在不 同的程序区域中,这样可以在多个程序中重复使用 相同名称的标签和逻辑。要避免控制器区域和程序区域有相同的标签名,如 果程序中已经使用了程序区域的标签,控制器区域 的同名的标签就不能涉及了。,ControlLogix 数据文件的优化(11),建立标签的一些原则,每个字符使用一个字节的控制器内存,每个标签 耗用的字节是4字节的整倍数,如标签使用了5 个 字节,将耗用8个字节。标签名将存放在控制器中,要占用内存空间。使用结构数据,将节省标
16、签的数目和尺寸。程序上载会带回标签的名称,无注释。,ControlLogix 数据文件的优化(12),Produce/Consume通讯的几条原则1,两个控制器之间的Produce/Consume 的数据传送,可以通过背板传送,也可以 通过ControNet 网络和EtherNet 网络传送,但只能在同一个网络中进行。Produce/Consume 建立的标签必须创建在控制器区域,全局数据区。传送数据的标签不能超过500个字节,如果是通过ControlNet的网络的Consume 的数据标签则不能超过480 个字节,这是受限于ControNet 网络的数据包的尺寸。如果Produce几个数据到
17、同一个控制器,将几个数据合并在一个用户自定义结构的 数据标签中,这样可以减少连接数,合并后的数据会用相同的RPI。Produce/Consume的数据标签只能使用DINT和REAL,或它们的数组,或者用户 自定义结构数据,因为对外操作数据必须是32位的。如果有SINT和INT的数据需要传送,将它们组合在用户自定义结构中传送。Produce的标签和Consume的标签数据格式必须一致,才能确保数据的准确。,ControlLogix 数据文件的优化(13),Produce/Consume通讯的几条原则2,如果控制器Produce 出去的32位数据,与非CntrolLogix的对方设备的数 据结构不
18、匹配,例如对方是16位的数据,为避免出现偏差,改为用户自 定义结构数据发出。当数据包大过32位时,produce 和 Consume 双方都用CPS指令来缓 冲,以获得数据的同步。Consum的RPI必须大于等于网络NUT。如果几个Consume 请求同一个Produce,则会以最小(最快)的RPI为 准。为减轻网络负担,尽可能地减少Produce/Consume的运用次数,即多个打包起来传送;和尽可能减小尺寸,只用于高速的确保的数据,如互锁。确定真实的Consum的数目与Produce中组态的数目一样,否则将无用地 占用了连接。如果两个控制器之间建立了多个Produce/Consume的连接
19、,只要一个连 接失败,所有的连接都会跟着失败。将数据整合到用户自定义结构或数 组中,两个控制器中只保留一个连接。,ControlLogix 数据文件的优化(14),Produce/Consume 与 MSG指令数据传送的对比,Logix5000控制器与其它设备的通讯(1),信息通讯交换示意图,Logix5000控制器与其它设备的通讯(2),非连接缓冲区发送排队,建立I/O连接,诸如本地I/O点、基于ControlNet、EtherNet、和 Remote I/O 网络的远程I/O点。完成非连接的PLC2、PLC3、PLC5和SLC(所有类型)通过ControlNet、EtherNet 传送的M
20、SG。通过DH的MSG(用2个缓冲,1个打开连接,1个传递数据)的初始化。Uncache连接块传送的初始化。Uncache连接 的CIP读/写信息指令初始化。Cache连接 的块传送初始化。Cache连接 的CIP读/写信息指令的初始化。CIP Generic 信息指令(不能Cache连接),Logix5000控制器与其它设备的通讯(3),非连接接收排队,接受Cache 连接信息指令初始化。接受Uncache 连接信息指令。接受通过DH的信息。接受CIP Generic 信息指令。接受来自于ControlNet PanelView 的读写请求(非连接信息)。接受来自EtherNet Panel
21、View读请求的初始化(连接信息)。接受来自于EtherNet PanelView 的写请求(非连接信息)。接受来自于RSLogx5000在线连接初始化的请求。接收来自RSLinx连接的初始化。,Logix5000控制器与其它设备的通讯(4),关于MSG的几条原则,信息指令的Message标签必须建立在控制器数据区域,且不能是数组。标签里的信息被与程序扫描不同步的操作系统访问,并出现在信息标签的可视区域,而隐藏的属性只被后台操作系统引用。控制器支持同时32条活动的Cache MSG指令,当应用需要多于32条时,不能Cache所有的MSG指令,而且必须编程令它们同时活动不超过32条(在12版本以
22、前,则不能超过16条)。尽管网络数据包的尺寸是有限的(ControlNet 为500字节,DH+为244字节),控制器却可以在单一的MSG指令中送大量的数据,在MSG指令组态时,源或目标标签的数组可选择传送的元素多达32767个。控制器自动地分割数组为片断,然后所有的片断被送到对方;在接受方,数据出现在这些片断中,一些代码能探测到最后片段的到达。,Logix5000控制器与其它设备的通讯(5),信息连接管理的几条原则,建立用户自定义结构的标签或数组,用户自定义的结构将组织与 机器或生产过程匹配的数据结构。适当地选择Cache连接,当一条MSG指令需要反复执行时,选用 Cache 连接,保持着打
23、开的连接,将节省执行时间;每次MSG指 令的执行都要打开连接的话,会耗用执行时间。如果MSG 指令的 执行频率很低,在指令执行完毕,关闭这个连接,释放这个连接用 于其他信息。每个MSG使用一个连接,而不管这条指令的路径连向多少台设 备,为了保存这个连接,可以组态一条MSG指令在执行的各个时 间里,连续地读或写不同的设备。在每个执行里,MSG指令中断 与一个设备的连接,再重建立与另一个设备的连接,这可以更改 MSG标签中的Path来得以实现。即MSG支持的一对多传送。,Logix5000控制器事件触发任务(1),采用事件触发任务的好处,改善性能和降低消耗,只有在需要时才执行任务。减少扫描代码的总
24、量 减少CPU的资源占用。加快信息的吞吐,改善了周期时间,从而更快产生 输出。,Logix5000控制器事件触发任务(2),事件触发任务的组态页面,任务触发类型,触发的指定数据如 Consumed 标签或 1756 输入模块输入量改变。,超时设定,输出管理设定,其他设定与周期任务相同,Logix5000控制器事件触发任务(3),事件触发任务的方式1,Logix5000控制器事件触发任务(4),事件触发任务的方式2,Logix5000控制器事件触发任务(5),采用Consume方式,Produce 的控制器,要使用IOT指令,将触发动作 送出。Consume的控制器为通过Consume标签触发建
25、立 事件任务。,Logix5000控制器事件触发任务(6),Consum方式的优点,对 consumer标签触发探测处理免除了握手代码改进传输速率分布系统中多控制器的协调操作分布控制器(consumers)中启动代码的执行基于主控制器(producer)中的事件:免除触发的探测管理无须编程处理,Logix5000控制器事件触发任务(7),模块输入数据状态改变方式,一旦收到来自模块的信息,控制器马上启动事件任 务并执行应用代码。保留有执行价值的时间,而无须获取输入并执行 COS探测。不增加CPU管理而捕获和处理多个事件。,Logix5000控制器事件触发任务(8),本地/远程输入模块,一般来说,
26、用于发起控制器事件触发的输入模块与 响应的控制器处于同一框架,即本地模块。通过ControlNet和EntherNet/IP网络的远程I/O模块 一定要考虑网络对COS响应造成的附加延时。不同 网络延时原因不同。,Logix5000控制器事件触发任务(9),快速响应事件,基于接受到的输入控制输出独立的代码执行,以保证不受较长的连续任务扫描时间的影响。适合于诸如原材料处理、包装、粘合等应用场合。,快速响应指的是在输入和输出之间所耗费的时间最小,Logix5000控制器事件触发任务(10),短脉冲事件,基于短脉冲输入的操作。确保能捕获打开或关闭时间快于控制器连续扫描时间的输入信号。适合于诸如编码器
27、、位置传感器、接近开关等应用场合。,短脉冲输入信号时间短于正常的控制器扫描时间,且并不经常发生。,Logix5000控制器事件触发任务(11),同步执行事件,每个模拟量模块都有自己的完成数模转换的信号采样周期。当接受到新的输入量,控制环代码执行,同步控制环亦能执行。可用于PID的同步运算。,典型的用于模拟量数据,新数据到达而触发操作,Logix5000控制器事件触发任务(12),位信号触发,通过输入模块的COS得到。只选择一个COS变化位,模块缺省设置为全选。如果模块的COS多于一个时,在事件任务的执行代码中编制逻辑进行判断。,Logix5000控制器事件触发任务(13),位触发注意事项,限制
28、在同一框架中作为触发事件的模块和控制器的数量。离散量模块的COS限于一点,太多的COS将引起任务的交迭调用。一般来说,设置事件任务为最高优先权。事件任务越多,控制器CPU负担越重,任务交迭的机率越大。选用当前时间响应最好的模块。,Logix5000控制器事件触发任务(14),输出处理,事件任务选用disable automatic output processing,当选择事件触发任务,缺省即如此。执行立即输出指令IOT,让输出立即处理。,Logix5000控制器事件触发任务(15),使得事件中断任务不能快速响应的原因,事件触发任务的优先级别设置得比定时中断高。连续任务中的CPS和UID指令正
29、在执行,不允许中断。优先权高于它的串口和背板的通讯。优先权高于它的运控规划正在执行。优先权高于它的趋势数据采集正在执行。,Logix5000控制器的功能块编程(1),功能块子程序(FBDFunction Block Diagram),功能块子程序图标,功能(FDB)子程序它可与梯形图子程序(LD),结构化文本子程序(ST)混编于同一程序(Program)中,互相调用。,Logix5000控制器的功能块编程(2),功能块子程序组态1,输入参数,功能块指令,连线,输出参数,连线,连接点,页面,Logix5000控制器的功能块编程(3),功能块子程序组态2,离散量连接点,连接的参数为布尔量。,数据量
30、连接点,连接的参数为实数或双整数。,连接点标识,连接符标识,输入参数 可选取本程序数据库和全局数据库中的任何布 尔数、实数和双整数,也可直接键入立即数。,输出参数 可选取本程序数据库和全局数据库中的任何布 尔数、实数和双整数。,连线接入 连接同一子程序中的较远位置的连接点,选取与连线接出点相同符号。它甚至可以不是一个Tag标签。,连线接出 连接同一子程序中的较远位置的连接点,建立 与连线接入点对应的符号。它甚至可以不是一个Tag标签。,Logix5000控制器的功能块编程(4),功能块子程序组态3,连接到另一页面的连接符,功能块指令,连线,页面,Hot Link,参数,标签,注释,Logix5
31、000控制器的功能块编程(5),功能块指令参数设定,Logix5000控制器的功能块编程(6),Process InstructionsAlarmEnhanced PIDRamp/SoakScalePosition ProportionalSplit Range Time ProportionalLead-LagFunction GeneratorTotalizerDeadtimeDiscrete 2-State DeviceDiscrete 3-State Device,Drives InstructionsPulse MultiplierS-CurvePIIntegratorSecond-
32、Order ControllerUp/Down Accumulator,Filter InstructionsHigh-Pass FilterLow-Pass FilterNotch FilterSecond-Order Lead-LagDerivative,Select/Limit InstructionsSelectEnhanced SelectSelected SummerSelectable NegateMultiplexerH/L LimitRate Limiter,Statistical InstructionsMoving AverageMoving Standard Devia
33、tionMinimum CaptureMaximum Capture,Logical InstructionsBoolean AndBoolean OrBoolean Exclusive OrBoolean NOTD Flip FlopJK Flip FlopSet DominantReset Dominant,42 条FBD指令为过程控制和传动控制提供强有力的工具。,Logix5000控制器的功能块编程(7),Faceplates有些FBD功能同样需要在操作界面上进行控制,这时需要Faceplates 面板控制块。面板控制块是一种ActiveX控件,可在许多具有控件容器性质的软件中调用,如:
34、Excel,RSView32,RSview SE等。这些FBD功能块有Faceplates功能:AlarmEnhanced SelectTotalizerRamp/SoakDiscrete 2-State DeviceDiscrete 3-State DeviceEnhanced PID,AOI 指令,用户自己创建的指令,可以在一个或多个项目中重复使用用户使用标准的指令集或其它AOI指令进行代码的开发,并封装为新的指令可以被重复调用,如同子程序指令中的实例(instance)拥有各自的后台数据(backing data),什么是AOI(Add-On Instruction)?,AOI 指令,通
35、过创建通用的用户指令集,节省项目开发时间多个项目的一致性-无需每次都编制通用的控制算法支持多种编程语言创建AOI指令:LD,FBD,ST支持多种编程语言调用AOI指令:LD,FBD,ST,SFC易于维护指令保护,防止指令被修改,AOI 指令,AOI 指令,控制器结构中包含“Add-On Instruction”文件夹简化创建和查询AOI指令只需定义一次指令可以被多个程序调用指令的数量仅仅受限制于控制器的内存,创建AOI,AOI 指令,用户命名指令,保存在控制器中,供编程时使用,指令的描述保存在项目中,供帮助文件中使用,选择编程语言,用户定义版本号,保存在控制器中,供帮助文件使用,版本的注释保存
36、在项目中,供帮助文件使用,用户定义编制者的信息,保存在控制器中,供帮助文件使用,自动打开参数定义编辑器和逻辑编辑器,用来继续指令的开发,定义指令,AOI 指令,用户配置指令的参数Input(拷贝进来),Output(拷贝出去),支持原始数据类型(BOOL,SINT,INT,DINT and REAL)InOut(传递参照值passed by reference)支持原始数据类型(BOOL,SINT,INT,DINT and REAL)和复杂 数据类型(UDT 和数组)参数名字和定义保存在控制器中,描述保存在项目文件中数字值数据类型的自动转换SINT,INT,DINT 和 REAL指令被调用之前
37、,输入值进行转换指令执行之后,输出值进行转换,定义指令数据,AOI 指令,Input=输入值,符合IEC61131-3 定义的EnableIn&EnableOut 参数,在LD 或 FBD可以控制其状态,InOut=程序或控制器范围的标签,指向该指令,Output=返回值,指令是否显示该参数,指令使用时,必须配置该参数,参数描述,显示在源代码和帮助文件中,数据值的类型,首次创建标签时的缺省值(之后标签使用当前值),指令变量的尺寸,包括参数和本地的标签,指令数据界面,AOI 指令,指令可以定义本地标签用户命名、数据类型和描述支持原始类型(BOOL,SINT,INT,DINT,and REAL)和
38、复合类型(UDT 和数组)标签的定义和名字将被下载到控制器,描述被保存在项目文件中本地标签在在指令范围内被使用如果需要程序范围使用,可以将本地数据复制到参数如果用户知道本地标签的名字,该本地标签可以在HMI中使用(FTView标签浏览器中不显示),可以嵌套其它AOI指令当作本地标签,缺省值,传递描述,定义本地标签,AOI 指令,允许在设置、初始化或复位AOI指令时执行代码Prescan 控制器启动Postscan-SFC 自动复位EnableIn 无效(如梯级状态为无效时)先进的指令运行控制方式,AOI 扫描模式,AOI 指令,当指令被创建和更新时,跟踪历史信息谁是原始创建者,谁是最近一次的修
39、改者有关变更的用户注释可以添加至General 栏中的版本注释中,AOI的创建人、日期、时间,最近一次修改的信息,清空创建人和最近一次修改者的名字,指令变更记录,AOI 指令,在定义指令的过程中自动创建指令描述参数名、数据类型和描述指令的外观可以增加更进一步的描述当用户查询该指令的帮助文件时显示,指令帮助文件,AOI 指令,一次定义,在FBD,LD 和 ST中直接使用,指令的使用,AOI 指令,每个AOI 实例(instance)拥有独立的数据实例(data instance),实现数据的自动隔离允许每个指令工作于定制的一套数据简化编程、调试和维护,指令数据实例,AOI 指令,代码的编制使用F
40、BD,LD 或 ST可以使用大多数的内置指令和AOI指令(除了:JSR,SBR,RET,JXR,FOR/BRK,SFR,SFP,EOT,MAOC,PATT,PCLF,PCMD,PDET,POVR,IOT,EVENT 以及安全指令)标签参照限制为参数和本地(Axis,Message 和Alarm 标签必须为控制器范围,使用 InOut 格式传递数据),标签浏览器,用于指令代码内的标签选择,选择参数类型过滤标签,过滤数据格式,AOI指令源代码,AOI 指令,指令面板显示实时数值基于指定的调用,AOI指令显示与之有关的数据,运行状态查看和调试数据,指令的运行查看/调试,AOI 指令,指令对话框中包括
41、新的AOI指令使用 Ins 键,键入或使用鼠标选择相应的指令帮助文件在右侧显示,使用AOI指令,AOI 指令,ST 编程方式支持AOI指令提示工具提供参数列表变量列表简化编程并实现数据查看指令改善开发过程,ST 中使用AOI指令,AOI 指令,在标签编辑器和数据查看工具中监视与指令相关的输入和输出参数本地标签被隐藏,以避免意外的修改,标签编辑器/数据查看,AOI 指令,当范围选定为指令时,标签编辑器/数据查看功能实现指令中相关参数和本地标签的添加、修改等,使用范围(Scope)选择指令,用途(Usage)栏显示定义的信息,数据关系(Data context)用于运行时的监控和调试,查看指令参数
42、,AOI 指令,所有在项目中涉及到的AOI指令,均被包含在完整的项目导入/导出L5K文件中确保导入文件的完整性和可执行性指令可以在L5K文件中创建和处理AOI指令也可以单独导出/导入使用 XML格式的L5X文件项目之间交互使用保存在文件夹中,以便重复使用如果AOI指令被保护,用户的计算机中没有密码文件时L5K/L5X内容将被加密,导入/导出,AOI 指令,AOI 操作简便 复制和粘贴项目之间的拖拽和放置简化编程和代码的重复使用,拷贝/粘贴和拖拽功能,AOI 指令,当参数发生变化时,RSLogix 5000将会提示指令变化所带来的影响警告对话框显示列表选项:生成交叉参照表对AOI指令定义的修改为
43、离线方式对AOI指令定义的修改只需一次,所有的实例(instances)随之改变,指令变更的管理,AOI 指令,用户可以创建新版本的AOI指令,导出为L5X 文件,然后在旧版本的AOI的基础上导入到已有的项目中.导入组态对话框将显示新版本的修改日期与旧版本的差异,将新的AOI版本导入到已有的项目,AOI 指令,当用户选择“与已有指令比较”(Compare to Existing),用户可以查看AOI在哪里被使用,不同版本号、注释、创建和编辑日期等之间的区别进一步可以选择是否导入新的版本或继续使用已有的版本,AOI 指令,要实现AOI指令源代码的保护功能,需要先运行源代码保护工具(在安装盘中To
44、ols文件夹中包含该工具),用户在RSLogix 5000中 Tools Security Configure Source Protection实现代码保护,源代码保护,AOI 指令,指令加密,方式与程序加密类似禁止进入或只看(View-Only)文本输出文件中(L5K,L5X)也被保护输出文件中受保护的指令被加密,Encrypted code,Encoded AOI no access,源代码保护,AOI 指令,AOI 指令,源代码密码保护一些厂商的代码保护会被破解在Logix中,密码、源文件和导出文件均加密,防止 被破解 源代码锁定,只看模式选项多数厂商可以进行锁定,但会导致源代码无法查
45、看对于关键代码进行锁定,防止意外修改,但是可以查看和编译原始输入和输出参数类型的自动转换其它厂商要求用户增加数据类型转换的指令或功能块减少指令代码和编译,加快开发进度自动生成帮助文件,包含扩展描述其它任何环境均没有针对 UDF的帮助文件帮助程序员和维护人员理解指令代码的含义,基于实例(Instance)的查看功能一些竞争对手没有针对每一个数据实例独立的查看功能调用实例(instance)标签时,描述随之显示Logix 专有特性自动生成指令调用的描述,减少输入工作 控制器运行模式预扫描(Pre-Scan)/SFC 步骤后扫描(Post-Scan)执行其它厂商均无改功能进行指令复位,使得这些指令从
46、已知的状态(OTE off,TON reset.)准备运行 允许用户指令执行操作,典型操作为指令结束时的动作EnableIn(梯级状态)不使能时执行其它所有厂商只允许EnableIn或梯级使能时执行允许客户创建初始化代码用于基于条件转换(transition)的操作(如TON reset,Oneshots.),RSLogix 5000 用户定义AOI指令优点,AOI 指令,最大允许 500 Input/Output 参数最多至 7 层调用最大2 M 字节的数据变量(参数和本地标签)Message,Axis,Axis Groups,Alarms 和 Produced/Consumed 标签必须为
47、程序/控制器范围,并通过InOut 类型传递参数输入和输出类型参数仅限于常规数据类型(如BOOL,SINT,INT,DINT,REAL),其它类型使用InOut(如UDT/Structure tags)只能离线创建和修改(在线操作仅限于查看)代码的改变将影响到所有的实例(instances),但是仅改变参数或本地标签的缺省值时,只影响新的实例(instances),不会影响到已有的实例(instances),注意事项(1/2),AOI 指令,AOI 指令中使用SSV/GSV,下列类型将不能使用ModuleMessageAxisMotion GroupCoordinate SystemRSMAC
48、C 归档 AOI需要手动处理,使用L5X格式的导出文件RSMACC 审计功能针对AOI的变更,只有当程序被下载后并且MACC 验证过程在运行才有效,注意事项(2/2),程序控制指令(1),跳转指令 JMP和标号指令LBL,成对使用,每对用同一名称,书 写 方式同标签,在子程序中是唯一的。跳转的执行将改变程序内梯级的执 行顺序,可以向前跳转,也可以向 后跳转,发生向后跳转时,要防止程 序死循环。,程序控制指令(2),跳转子程序指令JSR,跳转子程序指令的执行将调用除主 控的子程序和故障处理子程序以外 的子程序。只有在要带入和带出参数时,SBR 和RET(可多条)指令才会需要使 用。,程序控制指令
49、(3),主控复位指令 MCR,用MCR的成对使用来创建一个区域。当Active为1时,2个MCR之间的指令正常执行;当Active为0时,MCR之间的指令也扫描,但总是用级条件(rung-condition-in)为假去扫描,故非保持型指令复位。MCR成对使用,有条件开始,无条件结 束。MCR构成的区域不能嵌套。不能跳转到MCR区域中。,程序控制指令(4),循环/终止循环指令 FOR、BRK、RET,FOR指令的执行将调用一个重复执行 的子程序,直到按步长执行到终止值,才返回到中断点.含在子程序中的BRK可在满足某个条件 时,中断正在重复执行的子程序,返回 到中断点。这种循环方式的子程序调用是
50、不能带入 参数和用RET返回参数的。,程序控制指令(5),调试控制指令,恒假指令AIF,设置在梯级的最前面,该梯级级条件永远不成立,调试程序时用。空操作指令NOP,可放置在梯级任何地方,执行空操作,如与输入指令分支并接,即旁路输入指令为无条件。暂停指令 TND,梯级扫描停止在指令所在级,并转至END。,程序控制指令(6),中断禁止指令UID和中断使能指令UIE,这两条指令要成对使用,当某一个梯级编写了UID指令,在这之后的梯级执行都不能被定时中断或事件中断调用,直到出现了UIE指令,禁止中断才被解除,通常被用于半途的执行结果不便在调用任务后输出,限定一个完整的执行过程。可禁止的中断:更高级别的