192
CAN I/O 14 + Technical Documentation Release: 2.0-0-g1cd0677 (2019-04-04)

Technical Documentation CAN IO14+

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Technical Documentation CAN IO14+

CAN I/O 14 +

Technical Documentation

Release: 2.0-0-g1cd0677 (2019-04-04)

Page 2: Technical Documentation CAN IO14+

Versions

Date Content of change

2013-02-26 Initial Creation2013-03-11 Chapter 3.2.4.x added2013-03-22 Reference to Excel PvP2013-04-05 Inversion, 3.2.2.5 to .9 added, HBC sup2013-05-02 Delay for pump3, chapt. 3.2.2.22013-07-04 Multiplex mapping chapt. 3.2.6.22013-07-05 Update of chapt. 102013-07-29 Flow sharing added chapt. 3.2.82013-08-13 Flow sharing for up to three devices2013-11-11 CAN-Bus Reading generalized, chapt.3.3.02013-11-21 INC-DEC key for Prog-via-Para2014-01-08 Canopen example chapt. 4.3.72014-02-22 Cruise Control chapt. 3.2.4.22014-03-12 EE_SAVE chapt. 2.3.2 CAN-Bus Filters for Telegrams chapt 4.1.72014-03-27 Estop chapt added 2.3.32014-04-02 Introduction chapter 1.12014-04-22 Example Excel chapter 3.72014-04-29 J1939 Joysticks chapter 3.3.62014-04-30 J1939 Aux Valves chapter 3.3.72014-05-27 LSS 4.3.72014-06-27 Chapter 9.1 higher frequencies > 150Hz2014-07-23 Chapter 4.2.4.3 added, ramps in canopen2014-10-06 Chapter 5.5.3 and 5.5.4 added, parameter up/download in new VT2015-10-06 Renaming to CANIO14+2016-05-06 Chapter 4.2.4.2 re-written2016-07-27 Chapter 3.3 + 3.5 re-written, Chapter 5.1+5.2 update

Screenshots updated to new VT2016-10-04 Chapter 13 added2017-03-14 Chapter 9.2 counter added2017-05-30 Chapter 1.8, pinning updated2017-10-30 Chapter 2.4, GND/AGND added2017-11-30 Chapter of PID, second PID added2018-03-14 Removed Chapter 12 Closed Loop2019-04-04 Updated Design

Table 0.1: Modifications

2 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 3: Technical Documentation CAN IO14+

COPYRIGHT

Copyright

All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic,electronic, or mechanical, including photocopying, recording, taping, or information storage andretrieval systems - without the written permission of the publisher.

Products that are referred to in this document may be either trademarks and/or registered trademarksof the respective owners. The publisher and the author make no claim to these trademarks.

While every precaution has been taken in the preparation of this document, the publisher and the authorassume no responsibility for errors or omissions, or for damages resulting from the use of informationcontained in this document or from the use of programs and source code that may accompany it. Inno event shall the publisher and the author be liable for any loss of profit or any other commercialdamage caused or alleged to have been caused directly or indirectly by this document.All rights reserved.

Printdate: April 4, 2019

3 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 4: Technical Documentation CAN IO14+

CONTENTS

Contents

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.1.1 Main Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.1.2 Different ways of use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.1.3 CAN-Bus Slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.1.4 Stand alone, Programmed via Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 171.1.5 Free Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.2 Hazard Symbols and Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.3 Liability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.4 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.5 Technical Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.6 Ordering Information and Accessories . . . . . . . . . . . . . . . . . . . . . . . . . . 221.7 Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231.8 Pin description list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2 First Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.1 Wiring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.2 First communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.2.1 RS232, Comport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.2.2 CAN-Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.3 Power supply, VCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.3.1 Normal Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.3.2 Sleep-Mode, EE_SAVE-option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.3.3 Estop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.4 GND B7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3 Amplifier Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.1 Scaling of Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.1.1 Analog Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.1.2 Ramp Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.2 Setting of logical connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.2.1 Help via Excel sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.2.2 Inputs: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.2.3 Setpoints: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.2.3.1 Permanent Setpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.2.3.2 Additional-Setpoints/Break release Setpoints: . . . . . . . . . . . . . . . . . . . . . . . 483.2.3.3 Analog Error Setpoints: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.2.3.4 Analog Error Blink-Setpoints: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 5: Technical Documentation CAN IO14+

CONTENTS

3.2.3.5 Analog/Prop Error Setpoints: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.2.3.6 Analog Raw-Values (>Vers 3.5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.2.3.7 Setpoint values of other channels (>Vers 3.5) . . . . . . . . . . . . . . . . . . . . . . . . 503.2.3.8 Inversion of Setpoint (>Vers 3.5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.2.3.9 Setpoints forwarded to PSL-CAN acc. D7700-2: (>Vers 3.05) . . . . . . . . . . . . . . . 523.2.4 Override/Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.2.5 Momentary Switch Functionality (push/lock, push/unlock) . . . . . . . . . . . . . . . . . 583.2.5.1 Signed Override . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.2.5.2 Cruise Control, PLUS/MINUS INC/DEC Button Version >4.5 . . . . . . . . . . . . . . . 603.2.5.3 Second Setpoint, OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623.2.5.4 Setting of both A-side and B-side Version > 12.03.13 . . . . . . . . . . . . . . . . . . . 633.2.5.5 Second Setpoint, XOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.2.6 Disable/NOT-Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643.2.6.1 Disable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643.2.6.2 Enable instead of Disable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653.2.6.3 Enable of Override only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663.2.6.4 Second Override . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663.2.7 Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.2.7.1 Mapping through Analog inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.2.7.2 Mapping through Analog input, parameters only . . . . . . . . . . . . . . . . . . . . . . 683.2.7.3 Mapping local Analog input to other local analog input to double ramping and scaling

capabilities, and selecting via override input (Firmware>3.83) . . . . . . . . . . . . . . . 693.2.7.4 Multiplex of Inputs as source of output via input . . . . . . . . . . . . . . . . . . . . . . 703.2.8 Auto-Levelling, Auto-Positioning/Steering . . . . . . . . . . . . . . . . . . . . . . . . . . 713.2.9 Flow Sharing, Anti-Saturation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743.2.9.1 Flow Sharing with Priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753.2.9.2 Flow Sharing for several distributed CANIOs (Version >= Aug. 2013) . . . . . . . . . . . 763.3 Inputs from Can-Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.3.1 General CAN-Bus Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.3.2 Example CAN-Bus Radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773.3.3 J1939 Joystick Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.3.4 J1939 Aux Valve Command (AV00C .. AV15C) . . . . . . . . . . . . . . . . . . . . . . . 833.4 Input types, 4..20mA, Pull-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833.5 Scaling and Control of Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843.6 Example on using Excel for Logic of CANIO14+ . . . . . . . . . . . . . . . . . . . . 863.6.1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863.6.2 Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883.6.3 Pinning list, names for inputs & outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . 883.6.4 Logical connections: Setpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913.6.5 Logical connections: Override . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943.6.6 Logical connections: Disable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953.6.7 Logical connections: Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

5 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 6: Technical Documentation CAN IO14+

CONTENTS

3.6.8 Download parameters to CANIO via VT . . . . . . . . . . . . . . . . . . . . . . . . . . . 983.6.9 Test of Program-Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013.6.10 Additional Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

4 Slave Mode, CANIO controlled via CAN-Bus, CANopen-style . . . . . . . . . . . . 1094.1 General CAN-Bus Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1094.1.1 CAN Bus Baud Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1094.1.2 CAN Bus Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104.1.3 Line Layout and Net Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104.1.4 CAN-Bus Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1114.1.4.1 Telegram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1114.1.5 CANopen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1124.1.5.1 CANopen Default Identifier Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . 1134.1.5.2 Identifier Distribution of HAWE products . . . . . . . . . . . . . . . . . . . . . . . . . . 1144.1.6 Busload of CAN-Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164.1.7 CAN-Bus Filters for Telegrams V4.55 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1204.2 Configuration of CAN-Telegrams for CANIO14+ . . . . . . . . . . . . . . . . . . . . 1204.2.1 TPDO1 Digital Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1214.2.2 TPDO2, Analogue Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244.2.3 RPDO1 digital Setpoints for on/off - Outputs: . . . . . . . . . . . . . . . . . . . . . . . 1264.2.4 RPDO2+3 Setpoints for Proportional (PWM/IPWM) Outputs . . . . . . . . . . . . . . 1294.2.4.1 Setpoints via HAWE PLVC standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1294.2.4.2 Setpoints via RPDO2/3, 4 commands per Telegram . . . . . . . . . . . . . . . . . . . 1314.2.4.3 Setpoints via RPDO2 with RAMPs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1334.2.4.4 Setpoints via RPDO2, CAN-PSL Mode . . . . . . . . . . . . . . . . . . . . . . . . . . 1364.3 Additional CAN-Open Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1364.3.1 SYNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1374.3.2 Bootup Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1374.3.3 Reset via Telegram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1384.3.4 Activation consumer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1384.3.5 Activation generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1384.3.6 LSS Layer Setting Services, First NodeID setting . . . . . . . . . . . . . . . . . . . . . 1384.3.7 CAN-OPEN example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1394.3.8 EDS-File, Version >=3.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1414.3.9 SDO support and HeartBeat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

5 Parameter Save and Restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1455.1 Parameter Save with old VT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1455.2 Parameter Restore/Upload to CANIO14+ old VT . . . . . . . . . . . . . . . . . . . . 1475.3 Parameter Save with newVT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1495.4 Parameter Restore/Upload to CANIO14+ new VT . . . . . . . . . . . . . . . . . . . 152

6 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 7: Technical Documentation CAN IO14+

CONTENTS

6 Download of Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1546.1 CAN-Bus Download: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1546.2 Possible errors during download: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1566.2.1 CAN interface busy or not connected . . . . . . . . . . . . . . . . . . . . . . . . . . . 1566.2.2 Probably Dongle and CANIO not properly connected . . . . . . . . . . . . . . . . . . 1576.2.3 More than one CANIO connected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

7 Temperature-protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

8 CAN-Bus Baudrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

9 Frequency measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1639.1 Higher Frequencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1649.2 Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

10 Free programming of CANIO14+, Principle . . . . . . . . . . . . . . . . . . . . . . . 16610.1 Project/Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16710.2 Variable definitions for program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16810.2.1 Input Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16810.2.2 Local Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17010.3 Programming logic functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17210.3.1 OpenPCS-Style Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17210.3.2 C-Style Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17410.4 Programming of CANBUS - Communication . . . . . . . . . . . . . . . . . . . . . . 17410.5 User Parameters and PLC-Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17610.6 Compiler Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17610.7 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

11 Free programming examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

12 Voltage Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

7 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 8: Technical Documentation CAN IO14+

LIST OF FIGURES

List of Figures

1.1 CAN-Bus Slave - Master . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.2 Stand alone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.3 Free Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.4 Screenshots of compiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.5 Development kit, including RS232 and CAN-Bus connector . . . . . . . . . . . . . . . . 221.6 CAN-USB Adaptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231.7 Dimensions CAN I/O 14+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231.8 Pin Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.1 SUB-D connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.2 Start-up-screen - Terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.3 Diagnostic window - Terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.4 Dongle to connect Laptop to Canbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.5 Pins on Connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.6 Boot-up Massage ID 1FFFFFF0h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.7 BUSHEAVY Warning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.8 Received 1FFFFFF1h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.9 Received 1FFFFFF0h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.10 How NOT to Ground the CAN I/O 14+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.1 HAWE Visual Tool Startup Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.2 Analog Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.3 Analog Inputs Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.4 Ramp Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.5 Exel Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.6 Programming via Parameters in Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.7 drag-down menu in Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.8 Outputs 0 to 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.9 Parameters 20 to 27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.10 Typical Joystick parameters, supplied by 5VRef of CANIO14+ . . . . . . . . . . . . . . 473.11 Permanent Setpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.12 Check the Pump1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.13 Behavior of EV 1(D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.14 Setpoint values of other channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.15 Output 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.16 Output 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.17 Setpoint of zero, sent with ID 222h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.18 Setpoint of 1000 sent with ID 222h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

8 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 9: Technical Documentation CAN IO14+

LIST OF FIGURES

3.19 Boot-up Telegram ID 722h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.20 In Excel check the PSL-CAN-Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.21 Example: (speed-)potentiometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553.22 Example: (digital) ENABLE-input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.23 Example: defining ranges, where movement is allowed . . . . . . . . . . . . . . . . . . 563.24 Joystick AI0 defines Output 0/1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573.25 Potentiometer AI0 defines Output 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573.26 Joystick AI0 and Pot. AI1 (Override) define Output 0/1 . . . . . . . . . . . . . . . . . . . 573.27 Example:Joystick AI0 and Pot. AI1 (Override) define Output 0/1 . . . . . . . . . . . . . 573.28 Joystick AI0 and switch AI1 defines Output 0/1, switch must be set to enable . . . . . 583.29 Joystick with two signals 0. . . 5V at AI0/1 and switches AI2,3 define Output 0/1 . . . . 583.30 MOM Switch AI1 defines Output 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583.31 Level of potentiometer AI0 defines output 0, enabled by MOM switch AI1 . . . . . . . . 583.32 Check the MOM Checkbox to enable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.33 Example: Potentiometer works on A-side normally, but on B-side if AI1 is set . . . . . 593.34 Check the Pos_neg checkbox for this feature. . . . . . . . . . . . . . . . . . . . . . . . . 603.35 Value is 100 if input set, else -100 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.36 Check the INC/DEC- checkbox for this feature AND Pos_neg to enable negative values.613.37 Example: cruise control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623.38 Joystick AI0 and Joystick AI1 define Output 0/1 . . . . . . . . . . . . . . . . . . . . . . . 623.39 OR-checkbox in Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.40 Joystick AI0 define Output 0/1. Dig input 1 sets both sides to 100% . . . . . . . . . . . 633.41 Joystick AI0 and Joystick AI1 define Output 0/1, but never at same time . . . . . . . . 643.42 XOR-checkbox in Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643.43 Solution for Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653.44 Without Potentiometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653.45 Example: Disable via limit-switch on right low corner of sheet . . . . . . . . . . . . . . 653.46 Enable instead of Disable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663.47 Enable of Override only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663.48 Second Override . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663.49 Pos_neg in Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.50 Mapping through Analog inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683.51 Mapping through Analog inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683.52 Mapping through Analog input, parameters only . . . . . . . . . . . . . . . . . . . . . . 693.53 Mapping local Analog input to other local analog input . . . . . . . . . . . . . . . . . . 703.54 Multiplex of Inputs as source of output via inputIf . . . . . . . . . . . . . . . . . . . . . 713.55 AUTO_MOVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723.56 Example Auto-Levelling, Auto-Positioning/Steering . . . . . . . . . . . . . . . . . . . . . 733.57 Example: Flow Sharing, Anti-Saturation . . . . . . . . . . . . . . . . . . . . . . . . . . . 743.58 Example: Flow Sharing, Anti-Saturation Sum is 1000 . . . . . . . . . . . . . . . . . . . 753.59 Flow Sharing with Priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753.60 Telegrams in Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

9 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 10: Technical Documentation CAN IO14+

LIST OF FIGURES

3.61 Example CAN-Bus Radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783.62 CANBus-Telegrams to receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793.63 drop-down menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793.64 Two bits of Telegram 2E4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.65 In Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.66 Result in CAN-Bus-Telegram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813.67 Read 10bit-values of Joystick with PGN FDD6 to FDDA . . . . . . . . . . . . . . . . . . 813.68 Joystick 1 X-Axls Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813.69 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823.70 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823.71 OPEN-Error detected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843.72 PWM-ratio-max 51% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843.73 Pop-up Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883.74 twincoils Boom1/2 and a Pilot-valve, 2 Joysticks, speed-reduction . . . . . . . . . . . 893.75 CANBus-Telegrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903.76 PvP Screenshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913.77 PvP Screenshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913.78 PvP Screenshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923.79 PvP Screenshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923.80 PvP Screenshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923.81 PvP Screenshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933.82 PvP Screenshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933.83 PvP Screenshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943.84 PvP Screenshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943.85 PvP Screenshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953.86 CANBus-Telegrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963.87 Input for Setpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963.88 Selection of Mapping to AI7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973.89 Scaling of input with option for ramping and filtering. . . . . . . . . . . . . . . . . . . . 973.90 boom2 driven either by (mapped) Radio or by joystick2. . . . . . . . . . . . . . . . . . . 983.91 Hit Batch-Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 983.92 Hit load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993.93 select para.csv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993.94 Hit set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993.95 Result of Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003.96 Names form the Excel-Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013.97 Value of Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023.98 CANBUS telegram is not arriving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023.99 Show All Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033.100Analog Inputs ad Proportional Valves . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1043.101Output follows the radio-value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1043.102Output follows joystick2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

10 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 11: Technical Documentation CAN IO14+

LIST OF FIGURES

3.103No valve connected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053.104Analog Value > 1000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1063.105Cruise control with INC/DEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1073.106Parameters of Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1073.107Cruise-control with INC/DEC + “Pedal” . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

4.1 Recommended Architecture for Grounding and Shielding of CAN Bus Systems . . . 1104.2 Telegram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1124.3 Detect too high bus loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164.4 Detect high bus loads via PCAN-View . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1174.5 Task-Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1174.6 Visual Tool Terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1184.7 Visual Tool Terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1194.8 Set parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1204.9 Telegram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1214.10 Telegram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1224.11 Telegram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234.12 Screenshot of PLVC\parameter\sbu4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244.13 Raw values of analogue inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1254.14 Para. 6 is at 1, Para. 7 at 2 and Para.4 at 0 . . . . . . . . . . . . . . . . . . . . . . . . . 1254.15 Submenus 7,8,A,B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1264.16 Sub-entry of Receive PDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1284.17 PLVC\Parameter\Submenu4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1294.18 Telegram will look like this for setpoint of +1000 (03E8h) to output 4 . . . . . . . . . 1304.19 Parameter h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1314.20 Firmware Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1344.21 Telegram 301h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1344.22 Scaling for Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1354.23 10 sec. ramp for each direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1364.24 Parameter 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1374.25 SYNC every 100ms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1374.26 Serial Number and New node ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1384.27 Vendor ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1394.28 Change Baudrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1394.29 Heartbeat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1404.30 Example configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1414.31 EDS-file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1414.32 Index 2002h and2003h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1424.33 I-Min Prop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1434.34 Ramps of Analog Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

5.1 Save as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1465.2 Progress of parameter reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

11 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 12: Technical Documentation CAN IO14+

LIST OF FIGURES

5.3 Select file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1485.4 Progress window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1485.5 Select Device→ Transmit Binary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1495.6 Read Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1505.7 Folder and Filename . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1505.8 Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1515.9 Successfully saved . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1515.10 Write Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1525.11 Select File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1525.12 Progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1535.13 Data transfered . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

6.1 PCAN-USB-Dongle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1546.2 flash_cust.bat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1556.3 Script successfully finished . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1556.4 Busy or not connected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1566.5 Not properly connected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1576.6 PCAN-View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1576.7 BUSHHEAVY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1586.8 Telegram with ID 1FFFFFFF0h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1586.9 Error two CANIOs connected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

7.1 Limitation of PWM Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

8.1 Login-Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1618.2 Modify Parameter 292 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

9.1 Screenshot AI0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

10.1 Select “CAN-IO Programming system” . . . . . . . . . . . . . . . . . . . . . . . . . . . 16610.2 CAN_IO14_PLUS.mcp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16710.3 Relevant Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16810.4 Openpcs.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16910.5 vars.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17010.6 syt_val-Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17010.7 Outside of the syt_val-Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17110.8 vars.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17110.9 Programming Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17310.10Function Block - Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17310.11FB-Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17410.12Write Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17410.13user_can.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17510.14Link Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17710.15user_can.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

12 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 13: Technical Documentation CAN IO14+

LIST OF FIGURES

10.16HAWE Visual Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

11.1 usercode_init() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17911.2 usercode() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18011.3 vars.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18111.4 Used Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18211.5 get_ee funktion is used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18211.6 Turtle speed is 25% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18311.7 usercode_init() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18411.8 user_code.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18411.9 AXB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18511.10AXB_TYPE axb1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18511.11Example: max. pressure depending on Angle . . . . . . . . . . . . . . . . . . . . . . . 186

12.1 Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18712.2 Voltage 4kHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18912.3 Voltage 10kHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

13 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 14: Technical Documentation CAN IO14+

LIST OF TABLES

List of Tables

0.1 Modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.1 Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.2 Technical Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.3 Pin description list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.1 Example: Additional-Setpoints/Break release Setpoints . . . . . . . . . . . . . . . . . . 483.2 Example: Joystick Inversion of Setpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.1 Recommended Bus Line Length Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . 1094.2 CANopen Default Identifier Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144.3 Identifier Distribution of HAWE products . . . . . . . . . . . . . . . . . . . . . . . . . . 1164.4 User Parameter 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274.5 User Parameter 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274.6 User Parameter 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1284.7 User Parameter 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1304.8 User Parameter 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1324.9 User Parameter 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1334.10 User Parameter 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

9.1 Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

10.1 Indexes of syt_val[] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

14 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 15: Technical Documentation CAN IO14+

1. INTRODUCTION

1 Introduction

1.1 Introduction

The CAN-IO 14+ is a very compact and competitive controller for a variety of applications. It can beused as a CAN-Bus-Device for example in combination with a HAWE-PLVC or CAN-PSL or stand aloneas a freely configurable digital amplifier for hydraulic valves. Additional possibility of free programmingmakes it a full PLC.

The standard firmware provides all parameters for scaling of inputs and all valve configurations forproportional currents.Via the Windows Software “Visual Tool VT” provided by HAWE, all inputs of CAN-IO 14+ can becommissioned, configured and scaled. Also ramps and filters are available for the analogue inputs.Settings like minimum and maximum currents of outputs are made there as well.All parameters can be saved to File and copied to another CANIO.There are tree main-modes of use:

a) amplifier mode

b) CAN-Slave mode

c) free programmable mode

