CR3000 OS 22
更新:04-26-2011
- 修正了当值为> 2^24时声明为Long的标量值的初始化。该值被加载到一个浮点数,然后回到一个整数,这导致了丢失的分辨率。
- 在使用共享模式变量时改进了FieldCal。FieldCal也被修改了,因此零的重复禁用操作,没有错误代码。这为向导提供了另一种禁用共享fieldals的方法。
- 操作系统下载超时时间从75秒增加到100秒。
- 改变FTPClient不使用文件句柄时,主动模式设置,但服务器返回一个错误,因为它需要被动模式。
- 改进的FTPClient返回一个失败,如果连接是成功的,但文件传输以某种方式失败。
- 改进的拨号,使拨号成功后立即到达的字节不会被丢弃。
- 改变FTP服务器不允许隐藏文件被检索。
- 固定的情况下,当内存已耗尽可能的内存腐败发生。
- 改进TCP,提高FTPClient的成功和减少看门狗错误的机会。
- 扩展最小TCP重传从1秒到4秒。
- 固定PakBus / TCP密码。
- 改进了SerialOpen和SerialClose使用一个新标志,这样如果SerialOpen没有打开comport, SerialClose不会干扰PPP拨号。
- 将FTP客户端和服务器添加到“W”终端模式,以“嗅探”TCP命令。
- 固定ftpclient,这样它不会偶尔失败不必要。
- 通过增加30秒的超时等待,改进了PPPOpen。
- 改变PPPClose工作更好,当调用多次;改变SerialOpen和SerialClose,以更好地配合PPP。
- 将PPP协商超时时间从4秒修改为6秒,以防止PPP连接到非常慢的服务器。
- 在IPINFO状态中增加PPP状态信息。
- 改进的TCP SerialIn。当使用TCP串行通过CRBasic进出时,当TCP关闭时刷新输入缓冲区。
- 修正了从最终存储字符串类型读取时使用表文件和web服务JSON输出可能的内存损坏。如果字符串长度大于64个字符,则堆栈缓冲区空间不够大,内存被损坏。
- 固定的JSON和XML格式的情况下没有记录。
- 改进的FileUpload,当文件无法打开或发生其他错误时,可能导致多次使用相同的通信内存,可能导致内存损坏和看门狗。
- 改进了读取文件过程中遇到错误时的FileUpload。
- 修正了片段需要重传时上传文件的可能问题。
- 更改PakBus文件上传。当上传与活动CardOut关联的文件时,数据将在开始上传之前被刷新到卡中。程序可能会在上传过程中继续存储,这可能会在转换后的检索文件中给出意想不到的结果。
- 改进了为Card Task保留内存的功能,将内存锁定到任务开始的位置,这样另一个任务就不会获得内存。当启用TLS时,该问题导致测试套件程序中的内存不足错误。
- 通过为Card线程堆栈大小和文件信息预先分配内存,改进了CardOut,以确保锁定Final Storage内存后有足够的内存可用。这导致一些程序在使用CardOut指令的电源循环后编译失败。
- 固定交流功率分相测量。
- 修正了DNP3,使得所有对象的标志和变化都被正确记录。
- 修改了DNP3,默认没有Confirm Link Data Request。确认链路数据请求通过设置(可选)超时参数为非零来激活,指定以秒为单位等待数据链路响应的时间。
- 修改BaudRateSDC的DefaultSettings为115200。
- 改变校准检查,给一个警告,而不是错误,并强迫坏管的增益范围到NAN。
- 改进的终端'W' "嗅探"命令允许在一个TCP com端口上嗅探所有连接,除了我们正在嗅探的连接。
- 改变'W'终端模式ASCII(Y)?因此,回车将默认为Y而不是退出。
- 修正PakBus终端模式'P'和'W'可能的内存覆盖时发送小数据包回来。
- 当运行在interval模式时改变了TableFile,并将表设置为非interval,不使用计算出的输出文件的大概大小来决定是否删除旧文件。大致的文件大小信息用于避免尝试写失败,然后必须删除文件并再次尝试。如果表被有条件地调用或输出,那么近似的文件大小可能会导致过早删除文件并减少存储在驱动器上的文件数量。
- 改进的PortGet允许端口11和12,它们分别返回脉冲通道1和脉冲通道2的状态。CR3000也允许13端口为脉冲通道3。
- 改变TimerIO不允许外部扫描。NextScan,如果它是,不要崩溃编译器。
- 增强的表文件强制刷新所有内部存储每次附加SC115。这种增强的挤奶模式是通过将NumRecs参数设置为0而间隔为-1来启用的。间隔-1和NumRecs > 0, NumRecs从当前记录返回将被存储到文件中。也改变了行为时MaxFiles = 0。文件名将保持固定,不附加任何数字。旧文件(如果存在)将在每次输出时被覆盖。
- 改进了SDMIO16,允许在Dest/Source和Status参数中使用long值。
- 同步SDM和处理设置时间后和重新启动任务排序器之前。注意:在设置时间时,这有可能使用SDM设备挂起程序。
- 增强的预编译器,使用新的模式处理带有条件编译的程序(#if..#end,等等)来存储对条件编译指令求值后产生的程序。这是在CRBasic中通过Compile访问的
- 条件编译和保存菜单项(3.3或更高版本)或在预编译命令行中使用-p启用
.这允许对主文件进行处理,以生成所需的“配置”。
- 通过添加壤土类型改进了HydraProbe指令。
- 固定浮动到表达式中带有多个AND、OR、XOR、=、IMP、<<和>>操作符的长转换问题。
- 修正了SDI12终端窥探('W'命令)。
- 修复了中央路由器在CommsMemFree上阻止内存泄漏的问题(2)
- 修正了文件管理器设置中删除旧序列号文件时可能出现的问题。
- 更改web服务返回“最后修改日期”的文件,并返回304“未修改”,如果文件从那时起没有被修改。这允许http客户端使用缓存的文件,而不是再次检索相同的文件。
- 更改了FileList以防止文件名大于字符串大小,这会破坏相邻内存。
- 改变了String类型变量的ArrayLength,以返回数组中String的数量,而不是字符的总数。
- 修改了ConstTable编辑,使其不再追加
每次修改一个常数。
- 改进了FFT指令,增加了检查,以确保根据N和选项参数,源是所需的大小。
- 更改移动指令,当源是一个表达式时,不使用空指针到字段信息。
- 增加了接收时间信息的键盘/显示缓冲区的大小。对于null,它可以超过之前分配的21个字符。
- 删除了WorstCase表未被调用的警告。
- 更改为不允许CallTable与WorstCase表一起使用。
- 改变了从键盘/显示文件菜单加载操作系统,在分配之前检查内存,这样一个警告可以通知用户停止正在运行的程序,并重试。
- 修正了sprintf -0的问题。我们认为我们已经两次修正了这个问题,但却发现编译器正在优化我们想要的修正。当堆栈上的值被更改时,对-0的检查工作正在进行,但是编译器已经将该值加载到寄存器中,并且没有检测到它需要重新读取修改后的值。这允许-0传入优化的转换例程,从而导致锁。
- 更改了EmailRecv,所以日期、主题等只有在文件被找到时才会被存储。
- 固定的For循环没有分配索引变量不崩溃编译器。
- 改进了ModBusMaster和ModBusSlave,允许它们获取和接收字符串数据(每个寄存器2字节,Null终止)。
- 在数据表字段中增加了UINT4 (Unsigned Integer)数据类型
- 修改了ConstTable编辑以适应加密文件。
- 改进的USB,允许它与FileManage工作。
- 修正了子程序名称以数字开头的错误信息,导致编译器崩溃。