S7-300 内部特殊块和特殊子表 OB M 特殊继电器
- 格式:pdf
- 大小:399.62 KB
- 文档页数:27
西门子编程PLC S7-200/300语句表助记符英文全称助记指令(英文全称意思) :指令含义1 、LD ( Lode 装载 ) :动合触点2、LDN ( Lode Not 不装载 ) : 动断触点3、A ( And 与动合) : 用于动合触点串联4、AN ( And Not 与动断 ) :用于动断触点串联5、O ( Or 或动合 ) :用于动合触点并联6、ON ( Or Not 或动断 ) : 用于动断触点并联7、= ( Out 输出 ) :用于线圈输出8、OLD ( Or Lode): 块或9、ALD ( And Lode): 块与10、LPS ( Logic Push ) :逻辑入栈11、LRD ( Logic Read ) :逻辑读栈12、LPP ( Logic Pop ) :逻辑出栈13、NOT ( not 并非 ) :非14、NOP ( No Operation Performed ) : 无操作15、AENO ( And ENO ) : 指令盒输出端ENO相与16、S ( Set 放置 ) : 置117、R ( Reset 重置,清零 ) :清零18、P ( uP 上升) :正跳变19、N ( dowN 下降) :负跳变20、TON ( On_Delay Timer ) :通电延时21、TONR ( Retentive On_Delay Timer ) : 有记忆通电延时型22、TOF ( Off_ Delay Timer ) :断电延时型23、CTU ( Count Up ) : 递增计算器24、CTD ( Count Down ) : 递减计数器25、CTDU ( Count Up/ Count Down ) :增减计数器26、ADD ( add 加 ) : 加注意 //ADD_I (_ I 表示整数) ADD_DI( DI表示双字节整数)ADD-R(R 表示实数)它们都是加运算只是数的大小不同!!后面有很多这样的我就略写了!27、SUB ( Subtract 减去,减少) :减28、MUL ( Multiply ) : 乘29、DIV ( Divide ) : 除30、SQRT ( Square root ) : 求平方根31、LN ( Napierian Logarithm 自然对数 ) : 求自然对数32、EXP ( Exponential 指数的 ) :求指数33、INC_B ( Increment 增加 ) :增134、DEC_B ( Decrement 减少 ) :减135、WAND_B ( Word and 与命令 ) :逻辑与//其中_B代表数据类型还有W(字节)、DW双字后面几个都是这样的。
S7-300功能添加说明2008-6-5 施1、组织块(OB)使用说明1.1 OB功能说明:一般情况下,S7-300的PLC使用的组织块(OB)有OB1、OB35、OB80、OB81、OB82、OB84、OB85、OB86、OB100、B121、OB122OB1:启动结束或OB1 执行结束OB35:循环中断5(默认时间间隔:100ms)OB80:时间故障OB81:电源故障OB82:诊断中断OB84:CPU 硬件故障OB85:程序故障OB86:扩展机架、DP 主站系统或分布式OB100:暖启动OB121:编程故障OB122:I/O 访问故障1.2OB组织块建立说明:一、在右侧右击鼠标“右键”会弹出一个窗口如下,二、选择“Insert New Object”将会弹出下一级子窗口三选择“Organization Block”并单击,弹出以下对话框在“Name”里写入需要的组织块(OB),点击“”就可以了,如写入 OB35、OB80、OB81、OB82、OB84、OB85、OB86、OB100、B121、OB1222.1 FC功能说明:FC 相当于一个子程序,在里面可以由用户编写自己所需要的程序,最后在OB1中调用所有建立的FC即可,FC不具有断电保持功能,但是需要断电保持的话,可以调用数据块DB,所有的DB快都具有断电保持功能2.2 FC功能建立说明::一、在右侧右击鼠标“右键”会弹出一个窗口如下,二、选择“Insert New Object”将会弹出下一级子窗口三选择“Function”并单击,弹出以下对话框在“Name”里写入需要的功能(FC),如FC1、FC2…………,范围为1……999都可以,在下面的“Symbolic Name”可以写入自己需要的注释。
点击“”就可以了。
3.1 DB数据块说明:DB 相当于数据M区,但在里面可以由用户编写自己所需要长度的数据,最大长度可以有65535个字节,且具有断电保持功能。
组织块使用说明1、组织块总览(OB)1.1 什么是组织块?组织块是操作系统和用户程序之间的接口。
OB 用于执行具体的程序:• 在CPU 启动时• 在一个循环或时钟执行时• 当发生故障时• 当发生硬件中断时组织块根据其优先级执行。
1.2 可使用哪些组织块?不是所有的CPU 都能处理STEP 7 中所有的组织块。
至于您使用的CPU 中包括哪些OB, 请参见操作列表/72/和/102/。
何处可以找到更多信息?参见在线帮助和以下手册可以得到更多的信息:• /70/:该手册包含有描述不同S7-300 CPU 功能的技术数据。
• /101/:该手册包含有描述不同S7-400 CPU 功能的技术数据。
下列表格中包含每一个OB 的启动事件及对应的优先级。
OB 启动事件 默认的优先级解释OB1 启动结束或OB1 执行结束 1 自由循环OB10 日期时间中断0 2 没有指定缺省时OB11 日期时间中断1 2 间 OB12 日期时间中断2 2OB13 日期时间中断3 2OB14 日期时间中断4 2OB15 日期时间中断5 2OB16 日期时间中断6 2OB17 日期时间中断7 2OB20 延时中断0 3 没有指定缺省时OB21 延时中断1 4 间 OB22 延时中断2 5OB23 延时中断3 6OB 启动事件 默认的优先级解释OB30 循环中断0(缺省时间间隔:5s) 7 循环中断 OB31 循环中断1(缺省时间间隔:2s) 8OB32 循环中断2(默认时间间隔:1s) 9OB33 循环中断3(默认时间间隔:500ms)10 OB34 循环中断4(默认时间间隔:200ms)11 OB35 循环中断5(默认时间间隔:100ms)12 OB36 循环中断6(默认时间间隔:50ms)13 OB37 循环中断7(默认时间间隔:20ms)14 OB38 循环中断8(默认时间间隔:10ms)15OB40 硬件中断0 16 硬件中断 OB41 硬件中断1 17 OB42 硬件中断2 18 OB43 硬件中断3 19 OB44 硬件中断4 20 OB45 硬件中断5 21 OB46 硬件中断6 22 OB47 硬件中断7 23OB55 状态中断 2 DPV1 中断 OB56 刷新中断2 OB57 制造厂商用特殊中断 2OB60 SFC 35“MP_ALM”调用 25 多处理器中断 OB61 周期同步中断1 25 同步循环中断 OB62 周期同步中断2 25 OB63 周期同步中断3 25 OB64 周期同步中断425OB70 I/O 冗余故障(只对于H CPU) 25 冗余故障中断 OB72 CPU 冗余故障(只对于H CPU) 28 OB73 通讯冗余故障(只对于H CPU) 25OB80 时间故障 26,281) 同步故障中断 OB81 电源故障 25,281) OB82 诊断中断25,281) OB83 模板插/拔中断 25,281) OB84 CPU 硬件故障 25,281) OB85 程序故障25,281) OB86 扩展机架、DP 主站系统或分布式I/O 从站故障 25,281) OB87 通讯故障 25,281) OB88 过程中断28OB90暖或冷启动或删除一个正在OB90 中执行的块或装载一个OB90 到CPU 或中止OB90292)背景循环1-2OB 启动事件 默认的优先级解释 OB100 暖启动 271) 启动 OB101 热启动 271)OB102 冷启动 271)OB121 编程故障 引起故障的OB的同步故障中断OB122 I/O 访问故障 优先级引起故障的OB的优先级1)优先级27 和28 在优先级启动模式中是有效的。
西门子S7-200PLC特殊继电器用法西门子PLC特殊标志继电器(SM)有些辅助继电器具有特殊功能或存储系统的状态变量、有关的控制参数和信息,我们称为特殊标志继电器。
用户可以通过特殊标志来沟通PLC与被控对象之间的信息,如可以读取程序运行过程中的设备状态和运算结果信息,利用这些信息用程序实现一定的控制动作。
用户也可通过直接设置某些特殊标志继电器位来使设备实现某种功能。
特殊标志继电器用“SM”表示,特殊标志继电器区根据功能和性质不同具有位、字节、字和双字操作方式。
其中SMB0、SMB1为系统状态字,只能读取其中的状态数据,不能改写,可以位寻址。
系统状态字中部分常用的标志位说明如下:SM0.0:始终接通;SM0.1:首次扫描为1,以后为0,常用来对程序进行初始化;SM0.2:当机器执行数学运算的结果为负时,该位被置1;SM0.3:开机后进入RUN方式,该位被置1一个扫描周期;SM0.4:该位提供一个周期为1分钟的时钟脉冲,30秒为1,30秒为0;SM0.5:该位提供一个周期为1秒钟的时钟脉冲,0.5秒为1,0.5秒为0;SM0.6:该位为扫描时钟脉冲,本次扫描为1,下次扫描为0;SM1.0:当执行某些指令,其结果为0时,将改位置1;SM1.1:当执行某些指令,其结果溢出或为非法数值时,将改位置1;SM1.2:当执行数学运算指令,其结果为负数时,将改位置1;SM1.3:试图除以0时,将改位置1;S7-200中SM0.0的用法:1、SM0.0在程序运行时始终为ON。
2、SM0.0是一个无条件的常闭触点,用来启动无条件运行的指令。
只要上电,SM0.0必然是“1”。
因此程序中那些不受任何条件限制,必须要执行的指令就用它作为触发触点。
3、问:程序有时要在指令前加SM0.0,为什么不直接连在母线上,不是一样吗?最佳答案:因为,S7-200的指令是不能直接连在“母线”上的,这不符合语法要求。
SM0.0是不可控的触点,适用于无条件触发的场合,并非每个指令都需要SM0.0。
1、自由循环组织块OB1S7 CPU启动完成后,操作系统循环执行OB1,OB1执行完成后,操作系统再次启动OB1。
在OB1中可以调用FB、SFB、FC、SFC 等用户程序使其循环执行。
除OB90以外,OB1优先级最低,可以被其他OB中断。
OB1默认扫描监控时间为150ms(可设置),扫描超时,CPU自动调用)B80报错,如果程序中没有建立OB80,CPU进入停止模式。
2、日期中断组织块OB10~OB17在CPU属性中,可以设置日期中断组织块OB10~OB17触发的日期、执行模式(到达设定的触发日期后,OB只执行一次或按每分、每小时、每周、每月周期执行)等参数,当CPU的日期值大于设定的日期值时,触发相应的OB并按设定的模式执行。
在用户程序中也可以通过调用SFC28系统函数设定CPU日期中断的参数,调用SFC30激活日期中断投入运行,与在CPU属性中的设置相比,通过用户程序,可以在CPU运行时灵活地修改设定的参数,两种方式可以任意选择,也可以同时对一个OB进行设置。
3、时间延迟中断组织块OB20~OB23时间延迟中断组织块OB20~OB23的优先级及更新过程映像区的参数需要在CPU属性中设置,通过调用系统函数SFC32触发执行,OB号及延迟时间在SFC32参数中设定,延迟时间为1~60000ms,大大优于定时器精度。
4、循环中断组织块OB30~OB38循环中断组织块OB30~OB38按设定的时间间隔循环执行,循环中断的间隔时间在CPU属性中设定,每一个OB默认的时间间隔不同,例如)B35默认的时间间隔为100ms,在OB35中的用程序将每隔100ms调用一次,时间间隔可以自由设定,最小时间间隔不能小于55ms。
OB中的用户程序执行时间必须小于设定的时间间隔,如果间隔时间较短,由于循环中断OB没有完成程序扫描而被再次调用,从而造成CPU故障,触发OB80报错,如果程序中没有创建OB80,CPU 进入停止模式。
S7-300PLC程序中插入OB块,避免CPU异常STOP使cpu进入stop的情况很多,比如地址调用错误,没有下载需要DB块,编程错误等等,如果你想避免错误时不使CPU进入停止状态,你可以在程序中加入特殊的OB块,则出现相应问题,调用相应的OB块,虽然里面没程序,PLC将对错误错误不作任何处理,继续运行。
否则PLC将进入停机状态可,比如:OB73通讯冗余出错OB当容错S7连接中发生首次冗余丢失时,H CPU的操作系统将调用OB73(只有在S7通讯中才会有容错S7连接)如果其它容错S7连接发生了冗余丢失,则不会再有OB73启动。
直到为具有容错功能的所有S7连接恢复冗余后,才会出现另一个OB73启动。
如果发生了启动事件且OB73没有编程,CPU不会转为STOP模式。
OB80时间出错组织块无论何时执行OB时出错,S7-300CPU的操作系统将调用OB80。
此类错误包括:超出周期时间、执行OB时出现确认错误、提前了时间而使OB的启动时间被跳过、CiR后恢复RUN模式。
例如,如果在上一次调用之后发生了某一周期性中断OB的启动事件,而同一OB此时仍在执行中,则操作系统将调用OB80。
如果OB80尚未编程,则CPU将转为STOP模式。
可以使用SFC39至42禁用或延迟和重新启用时间出错OB。
OB81电源出错组织块只要发生由错误或故障所触发的事件,而此错误或故障又与电源(仅在S7-400上)或备用电池(当事件进入和离开时)有关,则S7-300CPU的操作系统调用OB81。
在S7-400中,如果已使用BATT.INDIC开关激活了电池测试功能,则只有在出现电池故障时才会调用OB81。
如果OB81没有编程,则CPU不会转为STOP模式。
可以使用SFC39至42禁用或延迟,并重新启用电源出错OB。
OB82诊断中断组织块如果具有诊断功能的模块(已为其启用了诊断中断)检测到错误,则它会输出一个诊断中断的请求给CPU(当事件进入和离开时)。
1、自由循环组织块OB1S7 CPU启动完成后,操作系统循环执行OB1,OB1执行完成后,操作系统再次启动OB1。
在OB1中可以调用FB、SFB、FC、SFC等用户程序使其循环执行。
除OB90以外,OB1优先级最低,可以被其他OB中断。
OB1默认扫描监控时间为150ms(可设置),扫描超时,CPU自动调用)B80报错,如果程序中没有建立OB80,CPU进入停止模式。
2、日期中断组织块OB10~OB17 在CPU属性中,可以设置日期中断组织块OB10~OB17触发的日期、执行模式(到达设定的触发日期后,OB只执行一次或按每分、每小时、每周、每月周期执行)等参数,当CPU的日期值大于设定的日期值时,触发相应的OB并按设定的模式执行。
在用户程序中也可以通过调用SFC28系统函数设定CPU日期中断的参数,调用SFC30激活日期中断投入运行,与在CPU属性中的设置相比,通过用户程序,可以在CPU运行时灵活地修改设定的参数,两种方式可以任意选择,也可以同时对一个OB进行设置。
3、时间延迟中断组织块OB20~OB23 时间延迟中断组织块OB20~OB23的优先级及更新过程映像区的参数需要在CPU属性中设置,通过调用系统函数SFC32触发执行,OB号及延迟时间在SFC32参数中设定,延迟时间为1~60000ms,大大优于定时器精度。
4、循环中断组织块OB30~OB38 循环中断组织块OB30~OB38按设定的时间间隔循环执行,循环中断的间隔时间在CPU属性中设定,每一个OB默认的时间间隔不同,例如)B35默认的时间间隔为100ms,在OB35中的用程序将每隔100ms调用一次,时间间隔可以自由设定,最小时间间隔不能小于55ms。
OB中的用户程序执行时间必须小于设定的时间间隔,如果间隔时间较短,由于循环中断OB没有完成程序扫描而被再次调用,从而造成CPU故障,触发OB80报错,如果程序中没有创建OB80,CPU进入停止模式。
组织块(OB)概述何为组织块?组织块(OB)是指CPU的操作系统与用户程序之间的接口。
OB用于执行特定的程序段:1)启动CPU时在循环或定时执行过程中2)出错时3)发生硬件中断时。
组织块按照已分配的优先级来执行。
哪些OB可用?并非所有的CPU均可处理STEP 7中可用的所有OB。
请参阅操作列表/72/和/102/以确定您CPU中所包含的OB。
在何处查找详细信息?请参阅在线帮助和下列手册以获取更多信息:1)/70/:此手册包含描述不同S7-300 CPU性能的技术数据。
2)/101/:此手册包含描述不同S7-400 CPU性能的技术数据。
下表中给出了属于每个OB的启动事件和默认优先级。
OB 启动事件默认优先级解释OB1 启动结束或OB1结束 1 空闲周期OB10 时间中断0 2 未指定默认时间OB11 时间中断1 2OB12 时间中断2 2OB13 时间中断3 2OB14 时间中断4 2OB15 时间中断5 2OB16 时间中断6 2OB17 时间中断7 2OB20 延时中断0 3 未指定默认时间OB21 延时中断1 4OB22 延时中断2 5OB23 延时中断3 6OB30 循环中断0 (默认时间间隔:5s) 7OB31 循环中断1 (默认时间间隔:2s) 8OB32 循环中断2 (默认时间间隔:1秒) 9OB33 循环中断3 (默认时间间隔:500sms) 10OB34 循环中断4 (默认时间间隔:200sms) 11OB35 循环中断5 (默认时间间隔:100sms) 12OB36 循环中断6 (默认时间间隔:50sms) 13OB37 循环中断7 (默认时间间隔:20sms) 14OB38 循环中断8 (默认时间间隔:10sms) 15OB40 硬件中断0 16 循环中断OB41 硬件中断 1 17OB42 硬件中断 2 18OB43 硬件中断 3 19OB44 硬件中断 4 20OB45 硬件中断 5 21OB46 硬件中断 6 22OB47 硬件中断7 23OB55 状态中断 2 DPV1中断OB56 更新中断 2OB57 制造商特定中断 2OB60 SFC35 "MP_ALM"调用25 多处理中断OB 61 同步循环中断1 25OB 62 同步循环中断2 25OB 63 同步循环中断3 25OB 64 同步循环中断4 25OB 65 技术同步中断25 技术OB70 I/O冗余错误(仅在H CPU中) 25 冗余错误中断OB72 CPU冗余错误(仅在H CPU中) 28OB 73 通讯冗余错误OB (仅在H CPU中) 25OB80 时间错误26、28 1) 异步错误中断OB81 电源故障26、28 1) (对于S7-300),25、28 1) (对于S7-400 和CPU 318)OB82 诊断中断26、28 1) (对于S7-300),25、28 1) (对于S7-400 和CPU 318)OB83 插入/删除模块中断26、28 1) (对于S7-300),25、28 1) (对于S7-400 和CPU 318)OB84 CPU硬件故障26、28 1) (对于S7-300),25、28 1) (对于S7-400 和CPU 318)OB85 编程错误26、28 1) (对于S7-300),25、28 1) (对于S7-400 和CPU 318)OB86 扩展机架、DP主站系统或用于分布式I/O的站故障26、28 1) (对于S7-300),25、28 1) (对于S7-400和CPU 318)OB87 通讯错误26、28 1) (对于S7-300),25、28 1) (对于S7-400 和CPU 318)OB 88 处理中断28OB90 暖重启或冷重启,或删除OB90中正在执行的块,或将在CPU上装载OB90或终止OB90 29 2) 背景周期OB100 暖启动27 1) 启动OB101 热启动27 1)OB102 冷启动27 1)OB121 编程错误导致错误的OB优先级同步错误中断导致错误的OB优先级OB122 I/O访问错误1) 优先级27和28在启动的优先级模型中有效。