Search talk: data and time conversions

 
<< < 1 .. 101 102 103 104 105 .. 135 > >> (Page 103 of 135)

Post by george32 on CSV file and string manipulation. CODESYS Forge talk (Post)
Dear folks, I think I have a rather simple question but I could not find the right answer to my question: I have made with Excel a CSV file where I would like to have some general data regarding my program variables. I have made an program what let me read the file. The string I am currently get is at follows: 'IP_Adres;192.168.45.12$R$NPort_number;2000$R$NCycle_time;43$R$NStart_Standard_IO;20$R$N' Now I want to split the string in multiple part, which I later would connect to the right variable. By Google and experimenting I have reached to the following code for the first part of the splitting proces: // Splitting the BOM of the string: Received_string := FileReadString; IF LEFT(STR:=New_string,3)= '' THEN Received_string_without_BOM :=RIGHT(STR:= Received_string,SIZE:= (LEN(STR:= Received_string))-3); END_IF //Splitting the remaining string in part for later declaration. WHILE index = 0 DO index_split_part := FIND(STR1:= Received_string_without_BOM,STR2:= '$R$N'); Part_of_String[index]:=LEFT(STR:=Received_string_without_BOM, SIZE:= index_split_part); index := index + 1; END_WHILE However in the splitting proces I could not understand what is really happening. I understand that the Find() function returns the first value the $R$N in the Received_string_without_BOM. This would mean that the index_split_part := 23 I|P| _ |A |d|r|e|s|;|1_|9 |2 |. |1 |6 |8 |. |4 |5 |. |1 |2 |$ |R |$ |N |P | 1|2| 3 |4 |5|6|7|0|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27| So the next part is to read the first 23 characters of the Received_string_without_BOM with the LEFT() function. I expected that the outcome the following was: 'IP_Adres;192.168.45.12$'. However the outcome is: 'IP_Adres;192.168.45.12$R'. I do not understand where the R after the $ sign comes from, because its place is 24 so it would not be added to the part_of the_string[index]. If I hard coded value 24 for the size it gives me the following return: 'IP_Adres;192.168.45.12$R$N'. I would expect everything till the R but the code adds the $N also to the string. I hope someone could explain to my what I am seeing wrong in my point of view? With kind regards, George
Last updated: 2024-09-27

Post by john-robinson on Limiting Memory Access of an Array to Within its Bounds CODESYS Forge talk (Post)
Recently we had an issue regarding some simple code to calculate a rolling average. The code indexes from zero to 199 to properly store the current input into a circular buffer which then allows us to calculate a rolling average: VAR input_5s : REAL; outs_arr : ARRAY[0..199] OF REAL; i : USINT := 0; END_VAR ___ //this code runs every five seconds, calculating a rolling average outs_arr[i] := input_5s; i := i + 1; output := OSCAT_BASIC.ARRAY_AVG(ADR(outs_arr), SIZEOF(outs_arr)); IF i >= SIZEOF(outs_arr) THEN i := 0; END_IF There is a simple bug in this code where the index will be set to 0 when it has surpassed the length of the array in bytes (800 in this case) rather than larger than the number of reals in the array (200). The solution here is simple, replacing i >= SIZEOF(outs_arr) with i >= SIZEOF(outs_arr)/SIZEOF(outs_arr[0]). In this example when the index increased to 201 and the line outs_arr[201] := input_5s was called, codesys arbitrarily wrote to the address in memory that is where outs_arr[201] would be if the array was that long. I would like to find a way to wrap the codesys array inside of a wrapper class that checks if an input is within the bounds of an array before writing to that value. I know how I would implement that for a specific array, I could create a method or class that takes an input of an array of variable length, ie. ARRAY[*] OF REAL, but I don't know how to make this for any data type. I am wondering if anyone has ever done anything similar to this, or has any better suggestions to ensure that none of the programmers on this application accidentally create code that can arbitrarily write to other locations in memory.
Last updated: 2024-03-05

Post by arnog on Two drives on one axis, Gantry Robot CODESYS Forge talk (Post)
Hi TK_Jenssen did you found a solution I am setting up the samelike gantry only with two z-axes which are mounted on fix position with an X axes between the two z-axes. The movement and position of both z-axes must be very well aligned and calibrated. Maybe also to be adjusted by programming. Can you sent an example of your solution?
Last updated: 2023-08-25

