西门子PLC学习笔记六-(Step7指令简单介绍)
1.指令操作数
指令操作数由操作标示符和參数组成。
操作标识符由主标识符和辅标识符组成。
主标识符有:I(输入过程影像寄存器)、Q(输出过程映像寄存器)、M(位寄存器)、PI(外部输入寄存器)、PQ(外部输出寄存器)、T(定时器)、C(计数器)、DB(数据块寄存器)、L(本地数据寄存器)
辅助标识符有:X(位)、B(字节)、W(字或2B)、D(2DW或4B)
具体介绍能够參看下图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVuZ3NodWl5dWU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" width="700" height="400" alt="">
2.寻址方式
S7-300的4种寻址方式有:
1)马上寻址
马上寻址是对常数或常量的寻址方式。样例例如以下:
L66 //表示把常数66装入累加器1中
AW W#16#168 //将16进制数168与累加器1的低字进行“与”运算
SET //默认操作数为RLC,该指令实现对RLO置“1”操作
2)存储器直接寻址
直接寻址指在指令中直接给出操作数单元地址。
存储单元地址可用符号地址(如“sb1_start”等)或绝对地址(如“I0.0"、"Q4.1”等)。
样例例如以下:
A I0.0 //对输入位I0.0运行逻辑“与”运算
= Q4.1 //将逻辑运算结果送给输出继电器Q4.1
L MW2 //将存储字MW2的内容装入累加器1
T DBW4 //将累加器1低字中的内容传送给数据字DBW4
3)存储器间接寻址
间接寻址指:在指令中以存储器的形式给出操作数所在存储单元的地址。在指令中一般写在“[]”中,採用地址指针,地址指针在地址范围小于65535的存储器中能够使用字指针;而其它的存储器则须要使用双字指针。比如:
A.存储器地址单字节地址指针寻址
OPN DB[MW0] //打开数据块,若MW0为1,则就是打开DB2.MW0的改变。则打开的数据块儿也改变
B.存储器地址双字节地址指针寻址
L P#8.7
//把指针值装载到累加器
//P#8.7的指针值为:2#0000_0000_0000_0000_0000_0000_0100_0111
T [MD2]
//把指针值送到MD2
A I[MD2]
//查询I8.7的信号状态
= Q[MD2}
//给出输出位Q8.7赋值
4)寄存器间接寻址
寄存器间接寻址指通过地址寄存器和偏移量间接获取操作数,地址寄存器和偏移量需写在“[]”中。S7-300中有两个地址寄存器AR1、AR2。
地址寄存器地址有两种格式,其长度均为双字。格式例如以下:
位24~26 地址指针区域标识位的含义:
A.区内寄存器间接寻址
该寻址对于哪个存储区寻址需明白给出。
L P#3.2 //将间接寻址的指针装入累加器1
//P#3.2的指针值为:2#0000_0000_0000_0000_0000_0000_0001_1010
LAR1 //将累加器1的内容送入地址寄存器AR1
//AR1的指针值为:2#0000_0000_0000_0000_0000_0000_0001_1010
A I[AR1,P#5.4] //P#5.4的指针值为:2#0000_0000_0000_0000_0000_0000_0010_1100
//AR1与偏移量相加结果:2#0000_0000_0000_0000_0000_0000_0100_0110
//对输入位I8.6进行逻辑“与”操作
= Q[AR1,P#1.6] //P#1.6的指针值为:2#0000_0000_0000_0000_0000_0000_0000_1110
//AR1与偏移量相加结果:2#0000_0000_0000_0000_0000_0010_1000
//对输出位Q5.0进行赋值操作
B.区域间寄存器间接寻址
该选择通过区域标识位26~24位确定。
L P#I8.7 //把指针值及存储区域标识装载到累加器1
//P#I8.7的指针值为:2#1000_0001_0000_0000_0000_0000_0100_0111
LAR1 //把存储区域I和地址8.7装载到AR1
L P#Q8.7 //把指针值和地址标识符装载到累加器1
//P#Q8.7的指针值:2#1000_0010_0000_0000_0000_0000_0100_0111
LAR2 //把存储区域Q和地址8.7装载到AR2
A [AR1,P#0.0] //查询输入位I8.7的信号状态(偏移量0.0不起作用)
= [AR2,P#1.2] //输出位Q10.1赋值
3.CPU中的寄存器
1)累加器(ACCUx)
累加器用于处理字节、字、双字寄存器。S7-300有2个32位累加器(ACCU1、ACCU2)。
S7-400有4个32位的累加器(ACCU1~ACCU4)。数据放在累加器的低位(右对齐)。
2)状态字
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVuZ3NodWl5dWU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" width="480" height="200" alt="">
西门子PLC学习笔记六-(Step7指令简单介绍)的更多相关文章
- (转载)西门子PLC学习笔记十五-(数据块及数据访问方式)
一.数据块 数据块是在S7 CPU的存储器中定义的,用户可以定义多了数据块,但是CPU对数据块数量及数据总量是有限制的. 数据块与临时数据不同,当逻辑块执行结束或数据块关闭,数据块中的数据是会保留住的 ...
- 西门子PLC学习笔记二-(工作记录)
今天师傅给讲了讲做自己主动化控制的总体的思路,特进行一下记录,做个备忘. 1.需求分析 本次的项目是对楼宇循环供水的控制,整个项目须要完毕压力.压差.温度等的获取及显示.同一时候完毕电机的控制. 2. ...
- JMeter学习笔记2-图形界面简单介绍
废话少说直接干活的给: 一.打开和运行JMeter,出现UI界面.如图下所示: 工具栏:常见操作的图标集合,有New(新建), Template(模板) ,Save(保存),Start(开始) ,St ...
- 西门子PLC学习笔记七-(位逻辑指令)
位逻辑指令处理的对象为二进制位信号.存储在状态字"RLO"中. 1.触点与线圈指令 1)常开触点 在PLC中规定:操作数为1,则常开触点"动作(闭合)":操作数 ...
- 西门子PLC学习笔记8-(计时器)
计时器port这包括:信号输入.时间.复位信号.出口.[计时器剩余时间(BI二进制表示法.BCD码表示)其输出被存储MW] 定时器包括::S_PULSE(脉冲定时器).S_PEXT(延时脉冲定时器). ...
- 【Android学习笔记】布局的简单介绍
我在学习Android开发的时候是基于实战项目的,基础理论知识以前也是零散的看过一些,个人还是觉得边做项目边学要快些.现在做的这个项目iOS端是我做的,这样逻辑什么的都很熟悉,于我而言换个平台也只是换 ...
- java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)
java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...
- angular学习笔记(三十)-指令(10)-require和controller
本篇介绍指令的最后两个属性,require和controller 当一个指令需要和父元素指令进行通信的时候,它们就会用到这两个属性,什么意思还是要看栗子: html: <outer‐direct ...
- angular学习笔记(三十)-指令(6)-transclude()方法(又称linker()方法)-模拟ng-repeat指令
在angular学习笔记(三十)-指令(4)-transclude文章的末尾提到了,如果在指令中需要反复使用被嵌套的那一坨,需要使用transclude()方法. 在angular学习笔记(三十)-指 ...
随机推荐
- iOS 6 的 Smart App Banners 介绍和使用
iOS 6 的 Smart App Banners 介绍和使用 Denis 留言: 10 浏览:4890 文章目录[隐藏] 什么是 Smart App Banners 在你的网站添加 Smart Ap ...
- js 简单制作键盘模拟
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head& ...
- 2012 noip提高 Vigenère 密码
P1079 Vigenère 密码 题目描述 16 世纪法国外交家 Blaise de VigenèreBlaisedeVigene`re 设计了一种多表密码加密算法―― VigenèreVigene ...
- Openjudge-百练-4013-踩方格
这题目是一道深搜的题目,我们写一个递归函数叫Ways(int i, int j ,int n),i j就是当前所处的坐标,我们设置一个visited数组,简称 V . 对于这个数组,首先初始化为零,然 ...
- MySQL内外联结
一.内联结(INNER JOIN) MySQL内联结使用INNER JOIN将多个数据表t1,t2隔开,结果是t1里的每一个数据行将与t2里的每一个数据行组合. 逗号连接符.CROSS JOIN和JO ...
- catalina配置参数
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.por ...
- c++_最大公共子串
标题:最大公共子串 最大公共子串长度问题就是:求两个串的所有子串中能够匹配上的最大长度是多少. 比如:"abcdkkk" 和 "baabcdadabc",可以找 ...
- Mac 配置 php-fpm
Mac 自带 php-fpm,在终端执行 php-fpm,会报如下错误: ERROR: failed to open configuration file '/private/etc/php-fpm. ...
- 剑指Offer(书):重建二叉树
题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2, ...
- (二)java集合框架综述
一集合框架图 说明:对于以上的框架图有如下几点说明 1.所有集合类都位于java.util包下.Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Ja ...