step7编程语言与指令DOCWord下载.docx

上传人:b****2 文档编号:975990 上传时间:2023-04-29 格式:DOCX 页数:19 大小:160.68KB
下载 相关 举报
step7编程语言与指令DOCWord下载.docx_第1页
第1页 / 共19页
step7编程语言与指令DOCWord下载.docx_第2页
第2页 / 共19页
step7编程语言与指令DOCWord下载.docx_第3页
第3页 / 共19页
step7编程语言与指令DOCWord下载.docx_第4页
第4页 / 共19页
step7编程语言与指令DOCWord下载.docx_第5页
第5页 / 共19页
step7编程语言与指令DOCWord下载.docx_第6页
第6页 / 共19页
step7编程语言与指令DOCWord下载.docx_第7页
第7页 / 共19页
step7编程语言与指令DOCWord下载.docx_第8页
第8页 / 共19页
step7编程语言与指令DOCWord下载.docx_第9页
第9页 / 共19页
step7编程语言与指令DOCWord下载.docx_第10页
第10页 / 共19页
step7编程语言与指令DOCWord下载.docx_第11页
第11页 / 共19页
step7编程语言与指令DOCWord下载.docx_第12页
第12页 / 共19页
step7编程语言与指令DOCWord下载.docx_第13页
第13页 / 共19页
step7编程语言与指令DOCWord下载.docx_第14页
第14页 / 共19页
step7编程语言与指令DOCWord下载.docx_第15页
第15页 / 共19页
step7编程语言与指令DOCWord下载.docx_第16页
第16页 / 共19页
step7编程语言与指令DOCWord下载.docx_第17页
第17页 / 共19页
step7编程语言与指令DOCWord下载.docx_第18页
第18页 / 共19页
step7编程语言与指令DOCWord下载.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

step7编程语言与指令DOCWord下载.docx

《step7编程语言与指令DOCWord下载.docx》由会员分享,可在线阅读,更多相关《step7编程语言与指令DOCWord下载.docx(19页珍藏版)》请在冰点文库上搜索。

step7编程语言与指令DOCWord下载.docx

“LOGO!

”系列微型PLC使用功能块图编程。

5.结构文本(ST):

STEP7的S7SCL(结构化控制语言)符合EN61131-3标准。

SCL适合于复杂的公式计算、复杂的计算任务和最优化算法,或管理大量的数据等。

6.S7HiGraph编程语言

图形编程语言S7HiGraph属于可选软件包,它用状态图(stategraphs)来描述异步、非顺序过程的编程语言。

7.S7CFC编程语言

可选软件包CFC(ContinuousFunctionChart,连续功能图)用图形方式连接程序库中以块的形式提供的各种功能。

8.编程语言的相互转换与选用

在STEP7编程软件中,如果程序块没有错误,并且被正确地划分为网络,在梯形图、功能块图和语句表之间可以转换。

如果部分网络不能转换,则用语句表表示。

语句表可供喜欢用汇编语言编程的用户使用。

语句表的输入快,可以在每条语句后面加上注释。

设计高级应用程序时建议使用语句表。

梯形图适合于熟悉继电器电路的人员使用。

设计复杂的触点电路时最好用梯形图。

功能块图适合于熟悉数字电路的人使用。

S7SCL编程语言适合于熟悉高级编程语言(例如PASCAL或C语言)的人使用。

S7Graph,HiGraph和CFC可供有技术背景,但是没有PLC编程经验的用户使用。

S7Graph对顺序控制过程的编程非常方便,HiGraph适合于异步非顺序过程的编程,CFC适合于连续过程控制的编程。

3.2S7-300/400CPU的存储区

3.2.1数制

1.二进制数

二进制数的1位(bit)只能取0和1这两个不同的值,用来表示开关量的两种不同的状态。

该位的值与线圈、触点的关系。

ON/OFF,TURE/FALSE。

二进制常数:

2#1111_0110_1001_0001。

2.十六进制数

十六进制的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。

3.BCD码

