[etherlab-users] Data type problem generic slave

Ralph Oosterveld r.n.oosterveld at student.utwente.nl
Thu May 1 15:36:40 CEST 2014


Hello,

I've made my own Simulink block with de generic slave from the EtherLab
library. The M-file for this is made by the command "ethercat pdos --skin
etherlab".
Now I got a data type problem using my Simulink block. The Simulink error
says that the PDO has data type "Unsigned16", but according to the manual
this should be a "int16".
I've checked this in the terminal using ethercat:
# ethercat pdos
 ...
 PDO entry 0x7002:01, 16 bit, "Aout 1"
 ...
# ethercat xml
 ...
 <Index>#x7002</Index>
 <SubIndex>1</SubIndex>
 <BitLen>16</BitLen>
 <Name>Aout 1</Name>
 <DataType>UINT16</DataType>
 ...
# ethercat sdos
 ...
 0x7002:01, rwrwrw, int16, 16 bit, "Aout 1"
 ...

This should be a "int16" like in the SDOs. How can I fix this problem?

Attached:
* Terminal data
* generated M-file

Thank you in advance,
*Ralph Oosterveld*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20140501/9b623bac/attachment-0002.htm>
-------------- next part --------------
ctw-arms at ctw-arms-pc ~/Matlab/Documents/Simulink/EBox $ ethercat pdos --skin etherlab 
%
% Master 0, Slave 0, "E/BOX"
%
function rv = slave0()

% Slave configuration

rv.SlaveConfig.vendor = 1280;
rv.SlaveConfig.product = hex2dec('01107001');
rv.SlaveConfig.description = 'E/BOX';
rv.SlaveConfig.sm = { ...
    {0, 0, {
        }}, ...
    {1, 1, {
        }}, ...
    {2, 0, {
        {hex2dec('1600'), [
            hex2dec('7000'), hex2dec('01'),   8; ...
            hex2dec('7000'), hex2dec('02'),   8; ...
            hex2dec('7002'), hex2dec('01'),  16; ...
            hex2dec('7002'), hex2dec('02'),  16; ...
            hex2dec('7003'), hex2dec('01'),  16; ...
            hex2dec('7003'), hex2dec('02'),  16; ...
            ]}, ...
        }}, ...
    {3, 1, {
        {hex2dec('1a00'), [
            hex2dec('6000'), hex2dec('01'),   8; ...
            hex2dec('6000'), hex2dec('02'),   8; ...
            hex2dec('6000'), hex2dec('03'),   8; ...
            hex2dec('6001'), hex2dec('01'),  32; ...
            hex2dec('6001'), hex2dec('02'),  32; ...
            hex2dec('6001'), hex2dec('03'),  32; ...
            hex2dec('6002'), hex2dec('01'),  32; ...
            hex2dec('6002'), hex2dec('02'),  32; ...
            ]}, ...
        }}, ...
    };

% Port configuration

rv.PortConfig.input(1).pdo = [2, 0, 0, 0];
rv.PortConfig.input(1).pdo_data_type = 1008;

rv.PortConfig.input(2).pdo = [2, 0, 1, 0];
rv.PortConfig.input(2).pdo_data_type = 1008;

rv.PortConfig.input(3).pdo = [2, 0, 2, 0];
rv.PortConfig.input(3).pdo_data_type = 1016;

rv.PortConfig.input(4).pdo = [2, 0, 3, 0];
rv.PortConfig.input(4).pdo_data_type = 1016;

rv.PortConfig.input(5).pdo = [2, 0, 4, 0];
rv.PortConfig.input(5).pdo_data_type = 1016;

rv.PortConfig.input(6).pdo = [2, 0, 5, 0];
rv.PortConfig.input(6).pdo_data_type = 1016;

rv.PortConfig.output(1).pdo = [3, 0, 0, 0];
rv.PortConfig.output(1).pdo_data_type = 1008;

