Dear experts,
I experienced a weird problem, when I connected via gateway to janz tec embeded PC and upload the project that is running I only see 2 remote I/O racks while there are 10 of them! How is it possible?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I only know that janz tec PC has linux operating system and the version by which it is programmed is Codesys v3.5 sp3 patch1.I have attached to pics from linux magbe it can help.I am really confused how it is possible that the uploaded program is like that!
One must explicitly download the source code to the controller, it does not happen automatically at application download. The application names and controller versions are both different in IMG_20200504_102648.jpg . It sounds like at some point someone downloaded source code to this controller, but it is not the source code for the application which is currently running. If the source code is not downloaded every time to the PLC, you must retrieve the source code from your company's source code management system. If your source code management system doesn't have it, I do not know of any way to retrieve it.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If you are used to other PLCs, the default is that you can at least go online with any of that brands PLCs, unless the original programmer specifically ticked the "protected source code" box.
With CODESYS it is the other way around, the default is that you can't go online with the PLC unless you have the original source code (.project file). If you don't have the original source code, the project is lost. It is like having a .exe file and no source code for it.
The two most common methods of storing the source code are:
1. Setting the project to always download the source code to the controller.
2. Storing the .projectarchive in a safe place.
You can also manually download the source code to the controller whenever you please.
It sounds like in your case, someone did download the source to the PLC one time, but then stopped downloading the source when changes were made. So you have maybe version 3 of the code, when the code running in the PLC is maybe version 5.
A) So, you have looked in one place for the code (the PLC) and it wasn't there.
B) Now you look in your company's file system for the code.
C) And if you don't find it there, you have to hunt down the original programmer and ask them where they stored the project. This step sometimes involves loud yelling, or other forms of diplomacy. Generally this step should not be reached very often.
There is a possibility that you do not find the source code. In which case you cannot modify what is running in the PLC without completely rewriting it.
One of the important things with CODESYS programming, is not to lose the source code.
Last edit: i-campbell 2020-05-04
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Great,thanks for you complete answer,but I wonder to know why I receive only a small part of logic and hardware when I try to upload!while there are 10 I/O remotes I only see 2! If the problem was with source code I think cpu refused to return anything.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You will notice that they are two separate things.
So day 1, John might download both machine code and source code and they will be the same.
So day 2, Frank might make changes but download only the machine code.
Now day 3652, You hit upload source from controller, and you don't have Frank's changes! Because Frank only downloaded the machine code.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You will notice that they are two separate things.
So day 1, John might download both machine code and source code and they
will be the same.
So day 2, Frank might make changes but download only the machine code.
Now day 3652, You hit upload source from controller, and you don't have
Frank's changes! Because Frank only downloaded the machine code.
Dear experts,
I experienced a weird problem, when I connected via gateway to janz tec embeded PC and upload the project that is running I only see 2 remote I/O racks while there are 10 of them! How is it possible?
Hi,
which version of the runtime is this?
BR
Edwin
I only know that janz tec PC has linux operating system and the version by which it is programmed is Codesys v3.5 sp3 patch1.I have attached to pics from linux magbe it can help.I am really confused how it is possible that the uploaded program is like that!
One must explicitly download the source code to the controller, it does not happen automatically at application download. The application names and controller versions are both different in IMG_20200504_102648.jpg . It sounds like at some point someone downloaded source code to this controller, but it is not the source code for the application which is currently running. If the source code is not downloaded every time to the PLC, you must retrieve the source code from your company's source code management system. If your source code management system doesn't have it, I do not know of any way to retrieve it.
Hi,
Thanks for your reply but I am new to codesys so I do not understand what you say!
Could you explain more?
If you are used to other PLCs, the default is that you can at least go online with any of that brands PLCs, unless the original programmer specifically ticked the "protected source code" box.
With CODESYS it is the other way around, the default is that you can't go online with the PLC unless you have the original source code (.project file). If you don't have the original source code, the project is lost. It is like having a .exe file and no source code for it.
The two most common methods of storing the source code are:
1. Setting the project to always download the source code to the controller.
2. Storing the .projectarchive in a safe place.
You can also manually download the source code to the controller whenever you please.
It sounds like in your case, someone did download the source to the PLC one time, but then stopped downloading the source when changes were made. So you have maybe version 3 of the code, when the code running in the PLC is maybe version 5.
A) So, you have looked in one place for the code (the PLC) and it wasn't there.
B) Now you look in your company's file system for the code.
C) And if you don't find it there, you have to hunt down the original programmer and ask them where they stored the project. This step sometimes involves loud yelling, or other forms of diplomacy. Generally this step should not be reached very often.
There is a possibility that you do not find the source code. In which case you cannot modify what is running in the PLC without completely rewriting it.
One of the important things with CODESYS programming, is not to lose the source code.
Last edit: i-campbell 2020-05-04
Great,thanks for you complete answer,but I wonder to know why I receive only a small part of logic and hardware when I try to upload!while there are 10 I/O remotes I only see 2! If the problem was with source code I think cpu refused to return anything.
This is how you download machine code:
https://help.codesys.com/webapp/_cds_loading_application_login_starting;product=codesys;version=3.5.15.0
This is how you download source code:
https://help.codesys.com/webapp/_cds_loading_sourcecode_to_from_plc;product=codesys;version=3.5.15.0
You will notice that they are two separate things.
So day 1, John might download both machine code and source code and they will be the same.
So day 2, Frank might make changes but download only the machine code.
Now day 3652, You hit upload source from controller, and you don't have Frank's changes! Because Frank only downloaded the machine code.
Oh god!
It is possible to find the code which is executed by codesys runtime on the
janztec and use it?
On Tue, May 5, 2020, 10:22 AM i-campbell forge@codesys.com wrote: