Search talk: Modbus TCP Slave

 
<< < 1 .. 41 42 43 44 45 .. 47 > >> (Page 43 of 47)

Post by risele on Modbus connection via Qronox PCD3 M6893 CODESYS Forge talk (Post)
First, if you don't need to change conversion rules in runtime, take a look at "Unit conversion" module (Application -> add object -> UnitConversion). You can specify there biderectional conversion with different units, limits and so on. Second, since MODBUS don't have "real" types but only general 16-bit registers and Real is 32-bit, generally you need a byte-was conversion Real <> two Words. Note, that depending on the devices on both sides, there are two options: Real-> Word1, Word2 or Real-> Word2, Word1, where Word1 is minor register in Modbus register pair and Word2 is major. You can use simple union: TYPE u_Real : UNION rVal:REAL; wVal:ARRAY[0..1] OF WORD; dwVAL:DWORD; //same as previous, may be easier to specify the MB register END_UNION END_TYPE and convert it as following: VAR myUnion:u_Real; rValue_TO_SEND:REAL; rValue_TO_GET:REAL; END_VAR myUnion.rVal:=rValue_TO_SEND; rValue_TO_GET:=myUnion.rVal; Note, that WORD-order should be properly set in MODBUS registers, otherwise you will get strange values. This tool is helpful: https://www.scadacore.com/tools/programming-calculators/online-hex-converter/ Alternative, you can use functions as REAL_TO_DW and DW_TO_REAL from OSCAT_BASIC, for example.
Last updated: 2026-02-19

Post by esave on Softmotion Light Problem: The license is missing or invalid CODESYS Forge talk (Post)
Hello everybody I want to controll a stepper driver from Leadshine (EM3E-556E). The EtherCat slave is CiA 402 compatible. Because of this I bought the Softmotion Light Package from Codesys and implemented it in my project. I rightclicked the EtherCat slave and added the Softmotion Light axis. But now the error message shows: "The license is missing or invalid. The PLC runs in demo mode." What have i done wrong? I use Codesys 3.5.17. Is it possible that the stepper driver is not compatible with the Softmotion license? Thanks for all your help
Last updated: 2024-05-02

