FORUM CTRLX AUTOMATION
ctrlX World Partner Apps for ctrlX AUTOMATION
11-29-2022 02:07 PM
Hello !
I ask your help for a problem I running into with RTA Ethercat modules as described in the subject.
As a matter of fact, on datalayer I can only see 1 analog input out of 8 available on RTA Ethercat Analog module.
Alike, I can see only 1 encoder out of 3 available when I use RTA Ethercat Encoder module.
Accordingly, from PLC via DataLayer I can only read 1 analog and 1 encoder.
Ethercat configuration seems right to me for both modules.
I attached to this message the XML file from RTA and two zip file. One for each of the modules including its Ctrlx I/O Engineering project.
I thank in advance for your assistance or for suggesting any alternative product you already tested for analog and encoder input.
Regards,
Massimo
( Analog module )
( Encoder module )
Solved! Go to Solution.
12-06-2022 07:54 AM - edited 12-06-2022 08:29 AM
As our Data Layer is addressing all the data by its name there is a problem with the XML file you provided. As all data is named the same ("Value"):
...
Outputs</Name>
<Entry>
<Index>#x7000</Index>
<SubIndex>1</SubIndex>
<BitLen>16</BitLen>
<Name>Value</Name>
<DataType>INT</DataType>
</Entry>
<Entry>
<Index>#x7000</Index>
<SubIndex>2</SubIndex>
<BitLen>16</BitLen>
<Name>Value</Name>
<DataType>INT</DataType>
</Entry>
<Entry>
<Index>#x7000</Index>
<SubIndex>3</SubIndex>
<BitLen>16</BitLen>
<Name>Value</Name>
<DataType>INT</DataType>
</Entry>
...
the internal IO memory map is correct,
{
"variables": [
{
"name": "P379/First_bank_Analog_Inputs.Value",
"bitoffset": 80,
"bitsize": 16,
"type": "types/plc/int"
},
{
"name": "P379/First_bank_Analog_Inputs.Value",
"bitoffset": 96,
"bitsize": 16,
"type": "types/plc/int"
},
{
"name": "P379/First_bank_Analog_Inputs.Value",
"bitoffset": 112,
"bitsize": 16,
"type": "types/plc/int"
},
...
but because of the names the Data Layer adds them as one datum.
I tried manipulating the XML file just adding a number to the name and increasing the revision
...
Outputs</Name>
<Entry>
<Index>#x7000</Index>
<SubIndex>1</SubIndex>
<BitLen>16</BitLen>
<Name>Value</Name>
<DataType>INT</DataType>
</Entry>
<Entry>
<Index>#x7000</Index>
<SubIndex>2</SubIndex>
<BitLen>16</BitLen>
<Name>Value1</Name>
<DataType>INT</DataType>
</Entry>
<Entry>
<Index>#x7000</Index>
<SubIndex>3</SubIndex>
<BitLen>16</BitLen>
<Name>Value2</Name>
<DataType>INT</DataType>
</Entry>
...
and it seems to work:
EDIT: From ctrlX IO Engineering version 1.18 on (Coming up mid of December) you can also rename the channels after adding them. But for now manipulating the XML file is the only workaround.
For the "Encoder" the problem is similar but the PDO lists have the same name and must be renamed. This is already possible via the engineering.
12-06-2022 09:21 AM
Thanks a lot for you support.
I will go on with the workaround of manipulating the XML just for testing with our customer.
Probably, the by the time of commissioning I'll be be taking advance of ctrlX IO Engineering version 1.18.
Regards,
Massimo