对峙进修第四天:利用博途软件编写流量累积功
坚持学习第四天使用博途软件编写流量累积功能块
使用博途软件编写流量累积功能块
使用西门子博途软件编写一个根据瞬时流量计算累计流量的功能块;大部分的流量计都自己带流量累积,不需要计算,有极少一部分流量计不带流量累积功能,那就需要用PLC或者上位机来设计一个根据瞬时流量来计算累计流量的功能块。
- 累计流量的意义
目前市面上大部分PLC都带有流量累积功能块,一般命名为“Totalizer”,有大部分都需要官网下载或者一些特定的渠道下载,有时候着急用的时候还找不到,流量累积在一些特定的流程工业控制领域是很重要的一个参数,对数据分析有很重要的意义;实际上根据瞬时流量来计算累计流量就是把PLC每个扫描周期采集到的数据进行简单的累加,复杂的还有一些特定的参数设定,对于PLC做的流量累积实际上还是有些一些误差的,因为没有补偿;现在我们用博途的SCL语言来编写一个简单的流量累积公式。
- 博途软件实现累计流量计算的方法
2.1 FB函数块建立
我们需要打开博途软件,本文用的是博途V15版本,在程序块处点击添加一个FB程序块,编程语言使用SCL,命名“流量累积”,如图1所示。
图1 建立流量累积FB块
2.1 建立临时变量
打开建立好的功能块,在上方添加临时变量,具体的临时变量设置组态与名称如图2所示。
图2 临时变量组态
2.2 程序编写
在变量组态的下方空白处进行流量累积计算程序编写,具体的编写程序如图3所示。
图3 流量累积程序编写
在一个循环中,输入变量 "时间单位" 和"扫描时间" 数据类型 Time 被转化为 Real 类型;转化后的值被转移到临时变量 “时间单位_Real” 和 “扫描时间_Real”;变量 "瞬时流量" 的输入值乘以临时变量 "扫描时间_Real" 的值,然后除以临时变量 “时间单位_Real”;再加上上一次计算的值;结果存储在静态变量 “中间值” 的缓冲区。
这样每次循环之后,中间结果值存储在“中间值” 的缓冲区中递增,然后转移到输出变量“累积流量” 中。如果变量 “复位” 有“True” 的值,则变量 “累积流量” 输出值被复位为零。
- 程序仿真测试
"流量累积" 功能块必须在循环中断(比如OB30)中调用,不然计算中误差会很大,新建一个循环中断,命名为“累积流量计算”,将“流量累积”功能块调用,填写各个参数;在此程序中,瞬时流量的值为100,输出变量“累积流量”的值在1分钟内从0累积到100,扫描时间单位是100毫秒,和CPU扫描时间对应,当FB在循环中断中被调用时,程序每隔 100ms 处理一次而且程序是独立于 OB1 (主程序)的。被测量值 "瞬时流量" (速度或流量)的计量单位可以是米每秒,立方米每分钟或公里每小时。这时变量 "时间单位" 必须输入对应的间隔时间,例如米每秒 T#1s、立方米每分钟 T#1M、公里每小时T#1h。程序如图4所示。
图4 流量累积功能块调用
使用博途自带的仿真程序进行仿真测试,仿真运行测试正常,程序仿真如图5所示。
图5 程序仿真测试
抽空再做一个上位机组态的测试。
不足之处还望海涵,请各界大佬多多批评指教!
程序仅供参考!
奇闻怪事
- 黎姿老公马廷强前妻 黎姿老公马廷强前妻是谁
- 紫禁城闹鬼是真的吗 紫禁城闹鬼是怎么回事
- 80年黄河透明棺材事件 80年代黄河透明棺材始末
- 51区外星人录像是真的吗 51区外星人真的存在吗
- 姜潮麦迪娜恋爱过程 姜潮麦迪娜怎么认识的
- 根达亚文明大概离现在多久 根达亚文明距今多少
- 赤塔事件真的还是假的 赤塔事件到底怎么回事
- 百慕大三角在哪个国家 百慕大三角在哪个国家的
- 邓超出轨安以轩:邓超出轨安以轩是不是真的
- 中国十大闹鬼最凶的地方 中国十大闹鬼最凶的地
- 湘西鬼结婚事件:湘西鬼结婚事件真假
- 中国昆仑山10大灵异绝密档案 中国昆仑山10大灵异
- 李维嘉的父亲是谁 李维嘉父母是哪里人
- 朱秀华事件是不是真的 朱秀华事件的真相是什么
- 太湖冤魂:太湖冤魂事件真假
- 爪哇虎和东北虎谁厉害 爪哇虎和东北虎谁厉害一