2D视觉-上位链路通讯功能简述及海康软件对应通讯使用详述

2026-07-06

上位链路通讯通常指工业自动化或嵌入式系统中,上位机(如电脑、触摸屏、服务器)与下位机(如PLC、单片机、仪表)之间的数据交换。其核心功能可简述为以下四点:

1. 数据采集与监控:上位机通过通讯链路实时读取下位机的现场数据(温度、速度、开关状态等),并以图形、报表等形式展示给操作人员。

2. 参数设置与指令下发:操作人员在上位机修改参数或发出控制指令(如启动、停止、设定目标值),通过链路写入下位机,实现对现场设备的远程控制。

3. 链路管理与诊断:建立、维持通讯连接,自动处理数据打包、校验、重发等底层协议;同时监测链路状态,能报告通讯中断或设备故障。

4. 数据存储与同步:将采集到的历史数据存储于上位机数据库,并可根据需要向下位机同步时间、配方参数等关键信息。

典型实现方式:常用RS-232/485串口、以太网(Modbus TCPProfinet等工业协议)或CAN总线。上位机一般为主站主动发起请求,下位机为从站被动应答。

VM软件支持的通讯方式种类较多,有TCP客户端(传输层通信协议)、TCP服务端(传输层通信协议)、UDP(无连接的传输协议)、串口(串行通信接口或串行通讯接口)、汇川H2U485串口通信)、基恩士KV(上位链路)、松下MewTocol(串行链路和TCP/IP网络通信)、三菱MC(串行链路(串口通信)、UDPTCP/IP网络通信为基础,按照一定的规则组合成规定的通讯格式)、三菱FX(串口通信协议和以太网通信协议)、ModBus通信(串行通信协议)、EtherNet/IP CIP(基于以太网和TCP/IP技术的工业协议)、欧姆龙Fins TCP(封装在TCP/UDP之上)、欧姆龙Fins UDP(封装在TCP/UDP之上)、欧姆龙HostLink(串行通讯)、横河PClinkTCP/IP网络通信为基础)、西门子S7(串行通信方式)、西门子S7-200Smart(串行通信方式),共计17种通讯协议。

下面简单介绍一下海康VisionMaster软件(以下简称VM)对于上位链路(基恩士KV协议)的相关配置。

首先创建一个基恩士KV协议的通讯,在通讯管理里面点击添加,通讯方式选择基恩士KV。基恩士KV有两种通讯方式串口、TcpClient”,选择TcpClient居多。

通信方式选择串口:需设置的参数为串口号、波特率、数据位、校验位、停止位和字符超时(ms)。除字符超时(ms)外的其他参数,根据外部设备的串口对应参数设置即可。字符超时(ms)参数可设置字符间的最大的延时时间。读取串口数据时,若两个字符间的传输时间差超过设置的时长,将直接返回现有的数据。

通信方式选择TcpClient:需设置的参数为目标IP和目标端口。此处填写作为TCP服务端设备的IP地址和端口号即可。

轮询间隔(ms):可设置开启轮询读取功能的寄存器地址读取数据的间隔时长。

自动重连:当软件与外部设备断开连接时,启用该参数可自动重连。

点击创建完成设备添加。

 

 

 

添加寄存器地址并完成相关设置,在地址空间选择需添加的地址,点击+新建地址添加地址。

 

 

设备名称处根据需求自定义建议按照地址的用途命名,例如下相机触发,完成寄存器地址的通信参数设置。

 

此外,需要注意的一点是基恩士KV协议仅支持接收整型数据,无法接收字符及字符串。可以接收整数或浮点数,无法接受“ABCD”等字符,及时接收成功也无法解析出来。但是接收到的整数或浮点数可以解析为string类型的数据。

实际应用举例:

首先常见的地址应用有触发、结果等地址,以触发举例,地址命名按功能命名,此处命名为上相机触发,当地址信息为“1”(整数类型)时触发上相机流程(具体流程按需设置),关键是一定要打开轮询读取功能。有时候会需要视觉给触发信息置0,所以这里数据上传也要打开。

 

添加完触发地址后需要进行地址接收事件的配置,在通信管理里面选择接收事件,接收事件列表进行添加一个事件,因为要在地址写入指定信息后进行下一步动作,所以选择字节匹配,添加后绑定需要关联的设备及关联地址。

当一个地址设置好后在轮询读取时地址信息如果为0,则显示为00000,一共五个0,顺序从0开始,4结束。写入的信息是最后一位在变,比如0000001就是00001。我们在匹配的时候就需要设置起止位置为开始4结束4,读取最后一位的信息,类型选择string(文本匹配所以选string)。进行比较,所以选择等于,最后是需要匹配的信息,这里地址信息为00001时进行触发,所以读取最后一位,当最后一位为1时触发(发送则可以发送int类型的0)。若同一地址进行多种信息匹配则需要创建多个接收事件(图示为4.3版本软件,4.4版本功能有更新,可以设置上下限数值这里不做过多展示)

 

配置好接收事件后还需要配置触发信息,选择对应事件名称,选择执行流程(不唯一,可以根据实际需要进行相应配置,触发配置就是要触发的流程)

 

 

当需要在程序中接收数据进行处理时,可以使用接收数据+协议解析两个工具进行实现,以上相机触发地址为例,接收数据工具进行对应地址链接,协议解析直接选择文本解析,内容为接收数据的结果,输出列表新建一个,类型选择整型。

 

还有一种情况为接收的信息是float类型的数据,比如在标定过程中PLC会往对应地址中写入地址坐标信息,比如写入123.456。需要注意的是如果是float的数据则需要在地址设置时注意一下如下图1,整型数据类型选32位,点数为2,还要选择16进制接收。然后再接收数据和协议解析工具中的应用中也有不同如下图23,接收数据一样选择对应设备和地址,协议解析需要选择接收数据的16进制组装结果,然后设置float类型,起止位置为0-3顺序也要设置为CDAB。不能错,设置错误解析结果会不一样。

 

 

重申:基恩士PLC在交互时不能接受字符串类型数据,即使PLC写入VM也无法解析成功。

创新科技,引领未来
免费获取解决方案