1.1.1 Main Features

• Designed for mobile applications

• Very competitive price

• Protection class IP67

• 4 current controlled IPWM Outputs

• 4 PWM Outputs

• 6 analog Inputs(0. . . 10V / 4. . . 20mA / pull-up)

• 1 digital Input

• All Outputs can be also used as Inputs

• CAN bus and RS232 interfaces

• Several CAN I/O14s can be combined via CAN bus

15 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 16: Technical Documentation CAN IO14+

1. INTRODUCTION

• Compact dimensions 60x60x30mm

1.1.2 Different ways of use

CAN I/O 14+ can be used in several ways:

a) CAN-Bus-Slave (CAN-Open supported inc. eds-file) in combination with a PLVC or any otherCAN-Open - Master

b) stand-alone or combined with other CANIO14++ with standard software, also combined withPSL-CAN

c) stand-alone or combined with other CANIO14++ with a free user program

1.1.3 CAN-Bus Slave

Version a)is already built-in with the standard firmware, delivered on every device. Only communication pa-rameters and valve parameters have to be set either via Visual Tool or via SDO by any CANOPENconfiguration tool. For details, see section 4.2

Next picture shows CANBUS-Master on right side, reading inputs from Slave, doing the logics andwriting outputs back to slave.

Figure 1.1: CAN-Bus Slave - Master

16 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 17: Technical Documentation CAN IO14+

1. INTRODUCTION

1.1.4 Stand alone, Programmed via Parameters

Version b)is also included in standard firmware. Here a link for every output to one or several inputs has to bemade by setting parameters in CANIO. Details are explained in section 3.2

Figure 1.2: Stand alone

For a detailed example please click here: section 3.6Easy and fast programming by parameter setting with HAWE Visual Tool

• The program code has not to be changed

• Only parameter modification

• Settings can be tested immediately

• 8 Outputs could be logical connected to local or remote Inputs

1.1.5 Free Programming

Version c)is explained here: chapter 10, for example for overload protection application.

17 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 18: Technical Documentation CAN IO14+

1. INTRODUCTION

Figure 1.3: Free Programming

Figure 1.4: Screenshots of compiler: definition of Variables, Programming of Logics in as Style, similaras Structured Text.

18 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 19: Technical Documentation CAN IO14+

1. INTRODUCTION

1.2 Hazard Symbols and Notes

Please pay attention to the hazard symbols and notes given in table below. Text passages markedwith those symbols have increased significance.

Symbol Meaning Potential consequences

Impending danger Death or severe injuries

Dangerous situation Light injuries

Harmful situation Damage to components

Tips & information Fun at work

Table 1.1: Symbols

1.3 Liability

This description is an integral part of the device. It contains information concerning the right handlingof the CANIO-14 and must be read prior to use.

WARNING

Non-compliance with the notes or any use outside the Intended usage outlinedin the following, wrong installation or faulty handling can seriously impair andendanger the safety of people and machinery and will result in the exclusion ofany liability and warranty claims.Follow the instructions in the description.

1.4 Installation

The following notes must be observed to guarantee safe operation of the CANIO and to preventshortening the product’s lifecycle through inappropriate operating conditions:

19 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 20: Technical Documentation CAN IO14+

1. INTRODUCTION

• The device should not be mounted in the vicinity of machine parts and modules developing greatheat (e.g. exhaust).

• The distance to radio-emitting installations must be sufficient.

• There must be an emergency shutdown for the voltage supply. The emergency off switch mustbe mounted on the machine or vehicle that is easily accessible for the machine or facility operator.The machine or vehicle manufacturer must guarantee that a safe state is achieved when theemergency off switch is activated.

• The power supply must be fuse-protected, in accordance with the maximum power consumptionper device.

• Ground lines must be dimensioned in accordance with the maximum currents used. Thereference potential for all CAN bus participants connected to one branch should vary as little aspossible between the devices and be identical with the ground connection for the power supply.

• The bus lines to be used must be suited to CAN bus networks. Preferably the lines should betwisted and shielded. The characteristic impedance must be approx. 120 Ω.

• Terminating resistors with 120 Ω have to be provided for both two ends of the CAN bus network.

WARNING

Electric welding causes massive surges.Electronics can be damaged.All wires must be disconnected during electric welding works.

The following has to be observed during operations:

• Proper operation is only guaranteed in a temperature range between -40 C to +85 C.

• If the device detects internal overheating, operations are limited to a certain temperature range,i.e. at reduced performance and shut off > 100 C.

• The power supply voltage must be within the specified working range. Excessive or permanentdeviations may harm the electronics.

20 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 21: Technical Documentation CAN IO14+

1. INTRODUCTION

1.5 Technical Data

Connector Sicma 211 PL249S0005Dimensions 60X60X30mm, with Connector 60X80X30mmWeight <400gTemperature Range minus 40 .. 85 degrees, above 75 degrees reduced load (current

of outputs)Protection IP67Voltage Range 9 to 30V DCProtection reverse polarityCurrent 50mAFuse 2*10A or less, 1*1ACAN-Bus ISO 11898-2 CAN2.0A+B, no galvanic isolation!

NOTE

Do not use in applications with different CAN-GNDs! Otherwise use isolated repeater/bridgebetween CAN-systems with different GNDs!

RS232 19,2kBaudDigital Input IB0.0 Switching level 4.5V, Impedance 22kΩ

Digital Input IB0.1 (not combinable with rs232!) Impedance 3kΩ

PWM Outputs** 2000mA*, 0..100%, 50Hz .. 1kHzIPWM Outputs** 2000mA*, 0..100%, 50Hz .. 1kHz, current controlledDigital Input IB0.0 Switching level 4.5V, Impedance 22kΩ

Analog Inputs 12-Bit resolution, 0..11,3V, 22,6kΩ, 30V tolerant,Can also be used as dig. inputcan be programmed to have either pull-up (10KΩ) or pull downresistor (235Ω for 4..20mA signals, short circuit protected)

* the Outputs 0..3 and 4..7 are using one device including 4 transistors. The sum of these fourcurrents is relevant for overheating of device. With 1kHz heating is much stronger than with 100Hz.** in heavy-duty applications or high ambient temperatures, 1kHz PWM not allowed, limitation

to 100Hz. Not all 4 transistors at same time.

NOTE

Current control of Outputs 0..3 resolves 2000mA but with Dither, precision ofcurrent measurement only works up to 1500mA

Table 1.2: Technical Data

21 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 22: Technical Documentation CAN IO14+

1. INTRODUCTION

All outputs can also be used as Analog inputs!All outputs are short circuit proof (for some hours)

NOTE

If one or more Outputs of the group IO0..3 or IO4_7 are used as input, thepossibility to safely switch off the output via removing Supply can be no longerworking, if the output is connected to a dig. Switch, supplying enough current.With analog inputs this is no risk.

1.6 Ordering Information and Accessories

For Ordering Information and Accessories see D7845-IO_14-en.pdf.

Figure 1.5: Development kit, including RS232 and CAN-Bus connector

22 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 23: Technical Documentation CAN IO14+

1. INTRODUCTION

Figure 1.6: CAN-USB Adaptor

1.7 Dimensions

Figure 1.7: Dimensions CAN I/O 14+Note: Figure 1.7 above now has 14+

23 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 24: Technical Documentation CAN IO14+

1. INTRODUCTION

1.8 Pin description list

Wire PLC-Addresses Connection data Name Note

A2 RS232 Tx TX Pin2 of SUB-DB2 IB0_1* RS232 Rx RX Pin3 of SUB-DB3 IB0_0 dig. Input IB0_0A1 VCC 0..3 Supply (Outputs

0...3)C3 O0 / IW48/IB1_6 Coil 12/24VDC, 2ADC IPWM Output IO0 Output or ana/dig inC2 O1 / IW50/IB1_7 Coil 12/24VDC, 2ADC IPWM Output IO1 Output or ana/dig inC1 O2 / IW40/IB1_2 Coil 12/24VDC, 2ADC IPWM Output IO2 Output or ana/dig inB1 O3 / IW42/IB1_3 Coil 12/24VDC, 2ADC IPWM Output IO3 Output or ana/dig inB4 CAN High Pin 7 of SUB-DC5 CAN Low Pin 2 of SUB-DA8 VCC 4..7 Supply (Outputs

4...7)B8 O4 / IW44/IB1_4 Coil 12/24VDC, 2ADC PWM - Output IO4 Output or ana/dig inC8 O5 / IW46/IB1_5 Coil 12/24VDC, 2ADC PWM - Output IO5 Output or ana/dig inC7 O6 / IW36/IB1_0 Coil 12/24VDC, 2ADC PWM - Output IO6 Output or ana/dig inC6 O7 / IW38/IB1_1 Coil 12/24VDC, 2ADC PWM - Output IO7 Output or ana/dig inB6 IW24/IB0_2 0. . . 10 VDC, 4..20mA Analog Input 0 AI0 Also digital inputA6 IW26/IB0_3 0. . . 10 VDC, 4..20mA Analog Input 1 AI1 Also digital inputA5 IW28/IB0_4 0. . . 10 VDC, 4..20mA Analog Input 2 AI2 Also digital inputC4 IW30/IB0_5 0. . . 10 VDC, 4..20mA Analog Input 3 AI3 Also digital inputA4 IW32/IB0_6 0. . . 10 VDC, 4..20mA Analog Input 4 AI4 Also digital inputA3 IW34/IB0_7 0. . . 10 VDC, 4..20mA Analog Input 5 AI5 Also digital inputA7 IW52/IB2_1 5V / 200mA 5V out with intern.

FBopt. mech. Switchto12V

B5 IB2_0**** Controller supply** opt. digital inputB7 PGND GND

Table 1.3: Pin description list

24 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 25: Technical Documentation CAN IO14+

1. INTRODUCTION

Figure 1.8: Pin Description

25 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 26: Technical Documentation CAN IO14+

2. FIRST STEPS

2 First Steps

2.1 Wiring

In order to do settings of parameters and to see, if the CANIO is alive, a connection via RS232 has tobe established.To connect to CANIO via Visual Tool or Terminal program, at least the following Pins of the CANIOhave to be wired:

• B7 to GND

• B5 to Power or A1 or A8 to Power (10V to 30V)

• A2 to Pin2 of female SUB-D connector (black on picture), coming from CANIO

• B2 to Pin3 of female SUB-D connector (white on picture), coming from Computer

• Pin 5 of female SUB-D connector to GND (brown on picture)

Figure 2.1: SUB-D connector

If CAN-Bus is used, another female SUB-D connector is needed.

• CAN-LOW C5 to Pin 2 of female SUB-D

• CAN-HIGH B4 to Pin7 of female SUB-D

For termination, use 120Ω-Resistor between Pin2 and Pin7.

Every CAN network must have two terminating resistors, each 120Ω, installed at the respective endsof the bus lines. If power is switched off, 60 Ω (two times 120 Ω in parallel) should be measured

26 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 27: Technical Documentation CAN IO14+

2. FIRST STEPS

between CAN-Hi and CAN-Low, if termination is installed properly.(For use in office/laboratory, also one resistor will normally do as well.)

2.2 First communication

2.2.1 RS232, Comport

When powered up with Terminal-Program opened at 19200Baud, a start-up-screen should appear,showing Reset-Reason, Version and Serial Number. If not, check Power supply and wiring of RS232.

Figure 2.2: Start-up-screen - Terminal

If LOGIN-Botton is clicked, a small diagnostic window appears.

27 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 28: Technical Documentation CAN IO14+

2. FIRST STEPS

Figure 2.3: Diagnostic window - Terminal

1st line: baud-rate, Canopen-Operational2nd line: Firmwaretype and -version7th and 8th line: temperature, time since reboot, state of dig. Input IB0.0,IB2.09th line ff: CAN-Bus diagnostics

For later use of the Visual Tool Software, you must LOGOUT and close the Terminal-Program.

2.2.2 CAN-Bus

PCAN-USB-Dongle of peak-systems must be installed and connected to USB Port. Dongle can beobtained here:http://www.peak-system.com/PCAN-USB.199.0.html?&L=1 or from HAWE. The requireddrivers can be download here: http://hawe.com/edocs

28 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 29: Technical Documentation CAN IO14+

2. FIRST STEPS

Figure 2.4: Dongle to connect Laptop to Canbus

Figure 2.5: Pins on Connector

Pin2 = CAN-Low, Pin7 = CAN-HighTermination 120 Ohm needed!

CAN-Bus should be started (default at 250kBaud).At least the Boot-up Message with ID 1FFFFFF0h must appear, even if there is no software loaded todevice. Byte 5 must be zero.

Figure 2.6: Boot-up Massage ID 1FFFFFF0h

If telegram is not appearing and no Error message shown in PCAN-View either CAN-Bus is notconnected properly (B4 to CAN-High , C5 to CAN-Low), or power supply is not wired,or termination-resistor of 120 Ω is missing, (at least one, better two)

29 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 30: Technical Documentation CAN IO14+

2. FIRST STEPS

or device is damaged.C5 should measure about 2,2V, B4 about 2.7V if not connected to Canbus with termination.

If directly after powering up CANIO, PCAN-View is showing BUSHEAVY there is probably a baudrate-mismatch, like in next picture (500 vs 250kBaud). In this case, try to reconnect PCAN-dongle-softwarewith other baudrates until you see at least the 29-bit Boot telegram.

Figure 2.7: BUSHEAVY Warning

Starting Firmware-download with a not-powered up CANIO with PCAN-View open will showBUSHEAVY for a short time and then a stop.

The telegram seen in received message-screen is also a 29-bit message, but compared to Boot-upmessage it has a length of 2 instead of 8, and ID ends with 1 instead of zero. See also chapter 6:

30 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 31: Technical Documentation CAN IO14+

2. FIRST STEPS

Figure 2.8: Received 1FFFFFF1h

Figure 2.9: Received 1FFFFFF0h

31 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 32: Technical Documentation CAN IO14+

2. FIRST STEPS

If device sends Boot-up message, but is not accessible via RS232, reason might be that device hasno firmware installed or has been stopped by bootloader because of too many severe internal errors.Then firmware has to be (re-)downloaded, see for details here: chapter 6

Possible Error – Reasons can be seen in data-byte 5 (zero in above example):STATUS_OK : 0 OK, but still incomplete program may be loadedSTATUS_STOP_PROG 3 Program-restart blocked by commandSTATUS_STOP_PROG 2 Program start blocked because of too many resetsSTATUS_NO_PROG 4 No program loaded

All these errors can be solved by re-downloading firmware.

STATUS_STOP_PROG_und_FLASHER 1 Error of Parameter for bootloader => Programming andBootloader disabled. → execute flash_restore_125.bat of bin-folder. Then download firmware. Bau-drate might have to be set via RS232.

Message in Transmit Window can be used to re-boot device, if firmware loaded.

NOTE

Do not use CANIO14++ in applications with different CAN-GNDs! Otherwiseuse isolated repeater/bridge between CAN-systems with different GNDs!

2.3 Power supply, VCC

CANIO14+ can be supplied via pins A1 or A8 or both.With delivery > November 2013, also B5 can supply CANIO alone.Start of device can be done by supplying 10..30V to pins A1/8 or B5 after completely powered off.Since Firmware version >3.0, January 2013, there are two possibilities to start and stop device:

2.3.1 Normal Mode

Connection of A1/8 or B5 to supply voltageRemoval of A1/8 and B5 from supply voltage

In this mode B5 can also be used as additional digital input IB2_0 with switching levelON: 5,5VOFF <2,5 VUser Parameter 13 must not be set to 1 in this case.

32 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 33: Technical Documentation CAN IO14+

2. FIRST STEPS

2.3.2 Sleep-Mode, EE_SAVE-option

Leaving A1 and/or A8 permanently connected to supply voltage, and using B5 or CANBUS as start -command (ignition) (Clamp_15):

Start of CANIO via cyclic CAN-Bus telegram (>2Hz) or via High-Level of Input B5>9VStop of CANIO (sleep mode < 0,25mA consumption)

If User Parameter 13 is set to 1, device will go to sleep mode, if there is no CAN-Bus Telegram >1,5sec and Pin B5 < 2V.This feature can be used in free-programming mode, to save hour-counters, read at start-up fromEEprom, written back, when powering off.So if A1 and/or A8 are permanently powered, UBAT_RAW can be checked, and if it goes below acertain range for more than 100ms, Parameters can be saved by put_ee() - function call and read afternext startup.Device then goes into sleep mode.

2.3.3 Estop

WARNING

Pin A1 supplies transistors of Outputs 0..3 andPin A8 supplies transistors of Outputs 4..7.

WARNING

If these outputs drive valves or any other actuators, which might cause dan-gerous/harmful situation in case of error or unattended setpoints, Supply forPins A1/A8 must go through Estop, so if Estop-button is pressed, no voltagearrives at these pins, so Outputs are de-energized.Normally also Estop-valve should be powered off by external Estop button.Reading Estop via software and switching outputs off via software has not thesame high safety level as directly disabling power!

2.4 GND B7

CANIO14+ has only one GND pin, which means, that there is no special AGND (analog ground)available. To avoid problems for analogue signals, care has to be taken to avoid currents, andespecially changing currents on the wire to/from B7.This schematic shows, how it should not be done, as the returning current of the coil shares some part

33 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 34: Technical Documentation CAN IO14+

2. FIRST STEPS

of the wire with the Sensor GND. So if coil is active, the sensor GND will rise by some mV, causingwrong measurements.Therefore the returning signal of coils has to be wired close to supply, not sharing cable with AGND, toavoid problems on AGND.

Figure 2.10: How NOT to Ground the CAN I/O 14+

However there is another possible reason causing current in GND-wire, resulting in a change of GNDin CANIO compared to GND at end of wire B7:

34 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 35: Technical Documentation CAN IO14+

2. FIRST STEPS

If outputs are driven via PWM with inductive loads, like coils, the current during high-time of PWMcomes from Supply.If Transistor is switched off, the energy of the flowing current within coil is reduced by free-wheelingdiode within CANIO (assuming there is no external free-wheeling diode in coil, which is recommended,if you need precise current measurement).During this period current is supplied through GND line.

This explains, why you see significantly smaller current at your Voltage supply, than the sum of thecurrents of coils, if coils are driven in PWM mode.At 100% PWM this effect will disappear.

Example:

With HAWE Valves of 24 Ohm at 24V and current of 600mA at 70%, current is less than 100mA andcan be neglected.

With HAWE Valves of 6 Ohm at 12V and current of 1000mA at 70%, current is about 250mA and cancause an analog input to be moved by about 10mV, which might be relevant in a high-precision sensorapplication.

With HAWE Valves of 6 Ohm at 24V and current of 1000mA at 25%, current in GND line is > 500mAand can cause an analog input to be moved by about 20-30mV.By the way: this is not normal or intended use of a 12V 6 Ohm coil!

All deviations above are for GND wire of about 50cm. If length doubles, also the deviations double!

Conclusion:

Deviation in analog signals because of difference between GND of CANIO and GND of analog sensormay occur, if there are high currents on GND-wire, which can be caused by high output-currents atlow PWM-ratio, i.e. low-resistance coils in high-voltage applications. So either this has to be avoided,or, if not possible, workaround described now has to be considered:

Solution 1:

If there are strong demands for high-precision Analog inputs combined with currents on GND wore,the GND-wire for the Sensor has to be made as short as possible:This can mean, that you have to cut Wire of B7 at 3 cm, and connect two wires there:One going to battery-GND, the other going to Sensor-GND, i.e. Analog GND.

Solution 2:

