Search talk: declare modbus variable

 
<< < 1 .. 43 44 45 46 47 .. 49 > >> (Page 45 of 49)

Post by talhaali on Can't read Alarm Class from Alarm Storage CODESYS Forge talk (Post)
Hi, I am trying to access active alarms in code(As alarm count variable updates only when we go to to alarm table frame in visualization). I wrote following code but it is not working: VAR iCountActiveAlarms : INT; parritfActiveAlarms : POINTER TO ARRAY[0..0] OF IAlarm; itfAlarmManagerClientAll : IAlarmManagerClient; END_VAR AlarmManager.g_AlarmHandler.GetActiveAlarms( itfAlarmManagerClient :=itfAlarmManagerClientAll, iCountActiveAlarms => iCountActiveAlarms, parritfActiveAlarms => parritfActiveAlarms); The Value is always 0. Please help.
Last updated: 2024-06-06

Post by talhaali on Can't read Alarm Class from Alarm Storage CODESYS Forge talk (Post)
Hi, I am trying to access active alarms in code(As alarm count variable updates only when we go to to alarm table frame in visualization). I wrote following code but it is not working: VAR iCountActiveAlarms : INT; parritfActiveAlarms : POINTER TO ARRAY[0..0] OF IAlarm; itfAlarmManagerClientAll : IAlarmManagerClient; END_VAR AlarmManager.g_AlarmHandler.GetActiveAlarms( itfAlarmManagerClient :=itfAlarmManagerClientAll, iCountActiveAlarms => iCountActiveAlarms, parritfActiveAlarms => parritfActiveAlarms); The Value is always 0. Please help.
Last updated: 2024-06-06

Post by talhaali on Active alarm access in ST CODESYS Forge talk (Post)
Hi, I am trying to access active alarms in code(As alarm count variable updates only when we go to to alarm table frame in visualization). I wrote following code but it is not working: VAR iCountActiveAlarms : INT; parritfActiveAlarms : POINTER TO ARRAY[0..0] OF IAlarm; itfAlarmManagerClientAll : IAlarmManagerClient; END_VAR AlarmManager.g_AlarmHandler.GetActiveAlarms( itfAlarmManagerClient :=itfAlarmManagerClientAll, iCountActiveAlarms => iCountActiveAlarms, parritfActiveAlarms => parritfActiveAlarms); The Value is always 0. Please help.
Last updated: 2024-06-06

Post by talhaali on Alarm Manager: CODESYS Forge talk (Post)
Hi, I am trying to access active alarms in code(As alarm count variable updates only when we go to to alarm table frame in visualization). I wrote following code but it is not working: VAR iCountActiveAlarms : INT; parritfActiveAlarms : POINTER TO ARRAY[0..0] OF IAlarm; itfAlarmManagerClientAll : IAlarmManagerClient; END_VAR AlarmManager.g_AlarmHandler.GetActiveAlarms( itfAlarmManagerClient :=itfAlarmManagerClientAll, iCountActiveAlarms => iCountActiveAlarms, parritfActiveAlarms => parritfActiveAlarms); The Value is always 0. Please help.
Last updated: 2024-06-06

Post by talhaali on Alarm Table Issues CODESYS Forge talk (Post)
Hi, I am trying to access active alarms in code(As alarm count variable updates only when we go to to alarm table frame in visualization). I wrote following code but it is not working: VAR iCountActiveAlarms : INT; parritfActiveAlarms : POINTER TO ARRAY[0..0] OF IAlarm; itfAlarmManagerClientAll : IAlarmManagerClient; END_VAR AlarmManager.g_AlarmHandler.GetActiveAlarms( itfAlarmManagerClient :=itfAlarmManagerClientAll, iCountActiveAlarms => iCountActiveAlarms, parritfActiveAlarms => parritfActiveAlarms); The Value is always 0. Please help.
Last updated: 2024-06-06

Post by talhaali on Alarm status in logic CODESYS Forge talk (Post)
Hi, I am trying to access active alarms in code(As alarm count variable updates only when we go to to alarm table frame in visualization). I wrote following code but it is not working: VAR iCountActiveAlarms : INT; parritfActiveAlarms : POINTER TO ARRAY[0..0] OF IAlarm; itfAlarmManagerClientAll : IAlarmManagerClient; END_VAR AlarmManager.g_AlarmHandler.GetActiveAlarms( itfAlarmManagerClient :=itfAlarmManagerClientAll, iCountActiveAlarms => iCountActiveAlarms, parritfActiveAlarms => parritfActiveAlarms); The Value is always 0. Please help.
Last updated: 2024-06-06

