plc 数据类型.doc_第1页
plc 数据类型.doc_第2页
plc 数据类型.doc_第3页
plc 数据类型.doc_第4页
plc 数据类型.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在STEP 7-Micro/WIN中编程时,在下列两种情况下您必须识别并使用数据类型:?如果您以IEC 1131-3模式编程,则必须为全局符号表中的所有数值选择数据类型。?如果您在局部变量表中赋值,则必须为每个局部变量定义数据类型。当您明确地为数值指定数据类型时,您为STEP 7-Micro/WIN提供清晰的指令,指明需要为数值分配多少内存空间(例如,数值100可被存储为字节、字或双字)以及如何表示数值(将0视作布尔值还是数字值?)。每个SIMATIC和IEC 1131-3指令或参数化子程序均由精确定义识别。该定义可被称为签名。对于所有的标准指令,每个指令操作数允许使用的数据类型集均从签名获得。对于参数化子程序,用户通过局部变量表建立子程序签名。STEP 7-Micro/WIN V3.0编程软件为SIMATIC模式执行简单的数据类型检查,为IEC 1131-3模式执行细致的数据类型检查。这意味着为局部或全局变量指定一种数据类型时,软件在下表所列的每个等级中确保操作数数据类型与指令签名相匹配。基本数据类型数据类型大小说明范围布尔1位布尔0至1字节8位不带符号的字节0至255字节8位带符号的字节(SIMATIC模式仅限用于SHRB指令)-128至+127字16位不带符号的整数0至65,535整数16位带符号的整数-32768至+32767双字32位不带符号的双整数0至4294967295双整数32位带符号的双整数-2147483648至+2147483647实数32位IEEE 32 位浮点+1.175495E-38至+3.402823E+38-1.175495E-38至3.402823E+38字符串2至255字节ASCII字符串照原样存储在PLC内存中,形式为1字符串长度接ASCII数据字节ASCII字符代码128至255 复杂数据类型说明范围TON打开接通延时定时器1 ms10 ms100 msT32, T96T33 - T36, T97 - T100T37 - T63, T101 -T255TOF关闭接通延时定时器1 ms10 ms100 msT32, T96T33 - T36, T97 - T100T37 - T63, T101 - 255TP脉冲定时器(参阅注释1)1 ms10 ms100 msT32, T96T33 - T36, T97 - T100T37 - T63, T101 - 255CTU向上计数器0至255CTD向下计数器0至255CTUD向上向下计数器0至255SR设置主要双稳态触发器无关RS复原主要双稳态触发器无关STEP 7-Micro/WIN 提供三级数据类型检查1.IEC编辑器具有细致数据类型检查。在该模式中,参数数据类型必须与符号或变量的数据类型完全匹配。欲支持细致数据类型检查,过载指令除外,每个正式参数只有一种数据类型。例如,SRW(字向右移位)指令的IN参数的数据类型为字。在细致数据类型检查中,只有被指定字数据类型的变量才能成功编译。使用细致数据类型检查时,数据类型为整数的变量对字指令参数无效。细致数据类型检查仅在IEC 1131-3模式中进行。用户选择的数据类型等同数据类型布尔布尔字节字节字字整数整数双字双字双整数双整数实数实数字符串字符串2.处于SIMATIC模式中的局部变量表具有简单数据类型检查。在该模式中,当符号或变量被指定一个数据类型时,同时自动指定与所选数据类型位大小相匹配的所有数据类型。例如,如果用户选择双整数作为数据类型,局部变量会自动指定数据类型双字,因为二者均为32位数据类型。不自动指定实数数据类型,虽然实数也是32位数据类型。实数数据类型被定义为无其他等同数据类型,总是独特的类型。使用局部变量时,只在 SIMATIC模式中执行简单数据类型检查。用户选择的数据类型等同数据类型布尔布尔字节字节字字、整数整数字、整数双字双字、双整数双整数双字、双整数实数实数字符串字符串3.SIMATIC符号编辑器无数据类型检查。该模式仅限用于无法选择数据类型的SIMATIC全局变量。在该模式中,所有相同大小的数据类型被自动指定给符号。例如,编程软件将自动为赋予VD100地址的符号指定下列数据类型:双字、双整数和实数。为SIMATIC全局符号由大小决定的数据类型用户选择的地址指定等同的数据类型V0.0布尔VB0字节、字符串VW0字、整数VD0双字、双整数、实数数据类型检查的益处数据类型检查的益处是帮助用户避免常见编程错误。例如,如果指令支持带符号的数字,则在使用不带符号的数字作为指令操作数时,软件为该用法设置旗标会有益处。例如,关系比较I是带符号的指令,显然,对于带符号的数据类型操作数,-1小于0。但当I指令允许支持不带符号的数据类型时,程序员需确保绝不会发生下列情况。在程序运行时,对于I指令,不带符号的数值40,000实际上小于0。程序员需确保对带符号的指令使用不带符号的数字不会超越正负数界限,否则会出现无法预测的结果。警告您应当确保带符号的数字用作不带符号的指令时不得超出正负数界限。若无法确保不带符号的数字用作带符号的指令时不超出正负数界限,可能致使程序或控制器操作出现无法预测的结果。无法预测的控制器操作可能导致人员死亡或严重伤害及或财产严重损坏。 请务必核实不带符号的数字用作带符号的指令时不得超出正负数界限。总之,在IEC 1131-3编辑模式中,细致数据类型检查通过对指令的非法数据类型生成错误,帮助程序员在编译过程中发现这些 错误。SIMATIC编辑器不具有此一功能。在SIMATIC与IEC1131-3之间移植程序因为IEC1131-3属于细致数据类型,而SIMATIC不属于此一类型,STEP 7-Micro/WIN不提供在两种不同编辑模式之间移动程序的能力。程序员必须选择一种希望使用的编辑模式。过载指令过载指令支持一系列数据类型。仍然应用细致数据类型检查,在成功编译指令之前所有的操作数数据类型必须匹配。例如,请参阅下表中用于IEC过载ADD(加)指令。指令允许使用的数据类型(细致数据类型检查)允许使用的数据类型(数据类型检查)编译指令ADD整数字、整数ADD_I(加整数)ADD双整数双字、双整数ADD_D(加双整数)ADD实数实数ADD_R(加实数)当所有操作数的数据类型均为双整数时,编译器生成加双整数指令。如果过载指令数据类型混合,会出现编译错误。根据数据类型检查的等级决定哪些为非法。在下例中,如果使用细致数据类型检查,则生成编译程序错误,但如果使用简单数据类型检查则成功编译。ADDIN1 = INT, IN2 = WORD, IN3 = INT.细致数据类型检查:引起编译错误。简单数据类型检查:成功编译至ADD_I(加整数)。简单数据类型检查不会阻止出现常见运行时间编程错误。例如,使用简单数据类型检查时,编译程序不能帮助避免在运行时间发生以下常见编程错误:ADD 40000,1被解释为负数,而不是不带符号的40,001。在IEC中为过载指令使用直接编址IEC-1131编程模式也允许使用直接表示的内存位置,作为指令参数配置的一部分。参数中可使用变量和内存位置。但是,使用直接表示的内存位置时必须清楚地识别数据类型的隐含意义,因为这些位置不包含明确的类型信息。另外,不能从任何过载IEC指令决定类型信息,因为过载指令接收多种数据类型。直接表示的参数数据类型通过检查指令中包含的其他类型的参数来决定。当指令参数配置使用某一指定类型的变量时,则假定所有直接表示的参数均为该类型。名称地址数据类型注解Var1实数这是浮点数变量。Var2双整数这是双整数变量。Var3整数这是整数变量。举例说明假定VD100和VD200为实数类型,因为Var1是实数类型。VD300和VD400为双整数类型,因为Var2是双整数类型。假定VW500和VW600为整数类型,因为Var3是整数类型。假定AC0和AC1为实数类型,因为Var1是实数类型。这种配置被视作非法,因为无法确定类型。累加器中的数据类型可为双整数或实数。这种配置被视作非法,因为无法确定类型。累加器指针中的数据类型可为双整数或实数。使用数据类型转换指令转换指令允许从一种数据类型移至另一种数据类型。STEP 7-Micro/WIN支持在下列简单数据类型之间的移动数值转换指令。转换指令IEC细致数据类型检查允许的操作数SIMATIC局部变量表中的简单数据类型检查允许的操作数字节至整数入: 字节出: 整数入: 字节出: 字、整数整数至字节入: 整数出: 字节入: 字、整数出: 字节整数至双整数入: 整数出: 双整数入: 字、整数出: 双字、双整数双整数至整数入: 双整数出: 整数入: 双字、双整数出: 字、整数双整数至实数入: 双整数出: 实数入: 双字、双整数出: 实数实数至双整数(取整)入: 实数出: 双整数入: 实数出: 双字、双整数字符串至整数入: 字符串 双字 (* 指向字符串的指针)出: 整数入: 字符串, 双字 (* 指向字符串的指针)出: 字、整数整数至字符串入: 整数出: 用双字代表的字符串 (* 指向字符串的指针)入: 字、整数出: 用双字代表的字符串 (* 指向字符串的指针)字符串至双整数入: 字符串 双字 (* 指向字符串的指针)出: 双整数入: 字符串, 双字 (* 指向字符串的指针)出: 双字、双整数双整数至字符串入: 双整数出: 用双字代表的字符串 (* 指向字符串的指针)入: 双字、双整数出: 用双字代表的字符串 (* 指向字符串的指针)字符串至实数入: 字符串 双字 (* 指向字符串的指针)出: 实数入: : 字符串 双字 (* 指向字符串的指针)出: 实数实数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论