LZ加油站 发表于 2008-4-9 08:01:56

变压吸附PSA—CO2运行中的难题

我公司PSAPSA—CO2运行将近半年,但一直发现一个问题:
随着运行时间的增加,操作站运行速度越来越慢,内存占用不断上升,直至系统死机。重启后正常,
重复如此。
经多次排查,发现是流程图显示各塔实时运行状态的中文变量,如“一吸”“二吸”“顺放”等,消耗内存(可能不会释放内存)造成。我们使用的DCS为浙江中控的JX-300XP。
如何才能彻底解决问题呢?
(解决实际问题可评分)

maogenfu 发表于 2008-4-9 09:46:15

那是DCS软件编程上的一个BUG。
可能原因是每一次循环,把变量推入(内存的)堆栈区以后,在该次循环结束时刻,没有把变量弹出堆栈,以至于把内存消耗殆尽。你找原来给你们编程的单位,修改一下就是了。
注意:在循环操作中,一次PUSH以后,一定要有一次POP的。否则的话在有限次循环以后,系统必死无疑!

LZ加油站 发表于 2008-4-10 08:10:51

用汇编语言时可以发生堆栈操作问题,在JX-300XP系统中采用的是SCX语言(一种类C)语言,没有专门释放内存变量的语句。

maogenfu 发表于 2008-4-10 13:31:03

楼主,如果是那样,.那就在每次循环开始时候用指针重新定义变量的地址。总不能满出来死掉啊!
要解决死机问题啊。
[ 本帖最后由 maogenfu 于 2008-4-10 13:36 编辑 ]

LZ加油站 发表于 2008-4-11 08:00:46

原帖由 maogenfu 于 2008-4-10 13:31 发表
                              
登录/注册后可看大图
楼主,如果是那样,.那就在每次循环开始时候用指针重新定义变量的地址。总不能满出来死掉啊!
要解决死机问题啊。
在高级语言中,没有堆栈、指针或地址等概念的!

maogenfu 发表于 2008-4-11 12:27:09

那高级语言是可以调用其他语言的,包括调用汇编语言的。
总之你要找他们解决程序死机的问题。
页: [1]
查看完整版本: 变压吸附PSA—CO2运行中的难题