1.一种基于OPC UA工业通讯协议的虚拟调试系统,其特征在于交互界面安装在Windows系统下,OPC UA采集模块与PLC、工业机器人通过局域网连接,数据交互模块与RoboDK仿真机器人、RoboDK仿真加工中心通过Socket连接,此外OPC UA模块同数据交互模块直接连接;
所述系统的交互界面模块包括信号配置界面、驱动配置界面;通过信号配置界面配置PLC、工业机器人、RoboDK仿真机器人、RoboDK仿真加工中心的输入输出信号、信号端口、信号名称并生成配置文件;数据交互模块读取配置文件中的输出信号,将PLC、工业机器人的输出信号和信号地址发送给OPC UA采集模块,OPC UA采集模块则根据信号地址读取设备中的信号值并发送至数据交互模块,数据交互模块同时将配置好的RoboDK仿真机器人、RoboDK仿真加工中心的输出信号以及信号地址发送给RoboDK仿真平台,RoboDK仿真平台通过API获取信号值并回传给数据交互模块,数据交互模块依据配置文件中的信号名称以键值对的方式存入Redis数据库模块;数据交互模块根据配置文件中的输入信号地址从Redis缓存数据库中读取信号值,将RoboDK仿真机器人、RoboDK仿真加工中心的输出信号值、地址发送给OPC UA采集模块,OPC UA采集模块将输出信号值根据地址写入PLC、工业机器人的输入端口中;在RoboDK仿真平台中编写Python程序来控制API将RoboDK仿真机器人、RoboDK仿真加工中心的输出信号发送到Redis数据库模块中,并从Redis数据库模块中读取PLC、工业机器人的输出信号值发送给RoboDK仿真机器人、RoboDK仿真加工中心;
各模块的具体构成是:
1)交互界面模块:交互界面模块与数据交互模块连接,并通过以太网连接到OPC UA采集模块中的交换机,同时与PLC、工业机器人组成局域网,交互界面模块向PLC、工业机器人发送控制指令;该模块与数据交互模块连接部分,它的输入为配置的信号、信号地址、信号名称以及数据交互模块传来的工业机器人的关节数据、PLC、仿真设备的输入输出信号值,它将记录信号地址、信号名称的配置文件输出到数据交互模块;
2)RoboDK仿真机器人:RoboDK仿真机器人与Redis数据库模块连接;它的输入是Redis数据库模块中存储的工业机器人的关节数据,并将仿真机器人的状态信号输出到Redi数据库模块中;通过RoboDK提供的基于Python语言的API,将工业机器人的各个关节轴的数据发送给仿真机器人使仿真机器人位置与姿态与工业机器人一致,同时将机器人工作站中的状态信号值发送到Redis服务器模块中;
3)RoboDK仿真加工中心:RoboDK仿真加工中心与Redis数据库模块连接;它的输入是Redis数据库模块中存储的PLC的输出信号,将仿真加工中心的状态信号输出到Redis数据库模块;通过RoboDK提供的基于Python语言的API,将PLC的输出信号发送给仿真加工中心使仿真加工中心按照PLC程序的控制运行;
4)Redis数据库模块:Redis数据库模块与数据交互模块、RoboDK仿真机器人、RoboDK仿真加工中心连接;Redis数据库模块与数据交互模块连接部分,它的输入是数据交互模块从OPC UA采集模块获取到的工业机器人关节数据和PLC的输出信号值,它的输出是RoboDK仿真机器人、RoboDK仿真加工中心的状态信号值;Redis数据库模块与RoboDK仿真机器人、RoboDK仿真加工中心连接部分,它的输入是仿真机器人、仿真加工中心的状态信号值,它的输出是工业机器人关节轴的位姿数据和PLC输出信号值;与数据交互模块和RoboDK仿真机器人、RoboDK仿真加工中心的连接过程中,往Redis数据库中存入数据时将数据序列化,从Redis数据库中取出数据时将获取的数据反序列化得到数据真实值;
5)数据交互模块:数据交互模块同OPC UA采集模块、Redis数据库连接、交互界面模块;
在于OPC UA数据库连接部分,它的输入是OPC UA采集模块采集的PLC的输出信号、工业机器人的关节数据的地址,它将仿真设备的状态信号值输出给OPC UA采集模块;与交互界面模块连接部分,它的输入是配置文件,通过读取配置文件中的信号信息,将PLC、工业机器人的信号地址发送给OPC UA采集模块;与Redis数据库连接部分,输入是RoboDK仿真机器人和RoboDK仿真加工中心的状态信号值,输出是工业机器人的关节数据、PLC的输入输出信号;
6)OPC UA采集模块:OPC UA采集模块通过局域网连接PLC、工业机器人、数据交互模块;
在OPC UA采集模块与数据交互模块连接部分,它的输入是数据交互模块传入的PLC、工业机器人信号的地址,通过OPC UA工业通讯协议访问PLC内置的OPC UA服务器,将采集到的机器人的关节数据、PLC的信号值输出到数据交互模块;它与PLC连接部分,输入是PLC的输出信号值,将RoboDK仿真加工中心的状态信号值写入到PLC的输入端口中;它与工业机器人连接部分,输入是工业机器人关节数据,OPC UA采集模块依据工业机器人的驱动将机器人的关节数据采集出来,并通过协议转换器将数据转化成符合OPC UA协议标准的数据,并通过OPC UA采集模块中的客户端来获取数据;
7)工业机器人:工业机器人通过以太网与OPC UA采集模块、PLC相连接;与PLC连接部分,它的输入是PLC输出的变量值,同时利用工业机器人脚本编程功能编写好机器人运行逻辑,并且利用脚本来设置工业机器人中输出变量值,将寄存器中的变量值写入到PLC的输入端口;与OPC UA采集模块连接部分,它的输出是工业机器人的各个关节的位置姿态数据;
8)PLC:通过以太网与工业机器人、OPC UA采集模块相连接;与工业机器人连接部分,它的输入是工业机器人传来的变量值,根据工业机器人输出的变量值来运行PLC程序,PLC则输出RoboDK仿真机器人、RoboDK仿真加工中心的控制信号,通过在PLC中编写梯形图程序并将变量值通过Modbus TCP发送给工业机器人输入端口以控制和驱动工业机器人;与OPC UA采集模块连接部分,它的输出是PLC程序中RoboDK仿真加工中心的控制信号,它的输入是OPC UA采集模块写入的RoboDK仿真机器人、RoboDK仿真加工中心的状态信号值。
2.根据权利要求1所述的基于OPC UA工业通讯协议的虚拟调试系统,其特征在于:数据采集基于OPC UA工业通讯协议采用订阅模式实时获取OPC UA服务端的数据并将采集到的数据按设备类型存储至Redis服务器模块中,当服务端数据发生变化时可以用回调的方式通知客户端,避免了由于循环读取而导致读取到了大量重复数据,提升了系统性能并保证了系统的实时性,并且系统采用OPC UA工业通讯协议,保证了数据公开透明并且可以连接不同类型的设备,所述的采集方式如下:OPC UA采集模块初始化OPC UA通信栈后,建立客户端与服务端通信基础并读取OPC UA的配置文件,此时将OPC UA采集模块作为客户端连接至OPC UA的服务器,使用HTTP协议浏览OPC UA服务器地址空间,根据信号、数据的地址,设定监控项,接收处理监控项数据变化通知以完成数据的读取。
3.根据权利要求1所述的基于OPC UA工业通讯协议的虚拟调试系统,其特征在于:工业设备与PC端之间的通信方式采用了交换机组成局域网的方式,实现了多台设备之间的数据交换,其数据传输方式采用HTTP通信协议,通过插件式开发框架,提高了系统的可移植性,结合信号配置文件降低了各个设备模块之间的耦合,采用线程池对每一台设备的数据采集线程进行管理,当某一设备模块采集线程发生故障时线程池可以快速的补充线程以提高系统的容灾性;自主选用需要的模块,并控制和监视各个模块的工作状态提高了调试的效率;
在整个系统中利用仿真设备代替现实中没有的设备,降低了系统的成本;用Redis服务器模块存储和管理各个设备需要的信号以及数据的流通,提高了系统的实时性能并保障数据可重复利用性;通过界面交互模块添加、修改和删除的功能,帮助快速的配置信号,降低了系统操作的复杂性。