Another possible solution is, to use a (not-used) Analog input (0..5), switched to 20mA mode as AGND:Inputs 0..5 can be set to 20mA mode, which means, a 200 Ohm resistor to GND is added by software.If the sensor(s) takes less than 20mA and if they have a high resistance compared to 200 Ohm, a20mA Input can be used as AGND, not being influenced by PWM-currents.This solution avoids wire B7 having to be cut and wired once again.

35 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 36: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

3 Amplifier Mode

CANIO is delivered with standard Firmware, which can make it work like an amplifier card, with up to 8inputs. Via CAN-Bus, additional inputs can be added. These inputs can be logically connected to upto 8 outputs.A typical application could be for example four Joysticks driving four twin-coils.

NOTE

Only four of the eight outputs (0..3) have capability for a high precision currentcontrol. The other four are non-linear and can be ±30mA from desired current!(See data sheet).

To make the device react in the way needed, three settings have to be done via the Program“HAWE.Visual.Tool” connected to CANIO14+ via RS232 or CANBUS.

• Scaling of inputs (Joystick, Potentiometer. . . )

• Setting of logic connections, see section 3.2

• Setting of Outputs (I-Min, I-max, single/twin coil)

36 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 37: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Assuming you are properly connected to a CANIO14+ the following screen will appear at startup:

Figure 3.1: HAWE Visual Tool Startup Screen

If the button in the upper left corner is green, this indicates a successful connection. In lower part youcan then see Firmware-Version.

If no connection starts, the button remains red and you should check wiring and doublecheck commu-nication settings described in short-description of Visual.Tool

37 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 38: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

3.1 Scaling of Inputs

3.1.1 Analog Settings

When expanding the Tree-Item “Analog Inputs”, the following screen will appear:

Figure 3.2: Analog Inputs

Six analogue inputs AI0 . . . AI5 are available, which can be configured to return either scaled valuesfrom -1000 to +1000 (Joystick) or from 0 to 1000 (Potentiometer/Switch). Also independent ramps areavailable both for up and down (see subsection 1.1.2)

38 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 39: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.3: Analog Inputs Example

The Raw-data [mV] of the input is shown in lower part of screen. Below it, the Computed value, whichis a value calculated from raw-data and the eleven parameters above, is shown. Via the Raw-Values-parameters Error bottom, max_neg, min_neg, min_pos, max_pos and Error top several rangesare defined in [mV]. See also the graphic showing the curve. These ranges define where the joystick

• is invalid i.e. returns zero: below Error Bottom and above Error Top (used to detect brokenwire or short circuit of this input)

• is in the middle position (between min_neg and min_pos) and therefore returns zero,

• should return 1..1000 (100%), i.e. between min_pos and max_pos

• should return -1..-1000 (-100%), i.e. between min_neg and max_neg

• Also the values for scaling might be modified, for example you can reverse the polarity of ajoystick by swapping max pos Scale and max neg Scale.

The yellow point shows the current computed value within its parameter range.This picture shows a typical joystick, supplied with 10V, with dead band between 4V and 6V anderror-detection below 1V and above 9V.

39 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 40: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Parameter Filter Time enables a digital exponential filter of the analogue signal, which can be used tosmoothen a noisy signal or to delay a fast change of a signal. The value of 100 means 1 second, i.e. a1Hz signal would be reduced to 70% of amplitude.

3.1.2 Ramp Settings

Via Ramps, the jump from 0. . . 1000 at a jumping Raw-value can be delayed, both for rising and falling,thus reducing acceleration and deceleration of setpoint.

Figure 3.4: Ramp Settings

In example above:

• A-Side of joystick, positive value, has a ramp of 2sec. (time from 0. . . 1000).

• B-Side of joystick, negative value, has a ramp of 3sec. (time from 0. . . -1000).

• A and B-Side of Joystick have a ramp of 0.5sec. (time from 1000. . . 0/from -1000. . . 0).

40 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 41: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

3.2 Setting of logical connections

This chapter is for reference. To get short overview jump to section 3.6

To activate “amplifier functionality”, parameter 19 has to be set to 1919 (magic key).

NOTE

If this feature is used, make sure not to use CAN_SLAVE mode (remote controlof CANIO via Telegrams) at same time! At least check the masks carefully toavoid contradicting commands!

The “computed values” of analogue inputs (see subsection 3.1.1) can be forwarded as setpoint tothe outputs without programming. It can be done just via modification of User Parameters. The“programming via Parameters” is always seen from the point of view of the 8 outputs. There are severalsets of parameters for different functionalities, wich are interpreted one after another, so the featuresare logically “ANDed”.

I.e.

for output 0, parameters 20,30,40 and 50 are relevant

for output 1, parameters 21,31,41 and 51 are relevant (if twin-coil 20,30,40..)

for output 2, parameters 22,32,41 and 52 are relevant etc.

If an output is configured as twin-coil (Output channels 0/1, 2/3 etc. belonging together) only the evenparameter has to be set.If an output is twin-coil but activated by two separate inputs, it has to be configured as two single coils.

If an output should be used, at least the corresponding parameters for Setpoint have to be set . If notused, parameters 30 to 37 and 40 to 47 have to be set to -1 (default value, “invalid”).

NOTE

As also the result of an un-used odd output can be used as input of even outputwith twin-coil set, the numbers of logical connections can be increased from 3to 6!

Possible functionalities (examples):

• twin output follows a joystick

• twin output follows a joystick, additional speed potentiometer, digital enable-input

• twin output follows a joystick, digital input defines two max. speeds

41 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 42: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

• one output follows one Potentiometer (for example pressure control valve)

• two outputs follow one Potentiometer (speed) and two switches (direction)

• one output follows one switch (can still have ramp!)

• one output follows two switches which are ANDed

• one output follows three switches where two are ANDed, and third is inverted and ANDed

• twin outputs follow two switches, if both are on, no output

• switch with speed potentiometer for one output

• momentary-switch (push to lock) with speed potentiometer for one output (push on, push off)

• Auto-Positioning for outputs 0/1 and 2/3

• Closed Loop for outputs 0/1

3.2.1 Help via Excel sheet

For the settings described in the following sections, an EXCEL – sheet is available, which makes iteasier. Nevertheless it makes sense to read this chapter. A reference via screenshots of Excel ismade.Sheet opens like this:

42 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 43: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.5: Exel Sheet

So the green fields should be filled with the name of the functions used.Then the sheet of “Prog_via_Para” should be opened, which already shows the names filled inpinning-sheet: The yellow text-box gives some explanations.

Figure 3.6: Programming via Parameters in Excel

43 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 44: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

NOTE

Only variables filled in list will appear in drop-down menu to select inputs.

3.2.2 Inputs:

Programming via parameters is done by “connecting” outputs to inputs via parameters, where thevalue of the parameter defines the channel x of the analogue input AIx

AIx with x going from 0..9, X stands for the local analog inputs.

If digital Inputs IB0_0 or IB0_1 are used, “virtual” analog inputs AI8/9 are used. If dig. input is set,AI8/9 are set to 1000, else zero. There is no possibility to scale these inputs, as they are digital.Also outputs are internally read back as analog raw-values and interpreted as digital inputs IB1_0 toIB1_7. These inputs can be used for logical connections.For firmware Version > 3.1 all digital Inputs IB0_0 to IB2_1 can be selected as input either generating0 or 1000 for setting x to

• 740 to 747 for first 8 digital local inputs IB0_x

• 750 to 757 for 8 digital local inputs IB1_x

• 760 to 761 for 2 digital local inputs IB2_x

With excel, you can select the inputs via drag-down menu.

44 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 45: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.7: drag-down menu in Excel

3.2.3 Setpoints:

The outputs 0 to 7 are logically “connected” to the inputs described above via User-Parameters 20 to27, where the value of the parameter defines the number of the analog input AIx.

Parameter 20 set to 0 means: Output 0 follows AI0Parameter 22 set to 1 means: Output 2 follows AI1Etc.

Figure 3.8: Outputs 0 to 7

45 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 46: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

(Parameter 20 set to 20 means: Output 0 follows AI0 of other CANIOParameter 20 set to 21 means: Output 0 follows AI1 of other CANIOEtc.)

Figure 3.9: Parameters 20 to 27

In screenshot above inputs 0, 1, 2 and 3 are mapped to outputs 0,2,4 and 6 by setting parameters 20to 0, 22 to 1, 24 to 2 and 26 to 3 with parameters 21,23,25,27 remaining -1 (not used).Assuming the inputs are scaled to return +-1000 (see description of scaling of analogue inputssubsection 3.1.1), and the outputs are configured as twin-coils, CANIO14+ now works as amplifier for4 twin coils, with positive values of input going to A-side (even number) and negative values drivingB-side (odd number of output).

46 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 47: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.10: Typical Joystick parameters, supplied by 5VRef of CANIO14+

3.2.3.1 Permanent Setpoints

If parameter is set to 99, setpoint is 1000 and parameter will always enable output, unless disabled viaparameter 30 or 40 (see subsection 3.2.4).

Figure 3.11: Permanent Setpoints

47 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 48: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

3.2.3.2 Additional-Setpoints/Break release Setpoints:

To enable Pump or Estop valve or Break-release – Valve, this feature is very useful.If parameter of a free single coil output is set to 98, setpoint will become 1000. if any other output,selected via parameters 20..27 is not zero, and if this non-zero output is selected via 1000+xExample: Two twincoils at OUT0 and OUT2 driven by AI0 and AI1, both need pump-setpoint at output4.

Output Param 20 Param 22 Param 24 (out4) Params Out4

0/2/4 1000 1001 98 no current controli-max > 1000

Table 3.1: Example: Additional-Setpoints/Break release Setpoints

NOTE

Only one output can have the feature of parameter 98!

Since Version > 3.1 up to 3 “pump”-outputs can be defined, selected and activated by values ofparameter 20 of 98, 95, 94The corresponding outputs are selected by adding 1000, 2000 or 4000, or combination of the threevalues. i.e. by setting it to 7000, all 3 outputs can be set.There can also be groups of outputs setting one pump and another group setting another pump.Since Version > 11.03.13 different additional valves are possible for A and B-side of twin-coil. Ifparameter for B-side, which is normally left at -1, is set to same input, and 2000 is added instead of1000, A-side will enable output selected by 98, and B-side will enable output selected by 95.

Since Version > May 2013 third pump (selected by 94) will not become 1000 or 0 but maximumvalue of any enabling prop. Outputs selected by 4000+x.Moreover a fixed delay for the outputs vs. pump-outputs can be selected via Parameter 38, i.e.first pump3 will start for a fixed time, then prop-valves will be enabled.

Also a switch-off delay for the pump-outputs vs. Prop-valve can be selected via Parameter39, i.e. pump3 will remain for a fixed time, after all prop-valves have been disabled. If newprop-command comes within this time, it will work immediately!The unit for parameters 38 and 39 is sec/100 i.e. 100 means 1 sec. How to select an Output togenerate this additional setpoint: check the Pump1:

48 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 49: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.12: Check the Pump1

3.2.3.3 Analog Error Setpoints:

If parameter is set to 97, setpoint will become 1000, if any analog input shows error.

3.2.3.4 Analog Error Blink-Setpoints:

If parameter is set to 96, setpoint will blink between 0 and 1000, if any analog input has a detectederror.

3.2.3.5 Analog/Prop Error Setpoints:

To realize behavior of error output like EV 1(D)If parameter is set to 82, setpoint will be set to 1000, if analog input zero or prop. Output 0 has adetected error, else zeroSame with 83 for input 1 and output 1Same with 84 for input 2 and output 2Same with 85 for input 3 and output 3 etc

So a CANIO14+ could replace up to 4 EV 1(D) with 4 prop signals following 4 analog signals and 4alarm outputs.

49 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 50: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.13: Behavior of EV 1(D)

3.2.3.6 Analog Raw-Values (>Vers 3.5)

If parameters are in range between 54 to 69, all internal analog raw-values can be selected. Combinedwith Mapping (see subsection 3.2.7), it is now possible to use same physical analog input as twoanalog inputs with different scaling, assuming there are not-used analog inputs.Also values like supply-voltage or temperature can then be used to for logical connections.

3.2.3.7 Setpoint values of other channels (>Vers 3.5)

If parameters are in range between 46 to 53, the setpoint of another output can be selected. It is nowpossible to use result of logical connections of free B-side outputs as input for next output.. This isvery helpful, if output is defined of more than 3 inputs!

Figure 3.14: Setpoint values of other channels

50 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 51: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

3.2.3.8 Inversion of Setpoint (>Vers 3.5)

If 10000 is added to parameters, the value of the selected input is multiplied with -1.See *(-1)invert – Button in Output 1. A negative setpoint for a single coil will result in zero.

Figure 3.15: Output 0

Figure 3.16: Output 1

This makes it possible to drive a twin coil with a joystick, giving +-1000, but still configure it as twosingle coils, thus using different logics for A-side and B-side.(Normally only the even channels are configured for twin coils.)

Example Joystick AI0 defines Output 0/1, different features for override possible.

51 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 52: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Output Param 20, 21 Input 20/21 scaling Twin/single coil

0 0 -1000...1000 Single1 10000+0 Single

Table 3.2: Example: Joystick Inversion of Setpoint

3.2.3.9 Setpoints forwarded to PSL-CAN acc. D7700-2: (>Vers 3.05)

If PSXCAN is loaded with firmware-type HAWE Plug+Play (DS408, not J1939) with Node-IDs 32, 34,36. . .setpoints can be forwarded to these devices also via Parameters 20 to 27:To activate the feature, a value of 20000 (with firmware <3.0 it was 2000) has to be added to thenumber of the analog input, written to parameters 20..27.As this feature makes it impossible to also use the parameters for local outputs, the odd numbers,which are free for twin coils are recommended to be used.As parameter 20 works for NODE-ID 32, 21 for ID 34 etc. the Node-Ids must be 34, 38, 42, 46 ifparameters 21, 23, 25, 27 are used.With this combination 4 local twin coils and 4 PSL-CAN sections can be used.

Example: Parameter 21 set to 20000: PSL-CAN with Node-ID 34 (22h), which sends on CAN-ID 1A2h,will get cyclic commands from CANIO at ID 222h

Figure 3.17: Setpoint of zero, sent with ID 222h

52 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 53: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.18: Setpoint of 1000 sent with ID 222h

Make sure, the PSL-CAN sends a boot-up telegram with ID 720h, 722h. . . as this causesCANIO to send a startup message.

53 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 54: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.19: Boot-up Telegram ID 722h

Figure 3.20: In Excel check the PSL-CAN-Button

3.2.4 Override/Enable

A second input can be connected to each output via Parameters 30 to 37If not used, value must be set to -1.

An override is a factor to the setpoint. A value of 500 (50%) means, that the setpoint from a joystickreturns 500 instead of 1000 and 250 instead of 500, i.e. the full stroke is reduced.

54 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 55: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

The second input can be used for:

• a (speed-)potentiometer, scaled for example to give values from 200 to 1000 (20 to 100%), thusslowing down the full range of a joystick

Figure 3.21: Example: (speed-)potentiometer

• a (digital) ENABLE-input, returning either 0 or 1000, Enabling or disabling a setpoint of a joystickor a potentiometer

55 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 56: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.22: Example: (digital) ENABLE-input

• a momentary switch, switch on, switch off

• a sensor input, defining ranges, where movement is allowed: here between 0.51V and 4.2V max.speed is possible, beyond 4V and before 1V, no movement allowed, and speed ramp in between

Figure 3.23: Example: defining ranges, where movement is allowed

56 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 57: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Here some examples, where x defines the number of the input channel AIx

Output Param20, 21

Input 20 scaling Param30,31

Input 30 scaling Twin/singlecoil

0 0 -1000. . . 1000 -1 Twin1 -1 -1 Twin

Figure 3.24: Joystick AI0 defines Output 0/1

Output Param20, 21

Input 20 scaling Param30,31

Input 30 scaling Twin/singlecoil

0 0 0. . . 1000 -1 Single

Figure 3.25: Potentiometer AI0 defines Output 0

Output Param20, 21

Input 20 scaling Param30,31

Input 30 scaling Twin/singlecoil

0 0 -1000. . . 1000 1 200. . . 1000(example)

Twin

1 -1 1 Twin

Figure 3.26: Joystick AI0 and Pot. AI1 (Override) define Output 0/1

Figure 3.27: Example:Joystick AI0 and Pot. AI1 (Override) define Output 0/1

57 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 58: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Output Param20, 21

Input 20 scaling Param30,31

Input 30 scaling Twin/singlecoil

0 0 -1000. . . 1000 1 0. . . 1000 Twin1 -1 1 Twin

Figure 3.28: Joystick AI0 and switch AI1 defines Output 0/1, switch must be set to enable

Output Param20, 21

Input 20 scaling Param30,31

Input 30 scaling Twin/singlecoil

0 0 0. . . 1000 2 0. . . 1000 Single1 1 0. . . 1000 3 0. . . 1000 Single

Figure 3.29: Joystick with two signals 0. . . 5V at AI0/1 and switches AI2,3 define Output 0/1

3.2.5 Momentary Switch Functionality (push/lock, push/unlock)

If the value of Parameter 30 to 38 is not set to 0..8 to select inputs 0..8, but 1000 to 1008 instead (1000added), the selected enable-input is interpreted as a momentary switch with push/lock, push/unlockfunctionality:i.e. first time rising edge of this input (going to 1000!) sets override/enable of this output to 1000(enable), second time rising edge (going to 1000!) resets the enable back to zero. After Reset ofdevice, output is always disabled. To avoid bouncing of input, a small ramp might be applied to analoginput, where switch is connected to.

Output Param 20,21

Input 20 scaling Param30,31

Input 30 scaling Twin/singlecoil

0 99 (alwayson)

No input sel. 1001(AI1)

0. . . 1000 Single

Figure 3.30: MOM Switch AI1 defines Output 0

Output Param20 + x

Input 20 scaling Param 30 +x

Input 30 scaling Twin/singlecoil

0 0 0. . . 1000 1001 (AI1) 0. . . 1000 Single

Figure 3.31: Level of potentiometer AI0 defines output 0, enabled by MOM switch AI1

NOTE

with firmware >3.1 disabling via input described in next chapter will also resetthe Momentary switch.

58 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 59: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.32: Check the MOM Checkbox to enable.

3.2.5.1 Signed Override

If the value of Parameter 30 to 37 is not 0..7 for AI0 to AI7 but 2000 to 2007 instead, the selected inputis interpreted as signed Override, else the absolute value is used.This feature can be used to change the sign of input, selected by parameters 20 to 27, or in combinationwith feature of next chapters: OR and XOR.

Example:Potentiometer AI0 and switch AI1 define Output 0/1 , Potentiometer works on A-side normally, but onB-side if AI1 is set.

Output Param 20+xSetpoint

Param 30+xOverride

AI1 scaling Twin/single coil

0 0 2001 1000 .. -1000 Twin1 -1 -1 Twin

Figure 3.33: Example: Potentiometer works on A-side normally, but on B-side if AI1 is set

59 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 60: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.34: Check the Pos_neg checkbox for this feature.

3.2.5.2 Cruise Control, PLUS/MINUS INC/DEC Button Version >4.5

If the value of Parameter 30 to 37 is not 0..7 for AI0 to AI7 but 6000 to 6007 instead, the high-valueof selected input will be added to input at each rising edge. The value is limited between 0..1000 forsingle coil and between -1000 and 1000 for twin-coils.So Input defined by parameter 20 is for decrement.

If there is a rising edge at input defined by parameter 20 (setpoint), low-value of override will be added(should be configured to give negative value for Decrement-key).Value will be limited between 0..1000 for single coil and between -1000 and 1000 for twin-coils.

This feature can be used to define a PLUS and a MINUS-Key to modify value by steps.If Input for override is defined like next picture, the values will be modified by +-100 with each risingedge

60 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 61: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.35: Value is 100 if input set, else -100

Figure 3.36: Check the INC/DEC- checkbox for this feature AND Pos_neg to enable negativevalues.

If also Parameters 40f for Disable are set, the selected input is interpreted as setpoint in nor-mal operation.When one of the two buttons is pushed, the current value will be latched and kept as speed.Device is in cruise control.

Actual speed of cruise control can be adjusted by Plus-Minus key, if Input defined by Parame-ter 40 is zero.If Speed of input from Parameter 40f is higher than cruise control speed, the higher value will

61 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 62: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

be taken as new Cruise setpoint.If Speed of input from Parameter 40f has other sign than cruise control speed (one positive,one negative), cruise control will be stopped.So a scaling of input for Parameter 40f giving -10 if not set, and +10 if set, the input can alsobe used as enable of cruise control.

Figure 3.37: Example: cruise control

3.2.5.3 Second Setpoint, OR

