找回密码
 立即注册
查看: 657|回复: 0

STC单片机PLC再论现代编程模型

[复制链接]

该用户从未签到

26

主题

24

回帖

297

积分

荣誉版主

积分
297
发表于 2023-7-12 16:53:28 | 显示全部楼层 |阅读模式
本帖最后由 redelz 于 2023-7-13 14:33 编辑

       计算机编程语言是我们编写软件的基本工具,随着计算机技术的飞速发展我们发现通用计算机编程语言基本都成为专家级的语言,也就是通用计算机语言基本用于专业厂家进行系统开发,用户想快速开发出应用程序无论采用哪种编程方式都面临巨大的学习挑战。究其原因主要是我们的计算机通用编程语言基本基于图灵完备性表达,也就是一个语言只要是俱备图灵表达完备性理论上就可以编写任何算法,但是随着计算机系统日益复杂,依托最原始的图灵完备性直接编写应用程序变得越来越困难。
       因为最早的计算机系统资源有限,所以编程语言都有各种各样的计算机程序员概念,掌握这些专业程序员概念需要长时间的学习和不断的编程实践,虽然像Python这样的语言利用第三方库能够得到用户很多依赖自己编程无法实现的功能,但是就程序结构而言想编写没有附加错误的程序代码仍然是巨大的挑战。
       现代化的编程语言为了解决内存泄漏定义了各种语法,但是让用户在快速应用中使用这些技术难度更是变大了。
嵌入式系统编程目前最高级最成熟的方案基本还是C语言编程。C语言是典型的专家级语言,基本是用于系统级程序设计语言,用于专业软件厂家的底层开发。有没有办法能够编写出快速有效的没有附加错误的应用系统呢。本人认为编程认知模型是编写出优秀应用程序最根本的方法。什么是编程认知模型呢,
       我们可以回归传统的自动控制理论。传统的自动控制理论告诉我们任何动态运动系统都可以通过输入输出的传递函数表达,特别是非线性传递关系可以表达任何动态特征。也就是输入输出传递关系是具备软件程序表达的完备性的。由于计算机软件发展的这三十年基本集中于操作系统,外围设备驱动,人机交互,网络互联。这些功能采用客户机服务器模型,也就是传统的过程函数调用表达是完美的。
       通用计算机的过程函数都是没有时间概念,理论上过程函数只要你调用瞬间必须返回。但是这个在描述动态系统的时候就存在严重的认知编程模型理解问题。传统的编程语言如果要处理涉及到需要一定时间才能完成的任务,就会变得非常复杂,例如互锁等待啊等等。很难和人们对一个过程从开始,持续,到结束这样的自然认知有巨大的差异。编写这样子的功能软件就会变得异常困难。
       PLC在工程应用中获得控制工程师的认可,主要的原因就是他的编程模型符合自动控制工程师对自动控制系统的编程认知,可以完全避开专业计算机程序员的编程专用概念,可以写出没有附加错误的应用程序。
       很多人认为PLC是过时的技术,业内很多人想搞开放式的PLC,在PLC编程中引入了很多专业编程语言的编程概念,例如对象,第三方库调用等等,这些技术都是错误的发展方向。
       当然本人不是反对C语言,有了正确的认知模型,用任何语言都可以编写出优秀程序代码。
回复 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2024-6-3 11:58 , Processed in 0.061453 second(s), 29 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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