Digital Inputs (complex data) and generic type

More
14 May 2025 22:19 - 14 May 2025 22:20 #328494 by kubes
Digital Inputs and generic type was created by kubes
I am trying to use a cia402 generic driver what as digital input that is exposed 0x60FD:00 which is a bit for each input signal 16-31 (I only have 9 so bits 16-25). see: infosys.beckhoff.com/english.php?content...18798074891.html&id=

How do I assign the digital input states to hal pins using the generic type driver and the ethercat-conf.xml?  All the sample I find are using custom defined types.  The pins are exposed to the hal in halshow, but they do not follow their state and also are low, so my guess the config is wrong and not reading the inputs states correctly.

Thanks!!!!!!

here is my sniplet of the slave config:

    <slave idx="1" name="Y" type="generic" vid="00000a88" pid="0a880617" configPdos="true">
      <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0" />
      <syncManager idx="2" dir="out">
        <pdo idx="1600">
          <pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="controlword" halType="u32" />
          <pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32" />
          <pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32" />
          <pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32" />
          <pdoEntry idx="60FD" subIdx="00" bitLen="1" halPin="pos-neg" halType="bit" />
          <pdoEntry idx="60FD" subIdx="01" bitLen="1" halPin="pos-pos" halType="bit" />
          <pdoEntry idx="60FD" subIdx="10" bitLen="1" halPin="din1" halType="bit" />
          <pdoEntry idx="60FD" subIdx="11" bitLen="1" halPin="din2" halType="bit" />
          <pdoEntry idx="60FD" subIdx="12" bitLen="1" halPin="din3" halType="bit" />
        </pdo>
      </syncManager>
      <syncManager idx="3" dir="in">
        <pdo idx="1a00">
          <pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="statusword" halType="u32" />
          <pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32" />
          <pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32" />
          <pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="actual-velocity" halType="s32" />
        </pdo>
      </syncManager>
    </slave>



 
Last edit: 14 May 2025 22:20 by kubes.

Please Log in or Create an account to join the conversation.

More
15 May 2025 02:26 #328497 by kubes
Here is the correct and working syntax if anyone else needs it in the future.
    <slave idx="1" name="Y" type="generic" vid="00000a88" pid="0a880617" configPdos="true">
      <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0" />
      <syncManager idx="2" dir="out">
        <pdo idx="1600">
          <pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="controlword" halType="u32" />
          <pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32" />
          <pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32" />
          <pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32" />
        </pdo>
      </syncManager>
      <syncManager idx="3" dir="in">
        <pdo idx="1a00">
          <pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="statusword" halType="u32" />
          <pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32" />
          <pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32" />
          <pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="actual-velocity" halType="s32" />
          <pdoEntry idx="60FD" subIdx="00" bitLen="32" halType="complex">
            <complexEntry bitLen="1" halPin="limit-neg" halType="bit"/>
            <complexEntry bitLen="1" halPin="limit-pos" halType="bit"/>
            <complexEntry bitLen="1" halPin="home-switch" halType="bit"/>
            <complexEntry bitLen="13" />
            <complexEntry bitLen="1" halPin="din1" halType="bit"/>
            <complexEntry bitLen="1" halPin="din2" halType="bit"/>
            <complexEntry bitLen="1" halPin="din3" halType="bit"/>
            <complexEntry bitLen="1" halPin="din4" halType="bit"/>
            <complexEntry bitLen="1" halPin="din5" halType="bit"/>
            <complexEntry bitLen="1" halPin="din6" halType="bit"/>
            <complexEntry bitLen="1" halPin="din7" halType="bit"/>
            <complexEntry bitLen="1" halPin="din8" halType="bit"/>
            <complexEntry bitLen="1" halPin="din9" halType="bit"/>
          </pdoEntry>
        </pdo>
      </syncManager>
    </slave>

The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

Time to create page: 0.054 seconds
Powered by Kunena Forum