为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

西门子高级编程全集05_STEP 7数据类型和变量

2013-02-27 29页 ppt 903KB 37阅读

用户头像

is_768155

暂无简介

举报
西门子高级编程全集05_STEP 7数据类型和变量nullnullSTEP 7数据类型和变量 STEP 7数据类型和变量 变量及数据类型含义变量及数据类型含义 数据类型描述了数据基本特性 连续区域:例如:实际速度 “是/非” 特性:例如:扰动 数据类型建立: 允许范围 (INT:-32 768 ... +32 767,等等。) 允许使用的指令 (算术指令: +,- 等。) 存储器中位的表示方法抽象出的数据类型 变量可以保存并在以后继续处理数值 Actual_speed: REAL扰动: BOOLSet_speed: REAL使能: BOOL...
西门子高级编程全集05_STEP 7数据类型和变量
nullnullSTEP 7数据类型和变量 STEP 7数据类型和变量 变量及数据类型含义变量及数据类型含义 数据类型描述了数据基本特性 连续区域:例如:实际速度 “是/非” 特性:例如:扰动 数据类型建立: 允许范围 (INT:-32 768 ... +32 767,等等。) 允许使用的指令 (算术指令: +,- 等。) 存储器中位的表示方法抽象出的数据类型 变量可以保存并在以后继续处理数值 Actual_speed: REAL扰动: BOOLSet_speed: REAL使能: BOOL变量特性及变量的声明变量特性及变量的声明 变量声明确定变量的如下特性: 符号名 数据类型 有效范围 声明类型变量可以: 在全局符号表中声明 (基本数据类型) 在全局数据块的声明表中进行声明 (所有数据类型) 在逻辑块的声明表中进行声明 (OB,FB和FC) Meas_point: ARRAY[1..10] STEP 7数据类型概述 STEP 7数据类型概述基本数据类型 (最长32位)复杂数据类型 (长度大于32位)用户自定义数据类型 (长度大于32位)STEP 7中的基本数据类型STEP 7中的基本数据类型长度(单位:位)BOOL BYTE WORD DWORD CHAR INT DINT REAL S5TIME TIME DATE TIME-OF-DAY1 8 16 32 8 16 32 32 16 32 16 32关键字 类型常数示例1或0 B#16#A9 W#16#12AF DW#16#ADAC1EF5 'w' 123 65539或L#-1 1.2或34.5E-12 S5T#5s_200ms T#2D_1H_3M_45S_12MS D#1999-06-14 TOD#12:23:45.12复杂数据类型的重要性复杂数据类型的重要性Motor: STRUCTEND_STRUCT “更好地”构造数据: 适合于任务 具有“适当的”数据类型 在块调用中 数据传输的精简形式: 一个参数传送“多个”数据项 使结构化编程成为可能 仅通过参数便实现 块间“通信” 软件可重用性5. . CALL #Controller Motor:="Hall_1".M5 . . . . .. . A #Motor.Enable . .in Drive UDT1 out ... ... stat Control. FB1in Motor UDT1 out ... ...STEP 7中的复杂数据类型STEP 7中的复杂数据类型长度(位)DATE_AND_TIME (日期和时间) STRING (字符串,最多254个字符) ARRAY (相同数据类型一组 元素的集合) STRUCT (结构,不同数据类型一组 元素的集合) UDT(用户自定义类型 = 由基本数据类型和/或 复杂数据类型组成的“模板” ) 64 8 * (字符数 +2) 用户自己定义 用户自己定义 用户自己定义 关键字示例DT#99-06-14-12:14:55.0 ´This is a string´ ´SIEMENS´ Meas_vals: ARRAY[1..20] INT Motor: STRUCT Speed: INT Current: REAL END_STRUCT UDT 作为块 UDT 作为数组元素 STRUCT Drive: ARRAY[1..4] Speed: INT UDT1 Current: REAL END_STRUCT STEP 7参数类型 STEP 7参数类型长度(位)TIMER COUNTER BLOCK_FB BLOCK_FC BLOCK_DB BLOCK_SDB Pointer ANY 16 16 16 48 80 关键字示例Contact time: TIMER . SI #Contact_time NoCompParts: COUNTER . LC #No_Comp_Parts Recall: BLOCK_FB . UC #Recall Measure: POINTER . L P##Measure . Measured Values: ANY . L P##Meas_Values .变量建立的区域变量建立的区域位(Bit)存储器本地数据 堆栈“传统“ PLC区域本地数据堆栈工作方式本地数据堆栈工作方式为组织块 OB1分配 L Stack 如:256个字节5OB1FB1FC5FC10. . CALL FB1 . .12345. . CALL FC10 . .. . CALL FC5 . .6LD for OB1LD for OB11LD for FB1LD for OB12LD for FB1LD for FC5循环开始LD for OB13LD for FB1LD for OB14LD for OB15LD for FC10freefreefreefreefreefreeLD for OB16freeLD= 本地数据示例:暂存器的替换示例:暂存器的替换LAD中的分支来自本地数据堆栈的 帮助变量STL表示分支位置数据块(DB)数据块(DB)功能 FC10功能 FC20功能块 FB1OB1数据类型:ARRAY数据类型:ARRAY ARRAY(域): 数组是相同数据类型 元素的组合 数组的声明: 一维数组: 域名:ARRAY[最小索引..最大索引] OF 数据类型; 多维数组: 域名: ARRAY[最小索引1..最大索引1,最小索引2..最大索引2,...] OF数据类型; 索引:数据类型INT(-32768...32767) 示例: 数组变量的声明: 一维:Meas_value: ARRAY[1..10] OF REAL; 多维:Position: ARRAY[1..5,2..8,...] OF INT; 数组变量的访问: L #Meas_value[5] // 装载数组的第5个元素 // 将Meas_value装载到ACCU1中去 T #Result[10,5]Meas_value: ARRAY[1..10]. .ARRAY的声明和初始化ARRAY的声明和初始化DB5 "Declaration view"DB5 "Data view"存储器中ARRAY变量的存储存储器中ARRAY变量的存储 一维数组 多维数组 BOOL数据类型Byte n1)BYTE, CHAR数据类型876543217 6 5 4 3 2 1 01211109Byte n+1Byte n1)Byte n+1Byte n+2Byte 1Byte 2Byte 3WORD, DWORD,...数据类型Byte n1)Byte n+1Byte n+2Byte 3. . .Word 2Byte n+2. . .示例 ARRAY[1..2,1..3,1..2] OF BYTEByte n1)Byte n+1Byte n+2Byte 1.1.1Byte 1.1.2Byte 1.2.1. . .Byte 1.2.2Byte 1.3.1Byte 1.3.2Byte 2.1.1Byte 2.1.2Byte 2.2.1Byte 2.2.2Byte 2.3.1Byte 2.3.21) n = 偶数Word 1等数据类型:STRUCT数据类型:STRUCT STRUCT(结构): 结构是不同数据类型 元素的组合 结构的声明: 结构名称: STRUCT 元素1名称: 数据类型; 元素2名称: 数据类型; ... END_STRUCT 示例: 结构变量的声明: 访问结构变量: MotorControl : STRUCT S #MotorControl.ON ON : BOOL; L #MotorControl.ActualSpeed OFF : BOOL; T #MotorControl.SetSpeed SetSpeed : INT; ... ActualSpeed : INT; END_STRUCT;Motor: STRUCTEND_STRUCT结构(STRUCT)的声明结构(STRUCT)的声明示例: 数组 – 结构 – 数组的声明DB6 "Declaration view"DB6 "Data view"存储器中STRUCT变量的存储存储器中STRUCT变量的存储 基本数据类型结构 复杂数据类型结构 Byte n1)6543217 6 5 4 3 2 1 0Byte n+1Byte n+2Byte 1Byte 2Byte 3Byte n+8Byte n+9Byte 3Word 1Word 2. . .1) n = evenFiller byteFiller byteByte n+3Byte n+4Byte n+5654321Filler byteByte n+6Byte n+7. . . 基本数据类型 元素 Word limit ARRAY类型 元素 STRUCT类型 元素 Word limit. . .Word limit用户自定义数据类型:UDT用户自定义数据类型:UDT UDT用户自定义数据类型: 在声明部分创建了 一个数据模板 供以后使用 对程序文件夹的所有 块来说,是全局有效的 示例: 新数据类型(结构)的定义: UDT1 STRUCT SetSpeed : REAL; ... ActualSpeed : REAL; Enable : BOOL; Disturbance : BOOL; END_STRUCT; 变量的声明: Motor_1: UDT1; Motor_2: UDT1; 对变量的访问: L #Motor_1.ActualSpeedUDT1: STRUCTEND_STRUCTUDT的使用UDT的使用UDT5FC23数据类型: DATE_AND_TIME数据类型: DATE_AND_TIMEByte n1)Byte n+2Byte n+4Byte n+1Byte n+3Byte n+5年 (90 ... 89)结构:月 (01 ... 12)日 (01 ... 31)小时 (00 ... 23)分钟 (00 ... 59)秒 (00 ... 59)Byte n+6Byte n+7毫秒 (000 ... 999)星期 (1..7)所有数值都以BCD码格式存储 变量的预先设置: DT#年-月-日-小时:分钟:秒.[毫秒] 示例:DT#1998-03-21-17:23:00:00 通过IEC-Library功能处理1=星期日 2=星期一 3=星期二 4=星期三 5=星期四 6=星期五 7=星期六1) n = 偶数处理DT型变量的功能处理DT型变量的功能 标准库V3.x里的 IEC库 FC1 (AD_DT_TM):功能FC 1将一个时间段(TIME格式)加到一个时刻时间(DT格式)上去,并返回新的时刻时间。 FC34 (SB_DT_DT):功能FC 34将两个时刻时间(DT格式)相减,返回一个时间段(TIME格式) 。 FC35 (SB_DT_TM) :功能FC 35从一个时刻时间(DT格式)上减去一个时间段(TIME格式) ,并返回新的时刻时间(DT格式) 。 FC3 (D_TOD_DT) :功能FC 3将DATE和TIME_OF_DAY (TOD)日期格式组合起来,并将它们转换成DATE_AND_TIME(DT)这种日期格式。 FC6 (DT_DATE) :功能FC 6是从DATE_AND_TIME格式中提取日期。 FC7 (DT_DAY) :功能FC 7是从DATE_AND_TIME格式中提取星期。. FC8 (DT_TOD) :功能FC 8是从DATE_AND_TIME格式中提取TIME_OF_DAY。 DT#变量比较函数: FC9 (EQ_DT),FC12 (GE_DT), FC14 (GT_DT),FC18 (LE_DT),FC23 (LT_DT),FC28 (NE_DT)数据类型: STRING数据类型: STRING STRING (字符串)型变量: 数据类型STRING表示了一个最多有254字符的字符串 应用:处理消息文本 声明方法: 字符串名称: STRING[最大数目]: ‘I初始化的文本’ (这样声明的字符串变量最多可有maxNo个字符,maxNo: 0... 254) 字符串名称: STRING: '初始化的文本' (这样声明的字符串变量最多可有254个字符) 示例: 变量的声明: Fault signal : STRING ‘Motor failure_4’ (变量Fault signal,并初始化为上面的文本内容) Warning : STRING[50] ‘ ’ (“empty” 变量Warning,最多可以接受50个字符) 处理: 基本访问方式: L #Fault signal[5] (装在变量Fault signal中的第5个字符) 通过IEC库里的FC进行处理存储器中字符串(STRING) 变量的存储存储器中字符串(STRING) 变量的存储 示例: 声明并初始化 Given name: STRING[8]: 'OTTO' 存储STRING变量“Given name“ Byte n1)Byte n+1Byte n+2最大长度= 8当前长度= 41st. char= 'O'Byte n+8. . .1) n = 偶数2nd. char= 'T'Byte n+3Byte n+4Byte n+5Byte n+6Byte n+73rd. char= 'T'4th. char= 'O'指定可存储字符的最大数目,即 在声明中所指定的长度指定存储在STRING变量里的 当前字符个数B#16#00B#16#00B#16#00Byte n+9B#16#00由IEC库功能评估的有关可存储字符的最大数目 或当前长度的信息。.处理STRING型变量的功能 (挑选部分)处理STRING型变量的功能 (挑选部分) 标准库里的 IEC库 FC2 (CONCAT):功能FC2是将两个STRING变量组合成一个字符串。 FC4 (DELETE) :功能FC 4是在一个字符串中删除L个字符,直到字符P位置为止。 FC11 (FINF) :功能FC 11提供第一个字符串里的第二个字符串的位置。 FC17 (INSERT) :功能FC 17是将参数IN2处的字符串插入到参数IN1处的字符串的字符Pth之后。 FC20 (LEFT) :功能FC 20提供一个字符串的第一个L个字符。 FC21 (LEN) :功能FC 21输出字符串当前长度(有效字符数) 。 FC26 (MID) :功能FC 26提供字符串的中间部分。 FC31 (REPLACE) :功能FC 31是用第二个字符串(IN2)替换第一个字符串(IN1)的L个字符直到P字符位置为止(包括P字符)。 FC32 (RIGHT) :功能FC 32提供一个字符串的最后L个字符。 STRING变量比较的相关功能: FC10 (EQ_STRING),FC13 (GE_STRING),FC15 (GT_STRING),FC19 (LE_STRING),FC24 (LT_STRING),FC29 (NE_STRING)示例5.1:复杂数据类型的使用示例5.1:复杂数据类型的使用. . .UDT99 "Motor"DB51 "Conv_area_Motors"Hall_1示例5.2:复杂数据类型的访问示例5.2:复杂数据类型的访问nullSFC1ENRET_VALENO??.?CDT??.?
/
本文档为【西门子高级编程全集05_STEP 7数据类型和变量】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索