本发明涉及自动化控制领域中一种PLC远程代码更新的系统,尤其涉及对PLC进行代码更新的系统及方法。
背景技术:
可编程逻辑控制器(Programmable Logic Controller,PLC),是一种采用一类可编程的存储器,用于其内部存储程序,一般由电源模块、中央处理器(CPU)、存储器、输入输出接口电路、功能模块、通讯模块等模块构成,可以执行逻辑运算、顺序控制、定时、计数与算术操作等指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程,因为可靠性高、适用性强、易学易用、维护方便、体积小等特点广泛地应用在工业自动化以及工业控制领域。
目前,一般的PLC代码更新的方法是通过RS232串口线、双绞网线或者MPI连接线等连接线直接连接PLC和电脑,然后在PLC编程软件中执行PLC代码更新操作,是通过物理线路上的直接连接来更新PLC代码。因此,当PLC出现故障或者要进行代码升级,需要对PLC代码进行更新时,要工作人员到工业现场进行操作。这样费时、费力而且成本巨大。
技术实现要素:
针对上述的缺陷,本发明提供一种PLC远程代码更新的系统和方法,可以节省人力开支,节省时间。
一方面提供一种PLC远程代码更新的系统,包括:
PLC模块,用于接收更新的PLC代码。
嵌入式数据传输终端,用于接收来自服务器的数据发送给PLC模块,接收PLC模块的数据发送给服务器。
连接线,用于连接PLC模块和嵌入式数据传输终端。
服务器,用于转发数据。
通用客户终端,其进一步包括了:
PLC编程软件,用于编写PLC代码,发起PLC代码更新。
虚拟串口模块,用于创建虚拟串口,并作为中介连接PLC编程软件和服务器。
另一方面提供一种PLC远程代码更新的方法,包括如下步骤:
1)设置嵌入式数据传输终端和服务器,将嵌入式数据传输终端通过网络连接到服务器。
2)设置虚拟串口模块,创建并设置虚拟串口,将虚拟串口模块连接到服务器,并将虚拟串口模块通过虚拟串口连接到PLC编程软件。
3)嵌入式数据传输终端根据服务器的控制指令或者本地的控制指令进入到PLC远程更新的模式。
4)PLC编程软件发送PLC代码更新数据包,经过虚拟串口模块、服务器、嵌入式数据传输终端发送给PLC模块。
5)PLC模块收到PLC代码更新数据包后做出回应,回应数据包经过嵌入式数据传输终端、服务器、虚拟串口模块发送给PLC编程软件。
6)重复步骤4)和步骤5),直至PLC编程软件接收到PLC代码更新完成的回应数据包。
步骤4)中PLC编程软件发送PLC代码更新数据包,经过虚拟串口模块、服务器、嵌入式数据传输终端发送给PLC模块的详细步骤包括:虚拟串口模块接收到PLC编程软件发出的PLC代码更新数据包后,按照预设内部协议将PLC代码更新数据包发送到服务器;服务器接收到虚拟串口模块的PLC代码更新数据包后,按照预设内部协议将其转发到对应的嵌入式数据传输终端;嵌入式数据传输终端确认PLC代码更新数据包的合法性之后通过连接线发送给PLC模块。
步骤5)中PLC模块收到PLC代码更新数据包后做出回应,回应数据包经过嵌入式数据传输终端、服务器、虚拟串口模块发送给PLC编程的详细步骤包括: PLC模块收到PLC代码更新数据包后,做出相应的回应,并将回应数据包发送给嵌入式数据传输终端;嵌入式数据传输终端按照预设内部协议将回应数据包发送到服务器;服务器确认回应数据包的合法性,然后按照预设内部协议发送给送给虚拟串口模块;虚拟串口模块收到回应数据包后,通过虚拟串口发送给PLC编程软件;PLC编程软件收到回应数据包后判断是否完成,若PLC远程更新未完成则发送下一个PLC代码更新数据包。
本发明是在PLC工作的工业现场安装带有通信功能的嵌入式数据传输终端,建立嵌入式数据传输终端与服务器之间的连接,而后通过客户终端连接到服务器。
建立PLC模块与通用客户终端之间的网络连接,实现在逻辑上PLC模块与通用客户终端直接连接的效果,最终实现在通用客户终端上通过PLC编程软件进行PLC远程代码更新。能有效地进行PLC远程代码更新,无需安排专人到工业现场,节省时间、节约人力,减少工业控制的成本,提高生产效率。
附图说明
图1是一种PLC远程代码更新系统的基本框架示意图。
图2是一种PLC远程代码更新系统中嵌入式数据传输终端的模块示意图。
图3是一种PLC远程代码更新方法的步骤流程图。
具体实施方式
以下结合附图对本发明进一步说明。
为了使本发明的技术手段、创作特性、达成目的与功效易于理解与明白,下面结合具体图示进一步详细阐述本发明。
如图1所示,一种PLC远程代码更新的系统,包括:
PLC模块,用于接收更新的PLC代码;
嵌入式数据传输终端,用于接收来自服务器的数据发送给PLC模块,接收PLC模块的数据发送给服务器;
连接线,用于连接PLC模块和嵌入式数据传输终端;
服务器,用于转发数据;
通用客户终端,其进一步包括了:
PLC编程软件,用于编写PLC代码,发起PLC代码更新,
虚拟串口模块,用于创建虚拟串口,并作为中介连接PLC编程软件和服务器。
其中连接线是RS232、双绞网线、MPI连接线等中的一种,连接线的种类取决于PLC模块进行代码更新时采用的是何种连接线。
如图2所示,嵌入式数据传输终端包括:中央微处理器、电源模块、GPRS模块、网口、通信接口、SD卡存储模块、JTAG调试接口,中央微处理器分别与电源模块、GPRS模块、网口、通信接口、SD卡存储模块、JTAG调试接口连接。中央微处理器采用LPC1768型号芯片。
其中,嵌入式数据传输终端可以通过网线连接到Internet,再跟服务器通信,也可以通过GPRS模块连接到Internet,再跟服务器通信。
如图3所示,一种PLC远程代码更新的方法,包括如下步骤:
1)设置嵌入式数据传输终端和服务器,将嵌入式数据传输终端通过网络连接到服务器。
2)设置虚拟串口模块,创建并设置虚拟串口,将虚拟串口模块连接到服务器,并将虚拟串口模块通过虚拟串口连接到PLC编程软件。
3)嵌入式数据传输终端根据服务器的控制指令或者本地的控制指令进入到PLC远程更新的模式。
4)PLC编程软件发送PLC代码更新数据包,经过虚拟串口模块、服务器、嵌入式数据传输终端发送给PLC模块。
5)PLC模块收到PLC代码更新数据包后做出回应,回应数据包经过嵌入式数据传输终端、服务器、虚拟串口模块发送给PLC编程软件。
6)重复步骤4)和步骤5),直至PLC编程软件接收到PLC代码更新完成的回应数据包。
步骤4)中PLC编程软件发送PLC代码更新数据包,经过虚拟串口模块、服务器、嵌入式数据传输终端发送给PLC模块的详细步骤包括:虚拟串口模块接收到PLC编程软件发出的PLC代码更新数据包后,按照预设内部协议将PLC代码更新数据包发送到服务器;服务器接收到虚拟串口模块的PLC代码更新数据包后,按照预设内部协议将其转发到对应的嵌入式数据传输终端;嵌入式数据传输终端确认PLC代码更新数据包的合法性之后通过连接线发送给PLC模块。
步骤5)中PLC模块收到PLC代码更新数据包后做出回应,回应数据包经过嵌入式数据传输终端、服务器、虚拟串口模块发送给PLC编程的详细步骤包括: PLC模块收到PLC代码更新数据包后,做出相应的回应,并将回应数据包发送给嵌入式数据传输终端;嵌入式数据传输终端按照预设内部协议将回应数据包发送到服务器;服务器确认回应数据包的合法性,然后按照预设内部协议发送给送给虚拟串口模块;虚拟串口模块收到回应数据包后,通过虚拟串口发送给PLC编程软件;PLC编程软件收到回应数据包后判断是否完成,若PLC远程更新未完成则发送下一个PLC代码更新数据包。
若步骤5)中PLC编程软件没有在规定时间内收到PLC代码更新回应数据包,或者收到不正确的PLC代码更新回应数据包,则PLC编程软件将会重发本次的PLC代码更新数据包。
其中,虚拟串口模块和嵌入式数据传输终端与服务器建立的连接都是TCP连接,最大程度上保证数据传输的可靠性,且通信的预设内部协议是相同的;在预设内部协议中包含了校验字段,虚拟串口模块、嵌入式数据传输终端以及服务器在收到数据包后,先检查校验字段的正确性,如果校验字段不正确,则丢弃这个数据包,并发送重发数据包给发送方请求重新发送。