Post by nano on How to access to variable value through symbolic string name CODESYS Forge talk (Post)
this is not easily. From Point of SL-Licenses Codesys didnt provide the informations how to do. We created an own CDS-Component for that Behaviour. This Informations are available for OEM, if you are an OEM you can find the Informations in the RTS-Documentation.
Last updated: 2024-06-14

Post by gatto on variables between two applications CODESYS Forge talk (Post)
No. As you can see in the uploaded image, in my test project, I have a variable list GVL_1 which is located in appication_1. But if I write in POU_2, which is instead found in application 2, I cannot find the variables of GVL_1. it seems that the GVLs are children of each app
Last updated: 2024-06-24

Post by dkugler on Converting hex bytes to float CODESYS Forge talk (Post)
have a look at UNIONs. With a union you are able to write single bytes to the same adress area which belongs to a float variable at the same time. I like to do a lot of convertions belonging to interfaces and fieldbus in this way, f.eg. word / byte swapping etc.
Last updated: 2024-08-06

Post by talhaali on Persistent variables not working for Control Win CODESYS Forge talk (Post)
Hi everyone, I am facing issues with persistent retain variables. It was working fine. I added a few new Persistent variables and it stopped working. If I do cold reset it holds persistent variable values. But when I close control win gracefully, and opens it again then it does not. Even, it is not saving ret file in application.
Last updated: 2024-09-10

Post by tehthoams on Time will not read 12 CODESYS Forge talk (Post)
I know this post is a bit old, but i'm having this same issue: At noon, %t[hh:mm:ss tt] is displaying 00:00:00 PM There is no text variable, just using the default functionality of the visualization for the time display. This is running on an IFM CR1102 display. has anyone solved this?
Last updated: 2024-10-10

Post by sturmghost on Initialization of visualization variables and cyclic code execution CODESYS Forge talk (Post)
I'm looking for a smart and short way to implement initialization of visualization variables depending on the visualization input. For an easy example consider a rectangle which rests at XPos := 0 when the input state is false and at XPos := 50 when the input state is true. My visualization variables look like this: VAR_IN_OUT State : BOOL; END_VAR VAR XPos : INT; END_VAR I put this rectangle via a visualization frame element into another visualization and link a frame reference variable with the state to it. If the variable is true, the rectangle should rest at XPos := 50 and false at XPos := 0 at visualization init but how should I assign the 50 or 0 to the internal visualization variable XPos? I would need some init-methode for the visualization but I dont want a global init-method for such tasks. I want to do it inside of the visualization element but I can't see any solution for this? It would be good to be able to define ST-code within the visualization element which runs cyclic at each VISU_TASK task-cycle then I could just check the input state and change the XPos accordingly. Does someone have a solution?
Last updated: 2023-10-01

Post by open on How to create a stopwatch? CODESYS Forge talk (Post)
Hi @ph0010421, I tried the program the TimeTaken is calculated when stop is triggered. I want the TimeTaken to be continuously calculated and counting when a BOOL variable is true. I tried to program this way: Declaration: PROGRAM PLC_PRG VAR bStartStop: BOOL := FALSE; // Start/Stop button bReset: BOOL := FALSE; // Reset button bRunning: BOOL := FALSE; // Flag indicating whether the stopwatch is running tStartTime: TIME; // Variable to store the start time tElapsedTime: TIME; // Variable to store the elapsed time END_VAR Implementation: // Main program logic IF bReset THEN // Reset button pressed, reset the stopwatch bRunning := FALSE; tElapsedTime := T#0s; ELSIF bStartStop THEN // Start/Stop button pressed, toggle the running state IF bRunning THEN // Stop the stopwatch bRunning := FALSE; ELSE // Start the stopwatch bRunning := TRUE; tStartTime := tElapsedTime; END_IF; END_IF // Update the elapsed time when the stopwatch is running IF bRunning THEN tElapsedTime := tElapsedTime + T#1s; // Adjust the time increment as needed END_IF However counting of the seconds is not accurate. I tried changing the main task cycle time interval to 1000ms. The counting of seconds become slower. (see attached) Please help
Last updated: 2023-12-08

