扫一扫,微信关注我们
西门子6ES7214-1AD23-0XB8
S7-200掉电保持是存在RAM中用电容保持吗?
答:是,也可加电池卡延长保持时间。
问:我今天看一本书写着PLC在掉电的时候利用电容的电将V区的掉电保持的变量马上存到EEPROM中使它可以保持,是这样吗?
答:不是,还是存在RAM中,RAM内的数据需要用电维持。而EEPROM中的数据无需用电维持。你原来的认识是正确的。
电容与电池维持时,各有自己的维持时间,超过时间,参数会丢失的。电容大约是50-80小时左右,你可让PLC不通电超过这个时间试一下。
PLC的程序块、数据块、系统块都存在EEPROM中,所以永远也不会丢失。
若不想用电容或电池来实现断电保持,可将参数写到EEPROM中。西门子工程师编写了相应的库函数供用户下载使用。
修正:如果设置MB0 - MB13为断电保持,数据在断电前被自动写入相应的EEPROM数据区中。
经过测试,系统块设置的V区断电保持是通过超级电容或电池保证的。
数据块的内容是保持在EPPROM中的,若清除V区,CPU上电后会从EPPROM中复制值到RAM。若编辑相应V区,则是编辑RAM中的V,而不是EPPROM中的V。
通俗的说:
PLC开机时会判断电池或电容是否有效,如果有效就对系统块里断电保持的设置的区域保持不动,然后从数据块里恢复,数据块里再没有赋值的就全部归0。
比如:你在数据块里设置vw0=100,系统块里也设置了掉电保持,掉电时VW0=500,CPU再得电时,如果电池有效那么VW0=500,
掉电时间太长了,电池无效了,那么VW0=100。
数据块是存到EEPROM里的(就像硬盘一样),系统块的V区数据保持依靠的是电池,因为数据是在RAM(就像内存一样)里的。
CPU开机时,先把系统块和程序块从“硬盘"装载到“内存",然后再根据系统块和电池再从“硬盘"恢复数据到“内存"
当PLC的用户程序要保留在RAM中时,就会用到电池,电池通常是3V或3.6V的不可充电的锂电池,电池的使用寿命通常是五年左右,电池用久了,电压就会下降,当其下降到不足以保证RAM中数据时,RAM中的程序就会丢失。如果用户没有备份程序,就会相当麻烦。
一般PLC内部设有电池电压检测电路,当电压下降到一定程度时,PLC就会报警,提醒更换电池。PLC的使用说明书都有提供更换电池的方法。一般来 说,PLC在断电后,因为PLC上RAM电源端接有充电电容,即使把电池去掉,电容上充电电量也足够RAM内的数据保持一段时间,所以如果取掉电池后在短 时间内(通常5分钟)再将新电池换上去,数据是不会丢失的。
但用户实际使用PLC的环境情况不尽相同,例如电容的容量下降,RAM电源回路有 灰尘、油泥等形成放电回路等,这会加快PLC断电后电容的放电速度,从而使时间不好把握。如果在带电的情况下更换电池就可保程序。因为电源始终会 有电压加在RAM芯片的电源脚。当然更换时亦要小心应对,注意电池的极性以及避免短路情况发生。
最好是把PLC通电15分钟(给内部电容充电),断电,在5分钟内换好新的电池,再上电试一下;
西门子PLC有带卡的,有不带电池的;也有带卡的,带电池的。程序存在MMC卡中,如果没有存储卡,需要电池保存程序的,更换电池时候务必注意,带电的情况下,将旧电池取出来,然后将新电池换上即可。S7-200系列PLC编程器的使用示例
Siemens编程器S7-200系列用在中小型设备上的自动系统的控制单元,适用于各行各业,各种场合中的检测,监测及控制。
1.步进,伺服脉冲定位控制。
在设备的控制系统中,有关运动控制是很重要的,下面我们来看一看西门子S7-200系列PLC怎样来实现这 个功能。
首先,确定使用哪个端口来发脉冲,如采用Q0.0发脉冲,则它的控制字为SMB67,脉冲同期为SMW68,脉 冲个数存放在SMD72中,
下面是控制字节的说明:
Q0.0 Q0.1 控制字节说明
SM67.0 SM77.0 PTO/PWM更新周期值 0=不更新,1=更新周期值
SM67.1 SM77.1 PWM更新脉冲宽度值 0=不更新,1=脉冲宽度值
SM67.2 SM77.2 PTO更新脉冲数 0=不更新,1=更新脉冲数
SM67.3 SM77.3 PTO/PWM时间基准选择 0=1微秒值,1=1毫秒值
SM67.4 SM77.4 PWM更新方法 0=异步更新,1=同步更新
SM67.5 SM77.5 PTO操作 0=单段操作,1=多段操作
SM67.6 SM77.6 PTO/PWM模式选择 0=选择PTO,1=选择PWM
SM67.7 SM77.7 PTO/PWM允许 0=禁止PTO/PWM,1=允许
这样根据以上表格,我们得出Q0.0控制字:SMB67为:10000101
采用PTO输出,微妙级周期,发脉冲的周期(也就是频率)与脉冲个数都要重新输入。10000101转化为 16进制 为85,有了控制字以后,我们来写这一段程序:
根据上面这段程序,我们知道了控制字的使用,同时也知道步进电机的脉冲周期与冲个数的存放位置(对 Q0.0来说是SMW68与SMD72)。当然,VW100与VD102内的数据不同的话,步进电机的转速和转动圈数就不一样。
还有一点需要说明得是:M0.0导通---PLC捕捉到上升沿发动脉冲输出后,想停止的话,只须改变端口脉冲的 控制字,再启动PLS即可,程序如下:
2.高速计数功能。
西门子S7-200系列PLC具有高速计数的功能;举一例子来谈谈高速计数的用途,我们采用普通电机来带动丝杆转动,我们想控制转动距离,怎么来解决这个问题?那么我们可在电机另一头与一编码器联接,电机转一圈,编码器也随之转一圈,同时根据规格发出不同的脉冲数。当然,这些脉冲数的频率比较高,PLC不能用普通的上升沿计数来取得这些脉冲,只能通过高速计数功能了。
启动高速计数功能,也要具有控制字
HSCO HSC1 描述
SM37.0 SM47.0 复位有效电平控制位 0=高电平有效, 1=低电平有效
SM37.1 SM47.1 启动有效电平控制位于 0=高电平有效, 1=低电平有效
SM37.2 SM47.2 正交计数器速率选择 0=4X计数率, 1=1X计数率
SM37.3 SM47.3 计数方向控制位 0=减计数, 1=正计数
SM37.4 SM47.4 向HSC中写入计数方向 0=不更新, 1=更新计数方向
SM37.5 SM47.5 向HSC中写入预置值 0=不更新, 1=更新预置值
SM37.6 SM47.6 向HSC中写入当前值 0=不更新, 1=更新当前值
SM37.7 SM47.7 HSC允许 0=禁止HSC, 1=允许HSC