- 发布
- 上海卓曙自动化设备有限公司
- 品牌
- 西门子SIEMENS
- 型号
- S7-200 SMART
- 产地
- 中国
- 电话
- 17307403740
- 手机
- 19151140562
- 发布时间
- 2023-03-30 19:39:50
西门子PLC模块抚州授权代理商SIEMENS原装 西门子PLC抚州授权代理商,抚州西门子PLC代理,西门子PLC代理
访问出错的输入字节被复位和保持为“0”,直到故障消失。
双击HW Config的机架中的CPU,打开CPU的属性对话框。可以用“周期/时钟存储器”选项卡中的选择框选择调用OB85的方式(见图6-25)。
CPU的属性对话框的周期/时钟存储器选项卡
项目“发动机控制”中OB1对FB1的两次调用,被图4-39中OB1对FB10的调用代替。FB10的输出参数“PE_DE_OverSpeed”送给符号名为“两台发动机超速”的共享数据Q5.7。调用FC1的汽油机的风扇控制程序与图4-19中的相同。
FB10的背景数据块 DB10 见图4-40,多重背景的名称“Petrol_Engine”和“Diesel_En-图4-39 OB1中调用多重背景功能块FB10
gine”加在FB1的局部变量之前,例如“Petrol_
Engine.Enging_On”。可以修改柴油机的预置转速“Diesel_Engine.Preset_Speed”的实际值,修改后需要下载到PLC。
使用多重背景时应注意以下问题
1)首先应生成需要多次调用的功能块(例如上例中的FB1)。
西门子PLC模块抚州授权代理商SIEMENS原装 西门子PLC抚州授权代理商,抚州西门子PLC代理,西门子PLC代理
2)管理多重背景的功能块(例如上例中的FB10)必须设置为有多重背景功能。3)在管理多重背景的功能块的变量声明表中,为被调用的功能块的每一次调用定义一个静态(STAT)变量作为多重背景,以被调用的功能块的名称(例如FB1)作为该静态变量的数据类型。
每个中断优先级对应的块堆栈可以储存的数据的字节数与CPU的型号有关。
3.中断堆栈(1堆栈)
如果程序的执行被优先级更高的OB中断,操作系统将保存下述寄存器的内容当前的累加器和地址寄存器的内容、数据块寄存器中DB和DI的内容、局部数据的指针、状态字、MCR(主控继电器)寄存器和块堆栈的指针。新的OB执行完后,操作系统读取中断堆栈中的信息,从被中断的块被中断的地方开始继续执行程序。
PLC的程序分为操作系统和用户程序,操作系统用来实现与特定的控制任务无关的功能,处理PLC的启动、刷新过程映像输入/输出表、调用用户程序、处理中断和错误、管理存储区和处理通信等。用户程序包含处理用户特定的自动化任务所需要的所有功能。
1. 用户程序的结构
STEP7将用户编写的程序和程序所需的数据放置在块中,使单个的程序部件标准化。通过块与块之间类似于子程序的调用,使用户程序结构化,可以简化程序组织,使程序易于修改、查错和调试。块结构显著地增加了PLC程序的组织透明性、可理解性和易维护性。各种块的简要说明见表4-1,OB、FB、FC、SFB和SFC都包含程序,统称为逻辑块。程序运行时所需的大量数据和变量存储在数据块中。
S7-300CPU默认的选项是“无OB85调用”,在发生I/O访问错误时不调用OB85,也不会在诊断缓冲区中生成条目,一般采用默认的设置。
S7-400CPU默认的选项是“每单个访问时”,在满足条件时,每个扫描循环周期都要调用一次 OB85 和在诊断缓冲区中生成一个条目,这样会增加扫描周期。建议选用“仅用于进入和离开的错误”,该选项只是在错误刚发生和刚消失时分别调用一次OB85。
在编写OB85的程序时,应根据OB85的启动信息,判定是哪个模块损坏或没有插入。OB85的局部变量OB_85_FLT_ID的错误代码的意义举例如下B#16#B1和B#16#B2分别表示更新过程映像输入、输出表时的I/O访问错误。可以用SFC49“LGC_GADR”查找有关模块所在的机架和槽位,以及模块的用户数据地址区中的偏移量。
4 机架故障或分布式I/O的站故障中断(OB86)
如果机架、DP主站系统或分布式I/O(DP从站或PROFINETIO设备)由于掉电、总线导线断开、IO 系统的故障,或者某些其他原因引起的故障,CPU的操作系统将调用组织块OB86。故障出现和消失时将分别调用一次OB86。可以根据OB86的启动信息,在OB86中编程,确定是哪个机架或分布式设备有故障或通信中断。
打开PLCSIM(见图4-49),下载所有的块,将仿真PLC切换到RUN-P模式。执行PLCSIM的菜单命令“Execute”(执行)→“Trigger Error OB”(触发错误OB)→“Hard-ware Interrupt(OB40-OB47)…”,打开“Hardware Interupt OB(40-47)”对话框(见图4-49右上方的小图),在文本框“Module address”(模块地址)内输入模块的起始地址0,在文本框“Module status(POINT_ADDR)”(模块状态(位地址))内输入模块内的位地址0。
单击“Apply”(应用)按钮,触发I0.0的上升沿中断,CPU调用OB40,Q4.0被置为1状态,同时在“Intermupt OB”(中断 OB)显示框内自动显示出对应的OB 编号40。将位地址(POINT_ADDR)改为1,模拟I0.1产生的中断,单击“Apply”按钮,在松开按钮,Q4.0被复位为0状态。单击“0K”按钮,将执行与“Apply”按钮同样的操作,同时关闭对话框。
4.禁止和激活硬件中断
图4-50是OB1中的程序,在10.2的上升沿调用SFC40(EN_IRT)激活OB40对应的硬件中断,在I0.3的上升沿调用SFC39(DIS_IRT)禁止OB40对应的硬件中断。SFC中的MODE为2时,OB_NR的实参为0B的编号。
单击两次PLCSIM中I0.3对应的小方框,OB40被禁止执行。这时用图4-49右上角的对话框模拟产生硬件中断,不会调用OB40。单击两次10.2对应的小方框,OB40被允许执行,又可以用10.0和10.1产生的硬件中断来控制Q4.0了。
西门子PLC模块抚州授权代理商SIEMENS原装 西门子PLC抚州授权代理商,抚州西门子PLC代理,西门子PLC代理