自动防火门系统西门子1200PLC和TP900触摸屏仿真程序T137+CAD +视频+PDF程...
自动防火门系统西门子1200PLC和TP900触摸屏仿真程序T137+CAD +视频+PDF程序博图15.1
自动防火门系统的PLC控制逻辑其实挺有意思的。最近在TIA Portal V15.1环境里捣鼓了个西门子S7-1200 PLC+TP900触摸屏的仿真方案,主要用到了OB1组织块和几个关键函数块。先看这段烟雾检测的处理代码:
IF #烟雾传感器1 OR #烟雾传感器2 THEN #Fire_Alarm := 1; "Door_Close_CMD" := TRUE; "Alarm_Light" := TRUE; "Buzzer" := TRUE; ELSE #Fire_Alarm := 0; END_IF;这段逻辑里特意用OR而不是两个传感器同时触发,主要是考虑误报问题。实际现场可能有个传感器故障,单独触发也要响应。注意这里用的是直接置位输出点,而不是中间变量,这样在触摸屏仿真时状态反馈更直观。
触摸屏这边用到了TP900的报警控件,重点配置了报警文本的滚动显示功能。在WinCC里设置报警记录时,记得勾选"归档到报警日志",否则仿真时历史记录会丢失。这里有个坑:博图V15.1的仿真器需要先激活PLC仿真,再开HMI仿真,不然通讯握手容易失败。
CAD图纸部分,建议用动态块来做门体运动模拟。在AutoCAD里给防火门块添加线性参数时,行程设置要对应PLC程序里的#Door_Position变量范围(0-100%)。注意设置机械限位时留2-3mm余量,避免仿真时出现超程报警。
自动防火门系统西门子1200PLC和TP900触摸屏仿真程序T137+CAD +视频+PDF程序博图15.1
仿真视频里演示的紧急手动控制逻辑很有意思:
// 手动模式优先级最高 IF "Emergency_Stop" THEN "Door_Close_CMD" := FALSE; "Door_Open_CMD" := TRUE; RESET_ALARM; END_IF;这个中断逻辑要放在主程序开头,确保急停信号能打断所有自动流程。调试时发现如果用置位指令会导致状态锁存,后来换成直接赋值才解决。
程序架构方面推荐采用模块化设计,把防火门控制、报警处理、HMI通讯分别做成FB块。特别是门控函数块要包含加速曲线算法:
#Speed_Ramp := INT_TO_REAL(#Timer_Count)/100.0; IF #Speed_Ramp > 1.0 THEN #Speed_Ramp := 1.0; END_IF; #Motor_Speed := 1500 * #Speed_Ramp;这段斜坡函数让门体启停更平缓,避免仿真时出现机械冲击的异常状态。调试时通过Trace功能抓取速度曲线,发现前0.5秒加速度变化不够平滑,后来把时间基数从100ms改成10ms才解决。
PDF文档里附带的IO映射表要注意信号滤波设置。比如烟雾传感器输入点属性里,默认的50Hz滤波对快速火情可能产生延迟,建议根据现场情况调整到10-20Hz。仿真时可以用PLCSIM Advanced强制输入信号,测试不同响应时间的系统表现。
