AGME

  • Dear Community,

    We have a program in ctrx CORE in CodeSys, and there we create some csv files and store them in a uSD installed on the unit. We want to find a method to be able to save this information in an external PC. It may be in file format, or in a database, but we want to store the information in an external PC.

    It could also work if we can move the file from ctrx unit to this external PC (although it's not the first option).

    How could we solve this?

    Thanks

    CodeShepherd

    Hello,

    I generate CSV files using the CXA_FileAsync library, and I need to send those files to my PC from the CtrlX CORE.

    For this I want to use the CXA_SocketCOMM library, and send them via TFTP.

    Could you send me an example of how to use the IL_TFTPPutFileAsync function.

    In the function it is necessary to indicate the remote IP address, in this address I must indicate the address configured to the port of my PC that is connected with the engineering port XF10 of the CtrlX CORE?

    Best regards

    View 1 more replies

    Hello,

    i continue with the issue, can you help me??

    I use the IL_TFTPPutFileAsync as you can see in the next image.

    The local file that i want to send to a remote file in my PC is save in the next directory.

    But when i execute the function IL_TFTPPutFileAsync the file is not send ant in the function appear the next error.

    I have also tried pinging with the IL_PingAsync function to check that the error is not a communication error. And the ping to the address configured in the PLC port to which the CtrlX CORE CPU is connected is correct.

     

    Thanks

     

    Hello,

    When I access a screen in which I am using ctrlX CORE variables communicated via OPCUA to WebiQ to display some objects, the variables have a communication delay and at first all the elements that should be hidden by the state of the variable to which they are associated are visible. After a few seconds they are hidden by the state of the variable.
    What can I do to make the communication of these variables faster?

    Maybe i can use a load screen, which is hidden after a time. How i can hide a screen after a time?

    Best regards.

    webiq-sk

    Regarding fixing of the issue:
    These factors influence the speed at which you observe changes because of item changes in widgets:
    - the speed of the OPC-UA server (compare with UA Expert from another system connected to the same network through the same network type)
    - the network speed and latency of the server system -> always use a wired connection for best performance
    - the network speed and latency of the browser system -> always use a wired connection for best performance
    - a virus scanner and/or firewall on the server and/or on the browser system
    - the CPU of the server system
    - the CPU of the browser system
    - the GPU of the browser system

    Please note an OPC UA change has to go through these network routes:
    - OPC-UA-Server <-> WebIQ Server
    - WebIQ Server <-> Browser

    Regarding the workaround:
    You should hide the container that contains the widgets via CSS and then show it via JavaScript when the item is available. Only showing a dialog will likely also show the other widgets before as the dialog will be initialized via JavaScript (asynchronous). If the container itself is hidden with CSS it will never be shown initially which is probably what you want.

    JavaScript offers the setTimeout method for delays: 
    https://www.w3schools.com/jsref/met_win_settimeout.asp

     

    An further issue is discussed in: Delay-on-loading-data 

    The workaround disucssed there is to have the items always subscribed. An altrnative to subscribe variables via trend, is to subscribe them in a local script, which is always active (so attach it e.g. to the root element of your project. 

    const im = shmi.requires("visuals.session.ItemManager");
    im.subscribe([
       "GVL_BASE.stTeachMgr.myVar1", 
       "GVL_BASE.stTeachMgr.myVar2"],
       // optinal callback function, is not necessary 
       // for you and can be removed
       (name, value, type) => {});

     Keep in mind that you shouldn't do this workaround for too many variable, to keep the load of PLC and communicaton small.

    Hello,

    it is possible to have a base user, who does not have to enter a password to log in, but for some functionalities he/she has to change user to have access, and that these users do have a password.
    Since in User Manager, for each user created is mandatory to enter a password, and I need that the user with less possibilities of modification of parameters does not have to enter a password.

    Thanks and regards.

    View 1 more replies

    If I use auto-login on the unprivileged user, every time I do a log -out to log in with a privileged user, it automatically logs in with the username configured for auto-login. And I need to be able to log-in sometimes with privileged users.
    How can I do that?

     

    Thanks and regards.

    webiq-sk

    Simply set the prevent auto login option when using the logout UI Action:

     

     

    Hello,

    I am using the ctrlX CORE as a Profinet device, connecting a PLC (Siemens S7-1200) to the Ethernet port XF51. I have managed to get a connection between the two devices, but after a while the connection drops and automatically reconnects.
    I will tell you how I have made the connection so that you have more data to be able to make a more exhaustive analysis of what my problem is.

    For this, I have added the add-on Profinet Device 4.2.1.0, and as you can see in the following picture I have added the Ethernet device and the Codesys Profinet Device. To the Codesys profinet device, I have added different input and output modules that will be activated or displayed from the external PLC to the ctrlX CORE.

     

    The profinet io task, I have configured it with a priority of 21 and 1ms of scan.
    The Profinet communication task I have configured with a priority of 24 and a scan cycle of 10 ms.

    As you can see in the following image, I have a connection with the PLC S7-1200 but this connection after a while goes to error and automatically reconnects.

     

    What could be the cause of the connection between the two devices being disconnected?

     

    Thanks and best regards

     

    I have increased the cycle time of the Profinet_IOtask task to its maximum 4ms, and now the connection is a bit more stable, but the communication still stops after a while.

    Regards.

    Hello.

    please increase the watchdog e.g. to 20 for the device at the PROFINET Master. Then it should work with 1ms cycle time at ctrlX CORE too. I don't know how to set it at S7 PN controller, but I added a screenshot of IndraWorks. If there are still some errors you should increase the value once again.

    kind regards

     

About

Member since
03/28/2023