step7db块寻址_step7中的难点:间接寻址示例,中文详细注释。

step7中的难点:间接寻址示例,中文详细注释。

推荐欢迎纠错,防止误导。

FUNCTION "DBtoDB" : VOID //该功能块的作用是把一个数据块中的指定的一批数据,复制到另一个块的指定位置。

TITLE =                  //标题,这里没有指定

AUTHOR : BaiZH           //作者 感谢您,BaiZH,通过您的这个例子我基本入明白了间接寻址的用法。不过具体在什么情况下使用我还得继续努力。

FAMILY : IR               //分类

NAME : DBtoDB              //名称

VERSION : 0.1              //版本

VAR_INPUT                                                              //输入型变量声明开始

SRC_DB : INT ; //Source DB Block Number                           //整型值,要复制的源数据块块号

SRC_SttAddr : INT ; //Start Address of the Sending Data in SRC_DB  //源数据块的要复制的数据起始地址

SendNum : INT ; //Words Number Need Sending                         //要复制的数据量

DST_DB : INT ; //Destination DB Block Number                       //目标数据块号

DST_SttAddr : INT ; //Start Address of the Receiving Data in DST_DB //目标数据块中数据起始地址

END_VAR

VAR_IN_OUT                                                              //输入输出变量声明

Enable : BOOL ; //Enable Bit                                        //使能此功能块位

END_VAR

VAR_TEMP                                                                //声明临时变量

DB_LOAD_TEMP : INT ;                                               //存放临时数据块块号

Loop_Val : INT ;                                                     //Send Data Loop Value //循环次数

DB_SAVE : INT ;                                                     //保存进入此函数前,系统已经打开的数据块号

DI_SAVE : INT ;                                                     //同上

AR1_SAVE : DWORD ;                                                    //保存进入此函数前,地址寄存器1中的值

AR2_SAVE : DWORD ;                                                 //同上

END_VAR

BEGIN  //在STEP7的BLOCK中编辑时的程序主要从这里开始

NETWORK

TITLE =Send Data

//Move data from DB to DB

A     #Enable;    //使能位,ENABLE为1执行以下程序

JCN   END;         //否则跳转到最后

TAR1  #AR1_SAVE; // Save AR and Opened DB //保存进入此函数前的数据到临时变量中,以备离开时复原

TAR2  #AR2_SAVE;

L     DBNO;     //同上,保存调用前的现场数据,以备调用完毕复原主程序的现场数据

T     #DB_SAVE;  //一个DBNO,一个DINO,是因为要同时打开两个数据块,只能一个背景数据块,一个共享数据块。

L     DINO;

T     #DI_SAVE;

L     #SRC_DB; //Open DB  //把要打开的数据块块号通过中间变量#DB_LOAD_TEMP传送

T     #DB_LOAD_TEMP;

