VisualApplets 3.0.6 中的更改和修复的问题#
算子#
TrgBoxLine#
- 参数的取值范围
ImgTrgDelayhas been extended to {0;65535} lines. (6848) - 算子的输出端口
Exsync现在可以正常工作。(6608)
Memory 算子#
Memory 算子允许内核大小 > 1
- 算子
LineMemory,LineMemoryRandomRd,FrameMemory和FrameMemoryRandomRead(Library 内存) 现在允许核大小 > 1。(2369)
PixelNeighbours1xM#
- 算子
PixelNeighbours1xM现在在仿真期间也支持可变行长度。在早期版本中,可变行长度仅在硬件中受支持。(7170)
用户库元素的实例#
改进了更改的处理方式
由用户修改过的用户库元素实例现在会标记有特殊的图标。此外,当在此类实例上启动来自用户库的更新或快速更新时,会出现相应的消息,通知用户如果执行更新,对此实例所做的所有更改都将丢失。通过这种方式,不会再发生无意中覆盖已更改的用户库实例的情况。
Parameters Library#
VisualApplets 检测何时由于参数参数化错误而导致问题 DisplayHierarchy 和 Display Name 参考/转换算子模块尝试将算子参数添加到设计的进程中(这是不允许的)。在早期版本中,这可能会导致 VisualApplets 崩溃,或导致 Applet 在运行时崩溃。该问题已修复。VisualApplets 现在会通过错误消息告知如何正确对参考/转换算子进行参数化。(7053)
详情:如果参考/转换算子位于设计的最高层级(进程级),并且 DisplayHierarchy 为空,则 DisplayName 也必须为空,因为进程本身不是分级框,无法获取参数。现在,VisualApplets 可以检测到此类情况并抛出相应的错误消息 DisplayName 当 DisplayHierarchy 指向进程级时,必须为空。在早期版本中,可以在 Display Name 下定义参数,即使 Display Hierarchy 指向进程级(即当参考/转换算子位于设计的最高层级时)也是如此。 Display Hierarchy 为空。这可能导致 VisualApplets 崩溃,或在运行时导致 applet 崩溃。此问题已修复。
Blob 算子#
在 VisualApplets 3.0.4 版本中,运算符 Blob_Analysis_1D 和 Blob_Analysis_2D 在被阻塞时会导致死锁。此问题已修复。(6702)
DIV#
DIV 算子(Arithmetics 库)的时序收敛已得到改善。在早期版本中,在特定情况下,DIV 算子会在构建过程中导致时序错误。此问题已修复。(6900)
RamLUT#
初始化文件的新错误代码
如果 RamLUT 运算符的初始化文件大小不正确,现在会返回错误代码 FG_INVALID_FILESIZE。在早期版本中,此类情况下会输出错误代码 FG_ERR_RANGE_ERROR。新错误代码 FG_INVALID_FILESIZE 适用于 Basler 运行时软件 5.4.4.1 或更高版本。(6422)
LineMemory#
算子 LineMemory 已得到纠正。在早期版本中,在极少数情况下,运算符中的数据可能会损坏 LineMemory。此问题已修复。(6436)
FIRoperator#
通过上下文菜单向运算符(如 BRANCH)插入节点可能会导致后续 FIRoperator 模块中的系数丢失。此问题已修复。(5450)
新 Process 0 中也包含强制算子#
针对 ironman、marathon 或 LightBridge 的设计:如果您删除进程 0,然后从头开始创建新的进程 0,则强制运算符 AppletProperties 和 BoardStatus 会自动插入到新的进程 0 设计中。(在早期版本中,删除并重新创建进程 0 后,缺少强制运算符。现已修复。)(5720)
ADD#
ADD 运算符已得到修正,现在也允许使用位宽为有符号 63 位的两个输入端口。(在早期版本中,ADD 运算符错误地不允许使用位宽为有符号 63 位的两个输入端口。现已修复。)(7138)
CoefficientBuffer#
算子 CoefficientBuffer 现在允许设置参数 Ylength = 1。(1763, 3924)
Parameters Library#
增强的控制机制
如果库 Parameters 的算子实例的参数化方式使得 DisplayName 和 DisplayHierarchy 引用的请求,将抛出新的错误消息 "DisplayName must be empty when DisplayHierarchy refers to process level"。
仿真#
RemovePixel运算符:模拟包含 RemovePixel 运算符实例的设计现在可以顺利运行。在早期版本中,当模拟包含 RemovePixel 运算符实例的设计时,偶尔会发生错误:移除图像的最后一个像素可能会导致内部错误,从而立即停止模拟并返回有关模拟数据损坏的消息。此问题已修复。(6103)- 模拟控制:改进了针对单个图像在图像处理管道中生成多个图像的情况下的模拟控制。(6314)
- 具有 64 位分辨率的像素数据:涉及 64 位分辨率像素数据的模拟结果计算现在可以正常工作。在早期版本中,此类计算的结果是错误的。此问题已修复。(6878)
- 算子
RamLUT现在在模拟设计时也支持可变行长。模拟时图像不再需要是矩形,还可以包含空行和/或长度变化的行(例如三角形图像)。(6997)
删除库参数引用的算子#
即使其参数仍被其他模块引用,现在也可以从设计中删除 parameters 库中的运算符实例。(在早期版本中,如果删除模块的参数被其他模块的参数引用(包括由于 Property 'DisplayName' 而导致的参数引用),可能会导致 VisualApplets 崩溃。现已修复。)(6423)
整体资源估计已改进#
整体资源估计(在设计规则检查 2 之后的 DRC 日志中的“网表生成”下显示,并在启动 Build 进程后在“构建硬件 Applet”对话框中显示)现在还将 RAM LUT 资源考虑在内。因此,计算出的资源量比以前忽略 RAM LUT 的 VisualApplets 版本要高。现在,“网表生成”下的整体资源估计与 FPGA Resource Usage 对话框中的信息保持一致。(6487)
为 eVA 平台生成 GenICam XML 代码#
修复了在为包含 ColorTransform 带动态系数的运算符的设计生成 GenICam XML 代码时(仅适用于嵌入式 VisualApplets 目标),VisualApplets 崩溃的问题。(6625)
算子参考(文档)#
使用示例链接
算子参考文档:Examples of Use 部分中包含的链接现在可以按预期直接链接到相应的示例。(7086)
在循环中加载和卸载 Applet#
在使用 VisualApplets 3.0.6 或更高版本构建的 Applet 时,循环加载和卸载不再会导致内存泄漏。此前,在使用早期版本构建的 Applet 进行循环加载和卸载时,可能会观察到内存泄漏。此问题现已修复。(6925)
ROI 修复 CXP 相机算子(marathon 和 ironman)#
现在 ROI 设置可用于所有 CXP 相机型号并正常工作。在早期版本中,对于某些特定的 CXP 相机,ROI 帧高的某些设置会导致图像采集不正确。此问题现已修复。(6461)
PoCL 支持已改进#
针对 marathon 和 LightBridge 采集卡中的 Camera Link Applet 自动实现的 PoCL 支持现已改进:
- PoCL 检测机制得到了进一步增强。
- 改进了对更改时钟频率的 PoCL 相机的支持:Applet 可以更长时间地容忍相机发出的不稳定时钟信号(在相机重新配置时钟频率期间)。
Camera Link#
改进了来自相机的无效像素信号之后的稳定性
当采集卡在采集开始前收到来自相机的无效像素时,即使通过触发开始采集,相机在采集开始后发送的第一行/帧也会被丢弃(由于实施了用于丢弃无效信号的过滤系统)。此问题现已修复。过滤系统得到了改进,现在即使在采集开始前相机发送了无效像素,通过触发开始采集后,相机发送的第一行/帧也会被正常处理。此修复已实施到所有 mE5 marathon、mE 5 ironman 和 LightBridge Camera Link 采集卡中,以及 microEnable IV AD4 CL/PoCL 和 microEnable IV VD4 CL/PoCL 中。