电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> PLC基础入门教程 >> 正文

西门子S7-200 PLC系统中的数据及其格式

作者:佚名    文章来源:本站原创    点击数:    更新时间:2023/6/7

S7-200系统中的数据及其格式

S7-200 CPU收集操作指令、现场状况等信息,把这些信息按照用户程序指定的规律进行运算、处理,然后输出控制、显示等信号。

所有这些信息在S7-200 PLC中,都表示为不同格式的数据,作为数据来处理;按照其自身定义,格式不同的数据表示不同含义的信息。

在S7-200中,各种指令对数据格式都有一定要求,指令与数据之间的格式要一致才能正常工作。例如,为一个整数数据使用实数(浮点数)运算指令,显然会得到不正确的结果。

数据有不同的长度(以二进制表示它们时,占据的位数不同),也就决定了数值的大小范围。模拟量信号在进行模/数(A/D)和数/模(D/A)转换时,一定会存在误差;代表模拟量信号的数据,只能以一定的精度表示模拟量信号。

  • 所有的数据在PLC中都是以二进制形式表示的
  • 数据都有其特定的长度和表示方式,称为格式
  • 数据的格式与用于运算、处理它的指令相关
  • 以不同的格式查看一个数据,或是使用不同格式的指令处理它,会得到不同的效果

表1. S7-200支持的数据格式

寻址格式 数据长度
(二进制位)
数据类型 取值范围
BOOL(位) 1(位) 布尔数
(二进制位)
真(1);假(0)
BYTE(字节) 8
(字节)
无符号整数 0 ~ 255;0 ~ FF(Hex)
INT(整数) 16
(字)
有符号整数 - 32768 ~ 32767;
8000 ~ 7FFF(Hex)
WORD(字) 无符号整数 0 ~ 65535;
0 ~ FFFF(Hex)
DINT
(双整数)
32
(双字)
有符号整数 - 2147483648 ~ 2147483647
8000 0000 ~ 7FFF FFFF(Hex)
DWORD
(双字)
无符号整数 0 ~ 4294967295;
0 ~ FFFF FFFF(Hex)
REAL
(实数)
IEEE 32位
单精度浮点数
-3.402823E+38 ~ -1.175495E-38(负数);
+1.175495E-38 ~+3.402823E+38(正数); 0.0
ASCII 8/个
(字节)
字符列表 ASCII字符、
汉字内码(每个汉字2字节)
STRING
(字符串)
字符串 1 ~ 254个ASCII字符、
汉字内码(每个汉字2字节)

※ 实数不能绝对准确地表示“零”

二进制、十六进制和十进制

二进制和二进制数: 所有通过S7-200 PLC处理的数据(数值、字符等等)都以二进制形式表示。在S7-200中,特别指出一个数据是二进制数并没有什么意义。

十六进制和十六进制数:在二进制数中,每4个二进制位可以分为一组;这组二进制数值的不同变化可以表示16个状态,正好是16进制数每一位数字的变化范围。因此,可以用十六进制数值方便地表示二进制数。

例如,二进制数1000_1111b分为两组来看,分别是1000b和1111b,正好可以表示16进制数字8h和Fh(0000b对应于0h,...,1111b对应于Fh);那么这个二进制数就可以表示为8Fh。

十进制和十进制数:十进制是S7-200的数学计算的基础,在S7-200中,一般都使用十进制的体系,除了时间(12/24或60进制)等特殊数据外。

 二进制数用于在PLC中表示十进制数值、或者其他(如字符等)数据,而16进制用来比较简单地描述二进制数。

 在S7-200中,二进制立即数表示为2#xxxx_xxxx(1字节长度),16进制立即数表示为16#xx(1字节长度)。

二进制位逻辑(bit)

PLC中以二进制“位”的数据形式来表示逻辑“1”、“0”(或者“开”、“关”)。位是最基本的数据单位。

在数据字节(Byte)中,二进制逻辑只用一个位(bit)来表示。每个字节由8个位组成。

  • 在S7-200中,某些类型的数据兼有成组的字节(字)访问形式,也有位的访问形式,如定时器、计数器等
  • 在编程软件Micro/WIN中,对位数据进行运算操作的指令都在指令树的Bit Logic(位逻辑)分支中

 “位”的逻辑值为“1”或者“0”,但是在实际应用中,某种状态的“有效值”可以是“1”,也可以是“0”。“有效”就是我们认为某个状态已经“激活”

整数、无符号整数和有符号整数

字节、字、双字都可以用来表示十进制整数,显然它们的数据长度不同,能够表示的数的大小范围也不同。

无符号整数只有0和正整数;有符号整数可以有正数和负数。

有符号整数采用二进制补码的形式来表示负数。

  • 在S7-200中,字节、字、双字都可以按照无符号、有符号整数来查看
  • Micro/WIN中,整数运算指令在指令树的Integer Math分支中
  • 只有字节运算指令(带B符号的指令,如INC_B等)是无符号整数运算指令
  • 凡带有I,或W,DW等(除字节B指令外)的数学运算指令,都是有符号整数运算指令
  • 定时器、计数器的值都是有符号整数
  • HSC(高速计数器)的计数当前值(HCx)和设定值都是32位的有符号整数
  • 在编程软件Micro/WIN中输入立即数据时,如果不输入小数点,则认作整数

在不需要高精度运算的条件下,使用整数可以简化编程,节省处理时间。

实数(浮点数)

