如何读STL程序: 如果读程序时发现自己不明白的语言,可以: 1,转换成梯形图:快捷键ctrl+1,当然大多数都转换不过去; 2,按下F1寻求帮助; 3,下载此程序到模拟器中,单步观察效果,看一看哪些寄存器发生改变。 系统的逻辑错误造成的停机往往是由于提示错误前面的错误引起的。

Slides:



Advertisements
Similar presentations
第四单元 100 以内数的认识
Advertisements

第四单元 100 以内数的认识
阻塞操作. 在 linux 里,一个等待队列由一个 wait_queue_head_t 类型的结构来描述 等待队列的初始化: static wait_queue_head_t testqueue; init_waitqueue_head(&testqueue);
信息技术:硬件、软件、网络、数据库 计算机技术、多媒体技术、压缩技术...
TIA 博途V12 STEP 7 V12 (LAD, FBD, STL)编程.
SRTP通讯协议的基础知识.
FC OB1 FB SFC 操作系统 SFB OBs 结构化编程 其它
9、SIMATIC S7-300 PLC及指令系统 9.1 系统组成 9.2 系统配置 9.3 指令系统简介 9.4 程序结构
Hadoop I/O By ShiChaojie.
四、SIMATIC S7-300 PLC及指令系统 4.1 系统组成 4.2 系统配置 4.3 指令系统简介 4.4 程序结构
逆向工程-汇编语言
第四章 典型CPU及指令系统举例.
第2章 汇编语言与汇编程序 ——8086/8088指令系统 mov ax,12h call display Jmp 1234h.
结构化编程 FC OB1 FB SFC 操作系统 SFB OBs 其它
第5章数据处理、运算指令及应用 5.1 数据处理指令 5.2 算术运算、逻辑运算指令 5.3 表功能指令.
组织块 操作系统 OB1 FC FB FB FC SFC SFB OBs 其它 目录 页码
崔坚 西门子自动化与驱动集团 客户支持部CS2 热线电话:
S7-300/400PLC的编程技术 河北机电自动化教研室.
第3章 8086/8088指令系统 mov ax,12h call display Jmp 1234h.
第六章 S7-300/400指令系统 6.1 S7-300/400的数据类型 S7-300/400中数的表示方法
走进编程 程序的顺序结构(二).
第5章 S7系列程序结构与程序设计 5.1 编程方式与程序块 5.2 数据块与数据结构 5.3 S7系列PLC程序设计 思考与练习题.
数据块中的数据存储 目录 页 数据存储区 … ……… 数据块 (DB) … STEP 7数据类型概述 STEP 7基本数据类型
数据块中的数据存储 目录 页 数据存储区 … ……… 数据块 (DB) … STEP 7数据类型概述 STEP 7基本数据类型
微机原理与接口技术 ——80x86微处理器 西安邮电大学 计算机学院 范琳.
第2章 可编程控制器的硬件组成及工作原理 2.1 可编程控制器的硬件组成 2.2 可编程控制器的工作原理
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第2章 西门子S7-200系列可编程控制器介绍 本章要点 西门子S7-200 CPU224可编程控制器的结构、性能指标
第二章 Java语言基础.
逆向工程-汇编语言
CPU结构和功能.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
2.1.2 空间中直线与直线 之间的位置关系.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
得技通电子 问题 1.0 、选择题:本大题共15个小题,每小题1分,共15分,在每小题给出的四个选项中,只有一项符合题目要求,把所选项前的字母填在括号内。
单片机应用技术 项目一 循环彩灯装置 第3讲 8051单片机的存储器 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
数据块中的数据存储 目录 页 目标 …… 数据存储区 … ……… 数据块 (DB) … STEP 7数据类型概述 STEP 7基本数据类型
微机原理与接口技术 西安邮电大学计算机学院 王忠民.
姚金宇 MIT SCHEME 使用说明 姚金宇
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
第三章 MCS 51的硬件结构.
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
第4章 Excel电子表格制作软件 4.4 函数(一).
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
本节内容 内存复制指令 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第九节 赋值运算符和赋值表达式.
iSIGHT 基本培训 使用 Excel的栅栏问题
实验二 带进位控制8位算术逻辑运算实验 带进位控制8位算术逻辑运算: ① 带进位运算 ② 保存运算后产生进位
第六章 素材的加工与处理 第13讲 用GoldWave进行音频的截取、合并、淡入淡出操作
College of Computer Science & Technology
HSC高速输出例程 HORNER APG.
微机原理与接口技术 ——8086微处理器 西安邮电大学 计算机学院 范琳.
临界区问题的硬件指令解决方案 (Synchronization Hardware)
3. 逻辑运算指令 A、简单逻辑操作指令 CLR A. (不影响CY、AC、 OV标志) CPL A
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
得技通电子 问题 三 判断题:.
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
数据块中的数据存储 目录 页 数据存储区 … ……… 数据块 (DB) … STEP 7数据类型概述 STEP 7基本数据类型
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
24 or 1024? PWN Jawbone Up24 手环.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
培训课件 AB 变频器的接线、操作及参数的备份 设备动力科.
第四章 基本指令 要求: 熟练掌握基本逻辑指令及应用。 掌握梯形图编程规则。.
测试功能 目录 页 程序的状态监视功能 ……………... 2 程序状态监视的模式 …………………………. 3
Presentation transcript:

如何读STL程序: 如果读程序时发现自己不明白的语言,可以: 1,转换成梯形图:快捷键ctrl+1,当然大多数都转换不过去; 2,按下F1寻求帮助; 3,下载此程序到模拟器中,单步观察效果,看一看哪些寄存器发生改变。 系统的逻辑错误造成的停机往往是由于提示错误前面的错误引起的。

STL指令及其结构: 定义要执行的功能 执行该操作所需要的信息 语句指令: 操作码 操作数 语句指令: 操作码 操作数 A I 0.1 //对输入继电器 I 0.1 进行与操作 L MW10 //将字MW10装入累加器1  有些语句指令不带操作数,它们操作的对象是唯一的。 NOT //对逻辑操作结果(RLO)取反。

操作数: 表示操作数存放区域及操作数位数(位、字节、字等) 表示操作数在该存储区域内的具体位置 操作数: 标识符 标识参数 L M W 10 操作数: 标识符 标识参数 L M W 10 表示操作数在该存储区域内的具体位置 主标识符:表示操作数所在的存储区 主要有:I(输入映像区),Q(输出映像区),M(位存储区),PI(外部输入),PQ(外部输出),T(定时器),C(计数器),DB(数据块),L(本地数据)等 辅助标识符进一步说明操作数的位数长度 包括有:X(位),B(字节), W(字——2字节), D(双字——4字节) 表示操作数存放区域及操作数位数(位、字节、字等)

操作数表示: √ I IB IW ID Q QB QW QD M MB MW MD PIB PIW PID PQB PQW PQD DBX 存储区域 位 字节 字 双字 输入映像区(I) √ I IB IW ID 输出映像区(Q) Q QB QW QD 位存储区(M) M MB MW MD 外部输入存储区(PI) PIB PIW PID 外部输出存储区(PQ) PQB PQW PQD 数据块(用“OPN DB”打开) DBX DBB DBW DBD 数据块(用“OPN DI”打开) DIX DIB DIW DID 临时堆栈(L) L LB LW LD

寻址方式 : 立即寻址:对常数或常量的寻址方式,操作数本身包含在指令中 立即寻址 SET //把 RLO (Result of Logic Operation)置“1” L 27 //把整数27装人累加器1 L C#0100 //把 BCD码常数0100装入累加器1

