Beckhoff EL2522 lcec xml file

More
10 months 3 weeks ago #339692 by emresensoy
There is no builtin driver for EL2522,
I need help to convert ethercat xml output to lcec xml
Thanks,
Code:
<EtherCATInfo>     <!-- Slave 6 -->     <Vendor>       <Id>2</Id>     </Vendor>     <Descriptions>       <Devices>         <Device>           <Type ProductCode="#x09da3052" RevisionNo="#x00160000">EL2522</Type>           <Name><![CDATA[EL2522 2K. Pulse Train Ausgang]]></Name>           <Sm Enable="1" StartAddress="#x1000" ControlByte="#x26" DefaultSize="128" />           <Sm Enable="1" StartAddress="#x1080" ControlByte="#x22" DefaultSize="128" />           <Sm Enable="1" StartAddress="#x1100" ControlByte="#x24" DefaultSize="28" />           <Sm Enable="1" StartAddress="#x1280" ControlByte="#x20" DefaultSize="16" />           <RxPdo Sm="2" Fixed="1" Mandatory="1">             <Index>#x1600</Index>             <Name>PTO RxPDO-Map Control Ch.1</Name>             <Entry>               <Index>#x7000</Index>               <SubIndex>1</SubIndex>               <BitLen>1</BitLen>               <Name>Frequency select</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x7000</Index>               <SubIndex>2</SubIndex>               <BitLen>1</BitLen>               <Name>Disable ramp</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x7000</Index>               <SubIndex>3</SubIndex>               <BitLen>1</BitLen>               <Name>Go counter</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>13</BitLen>             </Entry>             <Entry>               <Index>#x7000</Index>               <SubIndex>17</SubIndex>               <BitLen>16</BitLen>               <Name>Frequency value</Name>               <DataType>UINT16</DataType>             </Entry>           </RxPdo>           <RxPdo Sm="2" Fixed="1" Mandatory="1">             <Index>#x1603</Index>             <Name>PTO RxPDO-Map Target Ch.1</Name>             <Entry>               <Index>#x7000</Index>               <SubIndex>18</SubIndex>               <BitLen>32</BitLen>               <Name>Target counter value</Name>               <DataType>UINT32</DataType>             </Entry>           </RxPdo>           <RxPdo Sm="2" Fixed="1" Mandatory="1">             <Index>#x1605</Index>             <Name>PTO RxPDO-Map Control Ch.2</Name>             <Entry>               <Index>#x7010</Index>               <SubIndex>1</SubIndex>               <BitLen>1</BitLen>               <Name>Frequency select</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x7010</Index>               <SubIndex>2</SubIndex>               <BitLen>1</BitLen>               <Name>Disable ramp</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x7010</Index>               <SubIndex>3</SubIndex>               <BitLen>1</BitLen>               <Name>Go counter</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>13</BitLen>             </Entry>             <Entry>               <Index>#x7010</Index>               <SubIndex>17</SubIndex>               <BitLen>16</BitLen>               <Name>Frequency value</Name>               <DataType>UINT16</DataType>             </Entry>           </RxPdo>           <RxPdo Sm="2" Fixed="1" Mandatory="1">             <Index>#x1608</Index>             <Name>PTO RxPDO-Map Target Ch.2</Name>             <Entry>               <Index>#x7010</Index>               <SubIndex>18</SubIndex>               <BitLen>32</BitLen>               <Name>Target counter value</Name>               <DataType>UINT32</DataType>             </Entry>           </RxPdo>           <RxPdo Sm="2" Fixed="1" Mandatory="1">             <Index>#x160b</Index>             <Name>ENC RxPDO-Map Control Ch.1</Name>             <Entry>               <Index>#x0000</Index>               <BitLen>2</BitLen>             </Entry>             <Entry>               <Index>#x7020</Index>               <SubIndex>3</SubIndex>               <BitLen>1</BitLen>               <Name>Set counter</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>12</BitLen>             </Entry>             <Entry>               <Index>#x7020</Index>               <SubIndex>16</SubIndex>               <BitLen>1</BitLen>               <Name>Reserved</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x7020</Index>               <SubIndex>17</SubIndex>               <BitLen>32</BitLen>               <Name>Set counter value</Name>               <DataType>UINT32</DataType>             </Entry>           </RxPdo>           <RxPdo Sm="2" Fixed="1" Mandatory="1">             <Index>#x160d</Index>             <Name>ENC RxPDO-Map Control Ch.2</Name>             <Entry>               <Index>#x0000</Index>               <BitLen>2</BitLen>             </Entry>             <Entry>               <Index>#x7030</Index>               <SubIndex>3</SubIndex>               <BitLen>1</BitLen>               <Name>Set counter</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>12</BitLen>             </Entry>             <Entry>               <Index>#x7030</Index>               <SubIndex>16</SubIndex>               <BitLen>1</BitLen>               <Name>Reserved</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x7030</Index>               <SubIndex>17</SubIndex>               <BitLen>32</BitLen>               <Name>Set counter value</Name>               <DataType>UINT32</DataType>             </Entry>           </RxPdo>           <TxPdo Sm="3" Fixed="1" Mandatory="1">             <Index>#x1a00</Index>             <Name>PTO TxPDO-Map Status Ch.1</Name>             <Entry>               <Index>#x6000</Index>               <SubIndex>1</SubIndex>               <BitLen>1</BitLen>               <Name>Sel. Ack/End counter</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6000</Index>               <SubIndex>2</SubIndex>               <BitLen>1</BitLen>               <Name>Ramp active</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>4</BitLen>             </Entry>             <Entry>               <Index>#x6000</Index>               <SubIndex>7</SubIndex>               <BitLen>1</BitLen>               <Name>Error</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>6</BitLen>             </Entry>             <Entry>               <Index>#x6000</Index>               <SubIndex>14</SubIndex>               <BitLen>1</BitLen>               <Name>Sync error</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>1</BitLen>             </Entry>             <Entry>               <Index>#x6000</Index>               <SubIndex>16</SubIndex>               <BitLen>1</BitLen>               <Name>TxPDO Toggle</Name>               <DataType>BOOL</DataType>             </Entry>           </TxPdo>           <TxPdo Sm="3" Fixed="1" Mandatory="1">             <Index>#x1a01</Index>             <Name>PTO TxPDO-Map Status Ch.2</Name>             <Entry>               <Index>#x6010</Index>               <SubIndex>1</SubIndex>               <BitLen>1</BitLen>               <Name>Sel. Ack/End counter</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6010</Index>               <SubIndex>2</SubIndex>               <BitLen>1</BitLen>               <Name>Ramp active</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>4</BitLen>             </Entry>             <Entry>               <Index>#x6010</Index>               <SubIndex>7</SubIndex>               <BitLen>1</BitLen>               <Name>Error</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>6</BitLen>             </Entry>             <Entry>               <Index>#x6010</Index>               <SubIndex>14</SubIndex>               <BitLen>1</BitLen>               <Name>Sync error</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>1</BitLen>             </Entry>             <Entry>               <Index>#x6010</Index>               <SubIndex>16</SubIndex>               <BitLen>1</BitLen>               <Name>TxPDO Toggle</Name>               <DataType>BOOL</DataType>             </Entry>           </TxPdo>           <TxPdo Sm="3" Fixed="1" Mandatory="1">             <Index>#x1a03</Index>             <Name>ENC TxPDO-Map Status Ch.1</Name>             <Entry>               <Index>#x0000</Index>               <BitLen>2</BitLen>             </Entry>             <Entry>               <Index>#x6020</Index>               <SubIndex>3</SubIndex>               <BitLen>1</BitLen>               <Name>Set counter done</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6020</Index>               <SubIndex>4</SubIndex>               <BitLen>1</BitLen>               <Name>Counter underflow</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6020</Index>               <SubIndex>5</SubIndex>               <BitLen>1</BitLen>               <Name>Counter overflow</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>8</BitLen>             </Entry>             <Entry>               <Index>#x6020</Index>               <SubIndex>14</SubIndex>               <BitLen>1</BitLen>               <Name>Sync error</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6020</Index>               <SubIndex>15</SubIndex>               <BitLen>1</BitLen>               <Name>TxPDO State</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6020</Index>               <SubIndex>16</SubIndex>               <BitLen>1</BitLen>               <Name>TxPDO Toggle</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6020</Index>               <SubIndex>17</SubIndex>               <BitLen>32</BitLen>               <Name>Counter value</Name>               <DataType>UINT32</DataType>             </Entry>           </TxPdo>           <TxPdo Sm="3" Fixed="1" Mandatory="1">             <Index>#x1a05</Index>             <Name>ENC TxPDO-Map Status Ch.2</Name>             <Entry>               <Index>#x0000</Index>               <BitLen>2</BitLen>             </Entry>             <Entry>               <Index>#x6030</Index>               <SubIndex>3</SubIndex>               <BitLen>1</BitLen>               <Name>Set counter done</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6030</Index>               <SubIndex>4</SubIndex>               <BitLen>1</BitLen>               <Name>Counter underflow</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6030</Index>               <SubIndex>5</SubIndex>               <BitLen>1</BitLen>               <Name>Counter overflow</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x0000</Index>               <BitLen>8</BitLen>             </Entry>             <Entry>               <Index>#x6030</Index>               <SubIndex>14</SubIndex>               <BitLen>1</BitLen>               <Name>Sync error</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6030</Index>               <SubIndex>15</SubIndex>               <BitLen>1</BitLen>               <Name>TxPDO State</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6030</Index>               <SubIndex>16</SubIndex>               <BitLen>1</BitLen>               <Name>TxPDO Toggle</Name>               <DataType>BOOL</DataType>             </Entry>             <Entry>               <Index>#x6030</Index>               <SubIndex>17</SubIndex>               <BitLen>32</BitLen>               <Name>Counter value</Name>               <DataType>UINT32</DataType>             </Entry>           </TxPdo>         </Device>       </Devices>     </Descriptions>   </EtherCATInfo>

