- Posts: 1111
- Thank you received: 114
Ethercat HAL driver
- bkt
- Offline
- Platinum Member
-
regards
bkt
Please Log in or Create an account to join the conversation.
- bkt
- Offline
- Platinum Member
-
- Posts: 1111
- Thank you received: 114
My xml file:
My pieces of .hal file:
My piece of ini file for X axes for example (other is the same):
Drive is Maxine EP3 in attach some interesting manual page ... for sure value of position is in Dint .... not sure these infuences the system ... I assumed that the conversion to float is automatic.
Please Log in or Create an account to join the conversation.
- db1981
- Offline
- Platinum Member
-
- Posts: 790
- Thank you received: 276
-You want to control the drive in velocity mode?
-You have problem with the pos feedbackvalue? Feedback from the drive is an signed Integer, automatic conversion is not automatic done, every 16 bits, there will be an huge step in the value. I think the feedback is an raw value, so you need something like an counter/encoder logic.
Please Log in or Create an account to join the conversation.
- arvidb
- Offline
- Platinum Member
-
- Posts: 459
- Thank you received: 158
Which one to use is supposedly controlled by the LC_NUMERIC setting on the system (run 'locale' to check your setting). However I have mine set to sv_SE.UTF-8 (Swedish), and the Swedish standard is to use a comma as radix, but I still use a period in my .hal config files, for example, so... yeah, I don't know if it matters.
Please Log in or Create an account to join the conversation.
- arvidb
- Offline
- Platinum Member
-
- Posts: 459
- Thank you received: 158
Please Log in or Create an account to join the conversation.
- bkt
- Offline
- Platinum Member
-
- Posts: 1111
- Thank you received: 114
@DB1981
-You want to control the drive in velocity mode?
-You have problem with the pos feedbackvalue? Feedback from the drive is an signed Integer, automatic conversion is not automatic done, every 16 bits, there will be an huge step in the value. I think the feedback is an raw value, so you need something like an counter/encoder logic.
Velocity mode no for sure ... Because RXPDO 1601 and TxPDO1A01 ... plus feedback (6064h) is DINT value as 607Ah (cmdPosition) that is DINT. <sdoConfig idx="6060" subIdx="0"><sdoDataRaw data="08"/></sdoConfig> for you these is CSV and not CSP ??? but CSP in maxine manual is bit=7 so 08 is correct value i think (0-1-2 ....7 means i count 8 number) ... is not right these?
@arvidb
bkt: I'm not sure if this actually matters, but one thing that looks strange in your xml file is that you're mixing radix characters between the scale parameters: sometimes you use '.' (period) and sometimes ',' (comma).
if you read better ',' (comma) for sign decimal point is comment out .... but actually reading the topic you don't notice that these lines are commented out .... however do not worry I have already noticed that it was a problem .... in fact the xml file and Lcnc accept the '.' (point) and not the ',' to mark the decimals .... so my mistake .... I correct the xml file by removing all the commented lines so that no one is misled by reading at speed ... NO WORRY there are no scale="0,00008" read from system because <!-- xxxxx --> on xml sintax is equal to /* code c or c++ */ the correct scale is scale="0.000071429"/>
any how thanks for reply and correct my previous so no one make same error of arvidb ... f
bkt
Please Log in or Create an account to join the conversation.