waveshare AD/DA
CODESYS Forge
talk
(Thread)
waveshare AD/DA
Last updated: 2020-02-21
TLC1543 (AD converter) on ARPI600
CODESYS Forge
talk
(Thread)
TLC1543 (AD converter) on ARPI600
Last updated: 2018-01-29
Waveshare AD DA Board Spi Analoge Eingänge Abfragen
CODESYS Forge
talk
(Thread)
Waveshare AD DA Board Spi Analoge Eingänge Abfragen
Last updated: 2022-07-17
Post by veneto on OPC UA Client
CODESYS Forge
talk
(Post)
Ciao damian177, provo a chiederti un'informazione. Sul mio progetto Codesys(ver.3.5 SP17) non è visibile l'oggetto "Data Source Manager". Il PC con il progetto Codesys(client) è collegato via rete TCP ad un PLC Siemens1200(server). Sul PC con Codesys ho installato UAexpert(client) e riesco a vedere le variabili del PLC1200. Riesci ad aiutarmi a capire come mai non è visibile l'oggetto "Data Source Manager"? Molte grazie
Last updated: 2024-09-06
Post by daniel on SysFileOpen not working
CODESYS Forge
talk
(Post)
Hello, I have the same problem now with 3.5.20 Patch 3. Normally it works if I ad in CODESYSControl.cfg: [SysFile] ForceIecFilePath=0 (This told me codesys last time) I try to use the placeholders but without success. Something special is that the Files are not in C:. The Plc Configuration Path is not as usual C:\ProgrammData\CODESYS\CODESYSControlRTEV3\, it's E:\Control.
Last updated: 2024-10-23
Post by r-niedermayer on Issue with WebVisu on Raspberry PI
CODESYS Forge
talk
(Post)
Regarding to your application: When clicking in the web visualization, the boolean variable will be tapped for both buttons. The LED in the web visualization lights up as long as the variable is true The used variables should come from the GVL, ad/or thePLC_Prg. We see no difference or problem in both projects: You have created a visuelement Push button a a tapper, that is supposed to control the variable in this way as expected. This is also reflected (switching Bool from false to true) in the program code, as well as in the (GVL declared) variables. Wherever the misunderstanding comes from: no, this is not memory or license related. Our best guess: it is probably more of an applicative/conceptual implementation.
Last updated: 2024-04-11
Post by micik on Python scripting - print whole project tree
CODESYS Forge
talk
(Post)
Hello, I have found a script for printing device tree in Codesys project. This script is available as code snippet as an exmaple for using Python in Codesys. However I feel main documentation is lacking. For example, where can I find that object has "is_device" attribute? Code examples are given here: https://content.helpme-codesys.com/en/CODESYS%20Scripting/_cds_access_cds_func_in_python_scripts.html However, I have a question how to print the whole Project tree and not just devices? Of course I need to remove check: if treeobj.is_device: But simply removing this test condition will not produce what I want. I need to print PLC Logic, Application, ad other nodes in the Project tree. Where to find this documentation?
Last updated: 2024-08-12
Post by gorditron on I2C Communication with
CODESYS Forge
talk
(Post)
Hello, I have problems with the I2C communication to an ADS7828 AD converter. I don't get any value back from the chip. I use a Kontron chip (ARM 32SC) with Linux as the operating system. I also use the CmpCharDevice library. ADS7828 parameters Address: A1 = 0 / A0 = 0 = SD = 1 = Single End C2 = 0 / C1= 0 / C0= 0 / Channel 0 PD1 = Internal Reference and PD0 = AD Converter ON Here is my code: VAR b_i2cAdr : BYTE := 16#48; (* Standard I2C-Adresse des ADS7828 *) x_Init: BOOL;(* Flag für die Initialisierung *) b_config_byte: BYTE;(* Konfigurationsbyte für den ADS7828 *) ab_cmd_buffer : ARRAY [0..0] OF BYTE; (* Buffer für den Befehl *) ab_data_buffer : ARRAY [0..1] OF BYTE; (* Buffer für die empfangenen Daten *) ui_adc_value_1 : UINT; (* Ausgelesener ADC-Wert *) I2C_Handle: RTS_IEC_HANDLE; (* Handle für das I2C-Device *) di_result_open: DINT;(* Ergebnis der Funktionsaufrufe *) di_result_adr: DINT;(* Ergebnis der Funktionsaufrufe *) di_result_wr_cmd: DINT;(* Ergebnis der Funktionsaufrufe *) di_result_rd_cmd: DINT;(* Ergebnis der Funktionsaufrufe *) di_result_close: DINT;(* Ergebnis der Funktionsaufrufe *) END_VAR //*** Init from the I2C communication port *** IF NOT x_Init THEN I2C_Handle := CDOpen(szFile:= '/dev/i2c-0', dFlags:= O_RDWR, pResult:= ADR(di_result_open)); //* I2C opening * //*** set of the I2C address *** CDIoctl(hFile:=I2C_Handle , dRequest:=1795 , dParameter:=b_i2cAdr , pResult:=ADR(di_result_adr) ); x_Init := TRUE; END_IF (* Hauptlogik *) IF I2C_Handle <> 0 THEN (* Konfigurationsbyte setzen: Single-Ended Kanal 0, interne Referenz *) b_config_byte := 16#8C; (* 10001100b: AIN0, interne Referenz, Single-Ended *) ab_cmd_buffer[0] := b_config_byte; (* Schreiboperation zum Konfigurieren des Chips *) CDWrite(hFile:= I2C_Handle, pbyBuffer:= ADR(ab_cmd_buffer), udCount:= SIZEOF(ab_cmd_buffer), pResult:= ADR(di_result_wr_cmd)); IF di_result_wr_cmd = 0 THEN (* Leseoperation, um den ADC-Wert zu erhalten *) CDRead(hFile:= I2C_Handle, pbyBuffer:= ADR(ab_data_buffer), udCount:= SIZEOF(ab_data_buffer), pResult:= ADR(di_result_rd_cmd)); IF di_result_rd_cmd = 0 THEN (* ADC-Wert aus den Daten extrahieren *) ui_adc_value_1 := SHL(TO_UINT(ab_data_buffer[0]), 8) OR TO_UINT(ab_data_buffer[1]); ELSE (* Fehler beim Lesen der Daten *) ui_adc_value_1 := 0; (* ADC-Wert auf 0 setzen *) END_IF ELSE (* Fehler beim Schreiben der Konfiguration *) ui_adc_value_1 := 0; END_IF END_IF
Last updated: 2024-12-13
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
.