Upload/Download, why is terminology reversed for PLCs?

I remember debating this with a PLC programmer in the late 90s. Not likely to change anytime soon...
 
I often use Wikipedia as a source of authority.....

wikipedia said:
In computer networks, to upload, can refer to the sending of data from a local system to a remote system such as a server or another client with the intent that the remote system should store a copy of the data being transferred, or the initiation of such a process.

wikipedia said:
In computer networks, to download means to receive data to a local system from a remote system, or to initiate such a data transfer.[1] Examples of a remote system from which a download might be performed include a web server, FTP server, email server, or other similar systems.
A download can mean either any file that is offered for downloading or that has been downloaded, or the process of receiving such a file.


If we take these "definitions" as being the accepted norm, then yes, i have to state that Allen-Bradley, Rockwell, and many others have "got it wrong" - the wiki definitions clearly state that an upload is a "Send", and a download is a "receive".

The relative size and power of the machines is not discussed, and as has been pointed out before, is irrelevant.
 
The OP wrote:
One of the first things that struck me as odd years ago was the apparent reversal of the terms Upload and Download when it came to automation components.

This is totally off-topic, but PLCs predate the advent of the personal computer. In fact the acronym "PLC" was a late entry into the vernacular. Originally, the device we now call a PLC was called a PC (Programmable Controller). But then a little known company named IBM took over the acronym "PC" for its Personal Computer and the poor programmable controller had to find a new moniker.

I agree with daba. If you include the preposition "to" or "from" in your description off the exchange, it doesn't matter what verb you use.
 
Last edited:
I agree with daba. If you include the preposition "to" or "from" in your description off the exchange, it doesn't matter what verb you use.

and if you don't even mention "Upload" or "Download", and just use a term that describes what you want to do explicitly, like "Send" or "Receive", or even your "To" and "From", the whole debate goes away, never to be discussed on this or any other forum, forever !
 
I feel the Wikipedia definitions still apply if you consider the PLC the 'local system'. The issue is that the PLC does not initiate the transfer. In this case, the 'remote system' (your PC) is initiating it. When we think of the internet, we (the 'local system') normally do the initiating. If somehow the remote system (i.e. 'the cloud') initiated it, I think the terms would still match the direction of travel.

For example, I can go to the Google Play store and request that an app be sent to my phone. In this case, the 'remote system' initiates the transfer (I do absolutely nothing on my phone), yet the app still gets downloaded to my phone.

I will agree that upload and download are probably a poor choice of words when it comes to PLC data transfer... :nodi:

🍻

-Eric
 
Good example, but you added that to my phone clause. If you're on your phone, that's an easy case for downloading. You present a tough case by using your PC to request a remote "download" from the cloud to your mobile device.

My usage tends to be based on the initiating device (or "local" device like Wiki says), which is often the PC that I'm sitting at. The way that AB courses taught it was backward from standard usage.

In any event, we all understand 🍻.

For example, I can go to the Google Play store and request that an app be sent to my phone. In this case, the 'remote system' initiates the transfer (I do absolutely nothing on my phone), yet the app still gets downloaded to my phone.

I will agree that upload and download are probably a poor choice of words when it comes to PLC data transfer... :nodi:

🍻

-Eric
 
The reason is probably simple: a translation error that has never been fixed (and such a fix would create problems now)

Siemens for example used to be german language only
 
When I first began working with PLCs, we didn't use personal computers at all. We used dedicated devices (keypads, etc.) to connect with the PLC for the purpose of creating a program. The transfer of a program to or from the PLC was typically via a tape machine.

UPLOAD = Processor to tape.
DOWNLOAD = Tape to processor.

When PCs finally became the standard interface for PLC programming, the terminology simply remained as it had always been.
 
I think the older use should prevail. It was there first. The later reversed definition came about due to a misunderstanding.

For me, the terms are only valid if one knows the location of the User, or the Observer as Einstein called it in his Theory of Relativity. In other words, the terms are relative to the location of the observer. Whether it is an Upload or a Download for a specific device depends on your position relative to that device (at or near Device 1, or Device 2).

DOWNLOAD.JPG
 
Last edited:
I think the older use should prevail. It was there first. The later reversed definition came about due to a misunderstanding.

For me, the terms are only valid if one knows the location of the User, or the Observer as Einstein called it in his Theory of Relativity. In other words, the terms are relative to the location of the observer. Whether it is an Upload or a Download for a specific device depends on your position relative to that device (at or near Device 1, or Device 2).

