STEP7程序模块的调用方法_第1页
STEP7程序模块的调用方法_第2页
STEP7程序模块的调用方法_第3页
STEP7程序模块的调用方法_第4页
STEP7程序模块的调用方法_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SIMATICS7的程序模块的调用组织块OB的种类和调用方法功能FC和功能块FBC的用途及调用方法系统功能FC系统功能块SFB共享数据块DB和背景数据块DB的调用方法一、组织块OB的种类和调用方法1、种类及优先级别共有几十种组织块,分为主程序、中断、冗余错误、异步故障处理、同步故障处理、背景循环、启动方式处理等7大类。每种组织块具有不同的功能,用编号区别。有1~29个优先级别,1为最低级,29为最高级。当程序在执行较低级别组织块时,如果遇到特殊情况要执行较高级别组织块时,就会中断低级别组织块程序,转去执行高级别组织块。组织块OB的种类及优先级别类型名称优先级别主程序OB11中断OB10~OB17时间中断2OB20~OB23时间延迟中断3~6OB30~OB38循环中断7~15OB40~OB47硬件中断16~23OB55~OB57DPV1中断2OB60多处理器中断25OB61~OB64时钟中断25组织块OB的种类及优先级别类型名称优先级别冗余错误OB70I/O(只适用于H系统)OB72CPU(口适用于H系统)2528异步故障OB80时间错误OB81电源故障OB82I/O模块诊断中断OB83插入/移走模板中断OB84CPU硬件故障OB85程序循环错误OB86机架故障OB87通讯错误26组织块OB的种类及优先级别类型名称优先级别背景循环OB9029启动OB100暖启动OB101热启动OB102冷启动27同步错误OB121编程错误OB122访问错误引起错误的OB的优先级未列出编号的组织块是系统保留!2、常用组织块的调用方法主程序循环组织块OB1暖启动组织块OB100时间中断组织块OB10时间延迟中断组织块OB20其它有关组织块的使用方法请查阅相关手册主程序循环组织块OB1由CPU的操作系统调用循环执行。用于编写循环执行的控制程序。STEP7的程序自动包含了OB1,用户可以双击打开OB1进行编程。OB1有一个变量声明表,用户可以查询得到OB1运行的相关信息。这个变量声明表在打开OB1组织块编程时能看到,其信息存储在L区(临时缓冲存储区)。用户还可以添加定义OB1的变量。OB1的变量声明表名称类型地址说明OB1_EV_CLASSByteL0.00~3位=1(未来事件)4~7位=1(事件等级)OB1_SCAN_1ByteL1.0=1(冷启动检测),=3(OB1次数检测)OB1_PRIORITYByteL2.0OB1的执行优先等级=1OB1_OB_NUMBRByteL3.0OB1的编号=1OB1_RESERVED_1ByteL4.0保留OB1_RESERVED_2ByteL5.0保留OB1_PREV_CYCLEINTL6.0OB1的上一次循环时间(毫秒)OB1_MIN_CYCLEINTL8.0OB1的最小循环时间(毫秒)OB1_MAX_CYCLEINTL10.0OB1的最大循环时间(毫秒)OB1_DATE_TIMEDateL12.0OB1启动运行的日期和时间暖启动组织块OB100OB100~102是启动处理组织块,CPU启动时由操作系统调用执行一次,通常用于程序的初始化。这三个块内是空白的,要想执行程序的初始化,需要用户在这些块中添加指令。所有类型的CPU都支持暖启动组织块OB100,所以通常针对此块进行编程。在STEP的SIMATICManager窗口下,在块中插入S7块→组织块→OB100,然后双击OB100打开进行编程OB100也有一个变量声明表,用户可以查看相关信息。调用方法与OB1相同。时间中断组织块OB10OB10~17是时间中断组织块,可由用户设定在特定日期、时间执行一次中断,或者从特定日期、时间开始周期性重复执行一次中断。如:整点报时。执行中断的程序由用户编写。所有的机型都支持调用组织块OB10。个别机型还可以支持调用其它时间中断组织块。先在硬件组态窗口中,选择CPU属性的日时间中断对话框激活OB10,设置中断运行开始日期、时间和执行周期。然后在管理器窗口中添加组织块OB100,双击OB100打开编写程序。双击双击用户还可以在OB1块中调用SFC28来设置时间中断参数,调用SFC30激活时间中断,调用SFC29取消时间中断。调用SFC31查询时间中断情况。时间中断的时间设置必须设置成一个有效的时间,否则系统会产生一个错误信息,并执行异步错误处理中断OB80。例如:设置每月31日执行中断一次。时间延迟中断组织块OB20OB20~OB23是时间延迟中断组织块,所有机型都可以调用OB20。CPU处于运行状态才能执行它。可以使用OB20来充当高精度的通电延时定时器。OB20是通过调用SFC32来启动,延时时间、OB编号在SFC32中设置。先在OB1中编写调用SFC32的指令,然后再添加OB20块,最后打开OB20块编写延时后的执行指令。可调用SFC33查询延时中断状态,调用SFC33取消延时中断,调用SFC39禁止,调用SFC40激活。双击按F1键查看帮助信息二、功能FC和功能块FB的用途及调用方法1、用途

