I've created a very basic version of this problem as a project. Please see attached. One of the libraries in conflict is different from that described above, but the problem is the same. My development environment is 32bit v3.5.16.70 using v3.5.11.0 compiler.
I am trying to install the MQTT Client SL in an existing project I have been working on for years. After adding the library to the project, and without adding any other code, upon building I get a C0180: Ambiguous namespace 'MBM' error between the memory block manager (MBM) in the NetBaseSrv dependency of the MQTT Client SL library and the memory block manager (MBM) in the CAA CanL2 dependency of the 3S CANopen stack library. I have tried: * setting "Only allow qualified access to all identifiers."...
I have default arguments specified for function block methods but when calling a method, an error is produced requiring me to supply all the arguments despite there being default values. According to the online documentation, under section "Calling a Method" and subsection "argument passing" of the following link: https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_obj_method.html "Passing an argument for an input ... can be omitted ... for which a default or initial value was...
Worked for me, thanks!
I have code written since version 3.5.16 to access the USB drive, how can I do that now the file access has been taken away? I have tried adding a sybolic link to the usb drive in the following directories: /var/opt/codesys/PlcLogic/ /var/opt/CODESYS/PlcLogic/ /opt/CODESYS/PlcLogic/ I still recieve a "FILE_OPERATION_DENIED" response when accessing the USB drive.
I have code written since version 3.5.16 to access the USB drive, how can I do that now the file access has been taken away?
Attached is an example that works for me.
I have a single CANopen master and single CANopen slave. The slave is defined with several inputs and outputs and an EDS file has been generated from the slave for import on the master. The two ECUs communicate with each other, simply exchanging data directly on the CANopen network. There is a large delay on boot as the master configures the slave, after which data transfers between master and slave - back and forth - successfully. To reduce this large delay on boot, I have tried setting the CANopen...
I have a single CANopen master and single CANopen slave. The slave is defined with several inputs and outputs and an EDS file has been generated from the slave for import on the master. The two ECUs communicate with each other, simply exchanging data directly. There is a large delay on boot as the master configures the slave, after which data transfers between master and slave - back and forth - successfully. To reduce this large delay on boot, I have tried setting the CANopen manager to "Start slaves"...
I have a single CANopen master and single CANopen slave. The slave is defined with several inputs and outputs and an EDO file has been generated from the slave for import on the master. The two ECUs communicate with each other, simply exchanging data directly. There is a large delay on boot as the master configures the slave, after which data transfers between master and slave - back and forth - successfully. To reduce this large delay on boot, I have tried setting the CANopen manager to "Start slaves"...
What I did was to test if the entered value was in range of the min/max for the numpad I created, updating the flags variable of a temporary structure for the numpad. I then wrote this temporary structure back to the numpad through the dialogue manager using the SetDialogInterfaceValues method. I also interrupted the closing of the numpad if the value was outside this min/max range by sending the ENUM of "None" (VisuElems.VisuElemBase.Visu_DialogResult.None) to the dialogue interface reference using...
For anyone who is interested, I seem to have solved my own problem - although the source of the problem is probably out of my control. Saving the project as Codesys 3.5.17.0 allowed for a visualization profile of CODESYS V3.5 SP17 (I think this corresponds to visualization profile 4.0.0.0) After doing this, the previous shown visualization is shown with a single press of the buttons instead of pressing twice. If a higher visualization profile version is used (i.e. 4.1.1.0 for 3.5.17.10 - 3.5.17.30)...
I have a problem with visualizations where buttons setup to change to a previous visualization need to be pressed twice before the previous visualization appears. I have a fresh installation of Codesys 3.5.17.30, with visualization profile 4.1.1.0 and 3.5.17.30 compiler selected. In my test, I have only two visualizations in the application with only two buttons on each visualization. The first button changes the shown visualization to the other visualization. The second button changes the shown...
Another method I was able to get to work was to ssh into the device and remove all contents from the /opt/CODESYS/PlcLogic/Application folder. Once the old application was removed from the device, a fresh download from the IDE resulted without the error. An alternative to the above may be to create an empty project for the device and simply login, replacing the existing application on the device with an empty one, then reload the desired project after. Resetting the origin while online with the empty...
When upgrading my project from 3.5.16.40 to 3.5.17.30 all of the Codesys supplied checkboxes are missing. How do I get these back?
Each time I open my projects in Codesys 3.5.16.7 - 32 bit, I get an invalid cast exception (please see attached.) I am able to click the 'ignore' button and proceed but would like to know if this is having negative side affects on my project. Thanks!
Codesys 3.5.16.0 I have a scroll bar in my visualization which shows a change of colour when either of the arrows at the ends of the scroll bar are touched or the center slider button is touched. I would like to access these touch events. It does not appear the functionality is available in the scroll bar properties so I am trying to access these events in structured text. Is there a simple way to do this? I have tried a method of obtaining the element from the element list of a named dialogue knowing...
Codesys 3.5.16.0 I have a scroll bar in my visualization which shows a change of colour when the either of the arrows at the ends of the scroll bar are touched or the center slider button is touched. I would like to access these touch events. It does not appear the functionality is available in the scroll bar properties so I am trying to access these events in structured text.
"me and the other on the project team - didn't want you to think I was referring to myself in the 3rd person" - π "Having said that, life with SVN is so much better than life without it." - Totally agree!
It's been almost exactly 2 years since your post with no follow up here. I feel your pain Tim, I had this happen to me today. The best I could do was to checkout the most recent copy to another file and manually copy/paste from my working copy to the checkout, commit and save over the working copy with the checkout. I didn't know what else to do - the error message is no good to anyone, I doubt even S3 could use it. Anyways, it was good to have the SVN working so I could at least see what the changes...
Yes, I've had this happen too. In my case, there was a problem with not having generated files for system components like alarm manager, persistence manager, etc. What I did to fix this was: Select "Generate" from the "Composer" menu (NOT "Generate, Build and Login") Select "Clean all" from the "Build" menu * Login Before the above procedure, my code was acting very strange, sometimes reporting problems on build where there were no problems and methods showing as invalid on one line of code, but...
Yes, I've had this happen too. In my case, there was a problem with not having generated files for system components like alarm manager, persistence manager, etc. What I did to fix this was: Select "Generate" from the "Composer" menu (NOT "Generate, Build and Login") Select "Clean all" from the "Build" menu * Login Before the above procedure, my code was acting very strange, sometimes reporting problems on build where there were no problems and methods showing as invalid on one line of code, but...
Alright! I now have a fully functional VisuDialogs.Numpad with feedback using the VU.FbOpenDialogExtended. The solution to the above problem was to update the dialogue using the dialogue manager (instead of the dialogue interface) with an intermediate structure for type conversions from the dialogue interface - because the interface uses STRING instead of WSTRING (which the dialogue manager expects.)
I am getting close to a solution, but with a problem updating the dialogue for feedback. Using the dialogue manager, I grab the interface to the dialogue and I can then update the dialogue visualization structure and set this update back on the dialogue. The trouble is, I can see the values are copied to the dialogue interface but they are quickly overwritten back to the previous values. How do I make the values of the updated dialogue structure "stick" to the dialogue? I mainly want to update the...
I am getting close to a solution, but with a problem updating the dialogue for feedback. Using the dialogue manager, I grab the interface to the dialogue and I can then update the dialogue visualization structure and set this update back on the dialogue. The trouble is, I can see the values are copied to the dialogue interface but they are quickly overwritten back to the previous values. How do I make the values of the updated dialogue structure "stick" to the dialogue? I mainly want to update the...
When opening VisuDialogs.Numpad with VU.FbOpenDialogExtended everything appears to work as expected except for the OK button. The button, if pressed, seems to do nothing - even though the input action for the button on VisuDialogs.Numpad is to close the dialogue. I'm assuming that because there are checks to be made on the limits of the number entered the OK button can't simply exit, but highlights the min/max labels as red without closing the dialogue if the entered number is out of bounds, just...
When opening VisuDialogs.Numpad with VU.FbOpenDialogExtended everything appears to work as expected except for the OK button. The button, if pressed, seems to do nothing - even though the input action for the button on VisuDialogs.Numpad is to close the dialogue. I'm assuming that because there are checks to be made on the limits of the number entered the OK button can't simply exit (but highlights the min/max labels as red without closing the dialogue if the entered number is out of bounds.) The...
I made the changes you suggested and I've noticed the slave can running several minutes before crashing. In most cases, I have been powering off/on both ECUs to test on startup. There are typically errors due to peripheral status and items that havn't affected the ECU in the past but because you pointed out the log, I ran through it more thoroughly. While watching the log during the start process, I notice four errors that occur after the slave crashes. They seem to show some sort of "fatal" status...
I changed the heartbeat time from its original 200ms to 240ms as a multiple of the SYNC period of 120ms. At first it seemed to work, so I disconnected to change a PDO I have running as Asynchronous to Acyclic which also has active data transferring on it. I reconnected, and it appeared to work but after about 15 seconds the slave crashed again. Usually the connection stops immediately but this time it was working and I could verify that the data was transferring to the other device. That was on the...
I disabled both heartbeat producing on master and slave with the new SYNC settings. On the CANbus I observed the reset message from the master but the slave does not report a pre-operational state, only 00. When a "Start Remote Node" message is issued from the master, the slave stops working as before, with the red LEDs showing and no activity from the slave on the CANbus. After the above observation, I also noticed heartbeat consuming on the slave was enabled. I disabled this setting but the result...
Yes, that is correct. without SYNC the slave LEDs remain green and operate as normal. The system is using two mobile industrial ECUs of the same manufacture.
There are 63 receive PDOs and 43 transmit PDOs - 106 in total. I didn't know about the window length being smaller, the default was 1000 for cycle time and 1200 for window (microseconds) - I just increased both by the same factor. I tried exchanging the values for cycle period and window length (microseconds) to 120000 and 100000 respectively, and enabling the SYNC but the same problem occurs. I have a bus load analyzer which shows the bus load no higher than 18% on startup but 0.2% on average so...
All PDOs are 64 bit. The cycle period is 100000 microseconds with a window of 120000 microseconds. The slave has, under guarding, nodeguarding disabled and heartbeat producing enabled with a producer time of 200ms. The heartbeat consuming shows "Node-ID of Guarded Node" = 1 and "Consumer time (ms)" = 300 and this line is enabled. The master has, under guarding, heartbeat producing enabled with a node-id = 1 and producer time of 200ms. Thank you for responding.
PROBLEM: I am transmitting sensor data from a CANopen slave to a CANopen master using Acyclic - synchronous PDOs to limit the amount of traffic due to the constant changing nature of the sensor data. I am experiencing problems with SYNC (see below) and am wondering if it would be better to change the transmission type of the PDOs from acyclic to asynchronous (with an inhibit time?) I am not very familiar with CANopen, but it has been fairly straight forward to setup until now. SETUP: I have a CANopen...
I just found this thread (3 years later) and am wondering if the project is still available?
I am curious to know what triggers a data source to shut down after a successful connection. In particular, those causes beyond user or application program induced shutdown. Will a connection terminate on its own? If so, what would be a likely cause? I am having an issue with a connection between a display and an ECU with randomly spaced (in time) shutdowns between them as reported by the data source manager. Some connections last 1/2 hour, others 10 minutes or so.
What TCP port do data sources transfer on? Is it port 1217?
I am having trouble connecting to a safety PLC as a data source node. For a data source manager, I have started a new project with just a Control Win V3 x64 PLC and only the Data Sources Manager added to the Application. A safety PLC with working code (on the standard PLC side of the PLC) is also running on the same network. The data source added to the manager is configured with the safety PLC and the standard PLC application is selected. The login information is also added. A global variable list...
@djole01 That is a valid point you make, the hardware may not be able to support the function. To test this idea, I put the original display device back, cleaned and built the application; however, the errors are still there! So where the project was able to build properly in the past with this device, it now shows the errors reported above. Going one step farther, I have excluded all of my code from the application build so there can be no mistake about my code or conversions done within my code....
While attempting to change the device for my project (change from one display manufacturer to another), everything seems to be fine except for 3 errors showing on my Application: C0032: Cannot convert type 'UDINT' to type 'TIME' C0032: Cannot convert type 'TIME' to type 'UDINT' x 2 Double clicking the errors does not reveal the error location. I managed to narrow the error down to the a network variable receiver list by excluding parts of the application bit by bit until after excluding the network...
I get a build warning: The dialog visualization <confirmdialogue> should not be referenced like a template visualization.</confirmdialogue> This dialogue has parameters that I need to set if I open it using structured text. The only way to access these parameters is if I reference the dialogue in another dialogue to link the variables to my program. A bit of a workaround but I'm not sure how else to set the parameters otherwise. I also reference this same dialogue in other visualizations - being...
Right, this is what I typically do to compare past and present values as well.
I have created a function block with many parameters and methods in Codesys 3.5.16.0 and it works as expected in my program. The parameters are visible in any program in which it is instantiated. I have updated to Codesys 3.5.17.10 and this same function block is not showing any of the parameters at runtime. While debugging, it is apparent that the data for the instantiated function block is there, it is just not visible. All my other function blocks (there are many of them) are working fine. I have...
I have created a function block with many parameters and methods in Codesys 3.5.16.0 and it works as expected in my program. The parameters are visible in any program in which it is instantiated. I have updated to Codesys 3.5.17.10 and this same function block is not showing any of the parameters at runtime. While debugging, it is apparent that the data for the instantiated function block is there, it is just not visible. All my other function blocks (there are many of them) are working fine.
I have a list of Ingredients where each Ingredient contains a structure of variables. The structure of variables is common to all Ingredients; however, occasionally an Ingredient will have a unique variable, in which case the variable is not in the structure but defined as a class variable. I have separated the Ingredients into classes, 'Ingredient' being the base class and other derived classes with unique parameters and overridden methods. When I create a list of Ingredients, only the structure...
I have created a function block with many parameters and methods in Codesys 3.5.16.0 and it works as expected in my program. The parameters are visible in any program in which it is instantiated. I have updated to Codesys 3.5.17.10 and this same function block is not showing any of the parameters at runtime. My program halts with an error when accessing the instantiated function block parameters. All my other function blocks (there are many of them) are working fine. Any idea where to start looking?...
Okay, thanks for your response.
I am designing a visualization using a style based on the FlatCommon 3.5.16.0. I am trying to create buttons with rounded corners in this style. I cannot find any parameters in the style that will allow me to do this, is it possible?