Post by e60newbie on Alarmtabelle Historie
CODESYS Forge
talk
(Post)
Hallo Forumsgemeinde, ich stehe vor einem Problemchen wo ich keine Lösung finde. Folgendes: wir haben ein HMI an einer Mobilen Arbeitsmaschine wo sämtliche Fehler in der SPS (nicht im HMI) resettiert werden und im HMI alle als "REP" definiert sind, also selbstresetierend wenn das "Auslösesignal" entfernt wird. Soweit so gut. Nun wenn der Kunde die Maschine mit einem Aktiven Alarm ausschaltet, auch das HMI, bleiben die Fehler in der Historie als aktiv hinterlegt. Es gibt hierzu keine möglichkeit diese zu Quittieren? Sieht eben etwas unschön aus wenn da Fehler als aktiv anzgezeigt werden die uralt sind.
Last updated: 2024-07-17
Post by mubeta on Some 'pathetic' errors in SoftMotion program
CODESYS Forge
talk
(Post)
Yes, this point is part of my misunderstanding. Why, after the execution ot the motion FBs is set to FALSE and exsecuted at lest one time, it must be continuosly called, even if the motion control it's take from another subsequent instruction. This is what I really don't undertand, but what in fact it's happening. For example, in case of stopping a MoveVelocity FB, then Halting the motion by the related FB, the axis at spot goes into error. If there was bad trigger management, the various instructions would NEVER work.
Last updated: 2024-07-18
Post by konradkmiller on Variable assignments
CODESYS Forge
talk
(Post)
I have a snippet of code that I was given as a reference in ST. ** ModbusMasterRTU( xConnect:= TRUE, IPort:= IoConfigGlobals.COM1, // IoConfigGlobals.RS232485Interface, // COM1=Front Port / Serial module = Name of module in Devices structure I/O list udiBaudrate:= 19200, usiDataBits:= 8 , eParity:= WagoTypesCom.eTTYParity.None , eStopBits:= WagoTypesCom.eTTYStopBits.One , eHandshake:= WagoTypesCom.eTTYHandshake.None , ePhysical:= WagoTypesCom.eTTYPhysicalLayer.RS485HalfDuplex, xIsConnected=> xIsConnected , xError=> , oStatus=> , eFrameType:= WagoAppPlcModbus.eMbFrameType.RTU , tTimeOut:= T#1S, utQuery:= utQuery , xTrigger:= SEND, utResponse:= utResponse)** What is the meaning of => in this context?
Last updated: 2024-07-20
Post by mikek10 on Error IoDrvEthernetIP: Connection Failure. (16#1) How to solve
CODESYS Forge
talk
(Post)
Make sure the number of bytes matches the values in the Ethernet/IP>Assembly Information section of the Wagos web management page (expand by clicking on the +). The EDS file will probably have defaulted to assemblies 101 and 104. If you want a different assembly there is an article that tells you how to modify but seems to be unavailable at the moment. An alternative is to modify the .eds file to change the default assemblies.
Last updated: 2024-07-22
Post by mikek10 on Error IoDrvEthernetIP: Connection Failure. (16#1) How to solve
CODESYS Forge
talk
(Post)
Your connection configuration should look something like the attachment. Consuming assembly O->T will be the hex of the assembly you want to reference for output data - I want 102 (DO Data Only) shown in the Wago web page 102 = 16#66. Producing assembly (T->O) is the assembly you require for input data - again shown in the Wago web page - I want 108 (DI Data Only) or 16#6C Then set the number of bytes as per the data in the Wago web page too (both 2 in my case)
Last updated: 2024-07-22
Post by mstehl on Generischer Funktionsbaustein erwartet genau '1' Anzahl von generischen Konstanten-Definitionen
CODESYS Forge
talk
(Post)
Hallo zusammen, ich bin neu hier und beschäftige mich mit Generischen Funktionsbausteinen. Ich bekomme die Fehlermeldung C0547 angezeigt und soll laut dieser eine '1' Anzahl von generischen Konstanten-Definitionen einbauen. Leider kann ich die Dokumentation zum Fehler C0547 nirgendwo finden. Der Generische FB befindet sich in einer Bibliothek. Diese habe ich Bibliotheksrepository Installiert. Wenn ich die Bibliothek nicht kompiliere und einbinde, funktioniert alles Wunderbar. Sobald ich die Bibliothek kompiliere und einbinde wird der Fehler angezeigt. Leider konnte mir der Wago-Support auch nicht weiter helfen. Gruß Michael
Last updated: 2024-07-28
Post by mstehl on Generischer Funktionsbaustein erwartet genau '1' Anzahl von generischen Konstanten-Definitionen
CODESYS Forge
talk
(Post)
Hallo zusammen, ich bin neu hier und beschäftige mich mit Generischen Funktionsbausteinen. Ich bekomme die Fehlermeldung C0547 angezeigt und soll laut dieser eine '1' Anzahl von generischen Konstanten-Definitionen einbauen. Leider kann ich die Dokumentation zum Fehler C0547 nirgendwo finden. Der Generische FB befindet sich in einer Bibliothek. Diese habe ich Bibliotheksrepository Installiert. Wenn ich die Bibliothek nicht kompiliere und einbinde, funktioniert alles Wunderbar. Sobald ich die Bibliothek kompiliere und einbinde wird der Fehler angezeigt. Leider konnte mir der Wago-Support auch nicht weiter helfen. Gruß Michael
Last updated: 2024-07-28
Post by gepert on parker servo and position
CODESYS Forge
talk
(Post)
Hello, Thank you for your response. In my application i use ethercat and while work i do not turn off power. After relative move motor is in standstill. As you suggest I suppose that problem is in drive setting but i do not see any option about increase standstill torque. Below i posted some photos from drive setting manager - PSD Servomanager Do you see any settings responsible for standstill torque? thank you
Last updated: 2024-08-05
Post by shawn-plc on Return value from a tag given a string literal
CODESYS Forge
talk
(Post)
Good afternoon everyone, I am looking for a way to return a value given a string tag path. I put together a pseudo-example to illustrate my use-case and was wondering if anyone in this forum can help. The function fnValueFromTagPath is the function I am looking to either create or use from existing library. I would greatly appreciate it. Please see the attachment for additional detail. -Shawn
Last updated: 2024-08-13
Post by liamb on Converting CANbus to Decimal from signed 2's complement
CODESYS Forge
talk
(Post)
I need to combine two 8 bit CANbus messages to 16 bits signed int then convert to decimal Decimal from signed 2's complement. I've been using the below code to read for new messages, combine them then assign them to a variable What is the best way to do this for from signed 2's complement? fbRxMessage351(Data := RxMessage351Data); IF fbRxMessage351.NewMessage THEN ChargeVoltage := (WORD_TO_REAL((RxMessage351Data[0]) + ((RxMessage351Data[1]) * 256))) * 0.1; END_IF
Last updated: 2024-08-16
Post by micik on ERR_OK not recognized
CODESYS Forge
talk
(Post)
Hello, if I try to use ERR_Ok in my code to check whether the file is open correctly or not, I get an error "Identifier ERR_OK not recognized", I can use plain 0 (zero) instead. But in general, is this a proper way to check for success of file operation since the 4th parameter is a poinmter to RTS_IEC_RESULT, and normally I would expect this to be used somehow. _hFile := SysFileOpen(_sFileName, am:=SysFile.ACCESS_MODE.AM_WRITE, ADR(_result)); IF _result <> 0 THEN udDiag := 100; RETURN;
Last updated: 2024-08-17
Post by richiemuia on Static Analysis, Loading Files via script.
CODESYS Forge
talk
(Post)
I've seen that you can use cmds like below to run SA from scripts. system.commands["staticanalysis", "run"].execute() But I would like to run different SA configuration files to create separate logs and cant find anywhere in the scripting engine if this is supported. This stems from if I turn on everything, SA stops reporting issues in the message log when the list gets over 600ish issues. Once we have done an initial clean up of code this wont be an issue, but I'm trying to get a baseline to track improvement.
Last updated: 2024-08-21
Post by richiemuia on Static Analysis, Loading Files via script.
CODESYS Forge
talk
(Post)
I've seen that you can use cmds like below to run SA from scripts. system.commands["staticanalysis", "run"].execute() But I would like to run different SA configuration files to create separate logs and cant find anywhere in the scripting engine if this is supported. This stems from if I turn on everything, SA stops reporting issues in the message log when the list gets over 600ish issues. Once we have done an initial clean up of code this wont be an issue, but I'm trying to get a baseline to track improvement.
Last updated: 2024-08-21
Post by taqamert on IFM-Sensor ADC READ
CODESYS Forge
talk
(Post)
I have a pressure sensor that measures 0-600 bar and outputs a 0-5V signal, but my PLC reads analog inputs in the 0-10V range and displays a value of 1024 when 10V is applied. In this case, when the sensor outputs 5V at 600 bar, the PLC shows a value of 512. My working range is 0-350 bar, which means the PLC only uses 298 bits in this range, significantly reducing the resolution. What can I do to achieve better resolution within the 0-350 bar range?
Last updated: 2024-08-23
Post by taqamert on IFM-Sensor ADC READ
CODESYS Forge
talk
(Post)
I have a pressure sensor that measures 0-600 bar and outputs a 0-5V signal, but my PLC reads analog inputs in the 0-10V range and displays a value of 1024 when 10V is applied. In this case, when the sensor outputs 5V at 600 bar, the PLC shows a value of 512. My working range is 0-350 bar, which means the PLC only uses 298 bits in this range, significantly reducing the resolution. What can I do to achieve better resolution within the 0-350 bar range?
Last updated: 2024-08-23
Post by taqamert on IFM-Sensor ADC READ
CODESYS Forge
talk
(Post)
I have a pressure sensor that measures 0-600 bar and outputs a 0-5V signal, but my PLC reads analog inputs in the 0-10V range and displays a value of 1024 when 10V is applied. In this case, when the sensor outputs 5V at 600 bar, the PLC shows a value of 512. My working range is 0-350 bar, which means the PLC only uses 298 bits in this range, significantly reducing the resolution. What can I do to achieve better resolution within the 0-350 bar range?
Last updated: 2024-08-23
Post by szotyi on Array of Program
CODESYS Forge
talk
(Post)
Hi! What is the proper and the easiest way to call programs through looping of array of programs, or pointer of program? instead of calling the programs one by one: prog1(inputX: 11); prog2(inputY: 12); prog3(inputZ: 13); similar like: VAR programsToCall : ARRAY [1..3] OF PROGRAM; END_VAR programsToCall[1] := prog1(inputX: 11); programsToCall[2] := prog2(inputY: 12); programsToCall[3] := prog3(inputZ: 13); FOR i := 1 TO 3 DO programsToCall[i] (); END_FOR Thanks.
Last updated: 2024-08-28
Post by egau on Mutate Hash table value
CODESYS Forge
talk
(Post)
Hi, using the ElementCollections Library, why isn't it possible to mutate a value found within a HashTable? From what I understand, the only way to change a value would be to use the RemoveByKey(), followed by AddKeyValuePair(). My goal is to use a Data Structure that works like a Dictionary in Python. The HashTable seems to come close to this, except that the values themselves seem to be immutable... In python, we can mutate a dict easily (see attached picture).
Last updated: 2024-08-29
Post by timvh on Unable to Connect to Modbus RTU Device
CODESYS Forge
talk
(Post)
If your Control Win is the Modbus "Master" then your configuration should be something like: Modbus_COM (Serial port) - Modbus Master (this is the Control Win SoftPLC actively setting up the communication) - Modbus Slave (this is then your WAGO 750-315) You need to add channels to the Modbus Slave configuration to inform the master which variables to read/write from the Wago module. The way you configured it now, the Control Win is also a slave. PS, don't forget to put the PLC (Control Win) in Run.
Last updated: 2024-09-03
Post by alex-at-xana on EThercat Dynamic configuration
CODESYS Forge
talk
(Post)
Ah - forgot another question as it may be related to the PLL problem: I am executing a 4ms cycle. I do not call (from what I know) the Ethercat_MAster periodically in my program. The bus cycle task is set to the Ethercat task. I would assume that the master should send 250 frames per second. Yet, the status of the master says it transmits 500 frames per second which would indicate that the master is called twice. Any ideas there?
Last updated: 2024-09-10
Post by rmaas on Webvisu cliënt responsiveness
CODESYS Forge
talk
(Post)
hi, Does anyone know how to optimise the responisiveness of the web visualisation? When i open the webvisu on my laptop it is very responsive, no noticable lag. But when i open it on the HMI (web client) at the customer site there is a lag of +-500 when opening popups etc. The hmi used is: Phoenix Contact WP 6156-WHPS full hd Arm® Cortex®-A53, 1.6 GHz qt web browser The clients performance seems to be the problem, what can i do in my project to decrease the load for the client?
Last updated: 2024-09-28
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
Post by totorovic on Hard shutdown: no code on device after power on
CODESYS Forge
talk
(Post)
However, if faulty EtherCAT cables were the issue, why wouldn't the error occur during normal operation? Why would bad cables only cause problems during a hard shutdown? I don't have the answer to this question. One last question: When you encountered this behavior, did you see a similar error in your logs? i.e, an "AccessViolation" exception in the EtherCAT Task Yes. It was the exeption you can see in attached file.
Last updated: 2024-10-03
Post by vstrom on Recipe definition, how to have the Name string in current language?
CODESYS Forge
talk
(Post)
I'd like to know if it is possible to have the "Name" field, in the recipe definition, language dependent. Something like to have the possibility to put there a string ID that will be add to the GlobalTextList. In this way it can be translated and when showed in a Visualization screen its value depend on the current language. Thanks.
Last updated: 2024-10-04
Post by c3po on Farbwechsel -> hilfe für Anfänger
CODESYS Forge
talk
(Post)
wow und wie das Problem gelöst wurde für den Nächsten Anfänger?! Naja egal. Das mit dem Farbwechsel ist bei mir kein Problem, ich frage mich nur, warum beim Farbverlauf immer als Alarmfarbe in der Mitte weiß genutzt wird?! Meine Buttons sind alle dunkel und haben weiße Schrift, die kann man dann natürlich gar nicht mehr lesen. Kann man das noch anpassen? Also, dass beim "Alarmzustand" der Farbwechsel nicht als zentrale Farbe weiß hat? Die Farbe die ich auswählen kann ist immer die außen liegende Farbe -.-
Last updated: 2024-10-07
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
.