<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:v =
"urn:schemas-microsoft-com:vml" xmlns:o =
"urn:schemas-microsoft-com:office:office" xmlns:w =
"urn:schemas-microsoft-com:office:word" xmlns:m =
"http://schemas.microsoft.com/office/2004/12/omml"><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.23501">
<STYLE>@font-face {
font-family: Calibri;
}
@page WordSection1 {size: 612.0pt 792.0pt; margin: 70.85pt 70.85pt 2.0cm 70.85pt; }
P.MsoNormal {
MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Calibri","sans-serif"; FONT-SIZE: 11pt; mso-fareast-language: EN-US
}
LI.MsoNormal {
MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Calibri","sans-serif"; FONT-SIZE: 11pt; mso-fareast-language: EN-US
}
DIV.MsoNormal {
MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Calibri","sans-serif"; FONT-SIZE: 11pt; mso-fareast-language: EN-US
}
A:link {
COLOR: blue; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.MsoHyperlink {
COLOR: blue; TEXT-DECORATION: underline; mso-style-priority: 99
}
A:visited {
COLOR: purple; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.MsoHyperlinkFollowed {
COLOR: purple; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.E-MailFormatvorlage17 {
FONT-FAMILY: "Calibri","sans-serif"; COLOR: windowtext; mso-style-type: personal-compose
}
.MsoChpDefault {
FONT-FAMILY: "Calibri","sans-serif"; mso-fareast-language: EN-US; mso-style-type: export-only
}
DIV.WordSection1 {
page: WordSection1
}
</STYLE>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></HEAD>
<BODY lang=DE link=blue vLink=purple>
<DIV dir=ltr align=left><SPAN class=269325712-03072013><FONT color=#0000ff
size=2 face=Arial>Hi Michael,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=269325712-03072013><FONT color=#0000ff
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=269325712-03072013><FONT color=#0000ff
size=2 face=Arial>If a sync manager is designed to work in output, I don't think
you can configure it as input or vice versa. In your case, you
switched the SM1 from output to input. Look in the documentation of the EK1828
to see what direction each SM should have.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=269325712-03072013><FONT color=#0000ff
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=269325712-03072013><FONT color=#0000ff
size=2 face=Arial>Philippe</FONT></SPAN></DIV><BR>
<DIV dir=ltr lang=fr class=OutlookMessageHeader align=left>
<HR tabIndex=-1>
<FONT size=2 face=Tahoma><B>De :</B> etherlab-users-bounces@etherlab.org
[mailto:etherlab-users-bounces@etherlab.org] <B>De la part de</B> Michael
Wenz<BR><B>Envoyé :</B> 3 juillet 2013 04:42<BR><B>À :</B>
etherlab-users@etherlab.org<BR><B>Objet :</B> [etherlab-users] EtherCAT
master 1.5.2: ec_sync_info_t<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV class=WordSection1>
<P class=MsoNormal><SPAN lang=EN-US>Hello,<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><o:p> </o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>I am using EtherCAT 1.5.2. The slave is from
Beckhoff. It has the following configuration:<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><o:p> </o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>/* Master 0, Slave 5,
"EK1828"<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>* Vendor
ID: 0x00000002<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>* Product code:
0x07242c52<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>* Revision number:
0x00110000<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>*/<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><o:p> </o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>ec_pdo_entry_info_t slave_5_pdo_entries[] =
{<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x0000, 0x00, 4}, /* Pad
*/<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x7000, 0x01, 1}, /*
Output */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x7010, 0x01, 1}, /*
Output */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x7020, 0x01, 1}, /*
Output */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x7030, 0x01, 1}, /*
Output */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x7040, 0x01, 1}, /*
Output */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x7050, 0x01, 1}, /*
Output */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x7060, 0x01, 1}, /*
Output */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x7070, 0x01, 1}, /*
Output */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x0000, 0x00, 4}, /* Pad
*/<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x6000, 0x01, 1}, /*
Input */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x6010, 0x01, 1}, /*
Input */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x6020, 0x01, 1}, /*
Input */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x6030, 0x01, 1}, /*
Input */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x0000, 0x00, 4}, /* Pad
*/<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>};<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><o:p> </o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>ec_pdo_info_t slave_5_pdos[] =
{<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x1600, 2,
slave_5_pdo_entries + 0}, /* Channel 5 */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x1601, 1,
slave_5_pdo_entries + 2}, /* Channel 6 */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x1602, 1,
slave_5_pdo_entries + 3}, /* Channel 7 */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x1603, 1,
slave_5_pdo_entries + 4}, /* Channel 8 */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x1604, 1,
slave_5_pdo_entries + 5}, /* Channel 9 */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x1605, 1,
slave_5_pdo_entries + 6}, /* Channel 10 */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x1606, 1,
slave_5_pdo_entries + 7}, /* Channel 11 */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x1607, 2,
slave_5_pdo_entries + 8}, /* Channel 12 */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x1a00, 1,
slave_5_pdo_entries + 10}, /* Channel 1 */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x1a01, 1,
slave_5_pdo_entries + 11}, /* Channel 2 */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x1a02, 1,
slave_5_pdo_entries + 12}, /* Channel 3 */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0x1a03, 2,
slave_5_pdo_entries + 13}, /* Channel 4 */<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>};<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><o:p> </o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>ec_sync_info_t slave_5_syncs[] =
{<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0, EC_DIR_OUTPUT, 4,
slave_5_pdos + 0, EC_WD_ENABLE},<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {1, EC_DIR_OUTPUT, 4,
slave_5_pdos + 4, EC_WD_ENABLE},<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {2, EC_DIR_INPUT, 4,
slave_5_pdos + 8, EC_WD_DISABLE},<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>
{0xff}<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>};<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><o:p> </o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>How is the array slave_5_syncs determined?
<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>First I have tried following array in my
implementation.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>ec_sync_info_t slave_5_newsyncs[] =
{<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {0, EC_DIR_OUTPUT, 8,
slave_5_pdos + 0, EC_WD_ENABLE},<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US> {1, EC_DIR_INPUT, 4,
slave_5_pdos + 8, EC_WD_DISABLE},<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>
{0xff}<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>};<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><o:p> </o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>But then it is only possible to write the
outputs. It is not possible to read the inputs. The input values are always 0.
But when using slave_5_syncs it is also possible to read the
inputs.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><o:p> </o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>Thank you in advance.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><o:p> </o:p></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US>Best regards<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN
lang=EN-US>
Michael<o:p></o:p></SPAN></P></DIV></BODY></HTML>