一种基于usb总线的plc通讯方法

文档序号:6310333阅读:167来源:国知局
专利名称:一种基于usb总线的plc通讯方法
技术领域
本发明一种基于USB总线的PLC通讯方法,具体涉及一种采用USB3. 0串行总线通讯的PLC背板通讯方法。
背景技术
在工业控制过程中,需要对多种高低速信号进行连续长时间的同步采集、记录和实时处理,并要求数据网上综合。目前PLC中一般采用PCI总线、CAN总线和以太网总线来完成与扩展模块的连接,PCI总线虽具有较高的传输速度(132Mbps)和“即插即用〃的功能,但其缺点是插拔麻烦, 且扩展槽有限,一般为5 6个;CAN总线数据通信具有可靠性、实时性和灵活性等优点,同时也存在与上位机无法直接连接,不能实现远程信息共享等问题;以太网总线的技术虽然传输速率可到100Mbps,技术也相对成熟,但是以太网采用CSMA/⑶,无法保证数据传输的实时性要求。

发明内容
本发明克服现有技术存在的不足,所要解决的技术问题是提供一种通信速度快、实时性高的PLC通讯方法。为解决上述技术问题,本发明所采用的技术方案是一种基于USB总线的PLC通讯方法,包括主控制器、USB总线背板、USB扩展外设模块和背板电源,所述USB总线背板为设置有多个USB集线器,采用USB3. 0串行总线通讯的背板,所述主控制器、USB扩展外设模块和背板电源均安装在USB总线背板上,背板电源给整个背板供电,所述USB扩展外设模块包括通讯模块、输入模块和输出模块;
所述主控制器和USB扩展外设模块均通过与各自相连的USB集线器接入USB3. 0串行总线完成数据通讯,主控制器与上位机相连,主控制器实现与上位机的数据交互和对下行USB扩展设备的控制;
所述主控制器的控制方法按以下步骤进行
第一步,主控制器启动,系统初始化,主控制器判断是否有设备加入或退出系统,如果有设备加入系统,则进入第二步,如果有设备退出系统,则进入第三步;
第二步,主控制器分配增加设备内存,然后进入第四步;
第三步,主控制器释放该退出设备所占内存;
第四步,主控制器判断新增设备的类型,如果新增设备为通讯模块,则进入第五步,如果新增设备为输入模块,则进入第六步,如果新增设备为输出模块,则进入第七步;
第五步,主控制器主动发送查询包,然后等待接收通讯模块发送的启动包,所述启动包的信息包括插槽位置和通讯协议,主控制器接收到通讯模块的启动包后发送可操作状态包通知通讯模块进入正常操作状态,接着主控制器发送配置信息包,然后等待上传数据,所述配置信息包包括通讯模块连接设备的地址、数据上传时间和数据上传字节数,最后主控制器进行数据处理为上位机软件提供所需数据;
第六步,主控制器等待接收输入模块的启动包,主控制器接收到启动包后发送应答帧,然后等待接收输入模块发送的数据并判断收到数据的类型,如果收到数据为正常数据包,则发送心跳包给输入模块并解析数据包,提供给上位机,如果收到数据为错误帧,则发送复位命令给输入模块,使输入模块复位重启;
第七步,主控制器等待接收输出模块的启动包,主控制器接收到启动包,则发送输出控制包和心跳包给收输出模块,主控制器判断收到数据包是否为错误帧,如果主控制器接收到不是错误帧,则主控制器继续发送输出控制包和心跳包给收输出模块,如果主控制器接收到错误帧,则发送复位命令,使输出模块复位重启。所述通讯模块与主控制器的通讯方法按以下步骤进行
第一步,通讯模块启动后,等待接收主控制器的查询包,然后进入第二步;
第二步,通讯模块判断5秒内是否收到主控制器的查询包,如果5秒内收到主控制器的查询包,则进入第三步,如果5秒内没有收到主控制器的查询包,则主动进入第三步;
第三步,通讯模块发送启动包给主控制器,然后等待接收主控制器发送的可操作状态包,如果收到配置信息包,则进入第四步,如果没有收到配置信息包,则重新发启动包给主控制器;
第四步,通讯模块按照配置信息包内容设置通讯的地址、数据上传字节数、数据上传时间间隔和采集周期,然后进入第五步;
第五步,通讯模块按照配置信息内容,进行数据采集和上传,同时通讯模块在指定时间判断是否接收到主控制器发送的主控心跳包,如果收到,则继续进行数据传输,如果没有收至IJ,则通讯模块复位重启。所述输入模块与主控制器的通讯过程按以下步骤进行
第一步,输入模块启动后,主动给主控制器发送启动包,然后进入第二步;
第二步,输入模块等待接收主控制器的应答信号,如果收到主控制器的应答信号则进入第三步,如果没有收到主控制器的应答信号,则返回第一步;
第三步,输入模块判断收到的应答信号是否为正常通讯包,如果应答信号为正常通讯包,则进入第四步,如果应答信号为复位帧,则输入模块进行复位启动操作;
第四步,输入模块采集输入信号并上传正常数据包给主控制器,然后监测是否接收到主控心跳包,如果收到主控心跳包,则继续采集输入信号并上传正常数据包给主控制器,如果没有接收到主控心跳包则进行错误处理,发送错误帧给主控制器。所述输出模块与主控制器的通讯过程按以下步骤进行
第一步,输出模块启动后,主动给主控制器发送启动包,然后进入第二步;
第二步,输出模块等待接收主控制器的应答信号,如果收到主控制器的应答信号则进入第三步,如果没有收到主控制器的应答信号,则返回第一步;
第三步,输出模块判断收到的应答信号是否为正常通讯包,如果应答信号为正常通讯包,则进入第四步,如果应答信号为复位帧,则输出模块进行复位启动操作;
第四步,输出模块解析通讯包,按照输出控制包进行输出控制,然后监测是否接收到主控心跳包,如果收到主控心跳包,则继续解析通讯包,按照输出控制包进行输出控制,如果没有接收到主控心跳包,则进行错误处理,发送错误帧给主控制器,通知主控制器通讯发生异常。所述USB集线器为具有I个上行端口和4个USB下行端口的USB3. OHUB。所述通讯模块包括RS232通讯模块、RS485通讯模块、以太网接口通讯模块和CAN接口通讯模块,所述输入模块包括模拟量输入采集模块和数字量输入采集模块,所述输出模块包括模拟量输出模块和数字量输出模块。本发明与现有技术相比具有的有益效果是 一、本发明采用USB3.0串行总线通讯,将USB总线方式应用到PLC中,可在混合速度USB环境中提供最佳数据吞吐量,每个下行端口最大工作电流可为500mA,最高速率为5. OGbps,是一种通信速度快、实时性高的PLC通讯方法;
二、本发明采用USB3.0串行总线,USB是真正的“即插即用”设备,连接或拔出时,USB自动检测、识别设备,加载或卸载驱动程序;USB协议从多方面考虑了数据传输的准确性和鲁棒性的保障措施,数据传输可靠性高;USB在3ms内没有总线活动,会自动进入挂起状态,电流消耗不超过500m,能够有效保护电源;与其他接口总线比较,USB接口价格低廉,整个装置,成本较低;
三、本发明支持RS232、RS485、RJ45和CAN等工业上的主流通讯接口,支持传输速率为5G/S的超高速USB3. 0,480 Mbps的高速USB2. O、传输速率为12Mbps的全速USB1. I和传输速率为1.5 Mbps的低速USB1. 0,兼容性强,扩展方便,可用于各种数据通讯场合。


