I am developing an object for very specific welding device because of its ardware structure. Communication with device is done using 2 pcs of slave bridge EL6695 modules. The problem is following: Device has 2 servo axis which can be controlled using separate commands, so it has to work independently. For control of Axis 1 the first EL6695 module is used. For Axis 2 the second. But... Part of data area of first EL6695 is also used for common control of top level section of device which is common to both axes. It has command like PowerOn, PowerOff, ProgNoSelection. Now I am not sure how to structure my object. I have some scenarios and i would like to know your opinion. Solution 1 Create command handler for control of common functionality of device and 2 separate objects for both Axis. Solution 2 Create independent objects. One for control of device itself and 2 other for separete control of Axes. Do you have any experience with similar task?
... View more
I also need it for one project. We need to have communication channel open in every mode and not close it during the cancel, bacause of running communication. It would be nice to have BOOL parameter ParImm(ParCfg).CloseCommOnCancel.
... View more
I would like to discuss how to corretly handle object command if peripheral is not ready because of missing EtherCAT connection. I have object containing command Start measurement. If the command is executed it calls StartMeas method of my peripheral. If EtherCAT connection is missing StartMeas is executed but it remains in step 0 waiting for some signal from hardware (e.g. CycleEnd = FALSE). How to handle the state EtherCAT does not work? I have few ideas, but I would like to know what is the best or standard solution. My ideas are: I can ask in object OnExecStart if the device is ready and throw en event for this state. I think I'd rather deal with it on the periphery side. I can put something at the begining of StartMeas peripheral method to ask for EtherCAT state. But how? IF (BusComm, DeviceReady ) from OpconEcSlave???
... View more
Our project has CX2020 with Control Plus V1 and later we bought mPad as a primary display. Now we have some issues related to Data Set Manager. HMI from mPad was not able to get type data files. After few hours I figured out the reason for that is on CX2020 is current user OpconUser but on the mPad we have NexeedUser. Bacause of this system is not able to acces \\PlcTarget\DataSetmanager share. After we tried to map share manually using OpconUser credentials it started to work and it works also after PLC restart. My question is how to corrently handle this situation. Install older version of image to the mPad? Create OpconUser on the mPad? Anything else?
... View more
Hello @nexidator voice of people 😀 says we need: LEFT, RIGHT, MID, REPLACE and maybe some methods know from higher languages like Split, SwapCase, IsDecimal, IsNumeric, IsAscii, Count....
... View more