141-脱硫程序博途v16+wincc7.5sp2一套,西门子et200sp1510 Plc,上位机wincc,博图标准功能快编程,wincc结构变量,面板实例,方便修改和套用,带图纸 博途版本为V16,编程使用多重背景,方便增添删改,编程语言为梯形图SCL混合,程序简洁,容易读懂。 Wincc版本为7.5sp2,使用结构变量与面板实例相结合,可直接拖拽生成画面,省去了传统一个一个连变量的麻烦,大量节省工程师组态时间,高效便捷。 博途功能库除本脱硫程序使用的电机阀门模拟量块,另外包含了pid控制块,调节阀控制,流量计算和累计,可适应大部分过程控制场合。 wincc的结构变量和面板实例配合博途的多重背景,大大减轻了工程师的工作量,画面直接拖拽即可,每个面板实例的弹出窗口都会自动生成设备操作记录和历史记录。

最近在做一个脱硫系统的开发项目,选用了西门子的ET200SP 1510 PLC,上位机用的是WinCC 7.5 SP2,编程环境是博途V16。整个过程下来,感觉这套组合确实挺高效的,特别是在代码结构和上位机组态方面,省去了不少麻烦。下面分享一下我的开发心得,顺便带点代码和分析,让大家看看我是怎么搞的。


**博途V16:多重背景让程序更灵活**

博途V16这次用的是多重背景功能,感觉挺方便的。以前写PLC程序,背景图太多的话,增删改查都很麻烦。现在用了多重背景,新增一个功能块直接拖进去就行,删的时候也方便,完全不用担心结构混乱。

编程语言方面,这次主要用了梯形图和SCL的混合编程。梯形图用来处理逻辑控制,比如电机启停、阀门开关这些;SCL则用来处理复杂的计算任务,比如流量累计和PID调节。这样分开写,程序看起来清晰多了。

举个例子,脱硫系统里有个电机控制的梯形图,大概是这样写的:

// 电机启动条件
M0.0 := I0.0 AND Q0.0 NOT;
// 电机运行状态
Q0.0 := M0.0 AND NOT Q0.1;

这段代码看起来是不是挺直观的?就是简单的启动和停止逻辑,Q0.0控制电机输出,M0.0是启动条件,I0.0是启动按钮,Q0.1是停止按钮。梯形图的优势就是逻辑清晰,一眼就能看懂。


**WinCC 7.5 SP2:结构变量 + 面板实例 = 组态效率翻倍**

上位机用的是WinCC 7.5 SP2,这次重点用到了结构变量和面板实例。说实话,之前用WinCC的时候,总是得一个一个变量去连接,搞半天才能完成画面组态。这次用了结构变量,直接拖拽就能生成画面,效率提升可不是一点半点。

比如,脱硫系统的面板实例,直接拖拽生成一个设备窗口,连带设备的操作记录和历史记录都自动带出来了。这个功能真的太香了,省去了不少配置时间。

141-脱硫程序博途v16+wincc7.5sp2一套,西门子et200sp1510 Plc,上位机wincc,博图标准功能快编程,wincc结构变量,面板实例,方便修改和套用,带图纸 博途版本为V16,编程使用多重背景,方便增添删改,编程语言为梯形图SCL混合,程序简洁,容易读懂。 Wincc版本为7.5sp2,使用结构变量与面板实例相结合,可直接拖拽生成画面,省去了传统一个一个连变量的麻烦,大量节省工程师组态时间,高效便捷。 博途功能库除本脱硫程序使用的电机阀门模拟量块,另外包含了pid控制块,调节阀控制,流量计算和累计,可适应大部分过程控制场合。 wincc的结构变量和面板实例配合博途的多重背景,大大减轻了工程师的工作量,画面直接拖拽即可,每个面板实例的弹出窗口都会自动生成设备操作记录和历史记录。

再看看结构变量的定义,简单得很:

STRUCT MyDevice
    DWORD Status;
    WORD Temp;
    BYTE Valve1;
END_STRUCT

这样定义好结构体后,直接用拖拽的方式就能生成对应的画面,变量自动关联,完全不用手动配置每个点位。这波操作,给WinCC点赞!


**功能库:解决90%的常见问题**

这次开发还用到了博途自带的功能库,里面有不少好东西,比如电机控制块、阀门模拟量块、PID控制块等等。这些功能块直接调用,省去了不少自己写代码的时间。

举个例子,PID控制块的配置:

// PID控制块调用
PIDCtl(
    IN_SETPOINT := SetPoint,
    IN_MEASUREMENT := Measurement,
    OUT_CONTROL := ControlOutput,
    Kp := 1.0,
    Ki := 0.1,
    Kd := 0.05
);

这段代码就是标准的PID控制,直接调用库函数,参数配置好就行。这样写的好处是代码简洁,而且调试起来也方便,毕竟PID控制块的稳定性是有保障的。


**实际应用案例:脱硫系统运行记录**

整个系统搭建完成后,运行记录也挺方便的。每个面板实例都会自动记录设备的操作和历史数据,这样后期维护起来也容易多了。

比如,脱硫系统的运行记录画面,直接就能看到设备的启停时间、运行状态、报警信息等等:

// 运行记录示例
DeviceRecord(
    DeviceID := 1,
    StartTime := START_TIMER,
    EndTime := END_TIMER,
    Status := DeviceStatus,
    Alarm := DeviceAlarm
);

这段代码记录了设备的运行数据,方便后续分析和维护。整个系统运行起来后,数据采集和记录这块完全不用操心。


**总结:高效开发,从工具开始**

总的来说,这次用博途V16和WinCC 7.5 SP2开发脱硫系统,感觉还是很顺利的。多重背景和结构变量的组合,大大提升了开发效率;功能库的使用,也让程序更简洁易懂。特别是WinCC的面板实例功能,直接拖拽生成画面,真的太省事了。

如果你也在做类似的项目,不妨试试这套组合。工具选好了,开发效率自然就上去了。当然,代码结构和功能块的使用也很重要,一定要根据实际需求来设计,这样才能发挥出工具的最大潜力。

最后,附上一张系统运行的截图,看看这画面,是不是很整洁?

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