数据格式: 系统及网络介绍 7 6 5 4 3 2 1 编程、调试及故障排除 现场设备详细介绍 MB10 MW10 MB11 MD10 10.7 10.6 10.5 10.4 10.3 10.2 10.1 10.0 MB10 MW10 编程、调试及故障排除 MB11 MD10 MW11 MB12 MD11 MW12 MB13 现场设备详细介绍 MD12 MB14 MB15

实例: 系统及网络介绍 编程、调试及故障排除 现场设备详细介绍 数据分配举例

数字表示方法: INT: L 1 D INT : L L#1 REAL: L 1.234567e+13 TIME: L S5T#1H1M50S BYTE: L B#16#10 L byte#16#10 WORD: L 2#1000000000000 L W#16#1000 L word#16#1000 DWORD: L DW#16#A21234 L dword#16#A21234

寻址方式 : 直接寻址:在指令中直接给出操作数的存储单元地址 直接寻址 A I0 . 0 //对输入位I0.0进行“与”逻辑操作 S L20 . 0 //把本地数据位L20.0置1 = M115 . 4 // 将RLO的内容传给位存储区中的位M115.4 L DB1 . DBD 12 //把数据块DB1双字DBD12中的内容传送给累加器1 //双字表示32位,如浮点数为32为双字

寻址方式 : 存储器间接寻址 :标识参数由一个存储器给出,存储器的内容对应该标识参数的值(该值又称为地址指针) 存储器间接寻址 这种寻址方式能动态改变操作数存储器的地址,常用于程序循环过程中的寻址。 A I[MD 2] //对由MD 2指出的输入位进行“与”逻辑操作,如: MD 2值为 //2#0000 0000 0000 0000 0000 0000 0101 0110表示I 10. 6 L IB[DID 4] //将由双字DID 4指出的输入字节装入累加器1,如:DID 4值为 //2#0000 0000 0000 0000 0000 0000 0101 0000表示对IB10操作 OPN DB[MW 2] //打开由字MW2指出的数据块,如MW2为3,则打开DB3

寻址方式 : 寄存器间接寻址 :在S7中有两个地址寄存器(AR1和AR2) 寄存器间接寻址(指针) 地址寄存器的内容 + 偏移量 = 地址指针 L P#8.6 //将P#8.6装入A 1 LAR1 //将累加器1的内容传送至地址寄存器1 L P#10.0 //将P#10.0装入A1 LAR2 //将累加器1的内容传送至地址寄存器2 A I[AR1,P#1.0] //AR1+偏移量(9.6) = Q[AR2,P#4.1] //AR1+偏移量(14.1) LAR1 P##STAT53 // 把指针指向STAT53 L 0 // 把0装入ACCU1 T DIW [AR1,P#0.0] //把地址寄存器内指向起始地址区的数据赋值

在线监视 很多时候需要在线监视的。 在线监视的情况如图,各个寄存器的情况详见下页。

系统的内部寄存器: S7 CPU的寄存器有(7个): 2个32位累加器*** 2个32位地址寄存器** 2个32位数据块地址寄存器 累加器 32位 累加器1 (ACCU1) 主 累加器2 (ACCU2) 辅 2个32位累加器*** 地址寄存器 32位 地址寄存器1 (AR1) 地址寄存器2 (AR2) 2个32位地址寄存器** 数据块地址寄存器 32位 共享数据块 DB 背景数据块 DI 2个32位数据块地址寄存器 状态字寄存器 16位 状态位 1个16位状态字寄存器*

系统存储区: S7-300 CPU有三个基本存储区: 系统存储区―存放操作数据(I/O、位存储、定时器等) 外设I/O存储区 P 输出(映像区) Q 输入(映像区) I 位存储区 M 定时器 T 计数器 C 系统存储区―存放操作数据(I/O、位存储、定时器等) 物理上是CPU的RAM ,存储区的大小因CPU型号而异。 临时本地数据存储区 (L堆栈) 可执行用户程序: ·逻辑块(OB、FB、FC) ·数据块(DB) 工作存储区―①存放CPU运行时,所执行的用户程序单元逻辑块(OB、FB、FC)、数据块(DB)的复制件;②存放临时本地数据,这部分存储区称L堆栈(主要是存放用户程序的临时变量) 物理上是CPU模块的部分RAM 装载存储区――存放用户程序 物理上是CPU的部分RAM、EEPROM、外置FEPROM等 动态装载存储区: 存放用户程序