If the value of Parameter 30 to 37 is not 0..7 for AI0 to AI7 but 10000 to 10007 instead, the selectedinput is interpreted as second setpoint. Absolute value of both setpoints are compared and the biggerone is selected as output.

Example:Joystick AI0 and Joystick AI1 define Output 0/1 .

Output Param 20+x Setpoint Param 30+x Override Twin/single coil

0 0 12001 Twin1 -1 -1 Twin

Figure 3.38: Joystick AI0 and Joystick AI1 define Output 0/1

12001 because of subsubsection 3.2.5.1 Check OR-checkbox in Excel

62 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 63: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.39: OR-checkbox in Excel

3.2.5.4 Setting of both A-side and B-side Version > 12.03.13

Twin-coils are driven by joysticks, with positive values going to A-side and negative ones to B-side oftwin-coil. To enable this feature only even parameters have to be set, i.e. 20 and 30 for outputs 0/1and parameters 21 and 31 will be left at -1.If the odd parameters are set as well, additional Input can be selected and will also be evaluated forB-side, i.e. both sides can be set to 100% in this special case.

Example:Joystick AI0 define Output 0/1. Dig input 1 sets both sides to 100%

Output Param 20+x Setpoint Param 30+x Override Scaling ofAin1

Twin/single coil

0 0 12001 0..1000 Twin1 0 12001 Twin

Figure 3.40: Joystick AI0 define Output 0/1. Dig input 1 sets both sides to 100%

3.2.5.5 Second Setpoint, XOR

If the value of Parameter 30 to 37 is not 0..7 for AI0 to AI7 but 20000 to 20007 instead, the selectedinput is interpreted as second setpoint. If one of the inputs is zero, the other one will be selected asinput. If both are zero or none is zero, zero will be selected.

63 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 64: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Example:Joystick AI0 and Joystick AI1 define Output 0/1, but never at same time

Output Param 20+x Setpoint Param 30+x Override Twin/single coil

0 0 22001 Twin1 -1 -1 Twin

Figure 3.41: Joystick AI0 and Joystick AI1 define Output 0/1, but never at same time

22001 because of subsubsection 3.2.5.1 Check XOR checkbox to enable.

Figure 3.42: XOR-checkbox in Excel

3.2.6 Disable/NOT-Enable

3.2.6.1 Disable

The third input is meant for inverted digital inputs. →NOT input. This means, that if enabled (not -1),the calculated value of the selected input must be zero to enable the setpoints defined by Parameters20 and/or 30.

The feature is activated via Parameter 40 to 47, which selects the input number 0. . . 27.

Example:Driving control of a forklift on outputs 0/1, controlled by two digital inputs FORWARD at AI0 andBACKWARD at AI1 and a SPEED-Potentiometer at AI2. If Forward and Backward are active at sametime, outputs must be off.

64 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 65: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Solution:

Output Param20/21

Input 20scaling

Param30+x

Input 30scaling

Param40+x Twin/singlecoil

0 forw. 2 (AI2) 10. . . 1000 0 (AI0) 0. . . 1000 1 (not AI1) Single1 backw. 2 (AI2) 10. . . 1000 1 (AI1) 0. . . 1000 0 (not AI0) Single

Figure 3.43: Solution for Example

Same as above, but without Potentiometer:

Output Param20+x

Input 20scaling

Param30+x

Input 30scaling

Param40+x Twin/singlecoil

0 forw. 99 No input sel. 0 (AI0) 0. . . 1000 1 (not AI1) Single1 backw. 99 No input sel. 1 (AI1) 0. . . 1000 0 (not AI0) Single

Figure 3.44: Without Potentiometer

Figure 3.45: Example: Disable via limit-switch on right low corner of sheet

3.2.6.2 Enable instead of Disable

If input defined by Parameter 40 is scaled 1000. . . 0 instead of 0. . . 1000, i.e. returning zero whenactivated, the functionality becomes an ENABLE-Pin.

65 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 66: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Joystick AI0 and Pot. AI1 define Output 0/1, Enabled by AI2

Output Param 20Setpoint

Param 30+xOverride

Param 40+xEnable

AI2 scaling Twin/singlecoil

0 0(AI0) 1 (AI1) 2 (AI2) 1000. . . 0 Twin1 -1 (none) 1 (AI1) 2 (AI2) Twin

Figure 3.46: Enable instead of Disable

3.2.6.3 Enable of Override only

An override is a factor to the setpoint. A value of 500 (50%) means, that the setpoint from a joystickreturns 500 instead of 1000 and 250 instead of 500, i.e. the full stroke is reduced.

If the value of Parameter 40 to 47 is not 0. . . 7 for AI0 to AI7 but 1000 to 1007 instead, the selectedenable/disable input is interpreted as enable only Override (input selected by Parameter 30. . . 37) i.e.if enabled, override-value of input is used, otherwise an override of 1000 is assumed, i.e. setpointselected by parameter 20 is used only.

Joystick AI0 and Pot. AI1 define Output 0/1 , Potentiometer enabled by AI2

Output Param 20+xSetpoint

Param 30+xOverride

Param 40+xEnable

AI2 scaling Twin/singlecoil

0 0 1 1002 1000. . . 0 Twin1 -1 1 1002 Twin

Figure 3.47: Enable of Override only

3.2.6.4 Second Override

An override is a factor to the setpoint. A value of 500 (50%) means, that the setpoint from a joystickreturns 500 instead of 1000 and 250 instead of 500, i.e. the full stroke is reduced. If the value ofParameter 40 to 47 is not 0..7 for AI0 to AI7 but 2000 to 2007 instead, the selected enable/disableinput is interpreted as second Override multiplied to first override, selected by parameters 30 to 37.

Joystick AI0 and Pot. AI1 define Output 0/1 , Potentiometer enabled by AI2Joystick AI0 and Pot. AI1 and Pot AI2 define all speed of Output 0/1

Output Param 20+xSetpoint

Param 30+xOverride

Param 40+xEnable

AI2 scaling Twin/singlecoil

0 0 1 2002 0. . . 1000 Twin1 -1 1 2002 Twin

Figure 3.48: Second Override

66 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 67: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

In Excel, just check the Pos_neg of 3rd part of setting.

Figure 3.49: Pos_neg in Excel

3.2.7 Mapping

3.2.7.1 Mapping through Analog inputs

If one or several analog inputs are not used, or only used as dig. inputs, any result of any other digitalor input coming via CANBus/radio can be mapped into these analog inputs, using the ramping, filteringand scaling capabilities of this analogue channel.

Mapping is supported forinputs selected

• Setpoint (parameter 20f),

• Override (parameter 30f) and

• “Not-Enable” (parameter 40f)

Mapping is only allowed for values >=0 , i.e. negative values are interpreted as error.

Mapping of Override is selected by 10..80 for parameter 70fMapping of NOT-ENABLE selected by 100..800 for parameter 70f

Example for several mappings:

Parameter 70 is set to 301: i.e. Setpoint is mapped to AI0, Override is not mapped, NOT_ENABLE ismapped to AI2

67 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 68: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Note: one AIx used for mapping of one channel must not be used for another channel as well.Note: if AIx is mapped to AIy, raw values of AIx are used

Example:Digital Input of Radio, Byte zero, Bit zero should be used for second – speed – selection (100%/20%)for joystick of AI0, going to output 2/3. Input AI7 is not used in this application.

Output Param 20+xSetpoint

Param 30+xOverride

Param 50+xMapping

AI7 scaling Twin/singlecoil

2 0 180 70 (mapoverride to 7)

1000 .. 200 Twin

3 -1 -1 -1 Twin

Figure 3.50: Mapping through Analog inputs

Figure 3.51: Mapping through Analog inputs

3.2.7.2 Mapping through Analog input, parameters only

If Parameter 50+x has added the value 1000 the input will not be added as raw-value to analog input,and no ramps and filters will be calculated, but only the curve-parameters of AIx will be used tocalculate the derived setpoint from the raw value.If value of 2000 is added, this is valid for Override.If value of 4000 is added, this is valid for NOT_ENABLE.Also values < 0 are valid in this mode.

68 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 69: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.52: Mapping through Analog input, parameters only

3.2.7.3 Mapping local Analog input to other local analog input to double ramping and scalingcapabilities, and selecting via override input (Firmware>3.83)

If local analog input is mapped to other free analog input (example: AI0 to AI6), raw value of AI0is used for AI6, so scaling and ramping can be “doubled”, i.e. two different ramps and speeds arepossible for same input.Selection is done by Override input, with Parameter XOR and OR set (30000 added to value).If result of Override is zero, AI0 is selected, else AI6.

69 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 70: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.53: Mapping local Analog input to other local analog input

3.2.7.4 Multiplex of Inputs as source of output via input

If there are two possible inputs for one output (for example radio and local Joystick), first input can beset as Setpoint, second input as Disable, and selector to select second input as Override, with 30000added (XOR and OR selected).

70 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 71: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.54: Multiplex of Inputs as source of output via inputIf

3.2.8 Auto-Levelling, Auto-Positioning/Steering

If none of the parameters described up to now is used, there is an additional option of generatingSetpoints for outputs 0 and 2.

If a position sensor is available, the function AUTO_MOVE returns the right speed to move to a specialposition/destination, depending on your actual position, the distance to destinations and parametersdefining, where to start speed reduction, hysteresis. Take care that the machine goes to positivedirection (POS_ACT increases), if return value is positive.

71 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 72: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

100 200 300 400 500 600 700 800 900 1000

−1200

−800

−400

0

400

800

1200

SLW_LFT SLW_RGT

HYST_RGDE

STI

N

VEL_RGT

VEL_MIN_LFT

VEL_LFT

POS_ACT

SE

TP

AUTO_MOVE

Figure 3.55: AUTO_MOVE

Here at typical curve for setpoints, depending on actual position, assuming destination to be 500.

Parameters:VEL_LFT 0. . . 1000, max. speed left of targetVEL_RGT 0. . . 1000, max. speed right of targetPOS_ACT Act. PositionDESTIN Target PositionVEL_MIN_LFT Min. speed leftSLW_LFT Start position to slow down leftHYST_LFT Hysteresis leftHYST_RGT Hysteresis rightSLW_RGT Start position to slow down rightVEL_MIN_RGT Min. speed right

In built-in version of CANIO

72 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 73: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

- VEL_LFT and VEL_RGT are both set to 1000

- Values for left and right are identical

- Parameters come from user-parameters 70 to 79 (firmware < 3.2 param. 50..59), see below

Outputs 0 and 2 (configured as twin coils) provide this functionality, configurable via parameters 70 to79 (firmware < 3.2 param. 50..59).

NOTE

Parameters 70/71 are evaluated with higher priority than 20/22 to 40/42, so pa-rameters 70 and 71 must be -1 to use amplifier mode for outputs 0/2.

Figure 3.56: Example Auto-Levelling, Auto-Positioning/Steering

Example above is for one axis of auto-levelling on outputs 0/1And one axis of steering on outputs 2/3,Position sensors connected to AI0 and AI1 (Parameters 70,71).Destination going to zero (-1=zero ) for auto-levelling (Param. 72)Destination following AI2, coming from steering wheel (Param 73).

Min. Speed is 5% for both (parameters 74, 75), Hysteresis of 2.5% (parameters 76, 77). Slow downstarts at a distance of 300 to destination (parameters 78, 79).

Outputs 0/1 and 2/3 must be twin coil.Activation of Outputs 0 or 2 (A-side) must increase position, B-side decrease.

Note: Also for the Auto-levelling parameter 19 has to be set 1919 to enable this feature.

73 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 74: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Note: Auto-levelling can be enabled/disabled via Parameters 30 and 32, see subsection 3.2.3

The scaling of outputs is described in subsection 3.1.1.

3.2.9 Flow Sharing, Anti-Saturation

With flow sharing activated, you can easily limit the prop outputs to make the desired amount of oil fitwith the available amount.Furthermore you can avoid undersupply of single functions.For each outputs 0..7 you can specify how many liters/gallons of oil are needed at maximum setpointof the valve. If value is <=0, this output does not participate in reduction.

Is the sum of the needed liters/gallons is greater than Flow of Pump, all consumers are reducedlinearly to reach the max. flow rate.Available flow can be defined in two ways. Constant value by parameter 88, or by (analog) Inputdefined by Parameter 89. If both are used, the sum of both values is taken.

Here an example:Twin-coil Prop 0/1 follows AI0 and twin-coil Prop2/3 follows AI1 (defined by parameters 20 and 22, notshown in screenshot).Flow is max. 1000 (Param. 88)Prop0 needs 1000 with 100%, Prop1 needs 800 (params 80,81)Prop2 needs 1000 with 100%, Prop3 needs 800 (params 82,83)Here joystick 0 gives 100% and prop0 follows.

Figure 3.57: Example: Flow Sharing, Anti-Saturation

As soon as joy1 gives additional signal, the sum of both outputs would be >1000, so both are reducedwith same factor to make the sum being 1000 again.

74 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 75: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.58: Example: Flow Sharing, Anti-Saturation Sum is 1000

3.2.9.1 Flow Sharing with Priority

Above version reduces all devices.Sometimes one function should get priority, and other ones should get, what remains from pump flow.Second (lower priority group) is defined by adding 10000 to Flow – value (parameters 80..87).

Figure 3.59: Flow Sharing with Priority

This example has higher priority on prop2/3 (10000 added to value of flow). As prop3 is driven at100% (B-side), 800liters are already spent. So prop0 only gets the remaining 200 at 100% as it islower priority.Value can also be reduced to zero.

75 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 76: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

3.2.9.2 Flow Sharing for several distributed CANIOs (Version >= Aug. 2013)

If more than 4 sections in a system have to participate in flow sharing, these outputs have to be drivenby more than 1 CANIO. To make flow-sharing code read needed flows and available flows from oneother CANIOs, and consider these values in the local calculations, 10.000 has to be added to value ofParameter 88.For second external CANIO14+, 20.000 has to be added (also in other CANIOs).

For transfer of relevant variables/values, transfer of Analog input, with second telegram for inputs4..7 as described in section 3.3 is used. This means that parameters have to be set to send andread analogue inputs from neighbor device(s), and second PDO (ID282h +x) is used to transfer localvariables:

a) flow needed low priority

b) flow needed high priority

c) reserved

d) available flow

Internal calculations then use the sum of all needed and available flows.So for flow sharing with 3 devices Parameters 6/7/8/9/88 could be set to:Device 0: 0/2/2/4/30000+const-flowDevice 1: 2/2/0/4/30000Device 2: 4/2/0/2/30000Telegrams 282h/284h/286h will then not send Analog inputs, but flows needed/available

3.3 Inputs from Can-Bus

3.3.1 General CAN-Bus Reading

With Firmware version 4.x and higher since November 2013 up to 8 Telegrams can be configured,being checked for 200ms Timeout.

The IDs of these 8 Telegrams can be inserted into parameters 0,1,5,8 and 9, where 5,8,9 are for twotelegrams, with second having ID+1With values >127 the values are not seen as offsets to PDO1/2 but as Telegram ID.

76 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 77: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Parameter -1 0..127 >127 Could be used for:

0 In-active 181h+x X Dig. input 2nd Canio1 In-active 181h+x X Dig. input 3rd Canio5 In-active 180h+x X Ana-input Radio5 In-active 280h+x X+1 Dig. Input Radio8 In-active 281h+x X Ana- input 2nd Canio8 In-active 282h+x X+1 Ana- input 2nd Canio9 In-active 281h+x X Ana. input 3rd Canio9 In-active 282h+x X+1 Ana. input 3rd Canio

Figure 3.60: Telegrams in Parameter

These 8 Telegrams can be accessed by PvP eitheras 8*64 bits,or 8*8 bytes (signed or unsigned)or 8*4 Wordsor any combination of this.

The column “could be used for” is an example application with 3 CANIOs + 1 Radio, but it can be usedfor any 11-bit Telegram as well.

It is recommended to get the corresponding values by Excel sheet “Programming via Parameters”,sheet “All_CAN”.

Here you have 8 columns for the 8 Telegrams.You should fill the name of these inputs and get the index returned in drop-down menu at worksheet“Prog_via_Para”.The Telegrams to be read are defined via the ID, which is written in blue on top of worksheet“ALL_CAN”.

If values are read as unsigned (0x7F in center, going up to 0xFF and down to zero), or as signed bytes(+-127 with zero in the center)they are internally scaled to +-1000, if they are read directly (firmware version >Sept. 2016).

If they are used for mapping they are scaled to 512 in center, going up to 1024 and down to 4.

3.3.2 Example CAN-Bus Radio

Most Hatox or Hetronic radio use

→ ID 1E4h for up to eight analogue inputs (coded as bytes, 7Fh in Center) and

→ ID 2E4h for up to 4*8=32 digital inputs in the first four bytes

77 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 78: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.61: Example CAN-Bus Radio

To read 1E4 (hex) and 2E4 (hex) you set ALL_CAN like this, assuming bytes 0+1 of 1E4 being joysticks,and Bit 3+4 being digital inputs.Values in Blue are in decima, i.e. 1E4 resulting in 484 and 2E4 in 780 being set into Parameters 0+1It has to be distinguished, if values are interpreted as signed or unsigned.

78 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 79: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.62: CANBus-Telegrams to receive

Settings above give you these options to read the analog values as input, as shown in drop-downmenu of Prog_va_Para sheet:

Figure 3.63: drop-down menu

Telegrams can be seen as

79 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 80: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

a) 16bit integer @10 (not for Raise, as this is on odd address)

b) 8bit unsigned @108 (Hatox, Hetronic, 7F in center)

c) 8bit signed @109 (for example HBC radio, zero in center)

d) one bit @ 100 (not useful here)

the two bits of Telegram 2E4 are shown as:

Figure 3.64: Two bits of Telegram 2E4

As the analogue inputs of telegram 1E4h are not yet scaled and ramped, the raw-values from CAN-Busof analogue inputs can be mapped into the range of physical analogue inputs 0..7, which are no longerusable then. See subsection 3.2.7Alternatively, if not mapped, the values are internally scaled to +-1000;

3.3.3 J1939 Joystick Command

With firmware version >= 4.5 of March 2014 also J1939 Telegrams can be read.These telegrams consist of 29bits, compared to 11bits of normal telegrams.These 29bits do not fit into one integer value.

ID could be for example in hexadecimal: 0x1CFDD703The part of the ID marked in fat in the middle, is the so called Parameter Group Number (PGN), whichdefines the type of telegram.

FDD7h is in decimal 64983. Value to be written in corresponding ID-parameter is bigger than maximalsigned 16-bit-integer value (32767).Therefore 65536 has to be subtracted resulting in -553.

In this way both 11bit and 29bit telegrams can be filtered and read in this mode.The sheet All_CAN has a calculator in the upper right corner.

See also in Excel sheet:

Figure 3.65: In Excel

80 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 81: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

So PGN is used as ID for 29bit Telegrams, and can be added at Parameter 0,1,5,8 or 9 and valuescan be linked to outputs as described in subsection 3.6.4 usually combined with Mapping, which isdescribed below.

Figure 3.66: Result in CAN-Bus-Telegram

Since Firmware > 4.63 reading a byte as unsigned byte with 29bit ID and ID between FD23 andFDDB, the 8bit value multiplied by 4 and increased with the 2 highest bits of the byte before the databyte. Depending on bits of negative direction status, value is multiplied with minus 1, and then 1024added.This enables to read 10bit-values of Danfoss joysticks or any other Joystick with PGN FDD6 to FDDA,which are standard in J1939

Figure 3.67: Read 10bit-values of Joystick with PGN FDD6 to FDDA

Figure 3.68: Joystick 1 X-Axls Position

81 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 82: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

To detect errors signaled by raw value 1022 and higher, joystick parameters of mapped input must beconfigured like this for error bottom/top. Range between min_neg and min_pos might be also largerbut centered around 1024, which is middle position.

Figure 3.69: Example

Figure 3.70: Example

82 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 83: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

3.3.4 J1939 Aux Valve Command (AV00C .. AV15C)

Since Firmware > 4.63 reading a byte as unsigned byte with 29bit ID and ID between FE03 andFE3F(Aux valve command), the 8bit value of first byte of telegram from 0..250 is multiplied by 4.Depending on bits of Aux-Valve-State-Command, value is multiplied with minus 1 for retract. Then1024 is added.This enables to read J1939 valve commands. Raw value is 0..2000.

3.4 Input types, 4..20mA, Pull-up

The six analogue inputs AI0 to AI5 can be individually programmed either to 4..20mA mode or toPull-Up mode (10kΩs for digital switches, switching to GND).

Via Parameter 28, each single input can be programmed to 4..20mA – Mode., otherwise the inputs are0..10V-Type. Valid Values: 100 .. 163

Via Parameter 29, each single input can be programmed to Pull-Up – Mode., otherwise the inputs are0..10V-Type. Valid Values: 100 .. 163