OPN   DB [#DB_LOAD_TEMP];

L     #DST_DB; //Open DB

T     #DB_LOAD_TEMP;

OPN   DI [#DB_LOAD_TEMP];

L     #SRC_SttAddr; //Load Start Address //要复制的数据起始地址

SLD   3; //左移位,使的地址指针最右边三位保证为0,确保符合地址格式的要求。详细: http://bbs.e10000.cn/a/a.asp?B=302&;ID=608300

LAR1  ;

L     #DST_SttAddr;

SLD   3;

LAR2  ;

L     #SendNum;  开始循环程序,把复制的数据量放入循环变量中

LP1:  T     #Loop_Val; //Move Data

L     DBW [AR1,P#0.0];

T     DIW [AR2,P#0.0];

+AR1  P#2.0;  //指针移位

+AR2  P#2.0;

L     #Loop_Val;

LOOP  LP1; //循环变量减1,判断循环条件

LAR1  #AR1_SAVE; //Recover Original AR and DB//这里在执行完功能后,开始恢复调用前的主程序现场数据。

LAR2  #AR2_SAVE;

OPN   DB [#DB_SAVE];

OPN   DI [#DI_SAVE];

SET   ; //系统将RLO置1,代表FB(FC)执行完毕,相当于功能块的ENO使能输出位。再次感谢cvlsam。

R     #Enable;

END:  NOP   0;

END_FUNCTION

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359871.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring mvc 教程_Spring MVC开发–快速教程

spring mvc 教程这是我们的JCG合作伙伴之一,来自Manoj的有关使用Spring开发Web应用程序的简短教程, 网址为“ The Khangaonkar Report ”。 (注意:对原始帖子进行了少量编辑以提高可读性) Spring MVC使用基于模型视图…

今天才知道css hack是什么

先来个冷笑话:一晚下班回家,一民警迎面巡逻而来。突然对我大喊:站住! 民警:int类型占几个字节? 我:4个。 民警:你可以走了。 我感到很诧异。 我:为什么问这样的问题? 民…

汇智创科机器人_【汇智创科机器人招聘信息】-看准网

在单位去学校参加双选会时投的简历,当时就发了一个面试邀请,约的是10点,如果有人接到面试通知,最好早点去,如果十点去,早上弄不完,下午还要接着,很花时间。去了之后,给我…

java跳转_java servlet 几种页面跳转的方法

Servlet:当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面。1) redirect 方式response.sendRedirect("/a.jsp");页面的路径是相对路径。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中&#…

实时监听输入框值变化的完美方案:oninput onpropertychange

实时监听输入框值变化的完美方案:oninput & onpropertychange 原文:实时监听输入框值变化的完美方案:oninput & onpropertychange在 Web 开发中经常会碰到需要动态监听输入框值变化的情况,如果使用 onkeydown、onkeypress、onkeyup 这…

java向应用程序传递参数_Java应用程序中的消息传递主体

java向应用程序传递参数消息传递是每个Java应用程序的关键方面,尤其是对于涉及企业应用程序集成(EAI)或关注点分离的应用程序,例如多层WEB应用程序。 消息传递可以分为两个主要类别,即同步和异步。 在同步消息传递中&…

java中native_java中的native关键字

JNI是JavaNative Interface的 缩写。从Java 1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C而设计的,但是它并不妨碍你使用其…

R语言对矩阵按某一列排序

[plain] view plaincopy a <- c(5,4,3,2,1) b <- c(1,2,3,4,5) c <- cbind(a,b) [plain] view plaincopyc[order(c[,1]),] #按第一列递增排序 转载于:https://www.cnblogs.com/jamesf/p/4751573.html

18.用两个栈实现队列[2StacksToImplementQueue]

【题目】 某队列的声明如下&#xff1a; C Code 123456789101112131415template<typenameT>classCQueue {public: CQueue() {} ~CQueue() {} voidappendTail(constT &node); // append a element to tailvoiddeleteHead(); // remove a e…

java 是用什么写的_java用什么写的

java用什么写的JAVA本身就是一门编程语言&#xff0c;它编译生成的文件运行在JVM上(java虚拟机)。JVM是由c语言和汇编语言开发的。基于此之上就是java了&#xff0c;虚拟机是起到解析执行的作用。JVM是java语言最大的特点&#xff0c;java的优缺点也是缘于JVM技术。JVM是一个可…

spring分布式事务示例_Spring声明式事务示例

spring分布式事务示例事务是具有ACID &#xff08;原子&#xff0c;一致&#xff0c;隔离和持久&#xff09;属性的工作单元。 原子意味着所有更改都发生或什么都没有发生。 如果从一个帐户借钱并记入另一个帐户&#xff0c;则交易将确保借记和贷项均已完成或均未完成。 一致表…

为什么单例模式是邪恶的(译)

原文链接&#xff1a;http://blogs.msdn.com/b/scottdensmore/archive/2004/05/25/140827.aspx 虽然这篇文章不是我写的&#xff0c;但我完全同意文章中的观点。Brian Button可能是我所知道的最有才的人之一。我相信他会喜欢你们的反馈的。 1、单例模式经常被用来为某些服务提供…

java properties 保存_Java 读写Properties配置文件

转自&#xff1a;https://www.cnblogs.com/xudong-bupt/p/3758136.html1.Properties类与Properties配置文件Properties类继承自Hashtable类并且实现了Map接口&#xff0c;也是使用一种键值对的形式来保存属性集。不过Properties有特殊的地方&#xff0c;就是它的键和值都是字符…

自动加密可序列化的类

在Coursera安全性最高项目的验尸讨论中提出了一个疯狂的想法。 类可以在序列化期间对其自身进行加密吗&#xff1f; 这主要是一项学术性的“假设”练习。 很难想到这样一种情况&#xff0c;我们希望在持久性期间依靠对象自加密而不是使用显式加密机制。 我只能确定一种情况&am…

java垃圾回收机制优化_JVM性能优化--Java的垃圾回收机制

一、Java内存结构1、Java堆(Java Heap)java堆是java虚拟机所管理的内存中最大的一块&#xff0c;是被所有线程共享的一块内存区域&#xff0c;在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例&#xff0c;这一点在Java虚拟机规范中的描述是&#xff1a;所有的对象实…

《linux 网卡别名的添加和绑定》RHEL6

网卡别名的配置&#xff1a; 这个和ifconfig临时修改网卡ip 差不多&#xff0c;但是不一样。都是临时的&#xff0c;只要重启电脑就没了。 配永久的ip别名&#xff1a; cp ifcfg-eth0 ifcfg-eth0:0 vim ifcfg-eth0:0 这样做也能出来&#xff0c;对不对就不知道了 重启网络就ok…

NGUI中UILabel使用url标签的一个bug

在NGUI里&#xff0c;UILabel控件可以支持一些简单功能的标签&#xff0c;使文本显示更丰富及实现类似超链接的功能。但是在使用的时候发现了NGUI3.5.9版本里存在着一个bug。不过还好修复这个bug也很简单。 在UILabel中支持[urllink]text[/url]的方式来定义类超链接的文本。bug…

web前端模块化开发_真正的模块化Web应用程序:为什么没有开发标准?

web前端模块化开发OSGI &#xff0c; SpringSource &#xff0c; Jboss模块 &#xff0c;J2EE和清单永远不会结束。所有这些技术都向他们的最终用户/开发人员保证了相同的东西&#xff0c;或多或少是Java模块化Web应用程序&#xff08;&#xff1f;&#xff09;。 但是&#xf…

[转]Oracle DB管理内存

• 描述SGA 中的内存组件• 实施自动内存管理• 手动配置SGA 参数• 配置自动PGA 内存管理内存管理&#xff1a;概览DBA 必须将内存管理视为其工作中至关重要的部分&#xff0c;因为&#xff1a;• 可用内存空间量有限• 为某些类型的功能分配更多内存可提高整体性能• 自动优化…

java request获取文件_request获取路径方式

从request获取各种路径总结request.getRealPath("url"); // 虚拟目录映射为实际目录request.getRealPath("./"); // 网页所在的目录request.getRealPath("../"); // 网页所在目录的上一层目录request.getContextPath(); // 应用的web目录的…