控制工程网首页 | 产品 | 在线研讨会 |  视频 | 空间 | 论坛 | 博客 
我的空间
用户名:
密 码:
我要加入该社区!   注册新会员
总共 , 当前 /
楼主:发表于:2016/5/27 15:25:04,查看2201次

 


//编译选项

//Compile options 

{

Scl_OverwriteBlocks:=           'y' ;

Scl_CreateObjectCode:=          'y' ;

Scl_OptimizeObjectCode:=        'y' ; 

Scl_MonitorArrayLimits:=        'y' ;

Scl_CreateDebugInfo :=          'y'  

}


FUNCTION_BLOCK MonAn

TITLE='Analog Monitoring'

NAME:MonAn

FAMILY:MyLib

AUTHOR:NC

VERSION:'1.0'

// KNOW_HOW_PROTECT

VAR_INPUT

    

    PV   : REAL := 0.0;    //Process Value

    PV_Unit {S7_m_c:='true'}  : INT:=1001 ;  // Unit 单位

    SimOn: BOOL := FALSE;  //Simalation On 仿真打开

    SimPV{S7_m_c:='true'}  : REAL := 0.0;   // Simulation Value 仿真值

    PVHR {S7_m_c:='true'}  : REAL := 100.0; // high range 过程值量程上限

    PVLR {S7_m_c:='true'}  : REAL := 0.0;   // low range过程值量程下限

    HHA  {S7_m_c:='true'}  : REAL := 95.0;  // H limit Alarm 高高报警

    HW   {S7_m_c:='true'}  : REAL := 90.0;  // H limit Warning 高警告

    LW   {S7_m_c:='true'}  : REAL := 10.0;  // L limit Warning 低警告

    LLA  {S7_m_c:='true'}  : REAL := 5.0;   // L Limit Alarm 低低报警

    HHA_EN : BOOL := TRUE;  // H Alarm Message Enable 高高报警消息使能

    HW_EN  : BOOL := TRUE;  // H Warning Message Enable 高警告消息使能

    LW_EN  : BOOL := TRUE;  // L Warning Message Enable 低警告消息使能

    LLA_EN : BOOL := TRUE;  // L Alarm Message Enable 低低报警消息使能

    Hys      {S7_m_c:='true'}  : REAL:=0.0;    // Hysterese value 滞后

    Deadband {S7_m_c:='true'}  : REAL:=0.0 ;   // Width of Dead band 零点死区

    ADCT  : REAL:=0.0;      // Alarm delay coming time 报警延迟到达时间

    WDCT  : REAL:=0.0;      // Warning delay coming time警告延迟到达时间

    ADGT  : REAL:=0.0;      // Alarm delay going time警告延迟离开时间

    WDGT  : REAL:=0.0;      // Warning delay going time报警延迟离开时间

    SAMPLE_T : REAL := 0.2; // Sampletime采样时间

    PULSE    : BOOL;//脉冲输入

//消息事件ID号

    MsgEvID1   {S7_a_type:='alarm_s';S7_server:='alarm_archiv'}  :DWORD:=DW#16#0; 

    MsgEvID2   {S7_a_type:='alarm_s';S7_server:='alarm_archiv'}  :DWORD:=DW#16#0;

    MsgEvID3   {S7_a_type:='alarm_s';S7_server:='alarm_archiv'}  :DWORD:=DW#16#0;

    MsgEvID4   {S7_a_type:='alarm_s';S7_server:='alarm_archiv'}  :DWORD:=DW#16#0;

    SD1 :ANY;

    SD2 :ANY;

    SD3 :ANY;

    SD4 :ANY;

    END_VAR


VAR_IN_OUT

    OP_dwCmd  {S7_m_c:='true'} : DWORD :=16#0;   // control word wincc操作命令

END_VAR


VAR_OUTPUT

    QdwState{S7_m_c:='true'}   : DWORD:=0;             // Status WinCC状态字

    QabyState AT QdwState : ARRAY [0..3] OF BYTE;    // look at state byte-wise

    QdwPerm   {S7_m_c:='true'}: DWORD :=16#FFFFFFFF;   // Permssion word wincc权限字

    QabyPerm AT QdwPerm: ARRAY [0..3] OF BYTE; 

    PV_OUT {S7_m_c:='true';S7_archive:='shortterm'} : REAL := 0.0; // Process Value out

    QHHA    : BOOL := FALSE;  // H Alarm is Active //高高报警到达

    QHW     : BOOL := FALSE;  // H Warning is Active//高警告到达

    QLW     : BOOL := FALSE;  // L Warning is Active//低警告到达

    QLLA    : BOOL := FALSE;  // L Alarm is Active//低低警告到达

    QHys    : REAL := 0.0;   //滞后值                            


END_VAR