Post by transmin01 on PCAN serial "No CAN driver found" CODESYS Forge talk (Post)
Hi, I am using a PCAN mini CAN board which has the Windows drivers installed on the target PLC. PCAN board can be seen in device manager. However, I am getting "No CAN driver found" error. I have read the post https://forge.codesys.com/forge/talk/CODESYS-V2/thread/44aae19318/ and have uncommented the CmpPCANBasicDrv driver in the CodesysControl.cfg file in development PC and have copied it to the target PC. Current CodesysControl.cfg file attached. Is there anything else I am missing? Regards
Last updated: 2023-09-14

Post by nico01 on Integer with comma in visualization CODESYS Forge talk (Post)
Hello everyone, I created a visualization with a lot of REAL, with one or two digits after the decimal point. This causes me problems in terms of rounding and memory... is it possible to display an integer with a comma, like with PROFACE or SIEMENS? It's just an "abuse" of display, the comma is just on the visualization. This limits the memory (16 versus 64 bytes) and rounding is easier to manage... See print screen on proface software THANKS
Last updated: 2023-09-20

Post by damian177 on Codesys MQTT subscribe CODESYS Forge talk (Post)
Hi, In my project I have MQTT Client like below: //mqtt client mqttClient( xEnable:=connect_to_broker, sHostname :=sHostname, uiPort:= uiPort, xUseTLS:=FALSE, wsUsername:="", wsPassword:="", xCleanSession:=TRUE, sClientId:='694d45587761676f4b6f6e74656e6572', pbWillMessage := ADR(sWillMessage), uiWillMessageSize:=DINT_TO_UINT(Stu.StrLenA(ADR(sWillMessage))), xWillRetain:=FALSE, udiTimeOut:= 10000000); And ten subscriber's , one of those is below: //subscribe a topic1 mqttSubscriber_S1(xEnable:=subscribe, eSubscribeQoS := 0, pbPayload:=ADR(sSubscribeMessage_S1), udiMaxPayloadSize :=SIZEOF(sSubscribeMessage_S1), mqttClient:=mqttClient, wsTopicFilter:=wsSubcribeTopic_S1); TerminateString(ADR(sSubscribeMessage_S1), mqttSubscriber_S1.udiPayloadSize); After connected to broker I set subscribe to TRUE in alls subscribers and my mqttclient recive error : ACKNOWLEDGE_TIMEOUT what can be wrong ?
Last updated: 2023-10-11

Post by davidbo on How to allow a user to handle certificates without access to sourcecode? CODESYS Forge talk (Post)
With CODESYS V3.5 it is possible for a user to do the following things among many others. 1) Handling certificates especially move a certificate to the trusted folder. 2) Change password and create new users for OPC UA access However it requires access to the whole projects and its source code. Something you might not want to hand over to an end user for a stand alone product. Is there a way out of this problem?
Last updated: 2023-11-06

Post by fred on Rasperry Control Debian 12 CODESYS Forge talk (Post)
Hi, I have Proxmox running on a Rasperry 4 and have debian 12 ARM installed here. I wanted to install Codesys Control for Raspberry on it. According to the messages, the runtime environment and the gateway were installed successfully, but I can't find a device to downplay a program. The sudo service codesys start command fails. (see image) Does somebody has any idea? Thank you for your help! Greetings Fred
Last updated: 2023-11-22

Post by ekristoffe on Beispieldateien finden / Inhalt der Packages CODESYS Forge talk (Post)
Hello @eschwellinger, Why not using one of those 2 folders: C:\ProgramData\CODESYS C:\Users\Public\Documents\CODESYS The main reason is depending on the company and the user right, the end user may not have the access to use those folders. Also having a non version dependent folder may help if the end user uninstall a previous version and forgot all its sample project where in this previous version installation. Thanks.
Last updated: 2023-11-24

Post by simotion on Inheritance of axis CODESYS Forge talk (Post)
I have developped a function block 'Axis' the inherits from 'AXIS_REF_SM3' -> FUNCTION_BLOCK Axis EXTENDS AXIS_REF_SM3 In my global variable list I define a variable MasterDrive of type Axis and assign Axis1. Axis1 is a virtual drive (AXIS_REF_VIRTUAL_SM3). This type should inherit from AXIS_REF_VIRTUAL. VAR_GLOBAL MasterDrive : Axis := Axis1; However I get the error 'Cannot convert type'. What is the way to obtain what I want : function block inheriting AXIS_REF_SM3 and initialising this function block with a Softmotion virtual or real axis?
Last updated: 2023-12-07

