Post by gatto on warning C0195
CODESYS Forge
talk
(Post)
Good morning dear codesys users. I'm using 3.5.20.40 and I get this warning C0195 when I assign an initial value to xyz. However, if I do it on a single byte (abc), it doesn't display any warning. Why? VAR_GLOBAL abc : BYTE := 100 ; xyz : ARRAY [1..10] OF BYTE := [10(100)] ; END_VAR
Last updated: 2025-11-20
Post by yohayr on Access Violation sherd memory
CODESYS Forge
talk
(Post)
Hi, once in a while I get an Access Violation exception in Sherd memory pointer. the strange thing is that I protect the pointer dereference and I get this exception 1 line after the protection. I added photos of the exception can someone tell me what is that about?
Last updated: 2025-11-25
Post by yohayr on Access Violation sherd memory
CODESYS Forge
talk
(Post)
Hi, once in a while I get an Access Violation exception in Sherd memory pointer. the strange thing is that I protect the pointer dereference and I get this exception 1 line after the protection. I added photos of the exception can someone tell me what is that about?
Last updated: 2025-11-25
Post by elizaduke92 on Temu Coupon Code 70% Off [acu639380] October 2024
CODESYS Forge
talk
(Post)
Are you ready to save big with the Temu coupon code 70% off? This incredible offer allows you to explore an array of products at unbeatable prices, making your shopping experience more enjoyable. The acu639380 Temu coupon code is designed to maximize benefits for shoppers in the USA, Canada, and European nations. Whether you’re a new user or a seasoned shopper, this code opens the door to exceptional savings. Looking for the latest deals? Our Temu coupon code 2024 for existing customers and the Temu 70% discount coupon can help you find fantastic bargains, ensuring you never miss a great deal. Dive into this article to discover how to make the most of these amazing offers! What Is The Temu Coupon Code 70% Off? The Temu coupon 70% off is a fantastic opportunity for both new and existing customers to enjoy significant discounts on a wide range of products. By utilizing the 70% off Temu coupon code, you can unlock remarkable savings on your purchases. Here are the key benefits of using the acu639380 coupon code: Up to 70% off for new users: Enjoy an incredible discount on your first purchase, making it easy to try Temu's extensive product selection. 70% extra off for existing users: Loyal customers can also take advantage of this offer, ensuring everyone benefits from amazing discounts. Flat $100 off for new Temu users: Kickstart your shopping journey with a generous $100 discount, providing even more value. $100 coupon pack for multiple uses: With this feature, you can spread your savings over several purchases, maximizing the use of your coupon. $100 flat discount for new Temu customers: This significant savings opportunity makes it easier for new users to explore Temu's offerings. Extra $100 off promo code for existing customers: Returning users will love the added savings, making it worthwhile to continue shopping at Temu. $100 coupon for USA/Canada/European users: This code is designed specifically to cater to shoppers in these regions, enhancing their shopping experience. Temu Coupon Code 70% Off For New Users New users have a unique advantage when they use our coupon code on the Temu app. The Temu coupon 70% off offers an excellent chance to make your first purchase without breaking the bank. Here’s what new users can gain with the acu639380 code: Flat 70% discount for new users: This fantastic offer means your first order is significantly reduced, helping you save more. $100 coupon bundle for new customers: Enjoy a special bundle that amplifies your shopping experience right from the start. Up to $100 coupon bundle for multiple use: Use this bundle across various products, making your shopping more flexible. Free shipping to 68 countries: New users can benefit from free shipping, ensuring that your items arrive without extra charges. Extra 40% off on any purchase for first-time users: Combine this with your first-order discount to save even more. How To Redeem The Temu 70% Off Coupon Code For New Customers? Using the Temu 70% off coupon code is simple! Follow these steps to redeem your Temu 70 off coupon code: Download the Temu App: Install the app on your device or visit the Temu website. Create an Account: Sign up as a new user to access exclusive deals. Browse Products: Shop for your desired items and add them to your cart. Enter Coupon Code: On the checkout page, input acu639380 in the designated coupon code field. Enjoy Your Savings: Review your order and complete your purchase with the applied discount! Temu Coupon Code 70% Off For Existing Users Existing users are also in for a treat with the acu639380 coupon code on the Temu app. The Temu 70 off coupon code allows loyal customers to continue enjoying great savings. Here are the perks available for existing users: 70% discount for existing Temu users: This fantastic offer ensures that returning customers still receive significant discounts. A $100 coupon bundle for multiple purchases: Ideal for those who love to shop frequently, this bundle helps maximize savings over time. Free gift with express shipping all over the USA/Canada: Enjoy a surprise gift with your order, plus quick delivery options. Extra 30% off on top of existing discount: Stack your savings for an even better deal on your purchases. Free shipping to 68 countries: Just like new users, existing customers benefit from free shipping, enhancing their shopping experience. How To Use The Temu Coupon Code 70% Off For Existing Customers? Redeeming your Temu coupon code 70 off as an existing customer is straightforward! Here’s how to use the Temu discount code for existing users: Log in to Your Account: Access your Temu account on the app or website. Shop Your Favorite Products: Browse the extensive catalog and add items to your cart. Go to Checkout: When ready to purchase, proceed to the checkout page. Enter the Coupon Code: In the coupon code box, enter acu639380 to apply your discount. Complete Your Order: Finalize your order with the applied savings, and enjoy your purchase! How To Find The Temu Coupon Code 70% Off? Finding the Temu coupon code 70% off first order is easy! One of the best ways to get verified and tested coupons is by signing up for the Temu newsletter. Additionally, keep an eye on Temu’s social media pages for the latest promotions and discounts. You can also find the latest and working Temu coupon codes by visiting trusted coupon sites that offer regular updates on available deals. How Temu 70% Off Coupons Work? The Temu coupon code 70% off first time user works by providing significant discounts on your purchases. When you enter the coupon code at checkout, it reduces the total amount, allowing you to enjoy remarkable savings. This system is designed to incentivize both new and existing customers to shop more frequently. Each code offers different benefits, making it a versatile option for everyone. How To Earn 70% Off Coupons In Temu As A New Customer? You can easily earn the Temu coupon code 70% off by taking advantage of promotional offers available to new users. By signing up for an account and subscribing to their newsletter, you’ll receive exclusive access to discounts like the Temu 70 off coupon code first order. This approach not only helps you save on your initial purchase but also keeps you informed about ongoing deals and promotions tailored for new shoppers. What Are The Advantages Of Using Temu 70% Off Coupons? The Temu 70% off coupon code legit is not just about discounts; it’s a gateway to an enhanced shopping experience. Here’s a quick look at the advantages of using our coupon code on the Temu app and website: A 70% discount on the first order. A $100 coupon bundle for multiple uses. A 70% discount on popular items. 70% off for existing Temu customers. Up to 70% off in selected items. A free gift for new users. Free delivery to 68 countries. Temu Free Gift And Special Discount For New And Existing Users Using our Temu 70% off coupon code unlocks a treasure trove of benefits for both new and existing users. Here’s how the 70% off Temu coupon code can elevate your shopping experience: 70% discount for first order: New users can take advantage of this incredible offer right away. Extra 30% off on any item: Maximize your savings with additional discounts. Free gift for new Temu users: Enjoy a special surprise alongside your first purchase. Up to 70% discount on any item on the Temu app: Shop across categories and find amazing deals. Free gift with free shipping in 68 countries including the USA and UK: Enjoy seamless shopping with added perks. Pros And Cons Of Using Temu Coupon Code 70% Off When considering the Temu coupon 70% off code, it’s essential to weigh the pros and cons: Pros Significant savings on your first order. Multiple uses for loyal customers. Free shipping to various countries. Access to exclusive offers and bundles. Free gifts for new and returning users. Cons Coupons may have restrictions on certain items. Some promotions might expire quickly. Limited availability for specific geographical locations. Terms And Conditions Of The Temu 70% Off Coupon Code In 2024 Understanding the Temu coupon code 70% off free shipping conditions is crucial for maximizing your savings. Here are the important terms: The coupon code doesn’t have any expiration date, so you can use it anytime. Valid for both new and existing users in 68 countries worldwide. No minimum purchase requirements for using our Temu coupon code. Certain items may be excluded from the discount. Final Note In conclusion, the Temu coupon code 70% off is your ticket to amazing savings on a wide variety of products. Whether you’re a new or existing customer, there’s something for everyone with this fantastic offer. Don’t miss out on the incredible savings opportunities provided by the Temu 70% off coupon—start shopping today and enjoy all the benefits that come with it! FAQs Of Temu 70% Off Coupon 1. Can I use the Temu coupon code more than once? Yes, the Temu coupon code 70% off can be used multiple times depending on the specific terms associated with your account. How long is the coupon valid? The Temu coupon code 70% off does not have an expiration date, allowing you to use it whenever you want. Is free shipping included with the coupon? Yes, the coupon allows for free shipping to 68 countries, enhancing your shopping experience. Are there any exclusions for the coupon? Certain items may be excluded from the discount; please check the terms before applying the coupon. How can I find the latest Temu coupons? You can sign up for the Temu newsletter or follow their social media for updates on the latest offers and promotions.
Last updated: 2024-10-26
Post by gmau on Station 'xyz': AR aborted by device (alarm.ind): AR consumer DHT expired
CODESYS Forge
talk
(Post)
Hello, I am writing to You with the problem of Profinet communication in my Codesys V2.5 SP21 project working on Codesys Control RTE V3 x64 device. I have implemented multiple Profinet devices in the network, the Profinet itself is configured properly, based on the hardware and software parameters of the industrial PC (Windows 10 IoT). My Profinet network contains such Profinet devices as a robot, IO-Link master with some devices on it, IO modules, safety, vision sensor (the configuration is attached to this topic). Once every few hours, sometimes more often, sometimes not even once a day, the error show up at one, two or a few random modules at the same time, every one is the same: "Station 'xyz': AR aborted by device (alarm.ind): AR consumer DHT expired". The communication is then lost with that module, but it is up instantly. It is not such a problem when it comes to regular IOs, but with safety or rotation table, it causes errors and machine stops. I have tried multiple solution based on any forum suggestions, manuals, etc., but it is still happening. Mabye when I turned on the Watchdog for this communication, it is happening less times, but still, I could not turning up the Watchdog parameters at the expense of cycle time of the process. The same is with Send Clock, Reduction and DHT. I have one of the ethernet port on the PC configured with CmpEt1000Drv driver. The card itself is Intel Ethernet Connection I219-LM. These devices are connected to one EKI-2728-NI-A Profinet switch (it was changed from the standard non Profinet one, but still nothing has changed). As I said ealier, I am attaching all the configurations for each device and the communication itself - if any of You had the same problems or have any ideas what could be the cause, I would be much gratefull for any help. For now I am out of ideas, if You have any additional question, please ask. Sincerely, PF
Last updated: 2025-09-04
Post by simotion on Axis variable indicating modulo of finite setting
CODESYS Forge
talk
(Post)
What variable of the axis indicates it is a modulo of finite axis? I want to check that in the code, to adopt my motion code between the two types.
Last updated: 2023-11-24
Post by timvh on Case Function - Multiple Conditions, Is it possible?
CODESYS Forge
talk
(Post)
This is not possible. Possible solution could be: CASE var1 OF 10: CASE var2 OF 10:; 20:; END_CASE 20: CASE var2 OF 10:; 20:; END_CASE ELSE ; END_CASE
Last updated: 2024-11-05
Post by smartcoco on OPC server in "Communication manager"
CODESYS Forge
talk
(Post)
I don't recommend using 'Communication Manager'. Under 'Communication Manager', the 'NodeId' type of OPC UA can only be of type 'OPAQUE'. This will bring compatibility issues to the development of the upper computer.
Last updated: 2025-01-24
Post by rushikeshsonone on Get the list of all languages from TextList or from font settings of visualmanager
CODESYS Forge
talk
(Post)
Hi, I want list of all languages added in text list during runtime. I check with various object call but no luck. Can you help me with that? Note - I can not using Textlistutil, need other solution
Last updated: 2025-03-04
Post by ivanmaltar on Codesys Control shutdown
CODESYS Forge
talk
(Post)
Hello, the problem was that the 4.6.0.0 Codesys control was not compatible with S versions of the RevPi controller because of the becuase of the Compute Module 4S. For those controllers, 4.8.0.0 version must be used.
Last updated: 2024-03-25
Post by munwar on Temu Coupon code^ 40 Off 👉 "[acq794628]" | 👈 ^^October 2024 New and Existing Customers
CODESYS Forge
talk
(Post)
Temu Coupon code^ 40 Off 👉 "[acq794628]" | 👈 ^^October 2024 New and Existing Customers New users receive a $40 discount on orders over $100 Use the Temu Coupon code [acq794628] during checkout to get Temu Coupon $100 off For New Users. You can save $100 off your first order with the coupon code available for a limited time only. Extra 30% off for new and existing customers + Up to 90% off & more. Temu coupon codes for New users- [acq794628] Temu discount code for New customers- [acq794628] Temu $100 coupon code- [acq794628] what are Temu codes- acq794628 does Temu give you $100- [acq794628] Yes Verified Temu coupon code August 2024- {acq794628} Temu New customer offer {acq794628} Temu discount code 2024 {acq794628} 100 off coupon code Temu {acq794628} Temu 100% off any order {acq794628} 100 dollar off Temu code {acq794628} Temu coupon $100 off for New customers There are a number of discounts and deals shoppers can take advantage of with the Teemu Coupon Bundle [acq794628]. Temu coupon $100 off for New customers"acq794628" will save you $100 on your order. To get a discount, click on the item to purchase and enter the code. You can think of it as a supercharged savings pack for all your shopping needs Temu coupon code 80% off – [acq794628] Free Temu codes 50% off – [acu600079] Temu coupon $100 off – [acq794628] Temu buy to get $39 – [acq794628] Temu 129 coupon bundle – [acq794628] Temu buy 3 to get $99 – [acq794628] Exclusive $100 Off Temu Coupon Code Temu $100 Off Coupon Code : (acq794628) Temu Coupon Code $100 Bundle :(acq794628) Free Gift On Temu : (acq794628) Temu $100 off coupon code for Exsting users : (acq794628) Temu coupon code $100 off Temu 90% OFF promo code "acq794628" will save you $100 on your order. To get a discount, click on the item to purchase and enter the code. Yes, Temu offers $100 off coupon code “acq794628” for first time users. You can get a $100 bonus plus 30% off any purchase at Temu with the $100 Coupon Bundle at Temu if you sign up with the referral code [acq794628] and make a first purchase of $100 or more. Temu coupon code 100 off-{acq794628} Temu coupon code -{acq794628} Temu coupon code $100 off-{acq794628} kubonus code -{acq794628}
Last updated: 2024-10-26
Post by chirag on About byte swap and convert into 16 bits
CODESYS Forge
talk
(Post)
Hello, I have %QB0 8 high bits and %QB1 8 low bits . How can i swap bits %QB0 and %QB1 for requirment positions in a 16-bit value ? after that i need %QB0 and %QB1 in to 16bits . For that, i need help. Please see attached pictures for your reference. Thanks in advance.
Last updated: 2023-12-04
Post by hassaank on CODESYS V3+ WAGO PFC200+ MODBUS RTU
CODESYS Forge
talk
(Post)
Hi everyone, I’m new to CODESYS and Wago devices, and I’m trying to set up Modbus RTU communication. I have a Wago PFC200 (8110) and a 750-653 RS485 module, and I want to read data from an energy meter using Modbus RTU. Thanks in advance for your help!
Last updated: 2025-03-17
Post by glutenaron on Safety drive EL6900 and mitsubishi
CODESYS Forge
talk
(Post)
Last updated: 2025-05-20
Post by giackanto on Eoe issues with Windows and Linux
CODESYS Forge
talk
(Post)
Last updated: 2023-12-20
Post by giackanto on Eoe issues with Windows and Linux
CODESYS Forge
talk
(Post)
Last updated: 2023-12-20
Post by markus-huber on CodeSys SVN doesn't work
CODESYS Forge
talk
(Post)
I installed CodeSys V3.5 SP9 for HY-eVision2 1.18.0.0 and activated the License Keys for SVN and noticed that the "SVN" doesn't pop up when i go on Menu - Project. For some reason the SVN works on CodeSys SP10. I already deinstalled all CodeSys Applications and installed them again but it's the same. Maybe the problem already occurred and someone could help me.
Last updated: 2024-02-20
Post by mozed on Windows 11 and SP17
CODESYS Forge
talk
(Post)
Last updated: 2024-06-12
Post by kuegerls on SysProcessExecuteCommand2 and CANopen Device
CODESYS Forge
talk
(Post)
4.10.0.0
Last updated: 2024-06-24
Post by kuegerls on SysProcessExecuteCommand2 and CANopen Device
CODESYS Forge
talk
(Post)
4.10.0.0
Last updated: 2024-06-24
Runtime 🇬🇧
CODESYS Forge
talk
(Discussion)
Related questions to SoftPLCs e.g. Raspberry Pi, Beaglebone, IoT2000 and other platforms
Last updated: 4 days ago
Motion 🇬🇧
CODESYS Forge
talk
(Discussion)
Realizing single or multi axis motion control, CAM, CNC and Robotic applications
Last updated: 3 hours ago
Post by francesco86 on Script python for write in a file Project information
CODESYS Forge
talk
(Post)
Dear all, My python script can read a Codesys project and save in file the different POU, but the problem is that I don't able to read the project info from the obj list. Following of this message there is my python script. Can you help my? Best regards Francesco # encoding:utf-8 # We enable the new python 3 print syntax from __future__ import print_function import os import shutil import time import sys from datetime import datetime print("--- Saving files in the project: ---") print("sys.argv: ", len(sys.argv), " elements:") for arg in sys.argv: print(" - ", arg) if (len(sys.argv)>1): folderExportName = sys.argv[1] print(" folderExportName: ", folderExportName) exportPath = sys.argv[2]+ sys.argv[3]+ "\\"+ sys.argv[1] print(" File path: ", exportPath) # git has_repo=False #save_folder=r'E:\Tmp\ControlPlugins\ControlPlugins\Export' save_folder = exportPath if not os.path.exists(save_folder): os.makedirs(save_folder) else: a=os.listdir(save_folder) for f in a: if not f.startswith("."): sub_path= os.path.join(save_folder,f) if os.path.isdir(sub_path): shutil.rmtree(sub_path) else: os.remove(sub_path) elif f==".git": has_repo=True info={} type_dist={ '792f2eb6-721e-4e64-ba20-bc98351056db':'pm', #property method '2db5746d-d284-4425-9f7f-2663a34b0ebc':'dut', #dut 'adb5cb65-8e1d-4a00-b70a-375ea27582f3':'lib', #lib manager 'f89f7675-27f1-46b3-8abb-b7da8e774ffd':'m', #method no ret '8ac092e5-3128-4e26-9e7e-11016c6684f2':'act', #action '6f9dac99-8de1-4efc-8465-68ac443b7d08':'pou', #pou '6654496c-404d-479a-aad2-8551054e5f1e':'itf', #interface '738bea1e-99bb-4f04-90bb-a7a567e74e3a':'', #folder 'ffbfa93a-b94d-45fc-a329-229860183b1d':'gvl', #global var '5a3b8626-d3e9-4f37-98b5-66420063d91e':'prop', #property '2bef0454-1bd3-412a-ac2c-af0f31dbc40f':'tl', #textlist '63784cbb-9ba0-45e6-9d69-babf3f040511':'gtl', #global textlist '225bfe47-7336-4dbc-9419-4105a7c831fa':'dev', #device 'ae1de277-a207-4a28-9efb-456c06bd52f3':'tc', #task configuration 'f8a58466-d7f6-439f-bbb8-d4600e41d099':'m', #method with ret '261bd6e6-249c-4232-bb6f-84c2fbeef430':'gvl', #gvl_Persistent '98a2708a-9b18-4f31-82ed-a1465b24fa2d':'task', #task '085afe48-c5d8-4ea5-ab0d-b35701fa6009':'progInfo'#project information }; def save(text,path,name,tp): if not tp: tp='' else: tp='.'+tp+'.txt' with open(os.path.join(path,name+tp),'w') as f: f.write(text.encode('utf-8')) def print_tree(treeobj, depth, path): global info #record current Path curpath=path isfolder=False t='' #text tp='' #type # get object name name = treeobj.get_name(False) id = treeobj.type.ToString() if id in type_dist: tp = type_dist[treeobj.type.ToString()] #Print all type of objects #print("--Name: ", tp) else: info[id]=name if treeobj.is_device: deviceid = treeobj.get_device_identification() t = 'type='+str(deviceid.type) +'\nid=' +str(deviceid.id) + '\nver='+ str(deviceid.version) if tp == "progInfo": print("-- There is prog info, ", tp) print("-- It has textual declaration: , ", treeobj.has_textual_declaration) print("-- It has textual implementation: , ", treeobj.has_textual_implementation) print("-- It is folder: , ", treeobj.is_folder) print("-- It is children: , ", treeobj.get_children(False)) print("-- It is children len: , ", len(treeobj.get_children(False))) print("-- It is progInfo type: , ", type(treeobj.ScriptProject)) #for child in treeobj.get_children(False): # print_tree(child, depth+1,curpath) try: if treeobj.is_folder : #system.ui.prompt('folder:'+u, PromptChoice.YesNo, PromptResult.Yes) isfolder=true pass except: pass if treeobj.has_textual_declaration : t=t+'(*#-#-#-#-#-#-#-#-#-#---Declaration---#-#-#-#-#-#-#-#-#-#-#-#-#*)\r\n' a=treeobj.textual_declaration t=t+a.text if treeobj.has_textual_implementation: t=t+'(*#-#-#-#-#-#-#-#-#-#---Implementation---#-#-#-#-#-#-#-#-#-#-#-#-#*)\r\n' a=treeobj.textual_implementation t=t+a.text if treeobj.has_textual_declaration and not treeobj.has_textual_implementation: t=t+'(*#-#-#-#-#-#-#-#-#-#---NOT Implementation visible---#-#-#-#-#-#-#-#-#-#-#-#-#*)\r\n' if treeobj.is_task : exports=[treeobj] projects.primary.export_native(exports,os.path.join(curpath,name+'.task')) if treeobj.is_libman: exports=[treeobj] projects.primary.export_native(exports,os.path.join(curpath,name+'.lib')) if treeobj.is_textlist: treeobj.export(os.path.join(curpath,name+'.tl')) children = treeobj.get_children(False) if children or isfolder: if tp: curpath=os.path.join(curpath,name+'.'+tp) else: curpath=os.path.join(curpath,name) if not os.path.exists(curpath): os.makedirs(curpath) if t: save(t,curpath,name,tp) for child in treeobj.get_children(False): print_tree(child, depth+1,curpath) for obj in projects.primary.get_children(): print_tree(obj,0,save_folder) with open(os.path.join(save_folder,'ExportInfo.txt'),'w') as f: now = datetime.now() infTimeExecution = now.strftime("%Y-%m-%d %H:%M:%S") f.write("Export date and time: "+infTimeExecution + "\r\n" + str(info)) print("--- Script finished. ---") #system.ui.info('save ok') projects.primary.close()
Last updated: 2024-04-30
Post by francesco86 on Script python for write in a file Project information
CODESYS Forge
talk
(Post)
Dear all, My python script can read a Codesys project and save in file the different POU, but the problem is that I don't able to read the project info from the obj list. Following of this message there is my python script. Can you help my? Best regards Francesco # encoding:utf-8 # We enable the new python 3 print syntax from __future__ import print_function import os import shutil import time import sys from datetime import datetime print("--- Saving files in the project: ---") print("sys.argv: ", len(sys.argv), " elements:") for arg in sys.argv: print(" - ", arg) if (len(sys.argv)>1): folderExportName = sys.argv[1] print(" folderExportName: ", folderExportName) exportPath = sys.argv[2]+ sys.argv[3]+ "\\"+ sys.argv[1] print(" File path: ", exportPath) # git has_repo=False #save_folder=r'E:\Tmp\ControlPlugins\ControlPlugins\Export' save_folder = exportPath if not os.path.exists(save_folder): os.makedirs(save_folder) else: a=os.listdir(save_folder) for f in a: if not f.startswith("."): sub_path= os.path.join(save_folder,f) if os.path.isdir(sub_path): shutil.rmtree(sub_path) else: os.remove(sub_path) elif f==".git": has_repo=True info={} type_dist={ '792f2eb6-721e-4e64-ba20-bc98351056db':'pm', #property method '2db5746d-d284-4425-9f7f-2663a34b0ebc':'dut', #dut 'adb5cb65-8e1d-4a00-b70a-375ea27582f3':'lib', #lib manager 'f89f7675-27f1-46b3-8abb-b7da8e774ffd':'m', #method no ret '8ac092e5-3128-4e26-9e7e-11016c6684f2':'act', #action '6f9dac99-8de1-4efc-8465-68ac443b7d08':'pou', #pou '6654496c-404d-479a-aad2-8551054e5f1e':'itf', #interface '738bea1e-99bb-4f04-90bb-a7a567e74e3a':'', #folder 'ffbfa93a-b94d-45fc-a329-229860183b1d':'gvl', #global var '5a3b8626-d3e9-4f37-98b5-66420063d91e':'prop', #property '2bef0454-1bd3-412a-ac2c-af0f31dbc40f':'tl', #textlist '63784cbb-9ba0-45e6-9d69-babf3f040511':'gtl', #global textlist '225bfe47-7336-4dbc-9419-4105a7c831fa':'dev', #device 'ae1de277-a207-4a28-9efb-456c06bd52f3':'tc', #task configuration 'f8a58466-d7f6-439f-bbb8-d4600e41d099':'m', #method with ret '261bd6e6-249c-4232-bb6f-84c2fbeef430':'gvl', #gvl_Persistent '98a2708a-9b18-4f31-82ed-a1465b24fa2d':'task', #task '085afe48-c5d8-4ea5-ab0d-b35701fa6009':'progInfo'#project information }; def save(text,path,name,tp): if not tp: tp='' else: tp='.'+tp+'.txt' with open(os.path.join(path,name+tp),'w') as f: f.write(text.encode('utf-8')) def print_tree(treeobj, depth, path): global info #record current Path curpath=path isfolder=False t='' #text tp='' #type # get object name name = treeobj.get_name(False) id = treeobj.type.ToString() if id in type_dist: tp = type_dist[treeobj.type.ToString()] #Print all type of objects #print("--Name: ", tp) else: info[id]=name if treeobj.is_device: deviceid = treeobj.get_device_identification() t = 'type='+str(deviceid.type) +'\nid=' +str(deviceid.id) + '\nver='+ str(deviceid.version) if tp == "progInfo": print("-- There is prog info, ", tp) print("-- It has textual declaration: , ", treeobj.has_textual_declaration) print("-- It has textual implementation: , ", treeobj.has_textual_implementation) print("-- It is folder: , ", treeobj.is_folder) print("-- It is children: , ", treeobj.get_children(False)) print("-- It is children len: , ", len(treeobj.get_children(False))) print("-- It is progInfo type: , ", type(treeobj.ScriptProject)) #for child in treeobj.get_children(False): # print_tree(child, depth+1,curpath) try: if treeobj.is_folder : #system.ui.prompt('folder:'+u, PromptChoice.YesNo, PromptResult.Yes) isfolder=true pass except: pass if treeobj.has_textual_declaration : t=t+'(*#-#-#-#-#-#-#-#-#-#---Declaration---#-#-#-#-#-#-#-#-#-#-#-#-#*)\r\n' a=treeobj.textual_declaration t=t+a.text if treeobj.has_textual_implementation: t=t+'(*#-#-#-#-#-#-#-#-#-#---Implementation---#-#-#-#-#-#-#-#-#-#-#-#-#*)\r\n' a=treeobj.textual_implementation t=t+a.text if treeobj.has_textual_declaration and not treeobj.has_textual_implementation: t=t+'(*#-#-#-#-#-#-#-#-#-#---NOT Implementation visible---#-#-#-#-#-#-#-#-#-#-#-#-#*)\r\n' if treeobj.is_task : exports=[treeobj] projects.primary.export_native(exports,os.path.join(curpath,name+'.task')) if treeobj.is_libman: exports=[treeobj] projects.primary.export_native(exports,os.path.join(curpath,name+'.lib')) if treeobj.is_textlist: treeobj.export(os.path.join(curpath,name+'.tl')) children = treeobj.get_children(False) if children or isfolder: if tp: curpath=os.path.join(curpath,name+'.'+tp) else: curpath=os.path.join(curpath,name) if not os.path.exists(curpath): os.makedirs(curpath) if t: save(t,curpath,name,tp) for child in treeobj.get_children(False): print_tree(child, depth+1,curpath) for obj in projects.primary.get_children(): print_tree(obj,0,save_folder) with open(os.path.join(save_folder,'ExportInfo.txt'),'w') as f: now = datetime.now() infTimeExecution = now.strftime("%Y-%m-%d %H:%M:%S") f.write("Export date and time: "+infTimeExecution + "\r\n" + str(info)) print("--- Script finished. ---") #system.ui.info('save ok') projects.primary.close()
Last updated: 2024-04-30
Post by itsthefabs on (no subject)
CODESYS Forge
talk
(Post)
Hallo zusammen, ich nutze eine Wago 8212 als Modbus Client (in früheren Codesys Versionen hieß der Modbus Master) und habe einen weitere Wago 8212 als Modbus Server (früher Modbus Slave). Bisher habe ich für den Client den Funktionsblock FbMbMasterTcp aus der WagoAppPlcModbus-Library genutzt. Zukünftig würde ich das allerdings gerne über das Anhängen eines Modbus-Geräts am Ethernet-Knoten im Projektbaum realisieren. Zum besseren Verständnis habe ich ein Bild beigefügt. Der Modbus mit dem Server läuft auch. Kommt es allerdings zum Fehler des Modbus, z.B. kurzzeitig keine Verbindung oder timeout, wird der Fehler nicht automatisch quittiert. Ich muss dann manuell über den Status des Server-Knotens einen Button mit "Bestätigen" drücken. Im Betrieb kann ich mich aber nicht jedes Mal einloggen um einen Fehler zu quittieren. Gibt es hier irgend einen Trick, wie ich das aus dem Programm-Code quittieren kann? Vielen Dank schon einmal.
Last updated: 2025-02-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.