Post by jonasz on Device diagnosis ( EtherCAT IO card ) CODESYS Forge talk (Post)
Hi, I'll link to the topic not wanting to start a new one. In the application I am building, I wanted to use the diagnostics described in the CAA Device Diagnosis library. In principle, everything is ok, except for the elements related to ModbusTCP. Despite the fact that ModbusTCP is taken into account in the documentation, it is not recognised via the interfaces. FUNCTION_BLOCK NET_HW_DIAG VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR (* Referencja do struktury z danymi dla HMI ASTRAADA.*) Visu: REFERENCE TO VISU; (* Wskaźnik na mastera EtherCAT.*) pEtherCATMaster : POINTER TO IoDrvEtherCAT; (* Wskaźnik na slave EtherCAT.*) pEtherCATSlave : POINTER TO EtcSlave; (* Interfejs dla węzła w drzewie urządzeń.*) _itfNode: DED.INode; (* Ogólny interfejs magistrali. Zapewnia podstawowe informacje o magistrali polowej.*) _itfBus: DED.IBus; (* Interfejs urządzenia. Zapewnia rozszerzone informacje o urządzeniu (magistralowym).*) _itfDevice2: DED.IDevice2; (* Ogólny interfejs magistrali. Zapewnia podstawowe informacje o magistrali polowej.*) _itfStack: DED.IStack; (* Numer węzła w drzewie urządzeń.*) uiNodes: UINT; (* Operator jest rozszerzeniem normy IEC 61131-3. W czasie wykonywania operator wykonuje konwersję typu odwołania do interfejsu na inny typ. Operator zwraca wynik BOOL. Wartość TRUE oznacza, że CODESYS pomyślnie wykonał konwersję. *) xQueryResultBus: BOOL; xQueryResultDevice2: BOOL; xQueryResultStack: BOOL; (* Struktura danych dotyczących węzłów w drzewie urządzeń.*) NetHwDiag: NW_HW_STAT; ModbusTcpClientDeviceInfo: IoDrvModbusTCP.DED.DEVICE_INFO; ModbusTcpClientDeviceState: IoDrvModbusTCP.DED.DEVICE_STATE; ModbusTcpDeviceInfo: IoDrvModbusTCP.DED.DEVICE_INFO; ModbusTcpDeviceState: IoDrvModbusTCP.DED.DEVICE_STATE; END_VAR (* Pobranie wskaźników dla pierwszego mastera i pierwszego slave w sieci EtherCAT.*) pEtherCATMaster := g_pFirstMaster; pEtherCATSlave := pEtherCATMaster^.FirstSlave; (* Diagnostyka sieci EtherCAT.*) pEtherCATMaster := g_pFirstMaster; pEtherCATSlave := pEtherCATMaster^.FirstSlave; NetHwDiag.xConfigFinished := pEtherCATMaster^.xConfigFinished; NetHwDiag.xDistributedClockInSync := pEtherCATMaster^.xDistributedClockInSync; NetHwDiag.xError := pEtherCATMaster^.xError; NetHwDiag.xSyncInWindow := pEtherCATMaster^.xSyncInWindow; NetHwDiag.sLastMessage := pEtherCATMaster^.LastMessage; NetHwDiag.LastError := pEtherCATMaster^.LastError; (* Diagnostyka drzewa urządzeń.*) uiNodes := 0; _itfNode := DED.GetRoot(); REPEAT NetHwDiag.asDeviceName[uiNodes] := DED.GetDeviceNameString(itfNode := _itfNode); xQueryResultBus := __QUERYINTERFACE(_itfNode,_itfBus); IF xQueryResultBus THEN _itfBus.GetBusInfo(buiInfo := NetHwDiag.aBusInfo[uiNodes]); NetHwDiag.aBusState[uiNodes] := _itfBus.GetBusState(); END_IF xQueryResultDevice2 := __QUERYINTERFACE(_itfNode,_itfDevice2); IF xQueryResultDevice2 THEN _itfDevice2.GetDeviceInfo(deiInfo := NetHwDiag.aDeviceInfo[uiNodes]); NetHwDiag.aDeviceState[uiNodes] := _itfDevice2.GetDeviceState(); IF pEtherCATSlave <>0 THEN pEtherCATSlave^(); IF pEtherCATSlave^.SlaveAddr = NetHwDiag.aDeviceInfo[uiNodes].idSystem THEN NetHwDiag.aAlStatus[uiNodes] := pEtherCATSlave^.ALStatus; pEtherCATSlave := pEtherCATSlave^.NextInstance; END_IF END_IF ELSE xQueryResultStack := __QUERYINTERFACE(_itfNode,_itfStack); IF xQueryResultStack THEN _itfStack.GetDeviceInfo(deiInfo := NetHwDiag.aDeviceInfo[uiNodes]); NetHwDiag.aDeviceState[uiNodes] := _itfStack.GetDeviceState(); END_IF END_IF uiNodes := uiNodes + 1; _itfNode := DED.GetNextNode(_itfNode); UNTIL _itfNode = 0 END_REPEAT (* Diagnostyka Modbus.*) Modbus_TCP_Client.GetDeviceInfo(deiInfo := ModbusTcpClientDeviceInfo); ModbusTcpClientDeviceState := Modbus_TCP_Client.GetDeviceState(); PAC_3200T.GetDeviceInfo(deiInfo := ModbusTcpDeviceInfo); ModbusTcpDeviceState := PAC_3200T.GetDeviceState(); Of course, you can take the easy way out and refer directly to the devices, but I wanted a reusable component. Any constructive help is very welcome Best regards Jonasz
Last updated: 2025-07-15

