产品描述
西门子模块6ES7322-1HF10-0AA0供应
监控定时器( Watchdog)又称,它的定时时间为300ms,每次扫描它都被自动复位一次,正常工作时如果扫描周期小于300ms,监控定时器不起作用。如果强烈的外部干扰使PLC(可编程序控制器)偏离正常的程序执行路线,监控定时器不再被周期性地复位,定时时间到时,PLC(可编程序控制器)将停止运行。
在以下情况下扫描周期可能大于300ms,监控定时器会停止执行用户程序:
(1)用户程序很长。
(2)出现中断事件时,执行中断程序的时间较长。
(3)循环指令使扫描时间延长。
为了防止在正常情况下监控定时器动作,可将监控定时器复位(WDR)指令插入到程序中适当的地方,使监控定时器复位。如果FOR/NEXT循环程序的执行时间可能过监控定时器的定时时间,可将WDR指令插入到循环程序中。条件跳转指令JMP若在它对应的标号之后(即程序往回跳),可能因连续反复跳步使它们之间的程序被反复执行,总的执行时间过监控定时器的定时时间。为了避免出现这样的情况,可在JMP指令和对应的标号之间插入WDR指令。
使用WDR指令后,在终止本次扫描之前,下列操作将被禁止:
(1)通信(自由口模式除外)。
(2)I/O新(立即I/O除外)。
(3)强制新。
(4)SM位新(不能新SM0,SM5~SM29)。
(5)运行时间诊断。
(6)在中断程序中的STOP指令。
(7)如果扫描时间过25s,10ms定时器和lOOms定时器不能正确累计时间。
如果将PLC CPU的方式开关切换到STOP位置,1.4S内CPU转到停止模式。西门子PLC CPU的控制程序由主程序、子程序和中断程序组成。STEP 7-Micro/WIN 32在程序编辑器窗口里为每个POU(程序组织单元)提供一个立的页。主程序总是1页,后面是子程序或中断程序。
因为各个程序在编辑器窗口里被分开,编译时在程序结束的地方自动加入无条件结束指令或无条件返回指令。用户程序只能使用条件结束和条件返回指令。
1.子程序的作用
子程序常用于需要多次反复执行相同任务的地方,只需要写一次子程序,别的程序在需要子程序的时候调用它,而重写该程序。子程序的调用是有条件的,未调用它时不会执行子程序中的指令,因此使用子程序可以减少扫描时间。
使用子程序可以将程序分成管理的小块,使程序结构简单清晰,易于查错和维护。如果子程序中只引用参数和局部变量,可以将子程序移植到其他项目。为了移植子程序,应避免使用全局符号和变量,如I、Q、M、SM、Al、AQ、V、T、C、S、AC等存储器中的地址。
2.子程序的创建
可采用下列方法创建PLC子程序:在“编辑”菜单中选择“插入→子程序”;在程序编辑器视窗中按鼠标右键,从弹出菜单中选择“插入→子程序”。程序编辑器将从原来的POU显示进入新的子程序,程序编辑器底部将出现标志新的子程序的新标签,在程序编辑器窗口中可以对新的子程序编程。可以使用该子程序的局部变量表定义参数,各子程序多可以定义16个IN、OUT参数。用右键双击指令树中的子程序或中断程序的图标,在弹出的窗口中选择“重新命名”,可修改它们的名称。
①内部标志位M:西门子PLC中的“内部标志位”用英文字母M标记,作用相当于其他公司PLC中常说的“内部继电器”,它用于寄存PLC程序中间运算结果。在PLC程序中,内部标志位的内容可以随着程序的执行,在执行过程中不断进行新与改变。
②特殊内部标志位SM:PLC内部特殊标志位用英文字母SM标记,它与内部标志位的区别是:特殊标志位SM具有特殊的含义,它可以反映PLC内部的工作状态和控制信息,并可被PLC用户程序使用。
特殊标志位SM分为“只读”和“可读写”两部分。“只读”信号由PLC自动生成结果,在程序中只能使用其结果,而不能进行“写入”(或输出)操作。
③累加器AC:S7.200与S7—400有4个32位累加器ACCU0~ACCU3:S7—300有2个32位累加器ACCU0、ACCU1。累加器的内容同样只可以用字节、字或双字的形式进行处理,并以AC0~AC3作为地址。当以字节(或字)为单位存取累加器时,使用累加器的低8位或低16位。
④顺序控制继电器S(仅S7-200):在S7—200 PLC中,可以使用顺序控制继电器(SCR),它用英文字母S标记,用于组织PLC程序操作或进入相应的程序步。
⑤数据块DB/DI(仅S7—300/400):在S7—300/400系列PLC中,可以使用数据块DB来存储程序的处理结果或数据,数据块可以在DB(或DI)的地址下以十进制的形式来。
数据块的内容同样可以用二进制位、字节、字、双字的形式使用,对于二进制位,地址以DBX+.+(或DIX*.*)形式;对于数据块中的字节、字、双字,地址以DBB**、DBW**、DBD**(DIB¨+、DIW**、DID***形式。 ①变量V(仅S7-200):在S7-200中,PLC内部变量用英文字母V标记,其作用与内部寄存器类似,可用于寄存PLC程序中间运算结果,但可以使用的数量多。在PLC程序的执行过程中可以不断对内部变量V的内容进行新与改变。由于变量V的状态可以由所有的程序块共用,因此,它是一种公共变量(也称共享变量)。
由于S7-200中没有单的“数据块(DB)”存储区,内部变量V存储器的1部分被作为数据块DB1使用,它在不同的CPU中大小不等,可以是128~512字节。被作为数据块DB1使用的内部变量V,在PLC装载时可以像PLC程序一样复制到PLC的EEPROM中,而其余的内部变量V则只能保存在CPU的RAM中。
在S7-300/400中,不可以使用内部变量V,而是需要通过数据块DB来存储PLC的中间运算结果。
②局部变量L:PLC内部局部变量用英文字母L标记,其作用与公共变量类似,但它是一种共用的、动态变化的存储区域,其内容与含义随着所执行的逻辑块的不同而改变,它用于寄存仅在逻辑块内部使用的中间运算结果。
局部变量L与公共变量V的区别是:公共变量V在PLC程序中是通用的,即某一程序段或程序块的执行结果可以用于其他的程序段与程序块;而局部变量L的内容却是临时性、不固定的,只有在调用某一逻辑块时,在块的内部才有明确的含义,逻辑块一旦执行完成,其作用随之消失,因此,它随着所执行程序块的不同随时进行新与改变。
局部变量L的地址范围在理论上为LO.O~L63.7共64个字节,但实际可以使用的一般为LO.O~L59.7共60个字节。
1本地数据堆栈区L是局部变量,L变量仅在调用它的子程序中有效。
不同子程序中的L变量可用同名。如,FC1中有L0.1,FC2中也有L0.1这个变量,而2者间没任何关系、也不会相互冲突。
2不需要做初始化
3 局部变量解释:
L 是局部存储器,作为暂时存储器或给子程序传递参数,L也可以L*.*(如L2.5 是BOOL 量,是二个字节的五位),LB,LW,LD来存取,但仅仅在它被创建的块中有效,它也可以在符号表中定义,但只能在各个POU自己的符号表中定义.
4. 全局变量和局部变量在符号寻址编程时,全局变量直接显示符号名,而局部变量在符号前会加上#,采用局部变量编程有很多优势:程序可以功能化移植(减少重复编程量),大程序方便协同作战(把任务分成各个功能块),这是SIEMENS的PLC比较优越性之处。
5 使用时请注意,一定要先赋值,后使用局部变量又称临时本地数据区(L堆栈),位于CPU的工作存储区用于存储程序块(OB、FB、FC)被调用时的临时数据,访问临时数据比访问数据块中的数据快。
“L是局部变量,只能在局部使用,不能在全局使用。”只是在这个程序块中可以使用的,使用结束后就会自动复位,它不能被其他的程序使用。临时变量的使用原则就是:先赋值,再使用
在S7-300CPU中,每一个级的局部数据区的大小是固定的。一般在组织块中调用程序块(FB、FC等),操作系统分配给每一个执行级(组织块OB,一般在OB块执行并调用其它FB、FC)的局部数据区的大数量为256B(字节),组织块OB自己占去20B或22B,还剩下多234B可分配给FC或FB。如果块中定义的局部数据的数量大于256字节,该块将不能下载到CPU中。在下载过程中提示错误信息:The?block?could?not?be?copied(该块不能被复制)。如果单击错误信息框中的Detail(详细)按钮,将弹出帮助信息:Incorrect?local?data?length(不正确的局部数据长度)。
在SIMATIC管理器中依次展开你的项目到Blocks(块),右击选中某个块,选择菜单bbbbbb?Properties(目标属性)选项。在块的属性对话框中,可以看到块所需要的局部数据字节数(Length长度:Local?Data(局部数据))。
在SIMATIC管理器中选中你的项目的Block(块(文件夹,执行菜单命令Options(选项)/Reference?Data(参考数据)/Display(显示),然后选择Program?Structure(程序结构),即可在参考表中查看局部数据的占用情况。
数据保持设置定义CPU如何处理各数据区的数据保持任务。在数据保持设置区中选中的就是要“保持”其数据内容的数据区。所谓“保持”就是在CPU断电后再上电,数据区域的内容是否保持断电前的状态。
1.保持:选中的数据区内容会保持断电前状态
2.不保持:如果某数据区未设置为“保持”,则在CPU重新上电时,V存储区的内容会用EEPROM的内容覆盖(通常都是0),如果EEPROM中保存了数据(如在数据块中设置了V数据区的初始值),这些数据就会自动复制到V区中;其他数据区的内容会清零
在这里设置的数据保持功能靠如下几种方式实现:
1.CPU内置的级电容
2.级电容放电完毕后,如果安装了外插电池(或CPU221/222用的时钟/电池)卡,则电池卡会继续数据保持的电源供电,直到放电完毕
3.数据在断电前被自动写入相应的EEPROM数据区中(如果设置MB0 - MB13为保持)
①输入信号I:输入信号用英文字母I标记,它是指与PLC输入端连接的来自外部设备的外部输入信号。在PLC程序中,一般是使用“输入映像”寄存器中的数据,其内容在一个PLC循环周期内保持不变。
②输出信号Q:输入信号用英文字母Q标记,它是指与PLC输出端连接的用于控制外部设备的外部输出信号,PLC的输出信号送给输出模块,并通过不同的驱动形式驱动外部负载。在PLC程序中,一般使用“输出映像”寄存器中的数据。输出映像寄存器中的内容可以随着程序的执行不断改变(在多重线圈编程时),但终PLC输出的状态总是程序后的处理结果,因此,对外部来说它也是的。
③直接输入/输出PI/PQ(仅S7-300/400):直接输入/输出是在PLC程序中不受PLC循环扫描约束,进行直接采样的输入与直接刷新的输出信号。通过直接输入/输出,可以在PLC程序中不受PLC循环时间的限制,直接对PLC的输入/输出信号进行读/写。
在直接输入的情况下,PLC程序不再使用输入映像寄存器中的值,而是直接读入当前的瞬时值,而且,PLC执行了直接输入后,并不会影响“输入映像”寄存器中原来的值。在直接输出的情况下,PLC程序不再使用输出映像寄存器中的值,而是直接输出当前的瞬时值,而且,PLC执行了直接输出后,“输出映像”寄存器中的值立即发生变化。
直接输入/输出的表示方法在S7-200与S7-300/400中有所不同。对于S7-200,使用时只需要在指令代码后增加“I”,如LD变成LDI即可。对于S7-300/400 PLC,不可以在PLC程序中直接以“二进制位”的形式,对PLC的输入/输出信号进行读/写,只能以字节PIB/P、字PIW/PQW或双字PID/PQD的形式进行。
④模拟量输入/输出AI/AQ:模拟量输入/输出只能以“字”的形式,不可以使用二进制位的形式进行编程,模拟量输入/输出的只能为AIW**/AQW**。模拟量输入/输出的内容直接保存在PLC的模拟量输入/输出模块中,而不是存放在CPU的RAM中,因此,模拟量输入/输出的实质上也是一种对输入/输出的直接读入与输出。
西门子PLC具有很完善的自诊断功能,如出现故障,借助自诊断程序可以方便的找到出现故障的部件,换后就可以恢复正常工作。故障处理的方法可参看西门子S7-200PLC系统手册的故障处理指南。实践证明,外部设备的故障率远PLC,而这些设备故障时,PLC不会自动停机,可使故障范围扩大。为了及时发现故障,可用梯形图程序实现故障的自诊断和自处理。
1. 时检测
机械设备在各工步的所需的时间基本不变,因此可以用时间为参考,在可编程控制器发出信号,相应的外部执行机构开始动作时起动一个定时器开始定计时,定时器的设定值比正常情况下该动作的持续时间长20%左右。如某执行机构在正常情况下运行10s后,使限位开关动作,发出动作结束的信号。在该执行机构开始动作时起动设定值为12s的定时器定时,若12s后还没有收到动作结束的信号,由定时器的常开触点发出故障信号,www..cn该信号停止正常的程序,起动报警和故障显示程序,使操作人员和维修人员能判别故障的种类,及时采取排除故障的措施。
2. 逻辑错误检查
在系统正常运行时,PLC的输入、输出信号和内部的信号(如存储器为的状态)相互之间存在着确定的关系,如出现异常的逻辑信号,则说明出了故障。因此可以编制一些常见故障的异常逻辑关系,一旦异常逻辑关系为ON状态,就应按故障处理。如机械运动过程中先后有两个限位开关动作,这两个信号不会同时接通。若它们同时接通,说明至少有一个限位开关被卡死,应停机进行处理。在梯形图中,用这两个限位开关对应的存储器的位的常开触点串联,来驱动一个表示限位开关故障的存储器的位就可以进行检测1、SITOP电源模块上的A/B开关有什么用?
订货号尾为3BA00的新SITOP电源上都有两个拨动开关(A和B)。
每个SITOP电源的包装中都有“操作指南”,其中有关于A、B开关的功能说明。
选择开关 功能 :
A :决定是否使用负载分配功能。在电源并联使用时,将开关A拨到ON位置,这时参与并联的电源之间会自动分配负载电流;单使用时,开关A应当为OFF 。
B: 决定电源输出过负载时的状态。如果外围电路发生短路或者过载,当开关B为OFF时,电源持续输出电流,大小为额定值的1.15倍;开关B为ON时,如果过载持续100ms以上,电源就关闭输出,这种状态在断电至少5s后再上电的情况下可以解除 。
2、注意, 并联运行时,不论是解耦并联,还是直接并联的情况,将所有电源模块的A开关拨动到ON位置。
3、电源与其他型号的电源并联,如何设置开关A?
电源与其他型号的电源不能直接并联,只能通过SITOP电源冗余模块做冗余。这种情况下开关A在OFF状态。
当PLC的用户程序要保留在RAM中时,就会用到电池,电池通常是3V或3.6V的不可充电的锂电池,电池的使用寿命通常是五年左右,电池用久了,电压就会下降,当其下降到不足以保证RAM中数据时,RAM中的程序就会丢失。如果用户没有备份程序,就会相当麻烦。
一般PLC内部设有电池电压检测电路,当电压下降到一定程度时,PLC就会报警,提醒换电池。PLC的使用说明书都有提供换电池的方法。一般来 说,PLC在断电后,因为PLC上RAM电源端接有充电电容,即使把电池去掉,电容上充电电量也足够RAM内的数据保持一段时间,所以如果取掉电池后在短 时间内(通常5分钟)再将新电池换上去,数据是不会丢失的。
但用户实际使用PLC的环境情况不尽相同,例如电容的容量下降,RAM电源回路有 灰尘、油泥等形成放电回路等,这会加快PLC断电后电容的放电速度,从而使时间不好把握。如果在带电的情况下换电池就可保程序万无一失。因为电源始终会 有电压加在RAM芯片的电源脚。当然换时亦要小心应对,注意电池的性以及避免短路情况发生。
是把PLC通电15分钟(给内部电容充电),断电,在5分钟内换好新的电池,再上电试一下;
西门子PLC有带卡的,有不带电池的;也有带卡的,带电池的。程序存在MMC卡中,如果没有存储卡,需要电池保存程序的,换电池时候务必注意,带电的情况下,将旧电池取出来,然后将新电池换上即可。
产品推荐