101: AI0102: AI1104: AI2108: AI3116: AI4132: AI5

103: AI0 and AI1107: AI0 and AI1 and AI2115: AI0 and AI1 and AI2 and AI3131: AI0 and AI1 and AI2 and AI3 and AI4163: AI0 and AI1 and AI2 and AI3 and AI4 and AI5Etc.

If set to 4..20mA mode, the raw-value for 4mA is about 1000 and for 20mA about 5000. 24mA will goto 6000 and should be detected as error.The CANIO14+ will detect also if Input is connected to Voltage directly. Error will be shown, andraw-value will become -2, and calculated value zero.Input will then return to Voltage mode to protect the 220Ω Resistor.

83 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 84: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

3.5 Scaling and Control of Outputs

The result of the settings of analogue inputs and logical settings can be checked in Prop-Valve menuin the setpoint-value, shown in left upper part without having to connect coils:

Additionally Setpoint- and Measured Current can be checked, and I-Min, I-max and dither-parameters can be set here.

If override is at 980 and still current < 50mA, an OPEN-Error is detected.

Figure 3.71: OPEN-Error detected

Current control can also be switched off, so also on/off outputs or lamps can be controlled.Then i-max will become PWM-ratio-max (51% in example)

Figure 3.72: PWM-ratio-max 51%

Hints for Parameters:

84 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 85: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

• Twin Coil enables writing to (odd) B-side via negative setpoints (-1 to -1000) and can only beset in the even parameter number.

• Current control activates closed loop (current independent of supply). If activated, Resistormust not be higher than reality, otherwise oscillation of current control might happen. If notactivated I-min/max are assumed to be PPT of PWM-Ratio, otherwise mA.

• Dither Amplitude is only relevant, with “Normal Dither” enabled, otherwise Dither-amplitude isdefined indirectly via Dither Frequency.This means, that with “Normal Dither” not set, the Dither Frequency is also the PWM frequency,i.e. there will be a saw-tooth signal of for example 100Hz, and the dither amplitude is defined bythe inductivity of the coil and the ratio of PWM-Signal.With “Normal Dither” set, the PWM frequency is 1 KHz, and within this KHz the dither isadded/subtracted from average PWM-signal, thus generating a dither amplitude, which can beset as percentage of setpoint.The smaller the frequency, the bigger the (possible) amplitude.Note: the amplitudes are only defined as percentage of the voltage. It is not guaranteed, that theresulting current will also have this amplitude. Moreover at small or big setpoints for ratio, theamplitude is limited by 100% and 0%, i.e. at a ratio of 10%, the amplitude can not be bigger than10%.

• Normal Dither generates more internal heat, if activated. So not recommended for heavy dutyapplication and for 12V systems

• I-max if set to >=1000 and i-min = 1000 and current-control deactivated, output is used ason/off output (for firmware < 3.1, PWM of 97% will result)

Hints for “Real Data” in lower part of screen:

• Setpoint is the value, sent to the coil, range from -1000 to +1000

• PWM Ratio is current PWM-Ratio in %.

• =Setpoint has same meaning as Setpoint, but might be reduced by flow-sharing.

If “Current Control” is checked:

• Setpoint Current is the Current, which should flow through the connected coil

• Measured Current is the current measured at output. It should be same as Setpoint current, ifa coil is connected. If “Measured Current” is close to zero, and Override is close to 1000, the coilis probably not connected properly (broken wire).

If “Current Control” is not checked:

• Setpoint Current is the PWM-Ratio calculated from Setpoint, I-min and I-max.

• Measured Current is the current measured at output. It is normally not the same as Setpointcurrent.

85 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 86: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

NOTE

Ramps for PWM-Outputs are not implemented in CANIO, only for (analogue)Input!

3.6 Example on using Excel for Logic of CANIO14+

3.6.1 Scope

“Programming via Parameters” is made for doing logical connections between outputs of CANIO andone or several inputs of CANIO or of CANBus.This enables to solve many problems for hydraulic application.However, it cannot be used, or only to small degree, for state-machines having more than two states,i.e. automated processes one step following the next. Also delays and timer-functionalities are onlyavailable to a limited degree.Result of work with Excel is a file, containing communication parameters, information on twin-single-coil, names of I/O for Visual Tool, and the logic parameters.Possible functionalities (examples, also combinations possible):

And-gating:

- 4 twin-coil-outputs follow 4 joysticks

- 8 outputs follow 8 Potentiometers (for example pressure control valve)

- 3 twin-coil-outputs follow 3 joysticks, pilot valve activated with every coil.

- two pilot valves/estop valves follow two groups of outputs.

- twin output follows a joystick, additional speed-potentiometer input

- twin output follows a joystick, additional digital enable-input

- twin output follows a joystick, digital input defines reduced max. speed.

- two outputs follow one Potentiometer (speed) and two switches (direction)

- output follows one switch (can be ramped)

- one output follows two switches which are ANDed

- twin output follows two switches/joysticks, if both are on, no output (XOR-gate)

- all above combinations combined with dis-able input (limit switch etc.).

86 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 87: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

- all above combinations combined with speed reduction input

- all above combinations, with output values sent to PSL-CAN

Multiplexing:

- output following either one input or other input depending on switch

- output following either one input or same input with other ramp depending on switch

MOM

- momentary-switch (push to lock) with speed potentiometer/joystick for one output (push on, pushoff)

Cruise control

- INC+DEC keys to increase / decrease output in steps like 10%

- Joystick value latched via INC-key, then INC+DEC keys to increase / decrease output in stepslike 10%, Stop by reversing direction of Joystick, or by DEC-key.

- Joystick - Axis for two outputs (twin-coil) to drive forward and backward, second axis for makingdifference between two output to get steering control.

Flow sharing, also with up to 3 CANIOs combined, see subsection 3.2.9

- defining available flow and needed flow for every output. Reduction of speed to make valuesmatch, if necessary

More inputs

- as output-results of not-used outputs like b-side can be used as input, also more complex logicscan be done.

Specials (only for Firmware >Sept 2016):

- Auto-Positioning for outputs 0/1 and 2/3, also auto-levelling

- Closed Loop for outputs 0/1

- Closed Loop for two twin-coils following 2 Joysticks, and Hall-sensors WA-option

(not in standard firmware, upon request):

- Parallel movement of 4 cylinders with 4 twin-coils, reading 4 position sensors

. . . . . . .

87 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 88: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

3.6.2 Macros

The functionality of the Excel sheet is based on Macros. To be able to use them, they must be enabled.

If disabled, this pop-up screen does not appear, when opening the sheet:

Figure 3.73: Pop-up Screen

This message Box explains in short words how the sheet should be used:

To enable Macros in Excel 2010:

• Click the Microsoft Office Button , and then click Excel Options.

• Click Trust Center, click Trust Center Settings, and then click Macro Settings.

• Enable all macros

• Disable after closing file (optional)

3.6.3 Pinning list, names for inputs & outputs

As mentioned in startup message, first step is to fill the green range on right side of the pinning listwith the names of the input/output connected to the pin.

88 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 89: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Here we assume to have two twincoils Boom1/2 and a Pilot-valve, 2 Joysticks, a speed-reductionPotentiometer, an Enable and a limit-input.

Figure 3.74: twincoils Boom1/2 and a Pilot-valve, 2 Joysticks, speed-reduction

If there are also Inputs from CAN-Bus, next step, is to fill the sheet “ALL_CAN”.In this example, we have a radio, sending 2 bytes of analog joystick signals joy_radio0 and joy_radio1,and some digital inputs in one telegram, on ID 333

89 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 90: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.75: CANBus-Telegrams

After having defined all inputs and outputs, next step is to select the sheet „Prog_via_Para“.

90 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 91: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

3.6.4 Logical connections: Setpoints

Figure 3.76: PvP Screenshot

Here the upper row of the 8 columns is already filled with the names of the outputs.The selected output, is dark yellow, the other ones are bright yellow.

Now “programming” can begin.This means as a first step to select an output, and then select an input driving this output by choosingfrom the drop-down menu marked with exclamation mark on right side.

The contents of the drop down menu includesthe local inputs of CANIO, where names have been inserted, with their names and a number following@.

Figure 3.77: PvP Screenshot

the inputs from CAN-Bus, where bytes are shown both as unsigned and signed and as bit

91 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 92: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.78: PvP Screenshot

other special “inputs”, like the result of other outputs

Figure 3.79: PvP Screenshot

Internal error states of CANIO, which might be used to indicate errors via an output

Figure 3.80: PvP Screenshot

If joystick1 should drive Boom1_A select this input from drop-down menu.

92 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 93: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.81: PvP Screenshot

The upper text box explains what has been programmed.

If check-box Twin0/1 is unchecked, the text changes like this:

Figure 3.82: PvP Screenshot

So if twin-coil is selected, the input is for A and B side (negative values), else only for A-side.

The line for setpoints also includes other options, with explanation via Comment: As Estop-Valve hasto be activated with every movement, Pump1 is selected as well.

93 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 94: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.83: PvP Screenshot

Inversion of variable is just shown as example. It is useful for B-side of twin-coils being activated astwo single coils for programming reasons.

3.6.5 Logical connections: Override

A second input can be selected to influence output now from the drop-down menu two lines below theone for the setpoint.

Figure 3.84: PvP Screenshot

Available inputs in drop-down menu marked yellow are the same as for the Setpoints.For example the Speed-potentiometer can reduce speed, generated by joystick1, by selectingspeed_pot in drop-down menu of Override.

94 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 95: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Also in this line, additional options can be selected, to modify functionality: OR/XOR to or-gate /xor-gate the input with input of setpoint, usually combined with pos_neg to have signed value and notabsolute value.MOM to enable Setpoint with first rising edge, and disabling again with falling edge. INC_DEC forCruise-control.

If not needed, Override is set to “not used @-1”.

3.6.6 Logical connections: Disable

A third input can be selected to influence output now. Same variables available in drop-down menu asfor subsection 3.6.4

For example the Limit-switch could cause a stop to this movement:

Figure 3.85: PvP Screenshot

The input defined by third parameter, not only has functionality of “Disable” but can also be secondOverride, if “Pos_neg” is set.And it can be speed input for Cruise-control and in case of selecting between two inputs (set-point+disable) by parameter override.

95 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 96: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

3.6.7 Logical connections: Mapping

If one or several analog inputs are not used, or only used as digital inputs, any result of any otherdigital or analog input coming via CANBus can be mapped into these analog inputs, using the ramping,filtering and scaling capabilities of this analogue channel. Digital inputs from CANBus are read as 0 or1000 (if set).

Mapping is supported forinputs selected

- Setpoint (parameter 20f),

- Override (parameter 30f) and

- “Not-Enable” (parameter 40f)

Mapping is only allowed for values >=0, i.e. negative values are interpreted as error.

In example, above, there is byte zero of Telegram ID 333 of sheet ALL_CAN, named “joy_radio0”

Figure 3.86: CANBus-Telegrams

This byte can either be signed, with values from-128 to 127 or unsigned with values from 0..255.In drop-down-menu both versions are shown. As-sume it is unsigned:

Figure 3.87: Input for Setpoint

So values will be 127 in the center, going up to 255and down to zero.CANIO will internally add 1 and then multiply with4, so values are 512 in center, going up to 1024and down to four.

But for the outputs we need signals of +-1000. One solution is, to map this input of Setpoint through(un-used) analog input (AI7 for example) and scale the values to +-1000 there.If not mapped, the values are internally scaled to +-1000, but then there is no ramp available. (featurewith software > September 2016)

96 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 97: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.88: Selection of Mapping to AI7

Figure 3.89: Scaling of input with option for ramping and filtering.

512 (128*4) in center for unsigned byte (deadband already done in radio).

The following picture shows boom2 being driven either by (mapped) Radio, if selector is set, or byjoystick2 if not set. Mapping is marked red, Multiplexing in black.

97 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 98: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.90: boom2 driven either by (mapped) Radio or by joystick2.

3.6.8 Download parameters to CANIO via VT

If all logical connections are done, VT can be opened.When connected to device, Batch-Processor must be clicked:

Figure 3.91: Hit Batch-Processor

Then hit load

98 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 99: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.92: Hit load

Select file para.csv which is in same folder as excel sheet, and must have date of generation.

Figure 3.93: select para.csv

Parameters are shown,Hit SET to write Parameters

Figure 3.94: Hit set

99 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 100: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.95: Result of Import

Also the names of Excel sheet are imported into VT, so the VT-project should be saved then.

100 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 101: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.96: Names form the Excel-Sheet

3.6.9 Test of Program-Parameters

Now testing can be done, to check, if everything behaves as expected.

Make sure, not to apply hydraulic power yet!Note: the test of Parameters can also be done without wiring the Outputs, only Inputs have to beattached. Value of Outputs can be seen, without flow of current.Local analog and digital inputs can be directly seen in Menus for analog inputs, and will probably haveto be scaled.

101 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 102: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.97: Value of Outputs

Also inputs from CANBUS Mapped through analog inputs can be seen there.If CANBUS telegram is not arriving, Raw Value will show as -2, causing Error and Computed Value ofzero.Inputs from CANBus can also be seen in Watch-window on right side, at PLC-Parameters.Extern 0..3 for first telegram, 4..7 for second etc.If values are zero, either telegram only includes zeroes or telegram is not sent on bus.

Figure 3.98: CANBUS telegram is not arriving

If all inputs arrive and behave as expected, the corresponding outputs can be checked.Best way is to use Watch-window on right side.If “Show All” is checked, a tree opens, showing all variables. The relevant ones then should be selected

102 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 103: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.99: Show All Option

Then “Show All” should be unchecked to see the relevant values.In this case, the computed-values of the inputs, and the setpoints of the output.

Now it can be verified, that Boom1_A has a setpoint of 50%, which is caused by joystick1=100% andspeedpot=50% and limit=0.

103 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 104: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.100: Analog Inputs ad Proportional Valves

If limit becomes >0, Boom1A must become zero.If joystick1 goes to 500, Setpoint will become 25%.Zero will cause 0% also for Estopvalve, unless second function is active:

Second functionality: multiplexed input:With “selector” set, Output follows the radio-value

Figure 3.101: Output follows the radio-value

104 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 105: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Otherwise it follows joystick2

Figure 3.102: Output follows joystick2

If valves are already connected, and in order to prepare parameters for valves valve parameters canbe checked in respective menu:

Figure 3.103: No valve connected

Here no valve connected, therefore „Open Error“.To be sure, supply for transistors is there, you can also check measured voltage at output pin, in menufor digital input:

105 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 106: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.104: Analog Value > 1000

Analog Value > 1000 means, that CANIO is driving the output high. If there is no current, coil must bemissing.

3.6.10 Additional Examples

a) Cruise control with INC/DEC: Parameters of INC to generate 10% steps:

106 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 107: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.105: Cruise control with INC/DEC

Figure 3.106: Parameters of Program

b) Cruise-control with INC/DEC + “Pedal”, Parameters of #INC like in a)

107 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 108: Technical Documentation CAN IO14+

3. AMPLIFIER MODE

Figure 3.107: Cruise-control with INC/DEC + “Pedal”

108 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 109: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

4 Slave Mode, CANIO controlled via CAN-Bus, CANopen-style

CANIO can be used with standard Firmware, as CAN-Bus-Slave, transmitting the value of its inputsand reading commands for outputs, sent via CAN-Bus from a PLVC or other CAN-devices (i.e.CAN-Bus-Master).

4.1 General CAN-Bus Topics

The CAN bus (controller area network) is an asynchronous, serial bus system that requires only twowires for the data transmission. According to their signal levels they are denoted by CAN_HIGH andCAN_LOW.Twisted-pair cables with a characteristic impedance of 108 to 132 Ω are recommended as bus line(according to ISO 11898-2 “high speed medium access unit”).The protocols CAN 2.0 A & B and J1939, based either on 11 or 29 bit address data, are commonlyused for data transmission formats (OSI layers 1 to 2). Both variants are supported by the CANIO14+modules on the hardware side. The 11-bit mode is preferred. The reference potential for the CAN busis internally connected to the 0V signal of the power supply.

4.1.1 CAN Bus Baud Rate

Each bus system must be assigned to all participants identical transfer rates. A compromise betweenthe required transmission rate (or fault tolerance) and geometric length of the bus has to be found.The transfer rate depends on the length of the bus line. In next table values can be found. Note therelationship between transmission rate (baud rate) and maximum allowed cable lengths. Also considerthe topology (linear vs. star) of the bus system.

Transfer rate Bus length Maximum length for tap line

100 kbit/s 600 m 25 m125 kbit/s 500 m 20 m250 kbit/s 250 m 10 m500 kbit/s 100 m 5 m1000 kbit/s <20 m 1 m

Table 4.1: Recommended Bus Line Length Limits

250kbit/s are used as standard setting for CANIO14+. It is suggested to use a linear bus topologyminimizing the length of tap lines.

109 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 110: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

4.1.2 CAN Bus Termination

Every CAN network must have two terminating resistors, each 120Ω and installed at the respectiveends of the bus lines. If power is switched off, 60 Ω (two times 120 Ω in parallel) should be measuredbetween CAN-Hi and CAN_Low, if termination is installed properly.

4.1.3 Line Layout and Net Topology

Improper wiring reduces the performance of the bus.Star topology and too long tap lines lead to communication disorder.The attempt to realize a linear network topology and to avoid tap lines should generally be made.If this is not possible, the maximum length of the tap lines should follow the specifications in tableabove, in accordance with the respective transfer rate.An exemplary diagram of a CAN network is illustrated here:

+ Power

-centralneutralpointground

B

CH CL

C

CH CL

ACH CL

E

CH CL

DCH

CL

120Ω

120Ω

Figure 4.1: Recommended Architecture for Grounding and Shielding of CAN Bus Systems

Recommendations derived from the example network:

• For suppression of interference radiation and/or minimizing of interference transmission twistedsignal lines should be applied for longer sections of the bus line. Additional shielded cables withdefined impedance (120) would be better.

• The construction of the bus network should preferably be linear and terminated at both endswith a load resistance of 120.

110 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 111: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

• Shielding of the CAN line can be neglected if the bus lines are short with only low EMC loads.See fieldbus device A.

• There must not be a potential shift between the individual CAN users. Ground (GND) lines of allCAN devices have to be sufficiently dimensioned and routed together to one single point.

• If interference signals on the supply network are expected, a local separation of the bus line isrecommended.

• Spur lines for connecting individual participants to the bus should be kept short. See fieldbusdevice A.

• Medium length spur lines should be twisted or shielded. See fieldbus device C.

• If the fieldbus device is far away from the main line, a bus line leading to the participant andfurther from there should be used, but no spur line. See device E. In case of using shielded buslines, one-sided direct connections of the shield should be designated to avoid ground loops.

4.1.4 CAN-Bus Basics

Independent of the protocol used, the physics of CAN-Bus defined in the ISO 11898 are the reasonthe similarities of all protocol implementations.The following subsections provide a brief overview of these essential characteristics.

4.1.4.1 Telegram

CAN messages consist of so-called telegrams, which are data packages with some bytes of user data.Telegrams consist of 11 or 29-bit ID (column 1), a length DLC, and 0..8bytes of data(column3). In thisexample the telegrams are cyclically repeated.

111 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 112: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Figure 4.2: Telegram

The address field allocated to every telegram has to assign recipient/sender/purpose to the telegrams.All protocols have in common that every participant has or becomes a number assigned that is uniquein the network. The standard designation for these participants is node- ID. The conversion of thenode-ID to the COB-ID is specific to each protocol.

Fields with a length of 1, 2, 4 or 8 byte are commonly used for the transfer of data values. The littleendian data format is common for the values that are made up of multiple bytes, which means that thebyte with the highest value is transmitted last. Negative values are transmitted as one’s complement.

4.1.5 CANopen

CANopen has become a widely used communication protocol providing a standard framework forcommunication between devices in CAN networks. It is based on the CiA-301 [3] standard that ispublished by the user association CiA (CAN in Automation (CiA)).Corresponding documents may be acquired via internet under the following address: http://www.can-cia.de/.A more simplified form of integrating CANopen participants in various developer environments ordiagnosis systems (PC tools for commissioning) consists of inserting a detailed device specificationinto corresponding programs through an EDS file.

Unfortunately the material given by the CiA is only partly useable to provide a quick start for newcomersto CAN technology.Aim of this chapter is to offer a basic introduction into the philosophy of CANopen and to explain thedifferent elements of the standard.The CANopen standard distinguishes between the following data objects (telegram types):

112 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 113: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

• PDO (Process data object)

• SDO (Service data object)

• NMT (Network management)

• EMCY (Emergency object)

