5.3.1 制造商应提交软件设计资料,资料应有充分的内容证明软件设计符合标准要求并应至少包括以下内容:
a)主程序的功能描述(如流程图或结构图),包栝:
1)各模块及其功能的主要描述;
2)各模块相互作用的方式;
3)程序的全部层次;
4)软件与控制器硬件相互作用的方式;
5)模块调用的方式,包括中断过程。
b)存储器地址分配情况(如程序、特定数据和运行数据)。
c)软件及其版本唯一识别标识。
5.3.2 若检验需要,制造商应能提供至少包含以下内容的详细设计文件:
a)系统总体配置概况,包括所有软件和硬件部分。
b)程序中每个模块的描述,包括:
1)模块名称;
2)执行任务的描述;
3)接口的描述,包括数据传输方式、有效数据的范围和验证。
c)全部源代码清单,包括全局变量和局部变量、常量和注释、充分的程序流程说明。
d)设计和执行过程中使用的应用软件。
5.3.3 软件设计
为确保控制器的可靠性,软件设计应满足下述要求:
a)软件应为模块化结构;
b)手动和自动产生数据接口的设计应禁止无效数据导致程序运行错误;
c)软件设计应避免产生程序锁死。
5.3.4 程序和数据的存贮
5.3.4.1满足本标准要求的程序和出厂设置等预置数据应存贮在不易丢失信息的存储器中。改变上述存储器内容应通过特殊工具或密码实现,并且不允许在控制器正常运行时进行。
5.3.4.2 现场设置的数据应被存贮在控制器无外部供电情况下信息至少能被保存14d的存储器中,除非有措施在控制器电源恢复后1h内对该数据进行恢复。