Solved. Just in case that someone else is now to this also. It seems that the xDone of the TCP_Connection FB goes true once client disconnects and then you need to reset the FB by setting the xEnable to false.
I have a need to send messages between 2 PLCs and I cant use network variables (because of size limit) so I tried writing this simple test program. This seems to work fine. I can send messages back and forth when a first "Start server" and then "Connect client". See the attached image. However, if I disconnect the client by setting ClientConnect to false and try to re-connect then the TCP_Client just gives me TIMEOUT error. When I stop and start the server again, then Im able to reconnect. How is...
I have a need to send messages between 2 PLCs and I cant use network variables (because of size limit) so I tried writing this simple test program. This seems to work fine. I can send messages back and forth when a first "Start server" and then "Connect client" However, if I disconnect the client by setting ClientConnect to false and try to re-connect then the TCP_Client just gives me TIMEOUT error. How is this supposed to work? Why reconnecting wont work. There is not other way of disconnecting...
Are your texts WSTRING? maybe you should try WSTRING versions. I have a vague memory of having to switch to TextListUtils library also.
When I create a new textlist in Codesys 3.5 SP19 Patch 5, it wont appear in the dropdown menu at Rectangle element > Dynamic texts > Text list. If I just type the name of the textlist to the field (in quotes), I get an error saying that some file is missing. Any good ideas what to do and what is going on. I recently updated to that version and I only now noticed this when I needed to add a new textlist so Im quite screwed with this not being able to add text lists. While im typing this, I tried copying...
FB jsonFileWriter gives a NULL_POINTER error, why? JSONByteArrayWriter works fine so the JSONData FB should be fine. The device is CODESYS Control Win V3 x64 in simulation mode. Codesys version is V3.5 SP16 Patch 5 JSON_Utilities_SL version is 1.3.0.0 Src: ST_TestStruct1a; TXT: WSTRING(10000); MakeJSON : BOOL := TRUE; SrcJSONData: JSON.JSONData; jsonFileWriter : JSON.JSONFileWriter; IF MakeJSON THEN MakeJSON := FALSE; // Struct data to JSONData FB F_TestStructToJSON(ADR(Src),ADR(SrcJSONData)); //...
DELETE THIS
It seems that this works, but again, I dont know how reasonable this is. currlang := VisuElems.CURRENTLANGUAGE; VisuElems.CURRENTLANGUAGE := newLang; VisuElems.DynamicTextReloadTexts(); TLU.GetTextW('TEXT_ListName','Id',ADR(str),SIZEOF(str)); VisuElems.CURRENTLANGUAGE := currlang; VisuElems.DynamicTextReloadTexts();
It seems that this does not work. It works if I put a breakpoint right after the temporary change of the VisuElems.CURRENTLANGUAGE variable but not regularly. Maybe the visu task runs while the main task is halted and loads the text of the new current language to memory. It seems that there is a method to manually load the text but it sounds awfully inefficient to load large text files that way. Any ideas?
It seems that this does not work. It works if I put a breakpoint right after the temporary change of the VisuElems.CURRENTLANGUAGE variable but not regularly. Maybe the visu task runs while tha main task is halted and does something. Any ideas?
Well there you have it. Is this possible? The TLU.GetText only retrieves the text of the selected language but I would like to get a text of the language of my choosing. I guess I could try change the VisuElems.CURRENTLANGUAGE variable temporarily to the desired language just before the retrieve and then change it back after. Would it start to change the visualisation language only if its still changed once the visu task starts?
Well there you have it. Is this possible? The TLU.GetText only retrieves the text of the selected language but I would like to get a text of the language of my choosing. I guess I could try change the VisuElems.CURRENTLANGUAGE variable temporarily just before the retrieve.
Does anyone know if the timeout is currently adjustable? Im connecting trough reverse ssh tunnel and experiencing similar problems. Webvisu and terminal connection are working quite good but codesys has worked only once so far.
The problem was that I had an instance of the ModbusRequest for each query and they were operating on parallel. Apparently you must use only 1 instance or at least not run to them on parallel.
The problem was that I had an instance of the ModbusRequest for each query and they were operating on parallel. Apparently you must use only 1 instance or at least not run them on parallel.
Yes, that did it and quite straight forwardly after all. Basically I just used a TON and ModbudRequest FB to refresh the data from and to the process image of the couplers. The FB required the a pointer to the slave instance in the device tree nyt nothing fancier than that. However I have another problem. I wrote a seperate project to demonstrate the idea and it worked nicely. However after I integrated it to my actual project I started to get exeptions. What I get from this screenshot is that the...
Yes, that did it and quite straight forwardly after all. Basically I just used a TON and ModbudRequest FB to refresh the data from and to the process image of the couplers. The FB required the a pointer to the slave instance in the device tree nyt nothing fancier than that. However I have another problem. I wrote a seperate project to demonstrate the idea and it worked nicely. However after I integrated it to my actual project I started to get exeptions. What I get from this screenshot is that the...
Yes, that did it and quite straight forwardly after all. Basically I just used a TON and ModbudRequest FB to refresh the data from and to the process image of the couplers. The FB required the a pointer to the slave instance in the device tree nyt nothing fancier than that. However I have another problem. I wrote a seperate project to demonstrate the idea and it worked nicely. However after I integrated it to my actual project I started to get exeptions. What I get from this screenshot is that the...
Yes, that did it and quite straight forwardly after all. Basically I just used a TON and ModbudRequest FB to refresh the data from and to the process image of the couplers. The FB required the a pointer to the slave instance in the device tree nyt nothing fancier than that. However I have another problem. I wrote a seperate project to demonstrate the idea and it worked nicely. However after I integrated it to my actual project I started to get exeptions. What I get from this screenshot is that the...
Yes, that did it and quite straight forwardly after all. Basically I just used a TON and ModbudRequest FB to refresh the data from and to the process image of the couplers. The FB required the a pointer to the slave instance in the device tree nyt nothing fancier than that. However I have another problem. I wrote a seperate project to demonstrate the idea and it worked nicely. However after I integrated it to my actual project I started to get exeptions. What I get from this screenshot is that the...
Yes, that did it and quite straight forwardly after all. Basically I just used a TON and ModbudRequest FB to refresh the data from and to the process image of the couplers. The FB required the a pointer to the slave instance in the device tree nyt nothing fancier than that. However I have another problem. I wrote a seperate project to demonstrate the idea and it worked nicely. However after I integrated it to my actual project I started to get exeptions. What I get from this screenshot is that the...
Yes, that did it and quite straight forwardly after all. Basically I just used a TON and ModbudRequest FB to refresh the data from and to the process image of the couplers. The FB required the a pointer to the slave instance in the device tree nyt nothing fancier than that. However I have another problem. I wrote a seperate project to demonstrate the idea and it worked nicely. However after I integrated it to my actual project I started to get exeptions. What I get from this screenshot is that the...
Yes, that did it and quite straight forwardly after all. Basically I just used a TON and ModbudRequest FB to refresh the data from and to the process image of the couplers. The FB required the a pointer to the slave instance in the device tree nyt nothing fancier than that. However I have another problem. I wrote a seperate project to demonstrate the idea and it worked nicely. However after I integrated it to my actual project I started to get exeptions. What I get from this screenshot is that the...
Hello Im planning to use varying amounts (1-6) of Beckhoff EK9000 ModbusTCP couplers with varying amounts of basic input and output terminals attached to them. I want to be able to change the amount of couplers and terminals without altering the source project. So I need to be able to communicate with Modbus TCP slave couplers with their IP addresses (and all other possible settings) coming from variables rather than being static. Also the mapping of the input and output data on the devices will...
Hello Im planning to use varying amounts (1-6) of Beckhoff EK9000 ModbusTCP couplers with varying amounts of basic input and output terminals attached to them. I want to be able to change the amount of couplers and terminals without altering the source project. So I need to be able to communicate with Modbus TCP slave couplers with their IP addresses (and all other possible settings) coming from variables rather than being static. Also the mapping of the input and output data on the devices will...
Hello Im planning to use varying amount of Beckhoff EK9000 ModbusTCP coupler with varying amounts of basic input and output terminals attached to them. I want to be able to change the amount of couplers and terminals without altering the source project. So I need to be able to communicate with Modbus TCP slave couplers with their IP addresses (and all other possible settings) coming from variables rather than being static. Also the mapping of the data on the devices will not be static either and...