1.一种基于iOpenWorks的虚拟调试系统,PC客户端安装在Windows电脑上,通过PC客户端中iOpenWorks框架的插件来采集多个工控设备的数据并且存入Redis数据库,仿真软件通过Python程序采集Redis数据库中数据来驱动机器人的模型,同时也将一些机器人模型状态信息写入Redis数据库以触发工控设备中的信号来运行进一步的程序,实现了对工控设备程序逻辑的检测并在虚拟环境中模拟真实的生产制造;所述的基于iOpenWorks的虚拟调试系统,包括工业机器人系统、PLC、工业嵌入式触摸屏、数据采集模块、交互界面模块、Redis数据库模块和仿真模块,具体如下:工业机器人系统与PLC和PC端的数据采集模块连接,包括机器人控制器和机器人示教盒;PLC通过Mudbus TCP协议向工业机器人系统传输I/O信号,包括机器人启动、停止和运行信号,同时所述的机器人控制器发送I/O信号给PLC,再通过PLC的反馈执行其它机器人程序;所述的机器人控制器通过MudbusTCP协议发送关节数据给PC端的数据采集模块,然后数据采集模块对关节数据进行解析;所述的机器人控制器执行机器人程序,机器人示教盒选择机器人程序和查看机器人数据;
PLC与、工业机器人系统、工业嵌入式触摸屏和PC端数据采集模块连接;工业机器人系统的机器人控制器中向PLC输入I/O信号,同时PLC也输出I/O信号给机器人控制器来执行机器人程序;工业嵌入式触摸屏通过Mudbus TCP协议向PLC发送控制信号,包括机器人启动、停止、运动和复位信号,PLC输出状态反馈信号给工业嵌入式触摸屏,工业嵌入式触摸屏上将状态信息进行显示;所述的数据采集模块通过TCP/IP协议向PLC发送仿真设备中的I/O信号,PLC根据所述的仿真设备中I/O信号作为反馈,然后发信号给机器人控制器运行其它机器人程序,PLC同时也输出I/O信号让PC端的数据采集模块进行采集,数据采集模块采集完成之后进行数据解析;
工业嵌入式触摸屏输出机器人控制信号给PLC,信号包括机器人启动、停止、运行和复位信号,然后PLC发送I/O信号给机器人控制器运行机器人程序,工业嵌入式触摸屏输入PLC反馈的状态信号后对工业机器人系统中的状态信息进行显示;
数据采集模块与工业机器人系统、PLC、交互界面模块和Redis数据库模块连接;数据采集模块接收机器人控制器发送的关节数据,将采集到的关节数据解析;数据采集模块接收PLC的I/O信号,然后对I/O信号进行解析;数据采集模块将仿真中I/O信号输出到PLC,PLC再发送信号给机器人控制器运行其它机器人程序;数据采集模块从交互界面模块输入配置文件中工控设备的IP地址、信号的虚拟键名、I/O地址和信号名,根据IP地址和I/O地址信息来实时采集所连接工业机器人系统的关节数据及PLC的I/O变量数据,一个线程负责将数据写入Redis数据库模块,另一个线程将数据读出并输出到交互界面模块,交互界面上将会实时显示数据,数据采集模块停止采集时,在交互界面的模块界面上修改设备IP地址、虚拟键名、I/O地址和信号名,这些修改同步到配置文件中,数据采集模块再次启动时重新匹配信息进行采集;数据采集模块虚拟键名用来标识每条数据,数据采集模块通过Redis序列化通信协议将采集到的关节数据及设备的输入输出信号序列化之后存储到Redis数据库模块,同时也读取Redis数据库模块中虚拟设备的输入输出信号反序列化后写入到PLC,读取关节数据、设备输入输出信号反序列化后输出到交互界面模块进行实时显示;
交互界面模块与数据采集模块连接,其输入为数据采集模块从Redis数据库实时读取的关节数据及I/O变量数据,接收数据后同步显示到交互界面上,交互界面模块上创建和修改的IP地址、虚拟键名、I/O地址和信号名写入配置文件,数据采集模块启动之后匹配配置文件中更新的信息进行数据采集,交互界面模块还对输入输出信息列表中的I/O信号进行强制,同时也能取消强制;
Redis数据库模块与数据采集模块和仿真模块连接;Redis数据库模块接收数据采集模块通过Redis序列化通信协议发送的关节数据、设备输入输出信号,序列化之后存储到键值中去,数据采集模块同时读取Redis数据库虚拟仿真设备的输入输出信号,反序列化之后写入PLC;Redis数据库模块接收仿真模块中机器人的状态信号及传感器的信号,通过Python脚本程序将数据序列化之后写入Redis数据库模块,Python脚本程序通过Socket与仿真模块通信连接,读取Redis数据库中关节数据及设备输入输出数据,驱动仿真模块中的虚拟设备,使机器人完成喷涂、打磨及搬运工作;工控设备及仿真模块中的输入输出信号都存于Redis数据库中,通过读写Redis数据库完成虚拟和实际控制设备的数据交互;
仿真模块与Redis数据库连接,其输入为Python脚本程序读取的Redis数据库模块的关节数据、设备输入输出数据并,这些数据序列化后驱动仿真模块中的虚拟设备,使机器人完成喷涂、打磨及搬运工作,同时,仿真模块中虚拟设备的输入输出信号会通过Python脚本程序序列化后写入到Redis数据库中。
2.根据权利要求1所述的基于iOpenWorks的虚拟调试系统,其特征在于:所述的PC端的数据采集模块和交互界面模块,集成于基于OSGI.NET插件框架的iOpenWorks平台,工业机器人系统和PLC都有各自的PC端插件,功能都被封装到插件中,每一个设备插件都有数据采集模块和交互界面模块,因此每个设备插件可以独立开发、测试和部署;每一个工控设备插件模块都可被动态安装、启动、停止和卸载,具有热插拔性和动态性;数据采集模块的功能集成于插件中,每个工控设备的数据采集互不干扰,提高了数据传输的正确性;交互界面模块集成于插件中,每个工控设备都有自己的交互界面,可以根据需求来布局页面,避免了功能都集成于同一界面,降低了交互界面设计的复杂性;根据系统需求能够选择合适的工控设备插件来进行虚拟调试,提高了系统的灵活性。