Post by ph0010421 on TCP/IP client CODESYS Forge talk (Post)
Hello TCIS_Send needs to be longer than 4 bytes because idata is 28 bytes long. There may be other ways, but I would make a UNION with string/array of bytes. Write your STRING into the AsString part then copy the AsBytes part into TCIS_Send (Elements [3] to [30]) then 252 would be in [31] (I've assumed the idata is always the same length)
Last updated: 2023-12-19

Post by andreag0 on How to access to variable value through symbolic string name CODESYS Forge talk (Post)
Hello, anyone know how to get valiable value using a symbolic string name? For example: - send string to runtime using TCP/IP contains "GVL.TestINT" and get back the value. I need function that will translate the string to symbolic variable. Thank you. Andrea
Last updated: 2024-06-13

Post by nano on Cant login to Rpi4 but can see it in codesys communications settings. CODESYS Forge talk (Post)
which ports in detail are configured. the search of the rts works via broadcast-messages, programming with tcp-port on p2p-connection woth port-hopping, handled by runtime after siccesfully handshake. look at this entry on forge https://forge.codesys.com/forge/talk/Runtime/thread/4078a2ed28/
Last updated: 2024-06-23

Post by simotion on Variable indicating axis pending gearing or camming CODESYS Forge talk (Post)
Is there a variable indicating that a gearing or camming operation is pending? For instance MC_Gearin has beeen triggered, but starting point of master axis to start the sychronisation movement is not reached yet, so the slave axis is just waiting for this. I should be able to differ between a pending and active gearing or camming
Last updated: 2023-11-28

Post by charleskentyfz on (no subject) CODESYS Forge talk (Post)
I have created an EtherCAT slave code and fixed two slaves (IDs written in the 0xF050 object dictionary). The module IDs are 0x1 and 0x101, respectively. It can be scanned normally in TwinCAT, but when scanning in CODESYS, it reports an error. Why is this happening?text in the second pic means 'device cannot be found in repository'
Last updated: 2024-07-07

Post by mrrobot on No source code available for this object CODESYS Forge talk (Post)
Hello, I have this strange error while I am adding an axis to my slave: "No source code available for this object because it is in the compiled library 'sm3_drive_etc_ds402_cyclic' ..... I looked on google/chatgpt but i cannot find a solution for this issue Any help is welcome ! Thanks in advance Mrrobot
Last updated: 2024-07-15

Post by mrrobot on No source code available for this object CODESYS Forge talk (Post)
Hello, I have this strange error while I am adding an axis to my slave: "No source code available for this object because it is in the compiled library 'sm3_drive_etc_ds402_cyclic' ..... I looked on google/chatgpt but i cannot find a solution for this issue Any help is welcome ! Thanks in advance Mrrobot
Last updated: 2024-07-15

Post by atone on Change IO-Link Device Interface connected to a Profinet-Slave at Runtime CODESYS Forge talk (Post)
OK, I figured out that I can simply define all the sensors as 16 bytes IN/OUT, even if they are not all used. EDIT: The negative effect is that each bit is taken into account as an I/O for the license, even if not used.
Last updated: 2025-04-28

Post by lbouchard on CANOpen SIL2 error: UNSAFESTACK_NOT_OPERATIONAL CODESYS Forge talk (Post)
Hello, Working in 3.5 SP11 32 bit and using the 3S CANopenSafety Slave 3.5.11.0 library on an IFM CR711S. The 3SCSSD.CANOpenDevicesSIL2 function block keeps throwing "UNSAFESTACK_NOT_OPERATIONAL" Additionally, the Status of the device gives "There was an error accessing an I/O parameter". Any ideas on where my issues may lay? I have not found any good documentation that would explain the issue.
Last updated: 2025-05-23

Post by rmaas on Direct Pointers in IOMapping for EtherCAT with IoDrvEthercatLib.ETCSlave_Dia CODESYS Forge talk (Post)
Hi, Im not sure if this is what you mean, but i do succesfully use the IoDrvEthercatLib.ETCSlave.InputData and IoDrvEthercatLib.ETCSlave.OutputData to read from and write to beckhoff DI and DO cards. Very convenient as you can make an FB with an VAR_IN_OUT of type IoDrvEthercatLib.ETCSlave and only have to pass the slave reference... So i am not using .ETCSlave_Diag but .ETCSlave...
Last updated: 2024-02-13

Post by eschwellinger on Problem mit control runtime V3 und profinet CODESYS Forge talk (Post)
Hallo Tim, man hat halt einfach mit der Control Win - keine wirkliche harte Echzeit. Man müsste den Fehler genauer analysieren + ich denke er müsste den Slave wieder an den Busholen oder fällt ads ganze Netzwerk aus? Welche Versionen genau sind im Einsatz? Ist das halbwegs aktuell (PN 4.4.0.0?) Grüße Edwin
Last updated: 2024-04-11

Post by felipemsgarcia on Generic EtherCAT slave CODESYS Forge talk (Post)
Hello, Without much info, I would assume that this is an optional object on the EtherCAT network and it's either disconnected or the address doesn't match. I would look into the devices manual or contact the manufacturer for further assistance. And, I would have posted a new topic instead of using a non related one... Cheers!
Last updated: 2024-05-16

Post by xiaoyan on Generic EtherCAT slave CODESYS Forge talk (Post)
Hello Well i need some basic advice. My protegoD drive is shown deactivated in the device tree. i can see its variables and other i/o in online mode but the device itself is deactivated. how can i address this issue. is there any configuration error.using ethercat link to connect to protegoD by Primo MC plc
Last updated: 2024-05-16

Post by fabrp on CPU + EtherCAT redundancy CODESYS Forge talk (Post)
Hi TimvH, thanks for feedback. I also test the redundancy with Wago PFC 8212 but when I did it (firmware 28) it was not so much stable..Did you have some issue on master/slave switchover? are you using with EtherCAT remote I/O? I was looking for a most powerful hardware (PC based, x64) BR
Last updated: 2026-02-01

Post by reinier-geers on Compare applications in one project CODESYS Forge talk (Post)
HI,ive got one project with 6 applications. one master and 5 slaves. All 5 slaves should be the same. Can i compare applications in one project ? sind version 20.5 ive got problems. One slave freeze compleetly after a while. Ive got an other project freezes after a while , after a online change
Last updated: 2026-03-19

Post by mecmag on gear over gear (2 masters,1 slave) - how to do it? CODESYS Forge talk (Post)
Hello, i need to create an application that uses 2 masters, with 2 different ratios, and it outputs in one single slave. I explain better: Imagine axis A, B and C. -Axis A is the slave. -Axis B is master of A, with a specific ratio. -Axis C is master of A, with a specific ratio. the result motion from B and C should be executed by A, proportionally in position and ratios from B and C. With standard softmotion libraries (MC_...) it is not possible (i couldn't) because it is allowed only one master with its ratio. I have made a similiar application in past, using MoveOverGear in order to synch gears before engage. Instead this time, i need to do a gear over gear application, using 2 different masters. The position have to be the sum of both masters (considering their ratios). Any clue about how to do it? Or were to find some FB that can do it?
Last updated: 2024-08-16

Post by jakubmphoenix on EtherCAT Master on RaspberryPi with EtherCAT Slave on Beckhoff CODESYS Forge talk (Post)
Hello everyone, I’m currently working on setting up an EtherCAT Master using CODESYS on a Raspberry Pi, and I’ve run into some issues I could use help with. Project Setup: EtherCAT Master: Raspberry Pi with CODESYS Control for Raspberry Pi 64 SL installed EtherCAT Slave: Beckhoff CX5130 with EK1200 coupler I/O Module: EL2008 License Module: EL6070-0033 I’ve installed the required CODESYS packages and the Linux gateway on the Raspberry Pi. In my project, I added the EtherCAT Master with the appropriate port settings and scanned for devices. The CX5130 shows up as a slave, but communication fails—I'm getting error messages and can't access the outputs. Specifically: The EL2008 output module isn’t recognized properly in CODESYS. There’s no option to communicate with it through the CX5130. I’ve tried connecting via both the Raspberry Pi’s built-in Ethernet port and an external network card. I've attached screenshots showing the errors I get in CODESYS and the devices detected via TwinCAT for reference. Any help or suggestions would be greatly appreciated! Thanks in advance! EMERGENCY FROM DEVICE 1001 ERROR CODE 16#A000 Error register 16#02 Error field: 16#02 Error field : 16#0E 16#04 16#00 16#04 16#00
Last updated: 2025-07-16

Post by imdatatas on MC_CamIn did not work properly with SMC_FreeEncoder on SoftMotion 4.17.0.0 CODESYS Forge talk (Post)
Hello, I am facing a problem with the new Softmotion 4.17.0.0 version. Has anyone encountered a similar problem, what is the solution? I would be happy if you could share it. Problem description: -- "SMC_FreeEncoder" encoder axis is the master, -- The motor of the servo driver on the EtherCAT bus is the slave axis. -- When the MC_CamIn block executed, the InSync output is activated. However, although the master encoder axis position value changes, there is no movement in the slave servo axis! Test steps: 1-) EtherCAT servo axis installed, configured and motion test was performed with MC_Jog. No problem. 2-) Softmotion general axis pool > SMC_FreeEncoder was added and pulse amount configuration was performed. No problem. 3-) Incremental encoder actual count value was transferred to the "SMC_FreeEncoder.diEncoderPosition" variable as DINT under the ethercat task in every cycle and the encoder axis position value was observed. No problem. 4-) A simple CAM table with a 1:1 ratio was created under the project tree. (For example: Simply, when the encoder rotates 1 turn, the motor will rotate 1 turn.) 5-) The SMC_FreeEncoder axis enabled with MC_Power and brought to the StandStill state. 6-) The MC_CamTableSelect block was run with default input values ​​(all absolute) and only the Cam table name was specified. The Done output was seen successfully. No problem. 7-) The MC_CamIn block was activated with default input values ​​(absolute) and only the master encoder axis name, slave servo axis name, CamTableID input pins was specified and then "Execute" input set to TRUE. 8-) The InSync output information of the MC_CamIn block observed as TRUE. However, although the encoder axis value changed, the position value of the slave axis did not change at all, it did not move. It always remained at 0.0mm. 9-) When I repeated the same steps above, only changing the master axis to SM_Drive_Virtual instead of FreeEncoder and gave movement to the virtual axis, this time the slave axis moved successfully. However, when the same steps and operations are performed with the same IDE just downgrade SoftMotion version from 4.17.0.0 to 4.10.0.0, everything works normally and without problems as expected in MC_CamIn block with FreeEncoder master. (By the way, The used IDE version is Codesys V3.5 SP20patch3.) Best Regards Imdat
Last updated: 2024-11-11

