三明西门子PLC模块经销总代理商三明西门子PLC代理,三明西门子S7-1500代理,西门子PLC代理
西门子PLC如何使用多重背景数据块
有时需要多次调用同一个功能块,每次调用都需要生成一个背景数据块,但是这些背景数据块中的变量又很少,这样在项目中就出现了大量的背景数据块“碎片”。在用户程序中使用多重背景可以减少背景数据块的数量。
OB82调用SFB54后,保存在DB6和DB7中的诊断信息与项目315_PN同样的故障读取的诊断信息基本上相同。
(2)拔出有诊断功能的DO模块
行时拔出200S DP 的6号槽组态了诊断功能的DO模块,CPU和CP443-1的EXTF LED亮,IM 151-3 DP和DO模块的SF LED亮。从变量表可以看出,CPU分别调用了一次OB83和OB86,模块拔出期间,多次调用OB85。
2)X_SEND、X_RCV、X_GET与X_PUT用于S7CPU与其他具有通信功能的模块之间交换数据,通信伙伴在同一个MPI子网内,但不是在同一个站内。块的名称中的“X”表示外部。
用于S7基本通信的SFC可以在所有的S7-300/400 CPU上运行,S7-300/400 CPU还可以用X_GET和X_PUT来读写S7-200CPU中的数据。S7-200在S7基本通信中只能作服务器,因此不需要对S7-200组态和编程。
用于S7基本通信的SFC
3. S7基本通信SFC的公用参数的说明
(1)输入参数 REQ
REQ(请求激活)是电平触发的控制参数,REQ为1时触发任务。
(2)输入参数 REQ_ID
仅SFC65和SFC66使用REQ_ID来识别发送的数据。下列情况下,需要在接收端使用参数REQ_ID:
1)发送端的CPU用不同的REQ_ID调用几次SFC65,将数据发送到同一个通信伙伴。
选中SIMATIC管理器左边窗口的400站点,执行菜单命令“PLC”→“诊断/设置”→“模块信息”,打开CPU的模块信息对话框。因为在CPU的每个扫描循环周期都要调用一次OB85,断缓冲区中的事件都是调用OB85的信息,“关于事件的详细资料”区(见图11-35)给出出现故障的模块的地址为IB11(即6号槽的DI模块的地址)。
双击诊断视图中的IE/PB link,打开它的模块信息对话框,在“关于事件的详细资料”区(见图11-36),可以看到3号站地址为11的模块被拔出的信息。
在图4-46中数字量输入模块输入信号的第一个上升沿时触发中断,由于正在用OB40处理中断,第2个和第3个上升沿产生的中断信号丢失。
如果正在处理某一中断信号时,同一模块其他通道或其他模块产生了中断事件,新的请求将被记录,空闲后再执行该中断。当前的中断组织块执行完后,再处理被记录的中断。
1.硬件组态
生成一个名为“OB40例程”的项目(见随书光盘中的同名例程),CPU模块的型号为CPU315-2DP。选中SIMATIC管理器左边的300站对象,双击右边窗口的“硬件”图标,打开硬件组态工具HW Config(见图4-47)。将硬件目录中名为“DI4xNAMUR,Ex”的4 点DI模块插入4号槽,16点D0模块插入5号槽。
例程“多重背景”(见随书光盘中的同名例程)与例程“发动机控制”的控制要求相同,两个例程中的FB1和FC1亦相同。原来用FB1控制汽油机和柴油机时,分别使用了背景数据块DB1和DB2。使用多重背景时只需要一个背景数据块DB10(见图4-36),但是需要增加一个功能块FB10来调用作为“局部背景”的FB1,FB1的数据存储在FB10的背景数据块DB10中。不需要给FB1分配背景数据块,即原来的DB1和DB2被DB10代替,但是需要在FB10的变量声明表中声明数据类型为FB1的两个静态变量(STAT)。