Post by wedahitha on Could not open library 'SysSocket23, CODESYS Forge talk (Post)
Hi there, I am trying to open a codesys project done by someone else and Once I install all the libraries I get this error [ERROR] : Library Manager [PROJECT 01: PLC Logic: Application]: Could not open library 'SysSocket23, * (System)'. (Reason: The library 'SysSocket23, * (System)' has not been installed to the system.) SysSocket23 is a standard library and I also tried using the same OSCAT library which was from the original computer that made this code. Using CODESYS V3.5 SP18 Patch 2 Please help me how to solve this problem.
Last updated: 2023-12-19

Post by sturmghost on Visualization using methods and cyclic ST-calls CODESYS Forge talk (Post)
I found a way to do it: You can use, for example, the text variable property of any visualization element and call a function in it. Example: Write a test POU as a function (FUN), like MyTestFun which need a boolean Variable as an input value. Now write into the text variable property: MyTestFun(bBooleanValue) Thats it. The function is called at each visu_task cycle.
Last updated: 2024-01-22

Post by wiresplus on INT_TO_WORD function not working CODESYS Forge talk (Post)
Hello, I need to take an INT input, and convert it to a WORD value. VAR DRV2Speed : WORD; //IO card takes a WORD where 16000 = full 10V output (equivalent to 50Hz) PumpFillSpeed : INT; //Users enter a value between 0 and 50 END_VAR IF <conditions> THEN DRV2Speed :=INT_TO_WORD((PumpFillSpeed/50)*16000); END_IF </conditions> According to me this should work - but it stays at 0, no matter what. What am I doing wrong?
Last updated: 2024-01-26

Post by suthesan on Error when I go online on Simulation or PLC CODESYS Forge talk (Post)
Hello I not sure if I made this topic under the right category. But I have a error, when I try to run a simple code on simulation or PLC. I have also tried to make a fresh project. I am testing the PLC and want to see if there is some way I can make an actuator run. Please help by looking at the picture, Iam stuckd and I don't know how to fix it.
Last updated: 2024-02-07