名 称 存储区 存 储 区 功 能 输入(I) 过程输入映像表 每个扫描周期开始,读取过程输入值,记录输入映像表 访问方式:位、字节、字、双字 输出(O) 过程输出映像表 扫描周期结束,输出映像表内容输出端口 外设输入(PI) 外设输出(PO) 外设输入/输出 外设存储区允许直接访问现场设备 访问方式:字节、字、双字(不能访问位) 位存储区(M) 中间的变量 存放程序运行的中间结果,访问方式:位、字节、字、双字 定时器(T) 定时器 计时时钟访问该存储区中的计时单元 定时器指令可以访问该存储区和计时单元 计数器(C) 计数器 计数器指令可以访问该存储区 临时本地数据存储区(L) L堆栈 在FC、OB块运行时,块变量声明表中临时变量存放在该存储区。 数据块(DB) 数据块 DB块存放数据信息,可被所有逻辑块访问(共享数据块)或被FB块特定占用(背景数据块使用DI访问) 1,外设访问(P)不通过映像区; 2,有些变频器等超出了映像区的范围所以,只能使用外设访问(P) ; 3,外设访问(P)在程序执行到此位置时进行读写操作,而普通的输入输出,则在程序开始读入,结束输出;

状态字: 状态字表示CPU执行指令时所具有的状态,用户程序可以访问和检测状态字,并可以根据状态字中的某些位决定程序的走向和进程。 15 8 7 6 5 4 3 2 1 ······ BR CC1 CC0 OS OV OR STA RLO FC 首次检测位 * 逻辑操作结果* 状态位 或位 溢出位 溢出状态保持位 条件码0 条件码1 二进制结果位

逻辑操作结果(RLO): Result of Logic Operation, RLO 无法判断RLO的数值时,可以查看FC位的情况。 位置:状态字位 “1” 作用:存储位逻辑指令或算术比较指令的结果。 无法判断RLO的数值时,可以查看FC位的情况。 在某行按下F1,就知道该指令是否影响RLO。见下页

STA STA表示被操作的数据的当前状态,0或者1; 仅表示布尔量; 非布尔量的数值以ACCU累加器表示 例如第一句为 AN I0.0 I0.0 现在为0,则STA为0; 但是执行完毕后RLO为1。

FC/RLO的变化示例: 语句表 实际状态 检测结果 RLO FC 说明 FC=0:下一条指令开始新逻辑串 A I 0.0 1 FC=0:下一条指令开始新逻辑串 A I 0.0 1 首次检测结果存放RLO,FC置1 AN I 0.1 检测结果与RLO运算,结果存RLO =Q1.0 RLO赋值给Q1.0,FC清0 I0.0 I0.1 Q1.0

DI 和 DB 的区别 OPN DB #DBMS //以后所有的DB*操作均是对应DB4, 而所有的DI*操作均对应DB433 DI的作用体现在:再单个FB里面调用了除背景数据块外的其他数据块时,可以用DB进行操作,而背景数据块可以使用DI进行操作。如右图:可以 OPN DB #DBMS //以后所有的DB*操作均是对应DB4, 而所有的DI*操作均对应DB433 CDB交换数据块内容,例如把背景数据块里面的内容与共享数据块交换,可以访问共享数据块,进行操作处理。

L 的对应 好多程序里面直接使用L变量,此时你可以上Temp里面查看,寻求对应关系,如果找不到对应关系也无所谓,当一个临时变量使好了,出了这个块就什么都没了。