S应用教程 廖常初_第1页
S应用教程 廖常初_第2页
S应用教程 廖常初_第3页
S应用教程 廖常初_第4页
S应用教程 廖常初_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

会计学1S应用教程廖常初3.1.2STEP7中的编程语言1.梯形图(LAD):直观易懂,适合于数字量逻辑控制。2.语句表(STL):功能比梯形图强,类似于51系列单片机的汇编语言。3.功能块图(FBD):国内很少使用。以上是3种基本编程语言,可以相互转换。4.顺序功能图(S7Graph),适应于顺序控制过程。5.结构化控制语言(SCL):适合于复杂的计算,或管理大量的数据等。以上对应于IEC6113-3的5种编程语言。6.S7HiGraph:用状态图(stategraphs)描述异步、非顺序过程。7.S7CFC:连续功能图,适于连续过程控制的编程。第1页/共34页第2页/共34页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位,W#16#23AF。3.BCD码BCD码用4位二进制数表示一位十进制数,各位之间逢十进一。最高4位用来表示符号,16位BCD码的范围:–999~+999。十进制数123对应的BCD码为W#16#123,或2#0000000100100011。因为运算规则是逢16进1,十六进制数W#16#123对应的十进制数为W#16#123=1×162+2×161+3=291。第3页/共34页3.2.2基本数据类型1.位(bit):BOOL型,例如I3.2,2#0,TRUE。2.字节(Byte):例如QB0,B#16#3A。3.字(Word):16位无符号数,例如W#16#13AF。4.双字(DWord):32位无符号数。例如DW#16#35AF023C。5.整数(INT,Integer):16位有符号数,补码,最高位为符号位。6.32位整数(DINT,DoubleInteger)有符号数,补码。最高位为符号位。第4页/共34页7.32位浮点数浮点数又称实数(REAL),可表示为1.m2E

,指数E是有符号数。ANSI/IEEE标准浮点数=1.m2e,e=E+127(1≤e≤254,8位正整数)。STEP7中用小数表示浮点数。ANSI/IEEE标准浮点数占用一个双字(32位)。因为规定尾数的整数部分总是为1,只保留尾数的小数部分m(第0~22位)。浮点数的表示范围为±1.17549510-38

~±3.4028231038。L#为32位双整数常数,例如L#+5。P#为地址指针常数,例如P#M2.0是M2.0的地址。S5T#是16位S5时间常数,格式为S5T#aD_bH_cM_dS_eMS。取值范围为S5T#0S~9990S。T#为32位IEC时间常数。只能用于语句表。C#为计数器常数(BCD码),例如C#250。8位ASCII字符用单引号表示,例如‘ABC’。IEC日期常数:例如D#2004-1-15。TOD#是32位实时时间(Timeofday)常数,例如TOD#23:50:45.300。第5页/共34页3.2.3系统存储器1.过程映像输入/输出(I/Q),批量输入、批量输出。2.内部存储器标志位(M)存储器区3.定时器(T)存储器区:时间值可以用二进制或BCD码方式读取。4.计数器(C)存储器区:计数值可以用二进制或BCD码方式读取。5.共享数据块(DB)与背景数据块(DI)DB为共享数据块,DB2.DBX2.3、DBB5、DBW10和DBD12。DI为背景数据块,DIX3.5、DIB2、DIW4和DID6。6.外设I/O区(PI/PO)外设输入(PI)和外设输出(PQ)区直接访问本地的和分布式输入模块和输出模块。不能以位为单位访问。I、Q、M、DB均可以按位、字节、字和双字来存取,例如I0.0、IB0、IW0和ID0。3.2.4CPU中的寄存器1.累加器(ACCUx)S7-300有两个32位累加器(ACCU1和ACCU2),S7-400有4个累加器(ACCU1~ACCU4)。字节和字放在累加器的低端(右对齐)。2.状态字寄存器(16位)第6页/共34页首次检测位一般不用。RLO:逻辑运算结果。状态位STA与位逻辑指令中的位的状态相同。OR位暂存逻辑“与”的操作结果,以便进行后面的逻辑“或”运算。溢出位OV:算术运算或比较指令执行时出现错误,OV被置1。溢出状态保持位OS:用于保存OV位。条件码1(CC1)和条件码0(CC0):用于表示算术运算或逻辑运算的结果与0的大小关系、比较指令的执行结果或移位指令的移出位状态。二进制结果位BR:对应于梯形图中的ENO输出的能流。如果功能被正确执行,BR位与ENO均为1;执行出错时BR位为0。3.数据块寄存器:DB和DI寄存器分别用来保存打开的共享数据块和背景数据块的编号。第7页/共34页3.3位逻辑指令位逻辑指令用于二进制数的逻辑运算,位逻辑运算的结果简称为RLO。3.3.1触点指令1.触点与线圈A(And,与)指令:串联的常开触点。O(Or,或)指令:并联的常开触点。AN(AndNot,与非)指令:串联的常闭触点。ON(OrNot,或非)指令:并联的常闭触点。赋值(输出)指令“=”将RLO写入地址位,与线圈相对应。运算优先级:先“与”后“或”。A(A I0.0AN I0.1O I0.2)A I0.3= L20.0A L20.0= Q4.3A L20.0AN I3.4= Q4.6第8页/共34页4.中线输出指令A I0.0AN I0.1= M0.1A M0.1A I0.3= Q4.3第9页/共34页POS与NEG相当于一个触点,检测方框上面的元件的边沿。M0.0为边沿存储位,用于保持上一扫描周期的状态。【例3-1】设计故障信息显示电路,故障信号I0.0为1时Q4.0控制的指示灯以1Hz的频率闪烁。操作人员按复位按钮I0.1后,如果故障已经消失,指示灯熄灭。如果没有消失,指示灯转为常亮,直至故障消失。第10页/共34页SET与CLR(Clear)指令将RLO置位或复位,紧接在它们后面的赋值语句中的地址将变为1状态或0状态。SET //将RLO置位=M0.2 //M0.2的线圈“通电”CLR //将RLO复位=Q4.7 //Q4.7的线圈“断电”3.4定时器与计数器指令3.4.1定时器指令

