在上位机将控制算法传输到控制卡后,控制卡会将控制算法信息暂存到控制算法缓冲区,并不会立即对控制算法进行解析。所以,控制算法的解析必须选择合适的时机。本系统中将控制算法的解析操作放在本周期的控制算法运算结束后执行,这样不会对本周期内的控制算法运行产生影响,新的控制算法将在下一周期得到执行。上位机下发给控制卡的控制算法包含控制算法的操作信息、回路信息和回路中各功能模块信息。......
2023-11-22
在系统的需求分析中曾经提到,系统要求对控制算法的信息进行存储,做到掉电不丢失,重新上电后可以重新加载原有的控制算法。
对于控制算法的存储,如果以控制算法的原始形态进行存储,即以控制算法信息解析之前的形态存储,控制卡需要在接收到上位机的控制算法信息后逐条存储。以此种方式进行存储,如果存在频繁的控制算法修改操作,就会造成控制算法存储信息的激增,并且存储的信息量没有上限。而且,以原始形态存储控制算法,在重新加载时需要对控制算法重新解析,这也需要一定的时间。在本系统设计中没有采用这种方式,而是采用解析后控制回路的形式进行存储。
以解析后控制回路的形式进行控制算法的存储,不存在信息激增和信息量无上限的情况,因为对回路的修改操作只是对已有回路的修改,并不会产生新的回路。并且,在系统设计时限定最多容纳255个控制回路,所以,控制算法的信息量不会是无限制的。而且,以此种形式存储的控制算法,再次加载时不需要重新解析。
解析后的控制回路实际上就是一种运行状态的控制回路,以此种方式存储的控制算法兼有运行时的形态,只是模块内部具体数值不同而已。如果再将控制算法信息分为存储信息与运行信息,会造成一定的重复,产生双倍的RAM需求。
既然控制算法的存储态与运行态是一致的,那就可以将控制算法的运行区与存储区相结合,将运行信息作为存储信息。这要求控制算法运行信息存放的介质兼有数据存储功能,即掉电数据不丢失。外扩的RAM中,无论是具有后备电池供电的SRAM,还是磁存储器MRAM都具有数据存储特性,都可满足将控制算法存储区与运行区相结合的基本要求。
除了保证存储介质的数据保存功能外,还要保证数据不会被破坏。本系统中的控制算法存储在一个个的内存块中,这些内存块由μC/OS-Ⅱ的内存管理模块进行分配与回收,如果μC/OS-Ⅱ的内存管理模块不知道之前分配的内存块中存储着控制算法信息,在程序再次运行时,没有记录原先的内存块的使用情况,当再次向μC/OS-Ⅱ的内存管理模块进行内存块的申请或交还操作时,就会对原有的内存块造成破坏。所以,μC/OS-Ⅱ内存管理模块的相关信息也必须得到存储。(www.chuimin.cn)
要使μC/OS-Ⅱ内存管理模块的信息得到有效存储,涉及整个μC/OS-Ⅱ中内存的规划。而且要使存储的信息有效,还要保证μC/OS-Ⅱ内存规划的固定性,比如内存池的个数、内存池的大小、内存池管理空间的起始地址、内部内存块的大小和内存块的个数等信息都必须是固定的,即每次程序重新加载时,上述信息都是固定不变的。因为,一旦上述信息发生了变化,之前存储的信息也就失去了意义。
在μC/OS-Ⅱ内存初始规划阶段,就必须确定内存池的个数,严格限定每个内存池的起始地址与大小,以及内部内存块的大小和个数,并且不得更改。只有这样,记录的内存池内部内存块的使用信息才会有意义。
其实,存储只是一种手段,恢复才是最终目的。保证存储介质的数据保存能力和控制算法信息不会被破坏,仅仅是使控制算法信息得到了存储,但仍不足以在程序再次运行时使控制算法信息得到恢复。要使控制算法信息能够得到有效恢复,必须提供能够重建之前控制算法运行环境的信息。为此,必须单独开辟一块区域,作为备份区,以用于存储能够重建之前控制算法运行环境的信息。这些信息包括内存池使用情况信息和回路头指针信息。在每次完成控制算法的解析工作后,就需要将这些信息复制一份存储到备份区中。在程序再次运行时,再次加载控制算法就是将备份区中的信息恢复到内存池中和回路头指针中。这样原先的控制算法运行环境就得以重建。以回路头指针为例,在本系统中控制算法以回路的形式表示,而且回路就是串接着各个功能模块的链表。对于一个链表而言,得到了头指针,就可以依次找到链表中的各个节点,在本系统中就是有了回路头指针,才可以依次找到回路中的各个功能模块。
经过数次运算后的功能模块的信息与刚解析完成时的功能模块的信息是不一样的,主要是模块运算结果不再是0。在重新加载控制算法信息后,希望能够重新开始控制算法的运行,所以需要设立控制算法初始运行标志,在各功能模块运算时需要根据此标志选择性地将模块暂存的运算结果清除,以产生功能模块与刚解析完成时一样的效果。
有关现场总线及其应用技术的文章
在上位机将控制算法传输到控制卡后,控制卡会将控制算法信息暂存到控制算法缓冲区,并不会立即对控制算法进行解析。所以,控制算法的解析必须选择合适的时机。本系统中将控制算法的解析操作放在本周期的控制算法运算结束后执行,这样不会对本周期内的控制算法运行产生影响,新的控制算法将在下一周期得到执行。上位机下发给控制卡的控制算法包含控制算法的操作信息、回路信息和回路中各功能模块信息。......
2023-11-22
控制卡以ST公司生产的ARM Cortex-M4微控制器STM32F407ZG为核心,搭载相应外围电路构成。图11-8 控制卡的硬件组成STM32F407ZG内核的最高时钟频率可以达到168 MHz,而且还集成了单周期DSP指令和浮点运算单元,提升了计算能力,可以进行复杂的计算和控制。状态监测电路用于两个控制卡间的工作状态监测,通过D触发器的置位与复位实现此功能。表11-2 各个LED指示灯运行状态控制卡的组成如图11-9所示。图11-9 控制卡的组成......
2023-11-22
差错控制的目的是使用一些方法发现差错并加以纠正。不同的码字长度影响了编码的差错检测能力。两个等长码组之间对应位不同的数目称为这两个码组的海明距离,简称码距。由于篇幅的关系,这里仅介绍一种纠错码和一种检错码的编码实现方法。图2-18 海明纠错码格式图中,*表示数据码;P表示冗余校验数据码。工作过程下面以数据(信息)1101为例,给出海明码编码、译码及纠错的工作过程。......
2023-11-20
将现场总线控制技术应用于焊接自动化设备中是大势所趋。图5-4-24 基于现场总线的焊接工作站的控制系统2.现场总线控制的特点和优势数字化通信方面 基于FCS现场总线的控制系统是数字化车间的基础,作为子系统可以方便地接入车间监控或管理网络,进行数据通信和交换,便于管理和监控。现场总线最高通信速率为10Mbps,最长距离可达1200m,完全能够满足系统的通信要求。......
2023-06-26
可以说,现场控制网络不同于普通数据网络的最大特点在于,它必须满足对现场控制的实时性要求。实时控制往往要求对某些变量的数据准确定时刷新。由现场控制网络组成的实时系统一般为分布式实时系统。现场控制网络中传输的信息内容通常有生产装置运行参数的测量值、控制量、开关阀门的工作位置、报警状态、系统配置组态、参数修改、零点量程调校、设备资源与维护信息等。......
2023-11-22
介质访问控制层是数据链路层的一部分。LLC与介质无关,MAC则依赖于介质。局域网中存在多种介质访问控制协议,其中使用最广泛的是载波多路监听。LonTalk的MAC是该协议的一种改进。在MAC层中,为提高紧急事件的响应时间,提供一个可选择优先级的机制。......
2023-11-22
在板卡数量方面,本系统要求可以支持4个机笼和64个测控板卡。自动控制功能由控制站控制卡执行由控制回路构成的控制算法来实现。本系统要满足1s的控制周期要求,这要求本系统的处理器要有足够快的运算速度,与底层测控板卡间的通信要有足够高的通信速率和高效的通信算法。......
2023-11-22
WorldFIP技术硬件体系由两个互补的部分组成:通信控制器和通信介质器件。5)用于WorldFIP连接的费用要求。WorldFIP现场总线第一个通信控制器是在1987年开发成功的。图8-9 WorldFIP现场总线通信站的连接......
2023-11-22
相关推荐