BCD码用4位二进制数表示一位十进制数,十进制数9对应的二进制数为1001。

最高4位用来表示符号,16/32位BCD码的范围。

BCD码实际上是十六进制数,但是各位之间逢十进一。

296对应的BCD码为W#16#296,或2#0000001010010110。

2#0000000100101000对应的十进制数也是296,对应的十进制数为

3.2.2基本数据类型

1.位(bit):

位数据的数据类型为BOOL(布尔)型。

I3.2的意义。

2.字节(Byte)

3.字(Word)表示无符号数。

取值范围为W#16#0000~W#16#FFFF。

4.双字(DoubleWord)表示无符号数。

范围DW#16#0000_0000~DW#16#FFFF_FFFF。

5.16位整数(INT,Integer)是有符号数,补码。

最高位为符号位,为0时为正数,取值范围为32768~32767。

6.32位整数(DINT,DoubleInteger)最高位为符号位,取值范围为

2147483648~2147483647。

图3-6字节、字和双字

7.32位浮点数

浮点数又称实数(REAL),表示为1.m

,例如123.4可表示为1.234

根据ANSI/IEEE标准

浮点数=1.m

式中指数e=E+127(1≤e≤254),为8位正整数。

ANSI/IEEE标准浮点数占用一个双字(32位)。

因为规定尾数的整数部分总是为1,只保留尾数的小数部分m(0~22位)。

浮点数的表示范围为±

1.175495

~±

3.4028231038。

图3-7浮点数的结构

用很小的存储空间(4个字节)可以表示非常大和非常小的数。

PLC输入和输出的数值大多是整数,浮点数的运算速度比整数运算的慢。

L#为32位双整数常数,例如L#+5。

P#为地址指针常数,例如P#M2.0是M2.0的地址。

S5T#是16位S5时间常数,格式为S5T#aD_bH_cM_dS_eMS。

S5T#4S30MS=4s30ms,取值范围为S5T#0~S5T#2H_46M_30S_0MS(9990s),时间增量为10ms。

C#为计数器常数(BCD码),例如C#250。

8位ASCII字符用单引号表示,例如‘ABC’。

T#为带符号的32位IEC时间常数,例如T#1D_12H_30M_0S_250MS,时间增量为1ms。

DATE是IEC日期常数,例如D#2004-1-15。

取值范围为D#1990-1-1~D#2168-12-31。

TOD#是32位实时时间(Timeofday)常数,时间增量为1ms,例如TOD#23:

50:

45.300。

B(b1,b2)B(b1,b2,b3,b4)用来表示2个字节或4个字节常数。

3.2.3复合数据类型与参数类型

1.复合数据类型

通过组合基本数据类型和复合数据类型可以生成下面的数据类型:

(1)数组(ARRAY)将一组同一类型的数据组合在一起,形成一个单元。

(2)结构(STRUCT)将一组不同类型的数据组合在一起,形成一个单元。

(3)字符串(STRING)是最多有254个字符(CHAR)的一维数组。

(4)日期和时间(DATE_AND_TIME)用于存储年、月、日、时、分、秒、毫秒和星期,占用8个字节,用BCD格式保存。

星期天的代码为1,星期一~星期六的代码为2~7。

例如DT#2004-07-15-1230:

15.200为2004年7月15日12时30分15.2秒。

(5)用户定义的数据类型UDT(user-defineddatatypes)。

在数据块DB和逻辑块的变量声明表中定义复合数据类型。

2.参数类型

为在逻辑块之间传递参数的形参(formalparameter,形式参数)定义的数据类型:

(1)TIMER(定时器)和COUNTER(计数器):

对应的实参(actualparameter,实际参数)应为定时器或计数器的编号,例如T3,C21。

(2)BLOCK(块):

指定一个块用作输入和输出,实参应为同类型的块。

(3)POINTER(指针):

指针用地址作为实参。

例如P#M50.0。

(3)ANY:

用于实参的数据类型未知或实参可以使用任意数据类型的情况,占10个字节。