Post by tk096 on SMC_Interpolator + SMC_controAxislbyPos CODESYS Forge talk (Post)
Hi, you can define a start position for your GCode. How the start position can be defined depends on the CompileMode: For File and SMC_CNC_REF: Set the start position input of SMC_NCInterpreter (https://content.helpme-codesys.com/en/libs/SM3_CNC/Current/SM_CNC_POUs/NC2/Interpreter/SMC_NCInterpreter.html) For SMC_OutQueue: * Right-click on the CNC object in the project tree * Select Properties * Select the tab 'CNC' * Set the start position Concerning your second question: If the new set position cannot be reached with the given velocity limit (AXIS_REF_SM3.fSWMaxVelocity), SMC_controlAxisByPos will report bStopIpo and close the 'gap' with the given gap dynamics (SMC_controlAxisByPos.fGap*).
Last updated: 2024-02-07

Post by goki on WAGO RS485 (753-652) on a 750-362 CODESYS Forge talk (Post)
hi guys Maybe someone can help me in this case. Im working with codesys 3.5 with an PFC200 (750-8212) with a Modbus TCP conection to the 750-362. On the 750-362 i have a 4DO, 8DI and a RS485 interface card. the 4DO and 8DI cards a working fine but im strugling with the rs485 card. Does someone have a example for this?
Last updated: 2024-02-08

Post by matthew on New Ladder Diagram conversion does not work due to missing features CODESYS Forge talk (Post)
Hi @eschwellinger, I have been trying out v1.0 of the new ladder and have a few questions. I have warnings Expression or part of it has no effect I can't get rid of them, what do they exactly mean? Using the ST_Block, is there a way when online to open the ST_Block and view the running code? Thanks!
Last updated: 2024-02-09

Post by martincapd on EWON CODESYS Forge talk (Post)
I have the same problem in that I can connect to the eWon and ping the controller IP Address, however I cant connect through CodeSys. I'm using Gateway-1 which is configured to use "IP-Address: localhost" and "Port: 1217". Rather than scanning the network for devices, I enter the IP Address of the device, codesys returns a "No Device is repsonding..." message. See attached. I'm wondering if the IP-Address used Gateway-1 should be "localhost" or the WAN/LAN IP of the eWon? Thanks for the help MC
Last updated: 2024-02-21

Post by martinla on New Codesys Library Dependencies CODESYS Forge talk (Post)
When creating a new Codesys library, I am getting 2 errors for missing libraries. I can see that I am using newer versions of these in the library manager (3.5.17.0 and 3.5.19.0 opposed to 3.5.8.0 and 3.5.7.0 stated in the errors). IDE Version is V3.5 SP19 Patch 6. The "Download missing libraries..." button in Messages list is not doing anything. Why is it looking for older versions of these libraries? Can this be fixed by using the newer versions? How can I download & install the older version of these libraries?
Last updated: 2024-02-29

Post by k4zz on Scripting static code analysis CODESYS Forge talk (Post)
Currently, I am working on integrating static code analysis into our CI/CD pipeline. Specifically, I have successfully performed static code analysis for .project types, and it works flawlessly. However, I have encountered difficulties in executing the same for .library types. In this regard, I have tried two methods: system.commands["staticanalysis", "run"].execute() # get Project values myProject = projects.primary # Creates an active application app = myProject.active_application # build Application and run static code analysis app.generate_code() your help is greatly appreciated.
Last updated: 2024-03-18

Post by remcoborghuis on C0032 Error to type Pointer to IoConfigParameter CODESYS Forge talk (Post)
Hi All, I'm using codesys on a raspberry PI. I use V3.5 SP18 Patch 2 development system and codesys for raspberry pi 4.8.0.0. Sometimes when I build the project I get error messages C0007: Expression expected instead of ',' and C0032: Cannot convert type 'Unknow type: '!!!'ERROR'!!!" to type 'POINTER TO IoConfigParameter'. I can't click on the message to bring me to the fault. After I do a "Clean all" the build finishes successful. Anyone who can help me with this problem? Thanks! Remco Borghuis
Last updated: 2024-03-25

Post by mimodia1 on I do not have any reedings in RUN MODE from MPU6050........ CODESYS Forge talk (Post)
Good morning, mecke96. Exactly the same thing happens to me, although I have not done the part of executing a .py file. It only reads the temperature and the counter, but the other values are zero as in your image "no readings". I have tested the MPU6050 device on an Arduino and it works. Could you tell me if you solved it?
Last updated: 2024-03-29

Post by marcolim on RPC failed 0x16c9a085 CODESYS Forge talk (Post)
Hello Matteo, I think the problem is about configuration of firewall (windows firewall usually). You can disable temporary the firewall to check if the communication works. Eventually you can: Go to the control panel -> Windows Defender Firewall -> Allow an app or feature Enable the options to change the settings. Scroll down in the application list to CODESYS and CODESYS ControlService. If you don’t see this application add it to the list. Make sure that all the checkboxes are checked (Domain, Private and public).
Last updated: 2024-04-01

Post by codesysjupiter on Could not be resolved - Library error CODESYS Forge talk (Post)
Hello, everyone. How are you? Please help me with my library error. When I open the CODESyS project, the error message is Could not open library “#loDrvEthernet. (Reason: The placeholder library ToDrvethemet’ could not be resolved.) I tried to find solution to fix this . and the help teach me to run this command "Update placeholder <iodrvethernet> to the newest version:" Is this right ? But I couldn't find where I input this command and how to run it. Or any other solution , please ?</iodrvethernet>
Last updated: 2024-04-12

Post by codesysjupiter on Library Error CODESYS Forge talk (Post)
Hello, everyone. How are you? Please help me with my library error. When I open the CODESyS project, the error message is Could not open library “#loDrvEthernet. (Reason: The placeholder library ToDrvethemet’ could not be resolved.) I tried to find solution to fix this . and the help teach me to run this command "Update placeholder <iodrvethernet> to the newest version:" Is this right ? But I couldn't find where I input this command and how to run it. Or any other solution , please ?</iodrvethernet>
Last updated: 2024-04-12

<< < 1 .. 101 102 103 104 105 .. 135 > >> (Page 103 of 135)

Showing results of 3353

Sort by relevance or date