rv.PortConfig.output(2).pdo = [3, 0, 1, 0];
rv.PortConfig.output(2).pdo_data_type = 1008;

rv.PortConfig.output(3).pdo = [3, 0, 2, 0];
rv.PortConfig.output(3).pdo_data_type = 1008;

rv.PortConfig.output(4).pdo = [3, 0, 3, 0];
rv.PortConfig.output(4).pdo_data_type = 1032;

rv.PortConfig.output(5).pdo = [3, 0, 4, 0];
rv.PortConfig.output(5).pdo_data_type = 1032;

rv.PortConfig.output(6).pdo = [3, 0, 5, 0];
rv.PortConfig.output(6).pdo_data_type = 1032;

rv.PortConfig.output(7).pdo = [3, 0, 6, 0];
rv.PortConfig.output(7).pdo_data_type = 1032;

rv.PortConfig.output(8).pdo = [3, 0, 7, 0];
rv.PortConfig.output(8).pdo_data_type = 1032;

end
ctw-arms at ctw-arms-pc ~/Matlab/Documents/Simulink/EBox $ ethercat pdos 
SM0: PhysAddr 0x1000, DefaultSize  128, ControlRegister 0x26, Enable 1
SM1: PhysAddr 0x1080, DefaultSize  128, ControlRegister 0x22, Enable 1
SM2: PhysAddr 0x1100, DefaultSize    0, ControlRegister 0x24, Enable 1
  RxPDO 0x1600 "Receive PDO mapping"
    PDO entry 0x7000:01,  8 bit, "Control"
    PDO entry 0x7000:02,  8 bit, "Dout"
    PDO entry 0x7002:01, 16 bit, "Aout 1"
    PDO entry 0x7002:02, 16 bit, "Aout 2"
    PDO entry 0x7003:01, 16 bit, "PWM 1"
    PDO entry 0x7003:02, 16 bit, "PWM 2"
SM3: PhysAddr 0x1180, DefaultSize    0, ControlRegister 0x20, Enable 1
  TxPDO 0x1a00 "Transmit PDO mapping"
    PDO entry 0x6000:01,  8 bit, "Status"
    PDO entry 0x6000:02,  8 bit, "Counter"
    PDO entry 0x6000:03,  8 bit, "Din"
    PDO entry 0x6001:01, 32 bit, "Ain 1"
    PDO entry 0x6001:02, 32 bit, "Ain 2"
    PDO entry 0x6001:03, 32 bit, "Timestamp"
    PDO entry 0x6002:01, 32 bit, "Encoder 1"
    PDO entry 0x6002:02, 32 bit, "Encoder 2"