Post by wbj0t on mobus tcp slave device. read/write holdings with 2 variables. CODESYS Forge talk (Post)
Hi there. I have an issue to read and set time for the controller. In the issue many registers described as writable by 6/16 functions, and, in this time, also(!) readable! For example: I have time registers: min, hour, day, mon, year. By specifications it is possible check time (so I need always update these varibles in loop) and set time by writing these same registers, BUT how to set, if they will immediatle updated by current time after writing? So, I need to separate one address at two variables. I have seen option mark: Overlay of the process image by the holding and input register. I understand this so: When I READ by function 3, I will get variable that connected with the same INPUT address and when I WRITE by 6/16 this will change second variable that connected with HOLDING address. BUT, this mark doesnt work, when I write 6/16 and try to get by function 3, I will get written value instead INPUT variable. So, what to do?
Last updated: 2024-03-20

Post by caprez95 on Trace Restart Visuelement CODESYS Forge talk (Post)
Hallo zusammen. Ich habe schon länger mit dem Problem zu kämpfen, dass ich einen Trend (Visuelement) nicht resetten (neustarten) kann. Ich habe es jetzt mit dem Beispiel hinbekommen, die Trace-Aufzeichnung über die CmpTraceMgr Bibliothek zu steuern. Aber wie bekomme ich diese Trace-Aufzeichnung in ein Visuelement? Der Code sieht wie folgt aus: // Configure trace IF xInit THEN // Create a trace packet PacketConfig.pszName := ADR('IECTraceConfiguration.Trace1'); // Name of trace PacketConfig.pszApplicationName := ADR('IECTraceConfiguration'); // Name of the application PacketConfig.pszIecTaskName := ADR('Task'); // Name of the task PacketConfig.pszComment := ADR('Demo packet'); PacketConfig.ulEveryNCycles := 1; PacketConfig.ulBufferEntries := 1000; PacketConfig.ulFlags := TRACE_PACKET_FLAGS.TRACE_PACKET_FLAGS_TIMESTAMP_MS AND TRACE_PACKET_FLAGS.TRACE_PACKET_FLAGS_AUTOSTART; IF (NOT fbTraceManager.CreatePacket(PacketConfig := PacketConfig, hPacket=>hPacket1)) THEN xError := TRUE; END_IF // Create a trace record RecordConfig.pszVariable := ADR('iSignal'); // This is the name of variable to record RecordConfig.tcClass := INT_TO_UDINT(TypeClass.TYPE_INT); // Type of the recording variable RecordConfig.ulSize := SIZEOF(iSignal); // Size of the recording variable pApp := AppFindApplicationByName('IECTraceConfiguration', 0); AppGetAreaOffsetByAddress(pApp, ADR(iSignal), ADR(RecordConfig.tvaAddress.taAddress.Area.usArea), ADR(RecordConfig.tvaAddress.taAddress.Area.ulOffset)); // Get and set area offsets RecordConfig.tvaAddress.ulAddressFlags := TRACE_VAR_ADDRESS_FLAGS_IEC OR TRACE_VAR_ADDRESS_FLAGS_AREA_OFFSET; RecordConfig.ulGraphColor := 16#FF00FF00; // green RecordConfig.ulGraphType := 1; // Line with points IF (NOT fbTraceManager.AddRecord(RecordConfig := RecordConfig, hPacket := hPacket1, hRecord => hRecord1)) THEN xError := TRUE; END_IF xInit := FALSE; END_IF // Starts the recording IF xStart THEN IF (NOT fbTraceManager.StartPacket(hPacket := hPacket1)) THEN xError := TRUE; END_IF xStart := FALSE; END_IF // Stop the recording IF xStop THEN IF (NOT fbTraceManager.StopPacket(hPacket := hPacket1)) THEN xError := TRUE; END_IF xStop := FALSE; END_IF // Reset the recording IF xReset THEN IF (NOT fbTraceManager.ResetPacket(hPacket := hPacket1)) THEN xError := TRUE; END_IF xReset := FALSE; END_IF
Last updated: 2024-06-04

