No.892 S7-300 PLC和组态王散装水泥生产线在线称重控制系统设计

水泥厂里那套称重控制系统总出幺蛾子?老张蹲在控制柜前边啃煎饼边骂街。别慌,今天咱们用S7-300 PLC和组态王搭个靠谱的在线称重系统,让散装水泥乖乖听话。

先看硬件配置:315-2DP CPU带着SM331模拟量模块(6ES7 331-7KF02),这货8通道带隔离,接称重传感器正合适。记得把量程卡拨到4线制电流模式,别问我怎么知道的——去年有哥们接成电压模式,传感器直接表演"蹦极"。

称重程序的核心在OB35中断组织块里跑,100ms周期稳如老狗。上硬菜:
FUNCTION FC105 : REAL //重量转换块
VAR_INPUT
IN : INT; //原始模拟量
HI_LIM : REAL :=5000.0; //最大量程
LO_LIM : REAL :=0.0;
END_VAR
VAR
RET_VAL: INT;
END_VAR
BEGIN
CALL "SCALE" (
IN :=#IN,
HI_LIM :=#HI_LIM,
LO_LIM :=#LO_LIM,
BIPOLAR :=FALSE,
RET_VAL =>#RET_VAL,
OUT =>FC105);
END_FUNCTION
这坨代码把0-27648的原始值转成实际吨数。注意水泥仓的悬挂结构会让传感器输出抖动,咱在DB10里搞个滑动滤波:
L PIW256 //称重传感器输入
ITD //转成双整
DTR //转浮点
L 5 //5次滑动平均
SLD 3 //乘以8(每个浮点占8字节)
LAR1 //地址寄存器指向滤波数组
+R //累加
... //循环处理省略
组态王那边配置才是重头戏。新建IO设备时选S7-300的PPI驱动,波特率蹲在187.5k别乱动。重点看报警脚本:
If 当前重量 > 设定值 * 1.05 Then
SetAlarm "超载报警", 2
WriteData "停机", "PLC1.DBX10.0", 1
End If
调试时遇到过灵异事件——称重值每隔半小时跳变。后来发现是PLC接地和传感器屏蔽层接了同一个端子,分开走线立马老实。建议在组态王趋势图里同时监控原始AD值和计算值,出问题先看两曲线是不是同步抽风。
这套系统跑起来后,老张的煎饼都凉了——现在他靠在椅背上刷手机,偶尔瞅两眼组态王上的三维料仓动画。哦对了,WinCC的报表功能记得设置整点自动存盘,要不月底对账时...(突然响起的报警声打断了我的思路)

203

被折叠的 条评论
为什么被折叠?



