PCS7 自定义PID阀门显示块

已锁定

柳叶飘飘

  • 帖子

    95
  • 精华

    7
  • 被关注

    194

论坛等级:侠圣

注册时间:2016-12-08

黄金 黄金 如何晋级?

PCS7 自定义PID阀门显示块

3796

3

2016-12-27 21:23:02

废话不多说直接上菜(该程序非常简单,可以供入门的朋友参阅)

实现:能够连接PID块在画面生成对应的阀门块(PCS7的PID块能自动生成但是阀门不能生成)

第一步:编写SCL源文件

//#################################################################################

//用于生成PID阀门显示图标

//#################################################################################

FUNCTION_BLOCK ValveICO

TITLE =   'ValveICO'

{                            // List of system attributes

//S7_tasklist:= 'OB80,OB100';  // Block is called if there is a time error and at a warm restart

S7_m_c:=      'true';        // Block can be controlled and monitored

S7_alarm_ui:= '1'            // Setting for PCS 7 message dialog ('0'=standard message dialog)

}


AUTHOR:   EBC_LW

NAME:     ValveICO

VERSION:      '0.01'

FAMILY:   EBC

KNOW_HOW_PROTECT



VAR_INPUT

    

Status3_IN:DWORD;//PID状态字3

RbkOut_IN

  : STRUCT

     VALUE: REAL;

      ST : BYTE;

      

      

  END_STRUCT;//PID阀位反馈

  

VAL_H:REAL:=90.0;//开到位参数

VAL_L:REAL:=10.0;//关到位参数

//RbkOut_Unit:INT:=1342;//单位

END_VAR


// Block Parameters



VAR_IN_OUT

    STATUS_TP:DWORD;// I/O Parameters

END_VAR





VAR_OUTPUT

OUT

  {  

    S7_m_c:='true'       

  }:

  STRUCT

    VALUE : REAL;

    ST : BYTE;

    

  END_STRUCT;//输出反馈值    

STATUS

  {  

    S7_m_c:='true'       

  }: BYTE;//输出状态字


END_VAR

STATUS_TP:=Status3_IN AND DW#16#10000000;//PID状态字3 中取第28位

IF STATUS_TP=DW#16#10000000 THEN

    //阀门故障

    STATUS:=3;

  ELSE

    IF RbkOut_IN.VALUE>=VAL_H THEN

        //阀门开到位

        STATUS:=1;

      ELSE

        IF RbkOut_IN.VALUE<=VAL_L THEN

            //阀门关到位

            STATUS:=2;

          ELSE

            //阀门在中间位置

            STATUS:=0;

        END_IF;    

    

     END_IF;    

    

END_IF;

OUT:=RbkOut_IN;


END_FUNCTION_BLOCK

第二步 制作图标模板

我是直接在@PCS7TypicalsAPLV8.PDL画面中添加图标模板,也可以自己新建开头为@PCS7Typicals*的画面文件将模板放于其中。

这个是我建立好的模板效果如下

制作步骤 复制一个阀门图标块修改 删除图标框内内容

在其中添加:1. 一个状态显示(用于阀门状态显示内容)2.模拟量显示扩展(用于显示阀门开度)3.静态文本“%”

对状态显示进行组态(组态你要的图标,建议使用EMF格式,请使用VISIO制作)

选中图标块“完成编辑”打开组态对话框(关键!!)

删除原有的连接建立如下连接(拖动到链接下方即可)


点击图标块的属性

修改TYPE的属性入图所示(这个和SCL中的名字有关)斜杠后面的1为编号,这个和一般的块使用一致不在讲述。

修改链接中的变量如图

图标制作就算完成了

第三步 编译SCL块并组态

设置属性

PID连接

PID连接

完毕编译画面就能自动生成你要的图标块了


图标块的模板PCS78.1 SP1版本

附件.rar

//原创程序请多交流 QQ:275578306

PCS7 自定义PID阀门显示块 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

DCS/SIMATIC PCS7

共有4374条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。