3.2.5系统存储器

1.过程映像输入/输出(I/Q)

在扫描循环开始时,CPU读取数字量输入模块的输入信号的状态,并将它们存入过程映像输入(processimageinput,PII)中。

在扫描循环中,用户程序计算输出值,并将它们存入过程映像输出表(processimageoutput,PIQ)。

在循环扫描结束时将过程映像输出表的内容写入数字量输出模块。

I和Q均以按位、字节、字和双字来存取,例如I0.0,IB0,IW0和ID0。

与直接访问I/O模块相比的优缺点。

2.内部存储器标志位(M)存储器区

3.定时器(T)存储器区

时间值可以用二进制或BCD码方式读取。

4.计数器(C)存储器区

计数值(0~999)可以用二进制或BCD码方式读取。

5.共享数据块(DB)与背景数据块(DI)

DB为共享数据块,DBX2.3,DBB5,DBW10和DBD12。

DI为背景数据块,DIX,DIB,DIW和DID。

6.外设I/O区(PI/PO)

外设输入(PI)和外设输出(PQ)区允许直接访问本地的和分布式的输入模块和输出模块。

可以按字节(PIB或PQB)、字(PIW或PQW)或双字(PID或PQD)存取,不能以位为单位存取PI和PO。

3.2.6CPU中的寄存器

1.累加器(ACCUx)

累加器用于处理字节、字或双字的寄存器。

S7-300有两个32位累加器(ACCU1和ACCU2),S7-400有4个累加器(ACCU1~ACCU4)。

数据放在累加器的低端(右对齐)。

2.状态字寄存器(16位)

首次检测位/FC,逻辑运算结果(RLO);

状态位STA不能用指令检测;

OR位暂存逻辑“与”的操作结果(先与后或);

算术运算或比较指令执行时出现错误,溢出位OV被置1。

OV位被置1时溢出状态保持位OS位也被置1,OV位被清0时OS仍保持为1,用于指明前面的指令执行过程中是否产生过错误。

条件码1(CC1)和条件码0(CCO)综合起来用于表示在累加器1中产生的算术运算或逻辑运算的结果与0的大小关系、比较指令的执行结果或移位指令的移出位状态。

二进制结果位(BR)在一段既有位操作又有字操作的程序中,用于表示字操作结果是否正确。

在梯形图的方框指令中,BR位与ENO有对应关系,用于表明方框指令是否被正确执行:

如果执行出现了错误,BR位为0,ENO也为0;

如果功能被正确执行,BR位为1,ENO也为1。

图3-9状态字的结构

3.数据块寄存器:

DB和DI寄存器分别用来保存打开的共享数据块和背景数据块的编号。

3.3位逻辑指令

位逻辑指令用于二进制数的逻辑运算。

位逻辑运算的结果简称为RLO。

3.3.1触点指令

1.触点与线圈

A(And,与)指令来表示串联的常开触点。

O(Or,或)指令来表示并联的常开触点。

AN(AndNot,与非)来表示串联的常闭触点,

ON(OrNot)来表示并联的常闭触点。

输出指令“=”将RLO写入地址位,与线圈相对应。

L20.0是局域变量。

将梯形图转换为语句表时,局域变量L20.0是自动分配的。