Post by alexgooi on Codesys licensing explanation CODESYS Forge talk (Post)
Dear Forum, We are currently switching to a native Codesys controller, and I'm currently trying to determine the correct license. I have a question regarding the Modbus instances. With the Standard S license this is set to 4 (See picture). In our projects we are using a lot of communications to Modbus servers using a Codesys Controller, for this communication I'm using the ModbusFB library (supplied by 3S) (see picture). In my project I would like to use more than 4 instances of the ClientTCP FB. My question is, is this now capped at 4 possible connections with the standard S license. Or do these function blocks have a different relation with the license? Some clarity on this topic would be very welcome. Thank you in advance
Last updated: 2024-02-15

Post by tomast on WAGO 750-8212 nad Sinamics v20 modbus RTU speed control CODESYS Forge talk (Post)
Hi Guys, I am new to this forum and i would like to ask od anyone got communication with Siemens v20 vfd working via Modbus RTU? I followed many websites and finally got the communication working but have problema with read/write registers. For example if i try to read holding register 40011 which is accel time i get noth but when i set the offset 0x0000 en length 113 i get ale the registers. I cannot get speed control working. I read someth about stw (control Word) and hsw but have some problems to understand it en get it working. It would be really nice if someone could help me with it. Thx
Last updated: 2024-03-05

