具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种总装线目标信息采集系统的具体实施方式及其功效,详细说明如后。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
本发明实施例提供了一种总装线目标信息采集系统,如图1所示,包括上位机、可编程逻辑控制器(Programmable Logic Controller,简称PLC)、目标信息采集器、第一信息检测器和第二信息检测器,其中,所述上位机与所述PLC、第一信息检测器和第二信息检测器通讯连接,所述PLC与所述目标信息采集器连接。所述目标信息采集器的安装位置距离地面的高度为第一高度h1,所述第一高度h1存储在所述上位机中,用于扫描目标信息码,作为示例,目标信息采集器可以为扫码器,目标信息码为条形码、二维码等。所述目标信息码安装在待装配物的预设安装位置上,可以理解的是,目标信息码需要安装在待装配物与地面平行的平面,且不会遮挡目标信息采集器的位置。当所述待装配物运行至预设目标位置时,所述目标信息码位于所述目标信息采集器的扫描范围内。所述上位机还包括处理器和存储有计算机程序的存储器,当所述处理器执行所述计算机程序时,实现以下步骤:
步骤C1、所述第一信息检测器检测到所述待装配物沿预设的轨道移动至所述目标位置时,向所述上位机发送到位信息;
其中,第一信息检测器具体可为一个到位开关,当待装配物沿预设的轨道移动至所述目标位置时触发该到位开关,到位开关向上位机发送到位信息。
步骤C2、所述上位机控制所述第二信息检测器获取待装配物的目标信息码距离地面的第二高度h2,并发送给所述上位机;;
其中,当上位机接收到到位开关发送的到位信息后,则控制第二信息检测器来测量目标信息码距离地面的第二高度h2,作为一种示例,第二信息检测器具体可采用光电传感器。可以理解的是,测量目标信息码距离地面的第二高度,可以直接测量目标信息码安装区域所处平面距离地面的第二高度即可。
步骤C3、所述上位机基于h1和h2确定所述目标信息采集器距离所述待装配物的目标信息码的目标焦距h3:h3= h1- h2;
可以理解的是,h3为目标信息采集器扫描当前待装配物对应的目标信息码的最佳焦距。
步骤C4、所述PLC与所述上位机通讯获取h3,并控制所述目标信息采集器将焦距调至h3,扫描所述目标信息码获取目标信息,存储至所述PLC中;
其中,通过直接获取目标信息采集器扫描当前待装配物对应的目标信息码的最佳焦距,并将目标信息采集器将焦距调至h3,能够快速准确地获取目标信息,提高了目标信息获取的效率和准确度。
步骤C5、所述上位机与所述PLC通讯获取所述待装配物的目标信息。
本发明实施例通过搭建总装线目标信息采集系统,使得每一待装配物进入总装线时,均能将目标信息码自动置于目标信息采集器的扫描范围内,从而通过目标信息采集器快速准确地采集总装线目标信息。
一个总装线上可能对应不同型号的待装配物,因此,待装配物的尺寸会有差距,因此,需要将目标信息采集器安装在合理的高度,从而使得目标信息采集器能够快速准确的采集到不同型号的待装配物的目标信息,作为一种实施例,当所述处理器执行所述计算机程序时,还实现以下步骤:
步骤C10、获取所述目标信息采集器的所形成的视锥的锥角
、所述目标信息码
距离地面高度的最大值h2max、预设安装位置在于地面相平行的平面上的最大径向距离
Lmax,所述目标信息采集器的所形成的视锥为圆锥形;
步骤C20、基于
、h2max、Lmax确定h1的取值范围:
可以理解的是,通过步骤C10-步骤C20所得的h1的范围,能够保证目标信息采集器能够快速准确的采集到不同型号的待装配物的目标信息。
作为一种实施例,所述总装线目标信息采集系统具体可设置于车辆装配总装线上,对应的,所述待装配物为车辆框架,如图2所示,所述目标信息为车型id。需要说明的是,目标信息需要安装在平面上,便于目标信息采集器采集的位置,且这些目标信息码通常需要人工粘贴,因此,作为优选的实施例,所述预设安装位置为车辆前挡风玻璃底座区域,如图2所示。
作为一种实施例,所述上位机中包括MES系统(Manufacturing ExecutionSystem,制造企业生产过程执行系统),所述步骤C5之后还包括:
步骤C6、所述上位机基于所述目标信息从所述MES系统获取车型对应的装配信息,加入生产队列。后续总装件就基于目标信息对应的装配信息进行装配。
本发明实施例步骤C4和步骤C5中,均通过上位机与PLC通讯实现数据交互,上位机与PLC通讯时,上位机PLC是两个独立设备,二者之间采用异步通讯的方式进行数据交互。现有的上位机与PLC通讯技术中,通常是在完成一次数据交互过程后默认将PLC中本次交互数据清零,然后执行下一数据交互过程。但是,由于PLC中可能同时存在多个数据处理过程,容易出现不同数据处理过程交叉,导致数据交互错误,或者,在数据传输过程中受网络通讯、设备自身等影响,也可能导致PLC中交互数据错误,但仍直接默认清零执行下一数据交互操作,这便无法及时发现数据错误。且若清零失败,则可能出现将上一交互数据的结果直接用于下一数据交互场景,从而导致数据错误,如果步骤C4和步骤C5中获取到错误的数据,将严重影响后续的总装过程,因此,发明实施例还提供一种上位机与PLC的通讯系统,能够保证上位机与PLC通讯过程中数据的有效性和准确性,提高了上位机与PLC通讯的可靠性。如图3所示,本发明实施例所述的上位机与PLC的通讯系统包括上位机、至少一个PLC,处理器和存储有计算机程序的存储器,所述上位机具体可以为工控机,可以理解的是,处理器和存储器可以直接设置在上位机中,也可以单独设置在一个其他服务器中。所述上位机至少连接一个所述PLC,所述PLC中设置有至少一个数据交互通道,每一所述数据交互通道对应一种预先设置的数据交互操作,每一所述PLC能够并行执行多个数据交互通道的数据交互操作,每一所述数据交互通道中同一时间只能处理一个数据交互操作。所述数据交互通道中设置有对应的第一信号交互点M1、第二信号交互点M2和至少一个数据交互点,M1、M2和每一数据交互点均对应所述PLC中的一个地址,M1的状态值为0或1,M2的状态值为0或1,所述数据交互点用于存储数据交互操作的目标数据,可以理解的是,每一数据交互通道对应的数据交互点的数量不小于该数据通道所对应的数据交互操作种类所需要的最大数据量。所述PLC配置为允许对数据交互通道的M1进行读写操作,对数据交互通道的M2进行只读操作;所述上位机配置为允许对M2进行读写操作,对M1进行只读操作。所述处理器在执行所述计算机程序时,实现步骤S100、所述PLC和所述上位机实时监控所述数据交互通道对应的M1M2的状态值,并基于数据交互操作过程更改对应的M1值或M2值,完成所述PLC与所述上位机的数据交互操作。
本发明实施例所述通讯系统为每类数据交互操作设置对应的数据交互通道,且每个数据交互通道每次仅执行一个数据交互操作,避免不同的数据交互操作之间相互影响,且基于每一数据交互通道的两个信息交互点的M1M2的状态值对整个数据交互过程进行监测,保证了通讯过程中的数据的有效性和准确性,提高了上位机与PLC通讯的可靠性。
以下基于两个实施例对上位机与PLC通讯的通讯过程进行详细说明:
实施例一、
在PLC向上位机获取目标数据的场景中,所述步骤S100包括:
步骤S1、PLC的数据交互通道接收到所述PLC所连接的外部设备发送的第一数据交互请求,判断所述数据交互通道对应的M1M2的状态值是否为00,若是,则将所述数据交互通道的M1变为1,并向上位机发送第一目标数据获取请求;
可以理解的是,外部设备可以为具体生产线上的电气设备,例如为车辆生产线上的电气设备,具体的第一目标数据也根据电气设备而定,例如,第一目标数据可为车型id对应的车辆装配参数信息。
步骤S2、所述上位机监测到所述数据交互通道的M1M2的状态值从00变为10,基于所接收的第一目标数据获取请求,从上位机数据库中获取第一目标数据,并将第一目标数据写入所述数据交互通道数据点中,写入完成后,所述上位机将所述数据交互通道的M2变为1;
步骤S3、所述PLC监测到所述数据交互通道的M1M2的状态值从10变为11,从所述数据交互通道的数据点中获取所述第一目标数据发送给外部设备,或者,根据所述第一目标数据控制所述外部设备执行对应的动作,并将所述数据交互通道的M1状态变为0;
步骤S4、所述上位机监测到所述数据交互通道的M1M2的状态值从11变为01时,将所述数据交互通道的M2变为0,并清除所述数据交互通道的数据点中的数据,供所述数据交互通道的数据交互操作使用。
可以理解的是,对于在同一第一数据交互操作时间段内,没有严格限制下一第一数据交互请求上传的场景,在当前第一数据交互操作过程中,若获取到下一第一数据交互请求,可等待所述数据交互通道对应的M1M2的状态值变为00时再继续处理,作为一种实施例,所述步骤S1中,当所述数据交互通道对应的M1M2的状态值是不为00时,直接进行报警操作或者执行以下操作:将所接收的第一数据交互请求置于所述数据交互通道对应的PLC请求队列中,待所述数据交互通道对应的M1M2的状态值变为00时,依次执行所述数据交互通道对应的PLC请求队列中的第一数据交互请求。可以理解的是,对于同一第一数据交互操作时间段内,不允许下一第一数据交互请求上传的场景,当前第一数据交互操作过程中,获取到下一第一数据交互请求时,则要进行相应的报警,这样可以提高获取第一目标数据的有效性和可靠性。
为了提高获取目标数据的准确性,作为一种实施例,所述PLC中还设置有每一所述数据交互通道对应的第一数据检测机制,当所述PLC监测到所述数据交互通道的M1M2的状态值从10变为11时,所述步骤S3中,还包括:
步骤S31、所述PLC根据所述数据交互通道对应的第一数据检测机制对所述数据交互通道数据点中的所述第一目标数据进行检测,若检测通过,再从所述数据交互通道的数据点中获取所述第一目标数据发送给外部设备,或者,根据所述第一目标数据控制所述外部设备执行对应的动作,将所述数据交互通道的M1状态变为0,否则,维持所述数据交互通道的M1M2的状态值11不变。
作为一种实施例,所述步骤S100还包括:
步骤S5、当所述数据交互通道的M1M2的状态值维持01、11或10超过预设第一时间阈值时,进行报警操作。
可以理解的是,当出现设备故障、信号故障获取数据错误等多种异常情况时,所述数据交互通道的M1M2的状态值则可能维持在01、11或10不变。且PLC断电后仍会保存当前数据,当故障消除后,仍可基于历史操作继续执行数据交互流程。第一时间阈值可以根据对应数据交互通道正常处理所需的时间来设定。
实施例二、
所述PLC还用于获取所连接的设备状态数据,存储至所述PLC中预设的数据缓存区,或者,实时存储至所述设备状态数据对应的数据交互通道的数据点中,可以理解的是,对于需要实时精确获取设备状态数据的场景,需要直接将设备状态数据存储至数据交互通道的数据点中。对于仅仅用于数据备份等应用场景,对于设备状态数据的实时性要求不高的,可以将设备状态数据存储至数据缓存区中,待上位机间隔一段时间来获取。在上位机从PLC获取目标数据的场景中,所述步骤S100包括:
步骤S10、所述上位机向所述PLC的数据交互通道发送第二数据交互请求,判断所述数据交互通道对应的M1M2的状态值是否为00,若是,则所述上位机将所述数据交互通道的M2变为1,并执行步骤S20或步骤S30;
步骤S20、所述PLC监测到所述数据交互通道的M1M2的状态值从00变为01,基于所接收的第二目标数据获取请求,从所述数据缓存区获取第二目标数据写入所述数据交互通道数据点中,写入完成后,所述PLC将所述数据交互通道的M1变为1,执行步骤S40;
步骤S30、所述PLC监测到所述数据交互通道的M1M2的状态值从00变为01,基于所接收的第二目标数据获取请求,判断所述数据交互通道的数据点中的第二目标数据是否获取完成,若获取完成,所述PLC将所述数据交互通道的M1变为1,执行步骤S40;
步骤S40、所述上位机监测到所述数据交互通道的M1M2的状态值从01变为11,从所述数据交互通道的数据点中获取所述第二目标数据存储至上位机数据库中,然后,将M2状态变为0;
步骤S50、所述PLC监测到所述数据交互通道的M1M2的状态值从11变为10时,将所述数据交互通道的M1变为0,并清除所述数据交互通道的数据点中的数据。
可以理解的是,对于在同一第二数据交互操作时间段内,没有严格限制下一第二数据交互请求上传的场景,在当前第二数据交互操作过程中,若获取到下一第二数据交互请求,可等待所述数据交互通道对应的M1M2的状态值变为00时再继续处理,作为一种实施例,所述步骤S10中,当所述数据交互通道对应的M1M2的状态值是不为00时,直接进行报警操作或者执行以下操作:将所接收的第二数据交互请求置于所述数据交互通道对应的上位机请求队列中,待所述数据交互通道对应的M1M2的状态值变为00时,依次执行所述数据交互通道对应的上位机请求队列中的第二数据交互请求。可以理解的是,对于同一第二数据交互操作时间段内,不允许下一第二数据交互请求上传的场景,当前第二数据交互操作过程中,获取到下一第二数据交互请求时,则要进行相应的报警,这样可以提高获取第二目标数据的有效性和可靠性。
为了提高获取目标数据的准确性,作为一种实施例,所述上位机中还设置有每一所述数据交互通道对应的第二数据检测机制,所述上位机控制所述第二信息检测器获取待装配物的目标信息码距离地面的第二高度h2,还包括:
步骤S401、所述上位机根据所述数据交互通道对应的第二数据检测机制对所述数据交互通道数据点中的所述第二目标数据进行检测,若检测通过,再从所述数据交互通道的数据点中获取所述第二目标数据存储至上位机数据库中,将所述数据交互通道的M2状态变为0,否则,维持所述数据交互通道的M1M2的状态值11不变。
作为一种实施例,所述步骤S100还包括:
步骤S60、当所述数据交互通道的M1M2的状态值维持01、11或10超过预设的第二时间阈值时,进行报警操作。
可以理解的是,当出现设备故障、信号故障获取数据错误等多种异常情况时,所述数据交互通道的M1M2的状态值则可能维持在01、11或10不变。且PLC断电后仍会保存当前数据,当故障消除后,仍可基于历史操作继续执行数据交互流程。第二时间阈值可以根据对应数据交互通道正常处理所需的时间来设定。
采用本发明实施例所述的上位机与PLC的通讯系统的,所述步骤C4具体包括:
步骤C41、PLC的数据交互通道接收到目标信息采集器发送的目标焦距交互请求,判断所述数据交互通道对应的M1M2的状态值是否为00,若是,则将所述数据交互通道的M1变为1,并向上位机发送目标焦距获取请求;
步骤C42、所述上位机监测到所述数据交互通道的M1M2的状态值从00变为10,基于所接收的目标焦距获取请求,从上位机数据库中获取h3,并将h3写入所述数据交互通道数据点中,写入完成后,所述上位机将所述数据交互通道的M2变为1;
步骤C43、所述PLC监测到所述数据交互通道的M1M2的状态值从10变为11,从所述数据交互通道的数据点中获取h3,根据所述h3控制所述目标信息采集器扫描目标信息码获取目标信息,并将所述数据交互通道的M1状态变为0;
步骤C44、所述上位机监测到所述数据交互通道的M1M2的状态值从11变为01时,将所述数据交互通道的M2变为0,并清除所述数据交互通道的数据点中的数据。
其中,所述步骤C4还包括步骤C45、当所述数据交互通道的M1M2的状态值维持01、11或10超过预设第一时间阈值时,或者,当所述步骤C41中,所述数据交互通道对应的M1M2的状态值是不为00时,进行报警操作。
基于发明实施例所述的上位机与PLC的通讯系统,所述PLC将获取的目标信息存储至所述PLC中预设的数据缓存区,或者,实时存储至所述目标信息对应的数据交互通道的数据点中,所述步骤C5包括:
步骤C51、所述上位机向所述PLC的数据交互通道发送目标信息交互请求,判断所述数据交互通道对应的M1M2的状态值是否为00,若是,则所述上位机将所述数据交互通道的M2变为1,并执行步骤C52或步骤C53;
步骤C52、所述PLC监测到所述数据交互通道的M1M2的状态值从00变为01,基于所接收的目标信息获取请求,从所述数据缓存区获取目标信息写入所述数据交互通道数据点中,写入完成后,所述PLC将所述数据交互通道的M1变为1,执行步骤C54;
步骤C53、所述PLC监测到所述数据交互通道的M1M2的状态值从00变为01,基于所接收的目标信息获取请求,判断所述数据交互通道的数据点中的目标信息是否获取完成,若获取完成,所述PLC将所述数据交互通道的M1变为1,执行步骤C54;
步骤C54、所述上位机监测到所述数据交互通道的M1M2的状态值从01变为11,从所述数据交互通道的数据点中获取所述目标信息存储至上位机数据库中,然后,将M2状态变为0;
步骤C55、所述PLC监测到所述数据交互通道的M1M2的状态值从11变为10时,将所述数据交互通道的M1变为0,并清除所述数据交互通道的数据点中的数据。
其中,所述步骤C5还包括:
步骤C56、当所述数据交互通道的M1M2的状态值维持01、11或10超过预设的第二时间阈值时,或者,当所述步骤C51中,所述数据交互通道对应的M1M2的状态值是不为00时,进行报警操作。
需要说明的是,步骤C4、C5中所涉及的其他异常处理均可采用本发明实施例所述的上位机与PLC的通讯系统所涉及的处理细节进行处理,在此不再重复描述。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。