Post by caprez95 on Trace Restart Visuelement CODESYS Forge talk (Post)
Hello everyone. I've been struggling with the problem for a long time that I can't reset (restart) a trend (visual element). With the example I have now managed to control the trace recording via the CmpTraceMgr library. But how do I get this trace recording into a visual element? The code looks like this: // Configure trace IF xInit THEN // Create a trace packet PacketConfig.pszName := ADR('IECTraceConfiguration.Trace1'); // Name of trace PacketConfig.pszApplicationName := ADR('IECTraceConfiguration'); // Name of the application PacketConfig.pszIecTaskName := ADR('Task'); // Name of the task PacketConfig.pszComment := ADR('Demo packet'); PacketConfig.ulEveryNCycles := 1; PacketConfig.ulBufferEntries := 1000; PacketConfig.ulFlags := TRACE_PACKET_FLAGS.TRACE_PACKET_FLAGS_TIMESTAMP_MS AND TRACE_PACKET_FLAGS.TRACE_PACKET_FLAGS_AUTOSTART; IF (NOT fbTraceManager.CreatePacket(PacketConfig := PacketConfig, hPacket=>hPacket1)) THEN xError := TRUE; END_IF // Create a trace record RecordConfig.pszVariable := ADR('iSignal'); // This is the name of variable to record RecordConfig.tcClass := INT_TO_UDINT(TypeClass.TYPE_INT); // Type of the recording variable RecordConfig.ulSize := SIZEOF(iSignal); // Size of the recording variable pApp := AppFindApplicationByName('IECTraceConfiguration', 0); AppGetAreaOffsetByAddress(pApp, ADR(iSignal), ADR(RecordConfig.tvaAddress.taAddress.Area.usArea), ADR(RecordConfig.tvaAddress.taAddress.Area.ulOffset)); // Get and set area offsets RecordConfig.tvaAddress.ulAddressFlags := TRACE_VAR_ADDRESS_FLAGS_IEC OR TRACE_VAR_ADDRESS_FLAGS_AREA_OFFSET; RecordConfig.ulGraphColor := 16#FF00FF00; // green RecordConfig.ulGraphType := 1; // Line with points IF (NOT fbTraceManager.AddRecord(RecordConfig := RecordConfig, hPacket := hPacket1, hRecord => hRecord1)) THEN xError := TRUE; END_IF xInit := FALSE; END_IF // Starts the recording IF xStart THEN IF (NOT fbTraceManager.StartPacket(hPacket := hPacket1)) THEN xError := TRUE; END_IF xStart := FALSE; END_IF // Stop the recording IF xStop THEN IF (NOT fbTraceManager.StopPacket(hPacket := hPacket1)) THEN xError := TRUE; END_IF xStop := FALSE; END_IF // Reset the recording IF xReset THEN IF (NOT fbTraceManager.ResetPacket(hPacket := hPacket1)) THEN xError := TRUE; END_IF xReset := FALSE; END_IF
Last updated: 2024-06-04

Post by rmaas on Strange Behavior on Raspberry Pi CODESYS Forge talk (Post)
Hello, what you are seeing is not strange behavior. The problem is that everyting is happening in the same program cycle. After the variable Stepnumber is changed from 10 to 20 for example then you want the program to wait with the next EQ until the next program cycle. Else every EQ will be be true because in every line the variable Stepnumber is increased. When the program arrives (still in the same cycle) at the line with the timer, the Stepnumber has been increased to 30 in the meantime and the timer will allway be ON because even though the variable is written to 10 in this line in the next cycle it starts with 10 and will be 30 again before reaching the timer in line 8. Not very good at explaining stuff but i hope you get the problem. See screenshot below for an example of one way you could solve this...
Last updated: 2024-06-18

Post by ernesto881124 on ernesto881124 CODESYS Forge talk (Post)
Hello good morning everyone I would like to ask a question, is it possible to directly connect a device that only contains modbus RTU communication through an R-45 connector, directly to the PC? Or would you need an intermediate device to achieve communication? It would be of great help to me because I cannot achieve communication between the Codesys simulator plc and a Fuji Frenic mini VFD, please help me if anyone has had the same experience. Thank you so much
Last updated: 2023-09-13

Post by jeffgamsby on Accessing ModbusTCP addresses from python CODESYS Forge talk (Post)
Hi, I am new to modbusTCP and I am trying to access Input registers from codesys (3.5.SP13). The offset is 16#0000 and I am trying to access Channel 1[24] %IW24 to pull analog values. I am using pyModbusTCP and I need to supply a modbus address and the number of registers to read. What does 16#0000 mean in terms of the actual offset, how do I translate this number plus the channel to access this info via python? Any help would be appreciated, thank you.
Last updated: 2023-09-20

