S7-300基本数据类型
PLCS7-300课后习题答案

课后题:第一章:1.什么是可编程控制器?答:可编程序控制器(Programmable Controller):可通过编程或软件配置改变控制对策的控制器。
是一台专业环境应用而设计制造的计算机。
它具有丰富的输入输出接口,并且具有较强的驱动能力。
2.可编程控制器是如何分类的?简述其特点。
答:一体化紧凑型PLC:电源,CPU中央处理系统,I/O接口都集成在一个机壳内。
标准模块式结构化PLC:各种模块相互独立,并安装在固定的机架上,构成一个完整的PLC应用系统。
3.简述可编程控制器的工作原理,如何理解PLC的循环扫描工作过程?答:当PLC投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。
完成上述三个阶段称作一个扫描周期。
在整个运行期间,PLC的CPU以一定的扫描速度重复执行上述三个阶段。
PLC采用循环扫描的工作方式,对输入信号进行的是一次性“采样”。
采用这种工作方式,在一个PLC 程序循环周期内,即使实际输入信号状态发生变化,也不会影响到PLC程序的正确执行,从而提高了程序执行的可靠性。
用户程序通过编程器或其他输入设备存放在PLC的用户存储器中。
当PLC开始运行时,CPU根据系统监控程序的规定顺序,通过扫描,可完成各输入点状态采集或输入数据采集,用户程序的执行,各输出点状态的更新,编程器键入响应和显示器更新及CPU自检等功能。
PLC的扫描可按固定顺序进行,也可按用户程序规定的顺序执行。
4.简述PLC与继电接触器控制在工作方式上各有什么特点。
在继电器控制电路中,当电源接通时,电路中所有继电器都处于受制约状态,即该吸合的继电器都同时吸合,不该吸合的继电器受某种条件限制而不能吸合,这种工作方式称为并行工作方式。
而PLC的用户程序是按一定顺序循环执行,所以各软继电器都处于周期性循环扫描接通中,受同一条件制约的各个继电器的动作次序决定于程序扫描顺序,同他们在梯形图中的位置有关,这种工作方式称为串行工作方式。
第1讲:S7-300 PLC基础

业精于西门子S7系列PLC1-1、S7-300的硬件结构S7-300为标准模块式结构化PLC,各种模块相互独立,并安装在固定的机架上,构成一个完整的PLC应用系统系统背版总线连接器电源模块(选配)CPU模块信号模块信号模块前连接器模块前门盖板状态及故障指示灯模式开关MMC存储卡(CPU313以上)DC 24V电源连接器后备电池(CPU313以上)MPI多点接口1-2、S7-300 CPU模块1-2-1、CPU的分类种)紧凑型CPU(六种):CPU 312CCPU 313C革新型CPU(五种):CPU 312(新型)CPU 314(新型)故障安全型CPU(三种):CPU 315FCPU 315F-2DP特种型CPU(两种):CPU 317T-2DPCPU 317-2PN/DP1-2-2、S7-300CPU的主要特性:1-2-3、S7-300 CPU的操作:1、运行模式开关RUN-P:可编程运行模式。
在此模式下,CPU不仅可以执行用户STOP:停机模式。
在此模式下,CPU不执行用户程序,但可以通过编程设备(如装有STEP 7的PG、装有STEP 7的计算机等)从C P U中读出或修改用户程序。
在此位置可以拔出钥S7-300 CPU工作时需要使用存储卡来存储用户程序和数据,在训练过程中,经常性地对存储卡进行写入程序的操作,会在存储卡中留下很多垃圾程序,造成存储卡的容量不足或者格式混乱,可以使2、状态及故障显示SF(红色):系统出错/故障指示灯。
CPU硬件或软14配):+5V电源指示灯。
CPU和S7-300总线的5V):强制作业有效指示灯。
至少有一个I/O被状态时亮;LEDSTOP(黄色):停止状态指示灯。
CPU处于“STOP”或“HOLD”或“Startup”状态时亮;在存储器复位时LED以0.5 Hz频率闪烁;在存储器置位时LED以2Hz频率闪烁。
1-3、S7-300的模块1-3-1、S7-300的扩展能力●PS 307标准电源模块1-3-2、电源模块(PS)PS 307 5APS3075ADC 5VPS 307 2A1-3-3、信号模块(SM) SM321数字量输入模块(DI)(1)数字量输入模块(DI)数字量输入模块SM321有直流输入型和交流输入型。
学习西门子S7-300的基础

学习西门子S7-300的基础第一章PLC概述一、可编程控制器的产生及定义①1969年美国数字设备公司(DEC)研制出世界第一台可编程控制器,并成功地应用在美国通用汽车公司(GM)的生产线上。
但当时只能进行逻辑运算,故称为可编程逻辑控制器,简称PLC (programmable logic controller)。
②70年代后期,随着微电子技术和计算机技术的迅猛发展,使PLC从开关量的逻辑控制扩展到数字控制及生产过程控制域,真正成为一种电子计算机工业控制装置,故称为可编程控制器,简称PC (programmablecontroller)。
但由于PC容易与个人计算机(personal computer)相混淆,故人们仍习惯地用PLC作为可编程控制器的缩写。
③1985年国际电工委员会(IEC)对PLC的定义如下:可编程控制器是一种进行数字运算的电子系统,是专为在工业环境下的应用而设计的工业控制器,它采用了可以编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字或模拟式的输入和输出,控制各种类型机械的生产过程。
④PLC是由继电器逻辑控制系统发展而来,所以它在数学处理、顺序控制方面具有一定优势。
继电器在控制系统中主要起两种作用:(1)逻辑运算(2)弱电控制强电。
⑤PLC是集自动控制技术、计算机技术和通讯技术于一体的一种新型工业控制装置,已跃居工业自动化三大支柱(PLC、ROBOT、CAD/CAM)的首位。
二、可编程控制器的分类及特点(一)分类(1)从组成结构形式分①一体化整体式PLC②模块式结构化PLC(2)按I/O点数及内存容量分①超小型PLC②小型PLC③中型PLC④大型PLC⑤超大型PLC(3)按输出形式分①继电器输出为有触点输出方式,适用于低频大功率直流或交流负载②晶体管输出为无触点输出方式,适用于高频小功率直流负载③晶闸管输出为无触点输出方式,适用于高速大功率交流负载(二)特点①可靠性高、抗干扰能力强②编程简单、使用方便③设计、安装容易,维护工作量少④功能完善、通用性好,可实现三电一体化PLC将电控(逻辑控制)、电仪(过程控制)和电结(运动控制)这三电集于一体。
S7-300PLC编程技术及基本指令