ctw-arms at ctw-arms-pc ~/Matlab/Documents/Simulink/EBox $ ethercat xml
<?xml version="1.0" ?>
<EtherCATInfo>
  <!-- Slave 0 -->
  <Vendor>
    <Id>1280</Id>
  </Vendor>
  <Descriptions>
    <Devices>
      <Device>
        <Type ProductCode="#x01107001" RevisionNo="#x00000004">E/BOX</Type>
        <Name><![CDATA[E/BOX SMF Ketels]]></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="0" />
        <Sm Enable="1" StartAddress="#x1180" ControlByte="#x20" DefaultSize="0" />
        <RxPdo Sm="2" Fixed="1" Mandatory="1">
          <Index>#x1600</Index>
          <Name>Receive PDO mapping</Name>
          <Entry>
            <Index>#x7000</Index>
            <SubIndex>1</SubIndex>
            <BitLen>8</BitLen>
            <Name>Control</Name>
            <DataType>UINT8</DataType>
          </Entry>
          <Entry>
            <Index>#x7000</Index>
            <SubIndex>2</SubIndex>
            <BitLen>8</BitLen>
            <Name>Dout</Name>
            <DataType>UINT8</DataType>
          </Entry>
          <Entry>
            <Index>#x7002</Index>
            <SubIndex>1</SubIndex>
            <BitLen>16</BitLen>
            <Name>Aout 1</Name>
            <DataType>UINT16</DataType>
          </Entry>
          <Entry>
            <Index>#x7002</Index>
            <SubIndex>2</SubIndex>
            <BitLen>16</BitLen>
            <Name>Aout 2</Name>
            <DataType>UINT16</DataType>
          </Entry>
          <Entry>
            <Index>#x7003</Index>
            <SubIndex>1</SubIndex>
            <BitLen>16</BitLen>
            <Name>PWM 1</Name>
            <DataType>UINT16</DataType>
          </Entry>
          <Entry>
            <Index>#x7003</Index>
            <SubIndex>2</SubIndex>
            <BitLen>16</BitLen>
            <Name>PWM 2</Name>
            <DataType>UINT16</DataType>
          </Entry>
        </RxPdo>
        <TxPdo Sm="3" Fixed="1" Mandatory="1">
          <Index>#x1a00</Index>
          <Name>Transmit PDO mapping</Name>
          <Entry>
            <Index>#x6000</Index>
            <SubIndex>1</SubIndex>
            <BitLen>8</BitLen>
            <Name>Status</Name>
            <DataType>UINT8</DataType>
          </Entry>
          <Entry>
            <Index>#x6000</Index>
            <SubIndex>2</SubIndex>
            <BitLen>8</BitLen>
            <Name>Counter</Name>
            <DataType>UINT8</DataType>
          </Entry>
          <Entry>
            <Index>#x6000</Index>
            <SubIndex>3</SubIndex>
            <BitLen>8</BitLen>
            <Name>Din</Name>
            <DataType>UINT8</DataType>
          </Entry>
          <Entry>
            <Index>#x6001</Index>
            <SubIndex>1</SubIndex>
            <BitLen>32</BitLen>
            <Name>Ain 1</Name>
            <DataType>UINT32</DataType>
          </Entry>
          <Entry>
            <Index>#x6001</Index>
            <SubIndex>2</SubIndex>
            <BitLen>32</BitLen>
            <Name>Ain 2</Name>
            <DataType>UINT32</DataType>
          </Entry>
          <Entry>
            <Index>#x6001</Index>
            <SubIndex>3</SubIndex>
            <BitLen>32</BitLen>
            <Name>Timestamp</Name>
            <DataType>UINT32</DataType>
          </Entry>
          <Entry>
            <Index>#x6002</Index>
            <SubIndex>1</SubIndex>
            <BitLen>32</BitLen>
            <Name>Encoder 1</Name>
            <DataType>UINT32</DataType>
          </Entry>
          <Entry>
            <Index>#x6002</Index>
            <SubIndex>2</SubIndex>
            <BitLen>32</BitLen>
            <Name>Encoder 2</Name>
            <DataType>UINT32</DataType>
          </Entry>
        </TxPdo>
      </Device>
    </Devices>
  </Descriptions>
</EtherCATInfo>
ctw-arms at ctw-arms-pc ~/Matlab/Documents/Simulink/EBox $ ethercat sdos
SDO 0x1000, "Device Type"
  0x1000:00, r-r-r-, uint32, 32 bit, "Device Type"
SDO 0x1008, "Manufacturer Device Name"
  0x1008:00, r-r-r-, string, 48 bit, "Manufacturer Device Name"
SDO 0x1009, "Manufacturer Hardware Version"
  0x1009:00, r-r-r-, string, 32 bit, "Manufacturer Hardware Version"
SDO 0x100a, "Manufacturer Software Version"
  0x100a:00, r-r-r-, string, 48 bit, "Manufacturer Software Version"
SDO 0x1018, "Identity Object"
  0x1018:00, r-r-r-, uint8, 8 bit, "Number of entries"
  0x1018:01, r-r-r-, uint32, 32 bit, "Vendor ID"
  0x1018:02, r-r-r-, uint32, 32 bit, "Product Code"
  0x1018:03, r-r-r-, uint32, 32 bit, "Revision Number"
  0x1018:04, r-r-r-, uint32, 32 bit, "Serial Number"
