zczc777
阳光总在风雨后,乌云上有睛空!珍惜所有的感动每一份希望在你手
级别: 家园常客
精华主题: 0
发帖数量: 440 个
工控威望: 593 点
下载积分: 1478 分
在线时间: 238(小时)
注册时间: 2008-10-25
最后登录: 2024-02-15
查看zczc777的 主题 / 回贴
楼主  发表于: 2008-12-11 17:14


    


PLC内部掉电保持寄存器的巧妙利用
PLC内部掉电保持寄存器的巧妙利用

我们在设计小型的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控制系统的性能。

coliu
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看coliu的 主题 / 回贴
1楼  发表于: 2008-12-11 17:19
支持下......
控123
走自己的路
级别: 家园常客
精华主题: 0
发帖数量: 983 个
工控威望: 921 点
下载积分: 2212 分
在线时间: 1071(小时)
注册时间: 2008-09-02
最后登录: 2024-05-04
查看控123的 主题 / 回贴
2楼  发表于: 2008-12-11 20:00
支持下......
张平全
为国出力的时候到了
级别: 家园常客
精华主题: 0
发帖数量: 955 个
工控威望: 965 点
下载积分: 1895 分
在线时间: 466(小时)
注册时间: 2008-04-25
最后登录: 2022-11-19
查看张平全的 主题 / 回贴
3楼  发表于: 2008-12-11 22:13
C16不是带记忆卡的吗?以上目标只要用F12,F13就可以完成,他只要有一次触发后,以后就不用管他了,他会自动保存,在开机时利用R9013其它触发一下就读出来了,一样能保特得很好的,没有这么多明堂,我觉得你走弯路了,哈哈,共同探讨,共同进步!
suiyuan666
级别: 论坛先锋
精华主题: 0
发帖数量: 733 个
工控威望: 1383 点
下载积分: 4958 分
在线时间: 739(小时)
注册时间: 2008-06-15
最后登录: 2024-04-01
查看suiyuan666的 主题 / 回贴
4楼  发表于: 2008-12-15 16:40
頂一下.
zhangshichao
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看zhangshichao的 主题 / 回贴
5楼  发表于: 2009-02-14 20:13
顶一下
danielsue
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看danielsue的 主题 / 回贴
6楼  发表于: 2009-02-20 10:08
学习了!谢谢
wjhwjl
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看wjhwjl的 主题 / 回贴
7楼  发表于: 2009-02-20 22:52
学习了!
向高手請教
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看向高手請教的 主题 / 回贴
8楼  发表于: 2009-04-25 17:34
好辦法,長見識了。
chlsx
级别: 略有小成
精华主题: 0
发帖数量: 210 个
工控威望: 365 点
下载积分: 637 分
在线时间: 106(小时)
注册时间: 2009-02-26
最后登录: 2023-12-20
查看chlsx的 主题 / 回贴
9楼  发表于: 2009-04-25 21:10
学习了!谢谢