Upload/Download, why is terminology reversed for PLCs?

brstilson

Member
Join Date
Jul 2012
Location
Michigan
Posts
241
Another thread made me wonder this. 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.

Being a child of the early internet age, "Upload" always meant that I was copying a file FROM my computer TO a remote server on the internet. And "Download" always meant I was copying a file TO my computer FROM a remote server on the internet. Basically Upload was "Send" and Download was "Receive."

Then, when I got into PLCs and Automation, I found it was the opposite. "Upload" meant I was RECEIVING something and "Download" meant I was SENDING.

I was just curious as to why that is. The concept of uploading and downloading on the internet I'm sure date back to the very beginnings of the internet (then known as ARPAnet) in the 1960's, which is around the time PLCs got their start as well. Do any of the "historians" on this forum know why?
 
Because, in software language, in automation PLC is the client that can hold what it needs and that is only one program, while program device is a server with many projects for many clients.
So in that contrast program resides on program device and when you want PLC to get it needs to download it from a program device. And opposite, when you need program from PLC it needs to upload it to a programm device

maybe best solution would be if at the beginning they opted for GET / PUT (or TAKE / GIVE) instead of download / upload
 
Last edited:
My concept of 'upload' and 'download' is in terms of the relative power/memory of the two components - the 'more powerful' being 'higher'.

With the Internet your single computer is the less powerful and the servers are more powerful. Thus sending files to the Internet server is in an 'up' direction - an 'upload'. And retrieving files from the servers are a 'download'.

With a PLC generally your PC is the more powerful of the two (though not for long the way they are changing). So I see sending to the PLC as being in the 'down' direction.

At least that's my take.
 
yea, in internet PC is smaller unit than a server, so when you need something from server you need to down-load it from central (server), and vice versa.

With PLCs, they will always be smaller unit than programming device so when you need to program it you need to down-load the code from central
 
Of course the DOWNLOAD/UPLOAD problem gets even more confusing when you introduce the words FROM and TO.

Consider your PC is connected to the internet...

Consider your email client program DOWNLOADS FROM your email server.. but that email server is doing a DOWNLOAD TO your PC. Both machines are doing a DOWNLOAD, so download does not in any way contain the most vital information - direction !!

Your email contains the PLC file that you need, so you now fire up the programming software and DOWNLOAD TO the PLC.

I'm sure you can see the confusion that this UPLOAD/DOWNLOAD terminology has caused. Bernie's analogy to the relative power of the machine/system holds reasonably true, until you say something like "I'll have to download that file from our servers".

To me, Upload and Download are irrelevent terms, unless you include the magic "From" and "To" qualifiers.

It would have been so much easier to use SEND/RECEIVE, or PUT/GET, or whatever else actually gives you the direction, based on what machine you are sitting at.
 
My concept of 'upload' and 'download' is in terms of the relative power/memory of the two components - the 'more powerful' being 'higher'.

With the Internet your single computer is the less powerful and the servers are more powerful. Thus sending files to the Internet server is in an 'up' direction - an 'upload'. And retrieving files from the servers are a 'download'.

With a PLC generally your PC is the more powerful of the two (though not for long the way they are changing). So I see sending to the PLC as being in the 'down' direction.

At least that's my take.

I meet a lot of people who think this way, and for the most part it's pretty fair. But it breaks hard when I'm using my Raspberry Pi as a media server for my home entertainment systems. I often upload from my PC (overclocked Core i7, 16 GB RAM) to the Pi (800 MHz ARM proc, 512 MB RAM), which actually mounts some hardware from a NAS (3 two TB HDDs in RAID 5 with a 4th as hot spare if one goes down) I have on the network...
 
I Have no history, but when you accept the pc as just some other way to connect to a Programable Logic CONTROL. Which piece should be superior?

Certainly not the "dumb" device.

A pc is not using any of it's computing powers to process instructions, In fact, the plc could as well Request the file transfers. Who is in charge here?

"I Don't need you" is the plc's attitude. ;-))
 
An upload is to a device that will hold the information.

A download is from a device that is holding the information.
 
It's a matter of perspective. You are always on the bottom of the hierarchy. When your PC is interacting with an Internet server, you Download From and Upload To. When you are operating the server and exchanging data with a user's PC, you are now on the bottom and Download From and Upload To.

Of course, PLCs require a bit of imagination. When you are using a PLC connected to a computer, think of yourself as using the PLC, not using the computer. It's not the case that the computer is controlling the PLC; the PLC is using resources on the computer (programming environment). So now that I am the PLC, I am once again on the bottom of the hierarchy, so I Download From the computer and Upload To the PC.

Now, on to sinking and sourcing!
 
It's a matter of perspective. You are always on the bottom of the hierarchy. When your PC is interacting with an Internet server, you Download From and Upload To. When you are operating the server and exchanging data with a user's PC, you are now on the bottom and Download From and Upload To.

Of course, PLCs require a bit of imagination. When you are using a PLC connected to a computer, think of yourself as using the PLC, not using the computer. It's not the case that the computer is controlling the PLC; the PLC is using resources on the computer (programming environment). So now that I am the PLC, I am once again on the bottom of the hierarchy, so I Download From the computer and Upload To the PC.

Now, on to sinking and sourcing!

I don't see how the connection to a PLC would be different than a connection to a server. ALTHOUGH now that I think about it, PLCs originally didn't have PCs connected to them. They used hand-held programmers and special terminals. So in the beginning, you WERE operating the PLC in a sense. The terms would make more sense, and they probably just never got changed.
 
An upload is to a device that will hold the information.

An upload is from a device that holds the information you want.

A download is from a device that is holding the information.

A download is to a device that you want to have the information you hold.

Notice that all I have done is applied "to" and "from" in the opposite sense.

Realistically speaking, "upload" and "download" on their own, cannot convey the necessary information... You can "Upload TO", or "Upload FROM" : conversely you can "Download TO", or "Download FROM". And you certainly shouldn't have to be thinking "is their server bigger than mine?". That is totally irrelevant, and sometimes information you may not know, or be allowed to know.

Upload and Download are antiquated terms in today's technology, as they pre-suppose a precedence or power-level. That has long gone.

Neither Upload or Download in today's technology specifies the direction, and of course that is a very important parameter!!

This is the root cause of the confusion.
 
Last edited:
An upload is to a device that will hold the information.

A download is from a device that is holding the information.

Actually those statements are contradictory..

Scenario : I want to transfer my project file from my PC to the PLC....

1. "An upload is to a device that will hold the information. " means that I have to Upload it to the PLC...!!

2. "A download is from a device that is holding the information." means that I have to Download it to the PLC...!!

o_O
 
This is a situation where icons can eliminate confusion.

Upload? :confused: download? :confused: read? :confused: write? :confused: to? :confused: from? :confused:

Just click on the icon with the arrow that points in the direction you want to go!... :)

🍻

-Eric

readwrite.jpg
 
This is a situation where icons can eliminate confusion.

Upload? :confused: download? :confused: read? :confused: write? :confused: to? :confused: from? :confused:

Just click on the icon with the arrow that points in the direction you want to go!... :)

🍻

-Eric

And if your programmer doesn't have iconic support...

GET/PUT
READ/WRITE
RETRIEVE/SEND
FROM/TO
IN/OUT
TO_ME/TO_YOU

All of those specify the direction of the transfer, which obviously UPLOAD/DOWNLOAD cannot, because there's a confusion of what is UP, and what is DOWN.
 

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
816
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
584
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
481
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,647
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,594
Back
Top Bottom