S5T#是16位S5时间常数,格式为S5T#
aD_bH_cM_dS_eMS。其中a,b,c,d,e分别是日、
小时、分、秒和毫秒的数值。输入时可以省掉下划线,
例如S5T#4S30MS=4s30ms,S5T#2H15M30S=2小 时15分30秒。 • C#为计数器常数(BCD码),例如C#250。
状态字Biblioteka 7 边沿检测指令当信号状态变化时就产生跳变沿:从0变到1时,产生一个上升 跳变沿检测的方法是:在每个扫描周期(OB1循环扫描一周),把 当前信号状态和它在前一个扫描周期的状态相比较,若不同,则表 明有一个跳变沿。因此,前一个周期里的信号状态必须被存储,以 便能和新的信号状态相比较。 S7-300/400PLC有两种边沿检测指令:一种是对逻辑串操作 结果RLO的跳变沿检测的指令;另一种是对单个触点跳变沿检测的 指令。
包含在指令中,或者指令的操作数是惟一的。例如: SET AW W#16#117 // 将RLO置1 辑运算
//将常数W#16#117与累加器1进行“与”逻
L 43
//将整数43装入累加器1中
2 存储器直接寻址
存储器直接寻址的特点是直接给出操作数的存储
单元地址。例如
O I0.2
//对输入位I0.2进行“或”逻辑运
• 状态字用于表示CPU执行指令时所具有的状态。某些指令 可否执行或以何种方式执行可能取决于状态字中的某些位,指 令执行时也可能改变状态字中的某些位,可以用位逻辑指令或
字逻辑指令访问并检测状态字。状态字的结构如图所示。
•逻辑操作结果(RLO) 状态字的第1位称为逻辑操作结果(Result of Logic Operation, RLO)。该位存储逻辑操作指令或比较指令的结果。在逻辑串 中,RLO位的状态表示有关信号流的信息,RLO的状态为1,
西门子S7-300 400高级编程培训教材 STEP_7中的数据类型和变量

Byte n1)
Byte 1
Byte n+1
Byte 2
Byte n+2
Byte 3
...
l WORD, DWORD,...数据类型
Byte n1) Byte n+1
Word 1
Byte n+2
Byte n+2 1) n = 偶数
Byte 3 Word 2
...
多维数组
l 示例 ARRAY[1..2,1..3,1..2] OF BYTE
...
in Motor
UDT1
out
...
... .
.
A
#Motor.Enable
.
.
. .
STEP 7中的复杂数据类型
关键字
长度(位) 示DT例#99-06-14-12:14:55.0
DATE_AND_TIME
(日期和时间)
64
´This is a string´
STRING
8 * (字符数 +2) ´SIEMENS´
...
结构(STRUCT)的声明
示例: 数组 – 结构 – 数组的声明
DB6 "Declaration view"
DB6 "Data view"
存储器中STRUCT变量的存
储基本数据类型结构
复杂数据类型结构
7 1
Byte n1) Byte n+1 Byte n+2 Byte n+3 Byte n+4 Byte n+5 Byte n+6 Byte n+7 Byte n+8 Byte n+9
S7-300选型手册介绍

录 • 2013S7-3002概述S7-300• 模块化中型PLC 系统,满足中、小规模的控制要求• 各种性能的模块可以非常好地满足和适应自动化控制任务• 简单实用的分布式结构和通用的网络能力,使得应用十分灵活• 无风扇设计的结构,使用户的维护更加简便• 当控制任务增加时,可自由扩展• 大量的集成功能使它功能非常强劲SIPLUS S7-300• 用于恶劣环境条件下的PLC• 扩展温度范围从-25°C ~ 70°C• 适用于特殊的环境(污染空气中使用)• 允许短时冷凝以及短时机械负载的增加• S7-300采用经过认证的PLC 技术• 易于操作、编程、维护和服务• 特别适用于汽车工业、环境技术、采矿、化工厂、生产技术以及食品加工等领域• 低成本的解决方案更多信息,请参见:/siplus技术规范S7-300的通用技术规范防护等级IP20,符合 IEC 60 529环境温度• 水平安装0 ~ 60°C • 垂直安装0 ~ 40°C 相对湿度5 ~ 95%,无凝结(RH 等级 2,符合 IEC 61131-2)大气压795 ~ 1080 hPa 隔离• 24 V DC 电路测试电压 500 V DC • 230 V AC 电路测试电压 1460 V AC 电磁兼容性符合EMC 规程的要求噪声抑制,符合IEC 61000-6-2,测试符合:IEC 61000-4-2, 61000-4-3, IEC 61000-4-4,IEC 61000-4-5, IEC 61000-4-6辐射干扰符合EN 50081-2测试符合 EN 55011, A 级, 第1组机械等级• 振动,测试条件符合IEC 60068,Part 2-6/10 up 58 Hz ; 恒定振幅 0.075 mm ;58 ~ 150 Hz ;恒定加速度 1 g ;振动周期:在三个互相垂直轴的每个方向上,每根轴为 10 个振动周期。
最新西门子S7-300的基本数据类型

STEP7中的基本数据类型⑴位(BOOL)位数据的数据类型为BOOL(布尔)型,在软件编程中BOOL变量的值1和0常用英语单词TURE(真)和FALSE(假)来表示,对应二进制数中的“1”和“0”,常用于开关量的逻辑运算,存储空间为1位。
⑵字节(BYTE)字节数据长度为8位,数据格式为B#16#,B代表BYTE,表示数据长度为一个字节(8位),#16#表示十六进制,取值范围为B#16#0~B#16#FF。
⑶字(WORD)字数据长度为16位,这种数据可采用4种方法进行描述。
二进制:二进制的格式为2#,如2#101,取值范围为2#0~2#1111_1111_1111_1111,书写时每4位可用下划线隔开,也可直接表示为2#111111111111。
十六进制:十六进制的格式为W#16#,W代表WORD,表示数据长度为16位,#16#表示十六进制,数据取值范围为W#16#0~W #16#FFFF。
BCD码:BCD码的格式为C#,取值范围为C#0~C#999。
BCD 码是用4位二进制表示1位十进制数,4位二进制中的0000~1001组合分别表示十进制中的0~9,4位二进制中的1010~1111组合放弃不用。
BCD码的最高4位用来表示符号,十六位BCD码的取值范围为-999~+999。
在STEP7的数据格式中,BCD码的取值只取正值,与最高4位的符号无关。
无符号十进制数:无符号十进制数的格式为B#(×,×),取值范围为B#(0,0)~B#(255,255),无符号十进制数是用十进制的0~255对应二进制数中的0000_0000~1111_1111(8位),16位二进制数就需要两个0~255的数来表示,例如:B#(12,254)=2#0000_1100_1111_111012 254上面4种数据都是描述一个长度位16位的二进制数,无论你使用哪种方式都可以。
例如,如果想得到二进制数0000100110000111,可以使用2#0000_1001_1000_0111,也可以使用W#16#987,还可以使用C #987或者B#(9,135)。
西门子PLC编程举例

例
如果I0.0 = “1”,则ADD_R 方块激活。MD0 + MD4 相加的结果放入MD10 中。如果结果在浮点数的允 许范围之外或程序语句没有执行(I0.0 =“0”),则 输出Q4.0 置位。
六、 数据块指令
---(OPN) 打开数据块:DB 或DI
例
数据块10(DB10)被打开。接点地址(DBX0.0) 指的是数据块DB10 中包含的当前数据记录的数据 字节 0 的 0 位。该位的信号状态被赋值给输出 Q4.0。
七、 赋值指令P197
MOVE 赋值 例
如果 I0.0 = “1”,则执行指令。MW10 的内容被复 制到当前打开的数据块的数据字12中。 如果执行指令,则 Q4.0 为“1”。
参数 数据类型
EN
BOOL
ENO IN
BOOL 所有数据类型, 长度可为 8位、 16 位或 32 位
OUT
所有数据类型, 长度可为 8位、 16 位或 32 位
0 0 0 0CAFE
XXXXXXXX
L W#16#AFFE : : :
0 0 0 0AFFE
0 0 0 0CAFE
数据装入和传递(3)
程序
L MB 0
ACCU1内容
31
23
15
7
0
000000000000000000000000
MB0
装载
L MW 0
31
23
15
0000000000000000
MB0
第四章 S7-300指令系统 ——数字指令
要求: 1、了解S7-300编程软件STEP7的基本数据 类型。 2、了解S7-300系列PLC的各种数字指令 3、能编写简单程序。
西门子S7-300全教程第三章

第三章西门子PLC的指令系统3.1 S7-300/400的编程语言3.1.1 PLC编程语言的国际标准IEC 61131是PLC的国际标准,1992~1995年发布了IEC 61131标准中的1~4部分,我国在1995年11月发布了GB/T 15969-1/2/3/4(等同于IEC 61131-1/2/3/4)。
IEC 61131-3广泛地应用PLC、DCS和工控机、―软件PLC‖、数控系统、RTU等产品。
定义了5种编程语言1) 指令表IL(Instruction list):西门子称为语句表STL。
2) 结构文本ST(Structured text):西门子称为结构化控制语言(SCL)。
3) 梯形图LD(Ladder diagram):西门子简称为LAD。
4) 功能块图FBD (Function block diagram):标准中称为功能方框图语言。
5) 顺序功能图SFC(Sequential function chart):对应于西门子的S7 Graph。
3.1.2 STEP 7中的编程语言梯形图、语句表和功能块图是3种基本编程语言,可以相互转换。
1.顺序功能图(SFC) :STEP 7中的S7 Graph2.梯形图(LAD):直观易懂,适合于数字量逻辑控制。
―能流‖(Power flow)与程序执行的方向。
3. 语句表(STL):功能比梯形图或功能块图强。
4.功能块图(FBD):―LOGO!‖系列微型PLC使用功能块图编程。
5.结构文本(ST):STEP 7的S7 SCL(结构化控制语言)符合EN 61131-3标准。
SCL适合于复杂的公式计算、复杂的计算任务和最优化算法,或管理大量的数据等。
6.S7 HiGraph 编程语言图形编程语言S7 HiGraph 属于可选软件包,它用状态图(state graphs)来描述异步、非顺序过程的编程语言。
7.S7 CFC 编程语言可选软件包CFC(Continuous Function Chart,连续功能图)用图形方式连接程序库中以块的形式提供的各种功能。
s7-300的数据类型

S7-300的数据类型分以下三种:基本数据类型、复合数据类型和参数类型。
一、基本数据类型1、位(bit)常称为BOOL(布尔型),只有两个值:0或1。
如:I0.0,Q0.1,M0.0,V0.1等。
2、字节(Byte)一个字节(Byte)等于8位(Bit),其中0位为最低位,7位为最高位。
如:IB0(包括I0.0~I0.7位),QB0(包括Q0.0~Q0.7位),MB0,VB0等。
范围:00~FF(十进制的0~255)。
3、字(Word)相邻的两字节(Byte)组成一个字(Word),来表示一个无符号数,因此,字为16位。
如:IW0是由IB0和IB1组成的,其中I是区域标识符,W表示字,0是字的起始字节。
需要注意的是,字的起始字节(如上例中的“0”)都必须是偶数。
字的范围为十六进制的0000~FFFF(即十进制的0~65536)。
在编程时要注意,如果已经用了IW0,如再用IB0或IB1要特别加以小心。
4、双字(Double Word)相邻的两个字(Word)组成一个双字,来表示一个无符号数。
因此,双字为32位。
如:MD100是由MW100和MW102组成的,其中M是区域标识符,D表示双字,100是双字的起始字节。
需要注意的是,双字的起始字节(如上例中的“100”)和字一样,必须是偶数。
双字的范围为十六进制的0000~FFFFFFFF(即十进制的0~4294967295)。
在编程时要注意,如果已经用了MD100,如再用MW100或MW102要特别加以小心。
以上的字节、字和双字数据类型均为无符号数,即只有正数,没有负数。
5、16位整数(INT,Integer)整数为有符号数,最高位为符号位,1表示负数,0表示正数。
范围为-32768~32767。
6、32位整数(DINT,Double Integer)32位整数和16位整数一样,为有符号数,最高位为符号位,1表示负数,0表示正数。
范围为-2147483648~2147483647。
西门子S7-300 PLC基础与应用 第3版第3章 基本指令

