PLCStructuredTextObjectOrientedProgramming PLC结构化文本(ST)——AND_THEN&OR_ELSE 特殊机制 运算符AND_THEN和OR_ELSE与我们常用的AND和OR功能相同却有点区别。 IFFALSEANDcalculate()THEN Auto.Run(); END_IF 假如IF前一个条件一直为FALSE那么后一个条件calculate()仍然会继续执行,得出结果。当然Auto.Run()不会继续执行。 IFTRUEORcalculate()THEN Auto.Run(); END_IF 假如IF前一个条件一直为TRUE那...

  0MYASp6SnAa9   7天前   41   0   0 其他语言

PLCStructuredTextObjectOrientedProgramming PLC结构化文本(ST)——结构体属性外部调用(Issue) 问题 很久之前在做OOP编程时,遇到过这样一个问题,创建一个属性类型是结构体,而我在外部访问结构体内部成员时编译器(TwinCAT3)直接报错。这应该是系统Bug,甚至是CODESYS底层的Bug。 结构体 TYPEmyStruct: STRUCT value1:INT; value2:STRING; value3:REAL; END_STRUCT END_TYPE FB FUNCTION_BLOCKPOU VAR mystruc...

  0MYASp6SnAa9   7天前   31   0   0 面向对象

PLCStructuredTextObjectOrientedProgramming PLC结构化文本(ST)——区域代码折叠(Region) 区域折叠 条件预编译指令{Region"description"}可以将文本编辑器中的多行合并到一个块中,可以为块分配一个名称,也可以嵌套使用。 语法 PLCST文本编辑器 {region"Description"} //code //code {endregion} //code C代码VS编译器 regionMyRegion //Yourcodehere endregion 目前CODESYSV3.5平台ST文本编辑器均支持此预编译指令...

  0MYASp6SnAa9   8天前   43   0   0 其他语言

PLCStructuredTextObjectOrientedProgramming PLC结构化文本(ST)——接口引用转换(__QUERYINTERFACE) __QUERYINTERFACE 运算符__QUERYPOINTER是IEC61131-3的扩展,该运算符允许在运行时将一个接口引用转换成另一个接口的引用。返回值BOOL类型:True表示转换成功,Flase表示转换失败。 语法格式 __QUERYINTERFACE(<ITF_Source>,<ITF_Dest>);ITF_Source:接口变量或FB实例;ITF_Dest:目标类型的接口变量。 显式转...

  0MYASp6SnAa9   8天前   39   0   0 C++