• SYNC (Synchronization

Process data objects (PDOs) are telegrams that are cyclically sent and apply to the actual function ofthe particular CAN participant. PDOs are responsible for the major part of the busload in a CANopennetwork. They serve the original purpose of the CAN participants: transferring data to or from a slave.

Service data objects (SDOs) are only used for parameterization.The SDOs provide write and read access to the internal data of the valve, and to read or writeparameters. At the heart of this philosophy is the so-called object dictionary, which is a list of entriescomplete with the associated indices, which makes the internal data structure of any slave accessible.

In addition to the PDOs and SDOs there are also commands for network management (NMT) as wellas prioritized identifiers to communicate errors, so-called emergency objects

RXPDOs, TXPDOsProcess data objects (PDOs) are telegrams that are frequently transmitted, e.g. actual values andsetpoints.

master =setpoint generator andslave = CANIO14+ = setpoint recipient.

4.1.5.1 CANopen Default Identifier Distribution

Due to the 11-bit addressing the address space of CANopen includes 2exp11 = 2048 possible COB-IDs. The number of 128 potential participants enables dividing the entire address space into 16partitions with the length 128, which can have various functions assigned.

113 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 114: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

DIR Address range Hexadecimal COB-ID Function

M → S 0 0 0 NMTM → S 128 0x080 128 Sync commandS →M 129 - 256 0x080 - 0x0FF 128 + Node-ID Emergency ObjectS →M 384 - 511 0x180 - 0x1FF 384 + Node-ID TxPDO1M → S 512 - 639 0x200 - 0x27F 512 + Node-ID RxPDO1S →M 640 - 767 0x280 - 0x2FF 640 + Node-ID TxPDO2M → S 768 - 895 0x300 - 0x37F 768 + Node-ID RxPDO2S →M 896 - 1023 0x380 - 0x3FF 896 + Node-ID TxPDO3M → S 1024 - 1151 0x400 - 0x47F 1024 + Node-ID RxPDO3S →M 1152 - 1279 0x480 - 0x4FF 1152 + Node-ID TxPDO4M → S 1280 - 1407 0x500 - 0x57F 1280 + Node-ID RxPDO4S →M 1408 - 1535 0x580 - 0x5FF 1408 + Node-ID TxSDOM → S 1536 - 1701 0x600 - 0x67F 1536 + Node-ID RxSDOS →M 1792 - 1829 0x700 - 0x77F 1702 + Node-ID NMT

Table 4.2: CANopen Default Identifier Distribution

This Table shows this distribution.Please note the direction information as listed in table above. I

CANIO14+ supports

a) TxPDO1 for transmission of digital inputs.

b) TxPDO2+3 for transmission of analog inputs.

c) RxPDO1 for transmission of digital setpoints to CANIO14+

d) RxPDO2+3 for transmission of proportional setpoints to CANIO14+

see subsection 4.2.1 and following for details.

4.1.5.2 Identifier Distribution of HAWE products

Some IDs are reserved for historic reasons. Not necessarily all IDs are used, but they could be.

CANopen Hex Dez set by Used forNMT 0 0 \param\sub4\canmaster Startup command from master

7 7 terminal via canbus64 100 NBB Radio80 length 0, SYNC Telegram81 80h + NODE-ID Emergency PSL-CANAA 170 \para\sub7\cannode Slio sync, obsolete, length 2

TPDO1 181 385 \para\sub4\a) PLVC dig Input

114 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 115: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

182 386 \para\sub4\a) PLVC dig Input183 387 \para\sub4\a) PLVC dig Input184 388 HMI length 71a0 416 Feedback psl-can 1A0, 1A2,.. – 1BE1BE Feedback psl-can 1A0, 1A2,.. – 1BE1E4 484 Analog values Radio1E5 485 Analog values Radio1E6 486 Analog values Radio1f4 500 radio Gross-funk1f5 501 radio Gross-funk1f6 502 radio Gross-funk

RPDO1 201 \para\sub4\k)l) dig. Setpoints PLVC/CANIO slave203 \para\sub4\k)l) dig. Setpoints PLVC/CANIO slave

204 .. \para\sub7\b) Textes for HBC radio and HMI20B \para\sub7\b) Textes for HBC radio and HMI

220..23F 544 CAN_VALVE setpoints psl-can 220 – 23F

TPDO2 281..290 \para\sub4\d)=0+ sub6! Analog Transmit addr.=0 => 281h – 290h295..2A4 \para\sub4\d)=1+ sub6! Analog Transmit addr.=1 => 295h – 2a4h2A9..2B8 \para\sub4\d)=2+ sub6! Analog Transmit addr.=2 => 2a9h – 2b8h

2BD..2CC 701 \para\sub4\d)=3+ sub6! Analog Transmit addr.=3 => 2bd - 2cc2E4 740 Radio

RPDO2 301 \para\sub4\h)i)=0 prop. Setpoints PLVC/CANIO slave302 \para\sub4\h)i)=1 prop. Setpoints PLVC/CANIO slave303 \para\sub4\h)i)=2 prop. Setpoints PLVC/CANIO slave364 radio display texts

TPDO3 381 380+NodeID CANIO Analog input PDO33A0..3BE Parameter 271 Debug-Texts PSL-CAN

3c0 960 radio hbc new3E8 1000 \para\sub4\n)=1000 Display

RPDO3 401 401+NodeID RPDO3444..44F 1092 Terminal via CANBUS

RPDO4 481 480+NodeID4A0..4BE Can-node Tool Tx

TPDO4 501 500+NodeID520..53E Can-node Tool Rx

TxSDO 581 500+NodeID Sdo from Slave5A0..5BE PSL-CAN SDO Respond

RxSDO 601 600+NodeID Sdo from Master620..63E PSL-CAN SDO Request

NMT 701 700+Node-ID Boot telegram707 1799 \para\sub4\m)=1799 Graphic display respond

115 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 116: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

7E4 can-node Tool broad-cast7E5 can-node Tool broad-cast

7FC..7FF 2044 radio hbc classic

Table 4.3: Identifier Distribution of HAWE products

4.1.6 Busload of CAN-Bus

Acc. to recommendations of CAN-CIA not more than 60% of Busload is recommended. Experienceshows, that also Loads of up to 90% are possible, if this load is continuous, i.e. no bursts of telegramsare be expected.Otherwise telegrams will be lost, which might not harm, if the information transferred is repeatedpermanently. But with data transfer of data > 8 bytes, information will be lost.

Moreover, for CANIO a very high bus load also reduces speed of software.Workaround: see subsection 4.1.7

1000 telegrams/s or 50telegrams/20ms generate a Bus load of about 100% at 125kBaud 2000telegrams/s or 100telegrams/20ms generate a Bus load of about 100% at 250kBaud

To detect too high bus loads, you can check \diagnosis\submenu4 of PLVC, the value after “real”:

Figure 4.3: Detect too high bus loads

Alternatively, via PCAN-View, you can select \tools\status-display\Bitrate to find the bus-load, i.e.RcvBits/s divided by 250.000 or 125.000 depending on Baudrate.

116 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 117: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Figure 4.4: Detect high bus loads via PCAN-View

If bus load is too high several topics might have to be checked and modified depending on reason(s):

a) Cyclic Telegrams generated by PLVC/ OpenPCS: any ACT_VALVE (channel>=34) will generate aCAN-Telegram, the same with any write of CAN_WRITE or CAN_WRITE_29. Make sure, Task-Type istimer and not Cyclic, and make sure, Cycle-time is >=20ms

Figure 4.5: Task-Type

b) Cyclic Telegrams generated by PLVC/OSParameter a) >=0 generates 1 Telegram per 20ms, but is necessary for VT via CANBus

117 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 118: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Figure 4.6: Visual Tool Terminal

Parameter d) >=0 can generate many telegrams per 20ms, depending on how many telegrams areenabled in submenu 6:Disable as many as possible here!

118 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 119: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Figure 4.7: Visual Tool Terminal

Submenu 6 of \ParameterThe telegrams enabled here are transmitted every 20ms. Via parameter p) in submenu 4, this rate canbe set to 40ms via 2, to 60ms via 3 etc.

If PSL-CAN is used:

a) You can lower the bus load, if you send fewer set points to the valves. You might have to increasethe setpoint timeout value at Parameter 119 (PAR_ERR_SP_TIMEOUT) accordingly.

b) Increase the value for repetition-time of Transmit PDOs from the CAN-Valves with Parameter118 (PAR_CAN_STATUS_TIME) from 20 to 100 via CanNode-Tool.

And you can lower the Transmit PDOs from the CAN-Valves with Parameter 118(PAR_CAN_STATUS_TIME).

119 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 120: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

4.1.7 CAN-Bus Filters for Telegrams V4.55

If there is more than 50% of traffic at 250kBaud, this will slow down execution time of CANIO. Often,80% of telegrams are not relevant for this specific device, so a filter to only get relevant telegramsconsuming CPU time is helpful.With Firmware Version > 4.5 filtering can be activated for CANOPEN mode.If Parameter 14 > 0 and Bit6 set (64 added) 4 filters will be set:

a) For NodeID defined with Parameter 2

b) For Telegrams > 600h, to read SDO

c) For Telegrams < 100h for Startup, CYC-Telegram

d) If Parameter 0 < 0 : to read all 29bit telegrams, else to read Telegrams with Parameter0 as leastsignificant 6 bits.

4.2 Configuration of CAN-Telegrams for CANIO14+

Behaviour of CANIO14+ as Slave is defined via user parameters, which can easily be modified viaVisual Tool (VT). The relevant parameters can all be found within the first 17 Parameters, which canbe seen here:

Figure 4.8: Set parameters

Configuration enables communication in CANopen-style. In the strict sense of CANopen theseconfigurations would be done via SDO-Telegrams, however CANIO14+ offers an easier way ofconfiguration, described in the next chapters.

120 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 121: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

4.2.1 TPDO1 Digital Inputs

Digital inputs are sent via Transmit-PDO1, i.e. ID180h +x,where x is also called Node-ID.User Parameter 2 defines x+1i.e. 0→ Telegram 181h, 1→ 182h, etc. -1→offi.e. NodeID 0 is not supported, as Parameter 2 set to -1 disables this PDO.User Parameter 3 defines telegram length: 0..8,

If parameter 2 is set to zero, and Parameter 3 is set to 4, the following telegram results:

Figure 4.9: Telegram

Byte0 for IB0.0 to IB0.7 // dig. inputs and 6 analogue inputs read as dig. inputByte1 for IB1.0 to IB1.7 // outputs read as inputByte2 for inverted IB0.0 to IB0.7Byte3 for IB2.0 to IB2.7 // Controller supply, 5V ref. New since V2.99

If Parameter 3 (for length of telegram) is 8, also the first 3 analogue inputs AI0,1,2 are transmitted viathis PDO, following two bytes of dig. inputs, (without inverted values of dig. inputs).If Parameter 4 equates to 1, the scaled inputs are transmitted, otherwise the raw-values [mV].In next example Parameter 3 is at 8, and Parameter 4 at 1, so 2*8 input bits, and 3*1000 (03E8h) ascalculated analogue input values are sent.

121 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 122: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Figure 4.10: Telegram

For Firmware Version >= 3.73 :If Parameter 3 (for length of telegram) is at 4 telegrams are sent at rate of 120ms and if there is achange in last 20ms. This can reduce bus-load, but still has information sent fast if there is a change.If Parameter 3 (for length of telegram) is 5 or higher, but smaller 8, telegram is at 20ms again andcontains:

• B0: dig. inputs IB0.0 to IB0.7,

• B1: dig. inputs IB1.0 to IB1.7

• B2: inverted output-errors(short circuit or open-error) 0..7

• B3: inverted Ain-Errors 0..7.

• B4: inverted byte of output short circuit - error. (not visible in PLVC!)

• B5: inverted byte of hi-error or lo-error: hi-error: Voltage on output without setpoint, low-error:no Voltage at output, although setpoint

• B6: Bit-field of 8 bits, indicating if output 0..7 is set (having setpoint>0)

• B7: not sent!

122 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 123: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Figure 4.11: Telegram

This CANIO sends output errors on outputs 0 and 2 (FAh), input error on Ai3 (F7H), and short circuiton Output 0 (FEh). → Output 2 has OPEN error.

Hint for PLVC-Users:If combined with a PLVC, inputs can be directly read from IB8.0 to IB9.7 if Parameter b) is set to 1 forreading ID 182h. (see Figure 4.12 screenshot of PLVC\parameter\sbu4)

123 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 124: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Figure 4.12: Screenshot of PLVC\parameter\sbu4

4.2.2 TPDO2, Analogue Inputs

If more than 3 analogue values are needed, one or two telegrams of Transmit-PDO2 have to beenabled:User Parameter 6 defines Node-ID+1, i.e. 0→ Telegram 281h, 1→ 282h, etc., -1→off Node-ID 0 isnot supported, as -1 deactivates the telegram.User Parameter 7 defines how many telegrams (of 4 analogue inputs each) will be sent:0→off, 1→1 Telegram, 2→ two telegrams.

Since Firmware Version > 3.0:If Parameter 7 equates to 22, a second telegram will be transmitted on TPDO3i.e. 0→ Telegram 381h, 1→ 382h, etc., -1→off

If Parameter 4 equates to 1, the scaled inputs are transmitted,if Parameter 4 is smaller than 0 the raw-values are transmitted,if Parameter 4 equates to 2, the measured current of outputs is transmitted.In this example Para. 6 is at 1, Para. 7 at 2 and Para.4 at 0:So raw values of analogue inputs 0,1,2,3 are sent at ID282h and inputs 4,5,6,7 are sent at ID283hSee following screenshot.

124 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 125: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Figure 4.13: Raw values of analogue inputs

Figure 4.14: Para. 6 is at 1, Para. 7 at 2 and Para.4 at 0

Hint for PLVC-Users:If used together with a PLVC, telegrams 281h ff will be read into analogue inputs, submenus 7,8,A,B

125 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 126: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Figure 4.15: Submenus 7,8,A,B

Where they can be read into OpenPCS via GET_ANA, Channel 64ff (see left side column of table)Validity of data is returned in GET_ANA.OK. IDs are shown on right side column.The telegrams are checked for a timeout of 200ms.

4.2.3 RPDO1 digital Setpoints for on/off - Outputs:

CANIO has 8 outputs, which can be used either proportionally (PWM or IPWM) or as digital outputs(on/off).For use as digital outputs Receive-PDO1 is used i.e. Telegram with ID 201h+x.A byte with 8 bits is sufficient to control the 8 outputs.A CAN-Bus-master sending a telegram with ID201h and 8 bytes of data, therefore could control up to8 outputs of 8 CANIO =64 outputs

User Parameter 10 defines the Telegram to react on:

126 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 127: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Parameter 10 ID for setpoints

-1 Deactivated0 201h1 202h2 203hX, x<8 201h +x

Table 4.4: User Parameter 10

NOTE

In CANOpen applications User Parameter 10 must have the same value as Pa-rameter 2, i.e. NodeID-1

11 defines the byte within the telegram to react on:

Parameter 11 Byte

-1 Deactivated0 01 12 2X, x<8 X

Table 4.5: User Parameter 11

NOTE

In CANOpen applications this value defines, which sub-entry of Receive PDO1 will be used: 0 = DigOut0 etc.

127 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 128: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Figure 4.16: Sub-entry of Receive PDO

User Parameter 12 defines a mask for this byte to react on:

Parameter 12 Outputs

-1 or 255 All 8, 0..70 None1 02 13 0, 14 25 0, 2. . . . . .15 0, 1,2,331 0, 1,2,3,463 0, 1,2,3,4,5127 0, 1,2,3,4,5,6

Table 4.6: User Parameter 12

The mask gives the possibility to have some outputs working as digital, mixed with some PWM outputs,which are controlled by another PDO (see next topic).

The telegrams have to be repeated at least every 150ms, otherwise outputs will be reset to zerobecause of internal time-out control.

NOTE

Make sure, not to use “Programming via Parameters” at same time, or considermask very carefully!

For PLVC Users:For combination of CANIO with PLVC, outputs can be directly addressed by PLVC as master via

128 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 129: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

addresses %QB25.0 (byte 0), or %QB26.0(byte1), if parameter k) of PLVC\Parameter\Submenu4 isset like shown below.The corresponding telegram with ID201h (203h if Value set to 1) will be generated automatically afterevery PLC-cycle:

Figure 4.17: PLVC\Parameter\Submenu4

4.2.4 RPDO2+3 Setpoints for Proportional (PWM/IPWM) Outputs

4.2.4.1 Setpoints via HAWE PLVC standard

CANIO has 8 outputs, which can be used as PWM or as on/off/digital outputs.For use as proportional/PWM outputs Receive-PDO2 is used i.e. Telegrams with ID 301h+x:

User Parameter 15 defines the Telegram to react on:

129 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 130: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Parameter 15 ID for setpoints

-1 Deactivated0 301h1 302h2 303h3 304h

Table 4.7: User Parameter 15

Telegram must have a data-length of 5.

Byte 0 defines the number of the outputs: range from 0 to 7 If configured as twin-coil only 0,2,4,6 haveto be used.

The setpoint value ranges from 0..1000 for single – coils and from -1000 to 1000 for twin coils. Thisvalue must be written into Bytes 1 and 2, with low-byte first.

Figure 4.18: Telegram will look like this for setpoint of +1000 (03E8h) to output 4

NOTE

Make sure, not to use “Programming via Parameters” at same time!

For combination of CANIO with a PLVC as master, outputs can be directly addressed via FunctionBlock ACT_VALVE, with channels 34, 36, 38 and 40 (for 4 twin coils).

130 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 131: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

If parameter h) is set like shown in the following screenshot, the corresponding telegram with ID301hwill be generated on any call of FunctionBlock ACT_VALVE (channel>=34).

Figure 4.19: Parameter h)

A second CANIO could be directly addressed via Function Block ACT_VALVE, with channels 68, 70,72 and 74 (for 4 twin coils), if parameter i) is set from -1 to 1 in PLVC and parameter 15 of CANIO setto 1. In this case, the third can be addressed via channels 102, the fourth one via channel 136.

4.2.4.2 Setpoints via RPDO2/3, 4 commands per Telegram

NOTE

Make sure, not to use “Programming via Parameters” at same time, or considermask very carefully!

CANIO has 8 outputs, which can be used as PWM or as on/off/digital outputs.If used as proportional/PWM outputs Receive-PDO2 is used i.e. Telegrams with Telegram ID 301h+x:

User Parameter 15 defines the Telegram for the CANIO14 to react on:

131 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 132: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Parameter 15 ID for setpoints

-1 Deactivated, CANIO will not react0 301h1 302h2 303h3 304h. . . . . .

Table 4.8: User Parameter 15

So if you have several CANIO14 in one network, one CANBUS-Master can write their outputs andthey must only have different values for Parameter 15.

CAN-Telegram with above ID must have a data-length 8!

If all four outputs are configured as twin-coil all outputs can be driven:

Output 0 by Byte 0+1 having positive Value from 0..1000

Output 1 by Byte 0+1 having negative Value from 0..-1000

Output 2 by Byte 2+3 having positive Value from 0..1000

Output 3 by Byte 2+3 having negative Value from 0..-1000

Output 4 by Byte 4+5 having positive Value from 0..1000

Output 5 by Byte 4+5 having negative Value from 0..-1000

Output 6 by Byte 6+7 having positive Value from 0..1000

Output 7 by Byte 6+7 having negative Value from 0..-1000

The values must be written into Bytes 0/1, 2/3, 4/5, 6/7 with low-byte first.

If configured as single coils only even outputs can be driven, and channels 0,2,4,6 are addressed.

User Parameter 16 defines a mask to define, which outputs must react on telegram:

132 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 133: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Parameter 16 Outputs

-1 or 255 All 0,2,4.60 None1 04 25 0+216 417 0+422 0+2+464 6. . . . . .

Table 4.9: User Parameter 16

To address outputs 1,3,5,7 as single coil RPDO3 has to be used. If they are set as twin coil seeabove.

User Parameter 17 defines the Telegram to react on:

Parameter 17 ID for setpoints

-1 Deactivated0 401h1 402h2 403h3 404h. . . . . .

Table 4.10: User Parameter 17

As all outputs can also be addressed as on/off (digital output) via RXPDO1, a mask is added to define,which channels are to be used via Parameter 16 (see Parameter 12 in subsection 4.2.3) The maskcan go from 0..255 for 8 outputs.Make sure, mask of Parameter 11, i.e. Parameter 12 does not conflict!If all outputs of used, sum of Parameter 12 and Parameter 16 must be 255, i.e. all bits set once.

4.2.4.3 Setpoints via RPDO2 with RAMPs

With this firmware version and later:

133 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 134: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Figure 4.20: Firmware Version

