你好
我想用一个新程序在远程站点用数据卡重新编程CR1000。新程序不会更改任何表定义。
似乎用不改变表定义的新代码重新编程CR1000有时会,有时也不会导致记录器本身上的所有数据被擦除。
我的问题是,如果我用不改变任何数据表的新软件重新编程记录器,那么假设卡数据将被保留并继续存储新数据是否安全?前提是我指示记录仪在重新编程期间不要擦除卡文件。
谢谢
史蒂夫
在数据记录器本身(存储到CPU的文件)上,CR1000/CR800/CR3000的规则如下(这是从最新的CRBasic帮助中复制的,尽管我认为这个版本的帮助是随着新操作系统发布的,随时都会发布:)
当使用“;如果没有表改变则保留数据“;选项,则保留现有数据和数据表结构,除非出现以下情况之一:
·数据表名称更改
·数据间隔或偏移量更改
·每次记录更改的字段数
·每个字段更改的字节数
·每个表的记录数(表大小)更改
·字段类型、大小、名称或位置更改
总之,无论是否选择了“保留数据”选项,数据表结构的任何更改都将删除数据记录器CPU上的所有表。如果选择了“保留数据”选项,但数据记录器无法保留现有数据,则编译结果中将显示以下消息:警告:内部数据存储内存已重新初始化。
同样来自帮助,关于存储在卡上的数据:
注意:这两个选项都没有 (“保留数据”和“删除相关数据表”) 影响卡上的现有数据文件(如果正在使用)。如果卡上存在一个与用新程序输出的数据表具有相同名称的数据表,则返回消息“0”;卡上的数据来自不同的程序或已损坏”;。在删除现有表之前,数据不会写入卡中。卡上与新程序中声明的名称不同的数据表将得到维护,并且在新程序运行时不会影响卡数据存储。
那么,你对“;我可以放心地假设";是否!我已经有一段时间没有测试过了,但根据文档,卡上的数据存储将停止。这一段可能采用不同的程序名称。。。我不确定。
无论你做什么,测试,测试,再测试:)在部署到现场之前,确保你确切地了解它的行为。
我确实对存储在CPU上的数据进行了大量测试,并可以确认它确实以上述规则的方式工作。
希望这能有所帮助,
达纳W