时间基准代码为00、01、10和11时,对应10ms、100ms、1s和10s。可以按下列的形式将时间预置值装入累加器的低位字:(1)直接装入上图格式的十六进制数。(2)S5T#aHbMcSdMS,S5T#18S,S5T#1800S。第11页/共34页3.脉冲定时器脉冲定时器相当于上升沿触发的单稳态电路。定时期间当前值不断减1。每种定时器有两种表示方式。设置输入端S:在其上升沿将设定值写入当前值寄存器。TV:预置值输入端;R:复位输入端;Q:定时器位输出端BI:输出不带时基的十六进制格式BCD:输出BCD格式的当前时间值和时基。各变量均可以使用I、Q、M、L、D存储区。第12页/共34页4.扩展的脉冲定时器起动信号脉冲宽度可以比定时时间短5.接通延时定时器第13页/共34页6.保持型接通延时定时器起动信号脉冲宽度可以比定时时间短,不能用线圈断电的方法复位,必须用复位信号来复位。7.断开延时定时器图3-46冲水控制电路

第14页/共34页3.4.2计数器指令1.计数器的存储器区每个计数器有一个16位的字和一个二进制位。计数值的范围为0~999。CU:加计数脉冲输入;S:其上升沿将计数器的预置值装入累加器的低字;PV:预置值;Q:位输出;CV:二进制计数当前值;CV_BCD:十进制计数当前值。设置计数值线圈SC输入的上升沿,预置值被送入指定的计数器。CU线圈为加计数线圈,在I0.0的上升沿,如果计数值小于999,计数值加1。R为复位线圈。计数值大于0时计数器位(即输出Q)为1;计数值为0时,计数器位亦为0。第15页/共34页在减计数输入信号CD的上升沿,如果计数值大于0,计数值减1。计数值大于0时计数器位(即输出Q)为1;第16页/共34页3.5数据处理指令3.5.1装入指令与传送指令1.装入指令与传送指令装入(L,Load)指令将源操作数装入累加器1,而累加器1原有的数据移入累加器2。传送(T,Transfer)指令将累加器1中的内容写入目的存储区中,累加器1的内容不变。装入与传送指令可以对字节、字、双字数据迸行操作。寻址方式是指令取得操作数的方式。T#2S只能用于语句表,S5T#2S可用于指令表和梯形图。2.立即寻址的装入与传送指令立即寻址的操作数直接在指令中,下面是使用立即寻址的例子。L 35 L L#5 L W#16#3E4F L 2#0001_1001_1110_0010 L 25.38 L ‘ABCD’ L T#1M20S L S5T#2S L TOD#12:30:3.0 L D#2004-2-3 L C#50 L P#M5.6 第17页/共34页3.直接寻址的装入与传送指令直接寻址在指令中直接给出存储器或寄存器的区域、长度和位置:4.存储器间接寻址在存储器间接寻址指令中,给出一个作地址指针的存储器,该存储器的内容是操作数所在存储单元的地址。定时器(T)、计数器(C)、数据块(DB)、功能块(FB)和功能(FC)的编号范围小于65535,使用字指针。其它地址使用双字指针,其中第0~2位(xxx)为被寻址地址中位的编号(0~7),第3~18位为被寻址地址的字节的编号(0~65535)。访问一个字、宇节或双字存储器时,指针的位编号应为0,例如P#Q20.0。L P#4.0 T DBD 10L QB[DBD10] //QB4的地址指针在双字DBD10中L P#4.3 T LD 4A M[LD4] //存储器位M4.3的地址指针在双字LD4中P#4.0的值为2#00000000000000000000000000100000。P#4.3的值为2#00000000000000000000000000100011。第18页/共34页5.寄存器间接寻址地址寄存器AR1和AR2的内容加上偏移量形成地址指针,指向数值所在的存储单元。地址指针的第0~2位(xxx)为被寻址地址中位的编号(0~7),第3~18位为被寻址地址的字节的编号(0~65535)。第24~26位(rrr)为被寻址地址的区域标识号,第31位x=0为区域内间接寻址,第31位x=1为区域间的间接寻址。(1)存储区内部间接寻址:存储区的类型在指令中给出,第24~26位(rrr)和第31位为0。指针常数P#5.0对应的二进制数为2#00000000000000000000000000101000。L P#5.0 LAR1 A M[AR1,P#2.3] //AR1中的P#5.0加偏移量P#2.3,对M7.3操作= Q[AR1,P#0.2] //逻辑运算的结果送Q5.2L DBW[AR1,P#18.0] //将DBW23装入累加器1(2)区域间寄存器间接寻址:地址指针中的第24~26位为存储区域标识符rrr,第31位为1。访问字节、字或双字时,指针中的位地址编号应为0。L P#M6.0 LAR1 T W[AR1,P#50.0] //将累加器1的内容传送到存储器字MW56P#M6.0对应的二进制数为2#10000011000000000000000000110000。第19页/共34页6.装入时间值或计数值指令L T5 LC C16 7.地址寄存器的装入与传送指令不经过累加器1,与地址寄存器AR1和AR2交换数据。用得不多。8.梯形图中的传送指令3.5.2比较指令梯形图中的方框比较指令在梯形图中相当于一个常开触点,可以比较整数(I)、双整数(D)和浮点数(R)。语句表中的比较指令用于比较累加器1与累加器2中的数据大小,被比较的数的数据类型应该相同。如果比较的条件满足,则RLO为1,否则为0。L MD4 L 2.345E+02 >R = Q4.2 //如果MD4>2.345E+02,则Q4.2为1第20页/共34页第21页/共34页3.6数学运算指令3.6.1整数与浮点数数学运算指令例:IW10/MW14→DB1.DBW2L IW10 L MW14 /I T DB1.DBW2 //累加器1低字中的运算结果传送到DB1的DBW2中第22页/共34页【例3-7】压力计算公式为P=(10000

