0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于如何妙用PLC内部掉电保持寄存器

电子设计 来源:曾12345 作者:曾12345 2020-03-02 09:45 次阅读

我们在设计小型的PLC控制系统时,常常会需要在外部改变PLC内部的数据,譬如Counter, Timer或者Data的值,以适应生产过程的需要。而且要求系统关机以后,这些数据还能够保存在PLC内部,当下次开机后,这些数据可以被调出继续使用。

现在许多小型的PLC都或多或少地提供了掉电保持寄存器,以便在PLC断电的时候,保存用户想要保存的数据。但大多数时候,PLC制造厂商为了节约成本,不可能提供足够数量的掉电保持寄存器供系统设计人员使用,所以当被调整的数据项目超过PLC内部的掉电保持寄存器的数目的时候,我们不得不减少被调整的数据项目(固定或不用)或者购买具有更多掉电保持寄存器数目的PLC,这样的话,就使得生产机械缺乏灵活性和适应性,从而降低产品档次或增加成本。

本人在设计服装厂用热风缝合机时就遇到了这种情况,下面就介绍解决这种问题的一种方法,以便大家设计时参考。

所用PLC:松下FP0-C16T,被调整数据:16个,PLC内部掉电保持寄存器数目:10个『8个数据寄存器(DT1652-DT1659:8个各16Bit)和2个字的内部继电器(WR61、WR62:2个各16Bit)』。如果按常规的一个被调整数据占用一个数据寄存器的方法,这显然不能调整16个被调整数据,而只能调整10个被调整数据。为此,本人专门分析了16个被调整数据的数据调整范围,发现多数数据的调整范围只需要从0~255,即0~28-1;而掉电保持数据寄存器DT1652等内部的数据大小为216-1,即256×256-1;所以我们可以将一个被调整的数据只用到数据寄存器的低8位,那么该数据寄存器的高8位就可以来存储另一个被调整数据。

下面就列出该部分的程序:

1、开机时,分开掉电保持寄存器中高8位和低8位至另外两个数据寄存器:

其中,R9013是松下FP0系列PLC内部所规定的、在PLC从program状态到run状态时只动作一个PLC扫描周期的脉冲继电器。

指令F65是一个字与指令,它的作用就是将掉电保持数据寄存器DT1655内的数据与十六进制数FF进行字与,然后将结果送到一般数据寄存器DT0,这样就可以分离出掉电保持数据寄存器DT1655内数据的低8位;

同样第二行的字与指令可以分离出掉电保持数据寄存器DT1655内数据的高8位。

指令F120是一个不带进位右移指令,即:对数据字进行右移时,对高位进行补零。K8表示右移8位。

指令F0是一个字传送指令,就是将一般数据寄存器DT10内的数据传送到一般数据寄存器DT1。

上述程序段的目的就是在开机时将掉电保持数据寄存器DT1655内的数据分成两个被调整数据。

2、开机之后,将另外两个数据寄存器的数据合并至掉电保持寄存器的高8位和低8位:

R9014是松下FP0系列PLC内部所规定的、在PLC从program状态到run状态时、第二个PLC扫描周期开始动作的脉冲继电器。

指令F121是一个不带进位左移指令,K8即左移8位。

指令F66是一个字或指令,将一般数据寄存器DT20内的数据与一般数据寄存器DT0内的数据进行字或,结果送掉电保持寄存器DT1655。

由上可以看出,在PLC运行的时候,可以任意改变一般数据寄存器DT0和DT1中的数据,而这些改变也同时送到了掉电保持寄存器DT1655,这样,当PLC掉电时,所被调整的数据也就被保存了。

通过同样的方法,我们可以视被调整数据的大小,灵活的使用掉电保持寄存器的每一个Bit位,从而使我们在不增加成本的情况下,提高小型PLC控制系统的性能。



:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5325

    浏览量

    120046
  • plc
    plc
    +关注

    关注

    5008

    文章

    13167

    浏览量

    462177
