I'm not a programmer by far, I'm an engineering student and I've programmed in twincat before but not codesys.
I'm working on a Topcon OPUS A3 display. I'm following a tutorial provided by that company. Visualizations work fine and I can program everything no problem until I tried setting up the CAN communication. I'm getting two warnings of what seem like version problems and a bunch of errors. The previous library errors I've been able to fix by downloading missing libraries but I have no idea how to fix this.
codesys V3.5 SP15 patch 1
Pack provided by Topcon: 22.214.171.124 (maybe this is the problem?)
Thanks in advance
Hi, Topcon does not support 3.5.15 yet. They're releasing the .15 runtime in fall. For now you must use .14 IDE.
I installed 14 and the libraries are OK but the other errors persist. Is there a descent tutorial for CAN? The one I use is a couple of versions outdated.
The last I have is for 3.5.11, but it works straight for 3.5.14 if you update the main device to the last target. Nothing has changed on Topcon side.
Can you show exactly which errors Codesys raises? [not the shortened version, and also the page on CANopen slave where the error occurs]
I think I found the problem: the bytes were declared in the global variable list. I changed every use (visualistation and PLC_PRG) to GVL.XXXX and now it compiles fine. This differs from the tutorial I am following, there is no need to but the GVL before it...
Nevermind, it isn't fixed. I get a message on the CANopen_Device mappings tab: The bus is not running.
I followed the tutorial to the letter and this doesn't happen there. How can I get that bus running?
Is the bus wired correctly? Resistors, H/L not switched, and so on?
Try to add a Driver/CANL2Config0 (for first CAN port) or CANL2Config1 (for second CAN port) and set CANbus parameters inside it.
How do I add a driver? I see on the canbus parameters: bus state = -1 = no driver.
Remember I'm not a programmer so a tutorial or something would help.
See the "Driver" node, that in your project has a child node "Keyboard"? Right click on it and select "Add device", then add CANL2Config0 or CANL2Config1 as mentioned above and set up device parameters according to your network.
I added the driver and set the baud rate. All the other parameters are a mystery to me and the 'bus is not running' message persists. Is there really no documentation on how to do this? I feel like wasting your time with my lack of knowledge...
For standard CAN bus device (and CANopen configuration) there is Codesys help (good although not the best) and a bit more documentation (especially libraries) on https://help.codesys.com .
For Topcon Codesys Target there is a .chm in the BSP that should be integrated into Codesys help (last node, Add-ons) when you install Target files, though it is an autogenerated reference manual. They have a collection of example projects that your distributor could give you, and also a training presentation.
Usually CAN bus works out of the box, so does CANopen, and it is not required to mess with CANL2ConfigX (though sometimes it helps ironing out some startup issues). Could you post your project?
Also, what BSP version are you running? You can see it by logging in via SSH and issuing
.chm, BSP, SSH..... I have no clue what all that is. In attachment I put all the files from my project. I found a file in the Topcon issued pack that has an index of a bunch of topics but no content? The pack I installed can be found here: https://topcon-electronics.de/en/service/customer-area/software-download.html
BSP (board support package) is the collection of files you can find under Customer Files\Device\OPUS_A3 in the file you downloaded from their site and that you should load on the display through the service procedure (Manuals\Software\OPUS_devices_update_manual_V1.10.pdf)
The .chm I am referring to is Manuals\Software\TargetDataStorage_126.96.36.199.chm . If it seems empty, is because Windows by default blocks .chm viewing. Just right click on it, choose Properties and near OK/Cancel buttons check "Disable block" or something like that, then press OK.
SSH is a way to have a remote command prompt (think DOS, but way better). You can download PuTTY or TeraTerm and then put the display IP address and connect (username and password in the manuals). You can also use the serial port.
On Monday I will try your project on a real display and then let you know. Anyway, you should ask your distributor, is their job to help you (not us because you'll already have called me by now ;-) )
Our distributor won't answer our calls or e-mails and Topcon did not seem to eager to help honestly. Thanks for trying it on monday!
Usually people of Opus support team (in Geisenheim) are nice and answer very fast. Strange.
Your distributor, on the other hand, does not seem professional. Tech support for products we distribute is my second job (my first is programming them) and I won't ever leave an email unanswered.
We are a group of engineering students working on a sponsor-funded project: Uantwerp Solar Boat Team. We had a sponsor agreement with a company for the display in the past but they won't respond anymore, not even when I asked for a quote to buy a new one for our new boat we're building. Maybe I contacted the wrong people from topcon?
Support email address is in the manuals (not writing there, not willing spam bots to have it easy).
Have you got one PLC programmer in your team, or at least a good programmer? He/she should be able to assist you.
We have no plc-programmers, we all had the same education. I probably one of the best programmers of our team but we never had to install or alter our software, just programming.
Log in to post a comment.