输入位 输入字节 输入字 输入双字
在扫描循环期间,逻辑运算的结果存入输 出过程映像寄存器。在循环扫描结束 前,操作系统从输出过程映像寄存器 读出最终结果,并将其传送到数字量 输出模块,直接控制PLC外部的指示 灯、接触器、执行器等控制对象。
输出位 输出字节 输出字 输出双字
位存储器与PLC外部对象没有任何关系, 其功能类似于继电器控制电路中的中 间继电器,主要用来存储程序运算过 程中的临时结果,可为编程提供无数 量限制的触点,可以被驱动但不能直 接驱动任何负载。
页码: 2
西门子S7-300 PLC 基础与应用
第3章 基本逻辑指令的应用
指令的基本知识
1.指令的组成
指令是程序的最小独立单位,用户程序是由若干条 顺序排列的指令构成。指令一般由操作码和操作数组成, 其中的操作码代表指令所要完成的具体操作(功能), 操作数则是该指令操作或运算的对象。
例如,对于STL指令“A I0.0”,其中“A”是操作码, 表示该指令的功能是逻辑“与”操作;“I0.0”是操作 数,也就是数字量输入模块的第0字节的第0位;该指 令的功能就是对I0.0进行“与”操作。
存储位 存储字节 存储字 存储双字
寻址范围 0.0~65535.7
0~65535 0~65534 0~65532 0.0~65535.7 0~65535 0~65534 0~65532 0.0~255.7 0~255 0~254 0~252
标识符 I IB
IW ID Q QB QW QD M MB MW MD
S5T#0H_0M_10MS~ S5T#2H_46M_30S_0MS
示例 True L B#16#20 L 2#0000_0011_1000_0000 L W#16#0380 L C#896 L B#(10,10) L DW#16#0123_ABCD L B#(1,23,45,67) 'A'、'0'、',' L -23
S7-300中UDT与STRUCT型数据总结

