Post by opineiro on How to manage variable types larger than 64 bits - Ethernet/IP
CODESYS Forge
talk
(Post)
Thanks, that's what I thought initially. The point is that I can't select a String type variable. See the attached image
Last updated: 2024-09-23
Post by dangjoris on Missing function for ConfigGetParameterValueBool (SM3RaspiStepper)
CODESYS Forge
talk
(Post)
Hello, I've been trying to get the SM3RaspiStepper application working for a long time, but the function block with the function ConfigGetParameterValueBool and ConfigGetParameterValueLReal is always missing. Does anyone know how I can get them? I also added a screenshot.
Last updated: 2024-09-30
Post by arwie on Shared memory between Python and Codesys
CODESYS Forge
talk
(Post)
Hi, I wrote a tutorial how to do this. Fast variable exchange between CODESYS and PYTHON via shared memory: https://gist.github.com/arwie/ff56783d9a2fff52940de82ae1bc1a22
Last updated: 2024-10-04
Post by kislov on CODESYS Modbus 4.4.0.0 - Modbus network redundancy
CODESYS Forge
talk
(Post)
Hi. There is next information in CODESYS Modbus 4.4.0.0 Release Notes: "Modbus network redundancy" How to use this feature? As I understand, new fields in STUCT ModbusTCPComSettings are associated with it, but more detailed information is needed.
Last updated: 2024-10-07
Post by batuhanarslan on Dynamic Image Show
CODESYS Forge
talk
(Post)
Hello Everyone, I have 5 images with same position in the screen. I would like to pass around them with giving an GlobalIndexImageId how can I do it. In properties part I don't understand the which one is doing that. Best Regards
Last updated: 2024-10-13
Post by banialuk on Modbus TCP Server
CODESYS Forge
talk
(Post)
Hello, I have poroblem with define input in function block modbusFB.serverTCP 'dataModel', in my aplication I need starting Input Registers from 3000, and I must define this in 'data Model' but I dont now how exacly to do it. Anybody now somethin about this?
Last updated: 2024-10-19
Post by cdutz on Problems connecting to Codesys 4.9.0.0 runtime on my Wago PFC200
CODESYS Forge
talk
(Post)
Turns out I managed to get a connection to my PLC. It seems that a few weeks ago Wago released something with version 4.3.3(25). So I reset my PLC to Factory-Reset, set it to the 192.168.1.17 IP and changed the IP to the one I wanted with the Wago EthernetSettings tool. Then updated the latest firmware using the WAGOupload tool. Now the PLC came back up without a PLC runtime running, so in the Web-tool I wen't to the "Configuration"/"PLC Runtime" and selected the runtime version "CODESYS V3". I uninstalled all Codesys versions and installed the version from the download package of Wago together with all the packages the bundle provided. After creating a new project I didn't select the old PFC200 runtime, but one of the dozens of new device profiles, that it now listed. With these settings I was then able to connect to my PLC. Now I hope I'll get the existing project that I had ported to this new structure. Sorry for the noise. Chris
Last updated: 2023-08-26
Post by moksan on Unconnected_Send Explicit message with Route Path
CODESYS Forge
talk
(Post)
I have been trying out Unconnected_Send Explicit Message with route path.(The Unconnected_Send service shall use the Connection Manager object in each router to forward the message and to remember the return path. Vol 1.3 / 3-5.6.7) However, I could not see the correct path on Wireshark. I want to see the Unconnected_Send Message Service Code as 0x52 and also the last of the message should have the route path. I want to ask some questions about this topic. The IIoDrvEIPAcylicServices Interface has the IoDrvSendUnconnectedMessage Method. And there is a struct (EIP_SendUnconnectedMessage) for this service. But there is no information about how to implement to project, and if it is successful, does it send a message with 0x52 Unconnected_Send Service Code or not? If that is not a solution, how can I set the Unconnected_Send Explicit Message struct on Codesys? Also how can I send explicit message with route path?
Last updated: 2023-10-17
Post by fefefede on Get the numer of day
CODESYS Forge
talk
(Post)
Hello i tro to create a program to turn on or off the air condition in relationship temperature and numer of day. I can't get the number of day. I try this after installing SysTime library but this not work and have this error on debug ------ Build started: Application: Device.Sim.Device.Application ------- Typify code... Generate code... [ERROR] giorno_accensione_aria: PLC_PRG Device: PLC Logic: Application: C0032: Cannot convert type 'Unknown type: 'SysTimeCore(TRUE)'' to type 'TIME' [ERROR] giorno_accensione_aria: PLC_PRG Device: PLC Logic: Application: C0035: Program name, function or function block instance expected instead of 'SysTimeCore' [ERROR] giorno_accensione_aria: PLC_PRG Device: PLC Logic: Application: C0032: Cannot convert type 'Unknown type: 'DayOfWeek(CurrentTime)'' to type 'INT' [ERROR] giorno_accensione_aria: PLC_PRG Device: PLC Logic: Application: C0035: Program name, function or function block instance expected instead of 'DayOfWeek' [INFORMATION] giorno_accensione_aria: PLC_PRG Device: PLC Logic: Application: C0181: Related position Build complete -- 4 errors, 0 warnings : No download possible PROGRAM PLC_PRG VAR Temperatura: UDINT; AriaCondizionata: BOOL := FALSE; CurrentDayOfWeek: INT; //Variabile Giorno CurrentTime: TIME; GiornoDellaSettimana: INT; DayOfWeek: INT; END_VAR CurrentTime := SysTimeCore(TRUE); // Ottieni l'ora corrente CurrentDayOfWeek := DayOfWeek(CurrentTime); CASE GiornoDellaSettimana OF 1: // Azioni per Lunedì 2: // Martedì se più 10° accend altrimenti spegni IF Temperatura >= 10 THEN AriaCondizionata := TRUE; ELSE AriaCondizionata := FALSE; END_IF 3: // Mercoledì se più di 50° accendi altrimenti spegni IF Temperatura >=50 THEN AriaCondizionata := TRUE; ELSE AriaCondizionata := FALSE; END_IF 4: // Giovedì se più di 40° accendi altrimenti spegni IF Temperatura >=40 THEN AriaCondizionata := TRUE; ELSE AriaCondizionata := FALSE; END_IF 5: // Venerdì se più di 50° accendi altrimenti spegni IF Temperatura >=50 THEN AriaCondizionata := TRUE; ELSE AriaCondizionata := FALSE; END_IF 6: // Sabato se più di 25° accendi altrimenti spegni IF Temperatura >=25 THEN AriaCondizionata := TRUE; ELSE AriaCondizionata := FALSE; END_IF 7: // Domenica sempre spenta AriaCondizionata := FALSE; END_CASE
Last updated: 2023-09-14
Size of the abyPoolMemory input when creating an fb for the purpose of fb creation (fb extends Factorybase from the fbFactory Library)
CODESYS Forge
talk
(Thread)
Size of the abyPoolMemory input when creating an fb for the purpose of fb creation (fb extends Factorybase from the fbFactory Library)
Last updated: 2023-01-15
Post by timvh on Socket communication with username and password
CODESYS Forge
talk
(Post)
The IoT library contains a Web Socket library. Maybe this provides your required functionality. See https://store.codesys.com/en/codesys-iiot-libraries-sl.html
Last updated: 2024-02-24
Post by eschwellinger on No work Control Torque Codesys with Drivers M751 Control Techniques
CODESYS Forge
talk
(Post)
check the documentation inside the CT library if this is supported by the Softmotion library for this drive.
Last updated: 2024-03-13
Post by pazderai on CanOpen write issue
CODESYS Forge
talk
(Post)
Hi,is there any canopen library where is implemented sdo write with unspecified datalength (command byte 0x22)? I tried caa cia405 canopen library but it doesnt support this, but my slave device accept only 0x22. Thank you for any help.
Last updated: 2024-07-16
Post by pazderai on CanOpen write issue
CODESYS Forge
talk
(Post)
Hi,is there any canopen library where is implemented sdo write with unspecified datalength (command byte 0x22)? I tried caa cia405 canopen library but it doesnt support this, but my slave device accept only 0x22. Thank you for any help.
Last updated: 2024-07-16
Post by jeroenaero on CodeSys Raspberry pi I2C driver not found
CODESYS Forge
talk
(Post)
thank you, i tried your library and device description but i don't get analog values. Do i something wrong? i also got an library error at the I2C_BASE functionblock the calcCycleTime gave an variable size error, so i added thet conversion from ULINT_TO_UDINT.
Last updated: 2024-11-07
Post by sushela on TEMU COUPON CODE [[acq615756]] get $100 Off + 30% Discount
CODESYS Forge
talk
(Post)
Temu offers an exclusive deal for both new and existing users in Georgia. With the coupon code ([acq615756]), you can enjoy a $300 discount on a wide range of products, whether it's your first order or you've been shopping on Temu for a while. This offer ensures substantial savings for everyone, making Temu a top choice for affordable online shopping. Temu is offering an attractive $100 off coupon code, [acq615756], exclusively for first-time users. This promotion allows new customers to save significantly on their initial purchase, making it an excellent opportunity to explore Temu's extensive product range. Additionally, this code can be combined with an extra 30% discount on select items, further enhancing savings. To redeem the offer, simply create an account, add items to your cart, and enter the coupon code at checkout to enjoy your discount. How to Redeem: Create or log into your Temu account: If you’re new to Temu, sign up; if not, just log in. Browse the products: Add your preferred items to the cart. Apply the code ([acq615756]): During checkout, enter the code to receive a $300 discount. Benefits of Using the Code: Savings on all categories: The $300 discount applies to many categories, from electronics to fashion. No minimum spend: This coupon is ideal as it doesn’t require a minimum purchase amount. Applicable for new and existing users: Unlike most promotions, this one works for both first-time and repeat customers. To get the most out of your shopping experience, download the Temu app and apply our Temu coupon codes for existing users at checkout [[acq615756] or [acq615756]]. Check out these five fantastic Temu coupons for existing users: [acq615756]: New users can get up to 80% extra off. [acq615756]: Get a massive $100 OFF your first order! [acq615756]: Get 20% off on your first order; no minimum spending required. [acq615756]: Take an extra 15% off your first order on top of existing discounts. [acq615756]: Temu UK users can enjoy a $300 discount on your entire first purchase. In the world of online shopping, Temu has become a go-to destination for affordable and quality goods across a wide range of categories, from fashion to electronics. One of the most attractive features of Temu is its frequent offering of discount codes and coupons, allowing shoppers to save even more on their purchases. Among these, the Temu coupon code $100 OFF is particularly enticing, offering substantial savings for savvy shoppers. This article will explore everything you need to know about using this coupon code, including specific region-based codes for Estonia and the USA. using this code will give you a flat $100 OFF and a $300 discount on your Temu shopping. Our Temu coupon code is completely safe and incredibly easy to use so that you can shop confidently. Check out these five fantastic Temu coupon codes for August and September 2024: [acq615756]: Enjoy flat $100 OFF on your first Temu order. [acq615756]: Download the Temu app and get an additional $100 OFF. [acq615756]: Celebrate spring with up to 90% discount on selected items. [acq615756]: Enjoy 90% off on clearance items. [acq615756]: Beat the heat with hot summer savings of up to 90% off. [acq615756]: Temu UK Coupon Code – $100 OFF on appliances at Temu. These Temu coupons are valid for both new and existing customers, so everyone can take advantage of these incredible deals. What is the Temu Coupon Code $100 OFF? The Temu coupon code $100 OFF is a special promotional offer that provides customers with a significant discount on their purchases. Typically, this coupon can be applied at checkout, reducing the total purchase price by $300, provided certain conditions are met. These conditions often include minimum purchase requirements, product category restrictions, or regional limitations. This coupon is highly sought after by frequent shoppers looking to make large purchases or those seeking a great deal on high-ticket items. Temu's existing customer coupon codes are designed just for new customers, offering the biggest discounts and the best deals currently available on Temu. To maximize your savings, download the Temu app apply our new user coupon during checkout. How to Use Temu Coupon Code $100 OFF Using a coupon code on Temu is simple. Follow these steps to unlock your discount: Select Your Items: Add the products you want to buy to your shopping cart. Make sure they meet any requirements, such as minimum purchase amounts or specific categories. Enter the Coupon Code: At checkout, look for the “Coupon Code” or “Promo Code” field. Enter the applicable coupon code for your region or offer. Apply and Save: Click the “Apply” button, and the $300 discount should be deducted from your total. Double-check that the coupon has been successfully applied before finalizing your purchase. Complete Your Purchase: Once the coupon has been applied, proceed with the payment and enjoy your savings. Temu Coupon Code $100 OFF for Estonia [[acq615756]] For shoppers in Estonia, the Temu coupon code $100 OFF can be accessed using the code [[acq615756]]. This code is specifically tailored for Estonian customers and provides a considerable discount on purchases. How to Use the Estonia Coupon Code: Add your chosen items to your cart, ensuring that they meet any minimum purchase requirements. At checkout, enter [[acq615756]] in the coupon field. Click “Apply” to receive the $300 discount. Complete your purchase with the discount applied. Estonian shoppers can use this code to significantly reduce the cost of their orders, making Temu a fantastic option for those looking for deals on everyday essentials or big-ticket items. Temu Coupon Code $100 OFF for USA [[acq615756]] For customers in the USA, the Temu coupon code $100 OFF is available through the code [[acq615756]]. This region-specific code allows US-based customers to enjoy the same level of savings on their orders, giving them access to high-quality products at unbeatable prices. How to Use the USA Coupon Code: Add your desired products to the shopping cart, ensuring the total meets the coupon’s minimum purchase threshold. At checkout, input [[acq615756]] in the designated coupon field. Hit “Apply,” and the $300 discount will be reflected in your order total. Proceed to finalize the transaction with the discount. US shoppers can take advantage of this coupon code to enjoy substantial savings on a wide variety of products, from clothing and home goods to electronics and beauty items. Verified Temu Coupon Codes for August and September 2024 Temu coupon code $100 OFF — ([acq615756]) $100 OFF Temu Coupon code — ([acq615756]) $100 OFF Temu coupon code — ([acq615756]) Flat $100 OFF Temu exclusive code — ([acq615756]) Temu 90% Discount Code — ([acq615756]) Temu $100 OFF coupon code — ([acq615756]) Benefits of Using Temu Coupon Codes There are several benefits to using Temu coupon codes, especially high-value ones like the $100 OFF promotion: Save on Big Purchases: These high-value coupon codes are ideal for larger purchases, significantly reducing your total out-of-pocket costs. Access to Quality Goods at Lower Prices: Temu offers a wide range of products across different categories, and coupon codes help make these products even more affordable. Easy to Use: Applying a coupon code is straightforward and user-friendly, allowing shoppers to quickly enjoy discounts without any hassle. Exclusive Region-Based Offers: As seen with the Estonia and USA codes, Temu offers region-specific deals, allowing shoppers in different parts of the world to enjoy tailored savings. Important Considerations When Using Temu Coupon Codes Before using any coupon code, including the Temu coupon code $100 OFF [[acq615756] or [acq615756]], keep in mind the following: Expiration Dates: Always check the validity of the coupon code. Most codes have expiration dates, and expired codes will not work. Minimum Purchase Requirements: Many high-value coupons require a minimum purchase amount to qualify for the discount. Ensure your cart total meets this requirement before attempting to apply the code. Product or Category Exclusions: Some coupon codes may only apply to specific product categories or may exclude certain items, such as sale items or special collections. One-Time Use: Many promo codes, especially high-value ones like $100 OFF, are often limited to one-time use per customer. Be sure to use them wisely. Temu coupon code 2024 for existing customers reddit [[acq615756]] Temu coupon code 2024 for existing customers usa [[acq615756]] Temu coupon code 2024 for existing customers free shipping [[acq615756]] Temu coupon code 2024 for existing customers first order [[acq615756]] Temu coupon for existing customers [[acq615756]] Temu coupon code 2024 for existing customers September [[acq615756]] Temu coupon code 40 off [[acq615756]] Temu coupon $100 OFF for existing customers [[acq615756]] Temu coupon code 40 off first time user [acq615756] Temu coupon code 40 off free shipping [acq615756] Temu existing user coupon code 2024 [acq615756] Temu 10% off code [acq615756] Temu coupon wheel [acq615756] 50 Off Temu [acq615756] Code Temu [acq615756] Free Temu codes [acq615756] Temu coupons for returning customers [acq615756] Temu coupons - [acq615756] Temu coupon code first order reddit [acq615756] Temu coupon code first order free shipping [acq615756] Temu coupon code 2024 for existing customers [acq615756] Temu coupon codes for existing users [acq615756] Temu coupon code 40 off [acq615756] Temu coupon $100 OFF [acq615756] Free Temu codes [acq615756] Final Thoughts The Temu coupon code $100 OFF [[acq615756] or [acq615756]] is a fantastic opportunity for shoppers to make significant savings on their purchases. Whether you’re shopping from Estonia or the USA, offers substantial discounts that can help you get more value for your money. By taking advantage of these promo codes, you can shop confidently, knowing you’re unlocking the best possible deals on the items you love. be sure to check the terms and conditions associated with each coupon code, and happy shopping!
Last updated: 2024-10-26
Post by thn-power on Updating OPC UA Core Nodeset on PLS
CODESYS Forge
talk
(Post)
Hi After much trail and error I think I found the root cause to my OPC UA problem. The problem is that I cannot manage to build and download a program with a a custom OPC UA Information model. We use a Weidmueller WL2000 PLS, but the problem also exsist on the Win V3 PLC. Our custom information model is based on the latest versions of the OPC UA Core Nodeset v 1.05.03 (2023-09-20) and UA/DI nodeset 1.04.0 (2022-11-03) Those nodesets are installed in the Codesys Information Model Repository (3.5.19.6) However, when trying to build I get the following error. [ERROR] Untitled1: Communication Manager [Device: PLC Logic: Application]: The information model http://opcfoundation.org/UA/ is required by http://bos.org/ with a minimal publication date from 15.12.2023 but the device has only a model from 15.09.2021 installed. Probably the information model from 15.09.2021 is missing in the information model repository. [ERROR] Untitled1: Communication Manager [Device: PLC Logic: Application]: The information model http://opcfoundation.org/UA/DI/ is required by http://bos.org/ with a minimal publication date from 03.11.2022 but the device has only a model from 09.03.2021 installed. Probably the information model from 09.03.2021 is missing in the information model repository. Build complete -- 2 errors, 1 warnings : No download possible I think the problem is that the UA Core nodeset is implemented in the PLC firmware (at least that in Siemens S7), and that only includes the "old" nodeset from 2021-09-21 etc. So the question is, how (or if?) can I transfer the new nodeset to the PLS? I have created separate Information models under Communication manager with the newer code nodesets (UA and DI). But it seems that the compiler does not recognize them being excising, neither in the Codesys IDE or on the PLC. Would have guessed that this is a common issue, sine many manufacturers use the latest versions of the OPC UA standard, and that it would be a solution to the problem.
Last updated: 2024-09-20
Post by andrej on Write to File on soft PLC winV3x64
CODESYS Forge
talk
(Post)
Hello all, I would like to store some data in text file. I use the soft PLC Win V3x64, on Windows 10. I use the SysFile Library 3.5.17.0. If I store the file directly in the in the directory of the PLC i.e. in '/CODESYSControlWinV3x64/E1FA7ABE/PlcLogic/LogAU.txt' the file is correctly filled with the data. However, If I use an absolute path to a different directory no data is stored in the respective file. Despite the fact that the respective file exists and the Filehandler is correctly opened (see in picture _fdSysFHandle <> -1). // sFileName : STRING := 'LogAU.txt'; // STORES FILE IN ../CODESYSControlWinV3x64/../PlcLogic/LogAU.txt' sFileName : STRING := 'C/Temp/LogAU.txt'// DOES NOT WORK --------------------- // FILE DESCRIPTOR _fdSysFHandle := SysFile.SysFileOpen( szFile:= sFileName,am:= SysFile.AM_APPEND,pResult := ADR(_Result)); Does some have an idea where the problem is, resp. how I can get store a file in an arbitrary directory. Thanks a lot and kind regards Andreas
Last updated: 2023-10-24
Post by nmcc on Viewing PDF in WebBrowser Visual Element
CODESYS Forge
talk
(Post)
I am trying to show a PDF in a WebBrowser element. I have the file saved to the drive of the HMI/PLC. I am linking it in the URL parameter of the WebBrowser using the following directory link. 'http://localhost:8080/$$sdcard$$/FileName.pdf'. This allows for the program to download without any errors. When I navigate to that screen it is just a white box and nothing shows. I attempted putting the same link in the show parameter and I get a loading icon on my cursor when monitoring the HMI with my PC. Any help is appreciated. Thank you.
Last updated: 2024-02-29
Post by mani-i4point0 on Issue with WebVisu on Raspberry PI
CODESYS Forge
talk
(Post)
Hi, I am running Codesys Runtime by purchasing 'Codesys control for raspberry pi MC SL', I am trying to use the Variables from my GVL's. Few of the variables used as a Pushbutton form the Visualization. These 'BOOL' Variable getting unlatched automatically even though there is no write function in the Overall project. All of them are 'Read' functions, at the same time few other BOOL variable behaviors are seems to be fine. I have tried, clean all and download, serval time restarted the hardware. Happy to share any any information. Your input to resolve this issue would be highly appriciated. Version Details: codesyscontrol 4.8.0.0, armhf codesyscontrol based on SDK 3.5.19.0
Last updated: 2024-03-20
Post by mondinmr on Why SysPipeWindows is not implemented in RTE?
CODESYS Forge
talk
(Post)
This library would be very useful for IPC communications. Using a UDP socket on localhost is unpredictable, as with slightly loaded machines it does not even guarantee packet delivery locally. Using TCP creates a lot of overhead. Message named pipes would be an excellent solution for Windows RTE. On Linux, since the release of the extension package, there is no issue, as it is sufficient to develop a component. However, although now 90% of our clients understand that Linux runtimes are better in every way compared to Windows RTE, especially from the security aspect (Not in kernel space) and the issues with Windows updates, 10% stubbornly insist (sometimes for trivial commercial reasons) on using Windows. Managing IPC with circular buffers in shared memory is quite ugly, or rather really ugly and unaesthetic. In the manuals, I saw the SysPipeWindows libraries, so I decided to test them, but unfortunately, I noticed that they are not implemented for RTE devices. Technically, I could try to open them as regular files, but SysFileOpen returns 16#27 or 16#39 depending on how I set the name (direction of the slashes). Here is the code to create shared memory and named pipes. Shared memory work great, named pipes no! #ifdef Q_OS_WIN32 SECURITY_ATTRIBUTES sa; SECURITY_DESCRIPTOR sd; InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION); SetSecurityDescriptorDacl(&sd, TRUE, NULL, FALSE); sa.nLength = sizeof(SECURITY_ATTRIBUTES); sa.lpSecurityDescriptor = &sd; sa.bInheritHandle = FALSE; const wchar_t* name = L"Global\\ShmTest"; HANDLE hMapFile = CreateFileMapping( INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, sizeof(SharedData), name); if (hMapFile == NULL) { qCritical("Error creating shared memory"); return 1; } data = static_cast<SharedData*>(MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, sizeof(SharedData))); if (data == NULL) { qCritical("Error mapping shared memory"); return 1; } HANDLE hPipe = CreateNamedPipe( TEXT("\\\\.\\pipe\\MyPipe"), PIPE_ACCESS_DUPLEX, PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT, PIPE_UNLIMITED_INSTANCES, 1024 * 1024, 1024 * 1024, NMPWAIT_USE_DEFAULT_WAIT, &sa); if (hPipe == INVALID_HANDLE_VALUE) { qCritical("Error creating named pipe"); return -1; } if (!ConnectNamedPipe(hPipe, NULL)) { qCritical("Error connecting to named pipe"); return -1; } checkPipe(hPipe); #endif
Last updated: 2024-02-02
Post by fajean on CODESYS control on RPi starts, shortly runs, then exits
CODESYS Forge
talk
(Post)
I have a Raspberry Pi 4 we have been using for years to run CODESYS for development purposes. I recently have had to re-install the OS (Raspberry OS lite). The only change to the default configuration is not creating the "pi" user during install. I (apparently successfully) installed the 4.10.0.0 control on the Raspberry Pi. We have licences on a dongle. I am able to start the control. systemctl status shows it as running for a little while (exactly, precisely 30 seconds as per my tests, every time), then it becomes exited. I can restart the control, and the same thing happens again. Every time. In the brief moments it is running, I can log in to the PLC. Working fast and restarting the control many times, I have been able to configure users. I have been able to download my application. I have been able to run the application, and stop on a breakpoint. I have been able to connect with the licence manager and confirm the dongle is detected and licences are listed as OK. I see nothing wrong until the service just exits. I have found nothing in the logs. It is like the runtime just terminates with no error code or message after exactly 30 seconds. Any help would be appreciated.
Last updated: 2024-06-13
Post by arundara on Variable Sync Issue In Soft Plc Redundancy
CODESYS Forge
talk
(Post)
Hello, I was trying to create a redundancy POC for our application where we read data from few modbus tcp devices. As there is a limitaion that modbus tcp device support only for single master device, we wanted to test how the variable sync happens in redundancy mode. For that i have used the redundancy sample code added a variable "b" under a condition. What i observed was while active controller is running, if passive controller is powerup, passive controller is able to sync all the data configured for redundacny. But after that the variable data which resided under a condition is not synching from active to passive controller. I have attached the image where i have highlighter the variable. Can some help me to understand how redundacny work in codesys soft plc and if there is a solution to sync variable which are under condition, please explain the same or suggestion to achieve the same. Hardware - Raspberry Pi (2 qty) Redundancy licence used - yes in both controllers. Codesys runtime - 4.9.0.0 Codesys software version - V3.5 SP19 if i have posted this question in wrong section, please do let me know in whcih section i have to post this question.
Last updated: 2023-12-01
Post by dtamm on How to read string from CharBufferPtr?
CODESYS Forge
talk
(Post)
I am trying to implement a mechanism to send alarm SMS. For this, I have created an Alarm Class with a Notification Action which calls a POU. This POU implements IAlarmNotifiable making it selectable in the Alarm Class configuration. IAlarmNotifiable has an Execute method which is called by the alarm class. Now, I want to extract the alarm message of the triggered alarm. The Execute method comes with a VAR_INPUT itfAlarm: AlarmManager.IAlarm which supplies a method called GetMessage. The help text says: Returns the message text, that has been configured for the alarm. The result is a pointer to the buffer, where the message text is stored The type of the result is CharBufferPtr, and at some place I read that it can be interpreted as a pointer to string. But I cannot manage to extract the alarm message, all I get are numbers. I have tried the following: psAlarmText := itfAlarm.GetMessage(__SYSTEM.TYPE_CLASS.TYPE_STRING)^; sAlarmText := TO_STRING( itfAlarm.GetMessage(__SYSTEM.TYPE_CLASS.TYPE_STRING)^ ); So how do I get access to the alarm message as clear text? (In this case, "Larm 1")
Last updated: 2024-02-21
Post by trusty-squire on CNC - How to manipulate SMC_GeoInfo objects
CODESYS Forge
talk
(Post)
I have an application using CNC GCode interpolation, but I need to modify the GCode provided to the PLC based on certain parameters. I am currently attempting to modify the SMC_GeoInfo objects in the SMC_OutQueue using the code below. Note that all the other code is pretty standard and works fine, but when I add the below it errors. PROGRAM TEST VAR fbReadCncFile : SMC_ReadNCFile2; fbCncInterpreter : SMC_NCInterpreter; arrCncInterpreter : ARRAY[1..99] OF SMC_GeoInfo; pGeoInfo: POINTER TO SMC_GeoInfo; giGeoInfo: SMC_GeoInfo; // ... END_VAR // ... Some code here in order to read CNC file using SMC_ReadNCFile2 and provide to SMC_NCInterpreter pGeoInfo := SMC_GetObj(poq:=ADR(fbCncInterpreter.poqDataOut), n:=1); IF pGeoInfo <> 0 THEN giGeoInfo := pGeoInfo^; // Do some manipulation here, then update the queue at the same position MC_SetObj(poq:=ADR(fbCncInterpreter.poqDataOut) , n:=0 , pgi:=ADR(giGeoInfo) ); END_IF It throws an error when I get to the line giGeoInfo := pGeoInfo^; Error: EXCEPTION [AccessViolation] occured: App=[Sim.Device.Application], Task=[PathTask] How do I use SMC_GetObj and access the data? It creates a pointer with the value as shown in the photo, but all the dereferenced values say dereference of invalid pointer.
Last updated: 2024-07-26
To search for an exact phrase, put it in quotes. Example: "getting started docs"
To exclude a word or phrase, put a dash in front of it. Example: docs -help
To search on specific fields, use these field names instead of a general text search. You can group with AND
or OR
.