A(

AI0.0

ANI0.1

OI0.2

AI0.3

ONC5

=L20.0

AL20.0

=Q4.3

=Q4.4

ANI3.4

=Q4.6

2.取反触点

3.电路块的串联和并联

4.中线输出指令下面是图3-14(b)中第一行对应的语句表。

AI0.0

ANI0.1

=M0.1

AM0.1

AI0.3

=Q4.3

Network1:

AI0.3

AI0.0

FP

=Q4.5

Network2:

AI0.0

FN

=Q4.3

AI0.4

BLD100

FNM0.1

=Q4.5

【例3-1】设计故障信息显示电路,故障信号I0.0为1使Q4.0控制的指示灯以1Hz的频率闪烁。

操作人员按复位按钮I0.1后,如果故障已经消失,指示灯熄灭。

如果没有消失,指示灯转为常亮,直至故障消失。

设置CPU的属性时,在“Cycle/ClockMemory”标签页令M1为时钟存储器字节,其中的M1.5提供周期为1s的时钟脉冲。

SET与CLR(Clear)指令将RLO(逻辑运算结果)置位或复位,紧接在它们后面的赋值语句中的地址将变为1状态或0状态。

SET//将RLO置位

=M0.2//M0.2的线圈“通电”

CLR//将RLO复位

=Q4.7//Q4.7的线圈“断电”

3.4.1定时器指令

在CPU内部,时间值以二进制格式存放,占定时器字的0~9位。

可以按下列的形式将时间预置值装入累加器的低位字:

(1)十六进制数W#16#wxyz,其中的w是时间基准,xyz是BCD码形式的时间值。

(2)S5T#aH_bM_cS_Dms,例如S5T#18S。

时基代码为二进制数00,01,10和11时,对应的时基分别为10ms,100ms,1s和10s。

6.脉冲定时器

类似于上升沿触发的单稳态电路。

S5脉冲定时器(PulseS5Timer),S为设置输入端,TV为预置值输入端,R为复位输入端;

Q为定时器位输出端,BI输出不带时基的十六进制格式,BCD输出BCD格式的当前时间值和时基。

定时器中的S,R,Q为BOOL(位)变量,BI和BCD为WORD(字)变量,TV为S5TIME量。

各变量均可以使用I,Q,M,L,D存储区,TV也可以使用定时时间常数S5T#。

AI1.2

FRT0//允许定时器T0再起动

AI0.0

LS5T#2s//预置值2s送入累加器1

SPT0//启动T0

AI0.1

RT0//复位T0

LT0//将T0的十六进制时间当前值装入累加器1

TMW10//将累加器1的内容传送到MW10

LCT0//将T0的BCD时间当前值装入累加器1.

TMW12//将累加器1的内容传送到MW12

AT0//检查T0的信号状态

=Q4.0//T0的定时器位为1时,Q4.0的线圈通电

仅在语句表中使用的FR指令允许定时器再起动,即控制FR的RLO(I1.2)由0变为1状态时,重新装入定时时间,定时器又从预置值开始定时。

再起动只是在定时器的起动条件满足(图3-28中的I0.1=1)时起作用。

该指令可以用于所有的定时器,但是它不是起动定时器定时的必要条件。

8.扩展的脉冲定时器

10.接通延时定时器

12.保持型接通延时定时器

14.断开延时定时器线圈

3.4.2计数器指令

1.计数器的存储器区

每个计数器有一个16位的字和一个二进制位。

计数器字的0~11位是计数值的BCD码,计数值的范围为0~999。

二进制格式的计数值只占用计数器字的0~9位。

下面是图3-44中左边的电路对应的语句表:

AI0.0//在I0.0的上升沿

CUC10//加计数器C10的当前值加1

BLD101

AI0.2//在I0.2的上升沿

LC#6//计数器的预置值6被装入累加器的低字

SC10//将预置值装入计数器C10

AI0.3//如果I0.3为1

RC10//复位C10

LC10//将C10的二进制计数当前值装入累加器1

TMW0//将累加器1的内容传送到MW0

LCC10//将C10的BCD计数当前值装入累加器1

TMW8//将累加器1的内容传送到MW8

AC10//如果C10的当前值非0

=Q5.0//Q5.0为1状态

设置计数值线圈SC(SetCounterValue)用来设置计数值,在RLO的上升沿预置值被送入指定的计数器。

CU的线圈为加计数器线圈。

在I0.0的上升沿,如果计数值小于999,计数值加1。

复位输入I0.3为1时,计数器被复位,计数值被清0。

计数值大于0时计数器位(即输出Q)为1;

计数值为0时,计数器位亦为0。

在减计数输入信号CD的上升沿,如果计数值大于0,计数值减1。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

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

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