WO2018115549A1 - Método y aparatos para la gestión remota optimizada de controladores lógicos programables - Google Patents

Método y aparatos para la gestión remota optimizada de controladores lógicos programables Download PDF

Info

Publication number
WO2018115549A1
WO2018115549A1 PCT/ES2017/070803 ES2017070803W WO2018115549A1 WO 2018115549 A1 WO2018115549 A1 WO 2018115549A1 ES 2017070803 W ES2017070803 W ES 2017070803W WO 2018115549 A1 WO2018115549 A1 WO 2018115549A1
Authority
WO
WIPO (PCT)
Prior art keywords
plc
management
remote
electronic device
mobile electronic
Prior art date
Application number
PCT/ES2017/070803
Other languages
English (en)
French (fr)
Inventor
Josep PONT ALBIOL
Francisco Manuel VÁZQUEZ GALLEGO
David CALERO SCANLAN
Jesús ALONSO ZÁRATE
Original Assignee
Machine To Smartphone, S.L.U.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Machine To Smartphone, S.L.U. filed Critical Machine To Smartphone, S.L.U.
Priority to EP17884988.1A priority Critical patent/EP3561741A4/en
Publication of WO2018115549A1 publication Critical patent/WO2018115549A1/es

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13142Debugging, tracing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13172Remote programming from computer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication

Definitions

  • the invention generally relates to the field of communications, and in particular, to improve the remote management of programmable logic controllers by means of a mobile application.
  • PLC Programmable logic controllers
  • the PLC as an electronic digital device, typically comprises at least one programmable memory for the storage of instructions, allowing the implementation of specific functions that have the objective of controlling machines and processes. It also includes a microprocessor, or CPU (the acronym for "central processing unif), capable of performing both arithmetic functions and logical control functions. It is responsible for executing the programmed sequence of instructions and managing communication between the various elements of the system.
  • CPU central processing unif
  • the input ports allow the connection of input devices such as sensors or switches that allow to know and determine the status of the inputs, or input signals, of the system
  • the output ports allow connection of actuators such as motors, valves, acoustic or luminous indicators, among other output devices with which you can act on the system that needs to be controlled by the PLC.
  • Communication between these different elements is carried out by means of the internal communication system, or communication bus / es. In this way, the different elements that make up the internal architecture of a PLC exchange information to develop its objective.
  • the PLCs are normally located in the vicinity of the machine, or machines, to be controlled, by means of a fixed wiring.
  • the instruction program is loaded to the PLC that is going to operate a particular machine.
  • the machine operation phase begins. That is, the PLC executes the program instructions to control the operation of the machine by activating / deactivating output signals, and reading data from sensors that arrive through the input signals, and according to the programmed algorithm, return to generate new instructions in other output signals, to monitor or correct the operation of the machine.
  • the PLCs comprised custom designs for those machines in question.
  • machines and PLCs were installed and did not move in decades. Therefore, conventional PLCs have custom designs for these situations. Instead, more and more PLCs are being installed to control mobile machinery, such as agricultural machines. These machines operate through a mixture of functions that are executed periodically and functions that are carried out on time. Given their mobility, these machines have PLCs incorporated to control their operation.
  • Mobile machines have the disadvantage that they cannot be connected by fixed wiring to a communications network. This communication is necessary not only to download new programs, or update existing programs, but also to monitor the correct operation of the machine, and solve possible computer problems.
  • a mobile application which once installed in an electronic device with wireless communication, allows the remote management of PLCs, from the installation of a new program, such as reprogramming of an existing PLC, such as PLC testing and monitoring, facilitating the resolution of errors by a specialist remotely.
  • the mobile application is connected to a maintenance computer, allowing complex PLC reprogramming operations to be carried out, or the resolution of computer problems, by a professional technician, remotely and wirelessly.
  • PLC programmable logic controller
  • PLC programmable logic controller
  • PLC programmable logic controller
  • PLC programmable logic controller
  • the invention provides methods and devices that implement various aspects, embodiments, and features of the invention, and that are implemented using a variety of means.
  • the media may comprise hardware, software, firmware, or a combination thereof and these techniques may be implemented in any one, or combination of, the various media.
  • the various means may comprise processing units that are implemented using one or more application specific integrated circuits (ASICs), digital signal processors (DSP), digital signal processing devices (DSPD), Programmable logic devices (PLD), field programmable gate arrays (FPGA), processors, controllers, micro-controllers, microprocessors, or other electronic elements, or combination thereof, designed to carry out the described functions (s), or a combination thereof.
  • ASICs application specific integrated circuits
  • DSP digital signal processors
  • DSPD digital signal processing devices
  • PLD Programmable logic devices
  • FPGA field programmable gate arrays
  • processors controllers, micro-controllers, microprocessors, or other electronic elements, or combination thereof, designed to carry out the described functions (s), or a combination thereof.
  • the means may comprise modules (for example, procedures, functions, and so on) that carry out the described functions.
  • the program code can be stored in a memory item and executed by a processor.
  • the memory element can be integrated within the processor or external to it.
  • FIG. 1 shows a system to facilitate the management of remote PLCs.
  • FIG. 2 shows the modules of the system gateway application to facilitate PLC management.
  • FIG. 3 shows the remote gateway.
  • FIG. 4 shows an aspect of the gateway application comprising a credential server.
  • FIG. 5 shows another aspect of the remote gateway.
  • FIG. 6 shows the packet routing states of the remote gateway.
  • FIG. 7 shows the status of the remote gateway connections.
  • FIGs. 8A to 8C show different PLC memory configurations.
  • FIG. 1 shows a system to facilitate the management of PLCs according to an embodiment of the invention.
  • the system 100 comprises a remote machine 1 14 to be controlled by a PLC 1 12.
  • the remote machine 1 10 comprises the same mobile machinery 1 14, for example, the agricultural machinery, and also comprises the sensors and actuators that are connected to the PLC that controls some functionality of the agricultural machinery, using the sensors to receive data input, and issuing output data to the actuators to carry out the programmed action.
  • the maintenance computer can be found in the same facilities as the remote machine 1 10, can be found in an office near it, or it may be far away, even in another country.
  • the remote machine connects to the maintenance computer through a mobile electronic device 130 that has wireless connectivity.
  • the PLC machine is connected via a wireless interface 120, for example, Ethernet / WiFi, using a wireless communications protocol 125 to the mobile device 130.
  • the wireless communications protocol is Short range (such as WiFi, Bluetooth, or similar), although in another aspect, it can also be long range (cellular network, WiMax, or similar).
  • the mobile device exchanges information with the maintenance computer through a communications network that can comprise the mobile cellular network 140 and / or the Internet 150, using another long-range communication protocol 145.
  • a communications network that can comprise the mobile cellular network 140 and / or the Internet 150, using another long-range communication protocol 145.
  • the person skilled in the art understands that other options are possible, for example, that instead of the Internet, a particular communications network is used, or instead of the cellular network, a combination of communication networks is used, for example, other WiFi networks, or WiMax , or similar, while connectivity is completed from the PLC to the maintenance computer.
  • the maintenance computer comprises a virtual private network server, VPN ("Virtual Pr ⁇ vate NetworK ') to establish the VPN connection between the mobile device, which acts as a VPN client, and the maintenance computer, thus ensuring security and confidentiality in communications, offering a safer solution for high-risk machinery or with great economic value for the user.
  • VPN Virtual Pr ⁇ vate NetworK '
  • the mobile device 130 can be any electronic device that has this type of connectivity either short or long range, and also a user interface allowing it to interact with it. Typical existing devices may be known as smartphones, tablets, laptops, or the like.
  • the mobile device 130 and the maintenance computer 160 comprise a gateway application ("gateway" in English) which performs the dual function of allowing to connect remotely and wirelessly with the PLC of the remote machine, and also to load and modify the same PLC program, whatever its manufacturer.
  • the gateway can already be pre-installed on the mobile device, or it can be installed later on any mobile device.
  • the gateway is a mobile application to be installed on the mobile device. Once installed, when executed, the mobile application opens a communication channel with the PLC and another with the maintenance computer.
  • the gateway application can operate without necessarily being connected to the maintenance computer, that is, if the mobile device comprises the management interface, it can carry out all the functionality of the gateway alone.
  • the maintenance computer allows all or part of the operation remotely by another technician if this implementation is preferred.
  • the exposed solution allows to install the automaton program in any PLC existing in remote machines wirelessly by the PLC operator that can be found in another country. This is done without complexity, since a local operator only needs a mobile device that has the mobile gateway application installed. This allows to provide connectivity to the PLC without the need to install a factory router in the same PLC specially configured for that PLC network.
  • the bandwidth used is the generic of the mobile device, being used only to the extent and times of data exchange. Therefore, it is no longer necessary to hire a data line only to provide connectivity to a particular PLC. When it comes to parks, or agricultural facilities, comprising hundreds of industrial machinery, this difference results in a significant cost reduction and complexity.
  • the gateway application allows not only the exchange of data, but also to monitor live programs, allowing to modify the program or reprogram it, or to solve problems remotely. This functionality exists for both PLCs with factory programs, from the same PLC manufacturer, as generic PLCs, whose programs are loaded, installed, and executed using the mobile gateway application.
  • FIG. 2 shows in more detail the modules of the system gateway application to facilitate PLC management.
  • the different elements of the remote machine 1 10 are detailed, which comprises a PLC 202, the input / output ports 204, and the communication buses 206 (for example, of type CAN, of the acronym in English "Controller Area NetworK ').
  • the wireless module 120 connects the remote machine 1 10 with the mobile device 130 by means of its communication module 220.
  • this communication interface works using the TCP / IP protocol to complete communication over the Internet 150 to the maintenance computer 160 through another communication module 220.
  • no use has been made of the cellular network 140, if it has not been implemented a direct connection to the Internet through a direct connection 145.
  • the gateway application comprises two components, or modules.
  • the first module, the remote gateway 230 is installed in an apparatus of the mobile device 130, which communicates with the second module, the management gateway 260, which is installed in an apparatus of the maintenance computer 160.
  • the management gateway 260 implements a secure communications protocol with the remote gateway 230, if necessary, and on the other hand it interfaces with the programming module 265, which allows the maintenance technician to carry out the programming and monitoring functionalities of the PLC remotely. Therefore, among other functions, the management gateway performs the functions of (i) enabling the start of a communications session with a remote gateway and the remote PLC, (i) informing about the communication link status between the computer and the PLC, and (iii) close and disable the communications session with the PLC.
  • the maintenance technician can carry out the programming and monitoring functionalities of the PLC locally, being close to the remote machine.
  • the maintenance computer may also be connected, or it may be completely disconnected, for example, in case of connection failure 145 due to lack of coverage or connectivity.
  • the communication channel between both management and remote gateways (which may reside in one aspect of the invention in the maintenance computer and in the remote mobile device respectively), can be opened as a conventional channel via the Internet, or you can set a VPN network to provide communications with greater privacy and robustness against attacks or unauthorized interventions.
  • a VPN network there is the additional problem that mobile devices do not allow to implement a VPN network to exchange PLC data between the remote gateway and the management gateway, while there is a wireless connection between the PLC and the mobile device. Therefore, in another aspect of the invention a communication protocol is provided aimed at solving this problem, thus allowing a flow of information between the PLC and the gateway application in addition to a wireless connection with the mobile device.
  • a PLC has dedicated hardware for storing the required information, which is the memory of the PLC that has different types depending on the information they must store.
  • FIGs. 8A to 8C show different PLC memory configurations.
  • PLCs On a functional level, PLCs have two types of storage. The first type is program memory 820 that contains the sequence of instructions that the CPU must execute sequentially and cyclically. The main feature that this type of memory should present is that read and write access be fast.
  • the second type is data memory 810, which is also known as the register table, or variable memory, as it contains the necessary data for the purpose of program execution. It is where data such as the status of the system's input and output devices, calculations derived from the program sequences implemented by the CPU, among others, are stored. It is the memory capable of saving the information originated in the microprocessor.
  • the information in these reports is exchanged and communicated using four different types of buses.
  • the data bus is used by the CPU to send the information to the different elements.
  • the CPU sends the location to access the memory address desired by the addressing bus.
  • the control bus is used for the exchange of signals related to internal control actions, and the system bus is responsible for managing the communication via the internal input / output unit of the CPU and the input and output ports.
  • the process of programming a PLC consists in the implementation of a sequence of instructions, whether arithmetic calculations, as logical functions, to achieve that once they have been programmed the desired control result is obtained. This is the process of creating the orders that the PLC will then execute.
  • This debugging process (“debugging” in English), of a PLC allows, on the one hand, to visualize the status of the variables that are used by the control program, and on the other hand, it is also the process that allows to stop the execution of the sequence of instructions of the CPU in a certain point and to execute the instructions step by step, allowing this way to have a control on if the sequence that has been programmed is the correct one and allows the detection of failures in the programming process. Once the problem is discovered, it also allows you to modify the instructions in order to solve the problem so that it does not happen again. As mentioned, this ability to re-program the PLC program from the remote gateway of the mobile electronic device allows changing the instructions of the PLC itself, or providing more functionality, to the PLC than before, quickly and wirelessly, for the benefit of the Username.
  • the remote gateway includes the necessary means to carry out all the necessary functionalities to allow the computer of maintenance, not only the reading and writing of variables in the PLC data memory, but also the reading and writing of the programming code of the program memory.
  • This dual functionality allows not only to set new time or distance thresholds to correct certain behavior, such as movement, of the machines, but also allows the total control of the PLC, modifying how these variables are going to be treated, allowing the complete reprogramming of the PLC, remotely and wirelessly.
  • the process of writing program memory involves changing the logic of operations between system variables.
  • this dual functionality allows an operator, remotely from the maintenance computer, to directly access the PLC, and using the tools of Debugging, search and solve programming problems to start the machine without wasting time and with the minimum problems for the user of the machine.
  • the possibility of carrying out these functions allows reprogramming existing PLCs with factory pre-installed programs, to provide them with greater functionality, and to solve problems with the updated programs, in case of failures at the time of reprogramming, that do not entail a cost and waste of time for the end user of the machines. Therefore, it is allowed to make changes to the sequence of instructions that the CPU executes without the need to stop the execution of the program, online ("online" in English).
  • One of the advantages is that it is not necessary to stop the operation of the machine to make changes in the logical sequence of the program, which is very advantageous for the normal operation of agricultural or industrial machinery. Also, the debugging of the program is allowed with the possibility of entering breakpoints ("breakpoints" in English), in this way the execution of the sequential program can be stopped at a certain point, thus being able to evaluate the system conditions in a specific moment
  • FIG. 3 shows the remote gateway of the mobile device according to an embodiment of the invention.
  • the remote gateway 230 comprises means for modifying PLC program memory and means 320 for modifying PLC data memory.
  • both media are they connect to the corresponding memories of the PLC using the communication module 220.
  • the control means 330 processes this information to optimize its transmission to the management gateway. This processing may comprise compressing the information, and / or encoding it, encapsulating it in case of implementing a tunnel through the IP network, or sending it through the VPN network, if necessary.
  • the management gateway 260 in the maintenance computer 160 Upon receiving this information, the management gateway 260 in the maintenance computer 160 performs the reverse processing (de-encapsulation, decoding, decompression, and so on), and provides the program information and the variable information to the 265 programming module to generate a faithful image of the program and the current state of the PLC and the machine, allowing the remote user to discover the error, reprogram, and start up the system without delays.
  • the functionality can also be carried out from the mobile device if the programming module 265 is also installed therein.
  • FIG. 4 shows another aspect, in which the communication between the management gateway 260, in the maintenance computer 160, and the remote gateway 230, in the mobile device 130, is routed through an Internet credential server that facilitates the information processing from multiple PLCs and also allows to manage the system.
  • the credential server incorporates a 404 database, for example SQL, and a translator application 402 that manages HTTP requests sent from the management gateways and the remote gateways.
  • This server functions as an interface and is responsible for translating HTTP requests into commands to the database, and translating responses to each command into response messages to each HTTP request.
  • This information in the database is managed in turn by an administrator computer, which is used to store user data, enable connections, and monitor the status of a running connection. Therefore, the IP addresses of the maintenance devices and mobile gateway are known in a simple and centralized way.
  • Communications can be implemented securely, using credentials.
  • the user of the maintenance computer accesses the system by entering a username and password through the management gateway.
  • the management gateway sends 450 user and password data to the server, where they are verified.
  • the server responds 460 with an identifier (ID_GW) and updates the database by associating the ID_GW and the IP address of the maintenance computer (IP_PCM) with the user.
  • ID_GW is a random and unique number, and cannot match another GW_ID assigned in previous connections.
  • the ID_GW's that had been generated previously are disabled.
  • the user of the maintenance computer communicates the new ID_GW to the user of the mobile device 130 (for example, through a phone call, via SMS or email), and starts the VPN Server.
  • the management gateway makes 470 periodic requests to the server to obtain 480 the status of the connection between the mobile device and the maintenance computer (STATUS) and displays it in the user interface of the management gateway.
  • the user of the mobile device enters the ID_GW on the remote gateway 230 to start the connection process with the maintenance computer 160.
  • the remote gateway sends 410 the ID_GW to the server, which checks if the ID_GW exists and if there is any IP_PCM associated with the identifier. If both conditions are met, the server sends 420 the IP_PCM to the remote gateway, otherwise, the error is reported.
  • the application initiates the connection to the PLC, which can comprise a connection via WiFi and a connection to the maintenance computer via VPN.
  • the remote gateway periodically sends 430 to the server the status of the connection between the mobile device and the maintenance computer.
  • the server increases the number of connections made with the maintenance computer when the STATUS of the connection goes from the VPN Client disconnected to the VPN Client connected.
  • the management gateway shows 440 the connection status as enabled, the programming module is started to start the PLC programming, monitoring and remote debugging process.
  • the user of the maintenance computer closes 490 the connection and the server removes the GW_ID and the IP_PCM from the table, returning a confirmation 495.
  • FIG. 5 shows in more detail the remote gateway 230, which is formed by two main modules, the login means 510 and the communications management means 520 and packet routing.
  • the login means allow you to configure 512 the SSID, the password of the WiFi access point, and the IP address assignment mode of the PLC in DHCP mode or in static IP mode. In addition, they incorporate a field where the user must enter the identifier assigned from the maintenance computer to start the session.
  • the identifier is sent to the server database, where 514 is checked if said identifier is correct. If it does not exist, the database returns an error to the remote gateway. If the identifier is correct, the database responds 516 with the IP address associated with the maintenance computer and executes the communications management task.
  • the communications management means manage the establishment of TCP / IP connections with the maintenance computer and the PLC. On the one hand, it establishes VPN communication as a VPN Client (as the case may be), for this purpose a new VPN connection is configured 530 and 532 is connected to the VPN server on the maintenance computer. On the other hand, the communications management means activate 550 the mobile device as a WiFi access point and scan 552 to the users connected to the access point waiting for the PLC to connect. Once the two communication channels 534, 554 have been established, the communications management means open ports 560, 540, TCP / IP with the PLC and with the maintenance computer, and packet routing mode 570 is entered between both ports. In parallel, 580 periodically sends the status of connections to the database on the server, which responds with a confirmation if everything is correct.
  • FIG. 6 shows the states of the TCP / IP packet routing of remote gateway 230 according to this protocol.
  • the remote gateway executes two threads in parallel, the first thread 612 responsible for receiving and sending packets to the maintenance computer, and the second thread 614 responsible for receiving and sending packets to the PLC.
  • the routing application consists of four states.
  • a second state 635 of sending TCP / IP packets to the PLC A third state 625 for receiving TCP / IP packets from the PLC.
  • a fourth state of sending 630 TCP / IP packets to the maintenance computer Depending on the case, 640 the port to send packets to the maintenance computer is opened, or 645 the port to send packets to the PLC is opened.
  • the application starts in the first state (reception of PC packets) and if it receives a packet that comes from the computer it goes to the second state 635. If after a while it does not receive a packet from the computer, then it goes to the third state 625. In the second state, the application relays the message received in the first state to the PLC and passes it to the first state. In the third state (reception of PLC packets), if it receives a packet that comes from the PLC it goes to the fourth state 630. If after a time it does not receive a packet, then it goes to the first state. In the fourth state, it transmits to the maintenance computer the packet received from the PLC in the third state and passes it to the first state.
  • FIG. 7 shows the status of the remote gateway connections. The user can observe the status of the connections of the mobile device through a series of indicators:
  • AP status Indicates whether the mobile device has enabled the AP WiFi access point.
  • Codesys connected Indicates whether the maintenance computer is monitoring the PLC through the program, in this case called Codesys.
  • a gateway application comprising a remote gateway module arranged in a mobile device to communicate with the PLC coupled to a machine to be controlled. It can also comprise a management gateway module arranged in a maintenance computer to communicate with the mobile device and with the PLC.
  • the applications allow the operator who is in the facilities where the PLC is located to establish a connection without having a specific router, simply and quickly, with the connection of a simple WiFi adapter (if the PLC needs it ).
  • the use of the mobile device in the case of the invention allows multiple possibilities and does not restrict the costs associated with the transmission of data only to a connection of a machinery.
  • the applications of the invention allow access to the program memory of a PLC so that they are capable of changing both the logic and the sequence of the basic operating instructions that have been programmed in the PLC, regardless of the programming language .
  • This functionality is additionally to allow access to data memory or registration tables to check the status of program variables. Therefore, the programming of a PLC is allowed through standard programming languages.
  • the various means may comprise logic blocks, modules, and circuits may be implemented or carried out by a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a set of programmable field doors (FPGA), or other programmable logic, discrete gate or transistor logic devices, discrete hardware components, or any combination thereof designed to perform the described functions.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA set of programmable field doors
  • a general purpose processor may be a micro processor, but in the alternative, the processor may be a conventional processor, controller, microcontroller, state machine, or embedded processor.
  • the various media may comprise computer readable media including, but not limited to, magnetic storage devices (for example, hard drives, floppy discs, magnetic strips, and so on), optical discs (for example, CD or compact discs versatile DVDs, and so on), smart cards and temporary flash storage units (eg EPROM).
  • the variety of storage media described may represent one or more devices and / or computer readable media for storing information.
  • the computer-readable medium term may comprise, without being limited thereto, a variety of means capable of storing, storing, or transporting instructions and / or data.
  • a computer program product may comprise a computer-readable medium with one or more instructions or operating codes to cause a computer to perform the described functions once executed in the computer.
  • a remote device in a mobile electronic device to facilitate remote management of a programmable logic controller, PLC, of at least one machine to be controlled comprising: data exchange means with a programmable logic controller, PLC, by a wireless communications protocol of the mobile electronic device; and remote gateway means configured to access the PLC allowing the modification of the PLC program.
  • the device, in which the remote gateway means are configured to access the program memory of the PLC allowing the modification of the program instructions.
  • the device, in which the remote gateway means are configured to introduce breakpoints in the program to facilitate troubleshooting.
  • the apparatus further comprising means for exchanging data with a maintenance computer by means of a wireless communications protocol of the mobile electronic device.
  • the apparatus, in which the remote gateway means further comprise login means and communications management means for establishing and closing the connections, and informing about the status of the communications.
  • the apparatus, in which the remote gateway means comprise control means for processing the data to be sent or received, comprising compression or decompression, encoding or decoding, encapsulation or de-encapsulation, modulation or demodulation.
  • a management apparatus in a maintenance computer for the remote management of a programmable logic controller, PLC, of at least one machine to be controlled comprising: means for exchanging data with a mobile electronic device; and management gateway means configured to process the data exchanged with the mobile electronic device allowing the modification of the PLC program.
  • the apparatus in which the management means further comprise login means and communications management means for establishing and closing the connections, and informing about the status of the communications.
  • the apparatus in which the management means comprise control means for processing the data to be sent or received, comprising compression or decompression, encoding or decoding, encapsulation or de-encapsulation, modulation or demodulation.
  • the apparatus, in which the management means comprise means of establishing a virtual private network, VPN, between the management apparatus and the remote apparatus.
  • a method in a remote device of a mobile electronic device to facilitate the remote management of a programmable logic controller, PLC, of at least one machine to be controlled comprising: exchanging data with a programmable logic controller, PLC, by means of a wireless communications protocol; and access the PLC program memory allowing the modification of the program instructions.
  • the procedure, in which to access the PLC program memory comprises accessing the PLC data memory allowing the reading of variables.
  • the procedure, in which to access the program memory of the PLC comprises accessing the program memory of the PLC allowing the modification of the program instructions.
  • the procedure, in which the modification of the program instructions comprises introducing breakpoints in the program to facilitate the resolution of problems.
  • the method further comprising exchanging data with a maintenance computer by means of a wireless communications protocol of the mobile electronic device.
  • the procedure including additionally login and communication management to establish and close connections, and report on the status of communications
  • the procedure further comprising processing the data to be sent or received, including compression or decompression, encoding or decoding, encapsulation or de-encapsulation, modulation or demodulation.
  • the procedure further comprising login and communication management to establish and close connections, and report on the status of communications.
  • the method further comprising processing the data to be sent or received, including compression or decompression, coding or decoding, encapsulation or de-encapsulation, modulation or demodulation.
  • the procedure further comprising the establishment of a virtual private network, VPN, between the management device and the remote device.
  • a system for the remote management of programmable logic controllers, PLCs in which the system comprises at least one PLC of at least one machine to be controlled, and at least one mobile electronic device connected to at least one PLC, in which the At least one mobile electronic device comprises a remote device.
  • the system further comprising at least one maintenance computer connected to the PLC by means of the at least one mobile electronic device, in which the at least one maintenance computer comprises a management apparatus.
  • the system further comprising a credential server to authenticate the user of the mobile electronic device.
  • a programmable logic controller remote management procedure, PLC in a system comprising at least one PLC of at least one machine to be controlled, and at least one mobile electronic device connected to at least one PLC, in which the procedure carried out by the at least one mobile electronic device
  • the method further comprising at least one maintenance computer connected to the PLC by means of the at least one mobile electronic device, in which the procedure carried out by the at least one maintenance computer.
  • the procedure further comprising authenticating the user of the mobile electronic device.
  • An apparatus or procedure, in which the wireless communications protocol can be short-range, such as Wi-Fi or Bluetooth, or it can be long-range, such as a cellular network or WiMax.
  • a computer program comprising instructions, once executed by a processor in a mobile electronic device, to carry out a procedure.
  • a computer program comprising instructions, once executed by a processor in a maintenance computer, to carry out a procedure.
  • a computer-readable medium comprising instructions, once executed by a processor in a mobile electronic device, to carry out a procedure.
  • a computer readable medium comprising instructions, once executed by a processor in a maintenance computer, to carry out a procedure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Programmable Controllers (AREA)

Abstract

Diferentes aspectos de la invención implementan una aplicación móvil, que una vez instalada en un dispositivo electrónico con comunicación inalámbrica, permite la gestión remota de PLCs, desde la instalación de un nuevo programa, como la reprogramación de un PLC existente, como el testeo y monitorización del PLC, facilitando la resolución de errores por un especialista de forma remota. La aplicación móvil se puede conectar con un ordenador de mantenimiento, permitiendo llevar a cabo operaciones complejas de reprogramación del PLC, o la resolución de problemas informáticos, por un técnico profesional, de forma remota e inalámbrica.

Description

METODO Y APARATOS PARA LA GESTION REMOTA OPTIMIZADA DE CONTROLADORES LÓGICOS PROGRAMABLES
CAMPO TÉCNICO
[001] La invención se refiere generalmente al campo de las comunicaciones, y en particular, a mejorar la gestión remota de controladores lógicos programables mediante una aplicación móvil.
ESTADO DE LA TÉCNICA
[002] Los controladores lógicos programables ("programmable logic controllers" , en adelante PLC, por sus siglas en inglés), son dispositivos electrónicos cuya función principal es controlar a autómatas, o máquinas, o robots, u a otros dispositivos electrónicos o mecánicos. Estas máquinas suelen desempeñar funciones repetitivas, y ejemplos típicos son las máquinas en las fábricas, o los ascensores en los edificios, o semáforos en la ciudad. No obstante, también pueden ser máquinas que no desempeñan necesanamente movimientos o funciones repetitivas, sino puntuales.
[003] El PLC, como dispositivo digital electrónico, comprende típicamente al menos una memoria programable para el almacenamiento de instrucciones, permitiendo la implementación de funciones específicas que tienen el objetivo de controlar máquinas y procesos. También comprende un microprocesador, o CPU (las siglas del inglés "central processing unif), capaz de realizar tanto funciones aritméticas como funciones lógicas de control. Se encarga de ejecutar la secuencia programada de instrucciones y administrar la comunicación entre los distintos elementos del sistema. La comunicación con el exterior se lleva a cabo mediante los puertos de entrada y salida. Los puertos de entrada permiten la conexión de dispositivos de entrada tales como sensores o interruptores que permiten conocer y determinar el estado de los inputs, o señales de entrada, del sistema. Los puertos de salida permiten la conexión de actuadores como motores, válvulas, indicadores acústicos o luminosos, entre otros dispositivos de salida con los que se puede actuar sobre el sistema que se precisa controlar mediante el PLC. La comunicación entre estos distintos elementos se lleva a cabo mediante el sistema de comunicación interno, o bus/es de comunicación. De esta forma, los distintos elementos que conforman la arquitectura interna de un PLC intercambian información para poder desarrollar su objetivo.
[004] Los PLCs se sitúan normalmente en la proximidad de la máquina, o máquinas, a controlar, mediante un cableado fijo. Antes de la primera puesta en marcha de la máquina, en una fase de instalación, se carga el programa de instrucciones al PLC que vaya a operar una máquina particular. Después de la carga del programa, empieza la fase de operación de la máquina. Es decir, el PLC ejecuta las instrucciones del programa para controlar el funcionamiento de la máquina mediante la activación/desactivación de señales de salida, y lectura de datos de sensores que llegan por las señales de entrada, y según sea el algoritmo programado, volver a generar nuevas instrucciones en otras señales de salida, para monitorizar o corregir el funcionamiento de la máquina.
[005] Como las máquinas con su PLC correspondiente tradicionalmente no se mueven, los PLCs comprendían diseños hechos a la medida para esas máquinas en cuestión. Como un ejemplo, en fábricas industriales, las máquinas y los PLCs se instalaban y no se movían en décadas. Por tanto, los PLCs convencionales tienen diseños hechos a la medida para estas situaciones. En cambio, cada vez más se están instalando PLCs para controlar maquinaria móvil, como pueden ser las máquinas agrícolas. Estas máquinas operan mediante una mezcla de funciones que se ejecutan de forma periódica y funciones que se llevan a cabo puntualmente. Dada su movilidad, estas máquinas llevan incorporados PLCs para controlar su funcionamiento.
[006] Las máquinas móviles tienen la desventaja de que no pueden estar conectadas mediante cableado fijo a una red de comunicaciones. Esta comunicación es necesaria no sólo para descargar programas nuevos, o actualizar programas existentes, sino también para monitorizar el funcionamiento correcto de la máquina, y resolver posibles problemas informáticos. Cada vez más hace falta una comunicación directa con el PLC para la resolución de problemas informáticos, ya sea de programación o ejecución, cuando ocurre un fallo, y la máquina se encuentra en campo, lejos de la central donde se encuentran los operadores, o especialistas en la resolución de estos problemas informáticos. Actualmente, no existen soluciones flexibles y económicas a esta problemática.
[007] Por tanto, cuando la máquina es móvil, y no tiene una conexión cableada, se pierde la posibilidad de mantener una comunicación constante con ellas. Mientras los PLCs se pueden instalar en la misma máquina móvil, y por tanto continuar con sus tareas de gestión, control y monitorización de la máquina, el problema de la conectividad sigue existiendo, ya que el PLC también necesita programarse, recibir actualizaciones de programas, o instalación de programas nuevos, según la función a desempeñar por la máquina.
[008] Existen PLCs con enrutadores ("routers" en inglés)integrados de comunicaciones por cable, que permiten a los PLCs comunicarse con ordenadores centrales de mantenimiento, que de forma remota cableada se conectan a los PLCs para intercambiar datos. Estas soluciones son muy costosas y poco flexibles ya que están diseñadas para un solo PLC, o pocos PLCs. Por una parte, hay que instalar y configurar un enrutador, por ejemplo, del tipo Ethernet, a la red de comunicaciones donde se encuentra el PLC. Aparte, este enrutador, y el pago de la cuota correspondiente de uso de ancho de banda de datos, es poco óptimo, ya que son costes fijos para acciones de intercambio de datos muy puntuales. Además, para máquinas pequeñas de bajo coste, no sale rentable llevar a cabo una instalación costosa, por tanto, estas máquinas se dejan sin comunicación. No obstante, igualmente son máquinas importantes y necesitan de una gestión remota de su PLC. Finalmente, mientras estos PLCs con enrutador se pueden comunicar, siguen estando fijados a una red de comunicaciones local mediante cableado, no permitiendo su uso a maquinaria móvil.
[009] De la misma forma, existen PLCs con servidores HTTP integrados, que permiten a un usuario tener una visibilidad sobre aspectos básicos del PLC para monitorizar su estado, como si está en funcionamiento o no. Por otra parte, sólo permiten tener una visualización de los parámetros de funcionamiento básicos del PLC. Como estas soluciones son interfaces gráficas usando el protocolo HTTP para visualizar mediante una página de un navegador esta información, carecen de la capacidad de llevar a cabo funciones más complejas.
[0010] Para intentar solventar el problema del cableado fijo que no permite tener las mismas funcionalidades de un PLC una vez que es móvil, se han propuesto el uso de PLCs comprendiendo un módulo de comunicaciones inalámbricas, que usa directamente la red celular de comunicaciones. Esto en principio permite tener comunicación con la máquina incluso en campo, mientras exista una cobertura de telefonía móvil. En cambio, estos sistemas tienen una instalación compleja, y por tanto costosa. Por una parte, se tiene que configurar la tarjeta SIM (de las siglas en inglés de "Subscriber Identity Module") del módulo de comunicaciones de antemano, para que al conectarlo con la máquina en campo, ya tenga una subscripción funcional. Ya que la línea de datos pertenecerá al propietario de la máquina, no será posible hacer ningún tipo de testeo sobre el PLC, ya que hasta que no se instala el PLC, y en campo, no se puede configurar la tarjeta SIM. Es decir, esta solución es inflexible ya que no permite que los fabricantes de PLC puedan comprobar el funcionamiento del producto antes de venderlo.
[0011] Por otra parte, se han propuesto usar redes inalámbricas usando protocolos de corto alcance, como el WiFi o Bluetooth. Éstas permiten la comunicación inalámbrica a un enrutador que actúa como un punto de acceso a Internet. El inconveniente de esta propuesta es que tienen una cobertura muy limitada a una distancia máxima determinada por el punto de acceso. Además, esta solución sustituye a la red cableada, pero no ofrece soluciones a los demás problemas causados por la movilidad del PLC, como lejanía del técnico de mantenimiento, imposibilidad de instalar programas o reprogramar PLCs, o la resolución de problemas de un PLC parado.
[0012] Todas estas soluciones tienen en común que intentan conectar un PLC remoto mediante módulos integrados inflexibles y de instalación costosa. Una vez conectados a la red de comunicaciones externa, por ejemplo Internet, lo que permiten es visualizar el estado del PLC, pero no existe ninguna solución que permita llevar a cabo todas las etapas desde que se va a instalar un PLC nuevo a una máquina, hasta que esté completamente operativa. Es decir, no existe una solución que permita la instalación de un programa nuevo, o la actualización de un programa existente, a un PLC de una máquina remota, de forma inalámbrica, económica y de configuración simple.
[0013] Tampoco existe la posibilidad de programar un PLC existente usando su propio lenguaje de programación por otras vías que no sean las ofrecidas de forma cerrada por el propio fabricante con sus módulos integrados desde fábrica. Las soluciones que permiten la reprogramación son soluciones hechas a la medida, en las que no se tiene acceso al programa firmware del fabricante, sino se permite modificar ciertos parámetros visibles mediante interfaces gráficas por páginas de Internet. Al modificar estos parámetros, se cambia el comportamiento de la máquina de forma muy limitada, pero no se permite tener acceso al programa original del PLC para modificarlo usando su propio idioma de programación de cualquier forma que se requiera por el usuario de la máquina. Con lo cual, estas soluciones son soluciones llave en mano, hechas a medida, y ofrecen el sistema completo, siendo su instalación lenta y costosa, y careciendo de flexibilidad, limitando la libertad de operación del usuario de la máquina a la hora de reprogramar el PLC.
[0014] Por tanto, actualmente, no existen soluciones viables para permitir la gestión flexible, abierta y económica de PLCs existentes de cualquier fabricante de forma remota e inalámbrica. Por tanto, existe la necesidad de resolver de forma efectiva estos problemas descritos.
RESUMEN
[0015] Es un objeto de la invención proporcionar soluciones a los problemas descritos. En particular, es un objeto de la invención proporcionar una aplicación de pasarela para permitir la gestión flexible, abierta y económica de PLCs existentes de cualquier fabricante de forma remota e inalámbrica.
[0016] Entre otras características, los problemas varios se resuelven parcialmente o completamente proporcionando una aplicación móvil, que una vez instalada en un dispositivo electrónico con comunicación inalámbrica, permite la gestión remota de PLCs, desde la instalación de un nuevo programa, como la reprogramación de un PLC existente, como el testeo y monitorización del PLC, facilitando la resolución de errores por un especialista de forma remota. La aplicación móvil se conecta con un ordenador de mantenimiento, permitiendo llevar a cabo operaciones complejas de reprogramación del PLC, o la resolución de problemas informáticos, por un técnico profesional, de forma remota e inalámbrica.
[0017] Es un objeto de la invención proporcionar un aparato remoto en un dispositivo electrónico móvil para facilitar la gestión remota de un controlador de lógica programable, PLC, de al menos una máquina a controlar.
[0018] Es otro objeto de la invención proporcionar un procedimiento en un aparato remoto de un dispositivo electrónico móvil para facilitar la gestión remota de un controlador de lógica programable, PLC, de al menos una máquina a controlar.
[0019] Es un objeto de la invención proporcionar un aparato de gestión en un ordenador de mantenimiento para facilitar la gestión remota de un controlador de lógica programable, PLC, de al menos una máquina a controlar.
[0020] Es otro objeto de la invención proporcionar un procedimiento en un aparato de gestión en un ordenador de mantenimiento para facilitar la gestión remota de un controlador de lógica programable, PLC, de al menos una máquina a controlar.
[0021] Es otro objeto de la invención proporcionar un sistema, y procedimiento correspondiente, para facilitar la gestión remota de un controlador de lógica programable, PLC, de al menos una máquina a controlar.
[0022] Es otro objeto de la invención proporcionar un programa de ordenador que comprende instrucciones, una vez ejecutadas en un procesador, para llevar a cabo las etapas de un procedimiento en un aparato remoto de un dispositivo electrónico móvil.
[0023] Es otro objeto de la invención proporcionar un programa de ordenador que comprende instrucciones, una vez ejecutadas en un procesador, para llevar a cabo las etapas de un procedimiento en un aparato de gestión en un ordenador de mantenimiento.
[0024] Es otro objeto de la invención proporcionar un medio legible por ordenador que comprende instrucciones, una vez ejecutadas en un procesador, para llevar a cabo las etapas de un procedimiento en un aparato remoto de un dispositivo electrónico móvil.
[0025] Es otro objeto de la invención proporcionar un medio legible por ordenador que comprende instrucciones, una vez ejecutadas en un procesador, para llevar a cabo las etapas de un procedimiento en un aparato de gestión en un ordenador de mantenimiento.
[0026] La invención proporciona métodos y dispositivos que implementan varios aspectos, realizaciones, y características de la invención, y que se implementan usando una variedad de medios. A modo de ejemplo, los medios pueden comprender hardware, software, firmware, o una combinación de ellas y estas técnicas se pueden implementar en cualquier una, o combinación de, los varios medios.
[0027] Para una implementación hardware, los varios medios pueden comprender unidades de procesamiento que se implementan usando uno o más circuitos integrados de aplicación específica (ASIC), procesadores de señales digitales (DSP), dispositivos de procesamiento de señal digital (DSPD), dispositivos de lógica programable (PLD), field programmable gate arrays (FPGA), procesadores, controladores, micro-controladores, micro- procesadores, u otros elementos electrónicos, o combinación de ellos, diseñados para llevar a cabo la(s) funciones descritas, o una combinación de las mismas.
[0028] Para una implementación software, los medios pueden comprender módulos (por ejemplo, procedimientos, funciones, y demás) que lleven a cabo las funciones descritas. El código de programa se puede almacenar en un elemento de memoria y ser ejecutados por un procesador. El elemento de memoria se puede integrar dentro del procesador o externo a él.
[0029] Se describen varios aspectos, configuraciones, y realizaciones del invento. En particular, la invención proporciona procedimientos, aparatos, sistemas, procesadores, código de programa, y otros aparatos y elementos que implementan y llevan a cabo los distintos aspectos, configuraciones y características del invento tal como descritas en lo siguiente.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
[0030] Las características y ventajas derivadas de la invención descritas en la descripción se harán más aparentes de la descripción detallada junto con los dibujos en la que números de referencia ¡guales identifican elementos correspondientes en los distintos dibujos. Elementos correspondientes también se pueden identificar usando referencias distintas. [0031] La FIG. 1 muestra un sistema para facilitar la gestión de PLCs remotos.
[0032] La FIG. 2 muestra los módulos de la aplicación pasarela del sistema para facilitar la gestión de PLCs.
[0033] La FIG. 3 muestra la pasarela remota.
[0034] La FIG. 4 muestra un aspecto de la aplicación pasarela comprendiendo un servidor de credenciales.
[003S] La FIG. 5 muestra otro aspecto de la pasarela remota.
[0036] La FIG. 6 muestra los estados del enrutado de paquetes de la pasarela remota.
[0037] La FIG. 7 muestra el estado de las conexiones de la pasarela remota.
[0038] Las FIGs. 8A a 8C muestran distintas configuraciones de memorias de PLC.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN
[0039] La FIG. 1 muestra un sistema para facilitar la gestión de PLCs según una realización de la invención. El sistema 100 comprende una máquina remota 1 14 a controlar por un PLC 1 12. En lo siguiente, para facilitar la comprensión, se hace referencia a una máquina remota 1 10 que engloba todos los componentes del sub-sistema remoto al que hace falta dotarle de conectividad inalámbrica. Por tanto, la máquina remota 1 10 comprende la misma maquinaria móvil 1 14, por ejemplo, la maquinaria agrícola, y también comprende los sensores y actuadores que están conectados al PLC que controla alguna funcionalidad de la maquinaria agrícola, usando los sensores pare recibir datos de entrada, y emitiendo datos de salida a los actuadores para que lleven a cabo la acción programada.
[0040] Todas las funcionalidades llevadas a cabo por el PLC 1 12 pueden ser visualizadas, monitorizadas, y programadas por un ordenador de mantenimiento 160. El ordenador de mantenimiento se puede encontrar en las mismas instalaciones que la máquina remota 1 10, puede encontrarse en una oficina cerca de la misma, o puede estar muy lejos, incluso en otro país. La máquina remota se conecta con el ordenador de mantenimiento a través de un dispositivo electrónico móvil 130 que tiene conectividad inalámbrica. En el ejemplo de la FIG. 1 , la máquina PLC se conecta mediante un interfaz inalámbrico 120, por ejemplo, Ethernet/WiFi, usando un protocolo 125 de comunicaciones inalámbricas al dispositivo móvil 130. Dadas las circunstancias del trabajo en campo, en un aspecto el protocolo de comunicaciones inalámbricas es de corto alcance (como el WiFi, Bluetooth, o similar), aunque en otro aspecto, lo puede ser también de largo alcance (red celular, WiMax, o similar). Por su parte, el dispositivo móvil intercambia información con el ordenador de mantenimiento mediante una red de comunicaciones que puede comprender la red celular móvil 140 y/o Internet 150, usando otro protocolo de comunicaciones de largo alcance 145. El experto en la materia entiende que otras opciones son posibles, como por ejemplo, que en vez de Internet, se use una red de comunicaciones particular, o que en vez de la red celular, se use una combinación de redes de comunicación, por ejemplo, otras redes WiFi, o WiMax, o similar, mientras que la conectividad se complete desde el PLC hasta el ordenador de mantenimiento.
[0041] En un aspecto, el ordenador de mantenimiento comprende un servidor de red privada virtual, VPN (de las siglas en inglés de " Virtual Prívate NetworK') para establecer la conexión VPN entre el dispositivo móvil, que actúa como cliente VPN, y el ordenador de mantenimiento. De esta forma se asegura la segundad y confidencialidad en las comunicaciones, ofreciendo una solución más segura para maquinaria de alto riesgo o con gran valor económico para el usuario.
[0042] El dispositivo móvil 130 puede ser cualquier dispositivo electrónico que tenga este tipo de conectividad ya sea de corto o largo alcance, y además un interfaz de usuario permitiendo interactuar con el mismo. Dispositivos típicos existentes pueden ser los conocidos como teléfonos inteligentes {"smartphones"), tabletas, portátiles, o similares. El dispositivo móvil 130 y el ordenador de mantenimiento 160 comprenden una aplicación pasarela {"gateway" en inglés) que lleva a cabo la doble función de permitir conectarse de forma remota e inalámbrica con el PLC de la máquina remota, y además cargar y modificar el mismo programa del PLC, sea cual sea su fabricante.
[0043] La pasarela puede encontrarse ya pre-instalada en el dispositivo móvil, o se puede instalar a posteriori en cualquier dispositivo móvil. En este ejemplo, la pasarela es una aplicación móvil a instalar en el dispositivo móvil. Una vez instalada, al ejecutarse, la aplicación móvil abre una canal de comunicación con el PLC y otro con el ordenador de mantenimiento. En otro aspecto, la aplicación pasarela puede operar sin necesariamente estar conectado con el ordenador de mantenimiento, es decir, si el dispositivo móvil comprende el interfaz de gestión, puede llevar a cabo todas las funcionalidades de la pasarela por sí sola. El ordenador de mantenimiento permite toda o parte de la operativa de forma remota por otro técnico en caso de preferir esta implementación.
[0044] Por tanto, la solución expuesta permite instalar el programa autómata en cualquier PLC existente en máquinas remotas de forma inalámbrica por el operario PLC que puede encontrarse en otro país. Esto se lleva a cabo sin complejidad, ya que un operador local sólo necesita un dispositivo móvil que tenga instalada la aplicación móvil de pasarela. Esto permite dotar de conectividad al PLC sin necesidad de instalar un enrutador de fábrica en el mismo PLC especialmente configurada para esa red del PLC. Además, el ancho de banda usado es el genérico del dispositivo móvil, siendo utilizado solamente en la medida y en los momentos de intercambio de datos. Por tanto, ya no hace falta contratar una línea de datos sólo para dotar de conectividad a un PLC particular. Cuando se trata de parques, o instalaciones agrícolas, comprendiendo cientos de maquinarias industriales, esta diferencia redunda en una reducción de costes y complejidad muy significante. Además, esta solución permite conectar incluso las máquinas de bajo coste, permitiendo sacar provecho de la posibilidad de programar PLCs en cualquier tipo de máquina de campo. Adicionalmente, la aplicación de pasarela permite no sólo el intercambio de datos, sino también monitorizar programas en vivo, permitiendo modificar el programa o reprogramarlo, o solucionar problemas de forma remota. Esta funcionalidad existe tanto para PLCs con programas de fábrica, del mismo fabricante de PLCs, como PLCs genéricos, cuyos programas se cargan, instalan, y ejecutan usando la aplicación móvil de pasarela.
[0045] La FIG. 2 muestra en más detalle los módulos de la aplicación pasarela del sistema para facilitar la gestión de PLCs. En este caso los distintos elementos de la máquina remota 1 10 se detallan, el cual comprende un PLC 202, los puertos de entrada/salida 204, y los buses de comunicación 206 (por ejemplo, de tipo CAN, de las siglas en inglés "Controller Area NetworK'). El módulo inalámbrico 120 conecta la máquina remota 1 10 con el dispositivo móvil 130 mediante su módulo de comunicación 220. En este ejemplo este interfaz de comunicación funciona usando el protocolo TCP/IP para completar la comunicación a través de Internet 150 al ordenador de mantenimiento 160 a través de otro módulo de comunicación 220. Como puede verse, en este caso no se ha hecho uso de la red celular 140, si no se ha implementado una conexión directa con Internet mediante una conexión directa 145.
[0046] En este aspecto, la aplicación pasarela comprende dos componentes, o módulos. El primer módulo, la pasarela remota 230, se encuentra instalado en un aparato del dispositivo móvil 130, que se comunica con el segundo módulo, la pasarela de gestión 260, que se encuentra instalado en un aparato del ordenador de mantenimiento 160.
[0047] Por una parte la pasarela de gestión 260 implementa un protocolo de comunicaciones seguras con la pasarela remota 230, en caso necesario, y por otra parte hace de interfaz con el módulo de programación 265, que permite al técnico de mantenimiento llevar a cabo las funcionalidades de programación y monitorización del PLC de forma remota. Por tanto, entre otras funciones, la pasarela de gestión lleva a cabo las funciones de (i) habilitar el inicio de una sesión de comunicaciones con una pasarela remota y el PLC remotos, (¡i) informar sobre el estado del enlace de las comunicaciones entre el ordenador y el PLC, y (iii) cerrar e inhabilitar la sesión de comunicaciones con el PLC.
[0048] En otro aspecto, en caso de existir un módulo de programación 265 también en el dispositivo móvil, el técnico de mantenimiento puede llevar a cabo las funcionalidades de programación y monitorización del PLC de forma local, estando cerca de la máquina remota. En este aspecto, el ordenador de mantenimiento puede también estar conectado, o puede estar completamente desconectado, por ejemplo, en caso de fallar la conexión 145 por falta de cobertura o conectividad.
[0049] El canal de comunicación entre ambas pasarelas de gestión y remota (que pueden residir en un aspecto de la invención en el ordenador de mantenimiento y en el dispositivo móvil remoto respectivamente), puede abrirse como un canal convencional a través de Internet, o se puede establecer una red VPN para dotar a las comunicaciones de mayor privacidad y robustez contra ataques o intervenciones no autorizadas. En caso de una red VPN, existe el problema adicional que los dispositivos móviles no permiten implementar una red VPN para intercambiar datos del PLC entre la pasarela remota y la pasarela de gestión, mientras exista una conexión inalámbrica entre el PLC y el dispositivo móvil. Por tanto en otro aspecto de la invención se proporciona un protocolo de comunicaciones dirigido a solventar este problema, permitiendo por tanto un flujo de información entre el PLC y la aplicación pasarela además de una conexión inalámbrica con el dispositivo móvil.
[0050] Un PLC tiene hardware dedicado para el almacenamiento de la información requerida, que es la memoria del PLC que presenta distintos tipos en función de la información que deben de almacenar. Las FIGs. 8A a 8C muestran distintas configuraciones de memorias de PLC. A nivel funcional los PLC presentan dos tipos de almacenamiento. El primer tipo es la memoria de programa 820 que contiene la secuencia de instrucciones que debe ejecutar la CPU de forma secuencial y cíclica. La principal característica que debe presentar este tipo de memoria es que el acceso de lectura y escritura sea rápido. El segundo tipo es la memoria de datos 810, que también es conocida como la tabla de registros, o memoria de variables, ya que contiene los datos necesarios a los fines de la ejecución del programa. Es dónde se almacenan datos tales como el estado de los dispositivos de entrada y salida del sistema, cálculos derivados de las secuencias de programa implementados por la CPU, entre otros. Es la memoria capaz de guardar la información originada en el microprocesador.
[0051] La información de estas memorias se intercambian y comunican usando cuatro tipos de buses distintos. El bus de datos se utiliza por la CPU para enviar la información a los distintos elementos. La CPU manda la localización para acceder a la dirección de memoria deseada por el bus de direccionamiento. El bus de control se usa para el intercambio de señales relativas a acciones de control internas, y el bus de sistema es el encargado de gestionar la comunicación mediante la unidad de entrada/salida interna de la CPU y los puertos de entradas y salidas. [0052] El proceso de programación de un PLC consiste en la implementación de una secuencia de instrucciones, ya sean aritméticas de cálculos, como funciones lógicas, para conseguir que una vez se hayan programado se obtenga el resultado deseado de control. Se trata del proceso de creación de las órdenes que luego ejecutará el PLC. Normalmente es un proceso que se realiza mediante el software de programación que pone a disposición de los desabolladores el fabricante del PLC y se utilizan lenguajes de programación estandarizados por la norma IEC 61 131 -3. Ejemplos de este tipo de programas son LD - Ladder Diagram, ST - Structured Text, o SFC - Sequential Function Chart, entre otros. Tal como mencionado, el código de programación se almacena en la memoria de programa, mientras que las variables que usa el programa se almacenan en la memoria de datos.
[0053] Una vez instalado el programa en el PLC remoto, puede hacer falta reprogramar el PLC, para cambiar o modificar la función a desempeñar por la máquina. También es necesario poder resolver problemas de funcionamiento, por ejemplo errores, o parones inesperados, de forma eficaz y rápida, para el beneficio del usuario de las máquinas y de los PLCs. Esto necesita de una monitorización del PLC, y la habilidad de analizar y resolver los errores de programación que puedan existir. Este proceso de depuración ("debugging" en inglés), de un PLC permite, por una parte, visualizar el estado de las variables que son utilizadas por el programa de control, y por otra parte, también es el proceso que permite parar la ejecución de la secuencia de instrucciones de la CPU en un punto determinado y ejecutar las instrucciones paso a paso, permitiendo de esta forma tener un control sobre si la secuencia que se ha programado es la correcta y permite la detección de fallos en el proceso de programación. Una vez descubierto el problema, también permite modificar las instrucciones con el objetivo de solventar el problema para que no vuelva a repetirse. Tal como mencionado, esta capacidad de re-programación del programa PLC desde la pasarela remota del dispositivo electrónico móvil permite cambiar las instrucciones mismas del PLC, o dotar de más funcionalidad, al PLC que anteriormente, de forma rápida e inalámbrica, para el beneficio del usuario.
[0054] La pasarela remota comprende los medios necesarios para poder llevar a cabo todas las funcionalidades necesarias para permitir al ordenador de mantenimiento, no sólo la lectura y escritura de variables en la memoria de datos del PLC, pero también la lectura y escritura del código de programación de la memoria de programa. Esta funcionalidad dual permite no sólo fijar nuevos umbrales de tiempo o distancia para corregir cierto comportamiento, como el movimiento, de las máquinas, sino permite el control total del PLC, modificando cómo estas variables se van a tratar, permitiendo la reprogramación completa del PLC, de forma remota e inalámbrica. El proceso de escritura de la memoria del programa implica el cambio de la lógica de operaciones entre las variables del sistema.
[0055] También ventajosamente, en el momento de un fallo del PLC, y parón inesperado de la máquina, esta funcionalidad dual permite a un operario, de forma remota desde el ordenador de mantenimiento, tener acceso directamente al PLC, y usando las herramientas de depuración, buscar y resolver los problemas de programación para poner en marcha la máquina sin perder tiempo y con el mínimo de problemas para el usuano de la máquina. La posibilidad de llevar a cabo estas funciones permite reprogramar PLCs existentes con programas pre-instalados de fábrica, para dotarles de mayor funcionalidad, y resolver problemas con los programas actualizados, en caso de fallos a la hora de la reprogramación, que no supongan un coste y pérdida de tiempo para el usuario final de las máquinas. Por tanto, se permite realizar cambios de la secuencia de instrucciones que ejecuta la CPU sin la necesidad de parar la ejecución del programa, de forma en línea ("online" en inglés). Una de las ventajas es que no es necesario detener el funcionamiento de la máquina para realizar cambios en la secuencia lógica del programa, lo cual es muy ventajoso para el funcionamiento normal de la maquinaria agrícola o industrial. También, se permite la depuración del programa con la posibilidad de introducir puntos de interrupción ("breakpoints" en inglés), de esta forma se puede parar la ejecución del programa secuencial en un punto determinado, pudiendo de esta forma evaluar las condiciones del sistema en un instante concreto.
[0056] La FIG. 3 muestra la pasarela remota del dispositivo móvil según una realización de la invención. La pasarela remota 230 comprende medios 310 de modificación de memoria de programa PLC y medios 320 de modificación de memoria de datos PLC. En un ejemplo, ambos medios se conectan con las memorias correspondientes del PLC usando el módulo de comunicación 220. Los medios de control 330 procesan esta información para optimizar su transmisión a la pasarela de gestión. Este procesamiento puede comprender comprimir la información, y/o codificarla, encapsularla en caso de implementar un túnel a través de la red IP, o su envío a través de la red VPN, si se da el caso.
[0057] Al recibir esta información, la pasarela de gestión 260 en el ordenador de mantenimiento 160 lleva a cabo el procesamiento inverso (des- encapsulación, decodificación, descompresión, y demás), y proporciona la información de programa y la información de variables al módulo de programación 265 para generar una imagen fiel del programa y el estado actual del PLC y la máquina, permitiendo al usuario remoto descubrir el error, reprogramar, y poner en marcha el sistema sin atrasos. Tal como mencionado, en otro aspecto, se puede llevar a cabo también la funcionalidad desde el dispositivo móvil en caso de tener el módulo de programación 265 también instalado en el mismo.
[0058] La FIG. 4 muestra otro aspecto, en el que la comunicación entre la pasarela de gestión 260, en el ordenador de mantenimiento 160, y la pasarela remota 230, en el dispositivo móvil 130, se enrutan a través de un servidor de credenciales en Internet que facilita el procesamiento de la información proveniente de múltiples PLCs y también permite gestionar el sistema. El servidor de credenciales incorpora una base de datos 404, por ejemplo SQL, y una aplicación traductora 402 que gestiona peticiones HTTP enviadas desde las pasarelas de gestión y las pasarelas remotas. Este servidor funciona como interfaz y se encarga de traducir las peticiones HTTP en comandos hacia la base de datos, y traducir las respuestas a cada comando en mensajes de respuesta a cada petición HTTP. Esta información de la base de datos se gestiona a su vez por un ordenador administrador, que se usa para almacenar los datos de usuario, habilitar conexiones, y monitorizar el estado de una conexión en marcha. Por tanto se conocen las direcciones IP de los dispositivos de mantenimiento y pasarela móvil de manera sencilla y centralizada.
[0059] Las comunicaciones se pueden implementar de forma segura, usando credenciales. El usuario del ordenador de mantenimiento accede al sistema introduciendo un nombre de usuario y una contraseña a través de la pasarela de gestión. La pasarela de gestión envía 450 los datos de usuario y contraseña al servidor, donde se verifican. Una vez que el nombre de usuano y la contraseña han sido verificados, el servidor responde 460 con un identificador (ID_GW) y actualiza la base de datos asociando el ID_GW y la dirección IP del ordenador de mantenimiento (IP_PCM) con el usuario. El ID_GW es un número aleatorio y único, y no puede coincidir con otro ID_GW asignado en conexiones anteriores. En el momento en que el servidor genera un nuevo ID_GW y lo envía al ordenador de mantenimiento, los ID_GW's que se hubieran generado previamente quedan inhabilitados. Es decir, sólo se puede habilitar la conexión con el último ID_GW generado por el servidor. El usuario del ordenador de mantenimiento comunica el nuevo ID_GW al usuario del dispositivo móvil 130 (por ejemplo, a través de una llamada telefónica, vía SMS o correo electrónico), y pone en marcha el VPN Server. La pasarela de gestión realiza 470 peticiones periódicas al servidor para obtener 480 el estado de la conexión entre el dispositivo móvil y el ordenador de mantenimiento (STATUS) y lo muestra en la interfaz de usuano de la pasarela de gestión.
[0060] El usuario del dispositivo móvil introduce el ID_GW en la pasarela remota 230 para iniciar el proceso de conexión con el ordenador de mantenimiento 160. La pasarela remota envía 410 el ID_GW al servidor, que comprueba si el ID_GW existe y si hay alguna IP_PCM asociada al identificador. Si se cumplen ambas condiciones, el servidor envía 420 la IP_PCM a la pasarela remota, en caso contrario, se le comunica el error. Una vez que la pasarela remota recibe la IP_PCM, la aplicación inicia la conexión al PLC, que puede comprender una conexión mediante WiFi y una conexión al ordenador de mantenimiento mediante VPN. La pasarela remota envía 430 periódicamente al servidor el estado de la conexión entre el dispositivo móvil y el ordenador de mantenimiento. El servidor incrementa el número de conexiones realizadas con el ordenador de mantenimiento cuando el STATUS de la conexión pasa de VPN Client desconectado a VPN Client conectado. Cuando la pasarela de gestión muestra 440 el estado de conexión como habilitada, se arranca el módulo de programación para iniciar el proceso de programación, monitorización y depuración remoto del PLC. Para finalizar, el usuario del ordenador de mantenimiento cierra 490 la conexión y el servidor elimina el ID_GW y la IP_PCM de la tabla, devolviendo una confirmación 495.
[0061] La FIG. 5 muestra en más detalle la pasarela remota 230, que está formada por dos módulos principales, los medios 510 de inicio de sesión y los medios 520 de gestión de las comunicaciones y el enrutamiento de paquetes. Los medios de inicio de sesión permiten configurar 512 el SSID, la contraseña del punto de acceso WiFi, y el modo de asignación de dirección IP del PLC en modo DHCP o en modo IP estática. Además, incorporan un campo donde el usuario debe introducir el identificador asignado desde el ordenador de mantenimiento para iniciar la sesión. Seguidamente, se envía el identificador a la base de datos del servidor, donde se comprueba 514 si dicho identificador es correcto. Si no existe, la base de datos devuelve un error a la pasarela remota. Si el identificador es correcto, la base de datos responde 516 con la dirección IP asociada al ordenador de mantenimiento y ejecuta la tarea de gestión de comunicaciones.
[0062] Los medios de gestión de las comunicaciones gestionan el establecimiento de las conexiones TCP/IP con el ordenador de mantenimiento y el PLC. Por un lado, establece la comunicación VPN como VPN Client (según el caso), para ello se configura 530 una nueva conexión VPN y se conecta 532 con el servidor VPN en el ordenador de mantenimiento. Por otro lado, los medios de gestión de las comunicaciones activan 550 el dispositivo móvil como punto de acceso WiFi y escanea 552 a los usuarios conectados al punto de acceso a la espera de que el PLC se conecte. Una vez establecidos 534, 554, los dos canales de comunicaciones, los medios de gestión de las comunicaciones abren los puertos 560, 540, TCP/IP con el PLC y con el ordenador de mantenimiento, y se entra en modo de encaminamiento 570 de paquetes entre ambos puertos. En paralelo, se envía 580 periódicamente el estado de las conexiones a la base de datos en el servidor, que responde con una confirmación si todo está correcto.
[0063] Tal como explicado anteriormente, en un aspecto se proporciona un protocolo de comunicación que permite el flujo de datos entre el PLC y el dispositivo móvil mediante una red VPN a la vez que una conexión inalámbrica. De forma ventajosa, este protocolo lleva a cabo la doble conectividad sin decodificar los datos, ya que todo el encaminamiento de los datos binarios se lleva a cabo de forma ágil y rápida. La FIG. 6 muestra los estados del enrutado de paquetes TCP/IP de la pasarela remota 230 según este protocolo. En relación al enrutado o encaminamiento de paquetes, la pasarela remota ejecuta dos hilos en paralelo, el primer hilo 612 encargado de recibir y enviar paquetes al ordenador de mantenimiento, y el segundo hilo 614 encargado de recibir y enviar paquetes al PLC. La aplicación de enrutado consta de cuatro estados. Un primer estado 620 de recepción de paquetes TCP/IP procedentes del ordenador de mantenimiento. Un segundo estado 635 de envío de paquetes TCP/IP al PLC. Un tercer estado 625 de recepción de paquetes TCP/IP procedentes del PLC. Un cuarto estado de envío 630 de paquetes TCP/IP al ordenador de mantenimiento. Según el caso, se abre 640 el puerto para enviar paquetes al ordenador de mantenimiento, o se abre 645 el puerto para enviar paquetes al PLC.
[0064] La aplicación arranca en el primer estado (recepción de paquetes PC) y si recibe un paquete que procede del ordenador pasa al segundo estado 635. Si pasado un tiempo no recibe un paquete del ordenador, entonces pasa al tercer estado 625. En el segundo estado, la aplicación retransmite al PLC el mensaje recibido en el primer estado y la pasa al primer estado. En el tercer estado (recepción de paquetes PLC), si recibe un paquete que procede del PLC pasa al cuarto estado 630. Si pasado un tiempo no recibe un paquete, entonces pasa al primer estado. En el cuarto estado, retransmite al ordenador de mantenimiento el paquete recibido del PLC en el tercer estado y la pasa al primer estado.
[0065] La FIG. 7 muestra el estado de las conexiones de la pasarela remota. El usuario puede observar el estado de las conexiones del dispositivo móvil mediante una serie de indicadores:
• "AP status": Indica si el dispositivo móvil ha habilitado el punto de acceso AP WiFi.
• "Connected to PLC": Indica si el PLC y el dispositivo móvil están conectados.
• "Establish VPN": Indica si la red VPN se ha establecido correctamente entre el dispositivo móvil (cliente VPN) y el ordenador de mantenimiento (servidor VPN). • "Connected to PC": Indica si el dispositivo móvil y el ordenador de mantenimiento están conectados.
• "Codesys connected": Indica si el ordenador de mantenimiento está monitorizando el PLC mediante el programa, en este caso denominado Codesys.
[0066] Por tanto, los inventores han desarrollado distintos aspectos implementados como una aplicación de pasarela comprendiendo un módulo pasarela remota dispuesto en un dispositivo móvil para comunicarse con el PLC acoplado a una máquina a controlar. También puede comprender un módulo pasarela de gestión dispuesto en un ordenador de mantenimiento para comunicarse con el dispositivo móvil y con el PLC. Las aplicaciones permiten que el operario que se encuentre en las instalaciones donde se ubica el PLC establezca una conexión sin necesidad de disponer de un enrutador específico, de forma simple y rápida, con la conexión de un sencillo adaptador WiFi (en caso de necesitarlo el PLC). La utilización del dispositivo móvil en el caso de la invención, permite múltiples posibilidades y no restringe los costes asociados a la transmisión de datos únicamente a una conexión de una maquinaria. Además, al ser un sistema abierto, permite la utilización del software propio del fabricante del PLC para la programación del equipo, sin estar innecesariamente restringidos por firmware cerrado del fabricante del PLC. Muy ventajosamente, las aplicaciones de la invención permiten acceso a la memoria de programa de un PLC por lo que son capaces de cambiar tanto la lógica como la secuencia de las instrucciones de funcionamiento básicas que han sido programadas en el PLC, independientemente del idioma de programación. Esta funcionalidad es adicionalmente al de permitir el acceso a la memoria de datos o tablas de registro para consultar el estado de las variables del programa. Por tanto, se permite la programación de un PLC mediante los lenguajes de programación estándar.
[0067] Además, el experto medio en la materia entendería que las distintas realizaciones se pueden implementar en hardware, software, firmware, middleware, micro-código, o cualquier combinación de las mismas. Varios aspectos o características descritas pueden implementarse, por un lado, como un método o procedimiento o función, y por el otro lado, como un aparato, dispositivo, sistema, o programa de ordenador accesible por cualquier dispositivo legible por ordenador, portador o medio. Los procedimientos o algoritmos descritos pueden implementarse directamente en hardware, en un módulo software ejecutado por un procesador, o una combinación de las dos. Los varios medios pueden comprender módulos de software residentes en memoria RAM, memoria flash, memoria ROM, memoria EPROM, memoria EEPROM, registros, disco duro, disco removible, un CD-ROM, o cualquier otro tipo de medio de almacenamiento conocido en la técnica.
[0068] Los varios medios pueden comprender bloques de lógica, módulos, y circuitos se pueden implementar o llevado a cabo por un procesador de propósito general, un procesador de señales digitales (DSP), un circuito integrado específico de aplicación (ASIC), un conjunto de puertas de campo programable (FPGA), u otros dispositivos de lógica programable, de puerta discreta o de lógica de transistor, componentes discretos de hardware, o cualquier combinación de los mismos diseñados para llevar a cabo las funciones descritas. Un procesador de propósito general puede ser un micro procesador, pero en la alternativa, el procesador puede ser un procesador convencional, controlador, microcontrolador, máquina de estado, o procesador embebido.
[0069] Los varios medios pueden comprender medios legibles por ordenador incluyendo, pero no limitado a, dispositivos de almacenamiento magnético (por ejemplo, discos duros, discos floppy, tiras magnéticas, y demás), discos ópticos (por ejemplo, discos compactos CD o versátiles DVD, y demás), tarjetas inteligentes y unidades de almacenamiento flash temporales (por ejemplo EPROM). Adicionalmente, la variedad de medios de almacenamiento descritos pueden representar uno o más dispositivos y/o medios legibles por ordenador para almacenar información. El término medio legible por ordenador puede comprender, sin estar limitado a ello, una variedad de medios capaces de almacenar, guardar, o transportar instrucciones y/o datos. Adicionalmente, un producto de programa de ordenador puede comprender un medio legible por ordenador con una o más instrucciones o códigos operativos para hacer que un ordenador lleve a cabo las funciones descritas una vez ejecutadas en el ordenador.
[0070] Lo que se ha descrito comprende varias realizaciones a modo de ejemplo. Como no es posible ni viable describir en detalle todas la variedad de combinaciones y permutaciones del concepto inventivo que daría lugar a un número elevado de realizaciones, el redactor entiende que el experto en la materia derivaría, después de una lectura directa y objetiva de esta divulgación, las distintas permutaciones y combinaciones posibles, sin que se salga del concepto inventivo general descrito. Por tanto, se han descrito las realizaciones principales, entendiendo que comprenden las demás combinaciones, variaciones y modificaciones.
[0071] En lo siguiente, se describen ciertos aspectos adicionales o ejemplos:
Un aparato remoto en un dispositivo electrónico móvil para facilitar la gestión remota de un controlador de lógica programable, PLC, de al menos una máquina a controlar, comprendiendo el aparato remoto: medios de intercambio de datos con un controlador de lógica programable, PLC, mediante un protocolo de comunicaciones inalámbricas del dispositivo electrónico móvil; y medios de pasarela remota configurados para acceder al PLC permitiendo la modificación del programa del PLC. El aparato, en el que los medios de pasarela remota están configurados para acceder a la memoria de datos del PLC permitiendo la lectura de variables. El aparato, en el que los medios de pasarela remota están configurados para acceder a la memoria de programa del PLC permitiendo la modificación de las instrucciones de programa. El aparato, en el que los medios de pasarela remota están configurados para introducir puntos de interrupción en el programa para facilitar la resolución de problemas. El aparato, comprendiendo adicionalmente medios de intercambio de datos con un ordenador de mantenimiento mediante un protocolo de comunicaciones inalámbricas del dispositivo electrónico móvil. El aparato, en el que los medios de pasarela remota comprenden adicionalmente medios de inicio de sesión y medios de gestión de las comunicaciones para establecer y cerrar las conexiones, e informar sobre el estado de las comunicaciones. El aparato, en el que el los medios de pasarela remota comprenden medios de control para procesar los datos a enviar o a recibir, comprendiendo compresión o descompresión, codificación o decodificación, encapsulación o des- encapsulación, modulación o demodulación. Un aparato de gestión en un ordenador de mantenimiento para la gestión remota de un controlador de lógica programable, PLC, de al menos una máquina a controlar, comprendiendo el aparato de gestión: medios de intercambio de datos con un dispositivo electrónico móvil; y medios de pasarela de gestión configurados para procesar los datos intercambiados con el dispositivo electrónico móvil permitiendo la modificación del programa del PLC. El aparato, en el que los medios de gestión comprenden adicionalmente medios de inicio de sesión y medios de gestión de las comunicaciones para establecer y cerrar las conexiones, e informar sobre el estado de las comunicaciones. El aparato, en el que el los medios de gestión comprenden medios de control para procesar los datos a enviar o a recibir, comprendiendo compresión o descompresión, codificación o decodificación, encapsulación o des-encapsulación, modulación o demodulación. El aparato, en el que los medios de gestión comprenden medios de establecimiento de una red privada virtual, VPN, entre el aparato de gestión y el aparato remoto.
Un procedimiento en un aparato remoto de un dispositivo electrónico móvil para facilitar la gestión remota de un controlador de lógica programable, PLC, de al menos una máquina a controlar, comprendiendo el procedimiento: intercambiar datos con un controlador de lógica programable, PLC, mediante un protocolo inalámbrico de comunicaciones; y acceder a la memoria de programa del PLC permitiendo la modificación de las instrucciones de programa. El procedimiento, en el que acceder a la memoria de programa del PLC comprende acceder a la memoria de datos del PLC permitiendo la lectura de variables. El procedimiento, en el que acceder a la memoria de programa del PLC comprende acceder a la memoria de programa del PLC permitiendo la modificación de las instrucciones de programa. El procedimiento, en el que la modificación de las instrucciones de programa comprende introducir puntos de interrupción en el programa para facilitar la resolución de problemas. El procedimiento, comprendiendo adicionalmente intercambiar datos con un ordenador de mantenimiento mediante un protocolo de comunicaciones inalámbricas del dispositivo electrónico móvil. El procedimiento, comprendiendo adicionalmente inicio de sesión y gestión de las comunicaciones para establecer y cerrar las conexiones, e informar sobre el estado de las comunicaciones. El procedimiento, comprendiendo adicionalmente procesar los datos a enviar o a recibir, comprendiendo compresión o descompresión, codificación o decodificación, encapsulación o des-encapsulación, modulación o demodulación.
Un procedimiento en un aparato de gestión de un ordenador de mantenimiento para facilitar la gestión remota de un controlador de lógica programable, PLC, de al menos una máquina a controlar, comprendiendo el procedimiento: intercambiar datos con un dispositivo electrónico móvil; y procesar los datos intercambiados permitiendo la modificación de las instrucciones de programa del PLC. El procedimiento, comprendiendo adicionalmente inicio de sesión y gestión de las comunicaciones para establecer y cerrar las conexiones, e informar sobre el estado de las comunicaciones. El procedimiento, comprendiendo adicionalmente procesar los datos a enviar o a recibir, comprendiendo compresión o descompresión, codificación o decodificación, encapsulación o des-encapsulación, modulación o demodulación. El procedimiento, comprendiendo adicionalmente el establecimiento de una red privada virtual, VPN, entre el aparato de gestión y el aparato remoto. Un sistema para la gestión remota de controladores de lógica programable, PLC, en el que el sistema comprende al menos un PLC de al menos una máquina a controlar, y al menos un dispositivo electrónico móvil conectado al al menos un PLC, en el que el al menos un dispositivo electrónico móvil comprende un aparato remoto. El sistema, comprendiendo adicionalmente al menos un ordenador de mantenimiento conectado al PLC mediante el al menos un dispositivo electrónico móvil, en el que el al menos un ordenador de mantenimiento comprende un aparato de gestión. El sistema, comprendiendo adicionalmente un servidor de credenciales para autenticar al usuario del dispositivo electrónico móvil.
Un procedimiento de gestión remota de controladores de lógica programable, PLC, en un sistema que comprende al menos un PLC de al menos una máquina a controlar, y al menos un dispositivo electrónico móvil conectado al al menos un PLC, en el que el procedimiento llevado a cabo por el al menos un dispositivo electrónico móvil. El procedimiento, comprendiendo adicionalmente al menos un ordenador de mantenimiento conectado al PLC mediante el al menos un dispositivo electrónico móvil, en el que el procedimiento llevado a cabo por el al menos un ordenador de mantenimiento. El procedimiento, comprendiendo adicionalmente autenticar al usuano del dispositivo electrónico móvil.
Un aparato o procedimiento, en el que el protocolo de comunicaciones inalámbricas puede ser de corto alcance, como por ejemplo, el WiFi o Bluetooth, o puede ser de largo alcance, como por ejemplo, de red celular o WiMax.
Un programa de ordenador que comprende instrucciones, una vez ejecutadas por un procesador en un dispositivo electrónico móvil, para llevar a cabo un procedimiento.
Un programa de ordenador que comprende instrucciones, una vez ejecutadas por un procesador en un ordenador de mantenimiento, para llevar a cabo un procedimiento.
Un medio legible por ordenador que comprende instrucciones, una vez ejecutadas por un procesador en un dispositivo electrónico móvil, para llevar a cabo un procedimiento. Un medio legible por ordenador que comprende instrucciones, una vez ejecutadas por un procesador en un ordenador de mantenimiento, para llevar a cabo un procedimiento.

Claims

Un aparato remoto en un dispositivo electrónico móvil para facilitar la gestión remota de un controlador de lógica programabie, PLC, de al menos una máquina a controlar, comprendiendo el aparato remoto: medios de intercambio de datos con un controlador de lógica programabie, PLC, mediante un protocolo de comunicaciones inalámbricas del dispositivo electrónico móvil; y
medios de pasarela remota configurados para acceder al PLC permitiendo la modificación del programa del PLC.
El aparato de la reivindicación 1 , en el que los medios de pasarela remota están configurados para acceder a la memoria de datos del PLC permitiendo la lectura de variables.
El aparato de la reivindicación 2, en el que los medios de pasarela remota están configurados para acceder a la memoria de programa del PLC permitiendo la modificación de las instrucciones de programa.
El aparato de la reivindicación 3, en el que los medios de pasarela remota están configurados para introducir puntos de interrupción en el programa para facilitar la resolución de problemas.
El aparato de la reivindicación 2, comprendiendo adicionalmente medios de intercambio de datos con un ordenador de mantenimiento mediante un protocolo de comunicaciones inalámbricas del dispositivo electrónico móvil.
El aparato de la reivindicación 5, en el que los medios de pasarela remota comprenden adicionalmente medios de inicio de sesión y medios de gestión de las comunicaciones para establecer y cerrar las conexiones, e informar sobre el estado de las comunicaciones.
HOJA DE REEMPLAZO (REGLA 26) El aparato de la reivindicación 5, en el que el los medios de pasarela remota comprenden medios de control para procesar los datos a enviar o a recibir, comprendiendo compresión o descompresión, codificación o decodificación, encapsulación o des-encapsulación, modulación o demodulación.
Un aparato según cualquiera de las reivindicaciones anteriores, en el que el protocolo de comunicaciones inalámbricas puede ser de corto alcance, como por ejemplo, el WiFi o Bluetooth, o puede ser de largo alcance, como por ejemplo, de red celular o WiMax.
Un aparato de gestión en un ordenador de mantenimiento para la gestión remota de un controlador de lógica programable, PLC, de al menos una máquina a controlar, comprendiendo el aparato de gestión: medios de intercambio de datos con un dispositivo electrónico móvil; y medios de pasarela de gestión configurados para procesar los datos intercambiados con el dispositivo electrónico móvil permitiendo la modificación del programa del PLC.
El aparato de la reivindicación 9, en el que los medios de gestión comprenden adicionalmente medios de inicio de sesión y medios de gestión de las comunicaciones para establecer y cerrar las conexiones, e informar sobre el estado de las comunicaciones.
El aparato de la reivindicación 9, en el que el los medios de gestión comprenden medios de control para procesar los datos a enviar o a recibir, comprendiendo compresión o descompresión, codificación o decodificación, encapsulación o des-encapsulación, modulación o demodulación.
El aparato de la reivindicación 9, en el que los medios de gestión comprenden medios de establecimiento de una red privada virtual, VPN, entre el aparato de gestión y el aparato remoto.
HOJA DE REEMPLAZO (REGLA 26) Un procedimiento en un aparato remoto de un dispositivo electrónico móvil para facilitar la gestión remota de un controlador de lógica programable, PLC, de al menos una máquina a controlar, comprendiendo el procedimiento: intercambiar datos con un controlador de lógica programable, PLC, mediante un protocolo inalámbrico de comunicaciones; y
acceder a la memoria de programa del PLC permitiendo la modificación de las instrucciones de programa.
El procedimiento de la reivindicación 13, en el que acceder a la memoria de programa del PLC comprende acceder a la memoria de datos del PLC permitiendo la lectura de variables.
El procedimiento de la reivindicación 14, en el que acceder a la memoria de programa del PLC comprende acceder a la memoria de programa del PLC permitiendo la modificación de las instrucciones de programa.
El procedimiento de la reivindicación 15, en el que la modificación de las instrucciones de programa comprende introducir puntos de interrupción en el programa para facilitar la resolución de problemas.
El procedimiento de la reivindicación 14, comprendiendo adicionalmente intercambiar datos con un ordenador de mantenimiento mediante un protocolo de comunicaciones inalámbricas del dispositivo electrónico móvil.
El procedimiento de la reivindicación 17, comprendiendo adicionalmente inicio de sesión y gestión de las comunicaciones para establecer y cerrar las conexiones, e informar sobre el estado de las comunicaciones.
El procedimiento de la reivindicación 17, comprendiendo adicionalmente procesar los datos a enviar o a recibir, comprendiendo compresión o
HOJA DE REEMPLAZO (REGLA 26) descompresión, codificación o decodificación, encapsulación o des- encapsulación, modulación o demodulación.
20. El procedimiento según cualquiera de las reivindicaciones anteriores, en el que el protocolo de comunicaciones inalámbricas puede ser de corto alcance, como por ejemplo, el WiFi o Bluetooth, o puede ser de largo alcance, como por ejemplo, de red celular o WiMax.
21 . Un procedimiento en un aparato de gestión de un ordenador de mantenimiento para facilitar la gestión remota de un controlador de lógica programable, PLC, de al menos una máquina a controlar, comprendiendo el procedimiento:
intercambiar datos con un dispositivo electrónico móvil; y
procesar los datos intercambiados permitiendo la modificación de las instrucciones de programa del PLC.
22. El procedimiento de la reivindicación 21 , comprendiendo adicionalmente inicio de sesión y gestión de las comunicaciones para establecer y cerrar las conexiones, e informar sobre el estado de las comunicaciones.
23. El procedimiento de la reivindicación 21 , comprendiendo adicionalmente procesar los datos a enviar o a recibir, comprendiendo compresión o descompresión, codificación o decodificación, encapsulación o des- encapsulación, modulación o demodulación.
24. El procedimiento de la reivindicación 21 , comprendiendo adicionalmente el establecimiento de una red privada virtual, VPN, entre el aparato de gestión y el aparato remoto. 25. Un sistema para la gestión remota de controladores de lógica programable, PLC, en el que el sistema comprende al menos un PLC de al menos una máquina a controlar, y al menos un dispositivo electrónico móvil conectado al al menos un PLC, en el que el al menos un
HOJA DE REEMPLAZO (REGLA 26) dispositivo electrónico móvil comprende un aparato remoto según cualquiera de las reivindicaciones 1 al 8.
El sistema de la reivindicación 25, comprendiendo adicionalmente al menos un ordenador de mantenimiento conectado al PLC mediante el al menos un dispositivo electrónico móvil, en el que el al menos un ordenador de mantenimiento comprende un aparato de gestión según cualquiera de las reivindicaciones 9 al 12.
El sistema de la reivindicación 25, comprendiendo adicionalmente un servidor de credenciales para autenticar al usuario del dispositivo electrónico móvil.
Un procedimiento de gestión remota de controladores de lógica programable, PLC, en un sistema que comprende al menos un PLC de al menos una máquina a controlar, y al menos un dispositivo electrónico móvil conectado al al menos un PLC, en el que el procedimiento llevado a cabo por el al menos un dispositivo electrónico móvil es según cualquiera de las reivindicaciones 13 al 20.
El procedimiento de la reivindicación 28, comprendiendo adicionalmente al menos un ordenador de mantenimiento conectado al PLC mediante el al menos un dispositivo electrónico móvil, en el que el procedimiento llevado a cabo por el al menos un ordenador de mantenimiento es según cualquiera de las reivindicaciones 21 al 24.
El procedimiento de la reivindicación 28, comprendiendo adicionalmente autenticar al usuario del dispositivo electrónico móvil.
Un programa de ordenador que comprende instrucciones, una vez ejecutadas por un procesador en un dispositivo electrónico móvil, para llevar a cabo un procedimiento según cualquiera de las reivindicaciones 13 al 20.
HOJA DE REEMPLAZO (REGLA 26) Un programa de ordenador que comprende instrucciones, una vez ejecutadas por un procesador en un ordenador de mantenimiento, para llevar a cabo un procedimiento según cualquiera de las reivindicaciones 21 al 24.
Un medio legible por ordenador que comprende instrucciones, una vez ejecutadas por un procesador en un dispositivo electrónico móvil, para llevar a cabo un procedimiento según cualquiera de las reivindicaciones 13 al 20.
Un medio legible por ordenador que comprende instrucciones, una vez ejecutadas por un procesador en un ordenador de mantenimiento, para llevar a cabo un procedimiento según cualquiera de las reivindicaciones 21 al 24.
HOJA DE REEMPLAZO (REGLA 26)
PCT/ES2017/070803 2016-12-23 2017-12-09 Método y aparatos para la gestión remota optimizada de controladores lógicos programables WO2018115549A1 (es)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP17884988.1A EP3561741A4 (en) 2016-12-23 2017-12-09 METHOD AND APPARATUSES FOR OPTIMIZED REMOTE MANAGEMENT OF PROGRAMMABLE LOGIC CONTROLLERS

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ESP201631681 2016-12-23
ES201631681A ES2673937B1 (es) 2016-12-23 2016-12-23 Metodo y aparatos para la gestion remota optimizada de controladores logicos programables

Publications (1)

Publication Number Publication Date
WO2018115549A1 true WO2018115549A1 (es) 2018-06-28

Family

ID=62620584

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/ES2017/070803 WO2018115549A1 (es) 2016-12-23 2017-12-09 Método y aparatos para la gestión remota optimizada de controladores lógicos programables

Country Status (3)

Country Link
EP (1) EP3561741A4 (es)
ES (1) ES2673937B1 (es)
WO (1) WO2018115549A1 (es)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111565221A (zh) * 2020-04-24 2020-08-21 株洲嘉成科技发展有限公司 一种codesys远程调试模块及方法
CN115903638A (zh) * 2022-11-08 2023-04-04 广州鲁邦通智能科技有限公司 一种基于vpn技术的设备及远程维护plc的方法和系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115150684A (zh) * 2021-12-30 2022-10-04 济南大学 基于物联网的智能油缸测控方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6718177B1 (en) * 1999-09-20 2004-04-06 Cellemetry, Llc System for communicating messages via a forward overhead control channel for a programmable logic control device
KR20130111807A (ko) * 2012-04-02 2013-10-11 엘에스산전 주식회사 모바일 단말을 이용한 원격 피엘시 관리 시스템
WO2015078844A1 (en) * 2013-11-26 2015-06-04 Hms Industrial Networks Ab Communication system
WO2015140908A1 (ja) * 2014-03-17 2015-09-24 三菱電機株式会社 管理システム、ゲートウェイ装置、サーバー装置、管理方法、ゲートウェイ方法、管理処理実行方法及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035898B1 (en) * 1997-09-10 2006-04-25 Schneider Automation Inc. System for programming a factory automation device using a web browser
JP2001175310A (ja) * 1999-12-22 2001-06-29 Hitachi Ltd プログラマブルコントローラとそのデータ設定装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6718177B1 (en) * 1999-09-20 2004-04-06 Cellemetry, Llc System for communicating messages via a forward overhead control channel for a programmable logic control device
KR20130111807A (ko) * 2012-04-02 2013-10-11 엘에스산전 주식회사 모바일 단말을 이용한 원격 피엘시 관리 시스템
WO2015078844A1 (en) * 2013-11-26 2015-06-04 Hms Industrial Networks Ab Communication system
WO2015140908A1 (ja) * 2014-03-17 2015-09-24 三菱電機株式会社 管理システム、ゲートウェイ装置、サーバー装置、管理方法、ゲートウェイ方法、管理処理実行方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3561741A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111565221A (zh) * 2020-04-24 2020-08-21 株洲嘉成科技发展有限公司 一种codesys远程调试模块及方法
CN115903638A (zh) * 2022-11-08 2023-04-04 广州鲁邦通智能科技有限公司 一种基于vpn技术的设备及远程维护plc的方法和系统
CN115903638B (zh) * 2022-11-08 2023-12-08 广州鲁邦通智能科技有限公司 一种基于vpn技术的设备及远程维护plc的方法和系统

Also Published As

Publication number Publication date
EP3561741A4 (en) 2020-01-22
ES2673937A1 (es) 2018-06-26
EP3561741A1 (en) 2019-10-30
ES2673937B1 (es) 2019-01-29

Similar Documents

Publication Publication Date Title
US11921569B2 (en) Remote debugging and management
ES2836439T3 (es) Método y aparato para la gestión de un dispositivo de campo basado en un servidor en la nube
ES2673937B1 (es) Metodo y aparatos para la gestion remota optimizada de controladores logicos programables
EP1934792B1 (en) Transparent bridging and routing in an industrial automation environment
ES2819838T3 (es) Aprovisionamiento y configuración inalámbrica de elementos de hardware de un sistema de automatización del hogar
US20170310706A1 (en) Tunneling For Network Deceptions
US9797552B2 (en) Diagnostics and enhanced functionality for single-wire safety communication
JP7148303B2 (ja) プロセス制御システムにおける暗号化されたトラフィックのためのファイアウォール
Klick et al. Internet-facing PLCs as a network backdoor
JP2010081610A (ja) プロセス制御データの安全な通信方法、及び装置
CN108449250A (zh) 一种支持多总线的io-link主站装置及方法
ES2445894T3 (es) Dispositivo de protección de red
JP2017069777A (ja) 通信処理装置、通信方法および通信システム
US20200220846A1 (en) Automation and/or Communications Appliance and Method for Checking Datagrams Transmitted in An Industrial Automation System
US20210194726A1 (en) Vehicle relay device
JP2019523959A (ja) 設置場所においてアクセス制御装置を構成するための方法および装置
US10291461B2 (en) Secure gateway
JP6083549B1 (ja) 特定パケット中継機能付きデータダイオード装置
EP3229439B1 (en) Secure gateway
CN102238054A (zh) 对连接到串行总线的外围设备进行远程访问的方法和系统
WO2020089895A1 (en) Application specific gateway device
ES2450469T3 (es) Dispositivo de protección de acceso para una red de automatización
WO2016074749A1 (en) Controlling water installations by a remote server through a network access point
ES2745292T3 (es) Procedimiento y sistema para el control remoto y/o supervisión remota del funcionamiento de un electrodoméstico con la ayuda de un dispositivo de comunicación
ES2461179T3 (es) Red de automatización con componente de sistema de control distribuido

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17884988

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017884988

Country of ref document: EP

Effective date: 20190723