N)/27648(kPa) 运算时一定要先乘后除。假设A/D转换后,AIW中的数据转换为双整数,存放在MD6中,以kPa为单位的运算结果在MW10中。

第23页/共34页浮点数三角函数指令的输入值为弧度,角度值乘以/180转换为弧度值。

第24页/共34页用指令中的参数<number>来指定移位位数,16位移位指令为0~15,32位移位指令为0~32。如果<number>等于0,移位指令被当作NOP(空操作)指令来处理。L MW4 SSI 6 //累加器1低字中的有符号数右移6位,结果仍在累加器1T MW8 //累加器1低字中的运算结果传送到MW8中第25页/共34页第26页/共34页用或运算将QW10的低4位置位为1:

L QW 10 OW W#16#000F T QW 10 用与运算将IW20的高4位复位为0:

L IW 20 AW W#16#0FFF T MW 10 第27页/共34页3.7逻辑控制指令3.7.1跳转指令与状态位触点指令与堆栈有关的指令用得很少第28页/共34页第29页/共34页只能在同一逻辑块内跳转。同一个跳转目的地址只能出现一次。跳转或循环指令的操作数为地址标号,标号由最多4个字符组成。在梯形图中,目标标号必须是一个网络的开始。【例3-11】IW8与MW12的异或结果如果为0,将M4.0复位,非0则将M4.0置位。

L IW8 L MW12 XOW JN NOZE R M4.0 JU NEXTNOZE: AN M4.0 S M4.0NEXT: NOP 0

第30页/共34页3.7.2循环指令循环指令LOOP<jumplabel>用ACCU1-L作循环计数器,每次执行LOOP指令时ACCU1-L的值减1,若减1后ACCU1-L非0,将跳转到<jumplabel>指定的标号处。【例3-12】在I0.0的上升沿,用循环指令和间接寻址求从MW10开始存放的5个字的累加和,累加的结果用MD20保存。

A I 0.0 FP M 0.0 JNB m001 //不是I0.0的上升沿则跳转

L L#0 //32位整数0装入累加器1 T MD 20 //累加和清零

L P#10.0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论