收藏 人收藏

    评论

    相关推荐

    Modbus协议的读取保持寄存器

    功能码用于读取从设备保持寄存器的内容,不支持广播模式。消息顿中指定了需要读取的保持寄存器的起始地址和数目。而保持
    的头像 发表于 10-30 10:54 542次阅读

    寄存器的类型和作用

    在计算机科学中,寄存器(Register)是一种高速存储单元,它位于CPU内部,与CPU的运算单元和逻辑控制单元紧密相连。寄存器的主要作用是暂时存储指令、操作数和地址等临时数据,以便CPU快速访问和处理。由于
    的头像 发表于 09-05 14:11 1174次阅读

    寄存器是什么意思?寄存器是如何构成的?

    在计算机科学中,寄存器(Register)是一个高速存储单元,它位于中央处理(CPU)内部,用于存储计算机程序执行过程中所需要的数据、指令地址或状态信息。寄存器是计算机体系结构中至关
    的头像 发表于 08-02 18:23 3415次阅读
    <b class='flag-5'>寄存器</b>是什么意思?<b class='flag-5'>寄存器</b>是如何构成的?

    寄存器寻址和直接寻址的区别

    。 一、寄存器寻址 寄存器寻址的定义 寄存器寻址是一种将操作数直接存储在CPU内部寄存器中的寻址方式。在这种寻址方式下,指令的操作数地址直接由寄存器
    的头像 发表于 07-12 10:42 1343次阅读

    寄存器寻址的实现方式

    在计算机体系结构中,寄存器寻址是一种常见的寻址方式,它允许程序直接访问CPU内部寄存器寄存器寻址可以提高程序的执行效率,因为它避免了对内存的访问。
    的头像 发表于 07-12 10:36 565次阅读

    寄存器分为基本寄存器和什么两种

    寄存器是计算机中用于存储数据的高速存储单元,它们是CPU内部的重要组成部分。寄存器可以分为基本寄存器和扩展寄存器两种类型。 一、基本
    的头像 发表于 07-12 10:31 1146次阅读

    PLC移位寄存器指令的工作过程

    在工业自动化领域,可编程序控制PLC)的应用日益广泛。作为工业控制的核心设备,PLC不仅具备强大的数据处理能力,还拥有丰富的指令系统,以满足各种复杂的控制需求。其中,移位寄存器指令
    的头像 发表于 06-15 17:37 1540次阅读

    欧姆龙断电保持寄存器是哪些

    欧姆龙(Omron)是一家知名的自动化控制设备制造商,其产品广泛应用于工业自动化、医疗设备、家用电器等领域。在工业自动化领域,欧姆龙的PLC(可编程逻辑控制)产品具有广泛的应用。断电保持寄存
    的头像 发表于 06-11 16:30 2457次阅读

    干货满满:ARM的内核寄存器讲解

    内核寄存器与外设寄存器: 内核寄存器与外设寄存器是完全不同的概念。内核寄存器是指 CPU 内部
    发表于 04-17 11:47 3016次阅读
    干货满满:ARM的内核<b class='flag-5'>寄存器</b>讲解

    寄存器的逻辑功能有保持功能吗 寄存器的输入输出的方式有分别有哪几种

    操作数等。寄存器的逻辑功能包括保持功能,其输入输出方式包括并行输入输出、串行输入输出和双向输入输出等。 一、寄存器的逻辑功能 寄存器的逻辑功能主要包括
    的头像 发表于 02-18 09:39 1879次阅读

    CPU的6个主要寄存器

    CPU寄存器是中央处理内的组成部分,是有限存贮容量的高速存贮部件。寄存器是CPU内部的元件,包括通用寄存器、专用
    的头像 发表于 02-03 15:15 3940次阅读

    S7-1200如何实现内部数据的掉电保持

    S7-1200 PLC 可以通过多种方式实现内部数据的掉电保持,以确保在断电或重启后数据不会丢失。
    的头像 发表于 01-29 16:11 6877次阅读

    labview读取三菱plc寄存器内容

    如何使用LabVIEW读取三菱PLC寄存器内容,并提供一些实例代码和注意事项。 首先,我们需要了解PLC寄存器的基本概念。PLC
    的头像 发表于 12-27 16:31 2125次阅读

    请问ADE9078用户电能寄存器掉电以后会复位吗?

    ADE9078在计算电能的时候,通过内部电能寄存器累加到用户电能寄存器中,如果设置内部电能寄存器累加时间为10S,当累加时间当达到3S时,A
    发表于 12-26 06:34

    关于PLC的15个基础,你知道多少?

    西门子 系列 PLC 内部软继电器有哪几种?  输入继电器、输出继电器、辅助继电器、状态寄存器、定时、计数、 数据
    发表于 11-29 11:13 438次阅读
    <b class='flag-5'>关于</b><b class='flag-5'>PLC</b>的15个基础,你知道多少?