基于CODESYS平台运用ANY数据类型,获取任意变量属性-CODESYS V3-酷德网 - CoDeSys软件教程下载,CoDeSys工控资讯门户 

酷德网

HSC6490-cn中国制造,中国芯~
查看: 3208|回复: 0

基于CODESYS平台运用ANY数据类型,获取任意变量属性

[复制链接]
  • TA的每日心情
    慵懒
    2017-11-9 20:49
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2023-9-22 22:21:12 | 显示全部楼层 |阅读模式
    什么编程场景会用到ANY数据类型?
          用在功能Function上,外部输入数据的数据类型有多种可能性,但又要功能Function兼容,这时候ANY就会用上,如下面所示。
    1. FUNCTION FC_ANY_Test : BOOL
    2. VAR_INPUT
    3.         anyInput  : ANY;
    4. END_VAR
    复制代码
         在功能Function中可以引用该变量anyInput的三个属性,包括TypeClass,diSize,pValue,用户可依此计算出anyInput变量的数据类型和值,如下面所示。
    1. VAR
    2.         diSize:DINT;
    3.         pPointer :POINTER TO BYTE;
    4.         TypeClass: __SYSTEM.TYPE_CLASS;
    5. END_VAR
    6. TypeClass:=anyInput.TypeClass;   //anyInput的数据类型
    7. diSize:=anyInput.diSize;         //anyInput的数据长度
    8. pPointer:=anyInput.pValue;       //anyInput的起始指针
    复制代码
          其中 __SYSTEM.TYPE_CLASS为系统枚举便利数据类型,下面列出所有类型。
    1. TYPE_CLASS
    2. Global Variable List __SYSTEM.TYPE_CLASS
    3. {attribute 'qualified_only'}
    4. TYPE TYPE_CLASS:
    5. (
    6.     TYPE_BOOL := DWORD#0;
    7.     TYPE_BIT := DWORD#1;
    8.     TYPE_BYTE := DWORD#2;
    9.     TYPE_WORD := DWORD#3;
    10.     TYPE_DWORD := DWORD#4;
    11.     TY
    复制代码
    +10
    不赞一个?
    打赏鼓励一下!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

    本版积分规则

    
    顶部qrcode底部
    关注酷德网订阅号,获取更多资讯!

    QQ|Archiver|手机版|小黑屋|酷德论坛 ( 苏ICP备16065247号-1 )|网站地图

    GMT+8, 2026-11-15 13:43 , Processed in 0.173010 second(s), 42 queries .

    酷德网

    © 2001-2013 Hicodesys. 技术支持 by 酷德网

    快速回复 返回顶部 返回列表