PLCStructuredTextObjectOrientedProgramming PLC结构化文本(ST)——枚举_to_string(to_string) attribute'to_string' pragma会影响运算符TO_STRING/TO_WSTRING转换结果,如果枚举声明添加pragma特性,则枚举组件的名称将显示为字符串,而不是数值。 使用语法 {attribute'to_string'} 官方示例 {attribute'qualified_only'} {attribute'strict'} {attribute'to_string'} TYPEE_Sample: ( e...

  0MYASp6SnAa9   8天前   34   0   0 软件工程其他

PLCStructuredTextObjectOrientedProgramming PLC结构化文本(ST)——接口指针转换(__QUERYPOINTER) __QUERYPOINTER 运算符__QUERYPOINTER是IEC61131-3的扩展,该运算符允许在运行时将功能块的接口引用转换为指针。返回值BOOL类型:True表示转换成功,Flase表示转换失败。 出于兼容性考虑,需要转换的指针的定义必须是基于__SYSTEM.IQueryInterface的扩展。 官方例程 语法结构 __QUERYPOINTER(<ITF_源>,<Pointer_目标>...

  0MYASp6SnAa9   8天前   23   0   0 其他技术区

PLCStructuredTextObjectOrientedProgramming PLC结构化文本(ST)——FB系统内置方法(Init、exit、reinit) IEC61131-3FB系统内置方法 FB_init隐式或显式初始化功能块,第一次下载运行程序时初始化时自动调用。该方法类似于C类的构造函数,用于初始化类。 FB_exit在功能块被销毁时自动由系统隐式调用,例如:在运行模式切换到配置模式时或PLC程序停止时被系统自动调用。类似于C的析构函数的概念。 FB_reinit通常用于重新初始化功能块,相当于在线修改(Onlinechange)。 只要不是显式调用(隐式自动调用),...

  0MYASp6SnAa9   8天前   35   0   0 其他技术区

PLCStructuredTextObjectOrientedProgramming PLC结构化文本(ST)——特殊指针(This&Super) 关键字This和Super是什么? this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。super可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类。---Java中this和super的用法总结|菜鸟教程 在C中,this指针是一个特殊的指针,它指向当前对象的实例。在C中,每一个对象都能通过this指针来访问自己的地址。this是一个隐藏的指针,可以在类的成员函数中使用,它可以...

  0MYASp6SnAa9   11天前   31   0   0 软件工程其他

PLCStructuredTextObjectOrientedProgramming PLC结构化文本(ST)——属性(Property) 属性的定义 C中的属性(Property)是类和结构体中用于封装数据的成员。它们提供了一种方式来定义类成员的访问和设置规则,通常用于隐藏字段(Fields)的内部实现细节,同时提供控制数据访问的机制。---C属性 在PLCST中属性的定义与高级语言相同,或者说ST中属性这一概念就是仿照高级语言中属性设计的。此处引入一个概念字段(Fields),在POU内部声明的成员变量可以统称为字段(Fields)这是高级语言中的概念,同样适用于PLCST。 属性的特...

  0MYASp6SnAa9   11天前   34   0   0 面向对象

PLCStructuredTextObjectOrientedProgramming PLC结构化文本(ST)——继承(inheritance) 继承的概念 继承是面向对象程序设计中最重要的概念之一。继承允许我们根据一个类来定义另一个类,这使得创建和维护应用程序变得更容易。同时也有利于重用代码和节省开发时间。当创建一个类时,程序员不需要完全重新编写新的数据成员和成员函数,只需要设计一个新的类,继承了已有的类的成员即可。这个已有的类被称为的基类,这个新的类被称为派生类。---C继承|菜鸟教程 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征...

  0MYASp6SnAa9   11天前   29   0   0 面向对象

PLCStructuredTextObjectOrientedProgramming PLC结构化文本(ST)——接口(Interface) 接口定义 接口定义了所有类继承接口时应遵循的语法合同。接口定义了语法合同"是什么"部分,派生类定义了语法合同"怎么做"部分。接口定义了属性、方法和事件,这些都是接口的成员。接口只包含了成员的声明。成员的定义是派生类的责任。接口提供了派生类应遵循的标准结构。---C接口(Interface)|菜鸟教程 接口特点 接口使得实现接口的类或结构在形式上保持一致。---C接口(Interface)|菜鸟教程 接口本身并不实现任何功能,它只是和声明实现该接口的...

  0MYASp6SnAa9   11天前   33   0   0 面向对象

PLCStructuredTextObjectOrientedProgramming PLC结构化文本(ST)——访问修饰符 访问修饰符及作用 根据出现位置不同划分 1.出现在功能块(FB)中 ①.Public:最低访问级别,此功能块可以被任何地方声明调用。 ②.Internal:只允许当前项目命名空间才可以调用,也就是说一旦封装成库,外部程序就无法调用此功能块。 ③.Final:此功能块无法被扩展(EXTENDS)。 2.出现在Method和Property中: ①.Public:没有访问限制,此方法或者属性可以被继承到子类中去,外部程序可以调用此方法或属性。 ②.Private:只...

  0MYASp6SnAa9   11天前   37   0   0 面向对象

PLCStructuredTextObjectOrientedProgramming PLC结构化文本(ST)——构造函数(FB_init) 构造函数的作用 简单来说,构造函数是一种方法,用来初始化类的实例也就是对象。类在创建时会有一个默认的构造函数,如果自定义一个构造函数,那么默认构造函数失效。 与高级语言的区别 高级语言C、Java和C都有构造函数这个概念,那么IEC61131-3有没有这个特殊的方法呢?当然是有的,只不过ST的构造函数与高级语言稍有不同。 1.高级语言比如C和Java,它们的构造函数方法名与类名相同,而在IEC61131-3ST中所有PRG和FB的构造函数名均为FB_i...

  0MYASp6SnAa9   11天前   28   0   0 面向对象

PLCStructuredTextObjectOrientedProgramming PLC结构化文本(ST)——临时&静态&实例-变量(TEMP&STAT&INST) 临时变量(VAR_TEMP) 临时变量在每次调用POU时都会初始化。 用在程序(PRG)和功能块(FB)中。 在方法(Method)和函数(Function)中的内部变量都是临时变量。 PROGRAMMAIN VAR iResult:UINT;//STATIC END_VAR VAR_TEMP iCounter:UINT;//TEMP END_VAR --------------------...

  0MYASp6SnAa9   11天前   27   0   0 面向对象

PLCStructuredTextObjectOrientedProgramming PLC结构化文本(ST)——变量类型和变量属性 变量类型 变量类型关键字 说明 外部读写 内部读写 VAR 内部变量,程序组织单元内部的变量 不允许 读/写 VAR_INPUT 输入变量,由外部提供,在程序组织单元内部不能修改 读/写 读 VAR_OUTPUT 输出变量,由程序组织单元提供给外部实体使用 写 读/写 VAR_IN_OUT 输入-输出变量,由外部实体提供,能在程序组织单元内部修改 读/写 读/写 VAR_EXTERNAL 外部变量,能在程序组织单元内部修改,由全局变...

  0MYASp6SnAa9   11天前   39   0   0 面向对象
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~