当前位置:文档之家› 标准AB系统编程手册-数据类型

标准AB系统编程手册-数据类型

2012-04-12 数据类型
数据类型
目录
1Predefined Data Type (3)
1.1Basic Predefined Data Type (3)
1.2Advanced Predefined Data Type .............................................................. 3高级预定义数据类型
1.3Module Predefined Data Type (4)
2User Defined Data Type (5)
2.1UDT概况 (5)
2.2通用标准UDT (5)
2.3非标准UDT (8)
1、预定义数据类型
基本预定义数据类型
高级预定义数据类型
模块预定义数据类型
2、用户自定义数据类型
1.Predefined Data Type
Predefined预定义的数据类型是在系统中定义且不可修改的数据类型
●Basic Predefined Data Type
Basic Predefined是构成数据类型的基本单元,所有其它数据类型基于此基础
●Advanced Predefined Data Type
Advanced Predefined是Rockwell 开发的一些由Basic Predefined数据类型组成,方便编程人员使用的系统自带的数据类型,如TMR(timer),RIN(Redundant Input冗余输入),下图1以RIN为例,所有的组成均为BOOL 量,每个变量的作用各不相同,可以参见RIN的注释,??
图1
Module Predefined Data Type【模块预定义数据类型】
当编程人员在硬件组态时在IO/Configuration中添加模块时,系统自动生成对应该模块的标签,而Module Predefined数据类型是此类标签的数据类型,如下图所示当我们在硬件组态中添加sz_UB030E2时,自动会生成sz_UB030E2:I表示该模块的输入变量,而AB:1791DS_IB8XOB8_Safety2:I:0即为该模块的预定义数据类型,相同模块由于参数设置的不同,预定义数据类型可能不一样,详见硬件配置中的描述
er Defined Data Type
●UDT概况
1,User Defined Data Type(下文简介UDT)是用户自定义数据类型,可以由各种预定义数据类型或者其他数据类型构成
2,UDT将用户关于某一功能(如滚床,气缸)的所有需要用到的变量统一在同一组织结构中
3,UDT减少了系统中变量的数量
4,UDT使逻辑更加标准化,更具有可复制性
●通用标准UDT user defined data type
1,通用标准中关于滚床,气缸,关于Cell ,Station,Action【动作】和一些标准柜的UDT,不能删除任何东西而且最好不要修改,下图是以Action的UDT,在Action的动作程序需要用到的变量都包含在此UDT中
如我们需要有关闭第一组夹头这个程序,首先我们需要建立已za_Action为数据类型的标签Clamp1Close,并且在CloseClamp的程序段中需要用到的中间变量我们都能在Clamp1Close变量组中找到,如下图1代表关闭完成,图2代表关闭的自动条件,图3代表关闭的命令
图1
图2
图3
2,下图是以Zc_CellHMI的UDT,与Cell相关的HMI显示画面和此UDT相关,由于HMI使用标准模板,此UDT不能修改,
非标准UDT –安全模块
1,由于客户特殊的需求或者成本考虑,项目中经常会有非标准的盘柜或者应用,我们可以根据通用标准的UDT 根据项目特点做适当修改。

一般来讲Junction Box, VFD panel,中每一块安全模块我们根据硬件图纸都要分别定义数据类型,对应一个8入8出安全模块或者有Test output 的12入模块,相应必须有4个UDT ,且互相包含。

2,对应8入8出安全模块,s_**_SafeIn ,对应该模块的输入的UDT ,在通用标准中对应硬件组态固定为以下格式,我们最重要是需要实际输入点,可以修改名称及描述,其它部分不用修改且不能删除,表示模块状态或者为了与Module Predefined 能够一一对应所使用的填充,无特殊意义
对应模块实际输入点
填充物,为了能让输入点所在位置和 Module-Predefined 数据定义位
置一致
填充物,为了能让Inputstatus 和OutputStatus 所在位置和 Module-Predefined 数据定义位置一致
安全程序UDT
3,对应8入8出安全模块,s_**_SafeOut,,对应该模块的输出的UDT,在通用标准中对应硬件组态固定为以下格式,上面8点为实际输出点,下面4点对应T0-T3,如果硬件配置不使用T0-T3,则在此UDT中只需要8个变量,也就是说数据类型实际上由Module Pre-defined数据类型决定,Module Pre-defined数据类型由硬件配置决定
对应模块实际输出点
对应模块T0-T3,
4,对应8入8出安全模块,s_**_SafeIO,,对应该模块的安全程序中所使用变量的UDT,编程人员可以将安全程序中使用到的变量全部加入到此UDT中,另外SafeIO还包含SafeIn和SafeOut,例如下图中UB030J1_1模块上接有两个安全设备,所以我们添加SD1,SD2,另外还有一些安全程序中所使用的中间变量
5,对应8入8出安全模块,ud_**_IO,在普通程序中还需要对应一个UDT,此UDT包含 SafeIO,与对应该模块在普通程序中的报警信息所需的变量
对应该模块普通程序中所使用的中
间变量都要在IO UDT中存在
非标准UDT –普通模块
1,非标准UDT 另外一个主要应用在1734普通模块,下面以新表调线FL091BFL094J1中1734模块为例,该模块由3块输入模块1734-IB8,4块继电器输出模块1734-OW4组成,DeviceNet 地址为20,下图1为网络组态RsNetworkx 中显示结果,图2为输入的映射,图2中可以看出Byte0与Byte1已经占用,说明输入点从Byte2开始也就是第17位开始,因此在程序中我们读取的输入点UDT 前16位为预留点查找模块手册知悉该数据区域为模块状态点,因此所得输入数据UDT 为图3所示

1
图2 图3 2,对应继电器输出模块,模块输出映射如下图1,与输入类似同样也有2个Byte 数据表示状态,从Byte2开始一块输出模块占位1Byte ,但是由于该模块只有4个输出点,只用到1Byte 中的4位,此时我们可以通过程序强制输出,测量电压可以试出对应该模块的1Byte 数据前4位为输出点,后四位无意义,因此创建输出UDT 如下图2所示
Int 数据类型占16位
图1 图2。

相关主题