当前位置:
文档之家› 第三章 S7-300数据类型
第三章 S7-300数据类型
十六进制数:十六进制的16 个数字是0~9 和A~F, 每个
占二进制数的4 位。B#16#,W#16#,DW#16#, W#16#13AF (13AFH)。逢16 进1,例如B#16#3C=3×16+12=60。
BCD码: BCD 码用4 位二进制数表示一位十进制数,十进
制数9 对应的二进制数为1001。最高4 位用来表示符号。16 位BCD 码的范围:-999~+999。32 位BCD 码的范围:-9999~ +9999。
Sugar
Sugar
输入UDT块
根据数据类型建立数据块
举例:UDT中矩阵
声明查看
数据查看
1 数制 2 基本数据类型 3 复杂数据类型 4 参数类型
回本部分
1 数制
二进制数:二进制数的1 位(bit)只能取0 和1 这两个不
同的值,用来表示开关量的两种不同的状态。该位的值与线圈、 触点的关系:ON/OFF,TURE/FALSE。二进制常数: 2#1111_0110_1001_0001。
0000 0bbb
0000 0bbbbbbb bbbb bbbb bb bb bbbb bxxx
(0~655 35)
16
15
7
bbbb
说明:位0~2(xxx )为被寻址 地址中位的编号(0~7) 说明:位0~2(xx x)为被寻 址地址中位 的编号(0~7)
位3~8为被寻 址地址的字 节的编号(0~655 35) 位3~8为被寻址 地址的字节的编号
返回上级
2.存储器直接寻址
存储器直接寻址,简称直接寻址。该寻址方式在指令中 直接给出操作数的存储单元地址。存储单元地址可用符号地 址(如SB1、KM等)或绝对地址(如I0.0、Q4.1等)。下面各 条指令操作数均采用了直接寻址方式。
返回上级
3.存储器间接寻址(1/3)
存储器间接寻址,简称间接寻址。该寻址方式在指令中 以存储器的形式给出操作数所在存储器单元的地址,也就是 说该存储器的内容是操作数所在存储器单元的地址。该存储 器一般称为地址指针,在指令中需写在方括号“[]”内。地址 指针可以是字或双字,对于地址范围小于65535的存储器可以
回本段
指令操作数
指令操作数(又称编程元件)一般在用户存储区中,操 作数由操作标识符和参数组成。操作标识符由主标识符和辅 助标识符组成,主标识符用来指定操作数所使用的存储区类 型,辅助标识符则用来指定操作数的单位(如:位、字节、 字、双字等)。 主标识符有:I(输入过程映像寄存器、Q(输出过程映 像寄存器)、M(位存储器)、PI(外部输入寄存器)、PQ (外部输出寄存器)、T(定时器)、C(计数器)、DB(数 据块寄存器)和L(本地数据寄存器); 辅助标识符有:X(位)、B(字节)、W(字或2B)、D (2DW或4B)。
位序 位序
31 31
24
24 23
23
16
15
16
15 8
7
80
7
x000 0 r rrr x000 0r r
0000 0bbb bbbb bbbb 0000 0bbb
bbbb bxxx bbb b bb bb
bbb b bxxx
说明:位0~2(xx x)为被寻 址地址中位 的编号(0~7)
说明:位0~2(xxx )为被寻址地 址中位的编号(0~7) 位3~8为被寻 址地址的字 节的编号 (0~655 35)
输出 模块
PLC的扫描过程
输
输
I0.0 Q4.1 M10.0 Q4.2 I0.1 I0.1 Q4.1 M10.0 Q4.2
输
入 映 像 寄 存 器
出 映 像 寄 存 器
输 出 锁 存 器
输 出 端 子信号入 Nhomakorabea端 子驱动
输入刷新 输入刷新阶段
程序执行
输出刷新 输出刷新阶段
扫描周期
返回本节
过程映象
PII
返回上级
2.结构(STRUCT)
结构是由一组不同类型(结构的元素可以是基本的或 复杂的数据类型)的数据组合在一起而形成的复杂数据类 型。结构通常用来定义一组相关的数据,例如电机的一组 数据可以按如下方式定义:
返回上级
3.字符串(STRING)
字符串是最多有254个字符(CHAR)的一维数组,最 大长度为256个字节(其中前两个字节用来存储字符串的 长度信息)。字符串常量用单引号括起来,例如:
循环程序执行
启动块 (OB 100) 上电后执行一次 输入 模块 循环监视时间的开始
从模块读信号状态,并保存到过程映象区 (PII)
CPU 循环
执行OB1中的程序 (循环执行) 事件 (日期时间中断、硬件中断等) 调用其他 OB,FB,FC
块OB 1
A I 0.1 A I 0.2 = Q8.0
把过程映象输出表(PIQ) 写到输出模块
回本段
寻址方式
所谓寻址方式就是指令执行时获取操作数的方式,可以 直接或间接方式给出操作数。S7-300有4种寻址方式:
立即寻址 存储器直接寻址 存储器间接寻址 寄存器间接寻址
回本段
1.立即寻址
立即寻址是对常数或常量的寻址方式,其特点是操作数 直接表示在指令中,或以惟一形式隐含在指令中。下面各条 指令操作数均采用了立即寻址方式,其中“//”后面的内容为 指令的注释部分,对指令没有任何影响。
返回上级
5.寄存器间接寻址(2/4)
第一种地址指针格式适用于在确定的存储区内寻址,即 区内寄存器间接寻址。 【例3-3】 区内寄存器间接寻址。
返回上级
5.寄存器间接寻址(3/4)
第二种地址指针格式适用于区域间寄存器间接寻址。 【例3-4】 区域间寄存器间接寻址。
返回上级
5.寄存器间接寻址(4/4)
返回上级
寻址数据单元
8位 7 数据字节 0 数据字节 1 数据字节 2 数据字节 3 0 DBB 0 DBW 0 DBD 0 DBX 4.1
DBD 8188 DBW 8190 数据字节 8191 DBB 8191
访问数据单元
传统访问方法 完全表示访问 绝对寻址
1) OPN DB19 A DBX 0.0 OPN DB19 L DBW2 OPN DB19 L DBB5 或 A DB19.DBX0.0 或
2 基本数据类型
回本段
3 复杂数据类型
数组(ARRAY) 结构(STRUCT) 字符串(STRING) 日期和时间(DATE_AND_TIME) 用户定义的数据类型(UDT) 功能块类型(FB、SFB)
回本段
1.数组(ARRAY)
数组是由一组同一类型的数据组合在一起而形成的复 杂数据类型。数组的维数最大可以到6维;数组中的元素 可以是基本数据类型或者复杂数据类型中的任一数据类型 (Array类型除外,即数组类型不可以嵌套);数组中每 一维的下标取值范围是-32768~32767,要求下标的下限 必须小于下标的上限。
返回上级
4.日期和时间(DATE_AND_TIME)
用于存储年、月、日、时、分、秒、毫秒和星期,占 用 8 个字节,用 BCD 格式保存。星期天的代码为 1, 1~ 6 的 代码为2~7。例如:
返回上级
5.用户定义的数据类型(UDT)
用户定义数据类型表示自定义的结构,存放在UDT块 中(UDT1~UDT65535),在另一个数据类型中作为一个数 据类型“模板”。当输入数据块时,如果需要输入几个相 同的结构,利用UDT可以节省输入时间。
用字指针;对于其他存储器则要使用双字指针。
返回上级
4.存储器间接寻址(2/3)
【例3-1】 存储器间接寻址的单字格式的指针寻址。
返回上级
4.存储器间接寻址(3/3)
位序
位序
存储器间接寻址的双字指针的格式如图所示。
31 24 23 16 15
8 31
8
0
7
0000 0000
0000 0000
24
23
DB 19 (符号名: Values)
0 1 2 3 4 5 6 7 8 9
符号寻址
A “Values”.Start
Number
或
L DB19.DBW2
或
L “Values”.Number
Loop
或
L DB19.DBB5
或
L “Values”.Loop
1) 带有元素名字 “Start” 的 数据位 0.0
位24~26( rr r)为被寻 址地址的区 域标识号 位3~8为被寻址地 址的字节的编号(0~655 位31的x= 0为区域 内的间接寻 址,x= 1为区域 间的间接寻 址
35)
位24~26( rrr )为被寻址地 址的区域标识号 位31的x=0 为区域内的 间接寻址,x=1 为区域间的 间接寻址
第一种地址指针格式包括被寻址数据所在存储单元地址 的字节编号和位编号,至于对哪个存储区寻址,则必须在指 令中明确给出。这种格式适用于在确定的存储区内寻址,即 区内寄存器间接寻址。 第二种地址指针格式包含了数据所在存储区的说明位
(存储区域标识位),可通过改变标识位实现跨区域寻址,
区域标识由位26~24确定。这种指针格式适用于区域间寄存 器间接寻址。
字节 0 字节 1 字节 2 : : :
PIQ
用户程序
1 : : I Q : : : : 字节 0 字节 1 字节 2 : : :
1
A =
2.0 4.3
CPU 存储器区
CPU 存储器区
PLC用户存储区的分类及功能(1/2)
回本段
PLC用户存储区的分类及功能(2/2)
返回上级
数据类型
数据类型决定数据的属性,在STEP 7中,数据类 型分为三大类:
【例3-2】 存储器间接寻址的双字格式的指针寻址。