Post by goki on WAGO RS485 (753-652) on a 750-362 CODESYS Forge talk (Post)
hi guys Maybe someone can help me in this case. Im working with codesys 3.5 with an PFC200 (750-8212) with a Modbus TCP conection to the 750-362. On the 750-362 i have a 4DO, 8DI and a RS485 interface card. the 4DO and 8DI cards a working fine but im strugling with the rs485 card. Does someone have a example for this?
Last updated: 2024-02-08

Post by wind-11 on Simulation Modubus CODESYS Forge talk (Post)
Hallo zusammen, ich bin über die Arbeit auf ein Problem in der Simulation gestoßen. In einem Test-Projekt haben wir eine Modbus Verbindung aufgebaut. Dies wollten wir mit Test-Werten simulieren. Verbindung hat auch funktioniert, jedoch sind leider die Werte eingfrohren und melden keine "laufenden Daten". (Bild im Anhang) Da es meine ersten Berührungspunkte mit Codesys sind und mein Kollege an anderer Stelle weiter arbeitet, hatte ich gehofft, dass vielleicht hier jemand eine Idee hat. MfG und schon jetzt ein Danke vorweg.
Last updated: 2024-03-22

Post by rh-pk on v3.5 SP19 - Modbus TCP Devices - Channel Limit? CODESYS Forge talk (Post)
Hello Vincent, I don't have 75 channels but it works for me as described above without any problems. There is also a parameter MAX_MODBUS_CHANNELS in the library parameters for the IoDrvModbusTCP module. The default value there is 100. Perhaps you are reaching the limit there? The value can be adjusted accordingly. I assume that this value is not accepted in the input dialogue and therefore the 'fixed' limit value 10 is used.
Last updated: 2024-04-10

Post by ph0010421 on General question about library versions CODESYS Forge talk (Post)
Hello I can't find anything to read on the subject so I'll ask here. Up to now, when adding a (for example) Modbus Master, I've selected the version <= the RT version, so if I'm using SP13 Patch 3, I can use a library that doesn't exceed this. I've no idea if this is correct, but it's always worked. Can someone explain the 4.x.x.x libraries that have appeared; are they tied to a RT version? The controller I use is now at SP18Patch60, so should I continue to use 3.5.xxx or change? thanks
Last updated: 2024-05-29

Post by kislov on Change modbus server parameters from program CODESYS Forge talk (Post)
Use in IEC-code: Modbus_Serial_Device.UpdateComPortSettings(...) https://content.helpme-codesys.com/en/libs/IoDrvModbusSerialSlave/Current/pou-ModbusSerialDeviceDiag/UpdateComPortSettings.html Take note: "Only possible if server is disabled (see xEnable Input)" So: Modbus_Serial_Device.xEnable := FALSE; Modbus_Serial_Device.UpdateComPortSettings(...) Modbus_Serial_Device.xEnable := TRUE; Please note that after PLC reboot the values from the GUI (from your screenshot) will be applied again. So you need to save values from HMI in RETAIN and restore them after start of application.
Last updated: 2024-07-17

Post by naps on Welchen I-Port benötige ich? CODESYS Forge talk (Post)
Hallo, ich versuche eine 750-653(konfiguriert per iocheck) über die Wago Modbus Lib einzusetzen. Ich scheitere im moment an dem Korrekten I-Port. Ich habe es mit 75x_653 und IoConfig_Globals.75x653 versucht, jedoch bekomme ich folgenden fehler: ------ Übersetzungslauf gestartet: Applikation: Device.Application ------- Code typisieren... Code erzeugen... [FEHLER] Unbenannt7: POU_1 Device: SPS-Logik: Application: C0032: Typ 'DED.CAADiagDeviceDefault(caa device diagnosis, 3.5.20.0 (caa technical workgroup))' kann nicht in Typ 'WagoTypesCom.I_WagoSysComBase(wagotypescom, 1.6.2.3 (wago))' konvertiert werden Übersetzung abgeschlossen -- 1 Fehler, 0 Warnungen : Kein Download möglich Wie kann ich den die Karte benutzen?
Last updated: 2024-10-01

<< < 1 .. 43 44 45 46 47 .. 49 > >> (Page 45 of 49)

Showing results of 1217

Sort by relevance or date