登录
首页 DCS论坛 DCS论坛
回帖 发帖
正文

主题:组态编程高手请进

点击:2265 回复:7

看看这个功能块编的复杂控制有没有问题:
附件
工艺控制流程:
连锁开关AM,OFF状态------->  g_bsc[0]  脱水塔塔釜液位单回路控制
连锁开关AM,ON状态
             ↓
比较脱水塔釜温度(TRC-101)        TRC-101≥S02-B
测量值和脱水塔进水标志温度           ------------>   g_bsc[0]  脱水塔塔釜液位单回路控制
给定值(S02-B)大小
TRC-101    |
   ≤         |
 S02-B     ↓
        LAL低限报警
             ↓
脱水塔釜液位测量值(LRC-101)大于脱水塔釜安全液位设置值
             ↓
脱水塔加料调节阀FV-101关
05-08-30 21:01
你这样应该编译不了的,我觉得用SCX语言编程解决这问题要简单些
我试着做了下,碰到点小问题没弄明白,有空贴出来讨论一下
SCX语言中不能直接给变量赋值,我不知怎样设定SO2-B、SO2-C、SO2-D
三个设置值,不知道宏定义行不行,高手请指教一下
05-09-09 22:34
表情
05-09-11 13:25
表情可以编译,有空把你的贴出来看看,讨论一下。
05-09-11 13:26
/* AM      :脱水塔温控联锁开关
  TRC-101 :脱水塔塔釜温度
  LRC-101 :脱水塔塔釜液位
  SO2-B   :脱水塔进水标志温度设定值
  SO2-C   :脱水塔进水处理塔釜安全液位设置值
  SO2-D   :精馏塔进水处理塔釜安全液位设置值
  FV-101  :脱水塔加料调节阀启停开关
  g_bsc[0]:脱水塔塔釜液位控制回路
  g_bsc[1]:精馏塔塔釜液位控制回路 */
main()
{
//bool LALLI;
if (_TAG("TRC-101").PV >= _TAG("SO2-B"))
{
_TAG("AM") = ON;
g_bsc[0].SwAM = ON;
 }
else
{
_TAG("AM") = OFF;
_TAG("LALLI") = lal(_TAG("LRC-101"),0.1f,0.05f,0);
// LAILI = lal(_TAG("LRC-101"),0.1f,0.05f,0);
        if (_TAG("LRC-101").PV > _TAG("SO2-C"))
   {
       _TAG("FV-101") = OFF;
    }
    }
}
05-09-14 20:31
你看看不知和你的要求有出入没有,肯定有错误的,只是我水平有限,也有请高手多指教了
05-09-14 20:32
这个也能编译通过,有时间我把注释加上再贴一下
05-09-14 20:35
SCX语言编程实例:楼主可能有这个嘀
http://www.gkong.com/gkong_bbs/dispbbs.asp?Boardid=44&id=49624&star=1#329217
05-09-14 20:42

工控新闻

更多新闻资讯