python3计算运行时间_西门子SCL编程实例-计算设备运行时间

前面我们介绍了西门子SCL编程入门的系列基础教程,今天这篇文章我们做实例讲解——计算设备的运行时间;

70832c2f807eed01a43a39e0602bdc62.png

说明:本例程使用博途V14开发环境,PLC为CPU 1214C

思路如下:

  1. 创建用户自定义数据类型:MyEquipment;
  2. 创建全局数据块:myEquipmentData;
  3. 在启动组织块(OB100)中获取系统时间;
  4. 创建功能:FC_Running_Time_Caculate(FC1),用于计算设备运行时间;
  5. 在主程序块(OB1)中调用FC_Running_Time_Caculate,计算设备的实际运行时间;

下面来具体实现:

1、创建用户自定义数据类型

用户自定义数据类型可以把不同的数据类型组织到一起,当需要修改的时候只需要在定义中进行修改,其它已经引用的数据会自动修改,非常适合于程序的模块化设计。

本例程我们定义数据类型:MyEquipment,包括如下成员:

  1. number:整数类型,设备的编号;
  2. status:字节类型,设备的状态,0=关机;1=开机;
  3. starting_time:DTL类型,设备的开机时间;
  4. running_time:Time类型,设备的运行时间;

如下图所示:

e24f319ccca2abcab108885300f738ff.png

2、创建全局数据块

创建全局数据块myEquipmentData,新建名称为"equipment_data"的数组,数据类型为"myEquipment",如下图所示:

bb246aa1849fbc53ddd18c1086f73340.png

3、在系统启动块中获取系统时间

添加启动组织块(Startup),在变量声明区声明变量:tmp_system_time和tmp_return_int,如下图所示:

6ff5bc51d94614911d78e9bd8a86bfa7.png

在代码区对全局数据块的设备数组进行初始化,代码如下图:

2b29f1155810d9a380c317294000a2d6.png

4、创建功能FC_Running_Time_Caculate

创建功能FC_Running_Time_Caculate来计算系统的运行时间

FC的形式参数:

输入:equip,类型为:MyEquipment;

输出:running_time,类型为:Time;

临时变量:tmp_return_value;tmp_system_time;tmp_caculate_time;

如下图所示:

3cb2753ee5d56ef2d78a298a7efa987d.png

代码区通过获取当前系统时间,减去设备启动时的时间,就得到设备的运行时间,如下图所示:

04efc921cb764d96a521d6d36a2ad7c6.png

5、主程序调用

在主程序中调用FC_Running_Time_Caculate来计算实际的运行时间,并将数值存放到全局数据块的设备运行时间中。代码如下:

539560030570f08e41a258605008c7d3.png

好了,这就是SCL语言编写的一个实际例程。在该例程中我们使用了用户自定义数据类型、数组、模块化设计等内容,你可以好好体会下。

对了,我的新书《西门子S7-200 SMART PLC应用技术》已经出版了。如果你感兴趣可以点击左下角的【了解更多】看详细介绍。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值