If Parameter 19 is set to 1818, i.e. Programming via parameters disabled, Parameters 50-57 can beused, to select the number of analog input +1 to use Ramp and filter from to have a ramped output.Values from telegram 301h will then be added 1000 and will appear as raw value of the correspondinganalog input. And output is driven from the scaled, filtered and ramped value of this input.

Example:Telegram 301h B0 = E8h, B1 = 03h Setpoint is 1000

Figure 4.21: Telegram 301h

Parameter 19 = 1818 and Parameter 50 is set to 1→goes to analog input 0

Raw-value of 2000 will appear and with the correct scaling like in next picture, you will get once more+-1000. Also change of direction would be possible now.

134 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 135: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Figure 4.22: Scaling for Example

Now Ramps can be added like this: 10 sec. for each direction in this example.

135 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 136: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Figure 4.23: 10 sec. ramp for each direction

Note: physical analog inputs are only available as raw value now.

4.2.4.4 Setpoints via RPDO2, CAN-PSL Mode

NOTE

Make sure, not to use “Programming via Parameters” at same time, or considermask very carefully!

If length is four, CANIO14+ can also be addressed like CAN-PSL.Please ask for details, and special firmware version if needed.

4.3 Additional CAN-Open Features

To meet additional requirements of a CAN-OPEN Network besides PDO-Transfer, since version >3 thefollowing features have been implemented:

136 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 137: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

4.3.1 SYNC

CANIO can also be configured to work as consumer of SYNC – telegrams:SYNC is supported. Parameter 14 must be >0 and bit 2 must be set, i.e. value of 4 will enable thefeature.

Figure 4.24: Parameter 4

If enabled, the telegrams, described in 2.1 and 2.2 will not be sent every 20ms, but only immediatelyafter reception of a SYNC-Telegram, ID=80h, Telegram-length = 0

Figure 4.25: SYNC every 100msNote: there might be a time-jitter of some msec.

4.3.2 Bootup Message

Bootup Message with ID 700h+Node-ID, B0=0, LENG=1 will be sent, if parameter 14 >0 and bit 1 isset, i.e. value of 2 will enable the feature.

137 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 138: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

4.3.3 Reset via Telegram

Reset via Telegram ID 0, B0 = 0x81, B1= 0h or B1 = NodeID, LENG = 2 is supported.Parameter 14 must be >0 and bit 0 must be set, i.e. value of 1 will enable the feature.

To Enable all three features, Parameter 14 has to be set to 7 = 1+2+4

4.3.4 Activation consumer

If CANIO14+ should not send and receive PDOs before having received startup telegram (ID=0, B0=1,B1=0, LENG=2), bit 3 of Parameter 14 has to be set, or value of 8 must be added.For normal slave applications Parameter 14 will be 15=1+2+4+8,if auto-boot is needed, value must be 7=1+2+4

4.3.5 Activation generation

If CANIO14+ should send startup telegram (ID=0, B0=1, B1=0, LENG=2), bit 4 of Parameter 14 hasto be set, or value of 16 must be added.Note: in this case CANIO14+ acts as Master to (radio) – slave! Only in stand-alone applications,where no other master is available.

4.3.6 LSS Layer Setting Services, First NodeID setting

If CANIO14+ is not accessible via VT, NodeID must be set via LSS, if it has not yet been set before,i.e. Parameter 2 being -1For this, only Serial Number and new node ID have to be set correctly, Vendor ID etc. are ignored.

Figure 4.26: Serial Number and New node ID

138 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 139: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Correct values would be

Figure 4.27: Vendor ID

Baudrate can then be changed via SDO, index 2001h, which becomes valid after next reset then:

Figure 4.28: Change Baudrate

4.3.7 CAN-OPEN example

1. To use CANIO14+ as CAN-Open Slave, the Master software just has to include the eds-file (seesubsection 4.3.8)

2. Then Node-ID has to be set.This could be done via LSS, or probably easier, via VT. If set, SDO-access is possible.

139 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 140: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Example below is for Node-ID 3, which means that Parameter 2 is set to 2 (Node-ID minus 1).This enables SDO transfer, and if Parameter 3 is also set, the Transmission of dig. Inputs (seealso subsection 4.2.1).

3. If also analog inputs should be sent by CANIO, also Parameter 6 has to be set to Node-ID -1, andParameter 7 either to 1 for 4 Analog inputs or 22 for 8 Inputs as described in subsection 4.2.2

4. If outputs of CANIO should be used as dig. outputs, also Parameter 10 has to be set to Node-ID-1, and Parameter 11 and 12 like described in subsection 4.2.3

5. If outputs of CANIO should be used as PWM/Proportional outputs, also Parameter 15 has to beset to Node-ID -1, and Parameter 16 as described in subsubsection 4.2.4.2

6. Parameter 14 should be set to 14 = 1+2+8 to enable standard CANOPEN behaviour concerningboot-up like described in subsection 4.3.2 subsection 4.3.3 subsection 4.3.4

7. Canio expects setpoint-telegrams of 4. and 5. Cyclically, however if Heart-Beat of Master isenabled, also telegrams on change are possible. HB-Time must be smaller 220ms to avoidtimeout.

Figure 4.29: Heartbeat

140 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 141: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Example configuration for Node-ID 3 (Parameter 2= 2), reading digital and analog inputs (Parameters2,6,7), and writing 3 prop. outputs (Parameters 15,16) and 5 dig. outputs (Parameters 10,11 and 12):

Figure 4.30: Example configuration

Maybe filters should be considered see subsection 4.1.7 CAN-Bus Filters for Telegrams V4.55

4.3.8 EDS-File, Version >=3.7

Since Version > May 2013 also EDS-file is available:

Figure 4.31: EDS-file

141 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 142: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Firmware > 7th. Of June also provides access to all user parameters 0..500 via Index 2002h and2003h, Subindex 1 .. 251

Figure 4.32: Index 2002h and2003h

142 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 143: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

And also Valve parameters like i-min and i-max or ramp parameters are accessible now and can beread and written via SDO.

Figure 4.33: I-Min Prop.

Also Ramps of Analog inputs can be accessed

143 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 144: Technical Documentation CAN IO14+

4. SLAVE MODE, CANIO CONTROLLED VIA CAN-BUS, CANOPEN-STYLE

Figure 4.34: Ramps of Analog Inputs

4.3.9 SDO support and HeartBeat

If Parameter 14 > 0 SDO access is supported by CANIO.As soon as SDO 0x1016 “Consumer Heartbeat” is written, CANIO also supports Heartbeat, otherwiseonly timeout is checked.Please consider item 7 in subsection 4.3.7 for details on Heartbeat.

144 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 145: Technical Documentation CAN IO14+

5. PARAMETER SAVE AND RESTORE

5 Parameter Save and Restore

If all the (parameter) settings of the chapters above have been done, it is very helpful to save theseparameters into a file, both for documentation and for the next similar application, which can use theseparameters as well.

NOTE

Selection of “save Project” in VT does not save the parameter/program files,but only the settings of VT!

5.1 Parameter Save with old VT

If you use new VT please jump directly to section 5.3 Parameter Save with new VT

If you hit CTRL+D in VT-software a “SAVE AS ” Windows appears.The proposed name includes the name of project and can be modified.However the extension .hwf should not be modified!

145 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 146: Technical Documentation CAN IO14+

5. PARAMETER SAVE AND RESTORE

Figure 5.1: Save as

The same menu can also be reached via\Connection\parameter (online)\Parameter PLVC→PC (hwf)

If you hit the SAVE – Button on right lower side, the following window will appear, showing the progressof parameter reading. After 4352 Bytes, the windows will close.

146 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 147: Technical Documentation CAN IO14+

5. PARAMETER SAVE AND RESTORE

Figure 5.2: Progress of parameter reading

5.2 Parameter Restore/Upload to CANIO14+ old VT

If you use new VT please jump directly to section 5.4

147 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 148: Technical Documentation CAN IO14+

5. PARAMETER SAVE AND RESTORE

Via CTRL+U a windows will open, where you can select the file to be sent to CANIO.

Figure 5.3: Select file

This progress- window will appear and close after successful file transfer.

Figure 5.4: Progress window

148 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 149: Technical Documentation CAN IO14+

5. PARAMETER SAVE AND RESTORE

NOTE

Selecting Menu\File\SAVE (AS)of VT will not save parameters, but only the VT-Environment, i.e. Texts andscreen-configuration!

5.3 Parameter Save with new VT

First select the device in menu tree and select the button “Transmit Binary”

Figure 5.5: Select Device→ Transmit Binary

149 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 150: Technical Documentation CAN IO14+

5. PARAMETER SAVE AND RESTORE

Select marked button

Figure 5.6: Read Parameter

Select folder and Filename

Figure 5.7: Folder and Filename

Hit Save

150 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 151: Technical Documentation CAN IO14+

5. PARAMETER SAVE AND RESTORE

Figure 5.8: Transfer

Figure 5.9: Successfully saved

151 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 152: Technical Documentation CAN IO14+

5. PARAMETER SAVE AND RESTORE

5.4 Parameter Restore/Upload to CANIO14+ new VT

Same as section 5.3, then

Figure 5.10: Write Parameter

Figure 5.11: Select File

Select file, hit Open

152 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 153: Technical Documentation CAN IO14+

5. PARAMETER SAVE AND RESTORE

Figure 5.12: Progress

Figure 5.13: Data transfered

NOTE

Selecting Menu\File\SAVE (AS)of VT will not save parameters, but only the VT-Environment, i.e. Texts andscreen-configuration!

153 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 154: Technical Documentation CAN IO14+

6. DOWNLOAD OF FIRMWARE

6 Download of Firmware

6.1 CAN-Bus Download:

The binary file for downloading the firmware can be found in the folder \bin with file-nameCAN_IO14.S19.Make sure, it has new date of creation of software via hitting F7 in compiler.If you get a new file from HAWE via email, overwrite the existing one.

PCAN-USB-Dongle of peak-systems must be installed and connected to USB Port. Dongle can beobtained here or from HAWE:http://www.peak-system.com/PCAN-USB.199.0.html?&L=1

Figure 6.1: PCAN-USB-Dongle

PCAN-USB is recommended also for other HAWE Products, however for CANIO Firmware-Downloadalso most Sontheim CAN-Dongles work. Also CAN-Fox of IFM works like Sontheim CAN-Fox.

Within the folder there is a batch-file called “flash_cust.bat” which has to be executed via double-clickto it..

154 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 155: Technical Documentation CAN IO14+

6. DOWNLOAD OF FIRMWARE

Figure 6.2: flash_cust.bat

If everything is ok, this window will appear, with a bar, indicating progress of download.

After success, this window should appear and can be closed via any key.

Figure 6.3: Script successfully finished

Modifications necessary for Sontheim: Batch file flash_cust.bat needs two additional options:

/interface 2 /sh_netnumber xx

Where xx stands for

155 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 156: Technical Documentation CAN IO14+

6. DOWNLOAD OF FIRMWARE

0: PowerPCI Ch1

15: CANAS Ch1

16: CANAS Ch2

21: CANUSB Ch1

22: CANUSB Ch2

24: CANUSB Ch1

25: CANUSB Ch2

90: MobiCAN Ch1

91: MobiCAN Ch2

105: CanFox Ch1

See also Sontheim Manual

6.2 Possible errors during download:

6.2.1 CAN interface busy or not connected

CAN-Dongle not connected to Computer or other programs using PCAN-Dongle not closed

Figure 6.4: Busy or not connected

156 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 157: Technical Documentation CAN IO14+

6. DOWNLOAD OF FIRMWARE

6.2.2 Probably Dongle and CANIO not properly connected

Figure 6.5: Not properly connected

In case of these errors start PCAN-View, a free program which comes with the dongle and check theCAN-Bus at 250 kBaud:

Figure 6.6: PCAN-View

157 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 158: Technical Documentation CAN IO14+

6. DOWNLOAD OF FIRMWARE

If no telegrams are received try to send one telegram manually. If red Text BUSHEAVY or BUS_OFFappears, make sure, there is no other devices with wrong baud rate connected.

Figure 6.7: BUSHHEAVY

After reboot one telegram with ID 1FFFFFFF0h should appear, indicating the presence of a CANIO. Adownload might also fail if there is too much traffic of other devices on the CAN bus, so try to removesome of them.

Figure 6.8: Telegram with ID 1FFFFFFF0h

6.2.3 More than one CANIO connected

Note: only one CANIO is allowed on Bus during Firmware download.

158 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 159: Technical Documentation CAN IO14+

6. DOWNLOAD OF FIRMWARE

If there are two at same can-bus Errors like this will appear:

Figure 6.9: Error two CANIOs connected

With Loader 3.73, available since March 2014, this problem is solved. If option ALL is used in loaderbatch-file also several devices can be loaded with same firmware with one call of flash_cust.bat.

159 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 160: Technical Documentation CAN IO14+

7. TEMPERATURE-PROTECTION

7 Temperature-protection

CANIO reads internal temperature on controller. If this temperature is > 92 degree, at every degreeuntil 95 degrees the setpoints are reduced to 90%, 70%, 50%, 30%.Moreover 1KHz PWM-Mode is deactivated automatically for channels 0/1, then 2/3 etc.. If 100 degreesare reached, the device will switch the outputs off, until below 87 degrees.

Too high temperatures might be caused besides external heat, by many low resistance coils driven innormal dither mode at high supply.So make sure to avoid normal dither in this case.

Figure 7.1: Limitation of PWM Frequency

160 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 161: Technical Documentation CAN IO14+

8. CAN-BUS BAUDRATE

8 CAN-Bus Baudrate

CANIO is delivered with a default baud rate of 250kBaud.Also the Batch-files for the firmware-downloader (flash_cust.bat in \bin-folder) assumes this baudrate.However, via Terminal, this can be modified for Firmware > CAN_SLAVE V2.8, August 2012

At Login-Screen the baud rate is shown I first line

Figure 8.1: Login-Screen

161 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 162: Technical Documentation CAN IO14+

8. CAN-BUS BAUDRATE

If Parameter is hit, then 29, then d) you reach parameter 292 to modify:

Figure 8.2: Modify Parameter 292

Valid values are: 50, 100, 125, 250, 500, 1000 (kB). Baud rate change will need a reboot of device!

NOTE

For download of firmware after change, the batch-file flash-cust.bat in \bin-folder has to be modified accordingly concerning parameter /baudrate 250kReboot has to be done twice to make it valid

162 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 163: Technical Documentation CAN IO14+

9. FREQUENCY MEASUREMENT

9 Frequency measurement

Since Version 2.9 of Sept. 2012 also Frequency measurements are possible via CANIO14+ up to100Hz. The internal resolution is 100th of Hz. For Herz the pin B6 of AI0 has to be used.

Via Scaling of analogue inputs, the Hz can also be scaled to RPM. Here 100Hz (10000) will become3000 RPM.

To activate Frequency-Measurement, the type of AI0 has to be set to Angle, like shown in thisscreenshot:

Figure 9.1: Screenshot AI0

Since Firmware-Version 3.8 of June 2013 additional Frequency measurement is possible viaCANIO14+, pin B3/IB0.The internal resolution is 100th of Hz if TYPE is set to special-mode.The internal resolution is 10th of Hz if TYPE is set to 24V-S.Frequency will be shown in AI7 (with TYPE set to special-mode or 24V-S), which means that this inputis no longer available then (dig-input still remaining).Since Firmware-Version 4.8 of June 2014 additional Frequency measurement is possible viaCANIO14+, pin B5/VCC.Frequency will be shown in AI6 (with TYPE set to special-mode or 24V-S), which means that this input

163 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 164: Technical Documentation CAN IO14+

9. FREQUENCY MEASUREMENT

is no longer available then (dig-input still remaining).

9.1 Higher Frequencies

Latest version E of CANIO since June 2014, with serial number > 2083 is also able to measure higherfrequencies than 150Hz. Also Pin VCC B5 is now possible to use.

Activation at resolution of 10th of Hz is possible via TYPE 24V-S, for both inputs. So 1Khz will result in10.000.

Concerning maximum possible frequencies:

To detect a frequency, a high level and a low level at CPU must be detected.As there are still some capacities left, a rectangular curve will still result in some saw-teeth signal.Especially if sensor is supplied with high voltage, the time to go to low-level takes longer and thereforehigh frequencies with high duty rates will reach limitations first.

If pulses are very short in relation to period, max. possible measurement will reduce also.Also a signal not going completely down to zero in low-state can reduce maximum frequency.If the pulse is rather short, a higher supply is helpful.

This table shows possible ranges, generated by output of CANIO with coil attached (strong pull-down)

AI0 IB0 VCCfrom To from To from To

12V 250Hz 12 94 3 88 2 9512V 1Khz 37 74 18 56 9 9012V 2kHz 50 62 12 66 19 30

30V 250Hz 3 88 2 81 1 9730V 1khz 11 50 8 34 4 8030V 2khz 21 36 14 17 9 60

Table 9.1: Ranges

Measured values can have high frequent “noise “ in measurement, so filtering of 40ms for example willsmoothen significantly.

Note: using AI0 will cause other analog inputs to become less oversampled, i.e. with little more noise.Therefore use of IB0 and VCC is preferred.In cases, where RS232 is not needed, also RX-Pin might be used on request.

164 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 165: Technical Documentation CAN IO14+

9. FREQUENCY MEASUREMENT

9.2 Counter

With firmware of March 2017, counting is enabled. IB0 and VCC inputs are interpreted as AB-counter.If A is high after B become high (or was high), it is counting up, otherwise down.Value is copied to counter_ud.

165 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 166: Technical Documentation CAN IO14+

10. FREE PROGRAMMING OF CANIO14+, PRINCIPLE

10 Free programming of CANIO14+, Principle

If the functionality described in chapter 4 and section 3.2 (Programming via Parameters): are notsufficient to “program” a CANIO, there is also the possibility of free programming of the device.HAWE offers a free programming environment with a very powerful library, making it easy to realizealso complex tasks.As scaling and ramping of inputs and current-control of outputs are already built – in functionalities,the programmer can completely concentrate on the logical connections.

This is described in this chapter.

You can download Compiler of Freescale from :http://downloads.hawe.com/E/CodeWarrior.zip

and execute installation for XP computers.

If available and for WIN7 it is easier to do it from HAWE-CD Version > July 2012

To install select “CAN-IO Programming system” from the HAWE USB-Stick/CD./ autostart

Figure 10.1: Select “CAN-IO Programming system”

166 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 167: Technical Documentation CAN IO14+

10. FREE PROGRAMMING OF CANIO14+, PRINCIPLE

Installation will take several minutes.

10.1 Project/Template

Upon Request you can get a zip – file from [email protected] Template-Folder Export.zip, and copy it to your computer: It includes the following folders:

\bin : where the downloader and the downloadable files are located: see also chapter 6: It isrecommended to make a link to flash_cust.bat on desktop for loading of firmware\CAN_IO14_C_DATA for the object files (do not enter)\include for standard include files\prm for locating files (do not enter)\sources : for the relevant source files (.c and .h - files), which can be modified and re-compiled.Also the file project.lib which might have to be updated, if new version is published by HAWE.

Figure 10.2: CAN_IO14_PLUS.mcp

Start Compiler via double-click on the above marked file CAN_IO14_PLUS.mcp.

167 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 168: Technical Documentation CAN IO14+

10. FREE PROGRAMMING OF CANIO14+, PRINCIPLE

Project opens and shows the relevant files visible on the left side of the page:

Figure 10.3: Relevant Files

- vars.h to define the variables, especially those to be shown in VT

- openpcs.h where you can find Prototypes of all functions and function blocks

- user_code.c for the logical connections

- user_can.c to define and code communications (if the device is CAN-Bus –Slave only this filemight have to be modified, or even the standards software might fit).

- usercode.h for some definitions, will not have to be modified normally

10.2 Variable definitions for program

10.2.1 Input Variables

Openpcs.h starts with possible physical inputs, both as analog and as digital version.

168 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 169: Technical Documentation CAN IO14+

10. FREE PROGRAMMING OF CANIO14+, PRINCIPLE

Figure 10.4: Openpcs.h

These define-statements could be directly used in code, i.e. if you want to use AI0 you can use thename IW24_0 or IB0_2 (if used as digital input).

169 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 170: Technical Documentation CAN IO14+

10. FREE PROGRAMMING OF CANIO14+, PRINCIPLE

However, for readability, it is better to give names to these inputs in vars.h via defines like shown here:

Figure 10.5: vars.h

10.2.2 Local Variables

Normal local variables (not inputs, and not structured variables >integer/INT), especially those whichpossibly will be needed also for debugging should be defined as syt_val[x] with x going from 0 to 49 invars.h. As vars.h is included both in user_code.c and in user_can.c they can also be used for variablescoming or going via CAN-Bus.Note: if built-in CANBus functionality will remain within the code (see chapter on user_can.c) some ofthem are already reserved, and can therefore not be used anymore. If features are not enabled thesevariables can be overwritten.

