Post by eschwellinger on Bibliothek: floatingpointutils
CODESYS Forge
talk
(Post)
naja die compiled library hast du ja - du hast halt eine exception - und dann wirst du gefragt ob du das ganze Debuggen willst. Die offene Bibliothek wirst du nicht bekommen - daher würde ich so vorgehen: Dein Projekt hier mal anhängen so das man mal draufschauen was du genau aufrufst und wie.
Last updated: 2024-10-18
Post by lbartik on MPC predictive control
CODESYS Forge
talk
(Post)
Would this work? https://www.mathworks.com/hardware-support/codesys.html I'm also interested in real-world MPC and have no idea where to start. There is an exciting Python library that is also beyond my grasp: https://www.do-mpc.com/en/latest/index.html Step 1, get PhD(s). Step 2, get job in aerospace/robotics. Step 3, return 15 years later to share this knowledge?
Last updated: 2024-10-19
Post by jeroenaero on CodeSys Raspberry pi I2C driver not found
CODESYS Forge
talk
(Post)
yes i took the library from another forum: https://forge.codesys.com/forge/talk/Runtime/thread/f1400b71b6/, it is made for the ads1115 but the ads1015 is almost the same device with same adresses i only changed the divide value of the analog value, because thats the only difference between the ads1115 and ads1015.
Last updated: 2024-11-07
Post by shooxplc on How to call the same program from library and get the vars updated.
CODESYS Forge
talk
(Post)
Hi, I am writing to you today because I would like to create a library that would contain a program with its various subprograms, in my example "PLC_PRG" with "a", "aa", "aaa". But once the library is created as shown below: I would like to be able to drag and drop my folder as many times as I want (let's say I manage the same system multiple times). Once the drag and drop is done, we can see the second folder with the variables renamed successfully. As shown below: But my variables in CAD_1 remain the same as for CAD, so it's PLC_PRG instead of PLC_PRG_1, for example. Is there a solution to automate this? I wouldn't want to have to rename all my variables manually, considering that in the program where I want to do this, the number of variables is substantial. Lucas.
Last updated: 2023-08-23
Post by rjwkerkhof on IIot Libraries SL --> Web Socket Client SL Pong issue
CODESYS Forge
talk
(Post)
Dear all, I am developing a Web Socket Client in Codesys 3.5 using the Web Socket Client SL library to retrieve data from a third party. Connecting and reading works fine however after 40 seconds the connection gets interrupted by the server due to keepalive ping timeout. After discussion with third party it seems that the Web Socket Client SL library replys to the Ping request of the Web Socket server BUT does not add the "Application data" = 4 bytes in the body of the Pingframe to the Pongframe. Therefor the server does not recognize the Pongframe send by the Web Socket Client SL library and automatically disconnects. Is this a known issue with the libary or am I doing something wrong? Is there a workaround to add the 4 bytes manually to the Pongframe before replying it to the server? Thanks in advance, Roy
Last updated: 2024-04-09
Post by faceplant on CmpDynamicText unresolved references
CODESYS Forge
talk
(Post)
Hello! I am new to codesys so I am sorry if this is not the right place to ask this question. I am using codesys V3.5 SP20 Patch 1 + (64-bit) and a Groov EPIC PLC (GRV-EPIC-PR2). I am trying to build and deploy my application to the PLC, but when I log in I get 6 errors (codesys_error.png). It seems that the errors have to do with the CmpDynamicText system library which I have as version 3.5.20.0. I have tried to add CmpDynamicText to the ComponentManager section in the PLC's CODESYSControl.cfg file as described in this forum post and still hit the same error. I noticed that the library is grayed out in the library manager, which I think might be the issue. However I don't remember if it was grayed out before I encountered this issue. Please let me know if I can provide anymore info. Thank you!!!
Last updated: 2024-07-19
Post by annd on Migration von "CODESYS Control for PFC200 SL" zu WAGO FW26 "CODESYS V3.5.19.2"
CODESYS Forge
talk
(Post)
Ich hab's hinbekommen: Nach dem Controller Update hab ich ein neues Projekt gemacht und nur den PFC200(8212) eingefügt (es erscheint dann ein leerer Kbus und eine serielle Schnittstelle COM1). Dann hab ich mich am Controller eingeloggt und den Kbus (Rechtsklick: Geräte suchen) mit allen Modulen automatisch ergänzen lassen. Bei den leeren Modulen hab ich dann das E/A-Abbild in csv exportiert. Dasselbe hab ich bei meinem alten "PFC200 SL" Projekt gemacht. Und dann in Excel alle Variablennamen in die leeren csv kopiert und danach wieder im neuen Projekt importiert. Dann hab ich noch alle Programmblöcke, Tasks, Visualisierungen und auch Modbus TCP Master u. Slave und auch Modbus COM Port Master und Slave in das neue Projekt kopiert. Weiters hab ich alle notwendigen Bibliotheken im Bibliotheksverwalter eingefügt. Dann noch ein paar kleine Fehler korrigiert (ich musst einen anderen Block zum Lesen der Uhrzeit nehmen) bis ich das neue Projekt fehlerfrei übersetzen konnte. Dann konnte ich es auf den Wago Controller übertragen und direkt starten. Es sieht so aus, dass alles läuft. Gruß annD
Last updated: 2023-11-18
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 acc00 on Main Task cycle too long leading to PLC Fail
CODESYS Forge
talk
(Post)
I have 2 Wago PFC200 PLC, running with Runtime SP19 Patch 5, with the Redundant application. The PLC communicates as Modbus Master with at this moment 15 Modbus Slaves -later there will be 28 in total- (Drives, Power management units,...). These devices are connected in 2 rings (1 ring of Drives, 1 ring of Power Management units), with 2 Managed Moxa Switches being part of the ring. Each PLC is connected to one of these switches. The issue I'm encountering is that the Cycle time of the Active PLC goes very high when I'm closing the Drive ring (simulating an issue on one Cabinet supply, resulting in that one Drive shut down, which can happen on field quite often). As a result of this long cycle, the PLC fails and goes to Exception, and the Passive PLC does not take control of the system. A normal cycle is around 30ms for the Main task, and a few ms for the Ethercat task. When I monitor with Profiler, I see that in this Maximum Cycle, the main Task is only taking 13ms, so I'm not sure where the PLC is hanging for so long. Is the remaining cycle time the Redundant management/sync or something else? Thank you in advance.
Last updated: 2024-03-08
Post by paro on Modbus Client Request Not Processed
CODESYS Forge
talk
(Post)
Hi, Problem in your code is that you are not calling the ClientFb cyclic. Please look at the Example from CODESYS: https://forge.codesys.com/prj/codesys-example/modbus/home/Home/ Your code works if the client fb is called cyclic! IF NOT initDone THEN initDone := TRUE; // configure clientTcp clientTcp(aIPaddr:=Ethernet.IPAddress, uiPort:=502); // configure clientSerial clientSerial(iPort:=SysCom.SYS_COMPORT2, dwBaudRate:=SysCom.SYS_BR_115200, byDataBits:=8, eParity:=SysCom.SYS_EVENPARITY, eStopBits:=SysCom.SYS_ONESTOPBIT, eRtuAscii:=ModbusFB.RtuAscii.RTU); // configure clientRequestReadCoils_1 clientRequestReadCoils_1(rClient:=clientTcp, uiUnitId:=42, udiTimeout:=TO_UDINT(T#10MS)); // configure clientRequestWriteSingleRegister clientRequestWriteSingleRegister(rClient:=clientTcp, uiUnitId:=43, udiTimeout:=TO_UDINT(T#10MS)); // configure clientRequestReadCoils_2 clientRequestReadCoils_2(rClient:=clientTcp, uiUnitId:=44, udiTimeout:=TO_UDINT(T#10MS)); // configure clientRequestReadInputRegisters clientRequestReadInputRegisters(rClient:=clientTcp, uiUnitId:=44, udiTimeout:=TO_UDINT(T#10MS)); END_IF // call the client FB's clientTcp(); clientSerial(); // call client request FB's clientRequestReadCoils_1(rClient:=clientTcp, xExecute:=TRUE, uiStartItem:=2, uiQuantity:=3, pData:=ADR(aDataCoils_1[0])); // for more details see Example_TCP, especially ClientRequest control (xExecute, xDone, xError). IF clientRequestReadCoils_1.xDone THEN // get data from aDataCoils_1 ... END_IF clientRequestWriteSingleRegister(rClient:=clientTcp, xExecute:=TRUE, uiItem:=3, uiValue:=123); clientRequestReadCoils_2(rClient:=clientTcp, xExecute:=TRUE, uiStartItem:=2, uiQuantity:=3, pData:=ADR(aDataCoils_2[0])); clientRequestReadInputRegisters(rClient:=clientTcp, xExecute:=TRUE, uiStartItem:=16, uiQuantity:=3, pData:=ADR(aDataInputRegisters[0]));
Last updated: 2024-05-29
Post by budd7566 on Text size suddenly changed
CODESYS Forge
talk
(Post)
Iv been working with a Deep Sea Electronics DSE840 for about 6 months. I have a development version of my program working with a state machine and a basic gui interface. I went to implement CAN and suddenly the text on the gui on the controller is much larger than before. I could flash old versions of my project and the text was the correct size, but if i renamed the project file, the text displayed would be large. The visualization in CODESYS always shows the expected size, but not the controller. I did a fresh install of CODESYS and even a new project with only one text box, I cant get the text size on the controller to match what is displayed in codesys to match. Any advice?
Last updated: 2023-12-09
Post by timvh on Profinet fault with codesys control V3 - Receive packet error
CODESYS Forge
talk
(Post)
Are you using the Control Win SL (installed together with the development environment of CODESYS)? If yes, you might want to consider using the CODESYS RTE instead. This has real-time capabilities (running on separate core(s)). But to be able to use this, you have to install the CODESYS Ethernet driver for your network interface to be able to let the RTE access the network port also in realtime. See: https://store.codesys.com/en/codesys-control-rte-sl-bundle.html https://content.helpme-codesys.com/en/CODESYS%20Control/_rtsl_windows_rts_v3.html PS, I haven't tested this myself yet, but you could try to use the SetCommunicationState method of the Profinet controller to see if you can reset and start the bus communication: result := PN_Controller.SetCommunicationState(eRequestedState := DED.DEVICE_TRANSITION_STATE.START); PS, if you are located in the Netherlands or Belgium, we could also provide the license(s) for you.
Last updated: 2024-02-28
Post by timvh on Profinet fault with codesys control V3 - Receive packet error
CODESYS Forge
talk
(Post)
Are you using the Control Win SL (installed together with the development environment of CODESYS)? If yes, you might want to consider using the CODESYS RTE instead. This has real-time capabilities (running on separate core(s)). But to be able to use this, you have to install the CODESYS Ethernet driver for your network interface to be able to let the RTE access the network port also in realtime. See: https://store.codesys.com/en/codesys-control-rte-sl-bundle.html https://content.helpme-codesys.com/en/CODESYS%20Control/_rtsl_windows_rts_v3.html PS, I haven't tested this myself yet, but you could try to use the SetCommunicationState method of the Profinet controller to see if you can reset and start the bus communication: result := PN_Controller.SetCommunicationState(eRequestedState := DED.DEVICE_TRANSITION_STATE.START); PS, if you are located in the Netherlands or Belgium, we could also provide the license(s) for you.
Last updated: 2024-02-28
Post by bschraud on Speicherbegrenzung für lokale Variablen
CODESYS Forge
talk
(Post)
Aufgrund einer Schnittstellenänderung muss ich meine Messagebuffer erheblich vergrößern. U.g. Konstante bestimmt die Größe einer Byte-Array-Definition, die in einer Struktur für 9 Botschaften verwendet wird. Ich benötige also 177372byte zusätzlichen Speicher in dem Modul in dem die Struktur als lokale Variable angelegt wird. Dynamisches Allokieren zur Laufzeit möchte ich vermeiden, damit ich nicht während des Betriebes Fehler aus dem Allokieren behandeln muss. Für ein Reservieren des Speicherbereiches habe ich in Codesys keine Einstellmöglichkeiten gefunden. Die Applikation läßt sich ohne weitere Modifikation kopilieren, scheitert aber bei der Ausführung. Welche Lösungs- oder Einstellmöglichkeiten gibt es? Bei c_w_process_result_content_len_max: WORD := 292; [INFORMATION] Größe des lizenzierten Benutzercodes: 363304 Bytes [INFORMATION] Speicherverbrauch auf dem Gerät, nicht für Lizenzierung verwendet: [INFORMATION] Speicherbereich 0 enthält Daten, Eingang, Ausgang, Speicher und Nicht-sichere Daten: Größe: 2807632 Bytes , höchste verwendete Adresse: 2159712, größte zusammenhängende Speicherlücke: 647920 Bytes (23 %) [INFORMATION] Speicherbereich 3 enthält Code: Größe: 7267784 Bytes , höchste verwendete Adresse: 5590600, größte zusammenhängende Speicherlücke: 1677184 Bytes (23 %) Übersetzung abgeschlossen -- 0 Fehler, 10 Warnungen : Bereit für Download Speicherprüfung: [WARNUNG] PAC: MC0006: Pointeradresse außerhalb des verwalteten Speichers für Eintrag GVL.htFactory._itfInstList.__Interface in Area 0, Offset 0x000033BC (0x71C15414) [WARNUNG] PAC: MC0006: Pointeradresse außerhalb des verwalteten Speichers für Eintrag __datasourcesInstancesGVL.__datasourcesInstances.dsInst._allItemsHashtable._ht.__Interface in Area 0, Offset 0x00128904 (0x71D3A95C) [WARNUNG] PAC: MC0009: Pointer to Interface zeigt nicht auf die erwartete Schnittstelle in einer FB-Instanz für Eintrag IoConfig_Globals.PiXtend_V2_L_Instance._IIoDrv.__Interface in Area 0, Offset 0x0018EC00 (0x71DA0C58) [WARNUNG] PAC: MC0009: Pointer to Interface zeigt nicht auf die erwartete Schnittstelle in einer FB-Instanz für Eintrag IoConfig_Globals.PiXtend_V2_S_DAC_Instance._IIoDrv.__Interface in Area 0, Offset 0x0018F090 (0x71DA10E8) [INFORMATION] PAC: Überprüfter Speicher für 21336 Objekte. 4 Prüfung(en) fehlgeschlagen. [INFORMATION] PAC: Check took 00:00:13.9743220. Applikation lässt sich downloaden und funktioniert auf dem Gerät. Nach der Vergrößerung: c_w_process_result_content_len_max: WORD := 20000; [INFORMATION] Größe des lizenzierten Benutzercodes: 363304 Bytes [INFORMATION] Speicherverbrauch auf dem Gerät, nicht für Lizenzierung verwendet: [INFORMATION] Speicherbereich 0 enthält Daten, Eingang, Ausgang, Speicher und Nicht-sichere Daten: Größe: 4114264 Bytes , höchste verwendete Adresse: 3164816, größte zusammenhängende Speicherlücke: 949448 Bytes (23 %) [INFORMATION] Speicherbereich 3 enthält Code: Größe: 7267832 Bytes , höchste verwendete Adresse: 5590640, größte zusammenhängende Speicherlücke: 1677192 Bytes (23 %) Übersetzung abgeschlossen -- 0 Fehler, 10 Warnungen : Bereit für Download Speicherprüfung: (gleiches Ergebnis wie vorher) [WARNUNG] PAC: MC0006: Pointeradresse außerhalb des verwalteten Speichers für Eintrag GVL.htFactory._itfInstList.__Interface in Area 0, Offset 0x000033BC (0x71C15414) [WARNUNG] PAC: MC0006: Pointeradresse außerhalb des verwalteten Speichers für Eintrag __datasourcesInstancesGVL.__datasourcesInstances.dsInst._allItemsHashtable._ht.__Interface in Area 0, Offset 0x0021DF38 (0x71E2FF90) [WARNUNG] PAC: MC0009: Pointer to Interface zeigt nicht auf die erwartete Schnittstelle in einer FB-Instanz für Eintrag IoConfig_Globals.PiXtend_V2_L_Instance._IIoDrv.__Interface in Area 0, Offset 0x00284238 (0x71E96290) [WARNUNG] PAC: MC0009: Pointer to Interface zeigt nicht auf die erwartete Schnittstelle in einer FB-Instanz für Eintrag IoConfig_Globals.PiXtend_V2_S_DAC_Instance._IIoDrv.__Interface in Area 0, Offset 0x002846C8 (0x71E96720) [INFORMATION] PAC: Überprüfter Speicher für 21336 Objekte. 4 Prüfung(en) fehlgeschlagen. [INFORMATION] PAC: Check took 00:00:14.0491831. Applikation lässt sich downloaden. Ausführen mündet in Ausnahmefehler Die Applikation läuft auf der Runtime CODESYS Control for Raspberry Pi MC SL. Die Codesys Version ist 3.5 SP20 mit allen Updates. Kennt jemand eine Speichergrenze für lokale Variablen bzw. eventuelle Einstellmöglichkeiten? Vielen Dank
Last updated: 2024-05-06
Post by stewnguth on New License not working.
CODESYS Forge
talk
(Post)
Hey there, I am pretty new to the codesys space, but I got a codesys control basic M license for my raspberry pi that isntalled with no problem yesterday. Today, I went to install the visualization M locense as well because I went over the variable limit and am getting a "servernotfound" error in codesys when attempting to activate. I also tried to follow the advice in some other threads and install using a license request file on the web interface but am getting a message saying "An internal error occured" when attempting to install the license. Can anyone help me get this up and running? Thanks for your time.
Last updated: 2024-05-23
Post by adaml on ScriptEngine - execute "Export -> Bootproject and firmware (SD Card)" from python
CODESYS Forge
talk
(Post)
Hi everybody, recently I was checking how many time consuming manual tasks I can perform with python scripts through ScriptEngine. I have in the project many devices and currently I export bootprojects for them by right clicking on Application, then go Export -> Bootproject and firmware (SD Card) and then point folder where files should be exported. It's fine if project has few devices, but I have some of them with over 30 devices and manual clicking like that is very time consuming. How can I do it with python script? So far I found "create_boot_application" method from Application object (taken by projects.primary.find('Application', True)) but it only generates .app and .crc file instead of full structure to store on SD card (FIRMWARE, USERDATA, SDCARD.INI, Version, Version.txt.sig). Should I use some method to control user interface? Best regards, Adam
Last updated: 2024-07-05
Post by amy123 on Alarm Manager Example Alarm Client doesn't Populate
CODESYS Forge
talk
(Post)
Hello, I tried to run the example project from https://forge.codesys.com/prj/codesys-example/alarm-manager/home/Home/ However, I can not get the interface for Alarm History 12 Alarm Manager client to populate with any alarms. 'udiResult := AlarmManager.g_AlarmHandler.RegisterClient(itfAlarmManagerClient12, ADR(arritfAlarmsFromHistory12), iMaxCountAlarmsFromHistory12);' when I look at itfAlarmManagerClient12 its always empty. What is confusing is that when I simulate 2 alarms, iCountActiveAlarms 12 has a vlaue of 2, associated with itfAlarmManagerClient12 - so that appears to work. And yet, its useless as the ProcessAlarms Function can't extract anything from the empty array. I dont understand how these arrays are supposed to be populated and why its not working. Any help would be greatly appreciated!
Last updated: 2024-07-15
Post by sigurdrb on Codesys and error messages, warnings exceptions etc.
CODESYS Forge
talk
(Post)
Hi, I tried some different libraries (CmpApp etc.) to find some global variables that I could read out as a variable in the codesys environment. Do any one of you know which libraries are best suited for this, and how I can read it out? My goal is to send messages, warnings etc. to the system that communicates to the PLC. Currently if something goes wrong I need to see the logfiles, or go online with the controller. I think I could save a lot of time if I could read the errors from our user interface that is connected to the PLC by TCP/IP.
Last updated: 2024-11-06
Post by manuknecht on Opening a Dialog on a specific Client from ST
CODESYS Forge
talk
(Post)
I managed to find a solution that seems to work reliably. As the VU.Globals.CurrentClient-filter accesses the CURRENTCLIENTID or at least a similar, internal variable it can only be used if called from a certain client (e.g. from a button in a visualization). My solution works by implementing a new client filter that compares the client ID of all clients to the ID of the last client that was used. The variable containing the data of the last client is defined as: G_LastClient : VU.IVisualizationClient; // Copy of last client that detected click This last client is then updated every time a button is pressed using the Execute ST-Code input configuration of the button: G_LastClient := VU.PublicVariables.Clients.Current; Next, I created a function block that implements the client filter interface as so: FUNCTION_BLOCK FB_LastClientFilter IMPLEMENTS VU.IVisualizationClientFilter VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR END_VAR Then i added a method to the FB called IsAccepted which is used to filter out the client. When creating the method, it should automatically be filled with the according variable declaration, as it is defined in the interface: (* For every client can be desided, if it is accepted. ``TRUE``: Client is accepted*) METHOD IsAccepted : BOOL VAR_INPUT (* The client, to check*) itfClient : VU.IVisualizationClient; END_VAR Now the client can be compared to the last used client as such: // check if clientID corresponds to clientID of last recorderd client IF itfCLient.ClientId = G_LastClient.ClientId THEN IsAccepted := TRUE; ELSE IsAccepted := FALSE; END_IF To make use of this custom client filter, initialize a variable with the client filter: LastClient : FB_LastClientFilter; // Client filter to find last used client Then use this client filter when opening or closing a dialog from ST: fbOpenMyDialog(itfClientFilter:=LastClient,xExecute:=TRUE,sDialogName:='VIS_MyDialog_DLG');
Last updated: 2023-09-27
Post by vformanek on No source code available for profinet library
CODESYS Forge
talk
(Post)
Hello, I have been using CODESYS for a while and after updating to version 3.5.18.50 the code randomly stops with this fault. Why is that ? I have tried to locate the fault in the Call Stack but I dont know what to do now... I have updated the projects properly for the version I am using. This fault started happening after like 14 days of using the new version of CODESYS.
Last updated: 2023-08-23
Post by martinlithlith on Relay board / relays for raspberry pi 3 b+
CODESYS Forge
talk
(Post)
hi! im planning a project on a raspberry with Codesys. For this I'll need a number of relays to control heating and fans, all a max of 24v and about 2a. How would i know if the board / relays i buy will be working with Codesys? Does every hat work or does it need a library/driver? is there a list of drivers/libraries created? as this is a hobby project all tips on a relay board or single boards that works with codesys and not to expensive are very welcome.
Last updated: 2023-09-03
Post by timvh on When Keyboard Key is in Hold, then Webvisu is extreme slow and latent
CODESYS Forge
talk
(Post)
I'm not really sure what you are trying to do, but maybe you are referring to using the CmpCharDevice library? When you "open" the connection to a device, you can pass flags. What helped me is to set the non-blocking flag. I'm not sure if this is what you are referring to, but maybe it helps: dFlags: DINT := CmpCharDevice.ACCESS_MODE.O_RDONLY + DINT#4000; // see details for flags: http://linux.die.net/man/2/open, + DINT#4000 is for non-blocking hDevice := CmpCharDevice.CDOpen(szFilename, dFlags, Result);
Last updated: 2023-09-20
Post by mputaggio on Recipe Manager - RecipeManCommands, load & write wrong values, Bug?
CODESYS Forge
talk
(Post)
Hello, We encountered the same issues on both recipe library versions 4.2.0.0 and the newest 4.3.0.0. The Arrays of structs get saved correctly but loading them restores only some indexes, while others get lost or completely wrong. We have been using the same recipes for the last two years on recipe manager vers. 3.5.17 withoud issues. There also seems to be a different behaviour in vers. 4.3.0.0 but it's still incorrectly loading the recipes. Did you find any workaround or solution? Codesys version used: 3.5.19.50
Last updated: 2023-12-15
Post by andrax on Mux I2C
CODESYS Forge
talk
(Post)
the TCA9548a does not work in Codesys. In Pyton this is only queried once and in Codesys cyclically. Of course you can also insert a terminating resistor in each port, then you should have no problems. I use this one: https://botland.de/8-bit-multiplexer/12723-qwiic-mux-breakout-8-kanal-modul-mit-i2c-multiplexer-tca9548a-sparkfun-bob-16784-5904422341428.html You can simply set the library to the latest version. You do not need Oscat. Do you need an example project for the BMP280?
Last updated: 2024-01-02
Post by andrax on Mux I2C
CODESYS Forge
talk
(Post)
the TCA9548a does not work in Codesys. In Pyton this is only queried once and in Codesys cyclically. Of course you can also insert a terminating resistor in each port, then you should have no problems. I use this one: https://botland.de/8-bit-multiplexer/12723-qwiic-mux-breakout-8-kanal-modul-mit-i2c-multiplexer-tca9548a-sparkfun-bob-16784-5904422341428.html You can simply set the library to the latest version. You do not need Oscat. Do you need an example project for the BMP280?
Last updated: 2024-01-02
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
.