SDO 0x1600, "Receive PDO mapping"
  0x1600:00, r-r-r-, uint8, 8 bit, "Number of entries"
  0x1600:01, r-r-r-, uint32, 32 bit, "Mapped object"
  0x1600:02, r-r-r-, uint32, 32 bit, "Mapped object"
  0x1600:03, r-r-r-, uint32, 32 bit, "Mapped object"
  0x1600:04, r-r-r-, uint32, 32 bit, "Mapped object"
  0x1600:05, r-r-r-, uint32, 32 bit, "Mapped object"
  0x1600:06, r-r-r-, uint32, 32 bit, "Mapped object"
SDO 0x1601, "Receive PDO mapping"
  0x1601:00, r-r-r-, uint8, 8 bit, "Number of entries"
  0x1601:01, r-r-r-, uint32, 32 bit, "Mapped object"
SDO 0x1a00, "Transmit PDO mapping"
  0x1a00:00, r-r-r-, uint8, 8 bit, "Number of entries"
  0x1a00:01, r-r-r-, uint32, 32 bit, "Mapped object"
  0x1a00:02, r-r-r-, uint32, 32 bit, "Mapped object"
  0x1a00:03, r-r-r-, uint32, 32 bit, "Mapped object"
  0x1a00:04, r-r-r-, uint32, 32 bit, "Mapped object"
  0x1a00:05, r-r-r-, uint32, 32 bit, "Mapped object"
  0x1a00:06, r-r-r-, uint32, 32 bit, "Mapped object"
  0x1a00:07, r-r-r-, uint32, 32 bit, "Mapped object"
  0x1a00:08, r-r-r-, uint32, 32 bit, "Mapped object"
SDO 0x1a01, "Transmit PDO mapping"
  0x1a01:00, r-r-r-, uint8, 8 bit, "Number of entries"
  0x1a01:01, r-r-r-, uint32, 32 bit, "Mapped object"
  0x1a01:02, r-r-r-, uint32, 32 bit, "Mapped object"
  0x1a01:03, r-r-r-, uint32, 32 bit, "Mapped object"
  0x1a01:04, r-r-r-, uint32, 32 bit, "Mapped object"
  0x1a01:05, r-r-r-, uint32, 32 bit, "Mapped object"
  0x1a01:06, r-r-r-, uint32, 32 bit, "Mapped object"
  0x1a01:07, r-r-r-, uint32, 32 bit, "Mapped object"
  0x1a01:08, r-r-r-, uint32, 32 bit, "Mapped object"
  0x1a01:09, r-r-r-, uint32, 32 bit, "Mapped object"
SDO 0x1c00, "Sync Manager Communication type"
  0x1c00:00, r-r-r-, uint8, 8 bit, "Number of entries"
  0x1c00:01, r-r-r-, uint8, 8 bit, "Communications type SM0"
  0x1c00:02, r-r-r-, uint8, 8 bit, "Communications type SM1"
  0x1c00:03, r-r-r-, uint8, 8 bit, "Communications type SM2"
  0x1c00:04, r-r-r-, uint8, 8 bit, "Communications type SM3"
SDO 0x1c10, "Sync Manager 0 PDO Assignment"
  0x1c10:00, r-r-r-, uint8, 8 bit, "Sync Manager 0 PDO Assignment"
SDO 0x1c11, "Sync Manager 1 PDO Assignment"
  0x1c11:00, r-r-r-, uint8, 8 bit, "Sync Manager 1 PDO Assignment"
SDO 0x1c12, "Sync Manager 2 PDO Assignment"
  0x1c12:00, rwr-r-, uint8, 8 bit, "Number of entries"
  0x1c12:01, rwr-r-, uint16, 16 bit, "Mapped object"