Figure 10.6: syt_val-Variables

Function-Block-Variables (structured Variables >2byte), long variables or additional variables not fittinginto the 50 syt_val-Variables, have to be defined in user_code.c or user_can.c at beginning of file, notinside of functions: here TON1, counter, counter2.

170 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 171: Technical Documentation CAN IO14+

10. FREE PROGRAMMING OF CANIO14+, PRINCIPLE

Figure 10.7: Outside of the syt_val-Variables

About 350 integer variables can be defined. If more is needed please ask HAWE.

If a variable has to be used in both files, it is recommended to declare them as “external” in vars.h.

Figure 10.8: vars.h

NOTE

Float/Double/REAL variables are not supported by CANIO14+ (and normallynot necessary, due to SPLINE and MUL_DIV functionality)

Hint: As a forgotten semicolon for example can cause many error messages, it is recommended to hitF7 key after each line of change, to see, if error happens. Error can then be removed by “undo-key”.

171 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 172: Technical Documentation CAN IO14+

10. FREE PROGRAMMING OF CANIO14+, PRINCIPLE

10.3 Programming logic functionality

Coding should mainly be done in user_code.c. If the program has much to do with CANBus, it canalso be done completely in user_can.c.

NOTE

Program is executed every 20ms, so no while-loop to wait for some input tocome are allowed, otherwise watchdog will reset device!

10.3.1 OpenPCS-Style Programming

Code-Warrior is a C – Compiler.Due to some Macros, programming style can however be very similar to ST-language, used OpenPCS,with statements like IF THEN ELSE END_IF;.Main difference, which could not be solved by macro:

a) Assignments in ST via := must be changed to = Statement

b) Comparison in ST via = must be changed to == Statement in Codewarrior

c) Logic AND statement ST via AND can remain or must be changed to && Statement

d) Bit-wise AND statement ST via AND must be changed to AND_WORD or & Statement

e) Logic OR statement ST via OR can remain or must be changed to || Statement

d) Bit-wise OR statement ST via OR must be changed to OR_WORD or | Statement

Most Function Blocks known to Openpcs programmers, are also still available like:ACT_VALVE, MUL_DIV, SPLINE, TON, TOF, CAN_WRITE, GET_EE, PUT_EE, AUTO_MOVE,MW_EX. . . ..They are explained with more details in openpcs.h

Details on the parameters of these functions are available in Function Block Description of OpenPCS:file PLVC_Documentation_EN.pdf. of HAWE-CD, chapter 12.6. HAWE Function Blocks

The use of function blocks also differs a little from Openpcs.

a) Variables have to be defined in C-style: TON_TYPE TON1;

b) It is not possible to do a function calls with all parameters, but the parameters have to be setfirst, then FB called with pointer to Variable. See example here, concerning TON.

172 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 173: Technical Documentation CAN IO14+

10. FREE PROGRAMMING OF CANIO14+, PRINCIPLE

Next screenshot shows a short example of a program writing a delayed alarm signal, and writing ajoystick to a proportional output, depending on ENABLE – input. More detailed programming exampleswill follow in appendix.

Figure 10.9: Programming Example

If Function Blocks are used you have to define a variable of the FB-Type in user_code.c beforeusercode-function: Example: TON

Figure 10.10: Function Block - Type

Instead of FB-Call in ST of OpenPCS likeTON1(IN:=1, PT:=t#6s);you have to call it like this:

173 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 174: Technical Documentation CAN IO14+

10. FREE PROGRAMMING OF CANIO14+, PRINCIPLE

Figure 10.11: FB-Call

10.3.2 C-Style Programming

Code-Warrior is a C – Compiler. Therefore also normal if, then, else statements can be used, with -brackets etc.Openpcs.h also shows an example of c-style call of the Function blocks.

10.4 Programming of CANBUS - Communication

If CAN-Bus communication is used, open the file user_can.c and edit can_tx()-Function, usingCAN_WRITE, CAN_WRITE_INT, CAN_WRITE_29 like in OPENPCS to send telegrams to bus.

To write INT Variables use CAN_WRITE_INT, for bytes use CAN_WRITE

Figure 10.12: Write Variables

If program has to react to telegrams from CAN-Bus, edit the function user_can_message_receive()in file user_can.c to check all arrived telegrams and copy Data to local variables.For this the following Macros can be used:

ID // ID 11 or 29bit

174 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 175: Technical Documentation CAN IO14+

10. FREE PROGRAMMING OF CANIO14+, PRINCIPLE

_29_BIT_ID // if true, it is a 29 bit ID Telegram

_RTR // rtr-bit of telegram, normally no longer used

LENG // number of bytes 0..7

B0..B7 // 8 data bytes

I0..I3 // (4 data Words: Integer ).

D0,D1 // two 32 bit values

More details in openpcs.h, at end of file.

Before starting you have to decide if any built-in canbus-functionality should remain, otherwise removethese macros of beginning of user_can.c

// remove not - needed #defines to safe Memory by placing // before line#define CAN_RADIO 1 // Canbus - Radio support , needs 0.8kB#define SDO 1 // canopen SDO Access support, full slave mode to canopen aster#define CANIO_CONNECT 1 // CANIO reads inputs of Slave#define SEND_PDO 1 // CANIO sends PDO telegrams depending on Parameters 2,3,4,#define REC_PDO 1 // CANIO sends Reads and reacts on telegrams depending on Parameters10,11,15,16→ Slave#define PROG_VIA_PARAMS 1 // enable programming via Parameters, normally has to be removed#define CAN_OPEN_NMT 1 // canopen network management, also enable together with CAN_RADIO!// Start-up, operational, Heartbeat,

Example:

Figure 10.13: user_can.c

175 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 176: Technical Documentation CAN IO14+

10. FREE PROGRAMMING OF CANIO14+, PRINCIPLE

10.5 User Parameters and PLC-Values

As described in chapters before, many user parameters are dedicated to a special functionality.

“Free Programing Mode” can be combined with all these functionalities of CANOPEN SLAVE Mode,can-inter-connection, programming-via-parameters. If the features are not removed, as described insection 10.4 the corresponding user-parameters are not free to use.

If free-programming is not combined with programming-via-parameters,which can either be disabled by not setting parameter 19 to 1919, or by removing the define#define PROG_VIA_PARAMS 1at beginning of user_can.cThen parameters 20 to 99 are for free use in C-code

If in user_can.c the other #defines are removed as well, also parameters 0..19 are free.

PLC-Values, which are used in vars.h, are shared with CAN-Interconnection, which is enabled by#define CANIO_CONNECT 1So if #define is enabled, the following indexes of syt_val[] are reserved, and include the Telegramcontent of the telegrams defined by user parameters:

User Parameter > -1 Syt_val[] reserved

0 0-31 4-75 8-158 16-249 25-31

Table 10.1: Indexes of syt_val[]

10.6 Compiler Errors

Frequently Hit F7 to translate the code and check for syntax errors.

If errors appear, double-click on first error message. This will normally place your cursor to the errorreason. Correct it, and hit F7 again. Usually also other errors will have disappeared then. Also correctany warnings, if possible!

176 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 177: Technical Documentation CAN IO14+

10. FREE PROGRAMMING OF CANIO14+, PRINCIPLE

If error is not from Compiler but from Linker like this, double-click will not give a hint.

Figure 10.14: Link Error

It means, that the program is too big, and some not-needed features have to be removed to go on.In user_can.c there are many defines at beginning to easily disable features, which might not beneeded, for example from CANOPEN.

Figure 10.15: user_can.c

If no error message appear: Download new firmware via PCAN-Dongle, for details see chapter 6.

10.7 Debugging

Debugging can be done via VT (Hawe Visual Tool).

You can make your own project, naming the I/O, the user-parameters and the Watch-Variablesaccording to your application.

In PLC-Variable-Windows, you can configure the application-dependent variables, which you want tosee for debugging as well as the input and output variables.PLC-values show the variables defined in vars.h!For details on Visual Tool see also chapter 3

177 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 178: Technical Documentation CAN IO14+

10. FREE PROGRAMMING OF CANIO14+, PRINCIPLE

Figure 10.16: HAWE Visual Tool

Modification of the name of a watch-variable are possible and can be saved to new project name.

178 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 179: Technical Documentation CAN IO14+

11. FREE PROGRAMMING EXAMPLES

11 Free programming examples

Programming is done in the language “C”, from within the Codewarrior.

The following description is specially made for users not used to “C”, but rather to OpenPCS (used forHAWE PLVC) or for users having no programming experience at all. Programming style is thereforemade rather similar to OpenPCS.

In file openpcs.h the relevant functions and variables for programming CANIO are defined or proto-typed.As already described in chapter 3 it makes sense to start with defining the variables in vars.h in orderto get a readable code.

Modification of functionality will then in most cases be made in file usercode.c and sometimes in fileuser_can.c for CAN-Bus related functions.It starts with two global variables, also referenced in vars.h, followed by the function “usercode_init()”where the Project name/version/date can be modified, and where one-time executed functions shouldbe called.

Figure 11.1: usercode_init()

179 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 180: Technical Documentation CAN IO14+

11. FREE PROGRAMMING EXAMPLES

The cyclically called “usercode()” function follows. It looks like this.

Figure 11.2: usercode()

The main program and the reading of analogue inputs is only called, after the _20ms-flag has beenset by the timer, so the program normally has a fixed cycle time of 20ms.If this is too slow you can also additionally use the _10ms-flag, and insert code there as well.

Normally, you will remove the call ofstandard_user(); in the middle of the page, which contains the functionality described in chapters 1and 2 and insert your own code there instead. But it can also make sense to have a combination of“Parameter-Programming” and your own C-Program, then you should leave the call.

Removing can be done by adding two backslash before function-call.// standard_user(); Or by deleting the line completely.

180 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 181: Technical Documentation CAN IO14+

11. FREE PROGRAMMING EXAMPLES

Now application specific code can be added.Used Variables in file “vars.h”:

Figure 11.3: vars.h

Following example drives output nr. 5 by ENABLE input, with a delay of 1 second, and drives Output0/1 by JOYSTICK2 at AI1 in combination with SPEED_POTI at AI2 and digital ENABLE input.

In line before user_code (); the Timer Variable TON1 has to be defined via the line:TON_TYPE TON1;

Program could now look like this:

181 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 182: Technical Documentation CAN IO14+

11. FREE PROGRAMMING EXAMPLES

TON is the standard-timer used in IEC61131QB_SET sets outputs as on/off device. First parameter is number of output, second one is either zeroor non zero (=on).MUL_DIV is used to avoid overflow of integer variables if multiplied and divided, so the value ofJOYSTICK2, which ranges from -1000 to +1000 is multiplied with SPEED_POTI (200 to 1000) anddivided by 1000, generating a reduction of the JOYSTICK2-vale of 20 to 100%, or a multiplication with0.2 to 1.0 .The result is written to output Zero via act_valve();

If output is configured as twin-coil, both A-Side and B-Side will be addressed.Note: IF,THEN, ELSE written in CAPITAL letters, enable ST-Code-style. Programmers familiar withC-Language can also use if, then, else as used.

Next example drives Output 2/3 by JOYSTICK2 at AI1 in combination with TURTLE_KEY to slow downat a configurable rate.The reduction factor is taken from user parameter 0

Figure 11.4: Used Variables

Note: Function “get_ee” to read from User Parameters is used

Figure 11.5: get_ee funktion is used

182 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 183: Technical Documentation CAN IO14+

11. FREE PROGRAMMING EXAMPLES

At commissioning the rate of reduction then can be modified without changing code.Here 25% is set, i.e. full range of JOYSTICK2 will result in +-200 instead of +-1000

Figure 11.6: Turtle speed is 25%

AUTO_MOVE:

In subsection 3.2.8 "Auto-Levelling, Auto-Positioning/Steering” there is a detailed description of thisfunction.Here a description of how to call it in C-Code.

Once more the parameters of the function.

Parameters:VEL_LFT 0..1000, max. speed left of targetVEL_RGT 0..1000, max. speed right of targetPOS_ACT Act. PositionDESTIN Target PositionVEL_MIN_LFT Min. speed leftSLW_LFT start position to slow down leftHYST_LFT Hysteresis leftHYST_RGT Hysteresis rightSLW_RGT Start position to slow down rightVEL_MIN_RGT Min. speed right

In openpcs.h the prototype for the function is extern int AUTO_MOVE (AUTO_MOVE_TYPE *p);

183 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 184: Technical Documentation CAN IO14+

11. FREE PROGRAMMING EXAMPLES

So the function call needs a pointer to a variable of AUTO_MOVE_TYPE.So for each function-call one of these variables has to be defined.As most of the parameters will be constants, it makes sense to fill them in “usercode_init();”

Figure 11.7: usercode_init()

In cyclical part of user_code() the actual position and destination have to be added, the function hasto be called, and result forwarded to output:

Figure 11.8: user_code.c

Curves and scaling:Scaling of analog inputs already enables quit comfortable calculations for incoming analogue inputs.Sometimes from these values other values have to be derived, which are a function of the input.If it is a simple linear line the function AXB will do, otherwise SPLINE can be used.

AXB:A linear scaling of type Y = A_X +B is computed and given back in value Y , where A and B areinternally determined by the two pairs X1; Y 1 and X2; Y 2.

Description of the parameters:

• _ X: Input value

• _ X1 = X-value of the first pair of values

• _ Y1 = Y-value of the first pair of values

184 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 185: Technical Documentation CAN IO14+

11. FREE PROGRAMMING EXAMPLES

• _ X2 = X-value of the second pair of values

• _ Y2 = Y-value of the second pair of values

• _ Y: Calculated value

Figure 11.9: AXB

Variable has to be defined of type AXB_TYPE

Figure 11.10: AXB_TYPE axb1

SPLINE

To calculate stability of a crane, sometimes more complex curves are needed, which can be definedas a curve of several points.The Library of CANIO therefore offers the function C_SPLINE, and a variable type of C_SPLINE_TY

185 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 186: Technical Documentation CAN IO14+

11. FREE PROGRAMMING EXAMPLES

Example : max. pressure depending on Angle

// before user_code(); :const C_SPLINE_TY spline = -150,-50,0,50,150,250,350,450,550,650,750,800,850,900,900,900 //16 X-Values Angle, 100,80,50,80,100,160,170,180,190,200,220,240,270,300,300,300 //16 y-Values (bar;

Figure 11.11: Example: max. pressure depending on Angle

Additional functionalities are possible on request.

186 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 187: Technical Documentation CAN IO14+

12. VOLTAGE GENERATION

12 Voltage Generation

To generate a 0..5VDC or 0..10VDC signal by a CANIO, supplied by 12 or 24V some facts have to beconsidered.

1. The PWM/IPWM output of the CANIO must be set to „normal dither“and dither amplitude set tozero. This results in a 1kHz PWM signal, which will be measured as stable by a Multimeter, but ifsupplied to other electronic device as steering signal, this signal might be not good enough.

2. PWM-signal of 1. can go from 3% to 100% will result in about 1 .. 24V, so PWM must belimited, or signal must be reduced via Voltage-division by resistors. Supply voltage can beread internally by CANIO, and signal then divided by this value: setpoint_pwm = MUL_DIV(setpoint_5V_0_1000, 5000,supply_voltage);

A) So to generate 5V in 25V system, output would have to be limited to about 20%, whichmight be a problem for resolution

3. Both things considered above still have two problems:

A) A) Non-linearity, as there is no load on transistor (some mA), a 5% PWM-signal on Transistorwill result in >10%

Figure 12.1: Voltage

B) signal has ripple, if not smoothened/filtered, as it is still a PWM, i.e. giving for example 24Vfor 0,1ms and 0V for 0.9ms

187 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 188: Technical Documentation CAN IO14+

12. VOLTAGE GENERATION

4. To solve the two problems, external resistors/capacitors might be necessary.

5. Problem 3A can be solved by a 1k (Pull-down) Resistor (1watt) or two in parallel at PWM-outputto GND, which gives a load to transistor and makes 5% pwm not result at 10% but at 5.1%.If average voltage generated by PWM is kept below 5 V, also an analog input, configured to4..20mA mode, might be used as pull-down.

6. Problem 3B can be solved by a Resistor, followed by a capacitor to GND. The result of R*C mustbe bigger than 1ms (because of PWM of 1kHz)

7. Depending on impedance/resistance to GND and time constant (Filter) of input receiving thissignal, topic 6 and 2A can be solved easier: assuming the input already has sufficient internalRC-filter to smoothen 1kHz-PWM, and impedance of 5KOhm, one transistor of 20kOhm at outputof CANIO to reading device would be enough, dividing signal from 25V to 5V, adding someresistance to increase time-constant of resulting RC-filter of internal device.

Need of Filtering can be reduced for outputs 6+7, which can be set to 2,4,5 or 10kHz instead of 1kHz.This is set by Parameters of PWM6/ I/O6, if set to normal dither (no current control!!), and ditherfrequency >100Hz.111hz results in 2kHz125hz results in 4kHz143hz results in 5kHz167hz results in 10kHzFor both outputs together!

Increasing frequency enables an input with smaller internal filter to still read a stable signal.Additionally, it is possible, to connect voltage output back to analog input of CANIO and switch thisinput to 0..20mA-mode. This switches a resistor of 250Ohm to GND, thus providing a pulldown.. Caremust be taken to keep PWM-ratio below a range, where average voltage reaches 10V, as otherwise4..20mA detection will detect overload, and switch back to 0..10V-mode (20kOhm pull-down only!).

Below picture shows Voltage (blue) measured from AI5, which is configured to 4..20mA-mode, andconnected to output 7, which is sending 0..45% pwm, at 25V supply, and 4kHz

188 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 189: Technical Documentation CAN IO14+

12. VOLTAGE GENERATION

Figure 12.2: Voltage 4kHz

189 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 190: Technical Documentation CAN IO14+

12. VOLTAGE GENERATION

Same with 10kHz:

Figure 12.3: Voltage 10kHz

It shows, that with 10khz, Transistor does not do completely, what he is told, as only 5V are reachedinstead of 8V.And also at very small PWM-Ratio, below 0.5V it is non-linear.But in-between it does not look bad.

190 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 191: Technical Documentation CAN IO14+

DISCLAIMER

Disclaimer

Information in this document is provided solely in connection with HAWE products. HAWE HydraulikSE and its subsidiaries ("HAWE") reserve the right to make changes, corrections, modifications orimprovements, to this document, and the products and services described herein at any time, withoutnotice.

All HAWE products are sold pursuant to HAWE’s terms and conditions of sale.Purchasers are solely responsible for the choice, selection and use of the HAWE products and servicesdescribed herein, and HAWE assumes no liability whatsoever relating to the choice, selection or useof the HAWE products and services described herein.

No license, express or implied, by estoppel or otherwise, to any intellectual property rights is grantedunder this document. If any part of this document refers to any third party products or services it shallnot be deemed a license grant by HAWE for the use of such third party products or services, or anyintellectual property contained therein or considered as a warranty covering the use in any mannerwhatsoever of such third party products or services or any intellectual property contained therein.

UNLESS OTHERWISE SET FORTH IN HAWE’S TERMS AND CONDITIONS OF SALE HAWEDISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY WITH RESPECT TO THE USE AND/ORSALE OF HAWE PRODUCTS INCLUDING WITHOUT LIMITATION IMPLIED WARRANTIES OFMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (AND THEIR EQUIVALENTSUNDER THE LAWS OF ANY JURISDICTION), OR INFRINGEMENT OF ANY PATENT, COPYRIGHTOR OTHER INTELLECTUAL PROPERTY RIGHT.

UNLESS EXPRESSLY APPROVED IN WRITING BY AN AUTHORIZE REPRESENTATIVE OF HAWE,HAWE PRODUCTS ARE NOT DESIGNED, AUTHORIZED OR WARRANTED FOR USE IN MILITARY,AIR CRAFT, SPACE, LIFE SAVING, OR LIFE SUSTAINING APPLICATIONS, NOR IN PRODUCTS ORSYSTEMS, WHERE FAILURE OR MALFUNCTION MAY RESULT IN PERSONAL INJURY, DEATH,OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE.

Information in this document supersedes and replaces all information previously supplied.

191 / 192 Release: 2.0-0-g1cd0677 (2019-04-04) B 7845 CAN IO14 Manual

Page 192: Technical Documentation CAN IO14+

HAWE Hydraulik SEEinsteinring 17 | 85609 Aschheim/München | Postfach 11 55 | 85605 Aschheim/München | Germany

Tel +49 89 379100-1000 | Fax +49 89 379100-91000 | [email protected] | www.hawe.com

Release: 2.0-0-g1cd0677 (2019-04-04)