编辑: 黑豆奇酷 | 2018-02-13 |
若查看该错误后,短时间后查看中再次出现该错误,则说明干扰影响 了正常通信,需要加强抗干扰措施,防止在通讯中出现数据丢失等问题;
另外当干扰破 坏相机的数据,导致相机读取 flash 数据错误时,也可能产生 UART-CRC 错误. 4.2 VM 堆分配错误 如图
6 所示,出现 VM 堆分配失败的错误,则主要包括如下几个原因: 无锡信捷电气股份有限公司 X-Sight 常见问题分析(第一版)
6 图6VM 堆分配失败示意图 ? 下载的工具中出现需要较大内存的工具. 在工具中图案定位工具、 预处理工具、 条码读取工具等需要较大的内存, 因此一般
120 万以上的相机不建议使用以上 的工具, 若一定要使用占用较大内存的工具, 则应该尽量减小该工具的检测或 学习区域. ? 工具中开辟了无效的内存大小, 如脚本中动态开辟数组大小过程中, 开辟的个 数为
0 等;
? 当前检测图像噪点过多, 导致工具中开辟过多的内存节点. 如斑点工具的检测 图像中有过多的噪点,导致工具的内存节点开辟过多,从而堆分配失败;
? 脚本或工具内部出现内存的非法使用. 4.3 TCP 通信缓冲错误 该问题主要是因为网线或网线接口的问题,可以重新插拔网线后,再连接相机;
另 外也有可能后台开启了另一个固件更新工具,占用了相关网络资源. 4.4 PROCESS 相机配置 CRC 错误 该错误见 3.4.1 固件更新/清除配置后自动停止
5 I/O 端无信号输出 当PLC 或其他外部设备在读取相机端口号信号时, 未正常接收到相机的输出数据, 则需要先判断软件 I/O 状态,若软件无输出,则为相机的相关问题,如软件有输出,则 需要检查相机到 PLC 输入部分. 5.1 软件的 I/O 状态监控无输出 在X-Sight 软件的菜单栏中,选择 窗口 ->
IO 状态监控 ,则会出现如图
7 所 示的监控界面,输出端 Y4 为相机的完成信号,由于图像采集时间很短,因此 Y4 基本 为常亮,Y0-Y3 为用户可用的端口. 将IO 状态窗口开启后,可以正常触发相机,每处理一次后,若对应的输出端口无 变化,则说明软件 I/O 无输出,此时可能的原因如下: ? 程序中未添加写端口号的函数:writeoutput(portID,val),其中 portID 为端口号(0-3 分别对应 Y0-Y3) ,val 的值为(0 或1) ,表示对 portID 清零或 无锡信捷电气股份有限公司 X-Sight 常见问题分析(第一版)
7 置位,此时需要根据实际需求添加相应的写端口函数;
? 脚本中写端口信号的写法错误, 如将某一输出端口写
0 后, 又在本次将该端口 写1,此时该端口的输出始终未 1(由于两次写的间隔太短,后一次覆盖前一 次的 0) ,此时需要重新修改端口输出部分程序;
? 工具运行时间太短.当工具运行的时间过短时(10ms 以内) ,IO 状态的输出 速度也会相应加快,导致 PLC 等无法接收到相应的相机输出,此时可以在脚 本中添加一个无效的循环遍历, 增加处理时间, 从而确保外部能及时接收到相 机的输出信号. 图7IO 状态监控界面 在查找 PLC 端无法接收相机信号的过程中, 也可以单击 IO 状态监控界面中的指定 输出口,从而让相机对应的端口号强制输出信号,查看 PLC 端是否接收到信号,从而 可以大致判断是相机未输出还是 PLC 未接收到信号;
5.2 相机至 PLC 输入端未接收到信号 确保相机的 IO 监控输出正确的信号,但PLC 端仍未接收任何信号后,此时的原因 主要是: ? 线路断开.由于相机到 PLC 部分的信号线问题,导致 PLC 输入端无法接收到 相机的输出信号,此时只能更换该部分线缆;