SDO 0x1c13, "Sync Manager 3 PDO Assignment"
  0x1c13:00, rwr-r-, uint8, 8 bit, "Number of entries"
  0x1c13:01, rwr-r-, uint16, 16 bit, "Mapped object"
SDO 0x6000, "Digital Inputs"
  0x6000:00, r-r-r-, uint8, 8 bit, "Number of entries"
  0x6000:01, r-r-r-, uint8, 8 bit, "Status"
  0x6000:02, r-r-r-, uint8, 8 bit, "Counter"
  0x6000:03, r-r-r-, uint8, 8 bit, "Din"
SDO 0x6001, "Analog inputs"
  0x6001:00, r-r-r-, uint8, 8 bit, "Number of entries"
  0x6001:01, r-r-r-, int32, 32 bit, "Ain 1"
  0x6001:02, r-r-r-, int32, 32 bit, "Ain 2"
  0x6001:03, r-r-r-, uint32, 32 bit, "Timestamp"
SDO 0x6002, "Encoder inputs"
  0x6002:00, r-r-r-, uint8, 8 bit, "Number of entries"
  0x6002:01, r-r-r-, int32, 32 bit, "Encoder 1"
  0x6002:02, r-r-r-, int32, 32 bit, "Encoder 2"
SDO 0x6010, "Streaming input data"
  0x6010:00, r-r-r-, uint8, 8 bit, "Number of entries"
  0x6010:01, r-r-r-, uint8, 8 bit, "Cycle counter"
  0x6010:02, r-r-r-, octet_string, 200 bit, "Input block 1"
  0x6010:03, r-r-r-, octet_string, 200 bit, "Input block 2"
  0x6010:04, r-r-r-, octet_string, 200 bit, "Input block 3"
  0x6010:05, r-r-r-, octet_string, 200 bit, "Input block 4"
  0x6010:06, r-r-r-, octet_string, 200 bit, "Input block 5"
  0x6010:07, r-r-r-, octet_string, 200 bit, "Input block 6"
  0x6010:08, r-r-r-, octet_string, 200 bit, "Input block 7"
  0x6010:09, r-r-r-, octet_string, 200 bit, "Input block 8"
SDO 0x7000, "Digital outputs"
  0x7000:00, r-r-r-, uint8, 8 bit, "Number of entries"
  0x7000:01, rwrwrw, uint8, 8 bit, "Control"
  0x7000:02, rwrwrw, uint8, 8 bit, "Dout"
SDO 0x7002, "Analog outputs"
  0x7002:00, r-r-r-, uint8, 8 bit, "Number of entries"
  0x7002:01, rwrwrw, int16, 16 bit, "Aout 1"
  0x7002:02, rwrwrw, int16, 16 bit, "Aout 2"
SDO 0x7003, "PWM outputs"
  0x7003:00, r-r-r-, uint8, 8 bit, "Number of entries"
  0x7003:01, rwrwrw, int16, 16 bit, "PWM 1"
  0x7003:02, rwrwrw, int16, 16 bit, "PWM 2"
SDO 0x8000, "Calibration"
  0x8000:00, r-r-r-, uint8, 8 bit, "Number of entries"
  0x8000:01, rwrwrw, int16, 16 bit, "ADC1 zero offset"
  0x8000:02, rwrwrw, uint32, 32 bit, "ADC1 gain"
  0x8000:03, rwrwrw, int16, 16 bit, "ADC2 zero offset"
  0x8000:04, rwrwrw, uint32, 32 bit, "ADC2 gain"
  0x8000:05, rwrwrw, int16, 16 bit, "DAC1 zero offset"
  0x8000:06, rwrwrw, int16, 16 bit, "DAC2 zero offset"