在S7-200中,实数(浮点数)是符合IEEE标准的32位实数,即单精度实数。实数格式按照一定的运算规律把32个二进制位分组,表示极小或极大的数。

  • S7-200的实数运算指令都在指令树的Floating-Point Math(实数运算) 分支中
  • 实数当作整数运算的时候会导致数值的错误;而整数当作实数应用可能会使数据非法(不符合标准)
  • 在编程软件Micro/WIN中输入带小数点数据的数据,则认为实数(实数形式的整数值必须输入小数点和一位为零的小数位,如10.0)

ASCII字符和String(字符串)

在S7-200中,ASCII字符是由表示字母、数字和一些特殊符号的ASCII编码组成的二进制数据字节,一个字节存储一个字符。

 ASCII(美国信息交换标准码)是一种字符编码格式,在一个字节长度中不同的二进制数值代表不同的字符。如字母A为41h(十六进制数值),以十进制看就是65;而数字5的ASCII值为35h,十进制值为53。

S7-200中新引入了String(字符串)数据格式,其结构是在ASCII字符字节串前面有一个串长度。字符串最长可以有255个数据字节。

字符串中也能包括汉字编码,每个汉字占用两个字节。

 这是S7-200内部对ASCII字符串的格式定义,所有与字符串有关的指令都遵照这个格式。

  • 在编程软件中,用单字节(英文)的单引号(')将作为字符的内容括起来可以在数据块和状态图中输入ASCII数据字节
  • 在单字节的双引号(")中间输入文本内容可以输入字符串
  • 按上述方法输入的字符串会自动按字符串格式排列(在起始地址中放入字符个数)
  • 使用程序,或人为组合成的ASCII字符串,使用ASCII字符串指令时,必须注意是否符合格式

例如:


图1. 在数据块中输入ASCII数据和字符串

下载项目到S7-200 CPU,使用状态图在线监控可以看到:


图2. 状态图

注意ASCII字节和字符串的区别。D6D0h是汉字“中”的编码。

 STEP 7-Micro/WIN V4.0以上版本完全支持字符串数据格式。

BCD

BCD意为“二进制编码的十进制数”。BCD是一种编码方式,是以二进制数对十进制数字的编码,并因为16进制的优势,改用十六进制数字表示。

十进制只有十个数字,所以以16进制表示的BCD码不会出现16进制数字Ah - Fh。

十进制数39用BCD码表示就是39h,或16#39。BCD码数值必须用16进制查看才能得到正确结果。

BCD编码往往在使用BCD编码开关输入数据时用到;S7-200中读出的时钟日期数据也是以BCD编码表示。

 《S7-200系统手册》关于PLC概念的一章非常有用,建议初学者必读

Tags:数据格式,数据,S7-200  
责任编辑:admin
  • 上一篇文章:
  • 下一篇文章: 没有了
  • 相关文章列表
    西门子plc S7-200 CPU 224XP参数及接线图
    西门子PLCS7-200/S7-200SMART Modbus地址问题应用解析
    西门子plc S7-200实现小车往返运动的程序梯形图实例
    S7-200仿真汉化版下载和教程 西门子S7-200系列PLC仿真软件使用教
    西门子S7-200 PLC全自动洗衣机课程设计 PLC洗衣机毕业设计
    西门子plc S7-200按下启动按钮指示灯点亮,按钮使用计数器和计时
    西门子S7-200SMARTPLC循环走马灯如何编写 plc跑马灯程序
    使用S7-200编写的一个货物进出的梯形图实例编程 仓库进出货实例梯
    昆仑通态触摸屏TPC7062kx和西门子s7-200 cpu224cn通信设置
    西门子S7-200 PLC控制运料小车往返运动梯形图实例
    基于昆仑通态MCGS与西门子S7-200 PLC的四路抢答器
    西门子PLC S7-200模拟量扩展模块EM235测量温度和监视指定温限
    西门子plc S7-200与模拟量模块EM231的采集电流信号发生器梯形图实
    西门子S7-200 plc模拟量转换程序详解 公式及子程序梯形图 反向计
    西门子S7-200模拟量使用中的16个基本问题,一定要搞清楚
    西门子plc模拟量模块EM231的拨码开关及使用指南 S_ITR和S_RTI 以
    西门子plc S7-200 300 400各指示灯含义的详解
    西门子plc 移位寄存器位指令应用案例——顺启逆停,SHRB
    实验十七 西门子S7-200PLC的移位寄存器指令在波浪式喷泉程序中的
    实验十三 西门子S7-200PLC 两台PLC主从式通信
    西门子plc S7-200的表用法中填表FILL_N和查表详解
    西门子S7-200 PLC的模拟量I/O映像寄存器(AI/AQ)功能及地址分
    PLC几种常见的连接口和通讯协议, PLC通讯接口
    西门子plc S7-200 port0 port1有什么区别
    基础实用的西门子S7-200学习笔记,适合新手学习
    西门子plc S7-200和S7-1200编程区别
    主站从站实例_两台西门子plc S7-200实现MODBUS RTU通讯_mbus_ini
    西门子S7-200 PLC的MBUS_INIT指令
    西门子plc S7-200的4到20ma模拟量转换公式,Scale_I_to_R和Scale
    西门子PLC S7-200指令详解——比较指令_plc比较指令
    请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
    1分 2分 3分 4分 5分

    还可以输入 200 个字
    [ 查看全部 ] 网友评论
    推荐文章
    最新推荐
    关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
    返回顶部
    刷新页面
    下到页底
    晶体管查询