对于软件工程师写出一套按照固定流程控制设备运动的时序流程并非难事, 但在实际设备开发过程中,对设备的运行却是需要反复调试,已使仪器达到性能要去(尤其对于医疗设备/化工设备,反应时间,混淆时间,反应次序等都需要经过大量实验和调试在能确定,且需反复修改)。这种调试工作,往往是由非软件工程师(如光学工程师,系统工程师,液路工程师等)来主导。 因此需要将时序业务逻辑独立出去,以满足不需要软件工程师随时介入,但可以随时反复调试仪器。
方便非软件工程师撰写“时序文件”的工具
-
B)翻译工具
将编写好的"时序文件"翻译成执行平台可以“执行指令"
-
C)执行平台
执行翻译好的“执行指令”
时序文件组成必须满足一下要求:
1)模块化:有些执行 可能会被反复调用,类似于程序中的函数,区分于函数是其严格按照时间执行。
2)可交互:因时序执行并非线性(如需等待用户输入,界面触发,硬件开关触发,延时等),因此时序必须有运行时入口。
3)可判定:因时序控制是直接对信号、运动等的控制,如某些硬件部件出现故障,时序运动应当被限制。
依据实际需求,时序文件一般由以下文件组成。
1) 基础时序:由最基础读写指令、控制指令、动作指令组成的序列,是最小的时序单元,其严格按照制定时间先后执行。
2)宏时序:定义一些各时序所需要的固定的参数。
3)功能时序:由基础时序组成,以实现独立的完整的功能。其支持:等待指定条件,指定固定延时,或等待一段延时但可以由指定条件终止。
4)限制单元时序:依据功能时序中使用的部件情况,遇到故障时依据限制单元决定是否限制时序执行。
5)入口时序:作为执行单元的调用入口,其仅仅只是功能时序的入口,没有先后逻辑关系。
原文链接:https://blog.csdn.net/ruhailiu126/article/details/103213713