当前位置:首页 > 软件设计 > 正文内容

PLC结构化文本(ST)——特点(Property)

邻居的猫1个月前 (12-09)软件设计1401

PLC Structured Text Object Oriented Programming

PLC结构化文本(ST)——特色(Property)

特色的界说

C# 中的特色(Property)是类和结构体中用于封装数据的成员。它们供给了一种办法来界说类成员的拜访和设置规矩,一般用于躲藏字段(Fields)的内部完成细节,一起供给操控数据拜访的机制。---C#特色

在PLC ST中特色的界说与高档言语相同,或许说ST中特色这一概念便是模仿高档言语中特色规划的。此处引进一个概念字段(Fields,在POU内部声明的成员变量能够统称为字段(Fields这是高档言语中的概念,相同适用于PLC ST。

特色的特色

  • 特色能够看作是对字段的包装器,一般由 get 和 set 拜访器组成。
  • 特色(Property)不会确认存储方位。相反,它们具有可读写或核算它们值的 拜访器(accessors)。
  • 例如,有一个名为 Student 的类,带有 age、name 和 code 的私有域。咱们不能在类的规模以外直接拜访这些域,可是咱们能够具有拜访这些私有域的特色。---C#特色

Tips : IEC61131-3并没有对OOP支撑的很完善,例如POU内部声明的变量在实例化之后依然能够经过“目标.组件”拜访POU内部成员,这表明POU内部声明的变量默许是PublicReadonly。这点现在与高档言语C#稍有不同。

特色完成办法

C#代码示例:

public class Person
{
    private string name;

    public string Name
    {
        get { return name; }
        set { name = value; }
    }
}
或许
public class Person
{
    public string Name { get; set; }
}

TwinCAT3 ST代码示例:

// 创立类(FB)
FUNCTION_BLOCK FB_Person
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
    name : STRING;
END_VAR
-------------------------
// 创立特色
PROPERTY Name : STRING
-------------------------
// Get办法(拜访器)
VAR
END_VAR
-------------
Name := name;
------------------------
// Set办法(拜访器)
VAR
END_VAR
-------------
name := Name;

与C#特色比较,仅仅结构上有点差异,程序本质上没有任何差异。若想完成特色的只读只写删去对应的GetSet办法即可。

Tips : PLC常常在线监控变量当时值,可是特色变量并不显现当时状态值,需求运用断点来监控及其不方便。官方供给了两种特性来处理这个问题。{attribute 'monitoring' := 'variable'}{attribute 'monitoring' := 'call'} 具体运用办法查阅官方文档:https://content.helpme-codesys.com/zh-CHS/CODESYS Development System/_cds_pragma_attribute_monitoring.html

总结

C#中特色与PLC ST特色并无太大差异,都是对内部字段的包装,都有getSet拜访器,特色在OOP中的运用十分频频。

扫描二维码推送至手机访问。

版权声明:本文由51Blog发布,如需转载请注明出处。

本文链接:https://www.51blog.vip/?id=314

分享给朋友:

“PLC结构化文本(ST)——特点(Property)” 的相关文章

面向对象程序设计

面向对象程序设计

第2次博客作业 一、前语 榜首次作业 榜首次作业有三道题,前两道道为入门的小题,最终一题在之前的答题判别程序上进行了第四次迭代,在标题方面增加了多选题以及填空题,试卷方面增加了多张试卷多个同学答题的输入状况,判题方面增加了部分正确这一得分等级,全体难度较大。 第2次作业 第2次作业有三道题,后两道为...

spring的设计模式, 单例模式(Singleton Pattern)

Spring框架是一个开源的Java平台,用于创建企业级应用。它提供了一种全面的方式来配置和管理Java对象,并支持多种设计模式。以下是Spring框架中常用的设计模式:1. 控制器(Controller)模式:Spring MVC框架实现了控制器模式,其中控制器负责处理用户请求,并返回响应。2....

软件设计基础,构建高效、可维护软件系统的基石

软件设计基础,构建高效、可维护软件系统的基石

软件设计基础是计算机科学和软件工程领域中非常重要的一部分,它涵盖了软件设计的基本原则、方法和工具。软件设计基础通常包括以下几个方面:1. 软件设计原则:这些原则指导着软件设计师如何设计出高质量、可维护和可扩展的软件。一些常见的设计原则包括单一职责原则、开闭原则、里氏替换原则、依赖倒置原则和接口隔离原...

系统架构设计师pdf,定义、职责与职业发展

你可以通过以下链接获取系统架构设计师相关的PDF文件和资料:1. 系统架构设计师PRO: 2024年11月 系统架构设计师(软考高级)备考资料 包含精讲视频、教材、真题、模拟题、答题卡等,适合2024年11月考试的备考者。 2. 系统架构设计师教程_带目录高清PDF版 提供系统架构设计师...

软件设计师大纲,软件设计师考试大纲解析

软件设计师大纲,软件设计师考试大纲解析

软件设计师考试大纲通常包括以下几个方面:一、考试目的软件设计师考试旨在考察考生对软件设计的基本概念、原理、方法和技术掌握程度,以及实际应用能力。通过考试,能够选拔出具备软件设计能力和实践经验的优秀人才。二、考试内容1. 软件设计的基本概念和原理 软件设计的定义、目标和原则 软件设计的基本要素:功能、...

软件设计开发流程,从需求到产品的完整指南

软件设计开发流程,从需求到产品的完整指南

软件设计开发流程通常包括以下几个阶段:1. 需求分析:了解用户需求,确定软件的功能、性能、可靠性等指标,形成需求规格说明书。2. 系统设计:根据需求规格说明书,设计软件的整体架构、模块划分、接口定义等,形成系统设计文档。3. 详细设计:针对每个模块,设计具体的实现方案,包括数据结构、算法、界面设计等...