UDT型说明:从数据类型的意义上说UDT并不被CPU所识别,而是在离线程序中自定义(组合)的数据类型。
S7程序的自定义数据类型并不能装载到S7 CPU中。
UDT是由递增的编辑器创建并编辑或由源文件的编译而生成。
当在块调用中进行变量传递时是不能将UDT作为内存地址区域来传递的。
因此推荐将传递的变量指定为字节数据类型并与其数据长度相一致,或者使用UDT 的符号名来定义IN, OUT 和IN_OUT参数,因为系统将自动生成相对应的地址。
下表介绍了如何创建和参数化UDT类型变量的过程。
我们将以两组各十台相同的电机为例。
UDT1对应这些电机的所有输入变量。
步骤在STEP 7项目中插入自定义数据类型。
如图01鼠标选中"block”文件夹并点击右键,再弹出菜单中选择命令〕nsert New Object > Data Type”。
打开DB1将变量数据类型定义为UDT1 (符号名"Motor”)。
例如图05所示:两个数组(ARRAY )变量,每组包括 10个以UDT1为数据类型的变量(编号1到10)。
口 File Edit Insert PLC Debug Vie 1/'-.1 Options Wind 二叫,Help □I 谢明卬 副 总|电|包| 加通15 \|例!《忸| 凶图05由于此例两组电机是独立的,所以在DB1中要为每一组电机创建数据结构。
例如第一组的数据结构定义为数据类型为UDT1的数 组“Array[1..10] ”,符号名为“Halle 1 Motor”。
6选择菜单命令"View > Data View”可显示所有DB1数据。
IFile Edit Insert PLC Debug ”1 日闷 Options Windn'.'\' Help口|⑪然圜副星[电| c|c|阿曲|曰、同| [□面里]图注意事项:在数据块中变量定义为UDT情况下只能对实际值进行编辑。
西门子讲义2PLC基础

信号接口就是可编程控制器与数控系统进行信息交互的媒体。信号接口中的信号内容是由CNC系统明确定义的。接口信号分为两类:PLC输入到NCK的信号和NCK输入给PLC的信号。
1PLC→NCK表示NCK(数控核心)接收PLC发出请求的输入信号。如控制方式(DB11.DBX0.2)、X轴控制使能(DB31.DBX2.1)等信号。这些信号对PLC而是输出信号,是可读可写的。其输出线圈地址不能重复。否则该信号地址状会出现不确定(除置位/复位输出线圈的地址可以重复之外)。
FC功能块:
FCO-FC255 西门子采用FCO-FC35
用户FC36-255
FB功能块:
FB0-FB255 西门子采用FBO-FB35
用户FB36-255
DB数据块:
DB1-DB399 西门子采用DBO-DB89
用户DB90-399
Systemblock要看S7-300/400系统功能说明书
数据类型
DB 数据块
OB组织块:西门子按需要定义好的,功能固化的。
OB1:主程序循环
OB10:时间中断,特定时间中断
OB35:循环中断,以固定间隔循环运行
OB40:硬件中断,来自不同模块(I/O模块、CPU 、FM模块)中断
OB100:启动块,CPU上电或热启动(Warm Restart)执行一次,
里面有初始化,清零或加使能等内容。
双字: DWORD ,32位。 如ID0 QD0 MD10 DB10. DBD10
双字数据:间隔4个字符,不能重叠,否则数据重复,赋值错误。
S7-300的块
OBorganizationblock 组织块(主程序块)
FC Function 功能(子程序)
第三章 S7-300数据类型

输出 模块
PLC的扫描过程
输
输
I0.0 Q4.1 M10.0 Q4.2 I0.1 I0.1 Q4.1 M10.0 Q4.2
输
入 映 像 寄 存 器
出 映 像 寄 存 器
输 出 锁 存 器
输 出 端 子
信号
入 端 子
驱动
输入刷新 输入刷新阶段
程序执行
输出刷新 输出刷新阶段
扫描周期
返回本节
过程映象
PII
执行ob1中的程序循环执行事件日期时间中断硬件中断等调用其他obfbfc输出模块ai01ai02q80块ob1循环监视时间的开始启动块ob100上电后执行一次从模块读信号状态并保存到过程映象区pii把过程映象输出表piq写到输出模块cpu循环输入模块循环程序执行plc的扫描过程信号输入端子输入映像寄存器i00q41q41q42i01m100i01q42m100输出映像寄存器输出锁存器输出端子驱动输入刷新输出刷新程序执行扫描周期输入刷新阶段输出刷新阶段返回本节过程映象字节0字节1字节2
用字指针;对于其他存储器则要使用双字指针。
返回上级
4.存储器间接寻址(2/3)
【例3-1】 存储器间接寻址的单字格式的指针寻址。
返回上级
4.存储器间接寻址(3/3)
位序
位序
存储器间接寻址的双字指针的格式如图所示。
31 24 23 16 15
8 31
80ຫໍສະໝຸດ 70000 0000
0000 0000
24
23
【例3-2】 存储器间接寻址的双字格式的指针寻址。
返回上级
5.寄存器间接寻址(1/4)
寄存器间接寻址,简称寄存器寻址。该寻址方式在指令 中通过地址寄存器和偏移量间接获取操作数,其中的地址寄 存器及偏移量必须写在方括号“[]”内。在S7-300中有两个地 址寄存器AR1和AR2,用地址寄存器的内容加上偏移量形成地 址指针,并指向操作数所在的存储器单元。地址寄存器的地 址指针有两种格式,其长度均为双字,指针格式如图所示。
西门子S7-300系列CPU 317-2DP技术数据

CPU 317-2DP6ES7317-2AJ10-0AB0SIMATIC S7-300, CPU 317-2DP产品状态硬件产品状态 01固件版本 V2.6所属程序包 STEP 7 从附带硬件更新的 V 5.2 + SP1 起电源电压额定值DC 24 V 是允许范围,下限 (DC) 20.4 V允许范围,上限 (DC) 28.8 V电源导线的外部保险装置(推荐)最小值 2 A耗用电流耗用电流(额定值) 850 mA耗用电流(空载),典型值 100 mA接通电流,典型值 2.5 AI²t 1 A²·s功率损失功率损失,典型值 4 W存储器工作存储器集成 512 Kibyte; 用于程序和数据可扩展否用于剩余数据模块的剩磁存储器大小 256 Kibyte电荷存储器插拔式 (MMC) 是插拔式 (MMC),最大值 8 MbyteMMC 上的数据管理(在上一次编程后),最小值 10 a缓冲存在是; 通过 MMC 担保(免维护)不带电池是; 程序和数据CPU/组件组件数量(总计) 2048; (DB、FC、FB、OB、SDB)可以通过安装的 MMC 减少可装载块的最大数量。
DB数量,最大值 2047; 数字范围:1 至 2047尺寸,最大值 64 KibyteFB数量,最大值 2048; 数字范围:0 至 2047尺寸,最大值 64 KibyteFC数量,最大值 2048; 数字范围:0 至 2047尺寸,最大值 64 KibyteOB尺寸,最大值 64 Kibyte可用循环 OB 数量 1; OB 1时间报警 OB 数量 1; OB 10延迟报警 OB 数量 2; OB 20、21闹铃报警数量 4; OB 32、33、34、35过程报警 OB 数量 1; OB 40DPV1 报警 OB 的数量 3; OB 55、56、57等时模式 Ob 数量 1; OB 61启动 OB 数量 1; OB 100异步错误 OB 数量 5; OB 80、82、85、86、87 同步错误 OB 数量 2; OB 121、122嵌套深度每个优先等级 16错误 OB 中的附加等级 4CPU-处理时间对于位运算,最小值0.05 µs对于词运算,最小值0.2 µs对于定点计算,最小值0.2 µs对于浮点计算,最小值 1 µs计数器、定时器及其剩磁S7 计数器数量 512剩磁可调整是下限 0上限 511已预设 Z 0 至 Z 7计数范围可调整是下限 0上限 999IEC 计数器存在是类型 SFB数量不限制(只通过 RAM 进行限制)S7 时间数量 512剩磁可调整是下限 0上限 511已预设无剩余时间范围下限 10 ms上限 9990 sIEC 计时器存在是类型 SFB数量不限制(只通过工作存储器进行限制)数据范围及其剩磁标记数量,最大值 4096 byte存在剩磁是; MB 0 至 MB 4095预设剩磁 MB 0 至 MB 15定时标记数量 8; 1 个标记字节数据组件数量,最大值 2047; 数字范围:1 至 2047 尺寸,最大值 64 Kibyte可调整剩磁是; 在 DB 中不保持特征预设剩磁是本地数据每个优先等级,最大值 1024 byte地址范围外设地址范围输入端 8192 byte输出端 8192 byte分布式输入端 8192 byte输出端 8192 byte过程映像输入端 2048 byte输出端 2048 byte输入端,可调整 2048 byte输出端,可调整 2048 byte输入端,已预设 256 byte输出端,已预设 256 byte分量过程映像分量过程映像数量,最大值 1数字通道输入端 65536输出端 65536输入端,其中集中式 1024输出端,其中集中式 1024模拟通道输入端 4096输出端 4096输入端,其中集中式 256输出端,其中集中式 256硬件扩展组件载体,最大值 4每个组件载体的组件,最大值 8DP 主站数量集成 2关于 CP 4可运行的 FM 和 CP 数量(建议)FM 8CP,点对点 8CP,LAN 10时间时钟硬件时钟(实时时钟)是可缓冲和同步是缓冲持续时间 6 wk; 当环境温度为40°C 时接通电源后时钟的显示在断开电源后,时钟仍继续运行缓冲后的时钟显示在断开电源时,时钟仍正常显示时间每日偏差,最大值 10 s运行时间计数器数量 4数字/数字条 0 至 3值域 0 至 2 的 31 次方小时(在使用 SFC 101 时)间隔尺寸 1 小时保留是; 每次重启时必须重新启动时间同步支持是在 MPI 上,主站是在 MPI 上,从站是在 DP 上,主站是; 在 DP 从站中只是从站时间在 DP 上,从站是在 AS 中,主站是在 AS 中,从站是在以太网上通过 NTP 否S7 消息功能消息功能的可注册站点数量,最大值 32; 取决于对 PG/OP 和 S7 基本通讯的组态连接过程诊断消息是同时间活动的报警 S 组件,最大值 60调试功能测试状态/控制变量状态/控制是变量输入、输出、标记、DB、计时器、计数器变量数量,最大值 30其中的变量状态,最大值 30其中的变量控制,最大值 14强制强制是组件状态是各个步骤是停止点数量 2诊断缓冲器存在是条目数量,最大值 100可调整否其中的停电保险 100通讯功能PG/OP 通讯是数据集路由否路由是全球数据通讯支持是GD 圈数量,最大值 8GD 包数量,最大值 8GD 包数量,发送器,最大值 8GD 包数量,接收器,最大值 8GD 包大小,最大值 22 byteGD 包大小(一致性),最大值 22 byteS7 基础通讯支持是每个任务的有效数据,最大值 76 byte每个任务的有效数据(一致性),最大值 76 byte; 76 字节(对于 X_SEND 或 X_RCV);64 字节(对于 X_PUT 或X_GET作为服务器)S7 通讯支持是作为服务器是作为客户端是; 关于 CP 和可装载 FB每个任务的有效数据,最大值 180 byte; 对于 PUT/GET每个任务的有效数据(一致性),最大值 160 byte; 作为服务器S5 兼容通讯支持是; 通过 CP 和可装载 FC连接数量全部 32可应用于 PG 通讯 31为 PG 通讯预留 1可调整用于 PG 通讯,最大值 31可用于 OP 通讯 31为 OP 通讯预留 1可调整用于 OP 通讯,最大值 31可应用于 S7 基本通讯 30预留用于 S7 基本通讯 0可调整用于 S7 基本通讯,最大值 30可用于路由 81. 接口接口类型集成 RS 485 接口物理组成 RS 485电势分离是接口处的电源供应(15 至 30 V DC),最大值 200 mA 功能性MPI 是DP 主站是DP 从站是点对点联结否MPI连接数量 32服务PG/OP 通讯是路由是全球数据通讯是S7 基础通讯是S7 通讯是S7 通讯,作为客户机否S7 通讯,作为服务器是传输速率,最大值 12 Mbit/sDP 主站服务PG/OP 通讯是路由是全球数据通讯否S7 基础通讯是; 仅智能块S7 通讯是S7 通讯,作为客户机否S7 通讯,作为服务器是等距离支持是SYNC/FREEZE 是激活/禁用 DP 从站是可同时激活/取消的 DP 从站数量,最大值 4DPV1 是传输速率,最大值 12 Mbit/sDP 从站数量,最大值 124DP 从站服务PG/OP 通讯是路由是; 只对于主动接口全球数据通讯否S7 基础通讯否S7 通讯是S7 通讯,作为客户机否S7 通讯,作为服务器是直接数据交换(横向连接)是DPV1 否传输速率,最大值 12 Mbit/s传输存储器输入端 244 byte输出端 244 byte地址范围,最大值 32每个地址范围的有效数据,最大值 32 byte2. 接口接口类型集成 RS 485 接口物理组成 RS 485电势分离是接口处的电源供应(15 至 30 V DC),最大值 200 mA 功能性MPI 否DP 主站是DP 从站是点对点联结否DP 主站连接数量,最大值 32服务PG/OP 通讯是路由是全球数据通讯否S7 基础通讯是; 仅智能块S7 通讯是S7 通讯,作为客户机否S7 通讯,作为服务器是等时模式是; OB 61SYNC/FREEZE 是激活/禁用 DP 从站是DPV1 是传输速率,最大值 12 Mbit/sDP 从站数量,最大值 124地址范围输入端,最大值 8096 byte输出端,最大值 8096 byte每个 DP 从站的有效数据输入端,最大值 244 byte输出端,最大值 244 byteDP 从站连接数量 32服务PG/OP 通讯是路由是; 在主动接口中全球数据通讯否S7 基础通讯否S7 通讯,作为客户机否S7 通讯,作为服务器是直接数据交换(横向连接)是DPV1 否GSD 文件您可以从以下网页中获得最新的 GSD文件:http://www.siemens.de/profibus-gsd 传输速率,最大值 12 Mbit/s自动波特率搜索是; 只对于被动接口传输存储器输入端 244 byte输出端 244 byte地址范围,最大值 32每个地址范围的有效数据,最大值 32 byteCPU/编程编程语言STEP 7 是; 从 V 5.2 SP 1 起附带硬件更新KOP 是FUP 是AWL 是SCL 是CFC 是GRAPH 是HiGraph® 是操作备用装置参见操作列表箝位层 8技术保护用户程序保护/密码保护是系统功能 (SFC) 参见操作列表系统功能组件 (SFB) 参见操作列表尺寸和重量尺寸宽度 80 mm高度 125 mm深度 130 mm重量重量,约 460 g。
S7-300PLC编程技术及基本指令

•溢出位(OV) • 状态字的第4位称为溢出位。当算术运算或浮点数比较指 令执行时出现错误(溢出、非法操作、不规范格式)时,OV位
被置1,如果执行结果正常,该位被清0。
条件码l(CCl)和条件码0(CC0) 状态字的第7位和第6位称为条件码1和条件码0。这两位结合 起来用于表示在累加器1中产生的算术运算结果与0的大小关系,
S7-300/400PLC编程技术及基本指令
编程语言与数据类型
1 编程语言
STEP-7是S7-300/400系列PLC的编程软件。 梯形图、语句表 (即指令表)和功能块图是标准的 STEP-7软件包配备的3种基本编程语言,这3种语言
可以在STEP-7中相互转换。
2 梯形图(LAD)
梯形图是使用得最多的PLC图形编程语言。梯形 图与继电器电路图很相似,具有直观易懂的优点, 特别适合于数字量逻辑控制。梯形图由触点、线圈 和用方框表示的指令框组成。触点代表逻辑输入条 件,例如外部的开关、按钮和内部条件等。线圈通 常代表逻辑运算的结果,常用来控制外部的指示灯、 交流接触器和内部的标志位等。指令框用来表示定 时器、计数器或者数学运算等附加指令。
4、中间输出
如图所示,中间输出指令被安置在逻辑串中间,用于将其前面 的位逻辑操作结果(即本位置的RLO值)保存到指定地址,所以 有时也称为“连接器”或“中间赋值元件”。它和其他元件串联 时,“连接器”指令和触点一样插入。连接器不能直接连接母线, 也不能放在逻辑串的结尾或分支结尾处。
5 置位指令、复位指令
= Q[AR1,P#0.2] //逻辑运算结果送Q5.2
L DBW[AR1,P#18.0] //将DBW23装入累加器
1
下面是区域间间接寻址的例子:
西门子S7-300的基本数据类型

STEP7中的基本数据类型⑴位(BOOL)位数据的数据类型为BOOL(布尔)型,在软件编程中BOOL变量的值1和0常用英语单词TURE(真)和FALSE(假)来表示,对应二进制数中的“1”和“0”,常用于开关量的逻辑运算,存储空间为1位。
⑵字节(BYTE)字节数据长度为8位,数据格式为B#16#,B代表BYTE,表示数据长度为一个字节(8位),#16#表示十六进制,取值范围为B#16#0~B#16#FF。
⑶字(WORD)字数据长度为16位,这种数据可采用4种方法进行描述。
二进制:二进制的格式为2#,如2#101,取值范围为2#0~2#1111_1111_1111_1111,书写时每4位可用下划线隔开,也可直接表示为2#111111111111。
十六进制:十六进制的格式为W#16#,W代表WORD,表示数据长度为16位,#16#表示十六进制,数据取值范围为W#16#0~W #16#FFFF。
BCD码:BCD码的格式为C#,取值范围为C#0~C#999。
BCD 码是用4位二进制表示1位十进制数,4位二进制中的0000~1001组合分别表示十进制中的0~9,4位二进制中的1010~1111组合放弃不用。
BCD码的最高4位用来表示符号,十六位BCD码的取值范围为-999~+999。
在STEP7的数据格式中,BCD码的取值只取正值,与最高4位的符号无关。
无符号十进制数:无符号十进制数的格式为B#(×,×),取值范围为B#(0,0)~B#(255,255),无符号十进制数是用十进制的0~255对应二进制数中的0000_0000~1111_1111(8位),16位二进制数就需要两个0~255的数来表示,例如:B#(12,254)=2#0000_1100_1111_111012 254上面4种数据都是描述一个长度位16位的二进制数,无论你使用哪种方式都可以。
例如,如果想得到二进制数0000100110000111,可以使用2#0000_1001_1000_0111,也可以使用W#16#987,还可以使用C #987或者B#(9,135)。
S7-300 PLC第3章 S7-300PLC的基本指令及应用

3.1.1 S7-300PLC的数据类型 1. 基本数据类型 (1)位(BIT):位数据的数据类型为BOOL(布
尔)型,在编程软件中BOOL变量的值1和0。位存 储单元的地址由字节地址和位地址组成这种存取方 式称为“字节.位”寻址方式。 (2)字节(BYTE):8位二进制数组成1个字节 (Byte),例如字节IB9由I9.0~I9.7这8位组成,其 中第0位为最低位(LSB),第7位为最高位 (MSB)。 (3)字(WORD):相邻两个字节组成一个字, 字用来表示无符号数。
3.CPU中的寄存器
S7-300 CPU的寄存器有32位累加器、16位状 态字寄存器、32位地址寄存器、32位数据块寄 存器、诊断缓冲区等。
(1)32位累加器
32位的累加器是用来处理字节、字和双字的寄 存器。S7-300有两个累加器(ACCU1和 ACCU2)。可以把操作数装人累加器并进行运 算和处理,保存在ACCU1中的运算结果可以传 送到系统存储器。 数据放在累加器的低端 (右对齐)。
(2)结构(STRCT):结构是将一组不同类 型的数据组合在一起,形成一个单元。可以用 基本数据类型、复杂数据类型(包括数组与结 构)和用户定义数据类型(UDT)作为结构中 的元素。
(3)字符串(STRING):字符串是最多有 254个字符的一维数组,每个字节存放一个字 符。
(4)日期和时间(DAE_AND_TIME):数据 类型日期和时间用于存储年、月、日、时、分、 秒、毫秒和星期,占用8个字节,用BCD格式 保存。第0~5个字节分别存储年、月、日、时、 分和秒,毫秒存储在第6字节和第7字节的高4 位,星期存放在第7字节的低4位。星期天的代 码为1,星期一至星期六的代码为2~7。
西门子S7-300SCL编程笔记(附实例)

西门子S7-300SCL编程笔记(附实例)1.数据类型:注:还有两种类型:P:POINTER(指针数据类型)。
A:ANY(任何类型)数组的定义:M1:ARRAY[n0..m0,n1..m1] OF INT;数组的类型2.寻址绝对寻址符号寻址如:DB10.setpoint'motor1data'.DW12间接寻址如:E[byteindex,bitindex]MB[byteindex]DB10.DW[byteindex]三.SCL运算符和表达式注:以上运算符的表达式基本大多和我们的数学表达式一样。
这里只讲解一下AND,XOR,OR指令。
如:a1:=a1 AND W#16#FFFFa1:=a1 XOR W#16#FFFFa1:=a1 OR MW10四.控制语句注意:当使用程序循环时,请确保不超过循环监测时间。
1. IF语句:IF 条件0THEN 语句0;ELSIF 条件1THEN 语句1;ELSIF 条件2ELSE 语句3;END_IF;2. CASE语句:'选择'内的值等于Const内的值就执行那个语句。
其它语句不执行,就执行END_CASE;CASE 选择 OFConst1:语句1;Const2:语句2;………Constn:语句n;END_CASE;3. FOR语句FOR 变量:=n0 TO n BY m DO…………………..;………………….;END_FOR;注意:这里的n为整型变量或整数值。
m为每循环加几。
4. WHILE语句:只要条件满足,程序循环就重复。
WHILE 条件 DO语句;END_WHILE;5. REPEAT语句:只要条件不满足,就重复程序循环。
REPEAT语句;UNTIL 条件;END_REPEAT;6. CONTINUE语句:在FOR, WHILE, REPEAT循环中终止当前程序通道。
7. EXIT语句:在FOR, WHILE, REPEAT循环中终止所有程序通道。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
STEP7中的基本数据类型
⑴位(BOOL)
位数据的数据类型为BOOL(布尔)型,在软件编程中BOOL变量的值1和0常用英语单词TURE(真)和FALSE (假)来表示,对应二进制数中的“1”和“0”,常用于开关量的逻辑运算,存储空间为1位。
⑵字节(BYTE)
字节数据长度为8位,数据格式为B#16#,B代表BYTE,表示数据长度为一个字节(8位),#16#表示十六进制,取值范围为B#16#0~B#16#FF。
⑶字(WORD)
字数据长度为16位,这种数据可采用4种方法进行描述。
二进制:二进制的格式为2#,如2#101,取值范围为2#0~2#1111_1111_1111_1111,书写时每4位可用下划线隔开,也可直接表示为2#111111111111。
十六进制:十六进制的格式为W#16#,W代表WORD,表示数据长度为16位,#16#表示十六进制,数据取值范围为W#16#0~W#16#FFFF。
BCD码:BCD码的格式为C#,取值范围为C#0~C #999。
BCD码是用4位二进制表示1位十进制数,4位二进制中的0000~1001组合分别表示十进制中的0~9,4位二进制中的1010~1111组合放弃不用。
BCD码的最高4位用来
表示符号,十六位BCD码的取值范围为-999~+999。
在STEP7的数据格式中,BCD码的取值只取正值,与最高4位的符号无关。
无符号十进制数:无符号十进制数的格式为B#(×,×),取值范围为B#(0,0)~B#(255,255),无符号十进制数是用十进制的0~255对应二进制数中的
0000_0000~1111_1111(8位),16位二进制数就需要两个0~255的数来表示,例如:
B#(12,254)=2#0000_1100_1111_1110
12254
上面4种数据都是描述一个长度位16位的二进制数,无论你使用哪种方式都可以。
例如,如果想得到二进制数0000100110000111,可以使用2#0000_1001_1000_0111,也可以使用W#16#987,还可以使用C#987或者B#(9,135)。
在STEP7中,比较常用的是十六进制,即W#16#这种格式。
⑷双字(DOUBLE WORD)
数据长度为32位,双字的数据格式与字的数据格式相同,也有4种方式,分别为:
二进制:取值范围为2#0~2#
1111_1111_1111_1111_1111_1111_1111_1111。
十六进制:取值范围为DW#16#0~DW#16#
FFFF_FFFF。
BCD码:取值范围为C#0~C#9999999。
无符号十进制数:取值范围为B#(0,0,0,0)~B#(255,255,255,255)。
⑸整数(INT)
整数数据类型长度为16位,数据格式为带符号十进制数,16位中最高为符号位。
正整数是以原码格式进行存储的,如+786,对应的二进制码为2#0000_0011_0001_0010,而负整数则表示为正整数的二进制补码,即对应正整数的二进制码取反后加1,例如负整数-786,对应的二进制码为2#
1111_1100_1110_1110。
将负零(1000_0000_0000_0000)定义为-32768因此取值范围为-32768~32767。
0表示正,1表示负。
⑹双整数(DOUBLE INT)
双整数的数据类型长度为32位,数据格式为带符号十进制数,用L#表示双整数。
双整数的二进制码与整数的换算方式一致,其取值范围为L#-2147483648~L#2147483647。
⑺实数(REAL也叫浮点数Float)
实数的数据类型长度为32位,是以IEEE浮点数格式转换为二进制数存储的,其取值范围为±3.402823e+38~±
1.1755494e-38。
实数用1.m×2E例如123.4可表示为1.234×102。
式中:指数E=e-127(1≤e≤254)为8位整数
符号位(S):S=0为正值S=1为负值
上面的浮点数中:
S=0
指数:30位=127
29位=026
28位=025
27位=024
26位=023
25位=022
24位=121
23位=020
e=27+21=128+2=130
E=e-127=130-127=3
尾数m:22位=12-1
21位=02-2
20位=02-3
19位=02-4
18位=12-5
m=2-1+2-5=0.5+0.03125=0.53125
浮点数值=(1+0.53125)×23=1.53125×8=12.25
用很小的存储空间(4个字节),可以表示非常大或非常小的数,PLC的输入和输出的数值大多是整数,实数的运算速度比整数的慢。
(8)S5TIME(SIMATIC时间)
S5TIME时间数据类型长度为16位,包括时基和时间常数两部分,时间常数采用BCD码(二~十进制格式)。
S5TIME 时间数据类型结构如下图所示:
(9)IEC时间(TIME)
IEC时间数据长度为32位,时基为固定值1ms,数据类型为双整数,所表示的时间值为整数值乘以时基。
格式为:
T#aaD_bbH_ccM_ddS_eeeMS
其中aa=天数,bb=小时数,cc=分钟,dd=秒,eee=毫秒。
根据双整数的最大值为2147483647,乘以时基1ms,可以算出,IEC时间的最大值为T#24D_20H_31M_23S_648Ms。
使用IEC时间时,时基保持不变,且精度较高,为1ms。
(10)IEC日期(DATE)
IEC日期数据长度为16位,数据类型为整数,以1日为单位,日期从1990年1月1日开始,1990年1月1日对应的整数为0,日期每增加一天,对应的整数值加1,如23,对应1990年1月22日。
IEC日期格式为D#_年_月_日,例如D#1992_12_2。
取值范围为D#1990_1_1~D#2163_12_31。
(11)日计时(TIME_OF_DAY)
日计时是表示一天中的24小时,数据长度为32位,数据类型为双整数,以1ms为时基,取值范围为TOD#0∶0∶0∶0~TOD#23∶59∶59.999。
(12)字符(CHAR)
字符数据的长度为8位,字符采用ASCII码的存储方式。