Activity for TimvH

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    I found out it only happens when you do this in a POU which is added to the POU Pool. If you add this POU to the application tree, this doesn't happen. It will be fixed with compiler version 3.5 SP20.

  • TimvH TimvH modified a comment on discussion Engineering πŸ‡¬πŸ‡§

    As the Wago PLC has a Linux OS, I think this might be possible by "mounting a shared folder". This is not CODESYS related, but more a question of giving a Linux device access to this shared folder on the server. I have done something similar with another PLC with the following commands (I really don't know if this will work on the Wago PLC, but you could try): mount -t cifs -o username=<name>,password=<password>,domain=<domain_name> //<ip_address>/<shared_folder> /home/admin/networkshare So first...

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    As the Wago PLC has a Linux OS, I think this might be possible by "mounting a shared folder". This is not CODESYS related, but more a question of giving a Linux device access to this shared folder on the server. I have done something similar with another PLC with the following commands (I really don't know if this will work on the Wago PLC, but you could try): mount -t cifs -o username=<name>,password=<password>,domain=<domain_name> //<ip_address>/<shared_folder> /home/admin/networkshare</shared_folder></ip_address></domain_name></password></name>...

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    When you create your I/O configuration with CANopen Manager, automatically the CAA CiA405 library is added. This includes an FB SDO_WRITE4. You can use this to send the LSS messages.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    If they don't appear automatically when you use the input assistant to call the FB, then you can still add them manually. Maybe a bug in SP18 P2. In SP18 P3 I don't see this.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    In the main visualization place 1 frame. In this frame add 3 visualizations (2x green lamp, 1x red lamp). Link the FB instances as reference to the visualizations in the frame. Then there are multiple options to switch between which visualization to show in the frame. A simple one could be just to use the "Switch frame variable" and in your IF statement set the correct value for this variable.

  • TimvH TimvH committed [r2]

    First commit

  • TimvH TimvH committed [r1]

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    First you need to know which VFD you want to use, then check how you want to control it (direct I/O or through bus like Modbus, Profinet, EtherCAT, ...). Then configure this in your CODESYS application and connect the Controller to your VFD.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    1620 * 10 - 1 = 16199 (not 16119)

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    This is like creating two variables with the same name, so that doesn't work. A possible solution could be: - Double click on your device (where you also set the communication) - Go to PLC settings - At the Additional Settings - Enable symbolic access for IOs Now if your I/O module is named _750_1405, you can map the inputs directly on a Modbus output register: Application._750_1405.Digital_Inputs_0_15

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    https://forge.codesys.com/prj/codesys-example/date-and-time/home/Home/

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    If I understand it correctly you want to know what data the RFID reader will send to the PLC. For this you need to contact the company which sells the RFID reader. PS, maybe better to use the English language on an English forum.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    It is not the best answer, but maybe an alternative is to use the CODESYS Automation Server. You don't need any Python knowledge and anybody (without and coding knowledge) can schedule when a certain version of an application can be loaded on the various machines.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    2172731138 = hex 81 81 3F 02 hex 02 = dec 2 hex 3F = dec 63 hex 81 = dec 129 So this seems okay to me.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    You could also create a DUT of the Type Union. In the Union add an array of 4 bytes and a UDINT. Then create a variable of this type. Write to the UDINT of this union variable and read the array of bytes. See https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_datatype_union.html

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    The data which is received is written in the STRING (memory). A string needs a 0 terminating byte to see the end of the string. In your case hello is just written to the first 5 characters of the string. The rest is not changed, it doesn't write a 0 in the 6th byte of the string (as it shouldn't). So what you could do is write some additional code to check the size of the message your received and then in the next byte write 0 in the string. You could see the string as an array of bytes. So you could...

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    To prevent all these difficulties with setting up VPN connections, the alternative is to use the CODESYS Automation Server and manage your PLC's (and applications) there. Below the steps you need to take. 1) Create an account (subscription) for the CODESYS Automation Server in the Store: https://store.codesys.com/en/codesys-automation-server.html. This is free for 2 PLC's. 2) Install the Edge Gateway on Computer 2: https://store.codesys.com/en/codesys-edge-gateway-for-windows.html. 3) You need to...

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    You should use the TextListUtils library for this which already has a GetText function. See https://faq.codesys.com/display/CDSFAQ/Access+to+Text+Lists+from+the+IEC+Code The problem you have with this (old) code is probably because you don't call it from the VISU_TASK. With the TestListUtils library function this is not necessary.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    As Modbus doesn't support REALs (32 bit), you need to send it as 2 WORDs (2x 16 bit). A REAL is internally represented as IEEE 754 value and this determines which bits are set when the value should be e.g. 0.05. See https://en.wikipedia.org/wiki/IEEE_754 and see https://baseconvert.com/ieee-754-floating-point to check which bits are set for the value 0.05. So the Hex value of 0.05 is 3D4CCCCD. So the first WORD is 3D4C and the second CCCD. In decimal this is 15692 and 52429. This is what you need...

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Probably you are in a network where another DNS server is available and should be used. Maybe you can connect your laptop to the same network and set your IP setting to automatically get a DNS server IP address. Then check what this IP address is. You could find this out by e.g. opening a CMD box and type: ipconfig /all. Then see which IP address your laptop got and use this as IP address for the DNS server in your application.

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    Yes it depends... mainly on the processing power of the controller, because for each client the CODESYS runtime needs to handle the connection. What you can do is monitor the CPU load (see https://forge.codesys.com/forge/talk/Runtime/thread/51fe121066/), then open in e.g. Chrome multiple tabs which show the WebVisu. Then check how it increases the load of your CPU.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    You need to have access to a DNS server which can provide this for you. There seems to be a function block for this in Machine Expert: https://product-help.schneider-electric.com/Machine%20Expert/V1.1/en/TcpUdpCo/TcpUdpCo/Function_Blocks/Function_Blocks-61.htm Google also has a DNS server which you could use. The IP address is 8.8.8.8. The default port is 53, but the documentation of the FB describes that you do not have to enter this.

  • TimvH TimvH modified a comment on discussion Visualization πŸ‡¬πŸ‡§

    Message should be something like: text <LATCH1> more text. See: https://content.helpme-codesys.com/en/CODESYS%20Visualization/_visu_extending_alarm_messages_with_latch_variables.html

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    Message should be something like: text <latch1> more text.</latch1> See: https://content.helpme-codesys.com/en/CODESYS%20Visualization/_visu_extending_alarm_messages_with_latch_variables.html

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    for each datasource, "implicit" variables are available. See below how you could use this. PS, this information is from several years ago. Maybe better solutions are available, but this should work: //Variable declaration VAR state: Datasources.DataSourceMonitoringState; error: Datasources.DataSourceError; END_VAR // get datasource communication state (e.g. of DataSource1) state := g_Datasources.Datasource1State; error := g_Datasources.Datasource1Error;

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    You can start CODESYS and automatically run a script through the command line. See: https://content.helpme-codesys.com/en/CODESYS%20Scripting/_cds_starting_script_via_command_line.html Here you can find some examples, which don't answer your question, but hopefully give you more information to get started: https://content.helpme-codesys.com/en/CODESYS%20Scripting/_cds_access_cds_func_in_python_scripts.html

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Maybe this helps: https://store.codesys.com/en/alarm-manager.html

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    When powering on the laptop, you should use the Windows functionality to automatically login with a user. Then you should start the HMI when the user is logged in. This is all Windows related functionality. Probably it is best to use a UPS to correctly shut down the laptop when the power of the machine is turned off.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    I had something similar which seems to be related to OneDrive, because this can change the default file location. What you can do is go to the properties of the desktop folder (right click - properties). Then select location. Here you can restore it to default, then I could select all folders on my laptop again.

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    Probably you have to write some code to convert it to a string, find the dot, then remove everything behind the dot if the next character is a zero. If you create a function for this, you can reuse this code for all REAL variables which you want to show like this.

  • TimvH TimvH posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    Maybe good to follow the steps as described in the example. See https://forge.codesys.com/prj/codesys-example/reduexample/home/Home/ When you download the zip file, you can find a video describing each step in detail.

  • TimvH TimvH posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    the first steps are done correctly: - Set the SysSocket properties in the .cfg file - Enable the option in the Ethernet adapter to adjust the IP address but the code should be handled differently to change the IP adres of the PLC. 1) add the following instance to your variable declaration: Reconfigure : DED.Reconfigure; 2) In your application you should now write some code to: - first disable the ethernet adapter - then change the IP adres - then enable the ethernet adapter again So for example Set...

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    Maybe better to use the "Visu Utils" library. Is much more user friendly.

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    Maybe better to use the "Visu Utils" library. Is much more user friendly.

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    You can use the "Visu Utils" library to iterate over all clients and through the interface of each client get the current visu.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    You should open COM1, not 0. Additionally, this might help: https://forge.codesys.com/forge/talk/Engineering/thread/33c7d2badd/

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    It is not clear what you are trying to do. Is it for another device you want to connect which is not a Modbus device? Then the advise would be: do not do that. It could give conflicts with the standard Modbus communication. But if it is a Modbus device, then why not use the standard Modbus device configuration?

  • TimvH TimvH posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    Check the CODESYSControl.cfg. Here you can specify where the log output is written to, so you can also let it write to file. Please regard the numbering, because it should be kept in order (0, 1, 2, etc). Below a part which is copied from a .cfg file of the Control Win Runtime. This probably will look much the same on your controller. [CmpLog] Logger.0.Name=PlcLog ;Logger.0.Filter=0xFFFFFFFF Logger.0.Enable=1 Logger.0.MaxEntries=100000 Logger.0.MaxFileSize=500000 Logger.0.MaxFiles=3 Logger.0.Backend.0.ClassId=0x0000010B...

  • TimvH TimvH posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    Maybe the license is not activated? Then it will stop after 2 hours. I would suggest to check this first. You can check this in the log file (double click on the device and go to the log).

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    You opened it probably with SP18. Then I would suggest to close CODESYS, start the CODESYS Installer, update the Visualization add-on to 4.2.0.0 (or later). Then open the project again in SP18 and set the Visualization Profile to this version (Project - Project settings - Visualization profile).

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    Since SP17, you can start the CODESYS installer through the Windows menu. There you can find a list of add-ons. So you will have 3.5 SP17 installed as "essential version". In the CODESYS installer you can find the add-ons (for each installation) with its versions which you have installed. There you have the option to update the "Visualization" to a new version (latest currently is 4.2.0.0).

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    There is a fix in V3.5 SP16 Patch 9 (and the Visualization add-on 4.1.0.0) related to old Web browsers. I would suggest to upgrade to a newer CODESYS version and try again.

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    Do you mean the element list? Just open the visualization and go to the top to open it (small triangle), or in the menu: Visualization - Visual element List.

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    This doesn't work when you have multiple clients, so you must iterate over the clients and then get the required info per client. E.g. add this to a program which you call from the VISU_TASK VAR pClient : POINTER TO VisuElems.VisuElemBase.VisuStructClientData; dwTargetVisuGroupID : DWORD; END_VAR VisuElems.VisuElemBase.g_ClientManager.BeginIteration(); WHILE (pClient := VisuElems.VisuElemBase.g_ClientManager.GetNextClient()) <> 0 DO IF pClient^.GlobalData.ClientType = VisuElems.VisuElemBase.Visu_ClientType.TargetVisualization...

  • TimvH TimvH posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    Many people have done this already. Download the "PFC200" package in the store, or install it though the CODESYS Installer. Then open the "Update PFC200" through the Tools menu and follow the installation procedure. More information can be found here: https://content.helpme-codesys.com/en/CODESYS%20Control%20for%20PFCx%20SL/_pfcx_install_runtime.html

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    At the bottom of the "Communication settings" Tab of your Data Source, you can there enter the credentials for the Authentification.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    If you use GibHub, then make sure you have a token, because this is needed for apps to get access: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token Similar for BitBucket https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Right click on "Application", choose Properties and go to the Tab "Build". Here you can add Compiler defines. Is this what you mean?

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    When timestamp_hist = 0

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Maybe a good solution is to add the recipe manager and a Recipe set? Then put the array in the recipe set, create a new recipe (column) in the recipe set, then right click on it and select read and save. See: https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_using_recipes.html

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    When online (double) click on the array. You will get a popup where you can enter the range you want to monitor. So do this for 1000-1999, 2000-2999 and 3000-3999.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    You can use the "Read" functionality. When you call this (after you opened the file succesfully), the result is written in the buffer you have assigned when you call the Read function. Then it reads the amount of the size of the buffer, of if the file is smaller than the buffer, the whole file. From this buffer, you can use other functions to find the string you are looking for. So in the example at the top, the variable "Data" will contain the contents you read from the file.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    You can use the "Read" functionality. When you call this (after you opened the file succesfully), the result is written in the buffer you have assigned when you call the Read function. Then it reads the amount of the size of the buffer, of if the file is smaller than the buffer, the whole file. From this buffer, you can use other functions to find the string you are looking for. So in the example at the top, the variable "Data" will contain the contents you read from the file.

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    Yes, you should see the one from the library you selected.

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    Yes, you should see the one from the library you selected.

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    Link works fine (now)

  • TimvH TimvH modified a comment on discussion Visualization πŸ‡¬πŸ‡§

    You only get to see this, if the general access to the web visu should or is protected. So then normally you will see the DefaultLogin. In your case add the following to the CODESYSControl.cfg and restart your PLC because this will add this standard protection: [CmpWebServerHandlerV3] AllowFileTransferServices=1 Maybe good to know is that you can quite easily create your own login pages, but some steps have to be followed: 1) Add user management functionality (based on runtime access as you showed...

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    Maybe also good to have a demo project. See attached. So you need at least CODESYS 3.5 SP18 with the Visualization package 4.2.0.0

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    You only get to see this, if the general access to the web visu should or is protected. So then normally you will see the DefaultLogin. In your case add the following to the CODESYSControl.cfg and restart your PLC because this will add this standard protection: [CmpWebServerHandlerV3] AllowFileTransferServices=1 Maybe good to know is that you can quite easily create your own login pages, but some steps have to be followed: 1) Add user management functionality (based on runtime access as you showed...

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    1) Save and install into library repository is very useful when you want to test you library. Tip is to open CODESYS twice. One has the library opened and the other can contain your test project to test your library. Everytime you save and install your library, your test project will be automatically informed that it is updated and you can run your test again. But once you "release it" and share it with others, then you can choose for a "save as compiled library" and send this to them. 2) There is...

  • TimvH TimvH posted a comment on discussion Forge πŸ‡¬πŸ‡§

    These properties have nothing to do with the Visualization access, but with the general access to objects in your development environment. So you could use that when some developers or service engineers want to get limited access to objects in the source code of your application. What you need to do is grand the specific access to ojects in your visualization in the properties of the visu object. Once you have enabled the user management (which you already did), you can see this property at the bottom...

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    Maybe your device doesn't have the arial font. Try to check this or install it on your device.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Go to the communication settings of your device, then find your device. In the same tab, you can see at the top, the menu Device, Change Runtime Security Policy. You also need to create a certificate for the OPC UA Server running on the Device and when UaExpert has tried to connect, you need to accept the certificate. For this you can go to the menu View-Security Screen. Then go to devices, create your own certificate and move the quarantined certificate of UaExpert to the Trusted Certificates.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    You can find examples here: https://forge.codesys.com/prj/codesys-example/html5apiexample/home/Home/

  • TimvH TimvH posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    I remember I had the same problem some years ago. What I can remember is that the CODESYS log file gave quite a lot of usefull information. As I can remember, is that the Siemens PLC tried to set the IP address of the device, but it failed with the Gateway setting. So at first the IP address of the CODESYS Profinet Device was e.g.: 192.168.1.10 255.255.255.0 0.0.0.0 Then I changed the gateway to the same as the IP address and it worked: 192.168.1.10 255.255.255.0 192.168.1.10 I'm sure it is related...

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    You need to be able to enable the "write" functionality to change the OS. Windows CE is loaded on startup with the default configuration. So you can write to it, but when restarting, it loads the default again. This is done for security and stability reasons. Pleae check with your vendor how to enable changing this.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    First of all try to ping the other PC to check the cable and IP address settings. In the CODESYS IDE make sure to have selected the correct device. So check if it is an RTE 32/64 bit and make sure you have selected the correct version. Then CODESYS should be able to find the RTE, unless the IPC blocks the incomming connection. For this reason try to (temporarily) disable the firewall on the IPC with the RTE, then try again.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    As you have a long ID, you should set the x29BitIdValue and Mask to TRUE. The mask works in a way that if you set the bit to 1, that it should exactly match the bit in the received message. If you set this to 0, then you don't care. So if you set the mask to 16#1FFFFFFF (29 bits bit true, so should exactly match the dwIdValue), then you should only see the message you want to see. For more information see: https://content.helpme-codesys.com/en/libs/CAA%20Can%20Low%20Level%20Extern/Current/CAN-Lo...

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    I can't explain why this happens, but what is maybe an option is to use the tool MobaXterm. This is a Putty alternative in which it is very easy to edit files on the Linux device.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Keep in mind that Modbus starts with address 1, but this is actually register 0. CODESYS uses a 0 based offset. So what you can try is to read 3200, because maybe your device uses a 1 based offset. Additionally maybe you can set the length to only one register just to see if this works.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    You could add the PLC by installing the PFC100 package and then installing the CODESYS Runtime on the PFC. You can test the runtime for 2 hours, but then have to restart the PLC, or you can buy a license for the runtime. In the documentation you can find the list of supported devices. Alternatively you could maybe use a Profinet / IO-Link gateway? See for more information: https://store.codesys.com/en/codesys-control-for-pfc100-sl.html

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    An option is to add the "application composer - device diagnosis". This will generate code including a textlist containing the names of the devices. See: https://help.codesys.com/webapp/ac_device_diagnose_overview;product=core_Application_Composer;version=3.5.17.0 After configuring this module and generating the code, you can then get the name of all devices: IF DeviceDiagnosis.uiNumDDIs > 0 THEN FOR i := 0 TO DeviceDiagnosis.uiNumDDIs - 1 DO IF g_DDGInfos[i].pName <> 0 THEN sName := g_DDGInfos[i].pName^;...

  • TimvH TimvH posted a comment on discussion Runtime πŸ‡¬πŸ‡§

    The RTE service has a dependency on the CodeMeter service so that should already see the dongle and the license before the RTE is started. When it doesn't start automatically, how was the RTE service ended before that? Is there a difference if you nicely shut down the PC, or just turn of the power and then restart? Maybe this helps: https://help.codesys.com/webapp/_cds_dlg_rtev3_system_configuration_application;product=core_codesys_control;version=3.5.17.0

  • TimvH TimvH modified a comment on discussion Visualization πŸ‡¬πŸ‡§

    On the opened visualization, you could handle the input of the keyboard with the "hotkey configurator". https://help.codesys.com/webapp/_visu_configure_keyboard_shortcuts;product=core_visualization;version=3.5.17.0

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    On the opened visualization, you could handle the input of the keyboard with the "hotkey configurator".https://help.codesys.com/webapp/_visu_configure_keyboard_shortcuts;product=core_visualization;version=3.5.17.0

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    IF your string will remain less than 255 characters (which should be, because you defined it as standard string, so this will be max 80), then you can use the function LEN(sw1).

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    Probably the best solution is to create your own Dialog library with a keyboard which only contains the characters you allow to use. See the installation folder of CODESYS where you can find a VisuDialogs.library which you can use as base for your own library: C:\Program Files\CODESYS 3.5.17.30\CODESYS\Projects\Visu\Dialogs

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    Place a frame in the main visualization with a reference to the header visualization.

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    Maybe this helps: https://store.codesys.com/en/esc-image-button.html

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    It sounds very complicated what you are trying to do. See https://faq.codesys.com/display/CDSFAQ/Modbus+master+slave+communication+over+Ethernet for a simple example of a Modbus Master and Modbus Slave configuration.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    What you could do is open the package with e.g. 7-zip, or rename the package to .zip and extract the .library files from the package. Then install them through Tools-Library repository. This is offcourse not the recommended way to do it, but in your case could be a solution.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    How did you install it? Since 3.5 SP17 there is a "CODESYS Installer". It is best to close all CODESYS instances and then start this CODESYS Installer. From here try to install the mail service again.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Apparently both libraries contain a LinearMemoryManager function or function block. The B111RS_Sp16.4_V0.0.22 KhIfmConversion3 library is using this function or function block, but the compiler doesn't know which one should be used. So the B111RS_Sp16.4_V0.0.22 KhIfmConversion3 library has to be changed to use e.g. CDS_MemMan.LinearMemoryManager, then the compiler known that this specific fun or fb should be used from this specific library.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Possible solution is to define a DUT Type Union with Array of 2 bytes and an int: TYPE U_2B_I : UNION ab : ARRAY[0..1] OF BYTE; i : INT; END_UNION END_TYPE Then declare a variable of this type in your application, write the 2 bytes into the array and use the int VAR u1 : U_2B_I; iResult: INT; END_VAR u1.ab[0] := 2#0000_0000; u1.ab[1] := 2#1000_0000; iResult := u1.i;

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    Probably you want to use VAR_IN_OUT variables in your visualization and place this visualization multiple times in another visualization by using "frames". In the configuration of this frame you can then link the specific variables to the various frames. Probably a good place to start is: https://help.codesys.com/webapp/_visu_call_visualization_with_interface;product=core_visualization;version=3.5.17.0 This is already supported from on of the first versions, so should also work in 3.5.8.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Maybe this helps: https://revolutionpi.de/forum/viewtopic.php?t=2702&p=11159 Contact them to get this package.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    See something similar here: https://faq.codesys.com/display/CDSFAQ/Task+Configuration%3A+Reading+the+Cycle+Time+and+Other+Information

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Maybe something like this: VAR Result: CmpIecTask.RTS_IEC_RESULT; hTask : CmpIecTask.RTS_IEC_HANDLE; pCurrentTaskInfo: POINTER TO Task_Info2; CurrentTaskInfo: Task_Info2; xReset: BOOL; END_VAR hTask := IecTaskGetCurrent(ADR(Result)); pCurrentTaskInfo := IecTaskGetInfo3(hIecTask := hTask, pResult := ADR(Result)); CurrentTaskInfo := pCurrentTaskInfo^; IF xReset THEN xReset := FALSE; IF hTask <> 0 THEN Result := IecTaskResetStatistics(hIecTask := hTask); END_IF END_IF

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Use a more powerfull PC?

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    To quickly "implode" your project tree, select the top of your device tree and press the "/" key. You can also use +, - and * for this.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Probably the WebClient library can do this for you. For this you will need to know which HTTP message to send to which server. See https://store.codesys.com/iiot-libraries-sl.html

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Probably pack mode 4 is used on your controller. You can add an "attribute" to the structure with e.g. pack mode 0 and it then probably works as you expect. See https://help.codesys.com/webapp/_cds_pragma_attribute_pack_mode;product=codesys;version=3.5.17.0 for more information.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    Maybe the pack mode of the structure can help. See the following help topic on the standard behavior and also how you can set it specifically for your structure: https://help.codesys.com/webapp/_cds_pragma_attribute_pack_mode;product=codesys;version=3.5.17.0

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    What happens when you choose "Update device" and select another one (or another version)? And what happens if you start a new project?

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    I tried to understand what you are trying to do, but you seem to make it much more complex then needed. Why not just have 2 instances of the fbBasicAuthWebClient and call this when needed.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    As far as I can remember, the Message Processor is called for each message which is received which matches your filter. For the sending of the messages, probably you have to create different senders, because it returns true when it is sent. I'm not sure if this is set immediately or could take a cycle, but you can probably easily test this if you already have it running.

  • TimvH TimvH posted a comment on discussion Engineering πŸ‡¬πŸ‡§

    You could use the FB ModbusRequest2, so you don't have to create devices in the device tree: https://help.codesys.com/webapp/Qc2MKyULLzzWS3JELTbsDHGWaRw%2FModbusRequest2;product=IoDrvModbus;version=3.5.17.0 See also: https://forge.codesys.com/forge/talk/Engineering/thread/60b62c103f/ To open the COM port, see: https://help.codesys.com/webapp/RJFsL1rVvIWPJ9jLGcMefN90Huo%2FOpen;product=CAA%20SerialCom;version=3.5.17.0

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    I found the dwSelectionType options in the help of the VisuFctSelectElement: VISU_SELECTION_TAB : DWORD := 16#00000001; VISU_SELECTION_SHIFTTAB : DWORD := 16#00000002; VISU_SELECTION_FIRST : DWORD := 16#00000003; VISU_SELECTION_LAST : DWORD := 16#00000004; VISU_SELECTION_LEFT : DWORD := 16#00000005; VISU_SELECTION_UP : DWORD := 16#00000006; VISU_SELECTION_RIGHT : DWORD := 16#00000007; VISU_SELECTION_DOWN : DWORD := 16#00000008; VISU_SELECTION_AT : DWORD := 16#00000009; VISU_SELECTION_ELEMENT : DWORD...

  • TimvH TimvH posted a comment on discussion Visualization πŸ‡¬πŸ‡§

    Add the "Visu Utils" library and use the FbChangeVisu. See https://help.codesys.com/webapp/mboia5SiHOaYJghMib-ss_lejg8%2FFbChangeVisu;product=Visu%20Utils;version=3.5.17.0

<< < 1 2 3 >