I have an application where we have multiple PLC’s utilizing CoDeSys V2.3, and an HMI running CoDeSys V3. The PLC’s are exchanging data via network variables over CAN. This data also needs to get to the HMI. Are there plans to add the CAN protocol to global variables in V3?
Do you know of any third party libraries that would enable this functionality?
I was going to utilize a CAN slave device, and generate an EDS to bring into the PLC’s (V2.3). The issue I have with that is the quantity of data we are handling is significantly larger than the limits imposed with this method (4 Tx, 4 Rx).
I agree, this would be a nice functionality. Personally I would prefer the dataserver to support this kind of functionality where you "list" the variables which you want to access in the other PLC. This works fine with V3 to V3 controllers, but not with V2.3 or third party controllers (yet).
Another option is to create your own "handshaking / multiplexing" protocol through the PDO's to access e.g. an Array of variables, but this will take some programming time.
I hope somebody will respond with an already available solution for this.
I'm also looking for information regarding the possibility to use network variables to communicate between plcs running CoDeSys 2.3 and 3.5 respectively. Has anyone come across new information on this topic?
Network variables between two controllers should not be a problem. The CODESYS Help describes how to do this.
My advise is to add a "dummy device" with application to your V3 project. Use this dummy device in the V3 project as if this was the V2.3 application. This way you can easily create matching variable lists.
In the V2.3 application you can copy the variables from the V3 application to your send and receive global variable lists.
Attached I have some screenshots with notes (unfortunately for you in Dutch) which might be useful.
Aantekeningen verbinding V2.3 aan V3.pdf [233.38 KiB]
Log in to post a comment.