Any型指针变量移植到S71500的问题

已锁定

king mario

  • 帖子

    30
  • 精华

    0
  • 被关注

    3

论坛等级:游士

注册时间:2016-03-26

普通 普通 如何晋级?

Any型指针变量移植到S71500的问题

2788

6

2018-04-18 15:47:05

本人新手一枚,现在需要将S7-300的程序移植到S7-1500中。对于any类型变量不知如何处理。现用下面的程序进行举例说明。

该程序主要功能是根据command的值,为WRREC函数的record变量分配指向不同类型结构数据的指针。以下程序在step7v5.5中编译通过,但在博图V13里则不行。不知道应该如何修改 Write_Record变量的类型。谢谢指教。

FUNCTION_BLOCK FB3000

// *************************************************************************************************** Block Parameters

   VAR_INPUT 

      Command : Int;   

      PrmAccessAddr : Int;  

      PosDemand : REAL;   

      VelDemand : REAL;    

      Accel : REAL;    

   END_VAR


   VAR_OUTPUT 

      PosActual : REAL;  

   END_VAR


   VAR 

      TriggerAcyclic : BOOL := 0;

      RecordLength : Int := 0;

      WRREC_Status : DWORD := 0; 

      Prm_Write_Byte : STRUCT

         Param_Value : Byte := 0;

      END_STRUCT;

      Prm_Write_Word : Struct

         Param_Value : Word := 0;

      END_STRUCT;

      Prm_Write_DWord : Struct

         Param_Value : Dword:= 0;

      END_STRUCT;

      RDRECInstance  : RDREC;

      WRRECInstance  : WRREC;

   END_VAR


   VAR_TEMP 

      Write_Record : ANY;

   END_VAR


begin


    CASE Command OF

        1 :

            // Write Byte

            Write_Record:=Prm_Write_Byte;

           ;

        2 :

            // Write Word

            Write_Record:=Prm_Write_Word;

        3 :

            // Write Dword

            Write_Record:=Prm_Write_DWord;

        ;

    END_CASE;


WRRECInstance(REQ := TriggerAcyclic,

               ID := INT_TO_DWORD(PrmAccessAddr),

               INDEX := 47,

               LEN := RecordLength,

               RECORD := Write_Record);

WRREC_Status := WRRECInstance.STATUS;

   

END_FUNCTION_BLOCK


Any型指针变量移植到S71500的问题 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10588条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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