下面结合附图对本发明的具体实施方式
作进一步详细的说明
图I是本发明中USB总线的物理拓扑结构示意 图2是本发明中主控制器I的控制方法流程 图3是本发明中通讯模块3与主控制器I的通讯方法流程 图4是本发明中输入模块3与主控制器I的通讯方法流程 图5是本发明中输出模块5与主控制器I的通讯方法流程 图中1为主控制器、2为USB集线器、3为通讯模块、4为输入模块、5为输出模块、6为上位机、7为RS232通讯模块、8为RS485通讯模块、9为以太网接口通讯模块、10为CAN接口通讯模块、11为模拟量输入采集模块、12为数字量输入采集模块、13为模拟量输出模块、14为数字量输出模块。
具体实施例方式如图I所示,本发明一种基于USB总线的PLC通讯方法,包括主控制器1、USB总线背板、USB扩展外设模块和背板电源,所述USB总线背板为设置有多个USB集线器2,采用USB3. 0串行总线通讯的背板,所述主控制器I、USB扩展外设模块和背板电源均安装在USB总线背板上,背板电源给整个背板供电;所述USB扩展外设模块包括通讯模块3、输入模块4和输出模块5,所述通讯模块3包括RS232通讯模块7、RS485通讯模块8、以太网接口通讯模块9和CAN接口通讯模块10,所述输入模块4包括模拟量输入采集模块11和数字量输入采集模块12,所述输出模块5包括模拟量输出模块13和数字量输出模块14。所述主控制器I和USB扩展外设模块均通过与各自相连的USB集线器2接入USB3. O串行总线完成数据通讯,主控制器I与上位机6相连,主控制器I实现与上位机6的数据交互和对下行USB扩展设备的控制,所述USB集线器2为具有I个上行端口和4个USB下行端口的工业级USB3. OHUBjUSB集线器2可以通过上行端口连接主控制器I,也可以连接USB集线器2,下行端口可以连接USB集线器2进行级联,可以连接通讯模块3、输入模块4和输出模块5,也可以连接RS232通讯模块7、RS485通讯模块8、以太网接口通讯模块9和CAN接口通讯模块10单个通讯模块,模拟量输入采集模块11和数字量输入采集模块12单个输入模块4,模拟量输出模块13和数字量输出模块14单个输出模块5。本具体实施方式
中主控制器I连接有两个USB集线器2,所述通讯模块·、输入模块4和输出模块5通过与各自相连的USB集线器2接入USB3. 0串行总线,单个的模块,例如CAN接口通讯模块10也可以独立通过USB集线器2接入USB3. 0串行总线。所述RS232通讯模块7和RS485通讯模块8具有I个上行端口,2个下行端口,上行端口是支持USB3. 0的USB接口,下行端口可以连接外部具有RS232/RS485接口,支持标准MODBUS协议的通讯采集设备,RS232通讯模块7和RS485通讯模块8主要实现串口 MODBUS数据与USB数据直接的转化;所述以太网接口通讯模块9具有I个上行端口,2个下行端口,上行端口是支持USB3. 0的USB接口,下行端口可用于连接具有以太网网口的,支持标准TCP/IP MODBUS协议的通讯采集设置备,以太网接口通讯模块9主要实现网口数据与USB数据直接的转化;所述CAN接口通讯模块10具有I个上行端口,I个下行端口,上行端口是支持USB3.0的USB接口,下行端口可用于连接具有CAN 口,支持CAN0PEN协议的通讯采集设备,CAN接口通讯模块10主要实现CAN 口数据与USB数据直接的转化;4_20mA模拟电流信号,0-5V模拟电压信号通过模拟量输入采集模块11接入网络;模拟量输出模块13输出0-5V的模拟电压信号和0-20mA的模拟电流信号;数字量输入采集模块12连接标准开关和2线制接近开关;数字量输出模块14通过继电器输出。如图2所示,所述主控制器I的控制方法按以下步骤进行
第一步,主控制器I启动,系统初始化,主控制器I判断是否有设备加入或退出系统,如果有设备加入系统,则进入第二步,如果有设备退出系统,则进入第三步;
第二步,主控制器I分配增加设备内存,然后进入第四步;
第三步,主控制器I释放该退出设备所占内存;
第四步,主控制器I判断新增设备的类型,如果新增设备为通讯模块3,则进入第五步,如果新增设备为输入模块4,则进入第六步,如果新增设备为输出模块5,则进入第七步;第五步,主控制器I主动发送查询包,然后等待接收通讯模块3发送的启动包,所述启动包的信息包括插槽位置和通讯协议,主控制器I接收到通讯模块3的启动包后发送可操作状态包通知通讯模块3进入正常操作状态,接着主控制器I发送配置信息包,然后等待上传数据,所述配置信息包包括通讯模块连接设备的地址、数据上传时间和数据上传字节数,最后主控制器I进行数据处理为上位机软件提供所需数据;
第六步,主控制器I等待接收输入模块4的启动包,主控制器I接收到启动包后发送应答帧,然后等待接收输入模块4发送的数据并判断收到数据的类型,如果收到数据为正常数据包,则发送心跳包给输入模块4并解析数据包,提供给上位机6,如果收到数据为错误帧,则发送复位命令给输入模块4,使输入模块4复位重启;
第七步,主控制器I等待接收输出模块5的启动包,主控制器I接收到启动包,则发送输出控制包和心跳包给收输出模块5,主控制器I判断收到数据包是否为错误帧,如果主控制器I接收到不是错误帧,则主控制器I继续发送输出控制包和心跳包给收输出模块5,如果主控制器I接收到错误帧,则发送复位命令,使输出模块复位重启。如图3所示,所述通讯模块3与主控制器I的通讯方法按以下步骤进行
第一步,通讯模块3启动后,等待接收主控制器I的查询包,然后进入第二步;
第二步,通讯模块3判断5秒内是否收到主控制器I的查询包,如果5秒内收到主控制
器I的查询包,则进入第三步,如果5秒内没有收到主控制器I的查询包,则主动进入第三
I K
少;
第三步,通讯模块3发送启动包给主控制器1,然后等待接收主控制器I发送的可操作状态包,如果收到配置信息包,则进入第四步,如果没有收到配置信息包,则重新发启动包给王控制器I ;
第四步,通讯模块3按照配置信息包内容设置通讯的地址、数据上传字节数、数据上传时间间隔和采集周期,然后进入第五步;
第五步,通讯模块3按照配置信息内容,进行数据采集和上传,同时通讯模块3在指定时间判断是否接收到主控制器I发送的主控心跳包,如果收到,则继续进行数据传输,如果没有收到,则通讯模块3复位重启。如图4所示,所述输入模块4与主控制器I的通讯过程按以下步骤进行
第一步,输入模块4启动后,主动给主控制器I发送启动包,然后进入第二步;
第二步,输入模块4等待接收主控制器I的应答信号,如果收到主控制器I的应答信号
则进入第三步,如果没有收到主控制器I的应答信号,则返回第一步;
第三步,输入模块4判断收到的应答信号是否为正常通讯包,如果应答信号为正常通讯包,则进入第四步,如果应答信号为复位帧,则输入模块4进行复位启动操作;
第四步,输入模块4采集输入信号并上传正常数据包给主控制器1,然后监测是否接收到主控心跳包,如果收到主控心跳包,则继续采集输入信号并上传正常数据包给主控制器I,如果没有接收到主控心跳包则进行错误处理,发送错误帧给主控制器I。如图5所示,所述输出模块5与主控制器I的通讯过程按以下步骤进行
第一步,输出模块5启动后,主动给主控制器I发送启动包,然后进入第二步;
第二步,输出模块5等待接收主控制器I的应答信号,如果收到主控制器I的应答信号
则进入第三步,如果没有收到主控制器I的应答信号,则返回第一步;
第三步,输出模块5判断收到的应答信号是否为正常通讯包,如果应答信号为正常通讯包,则进入第四步,如果应答信号为复位帧,则输出模块5进行复位启动操作;
第四步,输出模块5解析通讯包,按照输出控制包进行输出控制,然后监测是否接收到主控心跳包,如果收到主控心跳包,则继续解析通讯包,按照输出控制包进行输出控制,如果没有接收到主控心跳包,则进行错误处理,发送错误帧给主控制器1,通知主控制器I通讯发生异常。本发明采用USB3. 0串行总线通讯,将USB总线方式应用到PLC中,可在混合速度USB环境中提供最佳数据吞吐量,每个下行端口最大工作电流可为500mA,最高速率为5. OGbps,是一种通信速度快、实时性高的PLC通讯方法;USB是真正的“即插即用”设备,连接或拔出时,USB自动检测、识别设备,加载或卸载驱动程序;USB协议从多方面考虑了数据传输的准确性和鲁棒性的保障措施,数据传输可靠性高;USB在3ms内没有总线活动,会自动进入挂起状态,电流消耗不超过500m,能够有效保护电源;与其他接口总线比较,USB 接口价格低廉,整个装置,成本较低;本发明支持RS232、RS485、RJ45和CAN等工业上的主流通讯接口,支持传输速率为5G/S的超高速USB3. 0、480 Mbps的高速USB2. O、传输速率为12Mbps的全速USB1. I和传输速率为I. 5 Mbps的低速USB1. 0,兼容性强,扩展方便,可用于各种数据通讯场合。
权利要求
1.一种基于USB总线的PLC通讯方法,包括主控制器(I)、USB总线背板、USB扩展外设模块和背板电源,其特征在于所述USB总线背板为设置有多个USB集线器(2),采用USB3. O串行总线通讯的背板,所述主控制器(I)、USB扩展外设模块和背板电源均安装在USB总线背板上,背板电源给整个背板供电,所述USB扩展外设模块包括通讯模块(3)、输入模块(4)和输出模块(5); 所述主控制器(I)和USB扩展外设模块均通过与各自相连的USB集线器(2)接入USB3. O串行总线完成数据通讯,主控制器(I)与上位机(6)相连,主控制器(I)实现与上位机(6)的数据交互和对下行USB扩展设备的控制; 所述主控制器(I)的控制方法按以下步骤进行 第一步,主控制器(I)启动,系统初始化,主控制器(I)判断是否有设备加入或退出系统,如果有设备加入系统,则进入第二步,如果有设备退出系统,则进入第三步; 第二步,主控制器(I)分配增加设备内存,然后进入第四步; 第三步,主控制器(I)释放该退出设备所占内存; 第四步,主控制器(I)判断新增设备的类型,如果新增设备为通讯模块(3),则进入第五步,如果新增设备为输入模块(4),则进入第六步,如果新增设备为输出模块(5),则进入第七步; 第五步,主控制器(I)主动发送查询包,然后等待接收通讯模块(3)发送的启动包,所述启动包的信息包括插槽位置和通讯协议,主控制器(I)接收到通讯模块(3)的启动包后发送可操作状态包通知通讯模块(3)进入正常操作状态,接着主控制器(I)发送配置信息包,然后等待上传数据,所述配置信息包包括通讯模块连接设备的地址、数据上传时间和数据上传字节数,最后主控制器(I)进行数据处理为上位机软件提供所需数据; 第六步,主控制器(I)等待接收输入模块(4)的启动包,主控制器(I)接收到启动包后发送应答帧,然后等待接收输入模块(4)发送的数据并判断收到数据的类型,如果收到数据为正常数据包,则发送心跳包给输入模块(4)并解析数据包,提供给上位机(6),如果收到数据为错误帧,则发送复位命令给输入模块(4),使输入模块(4)复位重启; 第七步,主控制器(I)等待接收输出模块(5)的启动包,主控制器(I)接收到启动包,则发送输出控制包和心跳包给收输出模块(5),主控制器(I)判断收到数据包是否为错误帧,如果主控制器(I)接收到不是错误帧,则主控制器(I)继续发送输出控制包和心跳包给收输出模块(5),如果主控制器(I)接收到错误帧,则发送复位命令,使输出模块复位重启。
2.根据权利要求I所述的一种基于USB总线的PLC通讯模块,其特征在于所述通讯模块(3)与主控制器(I)的通讯方法按以下步骤进行 第一步,通讯模块(3 )启动后,等待接收主控制器(I)的查询包,然后进入第二步; 第二步,通讯模块(3)判断5秒内是否收到主控制器(I)的查询包,如果5秒内收到主控制器(I)的查询包,则进入第三步,如果5秒内没有收到主控制器(I)的查询包,则主动进入第二步; 第三步,通讯模块(3)发送启动包给主控制器(I ),然后等待接收主控制器(I)发送的可操作状态包,如果收到配置信息包,则进入第四步,如果没有收到配置信息包,则重新发启动包给王控制器(I); 第四步,通讯模块(3)按照配置信息包内容设置通讯的地址、数据上传字节数、数据上传时间间隔和采集周期,然后进入第五步; 第五步,通讯模块(3)按照配置信息内容,进行数据采集和上传,同时通讯模块(3)在指定时间判断是否接收到主控制器(I)发送的主控心跳包,如果收到,则继续进行数据传输,如果没有收到,则通讯模块(3)复位重启。
3.根据权利要求I所述的一种基于USB总线的PLC通讯方法,其特征在于所述输入模块(4)与主控制器(I)的通讯过程按以下步骤进行 第一步,输入模块(4 )启动后,主动给主控制器(I)发送启动包,然后进入第二步;第二步,输入模块(4)等待接收主控制器(I)的应答信号,如果收到主控制器(I)的·应答信号则进入第三步,如果没有收到主控制器(I)的应答信号,则返回第一步; 第三步,输入模块(4)判断收到的应答信号是否为正常通讯包,如果应答信号为正常通讯包,则进入第四步,如果应答信号为复位帧,则输入模块(4)进行复位启动操作; 第四步,输入模块(4)采集输入信号并上传正常数据包给主控制器(I ),然后监测是否接收到主控心跳包,如果收到主控心跳包,则继续采集输入信号并上传正常数据包给主控制器(I ),如果没有接收到主控心跳包则进行错误处理,发送错误帧给主控制器(I)。
4.根据权利要求I所述的一种基于USB总线的PLC通讯方法,其特征在于所述输出模块(5)与主控制器(I)的通讯过程按以下步骤进行 第一步,输出模块(5)启动后,主动给主控制器(I)发送启动包,然后进入第二步;第二步,输出模块(5)等待接收主控制器(I)的应答信号,如果收到主控制器(I)的应答信号则进入第三步,如果没有收到主控制器(I)的应答信号,则返回第一步; 第三步,输出模块(5)判断收到的应答信号是否为正常通讯包,如果应答信号为正常通讯包,则进入第四步,如果应答信号为复位帧,则输出模块(5)进行复位启动操作; 第四步,输出模块(5)解析通讯包,按照输出控制包进行输出控制,然后监测是否接收到主控心跳包,如果收到主控心跳包,则继续解析通讯包,按照输出控制包进行输出控制,如果没有接收到主控心跳包,则进行错误处理,发送错误帧给主控制器(I ),通知主控制器(I)通讯发生异常。
5.根据权利要求I所述的一种基于USB总线的PLC通讯方法,其特征在于所述USB集线器(2)为具有I个上行端口和4个USB下行端口的USB3. OHUB。
6.根据权利要求I所述的一种基于USB总线的PLC通讯方法,其特征在于所述通讯模块(3)包括RS232通讯模块(J)、RS485通讯模块(8)、以太网接口通讯模块(9)和CAN接口通讯模块(10 ),所述输入模块(4 )包括模拟量输入采集模块(11)和数字量输入采集模块(12),所述输出模块(5 )包括模拟量输出模块(13 )和数字量输出模块(14 )。
全文摘要
本发明一种基于USB总线的PLC通讯方法,具体涉及一种采用USB3.0串行总线通讯的PLC背板通讯方法;解决的技术问题是提供一种通信速度快、实时性高的PLC通讯方法;采用的技术方案是USB总线背板为设置有多个USB集线器,采用USB3.0串行总线通讯的背板,主控制器、USB扩展外设模块和背板电源均安装在USB总线背板上,USB扩展外设模块包括通讯模块、输入模块和输出模块,主控制器和USB扩展外设模块均通过与各自相连的USB集线器接入USB3.0串行总线完成数据通讯,主控制器与上位机相连,主控制器实现与上位机的数据交互和对下行USB扩展设备的控制,本发明广泛适用于通讯领域。
文档编号G05B19/418GK102681481SQ201210162709
公开日2012年9月19日 申请日期2012年5月24日 优先权日2012年5月24日
发明者于东伟, 吴晓闯, 孟郁金, 李峰, 李玮, 王玉宏, 王耀华, 田涛 申请人:山西联华伟业科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1