redelz 发表于 2024-5-31 10:24:45

STC单片机PLC的变量优化

      不考虑编程语言和编程工具,STC八位单片机毫无疑问它的功能和现在市场上的PLC功能是完全一致的。如果再加上单片机的外围接口是可以超越任何市场上现有的微型小型PLC产品的。所以STC八位单片机是PLC产品的主要芯片。但是如果不用梯形图编程,单片机是无法变成PLC产品的。所以我们一定要从理论上研究八位单片机实现PLC产品梯形图编程的方法。我们在这里都是跟大家分享的是我们已经研发成功的产品的研发经验。
1,将PLC的梯形图算法在8位STC单片机实施,具有非常重大的研究和市场意义。因为绝大部分自动控制系统都是由电机的启停,阀门的开合,这些最基本的动作构成。STC单片机的计算性能是足够的。梯形图编程算法是充分利用STC单片机计算性能的最好算法。
2,微型小型PLC的变量分配有两种方法:一是由完全由用户自定义,二是由系统与定义域取名预分配。在8位STC单片机当然最好的办法就是第二种方法。
3,在实际的梯形图编程中变量取名变量分配也是用户在实际编程中面临的一个巨大的压力,将梯形图的所有变量一次性命命名完成,内存预分配这好处就是能够避开系统的动态内存分配方法,充分利用单片机的内存资源。同时又可以减轻用户的梯形图编程压力。
4,将PLC变量分成两种类型,1种是逻辑变量,另1种是数据变量。在自动控制工程师看来这两种变量足够了。为了进一步减少内存消耗将数据变量定义为0-65535,这也可完全能够满足微型小型可编程控制器的绝大部分数据采样。至于需要更大数据的特殊应用可以放在PLC功能扩展单元中实现,完全没有必要在通用梯形图指令中予以支持。
5,我们在PLC中一共定义了X,Y,R,D,T,C,P这些变量都具有逻辑变量和数据变量双重属性,具体是哪一种在实际的梯形图指令中自然识别,完全符合自动控制工程师对变量的理解无需特殊解释。这实际上就是现代编程中的多态原理。
6,为了进一步实现大容量数据,我们引入了表格变量,表格变量分为两种1种是随机读写的,1种是可以编程记忆的。表格变量全是数据变量,只用数据变量地址表达。
7,我们所做的所有这种优化都是让PLC主机只专注于梯形图的基本算法,其他任何特殊的功能都放在功能扩展单元中实现。这样既实现了PLC的易学易用性能,又能够实现PLC的无限功能扩展。用户不必为了很少使用的功能支出额外的费用。
   现在的微型小型PLC产品技术标准实际上都是1992年的标准,包括大名鼎鼎的IEC61131-3都存在现代算法表达不强的缺点。图形化编程还有巨大的创新研发发展空间。

liuzonggong 发表于 2024-8-26 17:55:42

说得好,继续普及吧。
页: [1]
查看完整版本: STC单片机PLC的变量优化