SDO 0x8001, "Settings"
  0x8001:00, r-r-r-, uint8, 8 bit, "Number of entries"
  0x8001:01, rwrwrw, uint8, 8 bit, "Filter Ain1"
  0x8001:02, rwrwrw, uint8, 8 bit, "Filter Ain2"
  0x8001:03, rwrwrw, uint8, 8 bit, "Encoder mode"
  0x8001:04, rwrwrw, uint8, 8 bit, "ADC mode"
  0x8001:05, rwrwrw, uint8, 8 bit, "DAC mode"
SDO 0x8002, "Text lines"
  0x8002:00, r-r-r-, uint8, 8 bit, "Number of entries"
  0x8002:01, rwrwrw, string, 128 bit, "Line 1"
  0x8002:02, rwrwrw, string, 128 bit, "Line 2"
  0x8002:03, rwrwrw, string, 128 bit, "Line 3"
ctw-arms at ctw-arms-pc ~/Matlab/Documents/Simulink/EBox $ 
-------------- next part --------------
%
% Master 0, Slave 0, "E/BOX"
%
function rv = slave0()

% Slave configuration

rv.SlaveConfig.vendor = 1280;
rv.SlaveConfig.product = hex2dec('01107001');
rv.SlaveConfig.description = 'E/BOX';
rv.SlaveConfig.sm = { ...
    {0, 0, {
        }}, ...
    {1, 1, {
        }}, ...
    {2, 0, {
        {hex2dec('1600'), [
            hex2dec('7000'), hex2dec('01'),   8; ...
            hex2dec('7000'), hex2dec('02'),   8; ...
            hex2dec('7002'), hex2dec('01'),  16; ...
            hex2dec('7002'), hex2dec('02'),  16; ...
            hex2dec('7003'), hex2dec('01'),  16; ...
            hex2dec('7003'), hex2dec('02'),  16; ...
            ]}, ...
        }}, ...
    {3, 1, {
        {hex2dec('1a00'), [
            hex2dec('6000'), hex2dec('01'),   8; ...
            hex2dec('6000'), hex2dec('02'),   8; ...
            hex2dec('6000'), hex2dec('03'),   8; ...
            hex2dec('6001'), hex2dec('01'),  32; ...
            hex2dec('6001'), hex2dec('02'),  32; ...
            hex2dec('6001'), hex2dec('03'),  32; ...
            hex2dec('6002'), hex2dec('01'),  32; ...
            hex2dec('6002'), hex2dec('02'),  32; ...
            ]}, ...
        }}, ...
    };

% Port configuration

rv.PortConfig.input(1).pdo = [2, 0, 0, 0];
rv.PortConfig.input(1).pdo_data_type = 1008;

rv.PortConfig.input(2).pdo = [2, 0, 1, 0];
rv.PortConfig.input(2).pdo_data_type = 1008;

rv.PortConfig.input(3).pdo = [2, 0, 2, 0];
rv.PortConfig.input(3).pdo_data_type = 1016;

rv.PortConfig.input(4).pdo = [2, 0, 3, 0];
rv.PortConfig.input(4).pdo_data_type = 1016;

rv.PortConfig.input(5).pdo = [2, 0, 4, 0];
rv.PortConfig.input(5).pdo_data_type = 1016;

rv.PortConfig.input(6).pdo = [2, 0, 5, 0];
rv.PortConfig.input(6).pdo_data_type = 1016;

rv.PortConfig.output(1).pdo = [3, 0, 0, 0];
rv.PortConfig.output(1).pdo_data_type = 1008;

rv.PortConfig.output(2).pdo = [3, 0, 1, 0];
rv.PortConfig.output(2).pdo_data_type = 1008;

rv.PortConfig.output(3).pdo = [3, 0, 2, 0];
rv.PortConfig.output(3).pdo_data_type = 1008;

rv.PortConfig.output(4).pdo = [3, 0, 3, 0];
rv.PortConfig.output(4).pdo_data_type = 1032;

rv.PortConfig.output(5).pdo = [3, 0, 4, 0];
rv.PortConfig.output(5).pdo_data_type = 1032;