Please Log in to join the conversation.

More
10 months 3 weeks ago #339693 by Hakan
Replied by Hakan on topic Beckhoff EL2522 lcec xml file
See if the output of "lcec_configgen" will work. 

Please Log in to join the conversation.

More
10 months 3 weeks ago #339694 by emresensoy
Hakan, thank you very much for your answer. I'm curious about something else. For example, there's a built-in driver for the EL3062. Where is this file or driver stored on the hard drive? How can I view its contents?

Please Log in to join the conversation.

More
10 months 3 weeks ago #339695 by Hakan
Replied by Hakan on topic Beckhoff EL2522 lcec xml file
Should be this file  github.com/linuxcnc-ethercat/linuxcnc-et...evices/lcec_el3xxx.c
All drivers are compiled into the lcec component  /usr/lib/linuxcnc/modules/lcec.so

 

Please Log in to join the conversation.

More
10 months 3 weeks ago #339713 by emresensoy
with lcec_configgen, It worked with a few minor tweaks. Great.
Code:
<slave idx="6" type="generic" vid="0x00000002" pid="0x09da3052" configPdos="true">       <!--EL2522 2K. Pulse Train Ausgang-->       <syncManager idx="0" dir="in"/>       <syncManager idx="1" dir="out"/>       <syncManager idx="2" dir="out">         <pdo idx="1600">           <!--PTO RxPDO-Map Control Ch.1-->           <pdoEntry idx="7000" subIdx="01" bitLen="1" halPin="ch-1-frequency-select" halType="bit"/>           <pdoEntry idx="7000" subIdx="02" bitLen="1" halPin="ch-1-disable-ramp" halType="bit"/>           <pdoEntry idx="7000" subIdx="03" bitLen="1" halPin="ch-1-go-counter" halType="bit"/>           <pdoEntry idx="7000" subIdx="11" bitLen="16" halPin="ch-1-frequency-value" halType="u32"/>         </pdo>         <pdo idx="1603">           <!--PTO RxPDO-Map Target Ch.1-->           <pdoEntry idx="7000" subIdx="12" bitLen="32" halPin="ch-1-target-counter-value" halType="u32"/>         </pdo>         <pdo idx="1605">           <!--PTO RxPDO-Map Control Ch.2-->           <pdoEntry idx="7010" subIdx="01" bitLen="1" halPin="ch-2-frequency-select" halType="bit"/>           <pdoEntry idx="7010" subIdx="02" bitLen="1" halPin="ch-2-disable-ramp" halType="bit"/>           <pdoEntry idx="7010" subIdx="03" bitLen="1" halPin="ch-2-go-counter" halType="bit"/>           <pdoEntry idx="7010" subIdx="11" bitLen="16" halPin="ch-2-frequency-value" halType="u32"/>         </pdo>         <pdo idx="1608">           <!--PTO RxPDO-Map Target Ch.2-->           <pdoEntry idx="7010" subIdx="12" bitLen="32" halPin="ch-2-target-counter-value" halType="u32"/>         </pdo>         <pdo idx="160b">           <!--ENC RxPDO-Map Control Ch.1-->           <pdoEntry idx="7020" subIdx="03" bitLen="1" halPin="ch-1-set-counter" halType="bit"/>           <pdoEntry idx="7020" subIdx="10" bitLen="1" halPin="ch-1-reserved" halType="bit"/>           <pdoEntry idx="7020" subIdx="11" bitLen="32" halPin="ch-1-set-counter-value" halType="u32"/>         </pdo>         <pdo idx="160d">           <!--ENC RxPDO-Map Control Ch.2-->           <pdoEntry idx="7030" subIdx="03" bitLen="1" halPin="ch-2-set-counter" halType="bit"/>           <pdoEntry idx="7030" subIdx="10" bitLen="1" halPin="ch-2-reserved" halType="bit"/>           <pdoEntry idx="7030" subIdx="11" bitLen="32" halPin="ch-2-set-counter-value" halType="u32"/>         </pdo>       </syncManager>       <syncManager idx="3" dir="in">         <pdo idx="1a00">           <!--PTO TxPDO-Map Status Ch.1-->           <pdoEntry idx="6000" subIdx="01" bitLen="1" halPin="ch-1-sel-ack-end-counter" halType="bit"/>           <pdoEntry idx="6000" subIdx="02" bitLen="1" halPin="ch-1-ramp-active" halType="bit"/>           <pdoEntry idx="6000" subIdx="07" bitLen="1" halPin="ch-1-error" halType="bit"/>           <pdoEntry idx="6000" subIdx="0e" bitLen="1" halPin="ch-1-sm3-sync-error" halType="bit"/>           <pdoEntry idx="6000" subIdx="10" bitLen="1" halPin="ch-1-txpdo-toggle" halType="bit"/>         </pdo>         <pdo idx="1a01">           <!--PTO TxPDO-Map Status Ch.2-->           <pdoEntry idx="6010" subIdx="01" bitLen="1" halPin="ch-2-sel-ack-end-counter" halType="bit"/>           <pdoEntry idx="6010" subIdx="02" bitLen="1" halPin="ch-2-ramp-active" halType="bit"/>           <pdoEntry idx="6010" subIdx="07" bitLen="1" halPin="ch-2-error" halType="bit"/>           <pdoEntry idx="6010" subIdx="0e" bitLen="1" halPin="ch-2-sm3-sync-error" halType="bit"/>           <pdoEntry idx="6010" subIdx="10" bitLen="1" halPin="ch-2-txpdo-toggle" halType="bit"/>         </pdo>         <pdo idx="1a03">           <!--ENC TxPDO-Map Status Ch.1-->           <pdoEntry idx="6020" subIdx="03" bitLen="1" halPin="ch-1-set-counter-done" halType="bit"/>           <pdoEntry idx="6020" subIdx="04" bitLen="1" halPin="ch-1-counter-underflow" halType="bit"/>           <pdoEntry idx="6020" subIdx="05" bitLen="1" halPin="ch-1-counter-overflow" halType="bit"/>           <pdoEntry idx="6020" subIdx="0e" bitLen="1" halPin="ch-1-sm3--sync-error" halType="bit"/>           <pdoEntry idx="6020" subIdx="0f" bitLen="1" halPin="ch-1-txpdo-state" halType="bit"/>           <pdoEntry idx="6020" subIdx="10" bitLen="1" halPin="ch-1-sm3--txpdo-toggle" halType="bit"/>           <pdoEntry idx="6020" subIdx="11" bitLen="32" halPin="ch-1-counter-value" halType="u32"/>         </pdo>         <pdo idx="1a05">           <!--ENC TxPDO-Map Status Ch.2-->           <pdoEntry idx="6030" subIdx="03" bitLen="1" halPin="ch-2-set-counter-done" halType="bit"/>           <pdoEntry idx="6030" subIdx="04" bitLen="1" halPin="ch-2-counter-underflow" halType="bit"/>           <pdoEntry idx="6030" subIdx="05" bitLen="1" halPin="ch-2-counter-overflow" halType="bit"/>           <pdoEntry idx="6030" subIdx="0e" bitLen="1" halPin="ch-2-sm3--sync-error" halType="bit"/>           <pdoEntry idx="6030" subIdx="0f" bitLen="1" halPin="ch-2-txpdo-state" halType="bit"/>           <pdoEntry idx="6030" subIdx="10" bitLen="1" halPin="ch-2-sm3--txpdo-toggle" halType="bit"/>           <pdoEntry idx="6030" subIdx="11" bitLen="32" halPin="ch-2-counter-value" halType="u32"/>         </pdo>       </syncManager>     </slave>

Please Log in to join the conversation.

More
2 months 2 weeks ago #348691 by emresensoy
Dear Mr @hakan, I want to get your mail address if possible,
mine is emresensoy@gmail.com

Please Log in to join the conversation.

More
2 months 2 weeks ago #348706 by nhof
Replied by nhof on topic Beckhoff EL2522 lcec xml file
Hello emresensoy, I recently wrote a driver for EL2522 which is available since linuxcnc-ethercat v1.41.2.

It supports Continuous Position (CSP-like) mode currently, as seen here: github.com/linuxcnc-ethercat/linuxcnc-et...ster/examples/el2522

I hope you will find this useful, please let me know if you try the driver and encounter any problem, as I may be able to assist. Thanks.

Please Log in to join the conversation.

Time to create page: 0.092 seconds
Powered by Kunena Forum