用户可以把程序中相同的控制过程、数据处理、信息传递的指令编写在指定的FC或FB中,然后在OB1或其它程序块调用它,调用时提供相关的参数和变量,来完成不同的任务。结构化编程通常采用这种方式,这样有利于提高程序的阅读分析、维护和运行效率。2、FC和FB的变量声明表FC、FB与功能块一样,有输入、输出、返回值等变量。用于接收输入的参数、使能输入信号,经处理后输出运算结果、使能输出信号、逻辑返回值。用户打开FC或FB编程时,要设定需要使用的变量的名称、数据类型。为了便于程序的阅读分析,尽可能地加上说明注释。FC和FB的变量声明表变量名称说明IN(输入变量)用于输入要处理的参数OUT(输出变量)用于输出运算处理结果IN_OUT(输入后输出变量)输入要处理的参数,经运算处理后输出被改变的数据。TEMP(临时变量)用于保存临时数据,调用完后被清除START(静态变量)在FB的背景数据块中使用,关闭FB后,其值保持不变。RETURN(返回值)FC中用于输出执行是否有效。3、FC的调用方法

建立一个FC用于LED的闪烁频率可调的控制,闪烁频率值以参数的形式输入。添加一个功能FC1,取名为LED_Flash。打开FC1,设定输入输出变量(形参)的名称、数据类型。编写LED闪烁的控制指令。打开OB1,编写赋不同实参的调用FC1指令。FC1的程序OB1的程序3、FB的调用方法建立一个FB用于两个整数的大小比较。把比较结果保存到指定存储区域。添加一个功能FB1,取名为CMP_Enable。打开FB1,设定输入输出变量(形参)的名称、数据类型。编写整数比较指令。打开OB1,编写指定实参的调用FB1指令。调用FB1时为它指定一个背景数据块DB30。所有参与运算的数据都保存该数据块中。FB1的程序OB1的程序双击三、系统功能SFC功能号说明0(SET_CLK)设置系统时钟(日期和时间)1(READ_CLK)读系统时钟(日期和时间)2(SET_RTM)设置运行时间表3(CTRL_RTM)启动/停止运行时间表4(READ_RTM)读运行时间表5(GADR_LGC)查询信道的逻辑地址6(RD_SINFO)读OB启动信息7(DP_PRAL)对DP主站触发硬件中断9(EN_MSG)激活被禁止的相关块、符号和组状态信息10(DIS_MSG)禁止被禁止的相关块、符号和组状态信息功能号说明11(DPSYC_FR)使DP从站组同步12(D_ACT_DP)激活或禁止DP从站组13(DPNRM_DG)读DP从站的诊断数据14(DPRD_DAT)读标准DP从站的一致性数据15(DPWR_DAT)向标准DP从站写一致数据17(ALARM_SQ)产生可认定的相关块的消息18(ALARM_S)产生永久并可认定的相关块消息19(ALARM_SC)查询上次调用SFC17时进入的状态消息的认定状态20(BLKMOV)复制变理21(FILL)初始化存储区22(CREAT_DB)创建数据块功能号说明23(DEL_DB)删除数据块24(TEST_DB)测试数据块25(COMPRESS)压缩用户程序26(UPDAT_PI)更新过程映像输入表27(UPDAT_PO)更新过程映像输出表28(SET_TINT)设置日期-时间中断29(CAN_TINT)取消日期-时间中断30(ACT_TINT)激活日期-时间中断31(QRY_TINT)查询日期-时间中断32(SRT_DINT)启动时间延时中断33(CAN_DINT)取消时间延时中断功能号说明34(QRY_DINT)查询时间延时中断35(MP_ALM)触发多处理中断36(MSK_FLT)屏蔽同步错误37(DMSK_FLT)不屏蔽同步错误38(READ_ERR)读错误寄存器39(DIS_IRT)禁止新的中断和异步错误40(EN_IRT)允许新的中断和异步错误41(DIS_AIRT)延迟更高优先级的中断和异步错误42(EN_AIRT)允许更高优先级的中断和异步错误43(RE_TRIGR)重新触发周期时间监测44(REPL_VAL)传送替代值到累加器1功能号说明46(STP)将CPU切换到STOP47(WAIT)延迟执行用户程序48(SNC_RTCB)使总线上的所有从时钟与主时钟同步49(LGC_BADR)查询逻辑地址的模板槽号50(RD_LGADR)查询模板的所有逻辑地址51(RDSYSST)读系统状态表或部分系统状态表52(WR_USMSG)将一个用户定义的诊断事件写到诊断缓冲区54(RD_PARM)读已定义的参数55(WR_PARM)写动态参数56(WR_DPARM)写默认参数57(PARM_MOD)分配模板参数功能号说明58(WR_REC)写数据记录59(RD_REC)读数据记录60(GD_SND)发送GD包61(GD_RCV)提取收到的GD包62(CONTROL)查询SFB背景通信的连接状态63(AB_CALL)安装代码块64(TIME_TCK)读系统时间65(X_SEND)向本地S7站外的通信设备发送数据66(X_RCV)接收来自本地S7站外通信设备的数据67(X_GET)读来自本地S7站外通信设备的数据68(X_PUT)向本地S7站外通信设备写数据功能号说明69(X_ABORT)放弃同本地S7站外通信设备的连接72(I_GET)读来自本地S7站内通信设备的数据73(I_PUT)向本地S7站内通信设备写数据74(I_ABORT)放弃同本地S7站外通信设备的连接78(OB_RT)确定OB程序运行时间79(SET)设置输出范围80(REST)复位输出范围81(UBLKMOV)移动不可中断块83(READ_DBL)在装载存储器中创建数据块84(WRIT_DBL)向装载存储器的数据块中写数据块87(C_DIAG)诊断实际连接状态功能号说明90(H_CTRL)在H系统中控制操作100(SET_CLKS)设置时间-日期及TOD状态101(RTM)设置启动、停止及读运行时间表102(RD_DPARA)读预定义的系统数据记录103(DP_TOPOL)在DP主站系统中辨识总线的拓扑结构104(CIR)控制CIR105(READ_SI)读系统动态资源106(DEL_SI)删除系统动态资源107(ALARM_DQ)产生可认定的相关块的消息108(ALARM_D)产生永久并可认定的相关块的消息126(SYNC_PI)在同步周期中更新过程映像分区输入表127(SYNC_POS)在同步周期中更新过程映像分区输出表四、系统功能块SFB功能块号说明0(CTU)增计数器,计数上限值=327671(CTD)减计数器,计数下限值=-327682(CTUD)增/减计数器,计数范围-32768~327673(TP)在信号的上升沿产生宽度为PT的脉冲4(TON)产生一个接通延迟5(TOP)产生一个断开延迟8(USEND)非协调发送数据9(URCV)非协调接收数据12(BSEND)发送分组数据13(BRCV)接收分组数据14(GET)从远程计算机读数据功能块号说明15(PUT)向远程计算机写数据16(PRINT)发送数据到打印机19(START)启动远程设备,从STOP模式切换到RUN模式20(STOP)停止远程设备,从RUN模式切换到STOP模式21(RESUME)使远程设备恢复启动22(STATUS)查询远程设备的通信状态23(USTATUS)接收远程设备的通信状态29(HS_COUNT)高速计数器30(FREQ_MES)频率表31(NOTIFY_8P)创建一个具有8条相关消息的消息块32(DRUM)顺序器33(ALARM)创建一个相关消息(通知显示)的消息块功能块号说明34(ALARM_8)创建一个具有8条相关消息(无数值)的报警块35(ALARM_8P)创建一个具有8条相关消息(有数值)的报警块36(NOTIFY)创建一个相关消息(不通知显示)的消息块37(AR_SEND)发送存档数据38(HSC_A_B)具有A/B相的高速计数器39(POS)位置控制41(CONT_C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论