Post by jaspergain on Non-existing identifiers CODESYS Forge talk (Post)
Hello, I got a bit of a weird issue going on which is kind of annoying. So recently we switched a lot of Modbus IO to EtherCAT, as we were having issues with stability. All works fine, which is great. But sometimes when I change the program I get errors claiming that identifiers are not defined. Meaning I can't go online. See the picture below. I believe this is because some of these identifiers were used with Modbus, and they weren't properly removed/deleted? A clean all temporary fixes the issue, but it comes back again after a while of changing the code, and building. Any way to fix these non-existing required identifiers, or even find out where they are required? Thanks for the help in advance. Jasper.
Last updated: 2024-05-29

Post by uluking on CodeSys2.3 Modbus 64-Bit Double Read Problem CODESYS Forge talk (Post)
Hi everyone, I would appreciate your help with a problem I've been working on for a few days but haven't been able to resolve. I am reading data from a Siemens PAC3220 energy analyzer using Modbus with Wago-8202. However, the device's energy indices are given as doubles. Since a double variable is 64-bit, it is not possible to read it directly. I have been struggling for days, I have written many conversion functions but I have not been able to get results. I would appreciate your help. I read 4 word variables and processed them. I am converting them according to IEEE-754, but I can't seem to read the correct data. I would appreciate your help.
Last updated: 2025-10-27

<< < 1 .. 41 42 43 44 45 .. 47 > >> (Page 43 of 47)

Showing results of 1173

Sort by relevance or date