Knowing your location as the "user" or "observer" doesn't help. It all goes pear-shaped when you are neither "at", nor "near to" either device.

The situation today is that all sorts of data transfers, program updating, making backups, etc., can be controlled from just about anywhere on the network, and that network could be the internet, so anywhere in the world.

Location of the "observer", therefore, is not something that you can set your yard-stick by.

Inferring the data-transfer direction by the relative size of the "machines" has also been discounted.

The very fact that this debate continues, is that the terms UPLOAD and DOWNLOAD, are inherently arbitrary, meaning that some other information is needed to convey the most important thing - direction. UP and DOWN has no meaning !!

Back to basics....
1. Two devices transfer data....
2. One is sending, the other is receiving...
3. We do not know the relative size/power of the two devices..
4. We initiated this data transfer remotely..

a: Are both devices taking part in a Download ?
b: Are both devices taking part in an Upload ?
c: Is one of the devices doing a Download, and the other an Upload ?


The only thing we can state with 100% certainty is that one device is sending the data, and the other is receiving it.

Upload and Download can be interpreted either way, and they are just poor names given by the people who designed/wrote the spec. and the software.

Never should a user have to consider their "position" in any "pecking order", to determine whether they should Upload or Download to send something to another device... it's wrong, and can lead to the ambiguity that so many have come across.
 
I just take it as a fact of life that a PLC programmer typing on his laptop keyboard, speaking of "downloading" is actually referring to copying a file from his PC to the PLC. Nothing about relativity - just convention that happens to seems backward to me, but has existed for some time.
 
A longer reply - when I first got into the industry, I always found the way inputs/outputs were dealt with odd. But then I realized everything is done with the verbage as though the PLC programming software is ON the PLC, and everything is done from the point of view of the PLC. I believe this was mentioned earlier in this thread using Einstein's Theory of Relativity - the reference frame of the viewer.

On the other hand, coming from a Linux background... I think a LOT of things about PLCs are wonky. As well as some of the attitudes. But I suppose they have developed this way for a reason.
 
A longer reply - when I first got into the industry, I always found the way inputs/outputs were dealt with odd. But then I realized everything is done with the verbage as though the PLC programming software is ON the PLC, and everything is done from the point of view of the PLC. I believe this was mentioned earlier in this thread using Einstein's Theory of Relativity - the reference frame of the viewer.

On the other hand, coming from a Linux background... I think a LOT of things about PLCs are wonky. As well as some of the attitudes. But I suppose they have developed this way for a reason.

I have been doing this long enough that Upload and Download per the common understanding is second nature to me. I have worked on equipment, again many years ago, that reversed the terms and I'm glad I didn't get too used to that.

Interestingly, Redlion uses Send or Update (two different but similar activities) to refer to the transmitting of the database from the configuration software to the device and uses Extract to refer to receiving the existing database back into the software. These terms still retain the sense of what is initiating the transaction - the configuration software running on a PC.
 
SCADAPack PLC's Telepace software uses "Read" and "Write" "from" and "to" the controller. See pictures.

read.png write.png
 
Location of the "observer", therefore, is not something that you can set your yard-stick by.
It always works for me, and I am not all that bright. I put myself in the place where the action is happening, and never get confused by the meaning. The important part to learn is that anytime one device is doing an upload (bringing data IN, some other device on the other end is doing a download (sending data OUT) of the very same data.
 

Similar Topics

Hello, I have a machine with a 1756-L72 Controllogix PLC and 1756-EN2T network card, and PanelView Plus 7 HMI. I am using RSLogix V20.05.00...
Replies
12
Views
871
Hi everyone, i have multiple Omron hmi terminals in the plant and i need to upload each program. i have an ns8-tv01b-v2 terminal in the office...
Replies
8
Views
625
Hi all, I have existing S7 200 smart PLC system, I don't know what software version they used to program it. I use microwin smart version 2.3 to...
Replies
0
Views
493
I try to get user application software from cpu which writed using loadder language or any one of IEC languages. I forget how i can...
Replies
9
Views
1,672
Hi all, i have multiple Omron units at the plant and some have analog, rtd, thermocouple, ethernet cards, maybe other specialty cards, i'm just...
Replies
16
Views
1,646
Back
Top Bottom