我們的品牌

Impact-Company-Logo-English Black-01-177x54

歡迎造訪施耐德電機全球網站

歡迎訪問我們的網站
		
我们今天能为您提供什么帮助?
Using an indirect variable in Structured Text logic

DISCLAIMER

These sample programs are intended to demonstrate one or more programming functions or methods and are presented as programming examples only. Schneider Electric assumes no liability for the use or application of these example programs or any portion thereof.



It can be helpful having a code that accepts the name of an object and allows access to different methods and properties of that object. This can be accomplished by using indirect ({<string>}) and object (%O) variables. Let's use the following structured text logic as example:

TYPE
DBPnt : DATABASE_OBJECT (COpcAlgPoint)
ScannerId:DINT;
TagName:STRING;
END_DATABASE_OBJECT;
END_TYPE

PROGRAM NewStructuredTextProgram2

VAR_INPUT
objName : STRING;
END_VAR

VAR
IN AT %O({OBJNAME.EN_US}) : DBPnt;
END_VAR

IN.TagName := 'Dummy9';
IN.ScannerId := 12219;
;
END_PROGRAM


The first step is to declare a DATABASE_OBJECT for the type of point of interest, including any methods and properties we want to invoke or change. In our example we created a TYPE called DBPnt, that is derived from COpcAlgPoint. Within this object, we want to expose the "ScannerId" and "Tagname" properties, so we can change it for any object of this type.
The second part of the code accepts the name of the object we want to change the properties (objName) and use it to assign that object to our internal variable "IN", of type DBPnt. Please note the following line of code:

VAR
IN AT %O({OBJNAME.EN_US}) : DBPnt;
END_VAR


After that, we can access or change the object properties directly:

IN.TagName := 'Dummy9';
IN.ScannerId := 12219;


Please note that objName must be a VAR_INPUT variable, so this logic needs to be invoked by another logic program or script.

施耐德電機Taiwan

探索更多
系列:
探索更多
系列:
  • 產品文檔
  • 軟體下載
  • 產品選型工具
  • 產品替代和替換
  • 幫助和聯絡中心
  • 尋找我們的辦公室
  • 取得報價
  • 施耐德電機社群
  • 人才招募
  • 公司簡介
  • 舉報不當行為
  • 無障礙
  • 新聞中心
  • 投資者
  • 專業洞察
  • 台灣施耐德電機學院
  • 綠色影響力落差調查
  • Schneider Go Green 2025
  • 隱私政策
  • Cookie通告
  • 使用條款
  • Change your cookie settings