欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据类型plc数据类型.docx

    • 资源ID:12873988       资源大小:27.01KB        全文页数:24页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据类型plc数据类型.docx

    1、数据类型plc数据类型数据类型plc 数据类型数据类型plc 数据类型 篇一 : plc 数据类型 在STEP 7-Micro/WIN中编程时,在下列两种情况下您必须识别并使用数据类型: ?如果您以IEC 1131-3模式编程,则必须为全局符号表中的所有数值选择数据类型。, ?如果您在局部变量表中赋值,则必须为每个局部变量定义数据类型。 当您明确地为数值指定数据类型时,您为STEP 7-Micro/WIN提供清晰的指令,指明需要为数值分配多少内存空间以及如何表示数值。 每个SIMATIC和IEC 1131-3指令或参数化子程序均由精确定义识别。该定义可被称为签名。对于所有的标准指令,每个指令操

    2、作数允许使用的数据类型集均从签名获得。对于参数化子程序,用户通过局部变量表建立子程序签名。 STEP 7-Micro/WIN V3.0编程软件为SIMATIC模式执行简单的数据类型检查,为IEC 1131-3模式执行细致的数据类型检查。这意味着为局部或全局变量指定一种数据类型时,软件在下表所列的每个等级中确保操作数数据类型与指令签名相匹配。 基本数据类型 数据类型大小 说明 范围 布尔 1位 布尔 0至1 字节 8位 不带符号的字节 0至255 字节 8位 带符号的字节 -128至+127 字 16位 不带符号的整数 0至65,535 整数 16位 带符号的整数 -32768至+32767 双

    3、字 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 ms T32, T96T33 - T36, T97 - T100T37 - T63, T101

    4、-T255 TOF 关闭接通延时定时器 1 ms10 ms100 ms T32, T96T33 - T36, T97 - T100T37 - T63, T101 - 255 TP 脉冲定时器 1 ms10 ms100 ms T32, T96T33 - T36, T97 - T100T37 - T63, T101 - 255 CTU 向上计数器 0至255 至 CTD 向下计数器 0至255 CTUD 向上,向下计数器 0至255 SR 设置主要双稳态触发器 无关 RS 复原主要双稳态触发器 无关 STEP 7-Micro/WIN 提供三级数据类型检查 1. IEC编辑器具有细致数据类型检查。,

    5、)在该模式中,参数数据类型必须与符号或变量的数据类型完全匹配。欲支持细致数据类型检查,过载指令除外,每个正式参数只有一种数据类型。例如,SRW指令的IN参数的数据类型为字。在细致数据类型检查中,只有被指定字数据类型的变量才能成功编译。使用细致数据类型检查时,数据类型为整数的变量对字指令参数无效。细致数据类型检查仅在IEC 1131-3模式中进行。 用户选择的数据类型 等同数据类型 布尔 布尔 字节 字节 字 字 整数 整数 双字 双字 双整数 双整数 实数 实数 字符串 字符串 2. 处于SIMATIC模式中的局部变量表具有简单数据类型检查。指令。 指令 允许使用的数据类型 允许使用的数据类型

    6、 编译指令 ADD 整数 字、整数 ADD_I ADD 双整数 双字、双整数 ADD_D ADD 实数 实数 ADD_R 当所有操作数的数据类型均为双整数时,编译器生成”加双整数”指令。如果过载指令数据类型混合,会出现编译错误。根据数据类型检查的等级决定哪些为非法。在下例中,如果使用细致数据类型检查,则生成编译程序错误,但如果使用简单数据类型检查则成功编译。 ADD IN1 = INT, IN2 = WORD, IN3 = INT. 细致数据类型检查:引起编译错误。 简单数据类型检查:成功编译至ADD_I。 简单数据类型检查不会阻止出现常见运行时间编程错误。例如,使用简单数据类型检查时,编译程

    7、序不能帮助避免在运行时间发生以下常见编程错误:ADD 40000,1被解释为负数,而不是不带符号的40,001。 在IEC中为过载指令使用直接编址 IEC-1131编程模式也允许使用直接表示的内存位置,作为指令参数配置的一部分。参数中可使用变量和内存位置。但是,使用直接表示的内存位置时必须清楚地识别数据类型的隐含意义,因为这些位置不 包含明确的类型信息。,另外,不能从任何过载IEC指令决定类型信息,因为过载指令接收多种数据类型。 直接表示的参数数据类型通过检查指令中包含的其他类型的参数来决定。当指令参数配置使用某一指定类型的变量时,则假定所有直接表示的参数均为该类型。 名称 地址 数据类型 注

    8、解 Var1 实数 这是浮点数变量。 Var2 双整数 这是双整数变量。 Var3 整数 这是整数变量。 举例 说明 假定VD100和VD200为实数类型,因为Var1是实数类型。 VD300和VD400为双整数类型,因为Var2是双整数类型。 假定VW500和VW600为整数类型,因为Var3是整数类型。 假定AC0和AC1为实数类型,因为Var1是实数类型。 这种配置被视作非法,因为无法确定类型。累加器中的数据类型可为双整数或实数。 这种配置被视作非法,因为无法确定类型。累加器指针中的数据类型可为双整数或实数。 使用数据类型转换指令 转换指令允许从一种数据类型移至另一种数据类型。,)STE

    9、P 7-Micro/WIN支持在下列简单数据类型之间的移动数值转换指令。 转换指令 IEC细致数据类型检查允许的操作数 SIMATIC局部变量表中的简单数据类型检查允许的操作数 字节至整数 入: 字节出: 整数 入: 字节出: 字、整数 整数至字节 入: 整数出: 字节 入: 字、整数出: 字节 整数至双整数 入: 整数出: 双整数 入: 字、整数出: 双字、双整数 双整数至整数 入: 双整数出: 整数 入: 双字、双整数出: 字、整数 双整数至实数 入: 双整数出: 实数 入: 双字、双整数出: 实数 实数至双整数 入: 实数出: 双整数 入: 实数出: 双字、双整数 字符串至整数 入: 字

    10、符串 双字 出: 整数 入: 字符串, 双字 出: 字、整数 整数至字符串 入: 整数出: 用双字代表的字符串 入: 字、整数出: 用双字代表的字符串 字符串至双整数 入: 字符串 双字 出: 双整数 入 字符串, 双字 出: 双字、双整数 双整数至字符串 入: 双整数出: 用双字代表的字符串 入: 双字、双整数出: 用双字代表的字符串 字符串至实数 入: 字符串 双字 出: 实数 入: : 字符串 双字 出: 实数 实数至字符串 入: 实数出: 用双字代表的字符串 入: 实数出: 用双字代表的字符串 在IEC 1131-3编辑模式中,您可以使用过载移动指令在整数和字、双整数和双字之间转换。,

    11、)过载移动指令允许相同大小的数据类型自由移动,而不生成编译错误。 IEC 1131-3过载移动 入 出 : 移动 整数 字 移动 字 整数 移动 双整数 双字 移动 双字 双整数 篇二 : MSComm控件编程中的几种数据类型,VARIANT数据类型,COleVariant类,CO 以下内容参考自MSDN和XX百科1.VARIANT and VARIANTARG SAFEARRAY的主要目的是用于automation中的数组型参数的传递。因为在网络环境中,数组是不能直接传递的,而必须将其包装成SafeArray。实质上SafeArray就是将通常的数组增加一个描述符,说明其维数、长度、边界、元

    12、素类型等信息。SafeArray也并不单独使用,而是将其再包装到VARIANT类型的变量中,然后才作为参数传送出去。在VARIANT的vt成员的值如果包含VT_ARRAY|.,那么它所封装的就是一个SafeArray,它的parray成员即是指向SafeArray的指针。SafeArray中元素的类型可以是VARIANT能封装的任何类型,包括VARIANT类型本身。 使用SafeArray的具体步骤: 方法一: 包装一个SafeArray: . 定义变量,如: VARIANT varChunk; SAFEARRAY *psa; SAFEARRAYBOUND rgsabound1; . 创建Sa

    13、feArray描述符: uIsRead=f.Read;/readarray from a file. ifbreak; rgsabound0.cElements =uIsRead; rgsabound0.lLbound = 0; psa =SafeArrayCreate; . 放置数据元素到SafeArray: for if) :MessageBox; 一个一个地放,挺麻烦的。 . 封装到VARIANT内: varChunk.vt = VT_ARRAY|VT_UI1; varChunk.parray = psa; 这样就可以将varChunk作为参数传送出去了。 读取SafeArray中的数据

    14、的步骤: . 用SafeArrayGetElement一个一个地读 BYTE buflIsRead; for :SafeArrayGetElement; 就读到缓冲区buf里了。 方法二: 使用SafeArrayAccessData直接读写SafeArray的缓冲区: . 读缓冲区: BYTE *buf; SafeArrayAccessData&buf); f.Write; SafeArrayUnaccessData; . 写缓冲区: BYTE *buf; :SafeArrayAccessData&buf); for buf=bVal; :SafeArrayUnaccessData; varC

    15、hunk.vt = VT_ARRAY|VT_UI1; varChunk.parray = psa; 这种方法读写SafeArray都可以,它直接操纵SafeArray的数据缓冲区,比用SafeArrayGetElement和SafeArrayPutElement速度快。特别适合于读取数据。但用完之后不要忘了调用:SafeArrayUnaccessData,否则会出错的。 如果SafeArray中存的是BSTR的二维数组,则代码如下: if BSTR* buf; long LBound; / 数组下界 long UBound; / 数组上界 SafeArrayAccessData&buf); S

    16、afeArrayGetLBound; SafeArrayGetUBound; for CString str; MessageBox; SafeArrayUnaccessData; 4.COleSafeArrayCOleSafeArray类是用于处理任意类型和维数的数组的类。COleSafeArray是从OLE VARIANT结构派生而来的。OLE SAFEARRAY成员函数在可以通过COleSafeArray来访问,就象是特别为一维的字节数组所设计的一个成员函数集。 Class COleSafeArray is a class for working with arrays ofarbitr

    17、ary type and dimension. COleSafeArray derivesfrom the OLE VARIANT structure.The OLE SAFEARRAY member functions are available throughCOleSafeArray, as well as a set of member functionsspecifically designed for one-dimensional arrays of bytes. 构造COleSafeArray 构造一个COleSafeArray对象 操作 Attach 给COleSafeArr

    18、ay对象以存在的VARIANT数组的控制 Clear 释放基VARIANT中的所有数据 Detach 将VARIANT数组从COleSafeArray对象中分离出来 Win32 API 包装 AccessData 获取一个指向数组数据的指针 AllocData 为数组分配内存 AllocDescriptor 为安全数组描述符分配内存 Copy 创建一个已存在的数组的拷贝 Create 创建一个安全数组 Destroy 销毁一个已经存在的数组 DestroyData 销毁一个安全数组中的数据 DestroyDescriptor 销毁一个安全数组的描述符 GetDim 返回数组的维数 GetEle

    19、ment 获取安全数组中的一个单一元素 GetElemSize 返回安全数组中一个元素的按字节表示的大小 GetLBound 返回一个安全数组任一维的下界 GetUBound 返回一个安全数组任一维的上界 Lock 增加一个数组的加锁计数,并将一个指向数组数据的指针放到数组描述符中 PtrOfIndex 返回一个指向被索引的元素的指针 PutElement 将一个单一的元素放入数组中 Redim 改变一个安全数组的最不重要的边界 UnaccessData 减小一个数组的加锁计数,并使由AccessData获得的指针无效 Unlock 减小一个数组的加锁以使它能被释放或改变大小 一维数组操作 C

    20、reateOneDim 创建一个一维的COleSafeArray对象 GetOneDimSize 返回一个一维的COleSafeArray对象中的元素个数 ResizeOneDim 改变一个一维的COleSafeArray对象中的元素个数 操作符 operator Outputs the contentsof a COleSafeArray object to the dump context.operator LPVARIANTAccesses the underlying VARIANT structure ofthe COleSafeArray object.operator LPCVA

    21、RIANTAccesses the underlying VARIANT structure ofthe COleSafeArray object.构造函数 COleSafeArray:COleSafeArray COleSafeArray; COleSafeArray; COleSafeArray; COleSafeArray; COleSafeArray; COleSafeArray; COleSafeArray; 参数: saSrc要被拷贝到新的COleSafeArray对象中去的已经存在的COleSafeArray对象或SAFEARRAY。 vtSrc 新的COleSafeArray对

    22、象的VARTYPE。 psaSrc 一个指向要被拷贝到新的COleSafeArray对象中去的SAFEARRAY的指针。 varSrc 要被拷贝到新的COleSafeArray对象中去的已经存在的VARIANT或者COleVariant。 pSrc 一个指向要被拷贝到新的COleSafeArray对象中去的VARIANT对象的指针。 说明: 所有这些构造函数都创建一个新的COleSafeArray对象。如果没有参数,则创建的是一个空的COleSafeArray对象。如果COleSafeArray是从另一个数组拷贝来的,并且这个数组的VARTYPE并不是完全确定的,则源数组中的VARTYPE被保

    23、留,并且不需要说明。如果COleSafeArray是从另一个数组拷贝而来,并且该数组的VARTYPE是不知道的,则VARTYPE必须用vtSrc参数来指定。 如果出错,则函数抛出一个CMemoryException或COleException。篇三 : SQL:串行数据类型 使用数据类型 当你在数据库中创建了1个表格,你就定义了每列的名字以及要输入到这些列中的内容的数据类型。从先前的文章中借用1个例子: CREATETABLEProducts AUTO_INCREMENT,prod_colorVARCHAR, prod_descrVARCHAR,prod_sizeDECIMAL, UNIQUE

    24、); 在以上的查询中,定义行prod_colorVARCHAR发出指令要创建1个列,名字是prod_color,数据类型是VARCHAR,长度为20。 你的数据库使用和每个类型相关的描述符来区别数据类型。例如,VARCHAR数据类型的描述符所含的信息将它区别为串行数据型,它包含所有的串字符,其长度是可变的。数据库里列的定义还包含了其他信息,例如对应于数据类型的特定长度。 如前所述,每个数据库制造商都希望在SQL92定义的标准上建立自己的数据类型。这样每个数据库在定义数据类型时都能够设定自己所需要的最大容量限制和其他属性。许多数据库使用的数据类型名字和这里列出来的一样,尽管每种的实现方法都有微小

    25、的差别。要确定特定数据类型使用方法的细节最好的方法还是查阅数据库制造商的文档。 已经说过了,希望对标准字符串数据类型有更多的了解就往下看。 串 有2种主要的串行数据类型:字符和位。串行使用数据库里由SQL_TEXT所定义的字符。SQL_92标准同时还提供了NATIONALCHARACTER和NATIONALCHARACTERVARYING,这两者都能使用可定义字符集。后者的处理方法和CHARACTER以及CHARACTERVARYING类型一样。 CHARACTER|CHAR 使用方法:CHARACTER|CHAR CHARACTER和CHAR这2个关键字是相同的。 CHARACTER类型1个

    26、突出的特点是它们能够包含这个字符。 CHARACTER类型包含了固定长度的串字符,clength。 字符在值的长度小于clength时起填充作用。这表示CHARACTER字段的长度是固定的。 你可以把CHARACTER的数据类型字段和相同类型的其他允许不同长度的字段比较,或者和CHARACTERVARYING数据类型比较。 有些数据库允许和数值数据类型比较。 CHARACTERVARYING|CHARVARYING|VARCHAR 使用方法:CHARACTERVARYING|CHARVARYING|VARCHAR CHARACTERVARYING,CHARVARYING,和VARCHAR这几个

    27、关键字是相同的。 这些类型能容纳最大长度的字符串,maxlength。 数据库把字段的长度作为值的实际长度。 你可以把这些数据类型的字段和相同类型的其他允许不同最大长度的字段比较。 BIT 使用方法:BIT 这种类型包含了带有长度的位字符,blength。例如,如果我们使用BIT,样本值将为“01”。 有的数据库会在串的开头插入空位,其的则会填充它们以符合固定长度的要求。 位字符是串,不是整数。 你可以把BIT数据类型的字段与相同类型的允许不同长度的其它字段比较,或者和BITVARYING数据类型比较。 有些数据库允许BITS和CHARACTER或者INTEGER类型比较。 BITVARYIN

    28、G 使用方法:BITVARYING 这种类型包含了最大长度的位字符,maxlength。 所记录的长度被设为值的实际长度。 数据库允许和其的BITVARYING数据字段比较,或者和BIT的数据字段比较。 对我们的SQL系列有了一些了解了吗, 串理论 数据库生产商通过建立这些基础的数据类型来创建你实际要实现的数据类型。对于字符串,这就可能包括相同名字的类型,例如CHAR或BIT,或者扩展到包括TEXT,SMALLTEXT,以及包含字符串的其他数据类型。 数据从1个数据库迁移到另1个数据库时,这种设计上的弹性产生了1个必须克服的障碍。在1个数据库里,你可能会有1个叫做CHAR的类型,这个类型所允许

    29、的最大容量大于你要迁移到的数据库的最大容量。而且,标准中没有着明确定义的类型可能会变化较大,这样的话只用遵从惯例来简化迁移。 在ZDNetChina最近的文章BLOB移植的替换方案中讨论了存在数据类型移植问题时保护数据的1个可能的解决方案。SQL标准没要包括存储二进制数据的指标,这造成了不同数据库制造商产品间的不兼容。软件开发者必须找到提到方案列清除这些障碍。 在这个系列的下一篇文章中,我们会看看SQL92的数字数据类型,每个有什么特点,以及对要实现这些类型的数据库的要求。篇四 : 数据类型:数据类型-需求,数据类型-概述 数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作

    30、。变量是用来存储值的所在处;它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在声明变量时也可指定它的数据类型。所有变量都具有数据类型,以决定能够存储哪种数据。 数据类型_数据类型 -需求 数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,即可充分利用内存。 例如大胖子必须睡双人床,就给他双人床,瘦的人单人床就够了。 数据类型_数据类型 -概述 根据缺省规定,如果在声明中没有说明数据类型,则令变量的数据类型为 Variant。Variant 数据类型很像一条变色龙 它可在不同场合代表不同数据类型。当指定变量为

    31、Variant 变量时,不必在数据类型之间进行转换,Visual Basic 会自动完成各种必要的转换。 但是,如果知道变量确实总是存储特定类型的数据,并且还声明了这种特定类型的变量,则 Visual Basic 会以更高的效率处理这个数据。例如,存储人名的变量最好表示成 String 数据类型,因为名字总是由字符组成。 除变量外,数据类型也用于其它场合。在给属性赋值时,这个值就有数据类数据类型型;函数的参数也有数据类型。事实上,在 Visual Basic 中,凡是与数据有关的东西就与数据类型有关。 也可声明任何基本类型的数组。 详细信息 关于更详细信息,请参阅本章后面的“数组”部分。在“性能和兼容性的设计”中还将讨论通过选择数据类型来提高应用程序的性能。 数据类型_数据类型 -声明变量 在使用非 Variant变量之前,必须使用 Private、Public、Dim 或 Static语句


    注意事项

    本文(数据类型plc数据类型.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开