VAR 

    //操作命令高低字节交换需要,以及AT指令拆分DWORD为32个BOOL变量 

    OPdwCmdHMI : DWORD := 16#0;                       // Operator Commands in HMI format

    OPabyCmdHMI AT OPdwCmdHMI : ARRAY [0..3] OF BYTE;  // look at HMI command byte-wise

    OPdwCmdPLC : DWORD := 16#0;                       // Operator Commands in PLC format

    OPabyCmdPLC AT OPdwCmdPLC : ARRAY [0..3] OF BYTE;  // look at plc command byte-wise

    OPabCmdPLC AT OPdwCmdPLC  : ARRAY [0..31] OF BOOL;


    //状态字AT指令拆分DWORD为32个BOOL变量 

    QdwStatePLC : DWORD := 16#0;                         // State word in PLC format

    QabyStatePLC AT QdwStatePLC : ARRAY [0..3] OF BYTE; // look at state byte-wise

    QabStatePLC AT QdwStatePLC : ARRAY [0..31] OF BOOL; // look at state bit-wise


    //权限字AT指令拆分DWORD为32个BOOL变量 

    QdwPermPLC : DWORD := 16#FFFFFFFF;  

    QabyPermPLC AT QdwPermPLC : ARRAY [0..3] OF BYTE;   // look at state byte-wise

    QabPermPLC AT QdwPermPLC : ARRAY [0..31] OF BOOL;   // look at state bit-wise 

    //警告及报警延时到达或离开计时器

    ADCT1 : REAL:= 0.0;  // Alarm delay coming time

    WDCT1 : REAL:= 0.0;  // Warning delay coming time

    ADGT1 : REAL:= 0.0;  // Alarm delay going time

    WDGT1 : REAL:= 0.0;  // Warning delay going time

    FP_Pulse:BOOL; //脉冲上升沿

    FP_1,FP_2,FP_3,FP_4:BOOL;

    HHLLA_C,HHLLA_G,HLW_G,HLW_C:BOOL;

    // First scan

    FstScan : BOOL := TRUE; //首次扫描

    RunUpCyc: INT  := 5; //运行周期预设值

    //Message

    MsgEffOld:BYTE:=B#16#0; //消息字节状态存储

    MsgEff:BYTE:=B#16#0; //当前消息字节

    MsgEff1 AT MsgEff :ARRAY[0..7]OF BOOL;

END_VAR


VAR_TEMP

    iRet1,iRet2,iRet3,iRet4:INT; 

END_VAR  

2楼:回复于:2016/6/3 20:19:16

太有才了。。

3楼:回复于:2016/6/5 13:54:39

接口属性介绍:

1. 变量自动上传

PVHR {S7_m_c:='true'}  : REAL := 100.0; // high range 过程值量程上限

S7_m_c属性相信大家都知道了,OS编辑的时候被标记该属性接口将会自动上传到wincc

2. 变量自动归档

PV_OUT {S7_m_c:='true';S7_archive:='shortterm'} : REAL := 0.0; // Process Value out

S7_archive:='shortterm'在OS编辑会被自动例进TagLogging的表格里,默认1s的归档速度

3. 报警消息自动生成

 MsgEvID1   {S7_a_type:='alarm_s';S7_server:='alarm_archiv'}  :DWORD:=DW#16#0; 

S7_a_type:='alarm_s';S7_server:='alarm_archiv'其中Alarm_S是报警功能块类型S7-300由于不支持Alarm_8P,所以选择1路报警Alarm_SQ,S7_a_type与S7_server必须配合使用,OS编译后

能将消息上传至AlarmLogging消息列表

4楼:回复于:2016/6/5 14:44:01

% ,Kpa,m3/h 单位的实现:

单位在模拟量监视块显的比较重要,一个功能块做好后,后面的人尽量无需修改面板和功能块的内容。但是每个项目不同,需要的模拟量单位也不同,怎么办呢?

不可否认,本人是PCS7的爱好者,目前正在学习PCS7,知道PCS7有一个长长的单位与一个int值的对应表,输入int就能在上位机wincc上显示出对应的单位文本。


OK,我复制下来了,并导入了文本库,大概有600多个,一定够用了,不够可以自己创建或修改一个已有的来替代。

文本配有一个唯一的检索号,根据这个检索号使用c脚本就能读出来。

总共 , 当前 /
  • 发表回复
请先登录,在回复。
  • 社区公告
  • 西门子自动化社区是西门子工业业务领域在本站开设的官方互动社区,旨在提供西门子工业业务领域的最新产品、技术和解决方案,同时为用户和西门子之间提供一个互动交流的平台。工业业务领域由工业自动化集团、驱动技术集团、客户服务集团以及冶金技术部构成,在中国拥有62个办事处以及14家运营公司。如欲了解更多信息,请访问:http://www.industry.siemens.com.cn。
  • 社区专家
  • 社区赞助商
  • 通过本社区和厂商联系
1.我有以下需求:
我想得到贵公司产品详细资料
我想得到贵公司产品的价格信息
我让贵公司产品销售人员联系我
我让贵公司技术支持人员联系我
2.详细的需求:

(不支持Html)
姓名:
单位:
电话:
邮件:
  • 网友反馈
  • 林女士 在2024/11/15留言
  • 留言类型:我想得到贵公司产品的价格信息,
  • 详细留言:询价 急件!控制阀用定位器 厂牌:SIEMENS 型号:6DR5210-0EN00-0AA0
  • 蒋春英 在2024/11/12留言
  • 留言类型:我让贵公司产品销售人员联系我,
  • 详细留言:想了解光电转换模块\KCP501PP/RMC-HI-TXFXMM和光电转换模块\KCP501PP/RMC-HI-TXFXMM的价格及货期,烦请联系我方便后期采购事宜
  • 在2024/10/09留言
  • 留言类型:得到贵公司产品的价格信息,贵公司产品销售人员联系我,
  • 详细留言:需要采购一批本公司的断路器,销售人员看见尽快联系我
更多请进入空间管理中心查看
© 2003-2024
本页面信息涉及广告内容