rv.PortConfig.output(6).pdo = [3, 0, 5, 0];
rv.PortConfig.output(6).pdo_data_type = 1032;

rv.PortConfig.output(7).pdo = [3, 0, 6, 0];
rv.PortConfig.output(7).pdo_data_type = 1032;

rv.PortConfig.output(8).pdo = [3, 0, 7, 0];
rv.PortConfig.output(8).pdo_data_type = 1032;

end
%
% Master 0, Slave 0, "E/BOX"
%
function rv = slave0()

% Slave configuration

rv.SlaveConfig.vendor = 1280;
rv.SlaveConfig.product = hex2dec('01107001');
rv.SlaveConfig.description = 'E/BOX';
rv.SlaveConfig.sm = { ...
    {0, 0, {
        }}, ...
    {1, 1, {
        }}, ...
    {2, 0, {
        {hex2dec('1600'), [
            hex2dec('7000'), hex2dec('01'),   8; ...
            hex2dec('7000'), hex2dec('02'),   8; ...
            hex2dec('7002'), hex2dec('01'),  16; ...
            hex2dec('7002'), hex2dec('02'),  16; ...
            hex2dec('7003'), hex2dec('01'),  16; ...
            hex2dec('7003'), hex2dec('02'),  16; ...
            ]}, ...
        }}, ...
    {3, 1, {
        {hex2dec('1a00'), [
            hex2dec('6000'), hex2dec('01'),   8; ...
            hex2dec('6000'), hex2dec('02'),   8; ...
            hex2dec('6000'), hex2dec('03'),   8; ...
            hex2dec('6001'), hex2dec('01'),  32; ...
            hex2dec('6001'), hex2dec('02'),  32; ...
            hex2dec('6001'), hex2dec('03'),  32; ...
            hex2dec('6002'), hex2dec('01'),  32; ...
            hex2dec('6002'), hex2dec('02'),  32; ...
            ]}, ...
        }}, ...
    };

% Port configuration

rv.PortConfig.input(1).pdo = [2, 0, 0, 0];
rv.PortConfig.input(1).pdo_data_type = 1008;

rv.PortConfig.input(2).pdo = [2, 0, 1, 0];
rv.PortConfig.input(2).pdo_data_type = 1008;

rv.PortConfig.input(3).pdo = [2, 0, 2, 0];
rv.PortConfig.input(3).pdo_data_type = 1016;

rv.PortConfig.input(4).pdo = [2, 0, 3, 0];
rv.PortConfig.input(4).pdo_data_type = 1016;

rv.PortConfig.input(5).pdo = [2, 0, 4, 0];
rv.PortConfig.input(5).pdo_data_type = 1016;

rv.PortConfig.input(6).pdo = [2, 0, 5, 0];
rv.PortConfig.input(6).pdo_data_type = 1016;

rv.PortConfig.output(1).pdo = [3, 0, 0, 0];
rv.PortConfig.output(1).pdo_data_type = 1008;

rv.PortConfig.output(2).pdo = [3, 0, 1, 0];
rv.PortConfig.output(2).pdo_data_type = 1008;

rv.PortConfig.output(3).pdo = [3, 0, 2, 0];
rv.PortConfig.output(3).pdo_data_type = 1008;

rv.PortConfig.output(4).pdo = [3, 0, 3, 0];
rv.PortConfig.output(4).pdo_data_type = 1032;

rv.PortConfig.output(5).pdo = [3, 0, 4, 0];
rv.PortConfig.output(5).pdo_data_type = 1032;

rv.PortConfig.output(6).pdo = [3, 0, 5, 0];
rv.PortConfig.output(6).pdo_data_type = 1032;

rv.PortConfig.output(7).pdo = [3, 0, 6, 0];
rv.PortConfig.output(7).pdo_data_type = 1032;

rv.PortConfig.output(8).pdo = [3, 0, 7, 0];
rv.PortConfig.output(8).pdo_data_type = 1032;

end


More information about the Etherlab-users mailing list