Professional Documents
Culture Documents
IQAN Design
IQAN Design
Version 5.04
User manual
Restrictions
You will have a non-transferable and non-exclusive right to Use the Software. You may make
Copies of the Software provided that any such Copies are made solely for your Use or for
archival or back-up and no other purposes. No right to Use, print, copy of display the Software,
in whole or in part, is granted except as expressly provided in this agreement. You will not
reverse engineer, disassemble or decompile the Software. You agree to reproduce and include
any and all copyright notices, software user agreements notices and terms and conditions,
trademarks and other legends in and on every Copy of the Software.
Ownership
Title and ownership of the Software and Copies thereof shall at all times exclusively remain in
Licensor or its designee. You will obtain no greater right in and to the Software than a right in
the nature of the License limited to the Use of any such Software and subject to compliance
with all of the terms and conditions contained in this Agreement. To the extent that the Soft-
ware becomes deliverable under any U.S. Government funded prime contract or subcontract,
(i) you acknowledge and agree that this Software represent “commercial computer software”
as defined in the DoD Federal Acquisitions Regulation Supplement (DFARS) § 525.227-7014
(a)(I), and (ii) the Government’s right in connection with the Software will be limited in accor-
dance with the terms and conditions of this Agreement consistent with the policies stated in
DFARS Subpart 227.7202.
Modifications
Modifications or enhancements made by Licensor to any Software from time to time may be
made available to you at the sole option of Licensor or its Distributors. If the Software is
modified by you or merged into other program materials processed or used by solely by you,
Limited warranty
Limited warranty
Licensor warrants that (a) the original Software will perform substantially in accordance with
the accompanying written materials for a period of ninety (90) days from the date of receipt;
and (b) any hardware accompanying the Software will be free from defects in materials and
workmanship under normal use and service for a period of one (1) year from receipt date. Any
implied warranties on the Software and the hardware are limited only to ninety (90) days and
one (1) year respectively. The limited warranty applies to the original Software and not to any
copies made by you or others from the original Software or copies thereof.
Customer remedies
Licensor’s entire liability and your exclusive remedy shall be, at Licensor’s option either (a)
return of the price paid or (b) repair or replacement of the Software or hardware that does not
meet Licensor’s limited warranty and that is returned to the Licensor with a copy of your
receipt. The limited warranty is void if failure of the Software or hardware has resulted from
accident, abuse, or misapplication of the original hardware and Software only and in no case
shall the limited warranty apply to any copies of the original Software. Any replacement Soft-
ware shall be warranted for the remainder of the original warranty period or for thirty (30)
days, whichever is longer.
No other warranties
Licensor disclaims all other warranties, either express or implied, including but not limited to
implied warranties of merchantability and fitness for a particular purpose, with respect to the
Software, any accompanying written material, any accompanying hardware, and any services
for any of the foregoing.
No other liability
In no event will Licensor or its agents or suppliers or Distributors be liable for any direct or
indirect damages whatsoever (including without limitation, damages for negligence, strict
liability, breach of contract, loss of business profits, business interruption, loss of business
information, or pecuniary loss) arising out of the use of, or inability to use or failure to deliver
the Software or any defects therein, even if the Licensor has been advised of the possibility of
such damages. In no event shall the aggregate liability of Licensor, its agents, suppliers and
distributors exceed an amount equal to the price paid for the Software license.
ATTENTION
If you do not accept the terms and conditions of this license do not install or use the Software.
General
This is a license agreement between you “Licensed User” (the entity to whom this service is
provided) and Parker Hannifin Corporation (“Licensor”). This agreement permits you to Use
IQANconnect services furnished directly or indirectly from Licensor, either by Licensor or its
authorized distributors (“Distributors”).
Services
The IQANconnect service gives limited access to the Internet-based IQANconnect function-
ality and is used together or in combination with IQAN hardware and software.
Disclaimer of warranties
A. Parker IQANconnect service is provided “As is” and “As available”, with all faults/
errors and without warranty of any kind, and Parker hereby disclaims all warranties
and conditions with respect to the IQANconnect services.
B. The “Licensed User” agree that, to the extent permitted by applicable law, use of
IQANconnect services performed by or accessed through the IQAN services is at
“Licensed User’s” own sole risk and that the entire risk as to satisfactory, quality, per-
formance, accuracy and effort is with “Licensed User”.
C. Parker does not warrant against interference with “Licensed User’s” enjoyment of the
IQANconnect services, that the functions contained in, or services performed or pro-
vided by the IQANconnect will meet “Licensed User” requirements, that the operation
or functions of the IQANconnect services will be uninterrupted or error free, that any
services will continue to be made available, that the service or services will continue to
be corrected, or that the IQANconnect service will be compatible or work with any
third party product or service, applications or third party tools. Installation of this ser-
vice may affect the usability of third party service.
Date: 2016/08/29
Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Gradients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
PDF documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Hiding or resizing the project manager . . . . . . . . . . . . . . . . . . . . . . . . . 37
Drag and drop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Property inspector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Changing properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Keyboard shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Changing a property on multiple components . . . . . . . . . . . . . . . . . . 39
Drag and drop copying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Go to component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Automatic property values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Property inspector options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Hint panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Component navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
CAN database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Adding and removing .dbc files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Adding CAN channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Exploring CAN database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Project documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Document sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Save document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Print document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Refresh document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Library Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Solution libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Plugin modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
File compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Compare files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Compare with a text file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Command line compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Dialog options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Show again options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Other options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
IQAN Home Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
IQAN User Forum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Release Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Check for updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
About . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3 Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Modules, channels and functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Function groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Orderliness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Import/export functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Enable/disable functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Graphical user interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Display pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Measure groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Adjust groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Project check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Project statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Memory handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Project passwords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Project ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Project properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Application safety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Risk assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
External function project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
External function protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
How to connect a system in IQANdesign . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Add modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Connecting modules and buses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Sharing a bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
CAN routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Add channels to a module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Moving channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Additional features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Module pin list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Module address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Master and display modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
MD4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
MD3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
MC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
MC3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
MC41 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
MC42 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
MC43 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
MC41FS, MC42FS and MC43FS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Expansion modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
LC5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
XA2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
XS2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
XC10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
XC21/XC22/XC23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
XR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
J1939 and generic CAN modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
J1939 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Generic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Gateways . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
G2/3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
G11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
GT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Cameras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
SV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Generic camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Module pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Current out pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
PMW out pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Digital out pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Buses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Expansion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
J1939 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Generic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Diagnostics bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Master bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5 Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Adding channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Replacing a channel with another . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Adding channels to a module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Naming channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Value and status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Inputs/Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
12 DM1 Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
DM1 out container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
SPN out items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
13 Telematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Configuring telematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Signal collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Exporting telematics definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
14 Display pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Display pages in IQANdesign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Display page container properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
How to design a display page in IQANdesign . . . . . . . . . . . . . . . . . . 325
Display page properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Properties for all display modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
System dialog boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
System colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Localization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
System info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Display controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Linear bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Circular bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Image bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Gauge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Image Gauge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Lamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Line graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Bar graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Linear gauge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Text button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Symbol button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Custom button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Slider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
State picker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Design tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Select controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Move controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
The installation software installs all files you need to run IQANdesign. It will
also install some example files in a folder called IQAN Files under My Docu-
ments.
If you are planning on using USB to connect to an IQAN master module, you
must run the installation program for IQANdesign before connecting the
USB cable to your computer. It will install the driver files needed by Win-
dows plug and play feature.
Please close all IQAN programs and unplug all IQAN modules from your PC
before you start the installation.
Software installation
Please follow the instructions given by the installation program. To install
with the default settings, just click Next on every page shown.
New installation
In the User Information page, please enter name and company. A License
Number is also required to get full functionality. If you don’t enter a valid
license number, an evaluation version will be installed. The evaluation ver-
sion is fully functional, but will only work with the simulator.
ATTENTION
All IQAN software tools takes advantage of Windows possibilities of having
multiple users on the same machine. This means that each user can have its
own settings, etc. The license on the other hand is valid for all users on the
same PC. Only one user needs to install the program and all other users on
that PC will share the same license number. Administrator privileges are
required during installation.
USB driver
During the installation, drivers for USB will be installed.
NOTE
There may be a confirmation dialog box for each driver being installed. Click
Install to install the drivers one by one, or select Always trust software from
"Parker Hannifin" and then click Install to install all drivers at once. The
driver installation may take a few minutes.
Hardware installation
The USB driver files are installed during the software installation. However,
the final registration can not be done until an IQAN master module is con-
nected to the PC with a USB cable.
NOTE
Please close all IQAN programs and unplug all IQAN modules from your PC
before proceeding with this installation.
The steps below describes the driver installation procedure.
• First, make sure you have installed the software as described in the previ-
ous section.
• Connect a powered IQAN master module to a USB port on your PC.
• Windows now detects the new hardware. A help balloon is displayed in
Windows task bar.
/SILENT, /VERYSILENT
Instructs Setup to be silent or very silent. When Setup is silent the wizard and
the background window are not displayed but the installation progress win-
dow is. When a setup is very silent this installation progress window is not
displayed. Everything else is normal so for example error messages during
installation are displayed.
If a restart is necessary and the '/NORESTART' command isn't used (see
below) and Setup is silent, it will display a Reboot now? message box. If it's
very silent it will reboot without asking.
/NOCANCEL
Prevents the user from cancelling during the installation process, by disabling
the Cancel button and ignoring clicks on the close button. Useful along with '/
SILENT' or '/VERYSILENT'.
/NORESTART
Prevents Setup from restarting the system following a successful installation,
or after a Preparing to Install failure that requests a restart. Typically used
along with /SILENT or /VERYSILENT.
/RESTARTEXITCODE=exit code
Specifies a custom exit code that Setup is to return when the system needs to
be restarted following a successful installation. (By default, 0 is returned in
this case.) Typically used along with /NORESTART.
/CLOSEAPPLICATIONS
Instructs Setup to close applications using files that need to be updated by
Setup if possible.
/NOCLOSEAPPLICATIONS
Prevents Setup from closing applications using files that need to be updated
by Setup. If /CLOSEAPPLICATIONS was also used, this command line
parameter is ignored.
/FORCECLOSEAPPLICATIONS
Instructs Setup to force close when closing applications.
/NOFORCECLOSEAPPLICATIONS
Prevents Setup from force closing when closing applications. If /FORCE-
CLOSEAPPLICATIONS was also used, this command line parameter is
ignored.
/RESTARTAPPLICATIONS
Instructs Setup to restart applications if possible. Only has an effect when
combined with '/CLOSEAPPLICATIONS'.
/NORESTARTAPPLICATIONS
Prevents Setup from restarting applications. If /RESTARTAPPLICATIONS
was also used, this command line parameter is ignored.
/NAME="user name"
Initial value for User Name on the User Information wizard page.
/ORGANIZATION="organization name"
Initial value for Organization on the User Information wizard page.
/LICENSE="license number"
Initial value for License Number on the User Information wizard page.
/DIR="x:\dirname"
Overrides the default directory name displayed on the Select Destination
Location wizard page. A fully qualified pathname must be specified.
/GROUP="folder name"
Overrides the default folder name displayed on the Select Start Menu Folder
wizard page.
This chapter will describe the user interface of IQANdesign, such as the main
window layout, panels and other important windows. The user interface is
designed to function with different screen resolutions and font sizes. It is
highly customizable. All settings, such as panel sizes, window positions and
column widths are stored in Windows registry.
Commonly used or important functions are accessible through tool bar
buttons and keyboard shortcuts. The keyboard shortcuts follow Windows
standard whenever possible.
Main window
The main window of IQANdesign is divided into several panels.
Under the main menu there is a tool bar with the most common functions.
To the left, the project manager is located. This is where you navigate
through your project. Every component, such as channels, modules or display
pages, can be reached from here.
The middle panel is called the main workspace. This panel has different lay-
out and tools for different components. For most workspaces there will be an
Add button in the upper right corner. This button will let you add the appro-
priate components for each view. For more info, see section Add button on
page 30.
To the right, you find the property inspector. The property inspector is used to
define the behavior of all your application components. In the bottom panel
of the property inspector you get context sensitive help for the last selected
component or property.
File operations
All file operation commands can be found under the File menu. Some of
them are also present to the left on the tool bar.
New
Use this command to generate a new project or external function. If there is a
file currently open in IQANdesign, it will be closed first. You will be asked to
save any unsaved changes before the current file is closed.
Open
Use this command to open a project or external function that was previously
saved to a file. A file open dialog box is shown. Select folder and file, and
then click Open. Project files use extension .idax, and external functions use
.idex.
You can also open a clone file (.ircx) that has been saved in e.g. IQANrun. In
the file open dialog box, select Clone files (*.ircx) in the drop down list Files
of type. Select folder and file, and then click Open. The application in the
clone file will be opened in IQANdesign. Optionally the settings in the clone
file can also be imported as application default settings. Information such as
log data, machine users and machine ID will not be loaded.
A stripped project file (.idsx) can also be opened using the open command. A
stripped project file contains the complete project, but not the firmware of the
included modules.
If there is a project currently open in IQANdesign, it will be closed first. You
will be asked to save any unsaved changes before the current project is
closed.
Reopen
Contains a sub menu with your most recently used project files. Select the
one that you want to open.
If there is a project currently open in IQANdesign, it will be closed first. You
will be asked to save any unsaved changes before the current project is
closed.
Save
Save the current project to a file. If it hasn’t been saved before, Save As is
executed instead. The Save command will only be enabled when there are any
unsaved changes.
Save As
Saves the current project with a new file name.
Please note that this operation will not create a new project ID for your appli-
cation. This means that it will be considered to be the same project when sent
to a master module or when used by any other IQAN software.
If you want it to be treated as a different project, please change project ID
first, see section Project ID on page 73.
For some module types the project file becomes quite large due to the firm-
ware included in the file. It is however possible to save the project to a
stripped project file (.idsx) where the firmware is excluded. This makes it
easier to e.g. send the file as an email attachment.
NOTE
A stripped project file cannot be sent to a system using IQANrun since the
firmware is excluded from the file.
Close
Same as New except that no master module will be added.
Edit operations
All edit operation commands can be found under the Edit menu. Some of
them are also present on the tool bar. The menu contains common edit com-
mands, such as Undo/Redo (multiple steps), Cut/Copy/Paste, Delete, Rename
and Find. You can use cut, copy and paste of most components between proj-
ects if you have more than one IQANdesign instance opened at the same
time.
Add button
The Add button is used to add component to the current workspace, e.g. mod-
ules to the system layout or channels to a function group.
When there is only one component type possible to add, that component will
be added directly when the button is clicked, e.g. when adding a measure or
adjust group. It is also possible to add a component at a specific position by
dragging it from the Add button to the workspace.
For views where you can add different component types, clicking the Add
button will drop down a menu with all available components. The menu is
sometimes split up into different categories. Click on a category header to
expand or collapse it. In the function group view there are even multiple tabs
available. Add a component of a certain type by locating it in the menu and
double-click it, or drag it to the workspace.
At the top of the menu there is a search field that allows you to find a certain
component by typing parts of its full or abbreviated name. The menu will fil-
ter out those components that match the text in the search field.
There is also a pin function that lets you pin the menu to the workspace. This
is handy if you are adding multiple components at a time, since it will keep
the menu open after you have added a component.
At the bottom of the menu there is a hint box which will show additional
information on the highlighted menu item.
Project manager
The project manager is the panel to the left in the IQANdesign window. The
project manager items are grouped into five different categories. The head-
ings include System Layout, Application Logic, Diagnostics, User Interface
and Security. Most of these headings can be expanded to show individual
items or groups that are members of that heading.
When a heading or item is selected in the project manager, the views in the
main workspace and the property inspector change to allow you to examine
and edit the selected component and its properties.
System layout
Contains all modules and buses in the system.
System layout.
Use the Add button to add modules to your project, see section Add button on
page 30.
Move modules in the system layout by dragging them. You can connect mod-
ules to each other by grabbing a CAN port of a module and connect the line
that appears to a port on the other module. A CAN bus component is added
automatically on the line that connects two or more modules. It is shown as a
circle. Click on it to select the bus so you can edit its properties in the prop-
erty inspector.
For each module you add to your system layout, there is a node created under
the System Layout node in the project manager. If you select a module node,
the main workspace shows a block diagram for that module.
It is also possible to view the physical pin assignment as a list using the List
tab.
Print
Select File > Print to print the current modules tree view or module block
diagram. A dialog box is displayed where you can change printer, printer
properties and/or options. Click OK to print.
Application logic
For each master module that is added to the project an application is created
under the Application Logic node. The application logic node itself shows all
the applications in the project including the APPIN/APPOUT channel con-
nections between the applications.
Application
Each application node created under the application logic node corresponds
to that application’s top level function group. This is where you start to design
your application. Add channels, function groups and define functions for
your application.
Application view.
Use the Add button to add building blocks to your application, see section
Add button on page 30.
The workspace shows the selected function group’s content: channels,
comments and sub-function groups. Drag and drop components to arrange
them the way you want. Select multiple components by dragging a box
around them. You can also add components to a selection by holding <Ctrl>
pressed while selecting.
Bookmarks
Use bookmarks to navigate efficiently in your application. Add or remove a
bookmark by right-clicking on a channel and select Toggle bookmark. There
are nine bookmarks available. You can also toggle a bookmark on or off by
pressing <Ctrl>+<Shift> and its number, 1 - 9. When a bookmark is turned
on, its icon is displayed on the associated channel.
Bookmarks.
Now you can focus on a bookmarked channel simply by pressing <Ctrl> and
the bookmark number, or right-click and select Go to bookmark.
Function inspector
The bottom panel shows the function inspector, which is used to display and
edit channel functions. Select a channel with a function to see its object
groups and objects in the inspector. Depending on the programming method
selected for the channel the function inspector shows either Qcode or object
lists.
When using Qcode the function inspector shows the Qcode editor where the
expression can be edited directly or by using the drop down menus in the top
of the function inspector to insert expressions.
When using object list you can add objects by right-clicking in a object group
list box and select Add <object type>. Objects can also be added by first acti-
vating an object group list box and then selecting objects from the drop down
menus in the top of the function inspector. The object’s calculation order can
be arranged by dragging and dropping objects in the list. Move one or more
objects to another object group by drag and drop.
Finally, select calculation method for each object group in the combo box
below the list box.
Print
Select File > Print to print the current function group view. A dialog box is
displayed where you can change printer, printer properties and/or options.
Click OK to print.
External functions
Lists all external files that are linked to this project file. Add more external
files by clicking the Add button and selecting a file in the open file dialog box
that pops up. Adding an external file to a project file makes all top level func-
tion groups in that file available for use in the application logic.
For more information, see section External functions on page 240.
Channels
Lists all channels in current project. There is one sub-node for each channel
type.
Channel list.
Print
Select File > Print to print the current channels view. A dialog box is dis-
played where you can change printer, printer properties and/or options. Click
OK to print.
Measure groups
Lists all measure groups. Drag and drop the measure groups to order them the
way you want (make sure you are sorting on column Order). The order is
used by a display module in the measure menu.
There is one sub-node for each measure group in the project manager. When a
measure group is selected the main workspace shows a graph with measured
data if available. For more information, see section Measure in IQANdesign
on page 276.
Adjust items
Lists all adjust items. Each adjust item can be expanded to view the adjust-
able parameters and their limits. For more information see section Adjust
groups on page 296.
Adjust groups
Lists all adjust groups. Drag and drop the adjust groups to order them the way
you want (make sure you are sorting on column Order). The order is used by
a display module in the adjust menu.
There is one sub-node for each adjust group in the project manager. When an
adjust group is selected the main workspace shows a list of the adjust items in
that adjust group. For more information see section Adjust groups on page
296.
Logs
Lists all logs in the current project.
There is one sub-node for each application which in turn contains a sub-node
for each log. Here the log items can be created and edited. For more informa-
tion, see section Logs on page 306.
User interface
Contains properties that applies to all master modules in the project related to
user interface. For more information, see section Properties for all display
modules on page 329.
Display pages
For each master in the project that has a display a display pages node will be
added.
There is one sub-node for each display page. For more information, see sec-
tion Display pages in IQANdesign on page 324.
Images
Lists all image groups.
There is one sub-node for each image group. For more information, see sec-
tion Images and Image groups on page 360.
Gradients
Lists all gradients in the project. Gradients are used on color properties. Not
all modules support gradients. For more information, see section Gradients
on page 358.
PDF documents
Lists all PDF documents included in the project. These documents can be
downloaded to master modules with PDF support. For more information, see
section PDF documents on page 364.
Languages
Languages lists all the languages in the project as well as all translated texts.
It can be used to define languages as well as edit and translate all multi-lan-
guage properties. For more information, see section Languages on page 367.
Security
Lists all access levels defined in the project.
There is a sub-node for each access level defined. For more information, see
section Access levels on page 386.
The same method can be used to set up your measure, adjust items and adjust
groups. It is also possible to drag channels from the Channels view. Drag
multiple channels or function groups to add more than one channel at a time.
Property inspector
The property inspector is the panel to the right in the IQANdesign window.
The property inspector displays the properties of any component that is
selected in the project manager or main workspace.
Changes to the properties of any of these items are done in the property
inspector by entering text, values or making selections from drop down
boxes.
Changing properties
To change any property of a selected component, simply click on it in the
property inspector.
The highlighted property will have either an edit box where you enter text or
value, or a drop down box from which to make a selection. Some properties
use a combination of these, a drop down box where you also can enter text or
values.
NOTE
Any text typed into a property edit box will not be applied until you press
<Enter> or <Tab> or move to another property.
Keyboard shortcuts
Use <Up> /<Down> or <Tab>/<Shift+Tab> to move between properties. Use
<Alt+Left> and <Alt+Right> to collapse and expand group properties. When
focus is on the property name, type the first letter in a property name to select
that property. Move focus from property name to property value and vice
versa by pressing <Ctrl+Tab>.
tive direction, simply drag the group property Positive direction and drop it
on Negative direction.
Go to component
Properties that have a component as their value offers a shortcut if you would
like to look closer on that component. Right-click on the property name and
select Go to component in the popup menu. The component will be selected
in the main workspace and its properties will be displayed in the property
inspector. You can quickly navigate back using the navigation history avail-
able in the tool bar.
Property inspector showing two properties with automatic value option, one enabled (Background
color) and one disabled (Bar color).
Hint panel
The panel directly below the property inspector is called the hint panel. It dis-
plays help concerning the currently selected component or property. When
component help is displayed it will also contain the user-defined description
if specified.
Description is a property that is available on all components. The length is
unlimited but it is limited to one line only. It is possible to use simple HTML
formatting though. The most commonly used HTML elements are supported,
such as <b> for bold, <i> for italic and <br> for line break.
Example: If description is defined as
Indicator switch.<br><i>False</i> - parking brake is <b>not</b> released.<br><i>True</
i> - parking brake is released.
it will produce the help text shown in the image below. The component name
and description is inserted above the standard help title and text.
Description example.
Component navigator
The component navigator is a great tool to view and follow component rela-
tionships in your application. Select Tools > Component Navigator to open it.
Component navigator.
The navigator is a satellite window, which means it can be open while you’re
working in the main window. It is always shown on top of the main window if
they are overlapping.
The selected component’s name, type and ID is shown in the top panel. In the
center, the selected component is shown. Components that the selected com-
ponent refers to, either through a property or a function/object, are listed on
the left side. Components that refer to the selected component are listed on
the right side.
Additional information about a component is shown as a tool tip when point-
ing with the mouse on a component. This information includes component
name, description and parent. Parent is the component’s owner and is typi-
cally a function group, adjust group, display page, etc.
Click on a component to make that the selected component. IQANdesign will
find the component and select it in the main workspace for you. The compo-
nent navigator is updated to show components related to the new selected
component. This is how you navigate through your application.
You can also navigate back and forward in your navigation history using the
back and forward arrows in the component navigator or in the IQANdesign
tool bar.
CAN database
The CAN database allows you to use .dbc files, also known as Vector CAN
database files. A .dbc file contains definitions of CAN messages and their
parameters. Using the CAN database, you can look up message and parame-
ter information, and add them to your application logic without entering any
ID, bit offset, length, scaling, etc. manually. This, of course, saves a lot of
work but also makes sure your CAN channels are correctly defined.
To open the CAN database, select Tools > CAN Database.
sages will have radio buttons added to the In and Out columns. Select In for
messages that are sent to your master module, and Out for messages that the
master module will send to another module.
Now select the function group in the Project Manager where you want these
CAN channels added, if you haven’t already done so. Click Add channels to
create CAN channels for all marked messages and parameters. IQANdesign
will create J1939 or generic frames and parameters, depending on the data in
the .dbc file. Read more about CAN channels in section J1939 CAN channels
on page 190 and section Generic CAN channels on page 207.
NOTE
The channels will be added in the order listed. To change the order, click col-
umn headers to change sort order.
Project documentation
The project documentation function will create a design description for your
project with text, tables and images. You can decide yourself what parts of
the application should be in the documentation.
To create documentation for your application select Tools > Project Docu-
mentation.
Document sections
The project document is divided in sections, see table below. The available
sections are shown in the tree view on the left side. You can navigate to a sec-
tion in the document by clicking on its name in the tree view. The check box
next to each section name specifies whether the section is part of the docu-
ment or not. Select the checkboxes for those sections that you want in your
application document.
Document sections
System > System image System overview image with all modules and CAN
buses in the application.
System > Pin list Adds a pin list for each module. Requires that System >
Modules is selected.
System > Module images Adds a block diagram image for each module.
Requires that System > Modules is selected.
Function groups > Adds information on the interface (inputs and outputs)
Interface description to all function groups.
Function groups > Adds an image of the contents for each function group.
Function group images
Diagnostics > Measure Lists all measure groups and their corresponding
groups access levels.
Diagnostics > Adjust Lists all adjust groups and their corresponding access
groups levels.
Diagnostics > Logs Lists all logs and their corresponding access levels.
Display pages Adds a section for each display page. Contains sub
section display page images.
Save document
The document can be saved as an HTML file. Select File > Save Documenta-
tion or click the Save button on the tool bar. A save file dialog box is opened
where you can select where to save the document and what name it shall
have. A sub folder named Images is created in the folder you selected, where
all images (if any) are saved for the HTML document. Remember to always
include the Images folder when copying or moving the HTML document.
Print document
To print the document, select File > Print or click the Print button on the tool
bar. A dialog box is displayed that lets you select printer and other print
options. When printing the documentation page numbers and a table of con-
tents is also included.
Refresh document
If the project has changed since you opened the project documentation win-
dow, you can refresh the document to include the changes by selecting Docu-
mentation > Refresh or clicking the Refresh button on the tool bar.
Library Manager
Using the library manager you can install new solution libraries and plugin
modules that can be used in IQANdesign. Open the library manager using
Tools > Library Manager.
Library manager
The library manager contains one tab for solution libraries and one tab for
plugin modules. To add new items to a category, first select the category and
then click the Add button. An Existing item can be replaced using the Replace
button and deleted using the Delete button. There is also a button for adding
new categories.
Solution libraries
Solution libraries are reusable function blocks that can be inserted in a func-
tion group using the Add button. They are created like normal IQANdesign
projects and saved as stripped project files (.idsx). When they are used in a
function group all the application logic of the solution library is imported to
the selected function group. If the solution library contains modules they will
also be imported (except master modules).
Plugin modules
Plugin modules provides the possibility of adding new J1939 modules to
IQANdesign. Plugin modules are distributed by Parker and are made avail-
able online. They are provided as plugin module files (.idmx) which are
installed using the library manager.
When a plugin module has been installed it will be available in the add menu
of the system layout view. Once it has been added to a project it can be con-
nected to a J1939 bus. A plugin module has the same properties as J1939
modules plus a number of custom properties that is defined for each plugin
module. It also has a property that defines which master module controls the
plugin module (it can only be used by one master module).
A plugin module has inputs and outputs just like a physical module. To use
them they have to be added using the Add button in the block diagram under
System Layout. When doing so a new channel is added to the application of
the master module. This channel is either a Module Input Channel (MIC) or a
Module Output Channel (MOC).
If a plugin module is updated with a new version in IQANdesign it will be
updated also in existing projects when they are opened (after a user confirma-
tion).
A project containing a plugin module can be used in IQANdesign even if the
plugin module is not installed. This is accomplished by saving a copy of the
plugin module within the project file.
File compare
Sometimes it can be very useful to compare a project to another and see the
differences between them.
EXAMPLE
You’re having problem with a function that you know worked in an earlier
version of your project. Compare your application with the version that
worked to see what has changed.
Compare files
First open your current project in the normal way, for example by selecting
File > Open. Then open the other project file that you want to compare with
by selecting File > Compare With. A file open dialog box is displayed. Select
the other project file and click Open.
Both projects will be converted to text and displayed side by side in a file
compare dialog box. Every line that differs between the projects is colored
red. A line that is missing in one of the projects is colored grey.
Use the Next Difference and Previous Difference buttons on the tool bar to
move between all the application differences. To find a specific item in the
application you can use the find function provided in the compare dialog. You
can also reload the current application by clicking Reload, which can be use-
ful if you have done changes to your application since you opened the file
compare dialog box. The dialog box can remain open while you are editing
your application in the main window.
A quicker way of navigating is to use the gutter on the left side. The gutter
shows an overview of the file comparison. It also shows which line is selected
with a small green arrow, and which lines are visible with a white rectangle.
Click in the gutter to quickly move to that part.
EXAMPLE
To launch the compare viewer with two versions of the same project the
following command line can be used:
IQANdesign.exe ProjectV1.idax -diff ProjectV2.idax
It is also possible to use another difference viewer by saving the different ver-
sions of the project file as text files before comparing. This can be done from
command line using the -saveas argument.
EXAMPLE
Open a project file and save it as text for use in an external difference
viewer:
IQANdesign.exe ProjectV1.idax -saveas ProjectV1.txt
IQANdesign.exe ProjectV2.idax -saveas ProjectV2.txt
Dialog options
There are options that concern certain dialog boxes and the user interface in
general. Select Tools > Options to show the IQANdesign options dialog box.
Dialog options.
Switch to the Show again tab. Select the messages that you want to be shown
again.
Other options
There are some other options affecting the behavior of IQANdesign. They
can be found under the tab Other in the options dialog. Open the options dia-
log using Tools > Options.
File association
To associate IQANdesign with application files click on the Associate with
application files button. If the button is disabled, IQANdesign is already
associated with that file type. Associating IQANdesign with a file type means
that if you double-click such a file in Windows Explorer for instance,
IQANdesign will start and open that file.
NOTE
Changing file associations on Windows Vista or later requires administrator
privileges.
Undo levels
The number of undo levels that should be remembered by IQANdesign can
be configured using the Undo levels options. If you are experiencing perfor-
mance issues due to low memory in your system it might be a good idea to
lower the amount of undo levels.
Help
The help menu contains the usual menu items.
Contents
Will bring up the help file, which is this book as a PDF document.
Release Notes
Starts your web browser and displays release notes for this version of
IQANdesign.
Collected information
License number, name and The information you entered when IQANdesign was
company installed.
About
Displays a dialog box with licence and version information.
An IQAN system consists of one or more master modules, various other mod-
ules and an application for each master module. All the applications are con-
tained within a single project file.
IQANdesign is the design tool that will be used to create a project file.
The project file consists of information about the system’s modules, buses,
addresses, inputs, outputs and internal channels – everything that plays a role
in controlling a machine. If you’re adding display modules, the project file
will also contain the HMI for those modules.
By adding modules, connecting channels and creating functions you will
soon create the project file containing the applications that will be down-
loaded into the master module(s).
After adding a master module to your project, you can start to develop the
application logic by creating channels and conditions or if you prefer, you can
add more modules you expect to use and then connect the channels. You can
do it either way, choose the one that suits you the best.
Modules
The type of master and expansion modules you need is decided based on the
functionality you want in your machine. The modules are designed with dif-
ferent mixes of inputs and outputs to suit different machine applications.
The masters are the central units in the system. All communication is routed
through the masters. They also contains all non-module specific channels
such as PID regulators, counters and math channels. All calculations take
place in the masters. An IQAN system can consist of a single or multiple
masters.
The masters communicate with modules via CAN-buses (Controller Area
Network) using either IQAN CAN protocols, SAE J1939 or Generic CAN.
For further information about different module types see information in the
respective data sheets and instruction books.
Channels
A channel can either be an input, output or an internal channel. The internal
channels are not physical channels like the inputs and output. They are only
handled by the master internally.
All channels have different properties such as name, scaling, alarms, delays,
filter, etc. The properties are unique for each channel type. The internal
channels are used to create functionality. For example, if you want to control
the boom, count events, start a timer or control the speed on a diesel engine.
Most of the internal channels have both properties and one or many functions.
Input channel
Functions
A function is created using either Qcode or object list notation. When using
Qcode the function is written as a mathematical expression. In most cases
Qcode results in more readable functionality and also gives more flexibility
in the way expressions can be built.
When using object list notation a function is created by objects that are
grouped in object groups that are specific for each particular channel type. An
object is like a “black box”. You put something in and get something out.
What you get out depends on what type of object you have selected and the
condition you have entered. There are five types of objects: single, dual, vec-
tor, multi vector and math.
Function groups
Channels can be grouped in something called function groups. There are
three general purposes for using function groups in an IQANdesign applica-
tion.
Orderliness
By splitting the application into smaller parts, function groups, it will be
easier to understand the application. Instead of having all of the channels vis-
ible in the same function group view, there can be a function group for crane
control, another for diesel engine, etc.
Import/export functionality
A function group can be exported to or imported from another application. It
can be very useful to reuse parts from other applications. You could build up
a library with function groups in a single project file. For more information
see section Export/Import on page 236 and section External functions on
page 240.
Enable/disable functionality
It is possible to disable function groups. If a function group is disabled, that
group will not be calculated by the master.
This could be useful if you want your application to contain functionality for
several machines that will not be used by every machine.
Display pages
Display pages are used to design the graphical user interface for display mod-
ules that gives the operator, service personnel and other users necessary infor-
mation in different situations.
The difference between this display and a “traditional” operator or driver
environment is that all of the information does not necessarily need to always
be shown. By using several dedicated display pages it is possible to show
enough of the correct information in different situations.
Display pages consists of display page controls, such as texts, images, gauges
and bar graphs. Many of the different control types use images that you
import to your application.
IQANdesign supports Unicode for all texts in an application.
NOTE
Display pages can only be used in projects where at least one display module
exists, such as IQAN-MD4 for instance.
Measure groups
Create measure groups with selected channels to let the operator, service
personnel or other users measure and diagnose the application. This will for
instance let the user measure sensor values to check that everything is con-
nected and working as expected.
Adjust groups
Create adjust groups with adjustable channels to let the operator, service
personnel or other users adjust and tune the application. For example, when a
sensor is replaced in a machine, it often needs to be calibrated. That can be
achieved by adding the sensor input channel to an adjust group and make that
adjust group accessible for the user.
Project check
A project can contain errors, such as missing channels, undefined properties
or invalid values. To find these errors, select Project > Check Project.
IQANdesign will then check the project for errors and present a list with the
result in a dialog box.
Projects that contain errors can not be downloaded to master modules. The
master will not run an application with errors.
IQANdesign will also check for warnings and hints. Warnings are not errors,
but they are potential safety problems or could cause problems of some kind.
Hints are not necessarily dangerous to your application, but can be worth
looking at anyway.
Warnings and hints will not stop a master module from running the applica-
tion. It can still be faulty of course, but this has to be tested by you, for exam-
ple by using IQANsimulate to check all your application functions.
The dialog box presents a short description of each error, warning and hint,
together with the affected component and property when applicable. You can
sort the list the way you want by clicking in the column header.
Select a list item to get a more detailed description about that specific error,
warning or hint. The description is displayed in the top panel. You can
quickly go to the problem component by double-clicking its item in the list.
IQANdesign will find the component and select it for you. Fix the problem
and click Refresh to check the application again. If you’ve fixed it correctly,
the item will now disappear from the list.
Options
All warnings and hints may not be important in your project. Therefore, you
can define which warnings and hints you want reported by the project check.
Select Tools > Options and switch to the Project check tab in the dialog box
that pops up. There are two list boxes, one for hints and one for warnings.
Each box lists all possible hints and warnings with a check box to the left.
Deselect the ones that you don’t want reported by project check.
Send project
Before your project is downloaded to the system, the project will automati-
cally be checked for errors. Click Send to send the application to a connected
system. This can only be done if there are no errors.
ATTENTION
An empty project checklist with no errors, warnings or hints, does not guar-
antee that the application is working as expected. Please use IQANsimulate to
check that your application works in a proper way before you download it to
the master.
Project statistics
To get information about the size of your applications in the project, select
Project > Statistics. A dialog box with statistics such as component counts
and application file size is shown. The statistics is shown for each application
in the project.
Project statistics.
Project
Lists information about your project. Project ID is a unique identifier for this
project, see section Project ID on page 73 for more information.
Project checksum is a unique identifier for this exact version of the project
file. It is used at system startup, together with project ID, to verify that all
master modules in a system originates from the exact same version of the
project file. It can also be used by you when comparing two project files to
determine if they are exactly the same.
You can also see who changed the project last and when it was done.
Component count
Specifies the total number of components in your project. Different compo-
nent types are listed separately under this node.
Property count
Specifies the total number of properties in your project. Different property
types are listed separately under this node.
ATTENTION
These numbers are only estimations. They may be different in a real master
module. To measure exact memory utilization, see section Volatile memory
on page 70.
Operating system
The Operating system values presents type, version and size of the operating
system used for each application.
Memory handling
This section discusses all the things you need to know about memory han-
dling issues. It will help you to optimize the size of your application and to
make sure that you don’t run out of memory.
Memory types
There are two types of memory in a master module, volatile and non-volatile
memory. These two memory types are used for different purposes and have
different properties.
ATTENTION
It is important that you optimize your application’s memory usage for both
memory types so that you don’t exceed the limits set by the master module. If
you run out of volatile memory the master module will immediately stop pro-
gram execution and enter its safe mode. In practice, almost all memory allo-
cation is done at application startup, and therefor the application should not
start at all if you use to much volatile memory.
Volatile memory
This memory type is also known as RAM. Volatile memory does not keep its
content during power-off, but is very fast and efficient. This memory is used
in run-time to store, for example, parts of your application, calculation results
or communication buffers.
IQANdesign tries to estimate how much volatile memory will be consumed
in the Project statistics dialog box, under Estimated memory utilization. This
is hard to do at design-time, therefor you should also monitor memory utiliza-
tion on a real master module in run-time, by using a system information chan-
nel, see section System information (SIC) on page 171.
NOTE
You should measure memory utilization on a real master module. IQANsim-
ulate can not calculate exact memory utilization, but will give you a good
indication.
If your memory utilization is getting close to 100% there are some important
things to know about how to decrease it. You have to use less components in
your application, that is, less channels, objects, display page controls, etc.
Components with many properties use more memory than those with fewer
properties. Use the Property Inspector to count properties. For example, a
current output (especially one with many modes) uses more memory than a
digital input.
Reducing the number of images and languages will not help though, since
these are stored in non-volatile memory. Shorter texts will not help either,
because of the same reason.
NOTE
As a rule of thumb, you should try to keep memory utilization below 80%. If
you’re above 80% there may be problems with PC communication.
Non-volatile memory
This memory type is the equivalent of the hard disk in your PC. When talking
about IQAN modules it is sometimes referred to as Flash. Non-volatile mem-
ory keeps its content during power-off, but is not as efficient as volatile mem-
ory.
This memory is used to store many different things, such as, the complete
application, the operating system, settings and logs. Two of these can be
monitored by you, application size and log memory utilization. Log memory
is monitored in the same way as volatile memory, see section System informa-
tion (SIC) on page 171.
Application size on the other hand can be estimated by IQANdesign, at
design-time. You can see application size in the Project statistics dialog box,
under Total stored size. This number must not exceed the limit for the master
module you are using.
There is no guarantee that your application will fit even if it is smaller than
maximum application size. Applications are compressed when they are sent
from the PC to the master and there is a limit for the compressed size also.
Different applications get different compression ratios. Normally it is the
maximum application size that will be the limit though.
If your application exceeds maximum stored size (or maximum compressed
size), a warning will be generated in the application check, see section Proj-
ect check on page 65.
If your application is too big, you should first try to reduce image count and/
or size, since this is one of the most memory consuming components. Second,
you should concentrate on number of languages and text lengths. If this is not
enough, you must decrease your number of components. If you are using lan-
guages that requires extra fonts, such as asian languages, you could consider
downloading only a subset of the languages.
Memory sizes
Different master modules contain different amounts of memory, both volatile
and non-volatile. For a complete list, see section Master and display modules
on page 88.
Project passwords
A project can be protected by passwords, one for full access and one for lim-
ited access. To set the passwords, select Project > Passwords. For more
information on project passwords, see section Project password on page 377.
Project ID
The project ID is created automatically when you create a new project. It is a
globally unique identifier, and it is used to identify your project in certain sit-
uations. For example, when importing languages from an Excel file, the proj-
ect ID has to match the ID stored in the Excel file.
If you want to change the project ID for some reason, use Project > Proper-
ties and click on Change ID. This can be useful when you are creating a new
project for a machine type that resembles an existing project.
The most important use of project ID is for the master module, when it
receives a new application or settings file. It will check that the application
and settings file has the same ID. If not, the settings file will be replaced by
the application default settings.
ATTENTION
Do not change the project ID unless you really want to create a new project
for another machine type. If you change the project ID and send the project to
a master module that contains an application from the same project with the
old ID, new logs will be created and the settings file will be erased.
It is of course equally important to change project ID when you are creating a
new incompatible machine type, starting from an existing project. By chang-
ing the ID you can be sure that there is no risk of anyone sending a settings
file that belongs to another machine type to your new machines.
In section Project ID on page 302 you can read more about what happens in
different scenarios regarding project ID mismatch.
Project properties
There are some properties that are applicable to the project, such as name,
version and author.
Select Project > Properties from the menu. This brings up the project proper-
ties dialog where you can enter information about the project.
If you change the name of the project IQANdesign will ask you if you also
want to change the project ID. Change project ID only if you are about to cre-
ate a project for another machine type.
Application safety
This section contains information on how to improve the safety of applica-
tions. It is important that you read this chapter before you start creating appli-
cations for machines.
Risk assessment
For all types of machinery, a risk assessment must be made. For guidance on
risk assessment, we recommend using a standard such as EN ISO 14121-1.
The result of the risk assessment will influence the way that functions are
implemented in IQAN, but may also influence the selection of IQAN mod-
ules. To mitigate the risks, certain safety functions may need to be imple-
mented on a controller specifically designed for functional safety, for
example the IQAN-MC3.
The risk assessment must not be limited to just considering faults in the con-
trol system during normal operation, it must also cover other activities in the
machine life cycle.When introducing a programmable controller on the
machine, activities related to the updating of the application logic or its
parameters must also be considered.
Design
Design for safe operation is always the responsibility of the machine
designer. This includes both selection of components and design of the appli-
cation logic.
IQANdesign is a tool that is suitable for implementation of safety related
application software. When the risk assessment shows that a function has an
impact on safety, it is important that the application software is designed in a
way as to avoid the risk of systematic faults. For guidance on the design of
application software, please refer to section Coding guidelines on page 417.
Verification
Before verification, it is recommended to use IQANsimulate for early testing
of the application.
When verifying the function in the machine, people and other objects that can
be injured or damaged must be out of range of the machine’s working area.
ATTENTION
Please be aware that if you change project ID on an external file, the link to
all projects using that file will be broken.
Read more about how to use external functions in section External functions
on page 240.
This chapter deals with modules, buses and how to connect them to create a
system.
The IQAN system is based on adding necessary channels and functions asso-
ciated with the appropriate modules, thus designing your own control system.
The project file must contain information about the modules and buses that
will be used in the system. It is important to address the buses and modules
when creating an application. The project file is intended to reflect the con-
nections that exist in the real system.
In IQANdesign, it is easy to get a quick overview of how you have designed
your system. Selecting System Layout in the project manager sets the view in
the editor to show the system modules and the buses that connect them. High-
lighting any module or bus causes the properties for that item to be displayed
in the property inspector. Double clicking on a module in this view will open
the traditional block diagram of the module. Selecting channels on the block
diagram also displays the channel properties in the property inspector.
Add modules
If you add a module by double-clicking on it in the Add menu, IQANdesign
will place the module on an available position in the system layout view. You
can also drag the module to the position where you want to place it.
Enter the proper module address for each module in the property inspector. If
you are using multiple master modules there must only be one master module
using address 0. For more details regarding multiple master modules see sec-
tion Multiple master modules on page 405.
Sharing a bus
Some bus types can be combined on the same physical CAN bus, provided
that the CAN bus utilization is not too high. In IQANdesign each bus type is
still represented as a separate logical bus.
To share a physical CAN bus, simply connect the same CAN port on a master
module to two or more modules that use different bus types. It is possible to
combine the following CAN bus types:
• Expansion
• J1939
• Diagnostics
• Master
The generic CAN bus cannot be combined with any other bus.
Be careful when sharing the diagnostics bus with other bus types since the
traffic on this bus is fluctuating from low to very high, especially in a multi-
master system or when connected to a diagnostic tool such as IQANrun.
Measure
It is possible to measure module status and CAN bus utilization and status in
the system layout view. To measure CAN bus utilization and status in a multi-
master system, select the master module for which you want to measure.
For more information see section Measure in other views on page 279.
CAN routing
It is possible to configure some modules to act as CAN routers. A CAN router
will route CAN frames from a bus to another using a set of rules and excep-
tions. The routing can be from one or more buses and to one or more buses.
The content of routed CAN frames are not changed in any way by the router.
Modules supporting CAN routing, will have a property called Enable CAN
routing. Setting this to Yes will add a sub-node called CAN routing in the proj-
ect manager tree view.
Select the CAN routing node to be able to set its properties and add rules and
exceptions.
Rules
To set up the routing you need at least one rule. Add rules by clicking the Add
button. There are two different rule types available:
• Generic routing rule
• J1939 routing rule
Properties
Enabled Select Yes to make this rule enabled all the time, or
select a channel to enable/disable it in run-time.
either block all messages or route all messages by default. Exceptions from
the default action are added based on PGN numbers.
Properties
Source Select the source bus or module for this rule. Select a
bus to apply this rule on all messages coming from the
selected bus. Select a module to apply this rule on all
messages with a certain source address.
Enabled Select Yes to make this rule enabled all the time, or
select a channel to enable/disable it in run-time.
Exceptions
For each rule you can add exceptions when needed. Start by selecting a rule,
then click Add.
Block diagram
Each module will be represented with a block diagram. The block diagram
lets you connect physical inputs and outputs to the correct pins. It will also
show other channels not related to a pin in a connector, such as internal diag-
nostic values, e.g. module temperature or status. Double-click on a module in
the system layout to open its block diagram or select a module in the project
manager.
ule border and the pin on the inside. They will be interconnected with one or
more lines. There is one line for each physical pin that is used in the module
connector for that pin type. For channel types using multiple pins there will
still only be one pin component shown in the block diagram, but it will have
multiple connections.
Moving channels
Both channel and pin components can be selected in the block diagram. They
have unique properties that you can change in the property inspector. You can
change the order of the pins by dragging a pin component to another position.
You can also move a channel to another pin by dragging the channel compo-
nent. When dragging starts, all available pins for that channel type will be
shown. You can drop on one of those to move the channel to that pin, or you
can drop it on another channel of same type to let them swap pins.
You can also change which pin a channel is connected to by clicking the
small down arrow on the pin component. This will drop down a list showing
all pins available for that pin type. Select a pin in the list to move the channel
to it.
Right-click on a channel and select Remove in the popup menu to remove it
completely from the module. The channel will not be deleted, just
unassigned.
Additional features
Show menu
Left of the Add button there is a menu called Show. Use this to select what to
show in the block diagram. You can show available pins and occupied pins in
addition to the assigned pins. Assigned pins are always shown.
Showing available and occupied pins can be useful to optimize or rearrange
the I/O on a module.
Measure
It is possible to measure channel value and status in the block diagram view.
For more information see section Measure in other views on page 279.
Modules
There are two main types of IQAN modules: masters and expansion modules.
An IQAN system must always contain at least one master. A master module
has one or more CAN buses, and they can be configured to support different
CAN protocols.
You can connect up to eight expansion modules per type on each expansion
CAN bus. The J1939 and Generic units are represented as J1939 modules and
Generic modules respectively. Different module types are coded with differ-
ent colors to make it easier to see which bus type they belong to.
The modules have various properties that you will find in the property
inspector. For further information about the modules’ inputs and outputs, see
information sheets for each module type.
Module address
All modules that are connected to the expansion bus must be addressed. Each
module of the same type on the same bus must have a unique address. The
module address in the project file must correspond to the ID-tag address on
the real module. There are up to eight addresses. The default address when
you add a module in the project file is zero.
Comparison table
MD4
MD4 is a master module with a large size touch enabled color display. It
comes in three sizes; MD4-5 (5" 640x480 pixels), MD4-7 (7" 800x480 pix-
els) and MD4-10 (10" 800x600 pixels). It can have up to four CAN buses and
2 Ethernet ports.
Properties
Optional If there are more than one master module, select Yes to
make this master module optional. No error or warning
messages will be displayed if an optional master
module does not exist in the system.
RTC enabled Select No to disable the real time clock. When the real
time clock is disabled, the module will use startup
count and time from start instead of date and time in
logs.
It will also prevent the module from generating an error
when the real time clock is not set correctly. This
happens for instance when the real time clock has not
been powered for a longer period of time. Therefore
this property can be useful if your modules risk being
powered off several days in a row and you don’t want
to bother your users with the clock error.
Note: In a system with multiple masters, this master
module may get its clock set from another master
module, even if this property is set to False.
J1939 source address Enter the default J1939 source address that this module
should use when sending J1939 messages.
If an IQAN module needs to use several source
addresses, the default address can be overridden for
each individual message.
J1939 TDA enabled Select Yes to enable the reception of J1939 PGN TDA
to synchronize the time on the master module.
IP address > IP address IP address to use for the diagnostic port. By default the
diagnostic port uses DHCP and auto-IP to make it easy
to connect a computer for diagnostics.
By configuring a static address DHCP will be disabled,
but auto-IP will still be enabled. This means that it will
be possible to connect a computer directly to the
diagnostics port without any special configuration.
IP address > Subnet mask Defines the subnet mask to use for the diagnostic port.
IP address > Default Defines the default gateway to use for the diagnostic
gateway port.
IP address > Primary/ Defines the primary and secondary DNS to be used for
Secondary DNS the diagnostic port when static IP address is
configured.
Channel properties
Ethernet
There are two Ethernet ports available on the MD4, port A and port B.
Port A is intended for connecting a PC or WLAN adapter. Normally it gets its
IP address dynamically, by using one of two methods: DHCP or AutoIP.
• DHCP: If the MD4 is connected to a LAN, it is likely you are using a
DHCP server (Dynamic Host Configuration Protocol) to assign network
devices IP addresses. The MD4 uses a DHCP client to request an IP
address.
• AutoIP: If a DHCP server is not detected, the MD4 will automatically
assign itself IP addresses using the AutoIP protocol. A standard AutoIP
address looks like 169.254.x.x, with the subnet mask of 255.255.0.0. This
configuration allows you to connect a computer directly to the MD4 and
communicate with it by assigning an AutoIP address to your computer
(most computers will assign themselves an AutoIP address after a few
minutes in the case the computer cannot lease an IP address from a DHCP
server).
Port B is intended for IQAN cameras. The MD4 will automatically configure
the connected camera with IP address and other parameters.
To see the IP addresses for your MD4 Ethernet ports, go to menu system and
select Info > Modules > [Your MD4].
MD3
MD3 is a master module with a small color display. It has three CAN buses.
The module has inputs and one digital output.
Properties
Optional If there are more than one master module, select Yes to
make this master module optional. No error or warning
messages will be displayed if an optional master
module does not exist in the system.
RTC enabled Select No to disable the real time clock. When the real
time clock is disabled, the module will use startup
count and time from start instead of date and time in
logs.
It will also prevent the module from generating an error
when the real time clock is not set correctly. This
happens for instance when the real time clock has not
been powered for a longer period of time. Therefore
this property can be useful if your modules risk being
powered off several days in a row and you don’t want
to bother your users with the clock error.
J1939 source address Enter the default J1939 source address that this module
should use when sending J1939 messages.
If an IQAN module needs to use several source
addresses, the default address can be overridden for
each individual message.
J1939 TDA enabled Select Yes to enable the reception of J1939 PGN TDA
to synchronize the time on the master module.
Channel properties
MC2
MC2 is a master module without display. It has two CAN buses. The module
has both on/off and proportional inputs and outputs.
Properties
Optional If there are more than one master module, select Yes to
make this master module optional. No error or warning
messages will be displayed if an optional master
module does not exist in the system.
RTC enabled Select No to disable the real time clock. When the real
time clock is disabled, the module will use startup
count and time from start instead of date and time in
logs.
It will also prevent the module from generating an error
when the real time clock is not set correctly. This
happens for instance when the real time clock has not
been powered for a longer period of time. Therefore
this property can be useful if your modules risk being
powered off several days in a row and you don’t want
to bother your users with the clock error.
Note: In a system with multiple masters, this master
module may get its clock set from another master
module, even if this property is set to False.
J1939 source address Enter the default J1939 source address that this module
should use when sending J1939 messages.
If an IQAN module needs to use several source
addresses, the default address can be overridden for
each individual message.
J1939 TDA enabled Select Yes to enable the reception of J1939 PGN TDA
to synchronize the time on the master module.
Channel properties
MC3
MC3 is a master module without display. It has four CAN buses. The module
has both on/off and proportional inputs and outputs.
MC3 is certified for safety related applications according to IEC 61508 up to
SIL2 (Safety Integrity Level 2).
Properties
Optional If there are more than one master module, select Yes to
make this master module optional. No error or warning
messages will be displayed if an optional master
module does not exist in the system.
J1939 source address Enter the default J1939 source address that this module
should use when sending J1939 messages.
If an IQAN module needs to use several source
addresses, the default address can be overridden for
each individual message.
J1939 TDA enabled Select Yes to enable the reception of J1939 PGN TDA
to synchronize the time on the master module.
Channel properties
MC41
MC41 is a master module without display. It has two CAN buses. The mod-
ule has both on/off and proportional inputs and outputs.
Properties
Optional If there are more than one master module, select Yes to
make this master module optional. No error or warning
messages will be displayed if an optional master
module does not exist in the system.
J1939 source address Enter the default J1939 source address that this module
should use when sending J1939 messages.
If an IQAN module needs to use several source
addresses, the default address can be overridden for
each individual message.
J1939 TDA enabled Select Yes to enable the reception of J1939 PGN TDA
to synchronize the time on the master module.
Enable CAN routing Enables CAN routing between two CAN ports on this
module. When routing is enabled routing rules can be
defined using the CAN routing node under the module
in the project manager.
Channel properties
MC42
MC42 is a master module without display. It has three CAN buses and an
Ethernet port. The module has both on/off and proportional inputs and out-
puts.
Properties
Optional If there are more than one master module, select Yes to
make this master module optional. No error or warning
messages will be displayed if an optional master
module does not exist in the system.
J1939 source address Enter the default J1939 source address that this module
should use when sending J1939 messages.
If an IQAN module needs to use several source
addresses, the default address can be overridden for
each individual message.
J1939 TDA enabled Select Yes to enable the reception of J1939 PGN TDA
to synchronize the time on the master module.
Enable CAN routing Enables CAN routing between two CAN ports on this
module. When routing is enabled routing rules can be
defined using the CAN routing node under the module
in the project manager.
Channel properties
MC43
MC43 is a master module without display. It has five CAN buses and an
Ethernet port. The module has both on/off and proportional inputs and out-
puts.
Properties
Optional If there are more than one master module, select Yes to
make this master module optional. No error or warning
messages will be displayed if an optional master
module does not exist in the system.
J1939 source address Enter the default J1939 source address that this module
should use when sending J1939 messages.
If an IQAN module needs to use several source
addresses, the default address can be overridden for
each individual message.
J1939 TDA enabled Select Yes to enable the reception of J1939 PGN TDA
to synchronize the time on the master module.
Enable CAN routing Enables CAN routing between two CAN ports on this
module. When routing is enabled routing rules can be
defined using the CAN routing node under the module
in the project manager.
Channel properties
Expansion modules
There are several different types of expansion modules, such as levers, I/O
modules, radio controls, CAN modems etc.
LC5
Lever expansion module.
Properties
Enabled Select Yes to make this module enabled all the time, or
select a channel to enable/disable it in run-time. When
the channel value is False, the module is disabled and
all its channels are set to error value when available,
otherwise 0 (zero)/False.
Channel properties
XA2
All-round expansion module with both inputs and outputs.
Properties
Enabled Select Yes to make this module enabled all the time, or
select a channel to enable/disable it in run-time. When
the channel value is False, the module is disabled and
all its channels are set to error value when available,
otherwise 0 (zero)/False.
XS2
Expansion module with focus on inputs.
Properties
Enabled Select Yes to make this module enabled all the time, or
select a channel to enable/disable it in run-time. When
the channel value is False, the module is disabled and
all its channels are set to error value when available,
otherwise 0 (zero)/False.
XC10
Expansion module with focus on inputs and digital outputs.
Properties
Enabled Select Yes to make this module enabled all the time, or
select a channel to enable/disable it in run-time. When
the channel value is False, the module is disabled and
all its channels are set to error value when available,
otherwise 0 (zero)/False.
DOUT open load Enables or disables open load detection for all DOUT:s
detection on this module.
Note: This detection requires XC10 to have software
version 1.06 or newer.
XC21/XC22/XC23
Expansion modules with focus on inputs.
Properties
Enabled Select Yes to make this module enabled all the time, or
select a channel to enable/disable it in run-time. When
the channel value is False, the module is disabled and
all its channels are set to error value when available,
otherwise 0 (zero)/False.
XR
Radio controlled expansion module. Only one allowed on each bus.
Properties
Enabled Select Yes to make this module enabled all the time, or
select a channel to enable/disable it in run-time. When
the channel value is False, the module is disabled and
all its channels are set to error value when available,
otherwise 0 (zero)/False.
Properties
Enabled Select Yes to make this module enabled all the time, or
select a channel to enable/disable it in run-time. When
the channel value is False, the module is disabled and
all its channels are set to error value when available,
otherwise 0 (zero)/False.
Source address Enter the J1939 source address for this module.
Example: A diesel engine is usually address 0.
Generic
External (non-IQAN) expansion module that uses other CAN protocols than
SAE J1939.
Properties
Enabled Select Yes to make this module enabled all the time, or
select a channel to enable/disable it in run-time. When
the channel value is False, the module is disabled and
all its channels are set to error value when available,
otherwise 0 (zero)/False.
Gateways
G2/3
G2 and G3 are CAN modems used for remote diagnostics. They connect to a
server on Internet that allows IQAN tools to remotely access the system.
Properties
Connect to server Select Always to make the modem connect to the server
at startup and be available for remote diagnostics, or
select a channel to connect/disconnect at run-time.
G11
G11 is a CAN to Bluetooth gateway used for accessing the system from smart
devices.
Properties
GT
GT (Gateway Telematics) represents a generic Parker IQAN Connect gate-
way supporting IQAN remote diagnostics as well as telematics.
Properties
Source address Enter the J1939 source address for this gateway.
Cameras
SV
The SV camera is an Ethernet camera to be used as a rear view or blind spot
camera in an IQAN system.
NOTE
You have to assign the connected camera to the camera module by using the
menu system of the master module. This has to be done every time a new
camera is installed or replaced.
Properties
Max bit rate By limiting the bit rate each frame is compressed more
and the performance is increased. But compressing
each frame more also means that the image quality is
lowered.
Generic camera
Using the generic camera module it is possible to connect Ethernet cameras
that supports JPEG compressed video over the RTSP/RTP protocol (accord-
ing to RFC 2326, 3550 and 2435). In order to use a third party camera the
URL of the video stream must be known. Please refer to the camera manufac-
turer or search on internet to get the URL for your particular camera.
NOTE
The easiest solution is to configure the camera to use DHCP, but if you want
to use static IP addresses it should be 192.168.128.x where x is between 1-
255. The camera should be configured for subnet 255.255.128.0.
NOTE
If you are using DHCP you have to assign the connected camera to the cam-
era module by using the menu system of the master module. This has to be
done every time a new camera is installed or replaced.
Properties
Path Specify the path in the video stream URL for the
camera (excluding the address). Width and height can
be substituted with %1 and %2 in the URL.
Example (Axis camera):
/axis-media/
media.amp?videocodec=jpeg&resolution=%1x%2
Refer to the camera supplier for the URL of your
particular camera.
Module pins
Each module related channel has to be connected to a module pin. This is
used for physical channels, such as voltage inputs or current outputs, to let the
system know which pin(s) that channel is connected to in the module connec-
tor. For non-physical channels, such as module status or serial number, it is
used to say which module its value refers to.
Some module pin types have specific properties for certain modules. Not all
properties are available on all modules.
Properties
Restart behavior Defines the restart behavior after an error has been
detected on the output.
• The default behavior is to remain in error state until
the input is 0 and the error is no longer detected.
• When a channel is selected, that channel's value
must change from false to true and the output error
must no longer be detected in order to leave error
state.
• None will cause the channel to remain in error state
until the power is cycled and the error is gone.
Properties
PWM under current Enables or disables under current detection for this
detection PWM output.
Properties
DOUT under current Enables or disables under current detection for this
detection digital output.
DOUT open load Enables or disables open load detection for this digital
detection output.
Restart behavior Defines the restart behavior after an error has been
detected on the output.
• The default behavior is to remain in error state until
the input is 0 and the error is no longer detected.
• When a channel is selected, that channel's value
must change from false to true and the output error
must no longer be detected in order to leave error
state.
• None will cause the channel to remain in error state
until the power is cycled and the error is gone.
Buses
There are five types of buses.
• Expansion, a bus for communication between master modules and IQAN
expansion modules.
• J1939, a CAN bus for the SAE J1939 protocol.
• Generic, a bus that is used to handle other types of CAN protocols.
• Diagnostics, a bus used for diagnostics communication between masters,
PC and gateways.
• Master, a bus used for exchanging real-time data between IQAN masters
and displays.
All IQAN expansion modules use the expansion bus to communicate with the
master module. IQAN gateways use the diagnostics bus. Master and display
modules support any of the above bus protocols.
Expansion
The expansion bus is using the IQAN CAN Protocol (ICP), our own proprie-
tary protocol for communication between masters and expansion modules.
Properties
Polling cycle time [ms] Controls how often the expansion modules on this bus
are polled. This is useful to reduce the CAN bus traffic
when the master module runs at a fast cycle rate. By
default the expansion modules are polled every cycle.
Note: The timeout is calculated as 3 times the polling
cycle time.
J1939
A bus that uses the SAE J1939 protocol. This bus has no specific properties.
Properties
Speed [kbps] Bus speed in kilobit per second. Only speeds 250 and
500 kbps are allowed.
Generic
A bus that uses other CAN protocols than SAE J1939.
IQANdesign User manual 105
Buses
4 Modules
Properties
Speed [kbps] Bus speed in kilobit per second. Only speeds 50, 100,
125, 250 and 500 kbps are allowed.
Diagnostics bus
The diagnostics bus is used to connect a PC or modem to perform diagnostics
on the IQAN system. In a multi-master system this bus is also used for
exchanging run-time diagnostic data between master modules.
Properties
J1939 start address Enter the J1939 starting address that the system should
use for its diagnostic bus. The headmaster will use this
address as its source address for diagnostic messages
and the other masters will use sub-sequent addresses.
Note: This only needs to be changed when there are
conflicts with non-IQAN modules on the same bus.
Master bus
Used to exchange channel values between masters in a multi-master system.
Adding channels
Channels are added in function groups. Function groups are found under the
Application Logic node in the project manager. There must be at least one
master module added to the project, otherwise there are no function groups
available. For each master module that is added, there is one top level func-
tion group added under Application Logic. Such a top level function group is
called <Master module name> application by default, but you can of course
rename to whatever you want.
You can add as many function groups as you like under each top level func-
tion group, see chapter Function groups for more information.
In the project manager, select the function group where you want to add your
channel(s). Use the add button to display all channel types that are possible to
add to that function group. The channel types are divided in different catego-
ries, for example Inputs/Outputs, Calculation or Parameters. Find the chan-
nel type you want and double-click it or drag to the workspace to add it to
your function group.
EXAMPLE
A channel that is used by several other channels needs to be transformed in
some way using a math channel. You want to use the transformed value
everywhere the original value is used.
Make sure the math channel with the transformed value is of the same
value type as the original and in the same scope. Right-click the original
channel and select to replace it with the transformed one everywhere in the
project file.
Naming channels
When you create an application, you may start by creating channels and
defining their properties. As part of the process you should establish a naming
convention for the channels that will be easy to understand.
For digital inputs and outputs, a good naming standard is to name the input or
output after its active state.
For analog inputs, you would normally give names based on the measured
value, for example “Oil pressure, telescope” or “Angle sensor, boom”.
Analog outputs should be named after their function, for example “Boom”.
Every channel also has a property named Description that you are encour-
aged to use. Enter a text that describes the purpose or function of the channel.
The text you enter here is also displayed in the hint panel below the property
inspector when the channel is selected.
Direction
In addition to naming channels clearly, you should standardize on the direc-
tions of movement. Almost every movement has a positive and a negative
direction. It is very important to be consistent with the direction selection
when you create an application, partly to facilitate things when documenting
the application and partly when troubleshooting or rebuilding.
Direction suggestions
Up Positive
Down Negative
Forward Positive
Reverse Negative
Right Positive
Left Negative
Out Positive
In Negative
Value
The value is calculated using a combination of input values, properties and/or
functions. Depending on channel type, the value type can be boolean (False/
True), real, integer, state or text.
EXAMPLES
A voltage input uses a measured value and its properties Min, Max, Scaled
min and Scaled max to calculate its value.
A math channel uses its function(s) to calculate its value.
Boolean
Boolean values are used for digital channel types. They can often be used as
numeric values. False is then interpreted as the numeric value 0 and True is
interpreted as 1.
Real
A real number (floating point) is in the range 1.5·10-45 - 3.4·1038 (negative and
positive) with 7 significant digits. If a real value is used where a boolean
value is expected, the value 0 is interpreted as False and all other values as
True.
Integer
An integer number is a 32 bit signed value in the range ±2·109. If an integer
value is used where a boolean value is expected, the value 0 is interpreted as
False and all other values as True.
State
State values are used to select active state on other components. A state value
can also be used in numeric calculations. Default state is then defined as 0,
first state as 1, and so on.
Text
Text values are used to for example display information on a display module,
log text information or send text messages via SMS. They can not be used in
numeric calculations.
Status
The status is used to indicate warnings, errors or other info. Some status
changes are shown as on-screen messages or LED codes on the master, and
some are also logged in the system log.
In the tables below, column Msg states whether a system message dialog box
is displayed and column Log states whether a record is created in the system
log when the status occurs. There are some additional system messages that
can be displayed for a master module, but that are not related to statuses. See
section Module system messages on page 115.
There are four status types; Info, OK, Warning and Error. When displayed by
a system dialog box, warnings use the Warning priority level, and errors use
the Error or Critical level, see section Conditional message (CMSG) on page
181.
No status No status.
Status values - OK
OK Status OK.
Log full (recycling) A log is full but will continue to log new
records by recycling old records.
Date and time not set Applies to master modules with real time • •
clock only.
Log full (stopped) A log is full and will not record any new
records until emptied.
CAN bus error CAN controller has gone into Bus-Off. Bus- • •
Off is defined by the CAN standard and
embedded in the CAN controller.
Problems like shorting of CAN wires, wrong
baud rate on one of the nodes, node with
incorrect bit-timing, two nodes sending out
messages with the same ID, incorrect
termination, voltage potential differences, bad
grounding between nodes and large loads
switching on and off could cause this.
Diff check error Input channels not equal (used by AAC, DDC • •
and ADC channels).
PIN code error Wrong PIN code for SIM card in gateway •
module.
EXAMPLES
A voltage input gets status High alarm when its value rises above the value
specified by property High alarm.
A math channel gets status Division by zero when one of its function
objects generates a division by zero error.
Status tables
Each channel section in this chapter has a table listing all possible status val-
ues for its channel type.
Standard statuses
The status values Disabled and OK are excluded from the lists since all chan-
nels can have these statuses.
Multiple address error There are more than one module with the same address
on the bus. Only applicable to IQAN expansion
modules.
Inputs/Outputs
All of the input and output channels are physical channels and you will find
them as inputs and outputs on the different modules. For further information
about the physical channels see the specific instructions for the modules.
Scaled max
Scaled min
min max
Properties
Unit The unit for the scaled value of this channel. Select Not
used to avoid Missing unit hint in project check for
channels without unit.
Reference voltage Select the reference voltage that this voltage input is
connected to. Select Not used if connected to an
external reference.
All inputs connected to a reference voltage where an
error is detected will receive error status “VREF error”.
Error value The error value is used when there is an error situation
for this channel. For example, if the connected sensor
is broken, the channel will use this value as its output
value instead of the measured value. Enter scaled
value, not raw value.
Calibration > Min Enter raw sensor value when sensor is in its minimum
position.
This is an application default value. For adjustable
parameters, it is used as initial value the first time a
parameter is downloaded to a master module. See user
manual for more information on application default.
Note: It is important to use a safe application default
value since it is also used as error value in the unlikely
event that the parameter gets corrupted.
Calibration > Max Enter raw sensor value when sensor is in its maximum
position.
See also property Min regarding application default.
Calibration > Scaled min Enter the scaled value of the sensor’s minimum
position. Examples: 90 cm, -30°C, etc.
Calibration > Scaled max Enter the scaled value of the sensor’s maximum
position. Examples: 785 cm, 130°C, etc.
Alarm > Low/High Select Yes to specify a low/high alarm level for this
channel. You can also select a channel to control
whether a low/high alarm level should be used or not.
Alarm > Low/High value Enter a value for the low/high alarm level. Also, make
sure that property Alarm low/high above isn’t set to No.
You can also use a channel to specify alarm level.
Example: Setting the low level to -25°C will create an
alarm when the temperature (this channel’s value) falls
below -25°C. The alarm will be logged and presented
to the driver. Enter scaled value, not raw value.
Device type
Enter a name for your input device, for example, Temperature sensor TS100.
If you are using a predefined device type, or want to add one, click the button
to the right. This opens the device manager. Select a device in the list and
click Select. The channel is updated with the values of the selected device.
Device manager.
If you often use the same device in your application it can be a good idea to
add it to your device database. Click Add and fill in all device data in the dia-
log box that appears. The new device is added to the list. You can also edit or
delete existing devices.
Adjust
By adding this channel to an adjust group, it is possible to adjust its Min and
Max via a display module or IQANrun.
Error detection
Scaled value
For the master to be able to detect errors such as short circuit or power failure,
the input’s voltage range must be within the min and max limits as shown in
the above diagram. If the signal reaches the illegal range, a signal error is
detected and the channel’s scaled value will be replaced by the specified error
value. This is to avoid jeopardizing the machine’s function and safety.
ATTENTION
An illegal value can cause a faulty function on the machine. Carefully
consider critical and dangerous situations when the channel’s input value is
incorrect and enter a suitable replacement value.
Value
Type Real
If you need the raw value instead, use calibrations Min = 0, Max = 5000,
Scaled min = 0 and Scaled max = 5000. Unit should be mV.
Status
Low alarm Value is lower than the specified low alarm level.
High alarm Value is higher than the specified high alarm level.
Low error Value is below its valid range, see section Error
detection on page 121.
High error Value is above its valid range, see section Error
detection on page 121.
Inherited module status See section Inherited module status on page 116.
Current-loop in (CIN)
A physical analog input. The current-loop input channel is used to measure
analog sensors, for example temperature, pressure, angle, position, etc.
The input range is 0 - 20000 µA. The signal can be scaled to an application
dependent range.
Scaled max
Scaled min
min max
Properties
Unit The unit for the scaled value of this channel. Select Not
used to avoid Missing unit hint in project check for
channels without unit.
Error value The error value is used when there is an error situation
for this channel. For example, if the connected sensor
is broken, the channel will use this value as its output
value instead of the measured value. Enter scaled
value, not raw value.
Calibration > Min Enter raw sensor value when sensor is in its minimum
position.
This is an application default value. For adjustable
parameters, it is used as initial value the first time a
parameter is downloaded to a master module. See user
manual for more information on application default.
Note: It is important to use a safe application default
value since it is also used as error value in the unlikely
event that the parameter gets corrupted.
Calibration > Max Enter raw sensor value when sensor is in its maximum
position.
See also property Min regarding application default.
Calibration > Scaled min Enter the scaled value of the sensor’s minimum
position. Examples: 90 cm, -30°C, etc.
Calibration > Scaled max Enter the scaled value of the sensor’s maximum
position. Examples: 785 cm, 130°C, etc.
Alarm > Low/High Select Yes to specify a low/high alarm level for this
channel. You can also select a channel to control
whether a low/high alarm level should be used or not.
Alarm > Low/High value Enter a value for the low/high alarm level. Also, make
sure that property Alarm low/high above isn’t set to No.
You can also use a channel to specify alarm level.
Example: Setting the low level to -25°C will create an
alarm when the temperature (this channel’s value) falls
below -25°C. The alarm will be logged and presented
to the driver. Enter scaled value, not raw value.
Adjust
By adding this channel to an adjust group, it is possible to adjust its Min and
Max via a display module or IQANrun.
Error detection
See section Error detection on page 121.
Value
Type Real
Status
Low alarm Value is lower than the specified low alarm level.
High alarm Value is higher than the specified high alarm level.
Low error Value is below its valid range, see section Error
detection on page 121.
High error Value is above its valid range, see section Error
detection on page 121.
Inherited module status See section Inherited module status on page 116.
PWM in (PWMIN)
A physical analog input. The PWM input channel is used to measure pulse
width modulates sensors.
The input PWM range is 0 - 1000‰ (max valid range is 10 - 990‰). The sig-
nal can be scaled to an application dependent range.
Scaled max
Scaled min
min max
Properties
Unit The unit for the scaled value of this channel. Select Not
used to avoid Missing unit hint in project check for
channels without unit.
Leading edge Defines whether the PWM input signal starts the period
cycle with a Positive (rising) or Negative (falling)
flank.
Error value The error value is used when there is an error situation
for this channel. For example, if the connected sensor
is broken, the channel will use this value as its output
value instead of the measured value. Enter scaled
value, not raw value.
Calibration > Min Enter raw sensor value when sensor is in its minimum
position.
This is an application default value. For adjustable
parameters, it is used as initial value the first time a
parameter is downloaded to a master module. See user
manual for more information on application default.
Note: It is important to use a safe application default
value since it is also used as error value in the unlikely
event that the parameter gets corrupted.
Calibration > Max Enter raw sensor value when sensor is in its maximum
position.
See also property Min regarding application default.
Calibration > Scaled min Enter the scaled value of the sensor’s minimum
position. Examples: 90 cm, -30°C, etc.
Calibration > Scaled max Enter the scaled value of the sensor’s maximum
position. Examples: 785 cm, 130°C, etc.
Alarm > Low/High Select Yes to specify a low/high alarm level for this
channel. You can also select a channel to control
whether a low/high alarm level should be used or not.
Alarm > Low/High value Enter a value for the low/high alarm level. Also, make
sure that property Alarm low/high above isn’t set to No.
You can also use a channel to specify alarm level.
Example: Setting the low level to -25°C will create an
alarm when the temperature (this channel’s value) falls
below -25°C. The alarm will be logged and presented
to the driver. Enter scaled value, not raw value.
Adjust
By adding this channel to an adjust group, it is possible to adjust its Min and
Max via a display module or IQANrun.
Error detection
See section Error detection on page 121.
IQANdesign User manual 125
Inputs/Outputs
5 Channels
Value
Type Real
Status
Low alarm Value is lower than the specified low alarm level.
High alarm Value is higher than the specified high alarm level.
Low error Value is below its valid range, see section Error
detection on page 121.
High error Value is above its valid range, see section Error
detection on page 121.
Inherited module status See section Inherited module status on page 116.
Digital in (DIN)
A physical input with digital value, False or True. This type of input is mostly
used for switches, position sensors and guards. No other properties besides
name and description.
Value
Unit n/a
Type Boolean
Status
Inherited module status See section Inherited module status on page 116.
Frequency in (FIN)
A physical analog input. The frequency input channel is used to measure fre-
quency. Typically it is used to measure speed or revolutions.
The input signal should be converted to a readable value for the operator. The
value can be presented on the display together with the defined unit.
For example, if the input signal is a speed, you present the value in km/h
instead of the frequency value measured on the channel.
Properties
Unit The unit for the scaled value of this channel. Select Not
used to avoid Missing unit hint in project check for
channels without unit.
Scaled max Enter the scaled value of the sensor’s maximum value.
Examples: 785 cm, 2350 RPM, etc.
Fast response
There is a faster method of detecting zero frequency, but at a sacrifice of low
frequencies.
This method has only an uncertainty of one sample time when a zero fre-
quency is detected.
Value
Type Real
If you need the raw value instead, use calibrations Max = 1000 and Scaled
max = 1000.
Status
Low alarm Value is lower than the specified low alarm level.
High alarm Value is higher than the specified high alarm level.
Inherited module status See section Inherited module status on page 116.
Properties
Same properties as a frequency input channel with one addition.
Value
Type Real
If you need the raw value instead, use calibrations Max = 1000 and Scaled
max = 1000.
Status
Low alarm Value is lower than the specified low alarm level.
High alarm Value is higher than the specified high alarm level.
Inherited module status See section Inherited module status on page 116.
Properties
Unit The unit for the scaled value of this channel. Select Not
used to avoid Missing unit hint in project check for
channels without unit.
Resetting channel Select a channel to reset the value. When the resetting
channel’s value changes from False to True, the value
of this channel is set to its reset value, see next
property, and it will keep that value as long as the
resetting channel is True.
Scaled max Enter the scaled value of the sensor’s maximum value.
Examples: 785 cm, 2350 RPM, etc.
Value
Type Real
If you need the raw value instead, use calibrations Max = 1000 and Scaled
max = 1000.
Status
Low alarm Value is lower than the specified low alarm level.
High alarm Value is higher than the specified high alarm level.
Inherited module status See section Inherited module status on page 116.
Properties
Same properties as a pulse input channel with one addition.
Value
Type Real
If you need the raw value instead, use calibrations Max = 1000 and Scaled
max = 1000.
Status
Low alarm Value is lower than the specified low alarm level.
High alarm Value is higher than the specified high alarm level.
Inherited module status See section Inherited module status on page 116.
Value
Unit %
Type Real
Status
Inherited module status See section Inherited module status on page 116.
Properties
Device type Select a device type for the connected actuator device,
e.g., a valve. It will automatically get the correct limits
and currents for that device type.
Input channel Select a channel to control the value of this output. The
selected channel should have a value range of -100 -
100%. Input values below -100 or above 100 will result
in maximum output (Max current [mA]) in
corresponding direction.
Default mode A mode is a set of properties. You can have more than
one mode for this channel, see property Mode selector.
The first mode is the default mode and it is always
available. If you don’t specify a mode selector, this is
the only mode.
Min current [mA] Min current for this mode. This current equals
command value 0%.
This is an application default value. For adjustable
parameters, it is used as initial value the first time a
parameter is downloaded to a master module. See user
manual for more information on application default.
Note: It is important to use a safe application default
value since it is also used as error value in the unlikely
event that the parameter gets corrupted.
Max current [mA] Max current for this mode. This current equals
command value 100%.
See also property Min current regarding application
default.
Start slope [ms] Start slope makes the start of this function smoother. If
command value changes from 0% to 100%, this is the
time it will take for the output to change from min to
max value.
See also property Min current regarding application
default.
Stop slope [ms] Stop slope makes the stop of this function smoother. If
command value changes from 100% to 0%, this is the
time it will take for the output to change from max to
min value.
See also property Min current regarding application
default.
Device type
See section Device type on page 119. Current output devices have different
values than voltage input devices, but the handling is the same.
Adjust
By adding this channel to an adjust group, it is possible to adjust its Min cur-
rent, Max current, Start slope and Stop slope via a display module or IQAN-
run.
Output characteristics
Current [mA]
Max current
Min current
PWM frequency
The PWM frequency for current output channels is configurable on the mod-
ule pin or module properties. See details for each specific module in chapter
Modules.
Value
Unit mA
Type Integer
Status
Inherited module status See section Inherited module status on page 116.
% Function value
MR max
MR min
time
Resulting output signal
PWM frequency
The PWM frequency is common for all PWM outputs on some modules and
separate on others. See details for each specific module in chapter Modules.
Value
Unit %
Type Integer
Status
Inherited module status See section Inherited module status on page 116.
Properties
Delay on [ms] This is the time it will take for the channel value to
change to True after the input channel value changes to
True.
Delay off [ms] This is the time it will take for the channel value to
change to False after the input channel value changes
to False.
Soft start time [ms] To get a softer activation of an on/off valve function,
you can use soft start. Enter the time for the output to
rise from zero to full output.
Not available on all module types. See section How to
connect a system in IQANdesign on page 79.
Soft stop time [ms] To get a softer deactivation of an on/off valve function,
you can use soft stop. Enter the time for the output to
fall from full to zero output.
Not available on all module types. See section How to
connect a system in IQANdesign on page 79.
Peak and hold With Peak and hold you increase the magnet’s life
time. The valve may be equipped with a weaker
cabling as you reduce the constant voltage on the
magnet which also reduces the heat release.
Not available on all module types. See section How to
connect a system in IQANdesign on page 79.
Peak time [ms] During peak time the output functions as a normal
digital output, that is, high output.
Hold value [%] After peak time the output will function as a PWM
output, with a fixed pulse width specified by this
property.
Input channel Select a channel to control the value of this output. You
can only select a channel with a digital value.
Delay on/off
Use the Delay on to activate the channel a certain time after the Input channel
has been activated. Use the Delay off if you want the digital output to be
active for a time after the Input channel is deactivated.
NOTE
The channel value will not be affected if the Input channel is activated/
blocked a shorter time than you have specified for the delay on respective
delay off. The delay on/off properties works as a debouncing filter.
< on
< off Function value
off
on Channel value
Error detection differs between module types and pin configuration, see sec-
tion Module pins on page 103 and separate product documentation.
Value
Unit n/a
Type Boolean
Status
Inherited module status See section Inherited module status on page 116.
Calculation channels
The calculation channels are used to evaluate functions. In a simple applica-
tion you may use the math channel, internal digital channel and event counter
channel. For more complex systems, where you have operations requiring
feedback analysis you will use other channels such as PID, memorizing and
the integrating limiting channel. Explanations of the calculation channel
types and uses are found on the following pages.
Properties
Unit The unit for the scaled value of this channel, for
example [%] or [cm]. Select Not used to avoid Missing
unit hint in project check for channels without unit.
Limiting object group This property determines whether the limiting object
(Only MAC) group’s value is treated as a signed or unsigned value.
When treated as a signed value, the limiting object
group’s value must have the same sign as the
controlling object group’s value to be able to limit the
channel value.
As unsigned, it will copy the sign from the controlling
object group, and will thereby be able to limit the
channel regardless of its sign. This is especially useful
when you have the same limiting objects in both
negative and positive direction.
Qcode function
When using Qcode the channel value is directly controlled by setting the
Result variable of the Qcode expression. If nothing is assigned to Result the
channel value will be 0.
The integer math channel additionally rounds the result to the nearest integer.
Since Qcode does not have any limiting object groups the dual direction math
channel only allows object list notation for the function.
Type Real
Value (IMAC)
Range ±2×109
Type Integer
Status
Properties
Channel value t
Toggling.
Delay on [ms] This is the time it will take for the channel value to
change to True after the function value changes to
True.
Delay off [ms] This is the time it will take for the channel value to
change to False after the function value changes to
False.
< on
< off Function value
off
Channel value
on
t
The channel value will not be affected if the input signal is to short.
NOTE
The channel value will not be affected if the function is activated/blocked a
shorter time than you have specified for delay on respective delay off. The
delay on/off properties work as a debouncing filter.
There is an exception to this rule when delay on/off is used in combination
with toggle and/or latching function. Then it will not act as a debouncing fil-
ter but just as a delay.
If toggle is used in combination with latching, the toggle function is ignored.
Qcode function
The function value is controlled by assigning a value to the Result variable of
the Qcode function. If nothing is assigned to Result the function value will be
False. The channel value is calculated from the function value and the proper-
ties set on the IDC channel.
Value
Unit n/a
Type Boolean
Status
Properties
Output range Select Unipolar when the regulation only will be used
in one direction, for example to control a hydraulic
motor.
Select Bipolar when the regulation will be used in both
negative and positive direction, for example to control
a crane swing.
Feedback value
Proportional regulation - P
The control value UT is affected proportionally to deviations between the
command value and the feedback value.
UT = PxΔT
The control error Δ is measured at every point in time T and multiplied with a
constant P so that the control value UT is changed proportionally with the size
of the control error. With proportional regulation, an error usually remains
when the regulation is finished.
EXAMPLE
To regulate the bucket on a wheel loader, you can solve this with a P regu-
lator. To measure the feedback value, use an inclinometer or angle sensor,
which measures the bucket’s gradient. When you use the P regulator, the
value of the current is proportional to the bucket gradient error, which is
often sufficient for such a function.
When you theoretically trim a P regulator, you increase the P constant until
the system has a tendency to self-oscillate and then reduce the value a bit.
ATTENTION
Remember that a self-oscillating system can cause unnecessary risk for
humans and the machine function.
Integrating regulation - I
(t = T)
UT = Ix
°∫ Δ T
(t = 0)
At the time T, the control error, ΔT, is added with previously measured control
errors and then multiplied with a constant I.
With an integrating part, you get a more accurate regulation. With propor-
tional regulation only, there is normally an error remaining between the
command value and the feedback value when the regulation is completed.
With an integrating regulation, however, there is a greater risk of getting an
unstable system.
Here, you must compromise between the degree of accuracy and stability.
You often use both proportional and integrating actions simultaneously,
called PI regulation.
EXAMPLE
The straight lift function for a crane. When the machine lifts a container,
the COG (center of gravity = the distance between the front wheels’ centre
to the middle of the load), is held constant. When the boom angle
increases, the telescope is extended so that the COG will be constant.
For this you use a PI regulator to regulate the telescope function.
The command value = COG just before the start of the regulation
Block diagram of the control system for the straight lift function.
On the lever used to maneuver the boom, there is a button to press when
you want to use the straight lift function. When the button is pressed, the
value of COG is stored so that if can be used as the command value for the
regulator. When the straight lift function is activated, you cannot maneuver
the telescope with the lever, instead the regulator controls the telescope in
and out.
To get the COG constant, we use a PI regulator where the integrating
action is required so an error does not remain when the boom reaches its
upper end.
NOTE
The value of a PID channel is not allowed to exceed 100% (or -100% respec-
tively for bipolar regulators). Therefor the integrating part can be temporarily
disabled by the regulator to ensure channel value stays within range. This fea-
ture is called anti-windup.
Derivative regulation - D
The derivative regulation is not used often. It is used to prevent fast changes,
“disturbances” in the regulation, for example, if the wheels in a closed loop
are loaded less than normal which makes the control of the angle faster. The
feedback value is suddenly changed which the regulator must compensate for.
The control error at time T is compared with the control error in the previous
measure and also multiplied with a constant D. If the difference between the
control error is to great, this is compensated for.
The derivative action is used together with proportional regulation, called PD
regulation. It is also possible to equip a PI regulator with the D action which
will then be a PID regulator.
For a PID regulator, the following applies:
(t = T)
UT = P x Δ T + I °∫ Δ T – D x ( Δ T – Δ ( T – 1 ) )
(t = 0)
The simplest way to trim a regulator in practice, is by testing. Start with the P
constant. Supplement with an I constant if necessary.
For more information on the different control techniques, we have to refer to
literature on the subject.
Value
Unit %
Type Real
Status
S
Y2
Y1
E E
Properties
Start reduction at (S) The value of the input channel where the reduction will
start.
Max error (E) Specify the maximum error relative to the value Start
reduction at.
Max increase speed [%/s] Maximum increase speed when input value is less than
(Y2) Start reduction at - Max error (S - E).
Max decrease speed [%/s] Maximum decrease speed when input value is greater
(Y1) than Start reduction at + Max error (S + E).
The channel’s output value is 0 - 100%, where the idle value is 100%.
If the input channel’s value is above the start reduction value, the output value
will decrease linearly with the Max decrease speed, that is, the decrease speed
is proportional to the error value. If the input channel’s value is below the
start reduction value the output value will increase proportionally to the error
value.
EXAMPLE
Controlling the diesel engine of a vehicle.
The maximum speed of the transmission should not exceed 4100 RPM. If
so, we should decrease the position of the gas actuator.
• Input channel= Vehicle speed
• Start reduction at (S) = 4100 RPM
• Max error (E) = 200
• Max increase speed [%/s] (Y2) = 10
• Max decrease speed [%/s] (Y2) = 20
The output value of this channel will decrease when the vehicle speed
exceeds 4100 RPM.
If it exceeds the 4300 RPM the output will decrease with the speed of
20%/second.
When the vehicle speed is exactly 4100 RPM the output value will be
stable at its latest value.
And finally when the vehicle speed goes below 4100 RPM the output
value will start to increase again.
Finally we will use this channel as a limiting object for a MAC that
controls the servo output, to achieve the max speed function.
Value
Unit %
Range 0% to 100%
Type Real
Status
No further status values except the standard statuses; Disabled and OK.
Properties
Reset value When reset by its function or via an adjust item, the
channel will be set to this value. Channels that are not
stored, see property Store value, will use this as their
start-up value.
Note: It is important to use a safe reset value for stored
channels since it is also used as error value in the
unlikely event that the parameter gets corrupted.
Adjust
By adding this channel to an adjust group, it is possible to adjust its value
with IQANrun. Property Store value must be set to Yes to be able to adjust it.
Reset value will be used when channel is reset.
Qcode function
When using Qcode the ECNT channel is controlled by Qcode commands. It
is possible to execute multiple Qcode commands during a single system
cycle.
• QIncrease increments the value of the ECNT channel.
• QDecrease decrements the value of the ECNT channel.
• QReset resets the channel value to the value defined by property Reset
value.
T1 T2
Increasing object group’s value
t
Decreasing object group’s value
Value
Unit n/a
Range ±2×109
Type Integer
Status
Memorizing (MEM)
This channel is used to memorize, accumulate or subtract the value of a
defined input signal at a certain condition.
Properties
Input channel Select the channel whose value you want to memorize.
Reset value When reset by its function or via an adjust item, the
channel will be set to this value. Channels that are not
stored, see property Store value, will use this as their
start-up value.
Note: It is important to use a safe reset value for stored
channels since it is also used as error value in the
unlikely event that the parameter gets corrupted.
Adjust
By adding this channel to an adjust group, it is possible to adjust its value
with IQANrun. Property Store value must be set to Yes to be able to adjust it.
Reset value will be used when channel is reset.
NOTE
The Memorizing channel “memorizes” on rising edge, that is, when the value
switches from False to True.
T1 T2 t
t
Input channel’s value
Qcode function
When using Qcode the MEM channel is controlled by Qcode commands.
• QAdd will add the input channel value to the MEM channel value.
• QSubtract will subtract the input channel value from the MEM channel
value.
• QReplace will replace the MEM channel value with the input channel
value.
• QReset will reset the MEM channel value to the value defined by property
Reset value.
Value
Status
Array (ARC)
The array channel is used to store multiple real values in a single channel.
The stored values can be accessed in other functions by indexing the array.
There are also special array functions that perform operations on all values in
the array such as finding min, max or average value. Note that the index is
zero based.
The array channel does not have a value itself. Instead the values of the array
is accessed using array operators in functions (see section Array operators
and functions on page 254).
NOTE
Large arrays that are stored has a big effect on the utilization of the master
module, especially when resetting the array values.
Properties
Unit The unit for the values stored in the, for example [%]
or [cm]. Select Not used to avoid Missing unit hint in
project check for channels without unit.
Qcode function
The function of the array channel supports Qcode only. The channel is con-
trolled by Qcode commands and operators. It is possible to both reset the
array and assign values to multiple cells in a single system cycle.
• Values can be assigned to the array only in the Qcode function of the array
channel. This is done using the array assign operator, e.g.
ChannelName[Index] := Value
• QReset will reset all values in the array to 0.
Status
Out of range When trying to access or set an array value outside the
array size. Valid indexes are in the range 0 to Array
size - 1.
Slope/Filter (SFC)
The slope/filter channel is used to apply slope times, BWL, filter or moving
average to another channel.
Properties
Input channel Select the input channel that you want to apply slope
times, BWL, filter or moving average to.
Slopes Enter start and stop slope values, for positive and
negative direction, in [unit]/s.
Window size Specify a window size for the moving average filter.
This is the number of samples used for calculating the
average, which is then used as the channel value.
Slopes
With slopes you can state the maximum changing speed of the signal. The
changing speed for increasing and decreasing value can be set independently.
Start slope specifies maximum changing speed for increasing values and stop
slope for decreasing values.
Start and stop slopes are defined in Unit/s where Unit is the input channel’s
unit.
Output
Stop slope
Start slope
Time [s]
Step response for analog input signal when using start and stop slopes.
Filter
Type Filter is a fast and simple filter that can be used to attain greater stability
in the channel’s signal.
Input
Value [Unit]
Output
100
25%
50%
75%
90%
Approximate step response for analog input signal at 50 ms cycle time, four different filter values.
BWL
Type BWL is a variable version of SFC type Filter, see above, where the filter
value is decided by the relative change of the input signal.
Filter value
100
Signal change
0
BWL
When input signal crosses zero between two samples, no filtering is done.
Typical example of this is when a joystick signal is filtered using BWL.
When joystick is moved rapidly across zero, we do not want any filtering.
BWL value is defined in the same unit as the input channel’s unit.
EXAMPLE
Input channel is a lever signal (0 to 100%). To filter out small changes in
the input value we use a BWL value of 20%. All input value changes
smaller than 20% will now be filtered, with smaller changes giving more
filter effect.
For example: If the input signal changes from 20% to 24% between two
system samples, the signal change is 4%. 4% signal change gives us a filter
value of 80%. The channel is then filtered using SFC type Filter with a fil-
ter value of 80%.
If the input signal instead changes from 20% to 50%, the signal change is
30%. Since the signal change is larger than the BWL value, the filter value
is 0%, which means no filtering at all.
Value
Type Real
Status
Out of range Invalid slope time (negative) or 0 > Filter > 100. Only
applicable when these properties are controlled by a
channel.
Properties
Input channel Select the input channel that you want to apply a
Butterworth filter to.
Type Select type Low pass, High pass, Band pass or Band
stop.
Order Enter the desired order of this filter. For low pass and
high pass, this is the number of poles. For band pass
and band stop, the number of poles is twice the order.
First cutoff frequency [Hz] The cutoff frequency is the frequency at which the
magnitude of the response is -3 dB. It must be greater
than 0 and smaller than half the system sample
frequency, 0 < Cutoff frequency < 1/(2*System cycle
time).
Band pass and band stop filters have two cutoff
frequencies, see next property. The first frequency
must be smaller than the second.
Second cutoff frequency The cutoff frequency is the frequency at which the
[Hz] magnitude of the response is -3 dB. It must be greater
than 0 and smaller than half the system sample
frequency, 0 < Cutoff frequency < 1/(2*System cycle
time).
Band pass and band stop filters have two cutoff
frequencies, see previous property. The first frequency
must be smaller than the second.
Value
Type Real
Status
Properties
Unit Unit of the lookup table output value. Select Not used
to avoid Missing unit hint in project check for channels
without unit.
Row selector The row selector is used to select which row that the
channel's value shall be taken from. This may be a
channel or a constant value.
The lookup table values are edited using a special editor dialog. This dialog is
opened by clicking the button next to the lookup table property.
The column indices is entered in the first row and the row indices in the first
column. The rest of the grid is used to enter the output values of the channel
corresponding to the row and column selector values.
The values can be exported and imported using semicolon delimited text
files. It is also possible to paste values to the table from e.g. spreadsheet pro-
grams.
It is also possible to create a color coded graph from the table values by click-
ing the button Graph, see image below.
Graph dialog.
Value
Type Real
Status
Out of range Row or column input value is outside the range defined
by row or column index.
Parameters
This section contains parameter type channels. Parameter channels are used
to store constants or variables that are used somewhere in the project. They
can be user adjustable if needed.
Properties
Unit The unit for the scaled value of this channel. Select Not
used to avoid Missing unit hint in project check for
channels without unit.
Default mode A mode is a set of properties. You can have more than
one mode for this channel, see property Mode selector.
The first mode is the default mode and it is always
available. If you don’t specify a mode selector, this is
the only mode.
Adjust
By adding this channel to an adjust group, it is possible to adjust its value via
a display module or IQANrun.
Mode selector
It is possible to have several values for a function parameter. If you select to
use a state channel as a selector of the different FP values, you will be able to
have as many different parameter value as the number of states that are speci-
fied in the state channel.
Value
Type Real
Status
Properties
Same properties as a function parameter.
Adjust
By adding this channel to an adjust group, it is possible to adjust its value via
a display module or IQANrun.
Mode selector
It is possible to have several values for a Integer parameter. If you select to
use a state channel as a selector of the different IP values, you will be able to
have as many different parameter value as the number of states that are speci-
fied in the state channel.
Value
Status
Properties
True text Enter a text to describe the true value, e.g. “True” or
“On”.
False text Enter a text to describe the false value, e.g. “False” or
“Off”.
Default mode A mode is a set of properties. You can have more than
one mode for this channel, see property Mode selector.
The first mode is the default mode and it is always
available. If you don’t specify a mode selector, this is
the only mode.
Adjust
By adding this channel to an adjust group, it is possible to adjust its value via
a display module or IQANrun.
Mode selector
It is possible to have several values for a Digital parameter. If you select to
use a state channel as a selector of the different IP values, you will be able to
have as many different parameter values as the number of states that are spec-
ified in the state channel.
Value
Value Boolean
Unit n/a
Type Boolean
Status
Properties
Default state name This name is used for the default state. The default
state is the active state when no other state is active.
States Press the “+” button to add states to the state machine.
Adjust
By adding this channel to an adjust group, it is possible to adjust its active
state via a display module or IQANrun.
Rearrange states
You can move a state by dragging its property name in the property inspector.
Drop it on the state property where you want to insert it.
When states are renamed or rearranged, all components using that state
parameter will be updated with the new state names or order.
Value
Unit n/a
Type State
Status
Out of range Input value is outside the range defined by the states.
Properties
Adjust
By adding this channel to an adjust group, it is possible to adjust its value via
a display module or IQANrun. Property Adjustable must be set to Yes for
each mode you want to adjust.
Value
Unit n/a
Type Text
Status
No further status values except the standard statuses; Disabled and OK.
Miscellaneous channels
The channel types in this chapter have no common denominator such as the
Inputs/Outputs or the Calculation channels.
Under the Miscellaneous tab you will for instance find channels for state
machines or system and module diagnostics.
Properties
Default state name This name is used for the default state. The default
state is the active state when no other state is active.
Function
A state machine has one function for each state, except for the default state.
Functions are calculated in consecutive order. The first function that evalu-
ates to True, decides the value of the state machine, that is, the active state. If
no function is True, the active state is the default state, which corresponds to
value 0.
Add states by right-clicking on the function tabs in the function inspector and
select Add State in the popup menu. To rename a state, select its tab in the
function inspector and enter a name in the property inspector. Each function
also has a description property. If you need to rearrange your states, you can
move a state to another position. Drag its function (state) tab and drop it on
the tab where you want it.
When states are renamed or rearranged, all components using that state
machine will be updated with the new state names or order, except for func-
tion group input channels which have to be updated manually (see section
Structure on page 220 for more information).
Qcode function
When using Qcode the value of each function is defined by assigning a value
to the Result variable.
Value
Unit n/a
Type State
Status
Properties
Resetting channel Select a channel to reset the state. When the resetting
channel’s value changes from False to True, the state of
this channel is reset to Default state (i.e. state 0).
Start by adding states using the Add button. Click in the middle of a state and
drag it to move it to another position. Add transitions by clicking near the
border of a state and drag a line to another state. Transitions can be moved by
selecting them and dragging an endpoint to another state.
Each transition has a function that is edited using the function inspector. Only
the functions of the transitions leaving the active state is calculated. When the
result of the function evaluates to true the transition is activated. If more than
one transition becomes true during a cycle the first transition is activated. The
transition order can be changed by right clicking on the state and selecting
Transition order in the popup menu.
Each state has a numeric representation that can be used in other functions.
The number of each state is given by the state order, which can be changed by
right clicking on a state or in the middle panel and selecting State order in the
popup menu.
Value
Unit n/a
Type State
Status
Diagnostic values
0 Not evaluated
64 OK
203 No contact
Value G2 modem
0 Unknown
1 Initializing
2 Searching
3 Offline
4 Online
5 Connected
Value
Status
Depends on which value is measured.
Inherited module status See section Inherited module status on page 116.
Value constants
Cycle utilization [%] Measures utilization of the master processor, that is,
how much time of each system cycle the processor is
busy. If this value is close to or above 100% you need
to increase the system cycle time, see master module
properties.
When value is above 80% the channel’s status will be
High alarm. When above 100%, status will be High
error.
Type: Real
Cycle time [ms] Measures the system cycle time. This is the same value
as you set in the master module properties.
Type: Integer number
Memory utilization [%] Measures utilization of the internal RAM memory, that
is, how much space is occupied. If this value is close to
or above 100% you need to decrease the size of your
application by removing some components.
When value is above 85% the channel’s status will be
High alarm.
Type: Real
Active display page Index for the display page that is currently displayed on
the display module. Each display page index can be
found in the display page list, column Order.
Type: Integer
Value
Status
Date and time not set Used for values Date and Time.
Timer (TMR)
The timer channel is used for timekeeping, delays, hour counters, etc. The
timer’s value can either increase, decrease or be reset. It can never be nega-
tive, 0 is the smallest valid value.
The timer starts to “count” when its function becomes True or by using
Qcode commands. The internal resolution is the same as the cycle time (pre-
set to 50 ms). You can choose to present the value as Milliseconds [ms], Sec-
onds [s], Minutes [min] or Hours [h].
Properties
Reset value When reset by its function or via an adjust item, the
channel will be set to this value. Channels that are not
stored, see property Store value, will use this as their
start-up value.
Note: It is important to use a safe reset value for stored
channels since it is also used as error value in the
unlikely event that the parameter gets corrupted.
Adjust
By adding this channel to an adjust group, it is possible to adjust its value
with IQANrun. Property Store value must be set to Yes to be able to adjust it.
Reset value will be used when channel is reset.
Qcode function
When using Qcode the MEM channel is controlled by Qcode commands.
• QIncrease increments the value of the TMR channel.
• QDecrease decrements the value of the TMR channel.
• QReset resets the channel value to the value defined by property Reset
value.
Value
Type Real
Status
SMS in (SMSIN)
The SMS input channel is used to read values from incoming messages via
SMS (Short Message Service). Make sure the GSM modem is enabled and
operational if you are using this channel.
The SMS input channel can be used if you want to set or change a value, acti-
vate some function or just show a text in the application. The message is sent
from a GSM phone or modem.
Properties
Unit The unit for the scaled value of this channel. Select Not
used to avoid Missing unit hint in project check for
channels without unit.
Identification tag This is the user-definable text that has to match the
incoming message. It can be used as a variable name,
descriptive command and/or password. The text is case
sensitive.
When an SMS is received, it is matched against all
SMSIN channels to find the tag that corresponds to that
message.
Phone number Phone numbers are matched backwards, that is, you
can choose not to specify country code and/or area
code. Example: “709474416” will match phone
numbers +46709474416 (international) or 0709474416
(local).
Type Real: Makes this a real value channel. Its value is set
from an incoming message and the syntax to set it is
“<Identification tag>=<Value>”. Example:
“Max=50.5” will set the value to 50.5 if the property
Identification tag equals “Max”. Please specify unit,
min/max limits and default value as well.
Integer: Makes this an integer value channel. Its value
is set from an incoming message and the syntax to set it
is “<Identification tag>=<Value>”. Example:
“Max=50” will set the value to 50 if the property
Identification tag equals “Max”. Please specify unit,
min/max limits and default value as well.
Digital pulse: Makes this a digital value channel. Its
value is False until a message is received that matches
property Identification tag. Then its value is True for
one cycle (see “Cycle time” on master module).
Text: Makes this a text channel. Its value is set from an
incoming message and the syntax to set it is
“<Identification tag>=<Value>”. Example:
“Name=Mike” will set the value to “Mike” if the
property Identification tag equals “Name”. Please
specify max number of characters for value and a
default value as well.
Adjust
By adding this channel to an adjust group, it is also possible to adjust its value
via IQANrun. Property Type must be set to Real, Integer or Text to be able to
adjust it.
Value
Value Value is set from incoming SMS that matches the Identification tag.
Status
No further status values except the standard statuses; Disabled and OK.
Properties
Phone numbers Add the phone numbers that you want to send this
message to.
Phone number Enter a phone number to send message to. Use the +
sign and country code to make international calls, for
example +46709474416.
Outgoing message Enter a text that you want to be sent, or select a text
channel.
Function
The SMS out value goes True on rising edge, that is, when the function value
switches from false to true, and the channel will then try to send the message.
The channel value will remain True until the message has been sent. After it
has been sent, the value goes False again. The time the channel stays True
depends on the network operator, signal quality, etc.
NOTE
If the function goes true once more before the first SMS has been sent, it will
not trigger a second message.
Qcode function
The function value is defined by assigning a digital value to the Result vari-
able.
Value
Unit n/a
Type Boolean
Status
Properties
Value
Unit n/a
Range 30 characters
Type Text
Status
No further status values except the standard statuses; Disabled and OK.
Alarm message.
There are seven types of dialog boxes that can be shown. The dialog types are
prioritized in a certain order: Message has the lowest priority and Critical has
the highest. Dialog boxes with higher priority is always shown before dialog
boxes with lower priority.
The dialog levels from low to high priority are as follows:
• Message
• Information
• Confirmation
• Warning
• Alarm
• Error
• Critical
NOTE
System generated dialog boxes uses types Message, Alarm and Error. All
types have their own icon and header so the user can easily recognize the type
of dialog box when it pops up on one or all displays.
Properties
Dialog type Select a dialog type. The dialog type decides the
priority level. Message has the lowest priority and
Critical has the highest. Dialogs with higher priority
are always shown before dialogs with lower priority.
System generated messages use types Message, Alarm
and Error.
Header Enter a header for your dialog. You can also select a
text channel to use its value as header.
Text Enter a text. You can also select a text channel to use its
value as text.
NOTE
The showing and hiding is only edge triggered, not level triggered. This
means that even if the hiding object group is true, the message will be dis-
played when the showing object group switches from False to True.
IQANdesign User manual 182
User interface channels
5 Channels
If both showing and hiding object groups turns True at the same time, hiding
will have higher priority and the message will not be displayed.
Dialog box visibility is also triggered by state changes that causes the show-
ing object group to turn true. Example: If the active state changes and the
showing object group of the new active state is true, the dialog box will be
triggered to be displayed.
Qcode function
When using Qcode the conditional message is controlled by Qcode com-
mands.
• QShow shows the dialog box. It will be visible until the user acknowl-
edges it by pressing OK, or until the QHide command is executed.
• QHide hides the dialog box.
Value
Unit n/a
Type Boolean
Status
Properties
Dialog type Select a dialog type. The dialog type decides the
priority level. Message has the lowest priority and
Critical has the highest. Dialogs with higher priority
are always shown before dialogs with lower priority.
System generated messages use types Message, Alarm
and Error.
Header Enter a header for your dialog. You can also select a
text channel to use its value as header.
Text Enter a text. You can also select a text channel to use its
value as text.
Left/Center/Right button Enter a text that you want displayed above the button
on a display module. Please note that the complete text
may not always fit.
Function
The interactive message channel has the same type of object groups and
Qcode commands as the conditional message channel.
Value
Value When the showing object group goes True the channel
value is 1 (Active) until the user presses a button. The
channel value will then correspond to the pressed
button until the hiding object group goes True which
will set the channel value to 0 (Inactive).
Unit n/a
Type Integer
Status
Properties
Header Enter a header for your dialog. You can also select a
text channel to use its value as header.
Text Enter a text. You can also select a text channel to use its
value as text.
PIN code Enter a PIN code or select a text channel to use as the
PIN code that the user has to enter to unlock the
components protected by this channel. A PIN code is
always four digits, for example 0472.
Function
The dialog box is triggered by the function. It will be visible until the user
enters the correct PIN code or presses Cancel. See also section Adjust groups
and logs on page 187.
When the correct PIN code has been entered the channel value goes True. It
stays True until power off or until the channel is reset by the function. As long
as the channel value is True, there is no need to enter the PIN code again.
Therefor the dialog box will not allow PIN code entering, and instead shows
the message “PIN code has already been entered”.
NOTE
The showing and resetting object groups are edge triggered, not level trig-
gered.
Qcode function
When using Qcode the channel is controlled using Qcode commands.
• QShow will show the dialog box.
IQANdesign User manual 186
User interface channels
5 Channels
Value
Value When the correct PIN code has been entered the
channel value goes True. It stays True until power off
or the resetting object group goes True.
Unit n/a
Type Boolean
Status
NOTE
If system cycle utilization is high, the processing of the display buttons may
be skipped temporarily. Therefor virtual digital inputs should not be used to
control any critical features.
Properties
Resetting channel Select a channel to reset the value. When the resetting
channel’s value changes from False to True, the value
of this channel is reset to False.
NOTE
Store value is only applicable when Toggle is set to Yes.
Value
Unit n/a
Type Boolean
Status
No further status values except the standard statuses; Disabled and OK.
Properties
Type constants
Value
Status
No further status values except the standard statuses; Disabled and OK.
J1939 messages
According to the SAE J1939 specification, all the parameters are organized
into specific groups. Each parameter group is one message on the CAN bus.
For example, the parameters concerning Engine temperature such as oil and
coolant temperature are inserted into one parameter group and sent in one
message. Each parameter group has its own Parameter Group Number, PGN.
PGN is sometimes specified as two numbers, PF (PDU Format) and PS (PDU
Specific). PDU stands for Protocol Data Unit. The PGN is then calculated as
follows: PGN=PF·256+PS.
Parameter group numbers 61184 and 65280 through 65535 are reserved for
proprietary messages and can be used for your specific J1939 unit.
Other parameter group numbers are reserved by the SAE J1939 standard. The
messages are defined in the SAE J1939 specification, and they are not
supposed to be modified by the manufacturer.
One example is the TSC1 message (Torque/speed control 1) that IQAN-
design supports as a unique channel. The Parameter group number is zero.
Data Page bit is also supported, see SAE J1939 specification for details.
J1939 Diagnostic
There are also messages for diagnostics. The J1939 unit can send error mes-
sages to the IQAN system using J1939 DM1. The diagnostic messages are
identified by their SPN - Suspect Parameter Number according to the SAE
J1939 specification or manufacturer specification. Each diagnostic message
also has an FMI, Failure Mode Identifier, a number that corresponds to a spe-
cific error text.
DM1 can also be sent out from an IQAN master to an external J1939 module.
is received, the date and time are set in the master module. See property on
master modules in chapter Modules.
J1939 TD (Time/Date, PGN 65254) support is always available, which
means any master module answers a TD request from an external module.
Address claim can be enabled on each J1939 bus. When enabled, all master
modules connected to that J1939 bus claims their address at startup according
to the J1939 address claiming procedure. No J1939 frames are sent before
address claim procedure is finished. Each master that does not succeed to
claim its address will not send any J1939 frames and not read any addressed
J1939 frames. Enable address claim using property on the J1939 bus, see sec-
tion J1939 on page 105.
J1939 identification frames for software identification (65242) and compo-
nent identification (65259) are supported. Each frame will be sent out on
request by any master module connected to a J1939 bus.
Properties
Destination address (DA) Enter destination address for PDU1 PGN's. This
property is enabled when property PGN is in the PDU1
range.
Select Addressed to me to receive messages that are
either broadcast or addressed to the J1939 module that
this channel is assigned to.
Paged protocol > Specifies the bits that are used for defining page
Page mask number in a paged protocol. Example: 0x0F specifies
the first four bits of the frame data as page number.
Select Not used if the protocol you are interpreting is
not paged.
Paged protocol > Specifies the page number for this channel.
Page value
Parameters Add and define the parameters that are part of this
channel (frame). The parameters values represent the
data part of the message.
Parameter > Channel Select the channel that defines this parameter. Click the
button to create a new channel.
Parameter > Offset Enter the offset within this parameter group.
Alternatively, you can click the button to place it
graphically.
Value
Unit n/a
Type Boolean
Status
Inherited module status See section Inherited module status on page 116.
Paged protocol
Paged protocols use multiple CAN frames with the same identifier but different data
content. Each frame is identified by a page number in the CAN data. You need to
specify which bits in the frame data are used to identify each page, and the page num-
ber that matches this channel.
EXAMPLE
A protocol uses two CAN frames with the same identifier to transmit some
values. The first two bytes in each frame data specifies the page number.
To read these values you need two JFIN channels, both with the same
PGN, 65280. Set page mask to 0xFFFF on both channels and page value to
1 on the first and 2 on the second. Add two
’s to the first JFIN, one 2 bytes long and one 4 bytes long with offsets 17
and 33, for values 1 and 2. Add two JPIN’s to the second JFIN, both 2
bytes long with offsets 17 and 33, for values 3and 4.
Click in grid to select start bit for current parameter. You can also enter Byte/
Bit offset or Bit offset in respective edit boxes and see the result in the grid.
The parameter length is by default 1 byte=8 bits, you will find that value as a
property for the parameter in channel.
Properties
Unit The unit for the scaled value of this channel. Select Not
used to avoid Missing unit hint in project check for
channels without unit.
Error value The error value is used when there is an error situation
for this channel. For example, if the connected sensor
is broken, the channel will use this value as its output
value instead of the measured value. Enter scaled
value, not raw value.
J1939 Error check Select Yes to enable J1939 error checking. For more
information on J1939 error handling, see SAE J1939
specifications.
Resolution [per bit] Specify the resolution (scaling) of this parameter, for
example 1°C/bit or 0.125 RPM/bit.
Value
Type Real
Status
J1939 Not available This SAE J1939 parameter is not available in the
source system.
Inherited module status See section Inherited module status on page 116.
Properties
J1939 source address Enter the source address to use for this message. Set to
Default to use the module’s default source address.
Select a constant channel to be able to configure
different source addresses.
Destination address (DA) Enter destination address for PDU1 PGN's. This
property is enabled when property PGN is in the PDU1
range.
Select Assigned module to send message to the J1939
module that this channel is assigned to.
Select Broadcast to send message to all J1939 modules
that exist on the same CAN bus as the module that this
channel is assigned to.
Transmit rate [ms] Transmit rate for this CAN data frame. Minimum
resolution is cycle time.
Select Every cycle to send one frame every application
cycle, i.e. transmit rate equals cycle time.
Not used can be selected when send method is On
trigger or On change, see property Send method for
more information.
One PGOUT channel with send method Continuously
is allowed to have a transmit rate faster than the cycle
time. The resolution for that single channel is 10 ms.
Unused bits Specify whether all unused bits in the data part of the
message will be set to 0 or 1. The identifier is not
affected.
Parameters Add and define the parameters that are part of this
channel (frame). The parameters values represent the
data part of the message.
Parameter > Channel Select the channel that defines this parameter. Click the
button to create a new channel.
Parameter > Offset Enter the offset within this parameter group.
Alternatively, you can click the button to place it
graphically.
Value
Unit n/a
Type Boolean
Status
Inherited module status See section Inherited module status on page 116.
Properties
Resolution [per bit] Specify the resolution (scaling) of this parameter, for
example 1°C/bit or 0.125 RPM/bit.
Value
Unit n/a
Range 0 to (2Length-1)
If input value does not fit in range, value is set to 0.
Type Integer
Status
Inherited module status See section Inherited module status on page 116.
Properties
Input channel Select a text channel. The text value of that channel is
used to fill the message. The text will fill the entire data
frame, starting at the first byte. If the text contains
characters outside the ASCII range they will be UTF-8
encoded in the message. No null termination of text is
added.
J1939 source address Enter the source address to use for this message. Set to
Default to use the module’s default source address.
Select a constant channel to be able to configure
different source addresses.
Destination address (DA) Enter destination address for PDU1 PGN's. This
property is enabled when property PGN is in the PDU1
range.
Select Assigned module to send message to the J1939
module that this channel is assigned to.
Select Broadcast to send message to all J1939 modules
that exist on the same CAN bus as the module that this
channel is assigned to.
Value
Unit n/a
Type Boolean
Status
Inherited module status See section Inherited module status on page 116.
Properties
SPN conversion method For further information about the different conversion
methods we refer to SAE J1939-73 or the specification
from the manufacturer.
FMI texts Failure mode descriptions. These FMI texts are used
when a corresponding FMI text is not specified on an
active SPN channel connected to this DM1 channel.
Enable DM2 support Select whether the menu system shall include a menu
item to request DM2 from the J1939 module or not.
Note: DM2 support is not implemented on MD3.
Parameters Add and define the parameters that are part of this
channel (frame). The parameters’ values represent the
data part of the message.
FMI
The FMI defines the type of failure detected on the ECU, identified by a SPN.
Each FMI is represented by a number with a corresponding message, that can
be presented on a display module.
EXAMPLE
Engine oil pressure sensor voltage is too low. Engine oil pressure corre-
sponds to SPN 100, and voltage too low corresponds to FMI 4.
Value
Unit n/a
Range >= 0
Type Integer
Status
Inherited module status See section Inherited module status on page 116.
Properties
Failure > FMI Failure Mode Identifier. Specify the identifier for this
failure.
Failure > Text Enter a text or select a text channel that describes this
failure.
Failures
You can specify unique FMI texts for each SPN channel. When the FMI
number is received from the J1939 module, the SPN’s unique FMI text is
shown instead of the general FMI text, specified in the DM1 channel. The
DM1 channel’s FMI text is overridden by the SPN’s unique FMI text.
Value
Unit n/a
Range -1 to 31
Type Integer
Channel value -1 is used to indicate that the SPN is not active at the moment.
Values 0 - 31 correspond to active SPN’s FMI values.
Status
Inherited module status See section Inherited module status on page 116.
Properties
CAN bus J1939 bus where the DM1 message will be sent. Select
Not used to disable DM1 out.
Properties
Input channel Select a channel to use for this SPN output. The status
of the channel determines the FMI used in the DM1
message:
Status FMI
Low alarm 18
High alarm 16
Low error 4
High error 3
Overload 6
Open load 5
Timeout 9
No contact 9
Checksum error 13
Critical error 11
Out of calibration 13
Properties
J1939 source address Enter the source address to use for this message. Set to
Default to use the module’s default source address.
Input channel Select a channel to control the value of this output. The
selected channel should have a value range of 0 -
100%.
Transmit rate [ms] Transmit rate for this CAN data frame. Resolution is 10
ms.
Override control mode The override control mode defines which sort of
command is used:
Override disabled - Disable any existing control
commanded by the source of this command.
Speed control - Govern speed to the included “desired
speed” value.
Torque control - Control torque to the included
“desired torque” value.
Speed/torque limit control - Limit speed and/or torque
based on the included limit values. The speed limit
governor is a droop governor where the speed limit
value defines the speed at the maximum torque
available during this operation.
Speed control conditions This mode tells the engine control system the governor
characteristics that are desired during speed control.
Use checksum/counter Select Yes to enable SPN 4206 (message counter) and
SPN 4207 (message checksum) in the TSC1 message.
Value
Unit RPM
Type Real
Status
Inherited module status See section Inherited module status on page 116.
SAE-J1850 CRC-8
SAE-J1850 uses an 8 bit CRC checksum. The checksum is calculated over
the data part. The CRC algorithm uses an initial value of 0xFF and the poly-
nomial below. The result is then xor:ed with 0xFF.
8 4 3 2
x +x +x +x +1
This CRC method also supports an optional CVC. A CVC (Cyclic Validation
Counter) is used to detect missing packets. The CVC is positioned before the
CRC byte in the frame. When using a CVC it is also included in the calcula-
tion of the checksum. Set CVC length to 0 to exclude the CVC.
J1939 checksum
This checksum method is used for most standard J1939 messages that sup-
ports checksum (one exception is TSC1). The checksum includes a CVC
counter and is calculated according to:
Checksum = DataByte[0] + ... + DataByte[6] + CVC & 0x0F + CanId[0] + ... + CanId[3]
DataByte[7] = ((Checksum >> 4) + Checksum) << 4 + (CVC & 0x0F)
Properties
XOR value This is the XOR value used by the selected CRC
algorithm.
CVC length The number of bits for the message counter. This
counter is located before the checksum when using
type SAE-J1850 CRC-8.
Properties
Data length [bytes] Specify data length (number of bytes) for this frame.
Length is checked in run-time and if it doesn’t match,
the frame is thrown away (and eventually causes
timeout).
It is also used by IQANdesign to check that the
parameters added to this channel fits within the
specified length.
Select constant Don’t care to receive frames with
variable data length.
Timeout [ms] Enter maximum allowed transmit rate from the sender.
Note: The transmit rate stated is often the average
transmit rate. You may therefore need to add some
extra time.
Paged protocol > Specifies the bits that are used for defining page
Page mask number in a paged protocol. Example: 0x0F specifies
the first four bits of the frame data as page number.
Select Not used if the protocol you are interpreting is
not paged.
Paged protocol > Specifies the page number for this channel.
Page value
Parameters Add and define the parameters that are part of this
channel (frame). The parameters values represent the
data part of the message.
Parameter > Channel Select the channel that defines this parameter. Click the
button to create a new channel.
Parameter > Offset Enter the offset within this frame. Alternatively, you
can click the button to place it graphically.
Paged protocol
See section Paged protocol on page 193.
Value
Unit n/a
Type Boolean
Status
Inherited module status See section Inherited module status on page 116.
Properties
Unit The unit for the scaled value of this channel. Select Not
used to avoid Missing unit hint in project check for
channels without unit.
Error value The error value is used when there is an error situation
for this channel. For example, if the connected sensor
is broken, the channel will use this value as its output
value instead of the measured value. Enter scaled
value, not raw value.
Type Select how the raw value shall be interpreted. This will
also decide the value type of the channel. Supported
types are digital, signed integer, unsigned integer and
real (floating point number).
Byte order Select witch byte order to be used for the integer
parameter. Little endian (or Intel byte order) means
least significant byte first. Big endian (or Motorola
byte order) means most significant byte first.
Value
Status
Inherited module status See section Inherited module status on page 116.
Properties
Transmit rate [ms] Transmit rate for this CAN data frame. Minimum
resolution is cycle time.
Select Every cycle to send one frame every application
cycle, i.e. transmit rate equals cycle time.
Not used can be selected when send method is On
trigger or On change, see property Send method for
more information.
Unused bits Specify whether all unused bits in the data part of the
message will be set to 0 or 1. The identifier is not
affected.
Parameters Add and define the parameters that are part of this
channel (frame). The parameters values represent the
data part of the message.
Value
Unit n/a
Type Boolean
Status
Inherited module status See section Inherited module status on page 116.
Properties
Byte order Select witch byte order to be used for the integer
parameter. Little endian (or Intel byte order) means
least significant byte first. Big endian (or Motorola
byte order) means most significant byte first.
Value
Unit n/a
Range 0 to (2Length-1)
If input value does not fit in range, value is set to 0.
Status
Inherited module status See section Inherited module status on page 116.
Safety channels
The safety channels is used to implement safety related application function-
ality using for example redundant input channels and safe CAN communica-
tion between master modules.
Compare channels
The compare channels are used to compare a primary input channel with a
secondary input channel to provide redundancy checks on e.g. physical
inputs. The channels can also provide a start block to further improve safety,
either as a check at system start-up or a reset condition after fault, or both.
The value of the compare channels is True when the status is OK, otherwise
the value is False.
The status is OK only after a start block condition is fulfilled and there are no
errors on the input channels or in the input channel comparison.
To set a start-up condition for the start block, use 'OK to start', to get a reset
condition, use 'Reset fault'. The diagram below describes the behavior when
both properties are used.
If none of these properties are used, the status will be OK immediately when
there are no errors on the inputs or the comparison.
Channel Enabled
Start Block
System ON OK to start
OK
System Fault detected
Start
OFF
Block
Awaiting
reset
Fault gone
Enable
Disable
Channel Disabled
If the primary input channel deviates from the secondary input channel with
more than the configured difference check limit during a longer time than the
configured detection delay the channel will go to error state.
The value of the channel will be True when its status is OK, otherwise the
value will be False.
NOTE
Since the AAC uses the scaled value of the input channels, the physical chan-
nels could be configured in three different ways:
• Mirrored signals.
• Signals with a different offset and slope.
• Signals that follow each other.
Scaled Scaled
value value
Scaled
value
Raw value
Properties
Primary input The primary input is the analog input channel that
should be checked.
Diff check limit States the difference between the primary and
secondary input that will trigger a fault.
Detection delay States the time that the primary input is allowed to
deviate from the secondary input before a fault is
triggered. Must be a multiple of the application cycle
time.
Reset fault After a detected fault is gone the channel will have the
status start block until the reset fault channel changes
from False to True. Note that the OK to start channel is
also required to be True in order to leave the start block
state.
Select Not used to skip this check.
Value
Unit n/a
Type Boolean
Status
Diff check error Abs(Primary - Secondary) > Diff check limit for a
continuous period longer than Detection delay.
If the primary input channel deviates from the secondary input channel
according to selected input relation during a longer time than the configured
detection delay the channel will go to error state.
The value of the channel will be True when its status is OK, otherwise the
value will be False.
Properties
Primary input The primary input is the digital input channel that
should be checked.
Detection delay States the time that the primary input is allowed to
deviate from the secondary input before a fault is
triggered. Must be a multiple of the application cycle
time.
Reset fault After a detected fault is gone the channel will have the
status start block until the reset fault channel changes
from False to True. Note that the OK to start channel is
also required to be True in order to leave the start block
state.
Select Not used to skip this check.
Value
Unit n/a
Type Boolean
Status
Properties
Primary input The primary input is the analog input channel that
should be checked.
Switch over point States the value of the primary input channel at which
the secondary input channel is expected to switch from
False to True.
Diff check limit States the allowed difference between the value of the
primary channel and the switch over point before a
fault is triggered.
Detection delay States the time that the primary input is allowed to
deviate from the secondary input before a fault is
triggered. Must be a multiple of the application cycle
time.
Reset fault After a detected fault is gone the channel will have the
status start block until the reset fault channel changes
from False to True. Note that the OK to start channel is
also required to be True in order to leave the start block
state.
Select Not used to skip this check.
Value
Unit n/a
Type Boolean
Status
Diff check error (Primary > (Switch over point + Diff check limit)) AND
(Secondary = False)
OR
(Primary < (Switch over point - Diff check limit)) AND
(Secondary = True)
for a continuous period longer than Detection delay.
Transfer channels
The transfer channels are used to send safety related data between master
modules.
Properties
Input channel Select the APPOUT channel that you want to receive
from another application.
Error value The error value is used when there is an error situation
for the channel. For example, if the CAN message
times out, the channel will use this value as its output
value instead of the received value.
Value
Status
Properties
Input channel Select the channel that you want to send to other
applications.
Transmit rate Transmit rate for this CAN data frame. Minimum
resolution is cycle time.
Select Every cycle to send one frame every application
cycle, i.e. transmit rate equals cycle time.
Not used can be selected when send method is On
trigger or On change, see property Send method for
more information.
Value
Status
Structure
Function group input (FGI)
The function group input channel is used to bring values into a function group
from its parent group, for example a crane function group may need a joystick
position from its parent group. Each function group input can be protected
with input type and min/max limits.
For further information about this channel type, see section Function group
input on page 224.
Value
Status
Input channel’s status Inherits the status from the input channel (if applicable)
when not out of range.
Function group
This building block is used to group other channels and/or function groups to
help you structure your application logic. Read more about function groups in
chapter Function groups.
Initialization
This special function group is used to contain constant channels. Read more
in section Initialization function group on page 238.
Comment
This building block is used to place comments in a function group. Read
about it in section Function group comments on page 229.
A function group can contain other function groups which in turn can contain
other function groups. This creates a tree view of function groups which can
be viewed in the project manager under the Application Logic node. Function
groups can be nested as deep as you like.
If you double-click on a function group or select it in the project manager, it
opens and you will see all of its components, channels and function groups,
displayed in the editor.
A component, channel or function group, can only exist in one function
group. If a channel for instance, is needed in two or more function groups, its
value must be passed to these function groups through function group inputs
or by changing the scope of the channel.
Function groups
The function group properties includes dynamic properties for the inputs of
the function group that are created using FGI channels, see section Function
group input on page 224.
Enabled Select Yes to make this function group enabled all the
time, or select a channel to enable/disable it in run-
time. When the channel value is False, the function
group is disabled and all its channels are set to 0 (zero)/
False. Channels with error value, for example voltage
inputs, will be set to this value instead.
Last edited Information on who edited this function group the last
time and when.
Enabled
When a function group is disabled all its sub function groups are also disabled and
channels are set to 0 (zero), False or Default state respectively depending on the
channel’s value type. Channels with error value, for example voltage inputs, will be
set to this value instead. When enabled again, channel values are restored.
Adjustable and stored channels can not be adjusted while disabled. Some of
them are handled differently compared to other channels.
FP, IP, DP, SP Keeps their current value but will not be adjustable
while disabled.
If disabled at startup, value will be 0, False or Default
state until enabled. When enabled they will get their
stored value.
MEM, TMR, ECNT, TP Keeps their current value but will not be adjustable
while disabled.
If disabled at startup, value will be set to stored value.
Last edited
The last edited property is a read-only property that is updated as soon as a
component in the function group is edited. It contains date and time of the last
edit and license number and name of the user who did the change.
Move up
There is a special command for moving a channel to the parent function
group. Right click on the channel and select Move up in the pop up menu. The
channel will be moved to the parent group and an FGI channel with suitable
properties will be created instead. The FGI will replace the channel in the
entire function group.
FGI properties
Min limit Minimum value allowed. If the input value is less than
this limit, the channel value equals this limit.
Only applicable when Input type is Real or Integer.
Default state name This name is used for the default state. The default
state is the active state when no other state is active.
Only applicable when Input type is State.
States Press the “+” button to add states to this state machine.
Only applicable when Input type is State.
Channel scope
The scope of a channel defines where it is possible to use the channel. By
default it is only possible to use the channel within the function group where
it is located. Available channel scopes are private, protected, public and func-
tion group output.
Private
A channel with private scope is only visible in the function group where it is
located.
Protected
A channel with protected scope is visible in the function group where it is
located and all child function groups.
Public
The public scope makes the channel visible in the whole application. Use the
public scope with care since there is a risk of ending up with dependencies
that are hard to follow.
The function group output can be used in the parent function group as if it
were a channel in that function group.
Public and protected channels from other function groups are grouped by function group name.
The shadow can be moved to different positions in all function groups where
the channel is used. When the foreign channel is no longer used in a function
group the shadow is automatically removed.
Using public or protected channel scope to transport channel values between
function groups introduces dependencies between function groups that are
less visible than using function group input and outputs. These references are
shown as lines between the headers of the function groups.
Calculation order
The calculation order describes the order the master will use to calculate the
contained channels and function groups. The calculation order is local to all
function groups.
The default calculation order will be the order in which you have added the
components to your function group.
The calculation order can in some cases be important to the behavior of your
function group. If you, in one channel, refer to another channel that is posi-
tioned later in the calculation order, the value calculated in the previous cycle
will be used. This means that you will get a delay determined by the cycle
time (for example 20 ms). This can, of course, also be used as a feature in
your function to do locking mechanisms, etc.
When you do a project check, IQANdesign will generate a warning for each
reference with an inverse calculation order. In the function group view, you
can choose to show the lines representing these references in another color,
the default is red.
Drag and drop the list items to arrange them the way you want, or click the
button Auto order to let IQANdesign order the components for you. IQANde-
IQANdesign User manual 227
Calculation order
6 Function groups
sign will then try to order them so that there are no inverse calculation orders.
This is not always possible.
Comments.
When the password has been set you will be asked if you want to save the
password to the password database. By doing that you don’t have to enter the
password in IQANdesign on your computer to view or edit the function group
(see section Password database on page 379 for more information about the
password database).
The function group is now locked. This is indicated with a small lock symbol
in the upper right corner of the function group control.
ATTENTION
Remember to document your function group passwords in a safe place. If you
lose a function group password, there is no way to unlock that function group
again.
Note that the password is still set for the function group, which means that the
next time you start IQANdesign and open your application you need to enter
it again to be able to edit the locked function group (unless you have saved
the password in your password database). To permanently remove the func-
tion group password select Set password for the function group, enter the old
password and then leave the new password empty.
To be able to edit the function group again, right-click on it and select Frozen
once more.
CAN related channels All JFIN, JPIN, JFOUT, JPOUT, DM1, SPN, TSC1,
GFIN, GPIN, GFOUT and GPOUT channels.
Physical I/O All physical I/O channels that do not exist on a module
certified for functional safety.
Comparator channel The detection delay time is not dividable with the
(AAC/ADC/DDC) system cycle time.
Multi vector object The points are not defined in increasing input value
order.
Export/Import
It is possible to export one or more function groups (and single channels) to a
separate file and later import that file to another project.
Export
First, in the function group editor select the function group(s) and/or chan-
nel(s) that you want to export. Select multiple components by holding <Ctrl>
pressed while you select or drag a box around them.
Select File > Export components to open the export components dialog box.
Measure groups Measure groups and items that refer to any of the
exported channels are exported. Note that measure
items that don’t refer to any of the exported channels
are excluded from its measure group.
Adjust groups Adjust groups and items that refer to any of the
exported channels are exported. Note that adjust items
that don’t refer to any of the exported channels are
excluded from its adjust group.
Import
Select File > Import... and select the project file that you want to import. It
can be a complete project or an earlier exported file. If a function group is
selected and the imported project file contains only one application it will be
imported to the selected function group. If the imported project has more than
one application or a function group is not selected all masters and applica-
tions will be imported as new modules and applications.
Constant channels
The channels in an initialization function group are called constant channels,
since their value is constant during the whole application execution. Some
properties on other components allow only constant channels to control their
value. Here’s a list of such properties:
Component Property
Component Property
NOTE
You may need to use channel scope to make the constant channels available
for selection at some properties, see section Channel scope on page 225.
External functions
It is possible to use function groups in other project files without importing or
copying them. This feature is called external functions. To use this feature,
you must first tell IQANdesign which external function project files you want
to use. This is done under the External functions node in the project manager.
Add an external file by clicking the Add button and select the file in the open
file dialog box that pops up. External function files have extension .idex, and
are created using a special project type in IQANdesign, see section External
function project on page 77.
Adding an external file to a project file makes all top level function groups in
that file available for use in the application logic.
To use a function group from an external file in your project file, go to the
function group where you want to insert it, click the Add button, select the tab
for external files and double-click or drag the wanted function group to the
workspace. A function group is added. It will have the same name as in the
external file as default, but you can change it to something else. The name of
the external file will be added within angle brackets, < >, after the name to
indicate that this is a function group that actually resides in a different project
file. Connect your inputs and use the outputs as needed.
If the external function contains physical channels these need to be assigned
to a module after adding the external function instance. If an external function
contains adjust items they will be added to the adjust item container and can
be added to adjust groups from there (or by dragging the corresponding chan-
nel from the external function instance).
An external function group cannot be edited within the project, that has to be
done in the external file. When the external file is changed, IQANdesign will
update the project file where it is used the next time the project is opened. If
the external file is changed while the project is open, IQANdesign will ask if
you want to update immediately.
External functions are very useful to handle application logic that is used in
multiple projects. It will make it possible for you to maintain such logic in
one single place. Another use is when two or more users needs to work on the
same project simultaneously. This is made possible by splitting out parts of
the application logic to separate files.
Select Show hints to enable hints in the editor. Hints contain information on
name, description and type for the component you are pointing at. When
measuring they also present value and status.
Select Show grid to turn on the grid in the editor background. Also, set the
grid size and color. When grid is visible, components will snap to it if
dragged.
Draw references lines are used to configure the way reference lines are drawn
between components. Select All components to have lines drawn between all
components that refer to each other within a function group. Select Selected
component(s) to have lines drawn for references for the selected compo-
nent(s) only. Also, specify color for the reference lines.
The color selection boxes under Value type colors let you specify colors for
different value types. A colored bar on the right side of each channel will use
these colors to indicate value type. See also Show menu below.
The color selection boxes under Check status colors let you specify colors for
indicating hints, warnings or errors on a component. The background of each
channel will use these colors to indicate project check status.
Show menu
In the upper right corner there is a menu called Show. Use this to quickly
show or hide different indicators in the function group view.
Show menu.
A function is created using either object list or Qcode notation. When using
Qcode the function is written as a mathematical expression. In most cases
Qcode results in more readable functionality and also gives more flexibility
in the way expressions can be built.
All operators available in object list functions are also available in Qcode.
However Qcode contains statements and operators that are not available in
object lists.
Qcode editor
Using the drop down button in the function inspector it is possible to select if
object list or Qcode should be used as programming method for a channel.
When Qcode has been selected the Qcode editor is shown in the function
inspector. Here mathematical expressions and algorithms can be entered by
typing directly in the editor.
While typing the auto-complete drop-down menu helps with suggestions in the given context.
Text that is highlighted with blue color are constants or references to compo-
nents or variables. This text can be changed by right-clicking and selecting a
new value from the component popup menu that is shown. Of course it is also
possible to just type new values.
Using right-click in the expression a new component value can be selected from a popup menu.
Measure
When measuring a function the value and status of each line is shown. To get
more detailed measurement of a complex expression it may be divided into
sub expressions using variables. This way the sub expressions will also be
measured.
When measuring in the Qcode editor the value of each line is shown and updated in real-time.
When measuring conditional expressions only the path that is executed will
be measured. Other paths will be shown with not evaluated status indicated
by a gray square.
The resulting value of the complete Qcode expression is shown in bold.
Qcode syntax
The syntax of Qcode is close to writing a mathematical expression in clear
text which makes it very intuitive to use.
Result
The result of the complete Qcode expression is defined by assigning a value
to the Result variable. Assignment is done using the assignment operator
“:=”. If multiple assignments to the Result variable is done, the last value
assigned will be the result of the function. The Result variable can also be
used in expressions as a value.
Result := Input + 10
Result := Result * 2
Comments
To document the functionality comments can be used anywhere in a Qcode
expression. A comment starts with “//” and continues until the end of current
line.
// This is a comment
Line break
A Qcode expression may consist of multiple lines where each line is a valid
expression. If a line becomes too long the expression can continue on the next
line by ending the line with an underscore (“_”).
Result := (((absInput * absInput) + _
(InvFineControl * absInput)) / (100 + InvFineControl))
Local variables
When writing more complex expressions it is often a good idea to break the
expression down into sub expressions and using variables to store intermedi-
ate results. By giving the variables good names it increases the readability of
the Qcode expression.
A variable is implicitly declared the first time a value is assigned to it using
the assignment operator “:=”. After assigning a value the variable can be used
as an identifier in subsequent expressions within the same function.
The initial value of a local variable is always 0 in the beginning of each appli-
cation cycle.
InvFineControl := 100 - Fine control
absInput := Abs(Input)
Result := (((absInput * absInput) + _
(InvFineControl * absInput)) / (100 + InvFineControl))
Static variables
In some cases it is useful to be able to store a value between application
cycles. This can be done using static variables, which keeps the value of pre-
vious cycle. Before using a static variable it needs to be declared using the
“static” keyword together with an optional initialization value that is assigned
the first application cycle.
// Declare and initialize the static variable the first cycle
static Index := 0
// Increase index on flank
if PositiveFlank(Store weight) then Index := (Index + 1) mod 10
Conditional statements
Using conditional statements (“if”, “then”, “else”, “elseif”, “endif”) it is pos-
sible to execute different Qcode expressions depending on a condition. While
making the complete Qcode expression even more powerful it also increases
performance by only calculating the parts that are necessary.
A conditional statement can be written on a single row with or without an else
statement.
if DoorClosed then Result := JoystickControl
if DoorClosed then Result := JoystickControl else Result := 0
For more complex expressions the conditional statement can be split into sev-
eral lines or blocks. In this form the conditional statement is ended with an
“endif” statement. Using the optional “elseif” statement even more branches
can be created. It is even possible to include conditional statements within a
block to create nested conditions in multiple levels.
if DoorClosed and StabilizerDown then
Result := JoystickControl
elseif DoorClosed and not StabilizerDown then
Limitation := 50
Result := JoystickControl *% Limitation
else
Result := 0
endif
Arithmetic operators
Operand1 + Operand2 Calculates Operand1 + Operand2.
EXAMPLE
An easy example how to use the div and mod operators is to calculate how
many hours and minutes is 135 minutes:
135 div 60 = 2
135 mod 60 = 15
gives 2 hours and 15 minutes.
Boolean operators
not Operand Boolean negation.
not False = True
not True = False
Operand1 and Operand2 Boolean conjunction.
False and False = False
False and True = False
True and False = False
True and True = True
Operand1 or Operand2 Boolean disjunction.
False or False = False
False or True = True
True or False = True
True or True = True
Operand1 xor Operand2 Boolean exclusive disjunction.
False xor False = False
False xor True = True
True xor False = True
True xor True = False
Trigonometric functions
Operand resolution for trigonometric operators is at least 0.1°. Result resolu-
tion is at least 3 decimals.
Other functions
Abs(Operand) Absolute value of Operand.
Example: Abs(-27) = 27, Abs(104.2) = 104.2
MaxOf(Operand1, Largest value of all operands. Number of operands is
Operand2, ... OperandN) variable, but at least two.
MinOf(Operand1, Smallest value of all operands. Number of operands is
Operand2, ... OperandN) variable, but at least two.
MaxOfAbs(Operand1, Largest signed value of the absolute value of all
Operand2, ... OperandN) operands. Number of operands is variable, but at least
two.
If Abs(Operand1) equals Abs(Operand2) and one is
positive and the other negative, the result will be the
positive value.
Example: Operand1 = -25, Operand2 = 15, Result is
-25.
MinOfAbs(Operand1, Smallest signed value of the absolute value of all
Operand2, ... OperandN) operands. Number of operands is variable, but at least
two.
If Abs(Operand1) equals Abs(Operand2) and one is
positive and the other negative, the result will be the
positive value.
Example: Operand1 = 5, Operand2 = -40, Result is 5.
Sqrt(Operand) Square root of Operand.
Status comparison
StatusOf(Component) = Status equality. True if the status of Component equals
StatusConstant StatusConstant, otherwise False. Use auto complete to
list all available status constants.
Example: StatusOf(LeverInput) = stOK
StatusOf(Component) <> Status inequality. False if the status of Component
StatusConstant equals StatusConstant, otherwise True. Use auto
complete to list all available status constants.
Example: StatusOf(LeverInput) <> stOK
StatusTypeOf(Component) Status type equality. True if the status type of
= StatusType Component equals the value of StatusType, otherwise
False. There are four status types; stInfo, stOK,
stWarning and stError.
Example: StatusType(LeverInput) = stError
StatusTypeOf(Component) False if the status type of Component equals the value
<>StatusType of StatusType, otherwise True. There are four status
types; stInfo, stOK, stWarning and stError.
Example: StatusType(LeverInput) <> stOK
Commands
Some channels uses commands to perform special operations. All commands
starts with the letter Q. This makes it easy to see which commands are appli-
cable by just typing “Q” and let the auto complete drop down show available
commands.
QIncrease Increases the value of the channel.
Vectors
A vector is a function defined by two or more points (In, Out) together with
an input value. The points must be defined in increasing order of the In val-
ues. The output value is calculated by interpolating between the two points
closest to the input value. For input values outside the range of the vector the
output will be frozen to the value of the closest vector point.
// Joystick deadband defined by a vector
JoystickControl := vector(Joystick, (-100, -100), (-10, 0), (10, 0), (100, 100))
Operator precedence
In expressions with multiple operators the calculation order is determined by
the operator precedence. The calculation order can also be controlled using
parenthesis which is also recommended anywhere it is not obvious which
operator is calculated first. If two operators have the same precedence they
are calculated from left to right.
EXAMPLE
Numeric expressions:
5 + 2 * 10 = 25
(5 + 2) * 10 = 70
The following boolean expression evaluates as true:
7 = 5 + 2 and 2 * 3 = 6
The operators in Qcode are divided into four groups defining the precedence
where the first group has the highest precedence. The precedence is also visi-
ble in the auto complete drop down in the Qcode editor (operator1,
operator2, operator3 or operator4).
Operator group 1 *, *%, /, div, mod, band, bor, bxor, shl, shr
Operator group 2 +, -
Channel naming
Since Qcode uses channel names to refer to a channel it is important how the
channels are named.
Unique names
For channels that are used in Qcode expressions they must have a name that
is unique within the scope of the function where they are used. This means
that a channel name must be unique within a function group but also among
channels that are accessible due to their channel scope (e.g. public, protected
or function group output).
Special rules apply to function group outputs to allow same name used in
multiple function groups, see section Function group specifier below.
For channels that are not used in Qcode expressions any name can be used,
including duplicate names (even if it might not be good practice).
If the combination of function group name and channel name is not unique
there will be an error in the Qcode expression and the function group and/or
channel needs to be renamed.
Reserved words
Some words are reserved to Qcode and may not be used as names of variables
and channels. For channels this applies only to channels that are used in
Qcode expressions. All operators and commands are reserved words as well
as status constants used for status comparison. Below additional reserved
words are listed.
else elseif endif false
A function is created using either object list or Qcode notation. When using
object list notation the function is built using objects that are grouped in
object groups. Object groups are specific for each channel type. An object is
like a “black box”. You put something in and get something out. What you
get out depends on what type of object you have selected and its properties.
There are five types of objects: single, dual, vector, multi vector and math.
An object group’s value is decided by its object values and the selected object
group method. For example, the object values in a controlling object group
can either be multiplied to a product or compared, so that the object with the
highest or lowest value will control the object group’s value.
Object groups
A function consists of two or three object groups depending on channel type.
Each object group affects the function in its own way. You will find the object
groups on all channels where you can create functions.
Limiting
Works together with the controlling object group. This group has higher prio-
rity than the controlling object group. If this group’s value is less than the
controlling object group, the function value will equal the limiting object
group value.
t
Limiting object group
t
Function value
Activating
The activating object group is used with digital value channels, such as an
internal digital channel.
Blocking
Works together with the activating object group. This group has higher prio-
rity than the activating object group. If this group’s value is True, the function
value will be False regardless of the activating object group value.
Function value
t
The blocking object group is often used to make a function safe in certain
situations.
Increasing/Decreasing
These object groups are used to increase or decrease a channel’s value.
Channel value is increased/decreased when object group or object value
changes from False to True. If both increasing and decreasing object groups
changes simultaneously nothing happens with the channel value.
Used with counters.
Resetting
The resetting object group is used to reset a channel’s value to zero or a pre-
defined value. Channel value is reset when object group value changes from
False to True. This group has higher priority than any other group in the same
function.
Used with counters and memorizing channels.
Showing/Hiding
These object groups work together and are used for interface channels to
show or hide messages on a display module. Hiding has higher priority than
showing when they are activated simultaneously. Messages are shown/hidden
when object group value changes from False to True.
Resulting objects.
Resulting objects are indented differently from other objects. In the above
example, objects C and D are resulting objects. Objects A and B are not
resulting objects, since they are referred to by object C.
The object group method selected in the example above is Multiply (%). This
will multiply the value of object C with the value of object D. The product is
the value of the object group. Object A and B are implicitly used through
object C in the calculation.
The (%) in Multiply (%) means that the operands are expected to be in per-
cent and the result will also be in percent, for example object C’s value is
70% and object D’s value is 50%, gives the result 35%.
Multiply (%)
Object values are multiplied. Values are expected to be in percent. Result will
also be in percent.
Result = ((Object A/100)·(Object B/100)·(Object C/100)·...)·100
Two objects.
MaxOf (Absolute)
Absolute value of object values are compared. The result is the largest object.
The result will have the same sign as the largest object.
If all objects are equal but with different signs, the result will be the positive
value.
Example: Object A = -25, Object B = 15, the result is -25.
Applicable to Controlling and Limiting object groups.
MinOf (Absolute)
Absolute value of object values are compared. The result is the smallest
object. The result will have the same sign as the smallest object.
If all objects are equal but with different signs, the result will be the positive
value.
Example: Object A = 5, Object B = -40, result is 5.
Applicable to Controlling and Limiting object groups.
And
Boolean conjunction. If all objects are True or not equal to 0, the result is
True, otherwise False.
Applicable to all object groups except Controlling and Limiting.
Object A
t
Object B
t
Object group value
When used in an increasing or decreasing object group, all the objects have to
be true to change the counter’s value. This means that if all objects are true, it
only takes one of the objects to turn false and then true again to change the
counter’s value.
Latching And
Same as And, with latching functionality. The object group stays True until
the Blocking object group goes True. Activation of the object group is not
possible until the Blocking object group and at least one activating object
goes False.
Applicable to Activating object groups.
t
Activating objects in an activating object group
Function value
Or
Boolean disjunction. If one object is True or not equal to 0, the result is True,
otherwise False.
Applicable to all object groups except Controlling and Limiting.
Object A
t
Object B
t
Object group value
Or method.
T1 T2
Increasing object A
Increasing object B
Latching Or
Same as Or, with latching functionality. The object group stays True until the
Blocking object group goes True.
Applicable to Activating object groups.
t
Activating objects in an activating object group
Function value
Latching Or method.
Objects
There are five different object types. Each type has its own characteristics and
range of uses.
Single object
The single object is used to represent a channel value or a constant value.
Output = Input
EXAMPLE
If the controlling object is a Joystick with no deadband you can use the single
object.
Input = Joystick
The controlling object’s value will follow the Joystick value.
Dual object
The dual object gives you one of two values, depending on the input value.
if (Input = True) then (Output = Out 1) else (Output = Out 2)
Object value
Out 1
Out 2
True False
Input value
Dual object.
If the input value is True or not equal to 0 (zero), the object’s value equals the
first value (Out 1). If the input value is False or equals 0 (zero), the object’s
value equals the second value (Out 2).
Vector object
The vector object is a linear function defined by two points (In 1, Out 1) and
(In 2, Out 2).
Output = Out 1 + (Input - In 1) · (Out 2 - Out 1) / (In 2 - In 1)
Out 2
Out 1
In 1 In 2
Vector object.
Outside range
Specify the output value behavior when the input value is outside the range In
1 - In 2. Freeze value will freeze the output to Out 1 or Out 2 depending on
whether Input is less than or greater than the range In 1 - In 2.
Return to zero will set the output value to 0.
Select Extrapolate to extrapolate the output value outside the specified range.
Out 3
Out 2
Out 4
Out 1
In 1 In 2 In 3 In 4
Outside range
Specify the output value behavior when the input value is outside the range
defined by the In values of the first and last points. Freeze value will freeze
the output to the Out value of the first or last point depending on whether
Input is less than or greater than the define input range.
Return to zero will set the output value to 0.
Select Extrapolate to extrapolate the output value outside the specified range.
Math object
The math object is defined by an operator and one, two or three operands.
You have access to the following operators:
Relational
Outside "Operand 1" < "Operand 2"or "Operand 1" > "Operand
Outside range 3".
True if "Operand 1" is outside the range
"Operand 2" - "Operand 3", otherwise False.
If "Operand 2" is greater than "Operand 3" they are
swapped before condition is evaluated.
Arithmetic
EXAMPLE
An easy example how to use the div and mod operators is to calculate how
many hours and minutes is 135 minutes:
135 div 60 = 2
135 mod 60 = 15
gives 2 hours and 15 minutes.
Boolean
Trigonometric
Operand resolution for trigonometric operators is at least 0.1°. Result resolu-
tion is at least 3 decimals.
Logical (bitwise)
Other
Status
Status <> False if the status of "Operand 1" equals "Operand 2",
Inequality otherwise True.
Status type = True if the status type of "Operand 1" equals the value
Equality of "Operand 2", otherwise False. There are four status
types; Info, OK, Warning and Error.
Status type <> False if the status type of "Operand 1" equals the value
Inequality of "Operand 2", otherwise True. There are four status
types; Info, OK, Warning and Error.
The status values can be useful, for example if you want to do some actions
when a certain error were to appear, like showing an error message on the
display.
We take it for granted that you will need to take measurements on signals and
channels when you develop or troubleshoot a project file in the machine. In
IQANdesign you can measure both graphical and numerical values.
Measure groups are used when you measure in a display module, IQANde-
sign or IQANrun. The measure groups will help you to organize the channels
or measure items as they are also referred to.
Measure groups
The reason for using measure groups is to organize your channels for
measurements in different situations, when measuring with a master module
display and with IQANdesign or IQANrun. If you have grouped some impor-
tant channels together, it can give the service personnel a quicker overall view
of the situation and hopefully save them some time.
Properties
View access level Specify required access level to view this measure
group. Users with lower access level will not be able to
see this measure group in the menu system in a display
module or IQANrun.
Select Allow all to allow all users to see this measure
group.
NOTE
It is better to have several small measure groups instead of one big group.
With smaller groups you probably won’t need to use the scroll bars to see all
of the channels in a group at the same time.
Measure in IQANdesign
When you select a measure group in the project manager you will also open
the measure window.
The measure window in IQANdesign has a graph in the middle. Underneath
the graph there is a list with all the measure items and some statistics from the
last measurements. You have to use the two cursors to generate the statistic
values.
On the right side of the window you will find the property inspector with the
properties for each measure item.
Start/Stop measure
To start a measurement, select Measure > Start Measure, click the start
measure button in the tool bar above the graph or press the function key F7.
ATTENTION
The project ID in the current project and the measured project has to match to
allow measuring. This is to make sure you are measuring the correct values.
For more information, see section Project ID on page 73.
To stop a measurement manually, select Measure > Stop Measure, click the
stop button in the tool bar above the graph or press <Shift + F7>.
Print
Select File > Print to print the measured graph with statistics. A dialog box is
displayed where you can change printer, printer properties and/or options.
Clear values
To clear all measured values, select Measure > Clear.
Graph options
By default the background of the graph is black and the grid color is gray, but
in the options for IQANdesign you can easily change the colors. Select Tools
> Options..., Measure groups tab or right click on the graph window and
select Options....
You can also change the default channel colors.
Glitch detect
Glitch detect can be useful to detect short pulses or glitches in a large log.
Without glitch detect IQANdesign uses mean value calculation when present-
ing a large amount of data in the graph.
With glitch detect IQANdesign presents min and max values in each point
instead of mean value. This makes it possible to easily find glitches in very
large logs.
To enable glitch detect, right click in the graph, select Options... and check
the Glitch detect box.
Time depth
This is the amount of data shown while you are measuring. Applies to X/Y
mode also.
Missing samples
When measuring, samples can be lost due to communication problems or by
measuring too many channels. Missing samples are then calculated by inter-
polation between the surrounding values. Select Mark missing samples in
graph to draw missing samples with a darker color in the graph. Select the
number of continuos samples that needs to be missing before marking them
in the graph under Missing samples threshold.
Properties
Visible Select Yes to make this item visible when viewing the
measure group it belongs to. Select a channel to control
its visibility in run-time.
Note: Selecting No will only make the measure item
visible in IQANdesign.
Min value The min and max values on the Y axis in the graph.
Max value
Visible property
The visible property is only checked when entering a measure group on a dis-
play or in IQANrun. If the value of the property changes when viewing the
measure group, i.e. when it is controlled by a channel, the list of measure
items is not updated. To update the list you must leave the measure group and
enter it again.
Gray Info
Green OK
Yellow Warning
Red Error
For more information, see section Value and status on page 111.
Hover over a channel to see detailed information, for example exact status. It
is also possible to double-click on channels to make them larger and thereby
make room for more information.
Statistics
Use the two cursor lines in the measure group view to read the exact values of
a point on the measured curves in the graph. You can use the cursors as soon
as you have stopped the measurement. You will find the two cursors as small
arrows above the graph. Select the curve you want to measure on by selecting
it in the items list. The selected or actual curve will have a thicker line so you
can find it in the graph.
Statistics
On the lower right side of the graph you will find measurement statistics
belonging to the actual or selected channel. You will find different statistic
values depending on how you place the cursors. The statistics are generated
after the measurements are stopped.
Values
Peak to Peak The difference between Max and Min described above.
Rise time/Fall time Time between the minimum and maximum value
between the two cursors.
The heading alternates between Rise and Fall
depending on which value is first.
Exporting
If you want to do more advanced statistics it is possible to export all mea-
sured values to an external program, for example Microsoft Excel. Right
click in the graph and select Copy values as text. All values are now copied to
Windows clipboard. Start the other program and select Paste.
Measure files
To save a measure to a file, select Measure > Save As. Select folder, enter a
file name and click Save. The file can later be opened in either IQANdesign
or IQANrun. Measure files that has been saved by IQANrun can also be
opened in IQANdesign.
Measure files have the extension irm3.
NOTE
To open a measure file in IQANdesign you must first open the application
that the measure file belongs to.
It is also possible to save the measurement in Microsoft Excel Workbook for-
mat. Select file format in the Save dialog box. Microsoft Excel will be started
after the file has been saved to show the result.
Zooming
You can zoom in on (enlarge) parts of the graph to study the curves in detail.
Zoom in
You can easily select a section of the curves to be enlarged. Select the zoom
area by holding the left mouse button while you drag the mouse cursor over
the desired enlargement area. A zoom area is built around what will be
enlarged.
Zoom out
To view the complete curves again, right click in the graph and select Zoom
out or select Measure > Zoom Out. Shortcut keyboard command <Ctrl+U>.
Auto scaling
It is possible to auto scale each channel. Use Auto scale join to make each
channel’s values fit within the Y axis limits. The channels’ values will
overlap.
Use Auto scale split to split the channels so that no channel will overlap any
other channel. All channels will be visible in the graph without any
overlapping.
Multimeter
The multimeter lets you create your own measure groups and measure them
while you're in other views.
Open the multimeter window by clicking the multimeter button in the main
toolbar, or by selecting Measure > Multimeter. The multimeter is a satellite
window that you can have open while navigating IQANdesign's main win-
dow. The multimeter measure groups will only be updated when measuring
on a connected system but adding and removing items is always possible as
soon as there is an open project.
Multimeter window.
Items will be grouped by which master module they belong to. This is
because only one master module can be measured at a time.
To remove an item from the multimeter, select it and click Delete in the tool
bar or hit <Delete> on the keyboard. You can select multiple items and
remove at the same time.
IQANdesign will remember which items you have in the multimeter, so the
next time you use it, the multimeter will look the same.
Magnifying items
There is a magnifying glass available that will let you enlarge selected items.
Simply select the ones you want to enlarge and click the Magnify button in
IQANdesign User manual 284
Multimeter
9 Measure groups
the tool bar. Do it again to make them normal again. You can also double-
click an item to enlarge it.
Magnifier used.
Some of the channels in your project can be made adjustable. It means that
those channels have parameters that can easily be adjusted from a display
module in the system, or from the PC service tool, IQANrun.
The advantage with this feature is that you can adjust an output channel to
match the load in the best way, or you can calibrate an input signal for
different sensors to suit your application perfectly, without having to update
the application.
Factory default
Each parameter also has a factory default value. The factory default value can
be set from IQANrun. First adjust the parameter to a desired value, then press
the set factory default button to copy the adjustable value to the factory
default value. It is also possible to control access to this function, see section
Adjust groups on page 296.
Later on the machine user can reset the adjustable values for a channel or
parameter to the factory default value.
NOTE
The factory default value is normally only set in production. It should be a
“usable” value that the machine operator can always trust and reset his set-
tings to.
IQANdesign User manual 287
Adjustable channel types
10 Adjust groups
Application default
The first time an application is loaded in a master module, there are no adjust-
able or factory default values. To make the machine manoeuvrable, the appli-
cation default values are then used. The application default values are
specified for each channel in the application.
ATTENTION
The application default value is used when the application is loaded in an
empty master module or when you have added a new channel that does not
exist in the master module. It should be a “safe” value that will work in any
machine without risk. See also section Application defaults on parameters on
page 428 for more information when working with safety related applica-
tions.
Modes
Some adjustable channels can have multiple modes, that is, multiple sets of
parameter values. A mode selector is used to decide which parameter value
set is used in run-time. Modes can serve different purposes, for example, sep-
arate driver settings or working modes.
Sometimes it is desirable to copy all parameter values from one mode to
another. This can be achieved by using adjust groups with the property Allow
mode copy enabled. Mode copying is done via the adjust menu in a display
module or IQANrun.
Adjust items
To be able to adjust a channel an adjust item has to be created for the channel.
An adjust item is created by dragging a channel to the adjust items node in the
project manager. The adjust items can then be grouped in adjust groups to
make them available in display module(s) and IQANrun. It is also possible to
drag a channel directly to an adjust group in order to create an adjust item and
add it to the selected adjust group.
Adjust items that does not belong to any adjust group will only be adjustable
by using a script. For more information on this, see the IQANscript user man-
ual.
When an adjust item is created it gets the same name as the channel by
default, but it can be changed into something more appropriate for the adjust
menu.
The adjust items can be edited by selecting the adjust items node or an adjust
group in the project manager. By selecting the adjust items node, all adjust
items in the project will be shown in the editor. Selecting a group will show
the items belonging to that group.
NOTE
The same adjust item can belong to several adjust groups, but there are only
one adjust item for one channel. This means that when changing properties on
an adjust item it will be changed in all groups where it is used.
Select the adjust group in the project manager to view the adjust items.
There are three different type of adjust items that are created depending on
the channel type and number of adjustable parameters: single, dual and quad.
The correct type is created automatically when you drop a channel on the
adjust items node or on an adjust group.
Properties
Channel The channel that this adjust item adjusts. This property
cannot be edited.
Properties
Channel The channel that this adjust item adjusts. This property
cannot be edited.
Properties
Channel The channel that this adjust item adjusts. This property
cannot be edited.
Adjust parameters
Each adjust item has one or more parameters that can be adjusted using a dis-
play module or IQANrun. There are different type of parameters depending
on the value type that the parameter represents. When an adjust item is cre-
ated the correct parameters are automatically created.
The parameters can be edited in the adjust item list by expanding an adjust
item in the editor.
Most parameters has limits that should be defined to make sure that a param-
eter cannot be adjusted outside a safe range. Select a parameter in the list to
edit its properties.
Integer parameter
The integer parameter has properties for limits and step size that defines how
the parameter can be adjusted.
Properties
Real parameter
The real parameter is used for parameters with a floating point value. It has
properties that defines limits and step size used when adjusting the parameter.
Properties
Text parameter
The text parameter is used for the text parameter channel and contains limits
for the length of the text.
Properties
Min length Minimum length allowed for the text parameter. See
also property Max length.
State parameter
The state parameter is used to store the value of a state parameter channel. It
has no properties, since the limits are given by the number of states defined
by the channel.
Boolean parameter
The boolean parameter is used to store the value of a digital parameter chan-
nel. It has no properties and the value is limited to either True or False. The
texts used for True and False are defined by the channel.
Adjust groups
The adjust groups are used to group or organize adjust items. It is up to the
designer to decide how the adjust items will be grouped. One idea to keep in
mind is that it should make it easier for authorized personnel to find the actual
adjust item, when it needs to be adjusted in the machine.
In IQAN systems where there is a display available you will find the adjust
groups for the whole system in a list in the adjust menu. For systems without
a display, use a PC with IQANrun to access the adjust groups. To adjust an
adjust item’s parameters, just select the group where the item is placed and
then select the particular item that you want to adjust.
It is a good idea to name the group so it is easy to identify the items it
contains, for example Diesel engine or Crane functions. It is often better to
have several small groups so you don’t need to use the scroll bar to find a
particular item.
It is possible to reorder the adjust items in the adjust group. The order of
adjust items within an adjust group represents the positions in the adjust
menu in a display module or IQANrun. It can be a good idea to have the most
frequently used items on the top of the list so you can quickly reach those
items. Use drag and drop to move the items in the list.
NOTE
When reordering items, make sure the list is sorted on the Order column to
avoid confusion.
Properties
Access levels > Specify required access level to adjust the items in this
View/Adjust adjust group. Users with lower access level will not be
able to see this adjust group or adjust its items in any
way.
Select Allow all to allow all users to see and adjust this
adjust group.
Access levels > Specify required access level to set factory default
Set factory default value values for the adjust items in this adjust group. Users
with lower access level will not be able to set factory
defaults.
Select Allow all to allow all users to set factory
defaults.
Note: “View” access level must be same or lower,
otherwise the user will not see the adjust group and can
therefore not set factory defaults.
Allow mode copy Select Yes to enable the “Copy mode” button in the
adjust menu. Copy mode is used to copy all adjustable
parameters from one mode to another for all adjust
items in this group. You can also select a digital value
channel to enable the copy mode button in run time.
Note 1: All adjust items (channels) in the group has to
be controlled by the same “Mode selector” (or none) to
use this function.
Note 2: Text parameter channels will not be copied.
PIN code
The simplest way to protect an adjust group is to define a four character PIN
code for it, for example 0472. You can also use a PIN code channel to protect
it, see section PIN code channel (PCC) on page 185.
When you have downloaded the project file to the master you have to enter
the PIN code to have access to the adjust group. That is done with the naviga-
tion buttons on the display or with the help of a dialog box in IQANrun. A
PIN code protected adjust group is marked with a lock symbol in the adjust
menu.
NOTE
An PIN code protected adjust group that you have entered the code in will
stay unlocked until the master module that the adjust group is associated with
is restarted.
Access levels
A safer and more user friendly way to protect an adjust group is by using
access levels. You can define two access levels for an adjust group, one level
for view access and another level for set factory default access. The user has
to be logged in with at least view access level to see the adjust group. If not,
the adjust group is not shown in the list of available groups.
NOTE
An adjust item can be added to several adjust groups. This can be useful if
perhaps you want to have one adjust group for the driver and another group
for the service personnel, where they can also find other more important
items that the driver is not supposed to adjust. The access level for such adjust
item will be the lowest of all the adjust groups that it belongs to.
ATTENTION
Adjustable or stored channels that are not part of any adjust group will be
protected from being adjusted from the adjust menu on a display module or in
IQANrun, but it will not be protected from being changed by sending a set-
tings file or a clone file to a master. It is also possible to use a script in IQAN-
run to adjust an adjust item that is not part of an adjust group. To protect
adjustable or stored channels from being changed in any way you must add
them to an adjust group, set Access level > View/Adjust to Root and set Visi-
ble to False. That way, it won’t be visible in any menus and the highest access
level possible is required to change it in any other way.
Visibility
With the property Visible you can decide when you want an adjust group to
be visible in the adjust menu. You can select to have a digital input channel to
control the visibility at run time.
Reference channel
Sometimes it will help to have a reference channel during the adjustment pro-
cess. For example you may want to see a specific input channel’s value when
you adjust the outputs. The reference channel will be measured and displayed
during adjustment. There can be one reference channel for each adjust group.
You will find it as a property for the adjust group.
Send project
When sending a project there are some options regarding settings. For more
information on send project, see section Send project on page 396.
When you send a project to an IQAN system using IQANdesign you will
have the option to override some settings in the master module with the
default values in the project. A dialog box is shown where you can select
these options.
NOTE
This dialog box can be disabled in Tools > Options, tab Dialog. The check
box is called Show send/get options dialog. Make sure it is selected if you
want to use this feature.
Adjustable values
Select this check box to overwrite all adjustable values in the master module
with the default values in the project. For example, the adjustable values for a
voltage input will be overwritten with its properties Min [mV] and Max [mV]
defined in the project.
Stored values
Select this check box to overwrite all stored values in the master module with
the default values in the project. For example, the stored value of an event
counter will be overwritten with its property Reset value defined in the proj-
ect.
Get project
When getting a project there are some options regarding settings. For more
information on get project, see section Get project on page 397.
When you get a project from an IQAN system using IQANdesign you will
have the option to import the adjustable values in the master module to the
project. A dialog box is shown where you can select this options.
NOTE
This dialog box can be disabled in Tools > Options, tab Dialog. The check
box is called Show send/get options dialog. Make sure it is selected if you
want to use this feature.
Project ID
Project file with different ID
If an application file with a different project ID is sent to a master module, all
settings will take the application defaults, the values in the project file.
IQANrun will show a warning about “Different project”.
Component ID
Project file with new channels
When sending a project file where new channels with settings have been
added, those new channels will start with the application defaults, while
settings for old channels with matching component ID remain unaffected.
IQANrun will inform “The complete system was updated successfully”.
Number of states
Project file with different number of states
If one sends a project file where states have been added or removed on a state
controlled channel with settings, the values for all the states on that channel
will return to application defaults. IQANrun will inform “The complete
system was updated successfully”.
Limits
If one sends a project file where the limits for a parameter has been made nar-
rower, the settings are not immediately affected. The settings are kept, but the
channel will have the status “Out of range” and the value used will be the
limit value closest to the value in the settings.
The same applies when sending an old settings file to a new application with
narrower limits, or when resetting to an old factory default value that is now
IQANdesign User manual 303
Settings kept during software update
10 Adjust groups
outside of the limits. The settings will change, but the channel will have the
status “Out of range” and use the closest limit value.
The “Out of range” error is seen when measuring on the application, or in a
measure group. It will also be written to the system log, but does not generate
any error dialog on the display.
When there is an out of range error, it is possible to use the adjust menu to
correct the parameter to a value within the limits. It is never possible to use
the adjust menu to bring the value outside of the limits. The only exception is
when factory default contains a value that is outside of the limits - when
resetting to such a factory default, the settings will change, but the channel
will have the status “Out of range” and use the closest limit value.
Access levels
If one sends a settings or clone file without being logged in to a level that has
access to adjusting all parameters, the parameters that the user does not have
access to will remain unaffected, and won't take the values from that file. All
the values the logged in user has access to will be updated. IQANrun will
inform “Settings have been updated”.
When sending a clone to an empty module, channels that the user does not
have access to will take the application default values. The idea behind this
limitation is to protect soft-options. It can also be used to protect e.g. machine
hours, if these are placed in an adjust group with a high access level. Only
channels that are in adjust groups are affected by the adjust group access lev-
els. In cases where it is necessary to send higher level settings, a script could
be used, see the IQANscript user manual.
Logs are used to store historical and/or statistical data for an IQAN system.
Some events are stored automatically for you, for example errors on inputs
and outputs, but you can also specify your own events and statistics that you
want stored.
System logs are automatically created and store system related events. A
project always contains a system log for each master module. There can only
be one system log for each master module.
In addition to the system log, you can have as many event and statistics logs
as you like. An event log stores events that you define with the help of log
items. A statistics log store the latest value of a given statistic log item.
Logs can be viewed in a display module’s menu system or in IQANrun.
Logs
You will find all your logs in the project manager, under the node Diagnos-
tics > Logs. Select it to view a list of all your logs in the editor. To add logs or
view the logs that belongs to a particular master module, select the corre-
sponding node under the Logs node.
Use the Add button to add a new log of the type you need.
Log list.
Drag and drop your logs in the list to change their order. The order is used
when logs are listed in a display module’s/IQANrun’s log menu.
We recommend that you sort on the column Order when you are rearranging
your log order. Click a column header to change the list’s sort order.
The logs are stored in non-volatile memory. When the memory is full, the log
can either start overwriting old log records or stop logging. The memory sta-
tus of each log can be retrieved using the status operators in functions.
Status
The status of a log can be used in status comparisons in channels.
Status Description
OK Status OK.
System messages
Related to the logs a number of system messages can be shown to indicate
problems with the log system. These system messages are shown on master
modules with display.
Critical Log error Failed writing. The log has been stopped!
System log
The system log is automatically added to your project when a master module
is added. You will find it in the project manager, under the node Diagnostics
> Logs. It is automatically named after the master module, but you can
change it to whatever you want.
System events
These are the events stored in the system log.
System started -
NOTE
Some events are not stored until the system is restarted.
Properties
These are the properties for the system log.
Enabled Select Yes to make this log enabled all the time, or
select a channel to enable/disable it in run-time. When
the channel value is False, the log is disabled and will
not log any events.
Access levels > Specify required access level to view this log. Users
View with lower access levels will not be able to see this log
in the master menu system or IQANrun.
Select Allow all to allow all users to see this log.
Access levels > Specify required access level to clear this log. Users
Clear with lower access levels will not be able to clear this
log in IQANrun.
Select Allow all to allow all users to clear this log.
Clearing channel Select a channel to clear the log. When the clearing
channel’s value changes from False to True, all records
in this log will be cleared.
Note: This function overrides any PIN code or access
level protection.
Log size Specify how large this log shall be in percent of the
total log memory.
Note: Make sure that the sum of all log sizes (except
statistical logs) in an application is less than or equal to
100%.
You may also want to leave some space for adding new
logs in the future.
Log full behavior Specify this log’s behavior when it has used all
available memory.
Stop logging makes the log stop until it is manually
cleared. Use this option if it is more important to keep
the oldest log records.
Continue logging makes the log delete its oldest
records to make room for newer. Use this option if it is
more important to see the latest events.
PIN code
For more information, see section PIN code channel (PCC) on page 185.
Access levels
For more information, see section Access levels on page 386.
Clearing channel
Allows you to clear a log using the value of a digital channel. This can be use-
ful for example to do automatic clearing of a log when it is almost full or to
IQANdesign User manual 309
System log
11 Logs
let the operator clear a log by using a virtual digital in channel connected to a
display page button.
NOTE
When using a clearing channel to clear a log any PIN code or access level
protection will be disregarded.
NOTE
If you are reducing the log size the existing log records may be cleared if they
does not fit in the new log size.
Event log
Event logs are used to store events generated by the application. Conditions
for when and what to log is decided by one or more log items.
Select the event log in the project manager. A list with all log items in the
event log is shown. The Add button contains all the log item types that can be
added.
Properties
These are the properties for an event log.
Enabled Select Yes to make this log enabled all the time, or
select a channel to enable/disable it in run-time. When
the channel value is False, the log is disabled and will
not log any events.
Access levels > Specify required access level to view this log. Users
View with lower access levels will not be able to see this log
in the master menu system or IQANrun.
Select Allow all to allow all users to see this log.
Access levels > Specify required access level to clear this log. Users
Clear with lower access levels will not be able to clear this
log in IQANrun.
Select Allow all to allow all users to clear this log.
Clearing channel Select a channel to clear the log. When the clearing
channel’s value changes from False to True, all records
in this log will be cleared.
Note: This function overrides any PIN code or access
level protection.
Log size Specify how large this log shall be in percent of the
total log memory.
Note: Make sure that the sum of all log sizes (except
statistical logs) in an application is less than or equal to
100%.
You may also want to leave some space for adding new
logs in the future.
Log full behavior Specify this log’s behavior when it has used all
available memory.
Stop logging makes the log stop until it is manually
cleared. Use this option if it is more important to keep
the oldest log records.
Continue logging makes the log delete its oldest
records to make room for newer. Use this option if it is
more important to see the latest events.
PIN code
For more information, see section PIN code channel (PCC) on page 185.
Access levels
For more information, see section Access levels on page 386.
Clearing channel
See section Clearing channel on page 309.
Properties
Log value Select the channel which value will be logged when the
log condition is fulfilled.
NOTE
When opening an old project that contains event log channels, the event log
channels will be replaced by internal digital channels. A value log item will
be created for each event log channel and the internal digital channel will be
used as the log condition.
Properties
Measure
It is possible to measure log item value and status in the log items view. For
more information see section Measure in other views on page 279.
Statistics log
Statistics logs are used to log different kind of machine statistics. They are a
powerful tool to create for example histograms of operating conditions such
as temperatures and pressures.
In contrast to the event logs the statistics logs does not grow in size when
used. Instead there is one log record for each log item.
Select the statistics log in the project manager. A list with all log items in the
statistics log is shown. The Add button contains all the log item types that can
be added.
Properties
These are the properties for an statistics log.
Enabled Select Yes to make this log enabled all the time, or
select a channel to enable/disable it in run-time. When
the channel value is False, the log is disabled and will
not log any events.
Access levels > Specify required access level to view this log. Users
View with lower access levels will not be able to see this log
in the master menu system or IQANrun.
Select Allow all to allow all users to see this log.
Access levels > Specify required access level to clear this log. Users
Clear with lower access levels will not be able to clear this
log in IQANrun.
Select Allow all to allow all users to clear this log.
Clearing channel Select a channel to clear the log. When the clearing
channel’s value changes from False to True, all records
in this log will be cleared.
Note: This function overrides any PIN code or access
level protection.
PIN code
For more information, see section PIN code channel (PCC) on page 185.
Access levels
For more information, see section Access levels on page 386.
Clearing channel
See section Clearing channel on page 309.
Properties
Measure
It is possible to measure log item value and status in the log items view. For
more information see section Measure in other views on page 279.
An IQAN master module can notify other J1939 modules in the system about
active errors. This is done by using J1939 DM1 message containing active
trouble codes for a set of channels defined in the application.
Properties
CAN bus J1939 bus where the DM1 message will be sent. Select
Not used to disable DM1 out.
Properties
Input channel Select a channel to use for this SPN output. The status
of the channel determines the FMI used in the DM1
message:
Status FMI
Low alarm 18
High alarm 16
Low error 4
High error 3
Overload 6
Open load 5
Timeout 9
No contact 9
Checksum error 13
Critical error 11
Out of calibration 13
Using the telematics features of IQAN enables you to easily log data to
Parker’s IoT solution Voice of the Machine. Using a compatible gateway it is
just a matter of selecting the channels that should be sent to the cloud from
your IQAN project. By exporting the telematics definitions the configuration
of the IoT server is also simplified.
Configuring telematics
If your system contains an IQAN compatible Parker telematics gateway (see
section GT on page 100) you can easily configure the signals that should be
logged to the telematics server from the IQAN system.
Channel values that should be logged to the server are called signals which
are grouped into signal collections.
Signal collections
Signal collections groups signals that should be logged together to the server.
The signal collection determines how often the contained signals should be
logged as well as grouped on the server.
Add a new signal collection by selecting the Telematics node in the project
manager and click the add button.
Properties
Signals
Signals represents the values of channels added to a signal collection. For
each signal you should define a unique ID that is used to identify the signal
on the server. If you are developing several variants of machines using differ-
ent project files it is a good idea to keep the same signal ID between projects
when the signal represents the same type of value.
Properties
ATTENTION
Try to avoid sending too many signals using the same trigger, since it might
flood the CAN bus everytime the trigger is activated. When using continu-
ously as send method the master will send signals with the same transmit rate
slightly offseted to even out the CAN bus load, which makes it a preferred
method.
Display pages are used to design the graphical user interface for a display
module that gives the operator, service personnel and other users necessary
information in different situations.
The difference between this display and a “traditional” operator or driver
environment is that all of the information does not necessarily need to always
be shown. By using several dedicated display pages it is possible to show
enough of the correct information in different situations.
Remember, that even if all information is presented at the same time, it is
only necessary that the operator notices the most important information.
For further information on how to design operator cabs or driver
environments, see available literature on the subject.
The display pages will belong to the project file. You can have as many dis-
play pages you want. It is important to remember that all images and controls
that you add will increase the application file size in the master’s memory.
In the project manager there is one node with display pages for each display
module in the project, called a display page container node. These nodes can
be found under the User interface node.
Startup image Select the image that you want to be shown at system
startup. See also section Start up image on page 363.
Show messages Select whether this display shall show messages from
any master module in the same system, All, or only its
own messages, Own. You can also select None to not
show any messages. Note that this will hide all error
messages on this display.
Messages includes CMSG, IMSG, PCC, SPN (DM1)
and system dialog boxes.
Font sizes Specify font sizes for Tiny, Small, Medium, Large and
Huge.
This property is not available on all display modules.
Dialog position Specify the default position and size for dialog boxes.
The position can also be set individually for each page,
see section Display page properties on page 326.
This property is not available on all display modules.
The New display page will be shown together with the already added pages in
the editor. In this view you will be able to rearrange the page order, read the
page description and also check the number of controls that have been added
to each page.
If you select a page in the list, the property inspector will show the properties
for the selected page.
Base page Select a display page to use as a base for this page. All
the controls on the base page will be shown on this
page.
A typical use for a base page is when you want to have
the same set of controls on many pages, such as
logotypes or lamps for example.
Dialog position Specify the position and size for dialog boxes on this
page. Select Default to use the position and size
specified on the display page container, see property
Dialog position on the corresponding display page
container.
This property is not available on all display modules.
Base page
To save some designing time it can be a good idea to use a base page as a
template for some other pages. Maybe you want to have some controls visible
on several different pages, for example lines or a logotype. Or, you want a
IQANdesign User manual 327
Display pages in IQANdesign
14 Display pages
button to have the same function on several pages. In that case you would
design a page for that and use it as a base page on one or more other pages.
NOTE
The background color of the base page is not copied to the other pages.
Properties
System dialog boxes Properties for deactivation and reactivation of system
dialog boxes.
System colors Define system colors that you can use in your project.
Reactivation [s] Select a time after which a system generated dialog box
is reactivated if the user acknowledged it and the
alarm/error is still active.
System colors
You can select to define unique colors for your application. This could for
example be a company color or if you want to have some special color that is
not represented in the default color list.
Click to add a system color. Enter a color name and select the color you
want. Select Custom... at the top of the list of colors to create a custom
defined color.
Properties
The system colors can later be used at all other color properties, for example
background color of a display page.
Localization
Time format h = hour, m = minute, s = second, t = am or pm
h = 12 hour, H = 24 hour
hh, mm, ss = leading zero
h, m, s = no leading zero
Example: HH:mm:ss = 15:04:31
Dialog boxes
The dialog boxes that these properties concern are the boxes that will appear
on the display, such as Message, Information, Confirmation, Warning etc.
Caption
Properties
Menu system
These properties concern the texts in the menu system. They are grouped
according to menu page. Change the texts if you need to or add other
languages.
System info
Add items here to be displayed on the system info page on a display module
or in IQANrun. An item can be a text or a channel. Channel items are dis-
played with the channel name in one column and the value (and unit if appli-
cable) in another column to the right.
NOTE
The channel value is static on the system info page. It won’t be updated if the
channel changes value unless you leave the system info page and enter it
again.
Display controls
A display control is used to present information on the display in a pleasant,
easy to understand way, either graphical or with text.
There are many types of display controls with different functionality. You
will find controls for lines, labels, values, bar graphs, gauges, lamps, buttons
and more.
Line
This control is used to draw lines on a display page, for example to create
dividers or boxes. Simple animations are possible by controlling Y1, X1, Y2
and X2 with channels in runtime.
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
Y1, X1, Y2, X2 Enter a position on the X- and Y-axis for this line’s first
and second endpoint. To control position in run-time,
select a channel instead.
Label
This control is used to display a fixed text on a display page, for example
captions, dial scales, etc.
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
Value
This control is used to display a channels value, for example fuel level or the
clock.
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
Input channel Select the channel that controls the value of this
control.
Min value Minimum and maximum value for this control. The
Max value control will stop at these values even if the input
channel value is lower or higher. The values are
specified in the same unit as the input channel.
Enabled when Input channel is a numerical value
channel and property Show contains Value.
Number of digits Specify how many digits you want displayed for the
input channel’s value. Enabled when property Format
is Hexadecimal or Binary.
Number of decimals Specify how many decimals you want displayed for the
input channel’s value. Enabled when Input channel is a
numerical value channel and property Show contains
Value.
Linear bar
This control is used to display a linear bar graph, for example fuel level.
Border
Background
Bar
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
Input channel Select the channel that controls the value of this
control.
Bar length Specify the length and width of the bar in pixels.
Bar width These properties are available on all other display
modules.
Min value Minimum and maximum values for this control, for
Max value example 0 respective 200 liters for a tank.
The control will stop at these values even if the input
channel value is lower or higher. The values are
specified in the same unit as the input channel.
Background color The bar graph control consists of two parts, the
Bar color background and the bar that fills the graph, see image.
Select the colors for the background and the bar
respectively.
Border > Visible Select Yes to show a border around the control.
Circular bar
This control is used to display a circular bar graph, typically for temperatures,
levels, etc.
Circular bar.
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
Input channel Select the channel that controls the value of this
control.
Range > Minimum and maximum value for this control, for
Min value example 0 and 50 km/h for a speed gauge. The control
Max value will stop at these values even if the input channel value
is lower or higher. The values are specified in the same
unit as the input channel.
Bar > Bar width Specify the width of the bar in pixels.
Image bar
This control is used to display an advanced bar graph. The bar graph consists
of two images, one for the background and one for the foreground. Use this
control to create a bar graph with your own look and feel.
This control is only available on MD3 display pages. For other display mod-
ules, the same effect can often be achieved by putting a linear bar on top of an
image and/or use gradients.
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
Input channel Select the channel that controls the value of this
control.
Min value Minimum and maximum value for this control, for
Max value example 0 and 200 liters for a tank. The control will
stop at these values even if the input channel value is
lower or higher. The values are specified in the same
unit as the input channel.
Background image Select the images that you want to use as background
Foreground image and foreground.
NOTE
In our image library, the frames and bars are separated. To create the fore-
ground image, select a frame and a bar and merge them in your favorite
image editing software. Remember to use the same frame as background
image for best result.
Gauge
This control is used to display a theme based gauge with a needle. It is typi-
cally used to present vehicle speed, engine speed, fuel level, etc.
Scale
Tick mark
Label
Needle
Anchor
Gauge parts.
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
Input channel Select the channel that controls the value of this
control.
Range > Minimum and maximum value for this control, for
Min value example 0 and 50 km/h for a speed gauge. The control
Max value will stop at these values even if the input channel value
is lower or higher. The values are specified in the same
unit as the input channel.
Range > Show labels Specify if labels should be shown for the tickmarks.
Image Gauge
This control is used to display a gauge with a dial and a needle. It is typically
used to present vehicle speed, engine speed, fuel level, etc.
Needle
Anchor
Dial
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
Input channel Select the channel that controls the value of this
control.
Range > Minimum and maximum value for this control, for
Min value example 0 and 50 km/h for a speed gauge. The control
Max value will stop at these values even if the input channel value
is lower or higher. The values are specified in the same
unit as the input channel.
Dial image Select the image that you want to use as dial
(background).
Image
This control is used to display an image, for example a company logotype or
an icon. It is also possible to view one out of many images by the use of an
image selector. Simple animations are possible by controlling top/left and
rotation with channels in runtime.
NOTE
When using multiple images with an image selector all images should be of
the same size (width and height), otherwise some of the images may be
cropped or distorted.
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
Rotate > Angle [°] Enter how many degrees you want to rotate the image
clockwise. 0° equals no rotation. To control rotation in
run-time, select a channel instead.
This property is not available on all display modules.
Rotate > Enter a pixel value for the center position around which
X position the image should rotate on the X and Y axis. The upper
Y position left corner of the image is defined as top=0 and left=0.
These properties are not available on all display
modules.
Default image Select the image that you want displayed by this
control.
Image 1, 2, etc. Select the image that you want displayed when the
corresponding state is active.
Lamp
This control is used to display a lamp, for example a fuel level warning or
parking brake indicator. It uses two images, one for the inactive state and one
for the active.
Off image (dark grey)
On image (red)
NOTE
The two images should be of the same size (width and height), otherwise one
of the images may be cropped or distorted.
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
Off image Select the image that you want to represent the off and
On image on state for this control.
Line graph
The line graph is used to draw a graph of a channel value over time. When
using an array channel the complete array is drawn as a graph.
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
Input channel Select the channel that controls the value of this
control.
Last index Index in the array channel that corresponds to the right
most value in the graph.
X axis > Show labels Shows a label for each grid line.
X axis > Tick mark count Determines the number of tick marks and labels on the
axis.
X axis > Time depth [s] Number of seconds visible in the graph.
Y axis > Show labels Shows a label for each grid line.
Y axis > Tick mark count Determines the number of tick marks and labels on the
axis.
Bar graph
This control is used to draw a bar graph of the values in an array channel.
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
Input channel Select the array channel that controls the value of this
control.
Last index Index in the array channel that corresponds to the right
most value in the graph.
Y axis > Show labels Shows a label for each grid line.
Y axis > Tick mark count Determines the number of tick marks and labels on the
axis.
Y axis > Center value The bars in the graph will be centered around this
value. For values above the center value a bar will be
drawn upwards. For values below the center value a
bar will be drawn downwards.
Bar spacing ratio Determines the ratio between the width of each bar and
the spacing between bars.
Linear gauge
This control is used to display a linear gauge.
This control is only available on MD3 display pages.
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
Input channel Select the channel that controls the value of this
control.
IQANdesign User manual 344
Display controls
14 Display pages
Range > The needle’s min and max position that corresponds to
Min position the minimum and maximum values. Positions are
Max position specified as distance in pixels from top left corner.
Range > Minimum and maximum value for this control, for
Min value example 0 and 50 km/h for a speed gauge. The control
Max value will stop at these values even if the input channel value
is lower or higher. The values are specified in the same
unit as the input channel.
Background image Select the images that you want to use as background
Needle image and needle.
Needle image
Video
This control is used to show video from a camera connected via Ethernet to
the IQAN system. The camera specific configuration is done via a camera
module added to the project.
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
Text button
This control is used to display an interactive button on displays with touch
interface. This button has a rectangular shape with configurable text.
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
Text Enter the text that you want displayed on the button.
Symbol button
This control is used to display an interactive button on displays with touch
interface. This button has a circular shape with a configurable symbol.
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
Custom button
This control is used to display an interactive button on displays with touch
interface. This button has configurable images for the up, down and disabled
state.
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
Images > Up/Down/ Button images for button states up, down and disabled.
Disabled
Switch
This control is used to view and change the value of a digital parameter adjust
item.
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
Show text labels Select whether you want to show text labels for the off
and on positions on the switch, or not. The text labels
from the connected parameter are used.
Slider
This control is used to view and change the value of an integer or function
parameter adjust item.
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
State picker
This control is used to view and change the value of a state parameter adjust
item.
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
Design tools
There are some effective design tools to help you create the display pages and
hopefully save some development time.
Select controls
Select a control by clicking on it in the display page editor. If it is hard to
click on, for instance when it is placed under another control, you can use the
control list below the display page editor to select it.
Select multiple controls by pressing <Ctrl> while selecting, or by dragging a
selection box around the controls you want to select.
Move controls
Controls can be moved in several ways. The most obvious is of course to drag
it with the mouse in the page editor. You can also use the property inspector
to change a control’s position properties.
The different alignment and distribution tools are helpful when creating orga-
nized layouts, see separate sections.
If you want to fine-tune the position of a control, you can use the keyboard.
Ctrl and the arrows will move a control one pixel in the selected direction.
Shift+Ctrl and the arrows will move it the specified grid distance.
Resizing controls
Most controls can be resized in some way, often by changing properties in the
property inspector. Some controls can also be resized by dragging its resize
boxes, for example label and line controls.
Zoom
Zoom the display page editor in or out to your preference. Zooming will not
affect the final display page design in runtime, it is only a help for you at
design-time. When clicking either zoom button a small balloon tooltip
appears for a short period of time, showing the current zoom level.
Run
When you have added a display control to a display page you can do a simple
and fast test of how the control will look when you run the application.
You don’t have to connect an input channel to it, just click on the Run button
in the left side tool bar and all the controls on the page will start to run.
Grid
You can select to show a grid to help you draw and align controls, click the
Grid button in the left side tool bar. The visible grid appears as horizontal and
vertical dotted lines in IQANdesign, but not in the application sent to the
master. The controls will snap to the grid when it is visible.
To change the grid spacing, open IQANdesign options, Display pages tab.
The X and Y spacing can be set to your preferences.
System dialog
It is possible to get a preview of system dialog position and size by clicking
the System dialog button in the side tool bar. A ghost view of a dialog box is
shown for each display page.
NOTE
The Label and Value controls have a property called Alignment. That prop-
erty will change the controls horizontal reference position to left, center or
right justification. When you then use the above alignment tool, to align sev-
eral text and value controls, this alignment property can have an affect.
Orthogonal alignments
You can move and position a control orthogonally. It means that you can only
move the display control vertically or horizontally.
Press the <Shift>-button and move the control with the mouse.
Groups
Controls can be grouped. This is useful for controls that relate to each other in
some way, for example a value and a lamp relating to the same input.
Grouped controls act as a single control when selected in the display page
editor. The group can be named, just like any other control, and it has some
properties of its own.
Properties
Visible Select Yes to make this control visible all the time, or
select a digital value channel to control visibility at run
time.
Changing the top and left properties (or dragging the group) will move all
controls within the group and keep their relative positions intact.
To create a group, select the controls, right-click and select Group in the con-
text menu (or press Ctrl+G). To split a group, select it, right-click and select
Ungroup.
A group can contain any control type and also other groups. To select a sepa-
rate control within a group, either split the group first, or select the control in
the control list. Groups can be expanded in the control list to show their child
controls.
NOTE
Groups are not available on all display modules.
Layers
Use layers to organize controls. A layer can be hidden while editing the con-
tent of other layers. A layer can also be locked to avoid to unintentionally
move controls. Layers are only used at design-time, they have no function in
run-time.
To create a layer, right-click in the editor or list and select Add layer. A new
layer is added and selected as the active layer. Give the layer a meaningful
name to keep your design well organized.
New controls will be added to the active layer. The active layer is set by
selecting the radio button next to the layer name. It is easy to move a control
to another layer by dragging it in the control list.
To lock a layer, click the checkbox in the lock column. A locked layer can not
be edited in the page editor, controls can not be selected or moved.
NOTE
Layers are not available on all display modules.
Control order
The control order decides the Z-order when drawing a page. Controls with
higher order are drawn on top of controls with lower order. The order is
shown in the Order column in the control list.
To change the order, drag and drop a control, group or layer within the con-
trol list.
Hide controls
Controls can be temporarily hidden in design-time to make it easier to work
with complex layouts. Use the check boxes in the "eye" column in the control
list to hide or show a specific control, group or layer.
Controls are only hidden in design-time. To change visibility at run-time, use
the Visible property on each control or group.
You can also use the buttons in a “function” in the application. If you want to
control a function in the application you have to use a Virtual digital input
channel, VDIN.
You find display button and jog shuttle properties when you select one or
many display buttons. Select a button by clicking on it. To select many but-
tons, click each button while pressing <Ctrl>. Selected buttons are marked
with a white circle.
Buttons that have a function are highlighted.
NOTE
If there is a dialog box visible (conditional, interactive or system message),
all display page buttons will be disabled, except the ones used for controlling
the dialog box. See also section Conditional message (CMSG) on page 181
and section Interactive message (IMSG) on page 183.
Button properties
Adjust display Select how you want the adjust control displayed:
None - does not display any adjust control at all.
Miniature - displays the adjust control in a small
window in the lower right corner of the display.
Menu system - displays the normal menu system page
for the selected adjust item.
Display page control - the selected control is
highlighted when adjusting.
Note 1: Options None, Miniature and Display page
control does not work for adjust items with multiple
parameters, such as current outputs or voltage inputs.
Note 2: This property is enabled when one or more
action properties are referring to an adjust item.
Action 1, 2, ... One action property per state is created when property
Action selector is used. Same function as property
Default action.
Action 1, 2, ... One action property per state is created when property
Action selector is used. Same function as property
Default action.
Default action Select the display page or adjust item that you want to
go to or, select a virtual digital in channel to control
that channel’s value when button is pressed.
Select No action to disable this function.
Action 1, 2, ... One action property per state is created when property
Action selector is used. Same function as property
Default action.
Pixel positions
F1 35
F2 120
F3 205
F4 290
Up 60
Enter 120
Down 180
Gradients
A gradient defines a smooth transition from a start color to an end color. It
can also contain an arbitrary number of stops defining at positions between
the start and end color.
Gradients can be used on color properties. Not all color properties support
gradients though.
Gradient list.
Create a gradient by selecting the Gradients node in the project manager and
clicking on the Add button . The new gradient is added to the list and selected
to let you define its properties.
Properties
Color stops > Stop 1, 2, ... Color and position for each color stop.
> Color/Position
Direction
This property defines the direction of the gradient. If you select Default
instead of defining a fixed angle, the gradient direction will be decided by the
actual property where it is used. For example, when used as the bar color on a
linear bar, the direction will be decided by the orientation of the linear bar; 0°
for horizontal and 90° for vertical.
When used on circular shapes, such as the bar color of a circular bar, the gra-
dient will follow the circle path.
Color stops
Add as many color stops as you like to create the gradient.
EXAMPLE
A gradient is needed for this circular bar used as a tachometer:
Set the Direction property on the gradient to Default. Start color is set to orange
and End color is set to red. To create the asymmetric effect, add a color stop and
set its color to the same as the Start color, and the position to 60%.
Image group.
NOTE
When sending a project to a system only the images that are used by each
master are included in that master’s application. This means that when get-
ting the project from the system some images might be excluded.
• To add an image to an image group, use the Add button and select an
image from the image library. See section below for more info on the
image library.
• You can also click Add Image from File in the Add menu. Select the image
file you want to add in the dialog box shown.
The file format must be bitmap (.bmp), JPEG (.jpg or .jpeg) or PNG
(.png).
The image will then appear in the image group, and it will be presented, as a
thumbnail, together with the other images in the editor.
The default name will be the file name without an extension. Rename it to
whatever you want.
The images are embedded in the project file, not linked. Therefore, if you edit
an image, it will not be updated in your project file. To update to the new
image, right-click the image in IQANdesign and select Replace image in the
popup menu. Select the updated image in the dialog box that is shown and
click OK. The image and all controls using it are updated.
If the original image file is lost, you can export it from your project file.
Right-click the image in IQANdesign and select Export image in the popup
menu. Select a folder and enter a file name, then click OK. The image is
stored as bmp format regardless of what the original format was. Slight dif-
ferences compared to the original image may occur.
Image properties
Image Library
IQANdesign has a built-in image library. In this library you will find a lot of
different images for lamps, gauges, etc. These images are designed to give
your application a professional look and feel. By using these images you will
also fulfill the SAE standard for dashboard symbols.
Start up image
When a display module restarts after power off, a start up image will be dis-
played for a short period of time before the first display page will be shown.
By default this is a Parker logo image, but you can easily change it to another
image.
PDF documents
You can include PDF documents in the project for easy access on the master
display using the built-in PDF reader. To launch the PDF reader a PDF docu-
ment is selected as action for a button control.
NOTE
When sending a project to a system only the PDF documents that are used by
each master are included in that master’s application. This means that when
getting the project from the system some PDF documents might be excluded.
Export
It is possible to export one or more display pages/image groups to a separate
file and later import them to another application.
First, select the display pages or image groups that you want to export. Then
select File > Export components to open the export components dialog box.
Modules Modules are not exported (except the master where the
display pages are located).
For more information about export and import see section Export/Import on
page 236.
Names, units, menu items and other texts in the project file, may need to be
presented in several languages. There is always a default language, and there-
after you add new languages, as many as you like. The end user can then
select the desired language on the master module display.
Language properties
These are the properties for a language component.
Font This property allows you to use a different font than the
default one for this language. The property is not
handled in the same way for all display modules, see
details below. For the font to be selectable it must be
installed in Windows.
MD3: A font is needed if characters other than the ones
found in the WGL4 character range are used for a
language. This font will not be used for characters
within the WGL4 character range, instead the default
font will be used.
Other display modules: Select the font you want to use
for this language.
Note: As with any software, you need to license font
software in order to use it. Font software licences vary
depending on where you buy them from. Font software
publishers, font retailers, font foundries, type designers
and individual fonts will all have their own End User
Licence Agreement (EULA) which you should always
read carefully.
Additional characters When specifying a font above only the characters used
in the project for that language will be included in the
font. If you need additional characters to support e.g.
text parameters and other dynamic elements you can
enter them here.
Note: This property is only used by MD3 applications.
Memory consumption
Adding more languages to your project will consume more memory in the
master module. When sending an project you can choose not to download all
languages, but only the ones you need in that particular machine. See section
Send project on page 372 and page 396 for detailed information.
You can watch the memory consumption for each language in the project sta-
tistics dialog, see section Project statistics on page 68.
Unicode
IQANdesign supports Unicode including asian languages such as Japanese,
Korean and Chinese. However, the default font provided by IQANdesign
supports only a subset of Unicode called WGL4 (Windows Glyph List 4). It
contains characters that are required for Western, Central and Eastern Euro-
pean languages, and includes Cyrillic and Greek alphabets. For more infor-
mation on Unicode and WGL4, see http://www.unicode.org.
If a language is added that requires characters outside the WGL4 subset of
Unicode, a font needs to be supplied for that language (see section Language
properties on page 368).
Send project
When sending a project it is possible to select which languages to send. By
default all languages are sent and no send language option dialog is shown.
The dialog can be enabled using in the options dialog Tools > Options under
the Dialog tab.
Check the languages that you want to send to the system. This can be a way to
save application memory in a master module, especially for asian languages
where extra font data needs to be downloaded.
ATTENTION
When performing a get project or clone from a system without all languages
the resulting file will have empty texts for the languages not found.
Export
To make it easier to translate all texts in an project it is possible to export all
texts to an Excel file. First, add all the languages needed in your project. Then
check the multi-language check-box for all texts you want to translate, for
example, all texts visible to the end user. Remember all the system specific
texts, such as menu items, dialog boxes, etc. These can be found under the
Localization property on User interface, see section Localization on page
330.
Select File > Export languages... to export all texts to an Excel file. A save
file dialog box appears. Select a folder where you want your exported file
stored and enter a file name. An xls-file is created.
Open the file in Microsoft Excel and change texts in columns G and higher,
see image below.
ATTENTION
Please do not change columns A to F or rows 1 and 2. Do not add or delete
any rows or columns.
Import
Select File > Import... and select the Excel file that you want to import from.
The Excel file has to match your current project, that is, have the same project
ID. The project ID is stored in a hidden cell in the Excel file. If the project ID
does not match, the file can not be imported. For more information, see sec-
tion Project ID on page 73.
An import dialog box is opened.
Select the languages you want to import. All languages that have the same
name in the Excel file and the application file are selected by default. Press
OK and you’re done.
Font selection
When adding Unicode texts in IQANdesign or Microsoft Excel, you must use
a Unicode font that contains the character sets you need. IQANdesign will
use Windows font settings by default. To use another font, see section Dialog
options on page 54.
A helpful tool to see what character sets a specific font contains is Character
Map, that is installed with most Windows versions. In Windows 7 for exam-
ple, you find it in the Start menu under All Programs > Accessories > System
Tools.
There are several levels of security to protect your projects and machines.
This chapter will describe how to protect your project files and also how to
protect settings and other data stored in your machines.
Project password
The project password will prevent unauthorized people from opening your
project or getting it from the master.
There are two types of access to your project.
The first access level is the Full access password. This password prevents
unauthorized users from opening the project file in IQANdesign and thereby
changing it in any way.
The second access level is the Limited access password. The limited access
password prevents unauthorized users from opening the project file with
other software tools, such as IQANrun. When opening a project in such a
tool, the user will only be able to view it or send it to a master module. The
Limited access password will always be required when opening an applica-
tion in any other tool than IQANdesign.
In the dialog box you will be notified if the project file is protected or not.
There are two tabs, one for Full access and one for Limited access. Select the
one you want.
• Click on the Change button.
• Enter the password twice and click OK.
Safe passwords
In IQANdesign it is also possible to generate so called safe passwords. This
means that a user can have an encrypted safe password that he stores on his
computer, which allows him to open and use your project file. The idea
behind this type of safe password is that the user doesn’t need to know your
password and the application file may only be opened on the one computer
that you have enabled with the safe password. See section Safe password on
page 383 for more information on safe passwords.
Password database
The password database stores one or many passwords on your computer.
Only you will have access to the passwords. If someone else logs in to the
same computer, they will get their own password database. Passwords stored
in the database can not be copied or moved to another user or computer.
There is a password manager that lets you manage your passwords. Start the
password manager by selecting Tools > Password Manager.
Password manager.
In the password manager you can see your public key and a list of all your
passwords. The password list has four columns. You can sort the list by click-
ing the different column headers.
Password types
There are two password types available in IQANdesign; Full access password
and Component password.
Component password
Used to unlock protected components, such as function groups, in files with
the same ID as the component password. The component ID is shown in com-
ments. See section Locked function groups on page 230 for more information
on locked components.
Date restrictions
Passwords can be date restricted, which means they will only be valid until a
certain date. The date is displayed in the comment for date restricted pass-
words. When the valid date has been passed, the password will no longer
work.
ATTENTION
Please don’t try to change the clock in your PC to get around a date restric-
tion. The password manager will detect such attempts and lock the password
completely if necessary.
Add password
Whenever you enter a password for a protected file or component, you will be
asked whether you want to add the password to your database. Click Yes to
store the password.
The password is stored and will be used automatically when IQANdesign
detects the need for it next time.
If you click No, the password is added to the database anyway but only tem-
porary. Temporary passwords remain in the database as long as IQANdesign
is running. This means that if you open a file with the same ID and password
during the same IQANdesign session, you don’t have to enter the password
again. When you exit IQANdesign, all temporary passwords are removed.
The text (Temporary) is added to the comment for temporary passwords.
If you don’t see the dialog Add password, you probably turned it off by
selecting the check box Never show this again. To get it back, go to Tools >
Options and select tab Show again. Select the check box next to Add pass-
word in the list and click OK.
Safe passwords
To add a safe password to the database, you must first receive it from your
password administrator. You do that by sending the administrator a message,
for instance by e-mail, with your public key and a request for the password
you need.
The public key can be found above the password list in the password manager
dialog. There are also two buttons available. Click Send as Mail to create a
new message in your e-mail software with the public key in it. Add the e-mail
address for the administrator and a request for a password in the message, and
then send it. To enter the public key in some other software, click Copy to
copy it to Windows clipboard and then paste it where you like.
When your request has been granted, you will receive a safe password in
return. The safe password is just a long string of characters. To add it to your
password database, click on the Add Safe button in the password manager.
Enter the password in the dialog box that appears and click OK.
IQANdesign User manual 381
Add password
16 Security
The safe password is added to your password database and appears in the
password list. Check the password list to verify that you received the correct
password with the access you need.
Safe password
Sometimes you need to give other people access to your project, for example
service personnel or other users. You can also grant access to locked compo-
nents as well as access levels and master login.
In IQANdesign there are functions that help you generate so-called safe pass-
words. This means that you can generate an encrypted password that only
gives a user access to open your project file or access the locked components
on their specific computer. Only that specific user will be able to use the safe
password, no one else.
The safe password is unique and is generated from two parts, your project ID/
password and their public key. The public key is generated by a user’s license
number and unique information from their computer.
The idea with this safe password is that you don’t have to inform anyone of
your passwords. The user always works with the encrypted safe password.
The encrypted password must be put into their database, they cannot enter the
encrypted safe password in a standard password dialog box to open your
application file or access protected information.
Public key
Instruct the remote user to start the IQAN software that he needs the pass-
word for on his actual computer (the computer where the user needs to have
access to the project file) and select Password Manager in the Tools menu.
Select to either mail the public key to your computer or just copy and paste it
where you want it.
• Full access password gives the user full access to your application in
IQANdesign. It can also be used by other programs, for example IQAN-
run, but then only with viewing access.
• Limited access password gives the user access to open your application in
another program such as IQANrun or IQANscript. The user can view cer-
tain information in your application such as modules, physical I/O and
unprotected logs. If you want to grant the user view access to the whole
application (except locked components) you need to check the Allow
application viewing checkbox. To grant the user view access to items pro-
tected by an access level you also need to select the access level to give
access to in the drop down menu.
• Component password gives the user access to a locked component such as
a locked function group. Select which component to grant access to in the
drop down menu.
• User login makes it possible for a user to login to a master module without
knowing the password. Enter the username to grant login rights for in the
edit box under user login.
Enter the corresponding password in the password edit box. If you want to
restrict the safe password in time, select the Restrictions tab. Check the
checkbox for valid until and enter the date for the last day that the safe pass-
word should be valid.
Click Create to create a safe password based on your selections. The safe
password is displayed in a separate dialog box, see image below.
Send the safe password back to the user by clicking Send as Mail, or use
Copy to copy it to Windows clipboard.
Access levels
Access levels are used to define what users can see or do in your machines.
You can define as many access levels as you need.
All your access levels are found in the project manager, under the node Secu-
rity. Select it to view a list of all your access levels in the editor.
Drag and drop your access levels in the list to change their order. The highest
access level is called Root and has order 0 (zero). It is used by the superuser,
but other users can also have this access level. The root access level can not
be deleted or changed.
We recommend that you sort on the column Order when you are rearranging
your access level order. Click a column header to change the list’s sort order.
Properties
These are the properties for an access level component.
Users
Each user is connected to a certain access level. The user can see or do every-
thing that is protected by the same or lower access level.
The project can contain users connected to the different access levels. These
users are the same for all machines.To be able to use an access level, at least
one user must be defined in each access level.
To get access to protected settings, logs, etc., you have to log in to the master
module with a user that has sufficient access level for your task. IQANrun is a
software that has the ability to log in to a master module, see IQANrun User
Manual for more information.
Superuser
One user will always exist in every machine, the Superuser. Its password is
specified in the project and will therefore be the same in all your machines
that use that project. Select the user Superuser under the access level Root in
the project manager and enter desired password in the property inspector.
The superuser will always have the highest access level possible. This user is
only intended for development purpose and should not be used otherwise.
NOTE
The username for the superuser is Superuser. Usernames are case sensitive,
so make sure you use a capital S when logging in as this user.
Add a user
Expand the node Security in the project manager and locate the access level
that you want to add a new user to. To add a user, select the access level and
click the Add button.
Properties
These are the properties for user component.
Project security
There are some properties that affect project security. Most of them are access
levels for different operations. The security related properties will let you
control what the users can see or do with your project in a machine, such as
change settings, view logs, etc.
Security properties
These are the security properties that are common for a project. To access
these properties, select Security in the project manager.
Access levels > Specify required access level to change machine ID.
Change machine ID Users with lower access level will not be allowed to
change the machine ID.
This requirement to log in applies also when the
module is in safe mode.
Select Allow all to allow all users to change machine
ID.
Access levels > Specify required access level to update the project in a
Update project machine. Users with lower access level will not be
allowed to update application.
Select Allow all to allow all users to update
applications.
Note: This property only affects application updates
from IQANrun. IQANdesign can always be used to
update application regardless of users and access
levels.
This requirement to log in applies also when the
module is in safe mode.
Access levels > Specify required access level to access the machine
Remote access remotely.
Note: If needed, it is possible to circumvent this by
putting the master module in safe mode.
Also note that this property only affects IQANrun,
IQANdesign is unaffected by this access level.
Connectivity > Use this property to ensure that the machine is in a safe
Allow remote connection state before allowing a remote connection from e.g.
IQANrun to the master module. If a display module is
used as headmaster the user can be asked to confirm
the connection. Otherwise a digital channel may be
used to determine when it is safe to allow a remote
connection.
When controlled by a channel this channel must be
located on the headmaster.
Connectivity > Use this property to ensure that the machine is in a safe
Allow remote stop state before allowing a remote stop. Remote stop is
done when software is downloaded or the master
module is restarted. If a display module is used as a
headmaster the user can be asked to confirm the
operation. Otherwise a digital channel may be used to
determine when it is safe to stop the application.
When controlled by a channel this channel must be
located on the headmaster.
NOTE
It is strongly recommended that you define a superuser password for your
project, otherwise your machines will be totally unprotected. Anyone can
manage users and change any setting in the machine.
Also, make sure that you have defined both full and limited access passwords
for your project. Without these it is possible to get the project from a master
module and change the superuser password. For more information, see sec-
tion Project password on page 377.
NOTE
When connecting to IQANconnect directly through Ethernet the master mod-
ule will use outgoing TCP port 60100 to connect to the IQANconnect server.
Make sure that any firewall allows for outgoing connections on this port.
Component properties
There are properties on the different components in your project that affect
security. Here is a list of component types that have security related proper-
ties.
Adjust groups Access level for view/adjust and set factory default
value.
This chapter will present the steps necessary to transfer projects to and from
the IQAN system.
Whenever a project is sent to the system, a project check is performed before
the transfer starts. If any errors are found the project can not be sent. Hints
and warnings returned by the checking procedure will not prevent sending the
project to the system. However, it is recommended that all the warnings be
fixed before sending the project.
Transfer of application data can be done via a serial port, USB, CAN, Local
Ethernet or over Internet.
Options
Before transferring data between the PC and the IQAN system, you need to
set up your communication options. Select Tools > Options and select the
Communication tab in the dialog box.
When you have connected the PC with the IQAN system and started commu-
nication, a green status lamp lights up in the IQANdesign status bar to indi-
cate that the connection is OK.
NOTE
Only one IQAN program can be connected to the master module, if e.g.
IQANdesign is measuring and you perform an IQANrun operation using the
same interface, IQANdesign will automatically disconnect.
USB
The USB drivers are installed automatically the first time you connect a
master module to your PC.
ATTENTION
Make certain to use a USB isolator when using the USB port. Failure to do so
may result in damage to your PC's USB port(s). For more information, see the
instruction book for your master module.
CAN
To use CAN as communication device you need a CAN adapter attached to
your PC. For a list of supported CAN adapters, see the software data sheet or
contact Parker support. IQANdesign can connect using the first available
CAN adapter or you can select a specific CAN adapter in the options dialog
box.
When using CAN, please make sure there is no other traffic (ICP, SAE J1939,
etc) on the bus you are using for diagnostics, otherwise the functionality can
not be guaranteed.
If there are multiple master modules connected to the same CAN bus,
IQANdesign will try to connect to the master with address 0. This is the
master referred to as headmaster in a multi-master system. For more informa-
tion on multi-master systems see section Multiple master modules on page
405.
If it is not possible to determine which master is the headmaster, you will in
some cases be asked which one you want to connect to when you start to
communicate.
In a multi-master system IQANdesign takes care of switching between
master modules. However if you want to force a new master selection you
can select Communication > Disconnect and then start to communicate again.
ATTENTION
The CAN adapter should be installed and connected to the PC before the
program is started, otherwise it will not be detected.
Ethernet
An Ethernet cable can be used to connect to your IQAN system if it contains
a master module with an Ethernet port. The PC and master module must be
on the same network and their IP addresses set up correctly. Connect either
via a router/gateway, or directly with a cable from the PC to the master
module. Read more about these setups in section Ethernet on page 90.
WiFi can also be used if the master module is connected to the WiFi access
point with a cable.
If the module you want to connect to is located on another network than the
one your computer is connected to it may not turn up under Discovered mod-
ules. In this case you can try to add the IP address manually instead under the
tab Static modules. You will find the IP address of a display master in the
menu system of the master. Note that no public IP addresses will be accepted
here.
IQANdesign will remember which system you where connected to last time
and try that system first next time. If you want to force another system con-
nection, select Communication > Disconnect and then initiate a new commu-
nication again.
Simulator
Select this device to communicate with IQANsimulate instead of a real mas-
ter module. IQANsimulate needs to be started on the same PC and running a
simulation for this communication to work.
The programs will communicate over a TCP/IP port. Port number defaults to
8325 in both IQANrun and IQANsimulate and should not be changed. If you
must change port number, make sure you use the same port in both programs.
Internet settings
If you want to connect to a machine over Internet and you require a proxy to
connect to Internet it can be configured here. By default the system settings
are used, but you can also disable proxy for IQANdesign or use a custom set-
ting.
Quick switch
On the Communication menu there is one menu item for each communication
interface; USB, Simulator, CAN, Ethernet and Internet. Select one of the
menu items to quickly switch to that communication interface without having
to open the options dialog box.
The currently selected interface is marked with a check box in the menu.
Send project
Select Communication > Send Project or click on the Send Project button in
the tool bar. The shortcut key for sending an application is F11. The project
will now be checked for errors and the result will be displayed in a dialog
box. Continue sending by clicking the Send button in the dialog box. For
more information, see section Project check on page 65.
If enabled, a dialog box asking for options regarding settings is displayed.
Select your options and click OK to start sending. For more information, see
section Adjust items on page 290.
A dialog for selecting which languages to send will also be displayed if
enabled. Select which languages to send and click OK to start sending. For
more information see section Send project on page 372.
Enable send dialog boxes in Tools > Options, see section Dialog options on
page 54 for more information.
Status is shown during the send operation by a progress bar.
Sending project.
When the project has been sent, all master modules will automatically be
restarted.
Abort transmission
If the transmission has to be stopped, click Cancel.
ATTENTION
When sending a project to a system, first make sure the machine is not mov-
ing and the engine is shut down.
Get project
Before getting a project from the IQAN system, be sure all connections
between the PC and the master are completed.
Getting project.
Abort transmission
If the transmission has to be stopped, click Cancel.
Remote diagnostics
If your machine is equipped with a modem or otherwise connected to Inter-
net, it is possible to connect to it remotely. It is possible to send and get proj-
ect, measure and do all the things you can do with a local system.
ATTENTION
Take extra care when using a remote connection to a machine.
The persons at the machine could be exposed to an increased risk.
Always inform the persons at the machine before sending updates to the
machine and before performing any adjust operations.
Check with the persons on site that:
• the machine is positioned safely
• the engine is off
• the machine cannot start to move
• the emergency stop works, and can be reached quickly
In essence, these are the same precautions you take when working on site.
The only difference when working over a remote connection is that coopera-
tion with another person who is at the machine is always necessary.
IQANconnect
If your system contains a master with Ethernet connection and this is con-
nected to Internet you may access the system using the IQANconnect service
(to setup the connection see section Security properties on page 388).
To connect via IQANconnect you need a subscription for the service and a
key for the machine you want to connect to. The key is presented in the menu
system of the master module connected to internet (also available using the
system information channel in the application).
Select Communication > Connect via Internet to bring up the connection dia-
log where you manage your machine keys and IQANconnect subscription.
Select a machine in the list or add the key for a new machine. When the key
has been added the machine ID and connection status is retrieved from the
server and shown in the list. Select a machine in the list and click Connect to
start the communication. All remote diagnostics communication is routed
through Parker’s IQANconnect servers.
Subscription licenses
To start using the IQANconnect service a subscription license has to be con-
figured. This is done by clicking on the Subscription status link in the con-
nection dialog. In the subscription dialog that is shown a new subscription
license can be entered. After a valid subscription license has been set you can
see the status and validity information about your subscription.
NOTE
IQANconnect uses HTTPS on port 443 to communicate with the server. Fire-
walls normally allow communication on this port so no additional setup
should be required.
Proemion
If your IQAN system includes an IQAN-G2 modem you can connect
remotely to your system over Internet using the Proemion service.
All remote diagnostics communication is routed through a Proemion gateway
server. Because of this you will also need an account at Proemion to be able
to access the remote diagnostics service.
To connect to an IQAN system, select Communication > Connect via Inter-
net. Select the Proemion tab of the dialog where you need to supply your
username and password for the Proemion remote diagnostics service.
After entering username and password, click Get machines to get a list of all
machines that you have access to. To identify the machines in the list their
machine IDs are shown in the first column. In addition to this the IMEI num-
ber of the modem is shown in the list since this is guaranteed to be unique.
The state column shows if a machine is offline, online or busy with a remote
connection. Select a machine that is online and click Connect.
NOTE
To be able to connect to the remote diagnostics server IQANdesign uses TCP
port number 60100. This means that your firewall must allow for outgoing
connections on this port.
Disconnect
When your done, disconnect from the remote system using Communication >
Disconnect.
IQANsimulate synchronization
IQANdesign and IQANsimulate both have features that allow you to control
a simulation from either user interface.
An IQAN system consists of one or more master modules, and can also con-
tain a number of expansion modules. The difference between expansion mod-
ules and master modules is that the master modules contain an application
created in IQANdesign, while the expansion modules have fixed software.
Master modules are programmable by the user in IQANdesign, expansion
modules are controlled by the master.
The most basic IQAN systems contain just one master module, a single mas-
ter system, but it is also possible to create a system with more than one master
module in IQANdesign, a multi master system. This chapters describes how
to set up a multi master system in IQANdesign.
Multiple masters
In a system with high requirements, a specialized module for functional
safety such as the IQAN-MC3 may be needed. To access diagnostic data on
this master, a master-display, such as the IQAN-MD3 is needed.
There may also be functions on the machine with very high requirements on
availability, such as the transmission control. Locating logic and I/O for this
on one module can make this function more tolerant against faults in other
parts of the system, such as an interrupted CAN bus.
A set of functions on the machine that requires a short system cycle time can
be executed by an application on one master, fully utilizing its processing
capacity for these functions, while another master module can be assigned
with the application for the other control and diagnostic functions.
System design
This section describes the rules and guidelines for design of systems with
multiple masters.
Applications
Each master contain exactly one application. The applications on the masters
in the system are executed independent from each other, but they may
exchange limited amount of data.
The way that applications can exchange data is over the CAN bus. It is possi-
ble to set up this over J1939 or generic CAN, an easier way to do it is by
using the APPIN/APPOUT channels.
EXAMPLE
System with two master modules, one MD4 and one MC3.
System layout.
The system has two applications, and the applications are connected using
APPIN/APPOUT over the Master bus.
Applications.
Diagnostics bus
Diagnostic information from another master can be accessed from any master
in the system. To make this possible, all master modules must be connected
to the diagnostics bus.
The diagnostic information that can be sent between masters over this bus
are:
• Measured values in measure groups on another master
• Measured values shown on a display page of another master
• Dialogs messages from another master
• Adjustments of values on another master
• Log data when viewed on another master
System diagnostics using IQANrun/IQANdesign is also assigned to this bus,
which adds:
• Sending software updates, settings, clones etc to and from the PC
• Adjustments, measurements and reading of logs performed with the PC
• If a CAN bus modem is used, all the data to and from this modem.
The data sent on the diagnostics bus is dynamic. To save bandwidth, only the
information currently needed for another master, PC tool or modem is sent.
The utilization of the diagnostics CAN bus is therefore fluctuating, but can
become very high. It is therefore recommended to assign one bus only for
diagnostics.
In a multi-master system, only the CAN bus can be used for diagnostic con-
nection to a PC, it is not possible to connect to a multi-master system over
USB.
Addressing
The master modules in the system must have unique addresses.
The address is determined by the module type (e.g. MC2) and the IdTag that
is physically connected to the master modules. This IdTag address must also
match the Address set on the master module properties.
Modules without an IdTag will use address 0. Modules where the IdTag does
not match that of the application, will not start their application. Modules for
functional safety (e.g. IQAN-MC3) must always have an IdTag, they will not
default to address 0 if the IdTag is missing.
There must be exactly one master module in the system with the Address 0,
this module is the system Headmaster.
Headmaster
The system must contain one master module that is the system Headmaster.
In the System layout view, a star symbol indicates the role of headmaster.
The role of the headmaster is limited, but it is responsible for the following
system tasks:
• First connection point for the PC. When IQANdesign/IQANrun is con-
nected to the system over CAN, it will first establish connection to address
0, the headmaster. The headmaster also holds information about what
diagnostics (e.g. measure-, adjust groups, logs) there is in the system, this
reduces the time it takes for these menu selections to be shown in IQAN-
run.
• Synchronization of the machine ID. This is done on startup and if the
machine ID is changed using IQANrun, all masters get the Machine ID
from the headmaster.
• The modem properties, such as enabling of modem and when to allow
remote connection and remote stop. See modem for details. These proper-
ties must belong to the headmaster. Only CAN modems are supported for
multi-master systems.
For all other tasks in the system, each master module handles its own applica-
tion and integrity in the system. The system can continue to function when
the headmaster is missing due to a fault, see section Erroneous or incomplete
systems on page 414.
Optional modules
Normally, an error message will be shown on the display(s) in the system if
any master module is missing or gets disconnected.
The system could be designed with a separate master to control a function
that is either a machine model option, or that controls an attachment that is
not always connected to the machine.
Expansion modules
An expansion module may only belong to one master module. IQANdesign
will generate an error if more than one master module is connected to the
same expansion bus.
It is however possible to have expansion modules on a bus that is physically
connected to two master modules.Only the application in the master module
that is connected to the expansion bus in IQANdesign will read inputs and set
outputs on the expansion modules on this bus.
EXAMPLE
System with two master modules and one expansion bus, where the bus is
physically connected to both master modules. In the correct system, the
expansion bus is assigned only to one of the master modules in IQANde-
sign, in this case the MC43.
Correct system, the XC23 expansion belongs to the MC43 master. The MD4 application can not use
the expansion module channels directly.
Error, both the MD4 and the MC43 have been connected to the expansion bus.
System time
All master modules in the system will use the same date and time settings.
This is synchronized at startup, the latest date and time settings will be dis-
tributed to all masters in the system.
If the date or time is changed, the change will be distributed to all masters in
the system.
Safety aspects
Multiple master can be used in a system where part of the functionality is
safety related. Actually, this is one of the main points for the IQAN multi-
master system, to be able to use a display module together with a master for
functional safety (e.g. IQAN-MC3), and provide an easy-to-use diagnostic
connection.
APPIN/APPPOUT
Although normal CAN is highly reliable and has methods for error detection,
this is not considered sufficient for safety functions with a higher integrity.
To solve this and fulfill the requirements of IEC 61508, the real-time data
sent between masters for functional safety has additional methods for error
detection.This error detection is automatic when using APPIN/APPOUT.
The timeout
The timeout of the APPIN channel is automatic, and based on the transmit
rate of the APPOUT. For APPIN:s used for safety functions, a minimal trans-
mit rate must be defined in the APPOUT.
See description of APPIN/APPOUT for further details on the channel proper-
ties.
• by setting the adjust item limits so that the value can only be adjusted
within a safe range
• by applying security; a PIN code or Login.
This is also described in the IQAN coding guidelines in section Coding
guidelines on page 417. For channels in safety related function groups,
IQANdesign application check will generate an error if no security has been
applied to the corresponding adjust item.
The need for protecting adjust items, and the methods to do it, is just as appli-
cable when connecting IQANrun to the system, e.g. during service. But there
is a significant difference for the security aspects in a multi-master system:
With a display module permanently installed in the vehicle, and with a menu
system that is open to the operator of the machine, there is an increased risk
of attempts to modifications through the adjust menu.
Therefore, it is recommended to choose a protection that takes this into con-
sideration:
• Select a user login level for the most critical adjust groups. This way, the
adjust items in these groups will not be accessible at all from a display
module, only when IQANrun is connected.
• For parameters that should be modified by trained operators, such as
COUT settings, try to set limits that will give safe operation of the
machine over the whole range of the parameters.
Other methods, such as hiding of adjust groups through the Visible property
can also be considered.
Note that even if a PIN code is entered on a display module it is always veri-
fied by the master that owns the adjusted channel before any adjustment is
allowed. The same is also true for items protected by access level when
logged in from IQANrun.
OK
When the system is working normally, all master modules are connected, and
are capable of exchanging data over the Diagnostics bus and over the Master
bus. Multi-master state is OK.
Limited
The master modules are also capable of executing their own application,
without a connection to the other master modules in the system. If a master
module do not have contact with another non optional master, the multi-mas-
ter state will be Limited.
In limited operation, master modules that are still connected can continue to
exchange data. Data from the missing master modules is marked as time-out.
If the connection is re-established, the communication will be resumed. The
multi-master state will change to OK.
Stopped
If an error is detected, the multi-master state will be Stopped.
When a master module is in this state, it will not exchange any data with other
master modules over the Diagnostics or Master bus. The master will continue
to execute its application, but no data will be received from or transmitted to
other master modules. All data from other master modules will be marked as
time-out.
The project ID and revision is checked both at startup and continuously. If the
checks are not ok, the multi-master state will change to Stopped, and the
application will stop exchanging data on the diagnostics and master bus.
Missing modules
If a master module is missing, the other applications will be in limited opera-
tion. Two special cases exists:
Headmaster missing
If the headmaster is missing, the other modules will also be in limited opera-
tion, just as if any master module was missing. There is a small difference for
PC diagnostics, with no headmaster, the PC will not know which master to
connect to, so a dialog of available modules will be presented to the user:
The same dialog will be shown if there is more than one module with address
0 on the bus.
Getting a clone is also possible if the system is not complete, this will be an
incomplete clone. The incomplete clone can be opened and viewed in IQAN-
run, and can in some cases be sent to a system.
An incomplete clone can not be opened in IQANdesign, since that would
result in an incomplete project file.
It is not possible to get the clone if the system has errors, such as mismatch in
the project ID or the project revision.
A clone or an incomplete clone can be sent to just one master module. The
typical use case would be loading a module on the bench before replacing it
in the machine.
An incomplete clone can also be sent to a system. But it is only possible to
send the incomplete clone if the other modules in the system that are not
updated by this clone, have the same project and revision as the clone. Other-
wise, an error message is displayed and the operation is aborted.
IQANdesign is a tool that gives the designer great freedom in designing func-
tionality for control of mobile hydraulic applications. This flexibility also
means that there are different ways of implementing the intended machine
function. But not all methods are good designs, a well designed IQAN appli-
cation is readable and understandable, robust to errors and always produce
the expected output.
This chapter describes general guidelines for implementation of IQANdesign
applications. Applying coding guidelines is of great importance when imple-
menting safety functions, but most of these guidelines can be taken as advice
for all types of applications.
General guidelines
These are general guidelines that improve the readability of an IQANdesign
application.
Naming conventions
The best way to document the application file is to use descriptive names.
Names should be unique. Even though it is allowed by IQANdesign, two
channels should not have exactly the same name; then more descriptive
names are needed.
Also see section Adding channels on page 108.
EXAMPLE
A proximity switch that is used to detect if the cab door is closed, could
have a name like:
• Sw Door closed
Bad examples are “door switch”, “proxy 1” or “DIN-A”.
If a pair of normally open and normally closed sensors are used (NO/NC),
then good names could be:
• Sw Door closed
• Sw Door open
EXAMPLE
An IDC that is used to check that a start-up condition, where the value true
means that the condition is met, could be named:
• Start up OK
• Start up safe
• Crane start up OK
Bad examples are “Start up safety”, “IDC start check” or “New Internal
Digital”.
EXAMPLE
Input from a coordinate joystick could be named:
• JS Right X
Or if the joystick only control the boom function
• JS Boom
If the boom can be controlled with a radio remote, a suitable name for that
input may be:
• RR Boom
EXAMPLE
A PT sensor that measures hydraulic oil temperature could be named:
• Hyd. oil temp
• Hydraulic oil temperature
Avoid names such as “temp”, “tempsensor” or “VIN-A”.
Use of abbreviations
When using abbreviations, such as temp for temperature, it is important to
use the same abbreviation throughout the entire application. Using different
abbreviations for the same word only causes confusion.
Documentation
Use description. For functions where the name of a channel alone is not suffi-
cient to understand the functionality, add a description to that channel.
EXAMPLE
Architecture
Organize applications in function groups that are oriented around a set of
functions that share the same information, or that are similar in nature.
Structure applications in function groups of limited size. As a rule of thumb,
strive for function groups of a size where there is no need to scroll to view
other parts of the group.
EXAMPLE
For a wheel loader application, the choice of function groups on a top level
could be:
• Joystick functions, with all the controls for the hydraulic implements.
• Engine, with J1939 interface, including engine speed command.
• Transmission control, a separate group from the engine, but with func-
tion group interfaces to the engine.
• Machine diagnostics, with a collection of diagnostics that do not influ-
ence the machine operation, e.g. hour counters.
Layout
Organize functions with inputs to the left and outputs to the right.
This will aid the readability of the application by giving a graphical illustra-
tion of the control flow.
EXAMPLE
Value types
For a description of value types used in IQAN, see section Value and status
on page 111.
IQANdesign will in most cases prevent unnecessary mixing of value types.
As an example, a DOUT will only take channels of value type boolean as
input.
To provide flexibility, some unusual combinations are allowed, but they
should be avoided.
EXAMPLE
A common example of unnecessary mixing of value types is the use of the
Dual object within an IDC.
Use of two Dual objects. The input is first converted to 100 or 0, when used in the channel method
Or, the value 100 is interpreted as True.
Calculation order
The application should not have any unintentional inverse calculation order
warnings. See section Calculation order on page 227.
Project check
The Project check shows Errors, Warnings and Hints.
A project file with Errors is automatically prevented from being sent to any
master modules.
An application can run as intended with both Warnings and Hints, but they
are in many cases indications that the designer might have overlooked some
aspect, such as security or checking that units are used consistently.
In a realistically sized project, Hints are unavoidable, but there should be no
or very few Warnings.
As a rule of thumb, the list generated by the Project check should be kept so
small that it can be read without having to scroll through it.
Safety principles
Start and restart conditions Consider safe start and restart conditions.
De-energization
The use of De-energization is a general safety principle. Design the control
function so that the output is deactivated if the commanding input is open.
Error detection
Use error detection by checking the status of channels used for control.
EXAMPLES
• For VIN that is reading the signal for a joystick function, a good error
value is normally 0, since that normally corresponds to no activation.
• Another example is a VIN that is reading the pressure in an overload
detection function, a good error value here is to use a pressure that is
higher or above the maximum possible pressure.
EXAMPLE
Start block functions.
• For start-up, design a function that waits for the joysticks to return to
the neutral position before allowing actuation of the hydraulic imple-
ments.
• To avoid unexpected re-start after an error that could be intermittent,
design a function that requires the joystick to return to neutral after an
error is detected.
The compare channels AAC, ADC and DDC can also be used in the imple-
mentation of safe start and restart conditions.
EXAMPLE
For a crane application where the functions can be operated both by joy-
sticks in the cab or by a radio remote, two separate inputs are used to select
either control from the cab, or from the radio remote. A state machine
channel is used to select if local joystick control or radio remote is used.
Protect parameters
Modifying parameters, such as voltage input calibration, function parameters
or COUT Min and Max can have a significant impact on the machine func-
tionality, where incorrect adjustments can cause an unwanted behavior.
There are two ways to avoid this for parameters that need to be adjustable:
• Use limits on the parameters.
• Protect the adjust groups from unauthorized access.
The use of limits should be the primary way of keeping the parameters within
a safe range. If limits are not enough, protect the adjust groups with an access
level or PIN codes. User access levels gives a stronger protection than PIN
codes, and are to be preferred for parameters that can influence safety.
Consider that with a display in the system, Adjust groups become more
accessible to the user, and some parameters may require a higher access level.
Safety related function Use safety related function groups where applicable.
groups
Interfaces to non safety Safety related functions shall take priority over non
related functions safety related (limiting).
EXAMPLE
On an application with a safety function for load moment control, where
the geometry of the machine influences the configuration of the overload
protection, the parameter(s) for overload are safety related.
If the boom length is a function parameter that is configured in production
for various machine models, select an application default at or above the
longest possible boom length.
Input integrity
The integrity of the input signals used in a safety function must be ensured.
For many input types, for example those connecting to digital inputs, this can
only be done by comparing the signal with another redundant signal.
Use the compare channels AAC, ADC and DDC to check if the inputs signals
are OK.
Qcode guidelines
Qcode is designed to be readable even if you are not used to programming
languages. By following these guidelines the Qcode expressions will be easy
to read and understand.
Indentation
When using conditional statements such as if, elseif and endif it is important
to use indentation to make the expression readable. Without indentation it is
hard to determine which lines that belongs to the different branches of a con-
dition.
Indentation is accomplished by pressing the tab key at the beginning of a line.
A tab corresponds to 2 spaces in the Qcode editor.
EXAMPLES
Comments
Comments should be used to explain Qcode expressions when their purpose
and functionality are not obvious. Avoid putting any information into com-
ments that is likely to become out of date.
Place comments at the same indentation level as the code that follows it. You
can group single-line comments to form a larger comment.
Comments can also follow the code they reference. These comments, some-
times referred to as trailing comments, appear on the same line as the code
they describe.
EXAMPLES
Parenthesis
There shall never be white space between an open parenthesis and the next
character. Likewise, there shall never be white space between a closed paren-
thesis and the previous character.
EXAMPLES
Blank spaces
To make an expression more readable it is a good idea to use blank spaces at
certain places:
• After a comma.
• Before and after binary operators.
EXAMPLES
Blank lines
Blank lines can improve readability by grouping sections of the code that are
logically related.
Naming conventions
Variable names should use InfixCaps, which means the first letter should be a
capital, and any embedded words in an identifier should start with a capital
letter. Any acronym that is embedded should use capital letters. Do not use
underscore to separate words.
EXAMPLES
BoomLeverPosition
PINCodeEntered
Channel names may contain spaces since they are also used in information
shown to the end user in e.g. diagnostic functionality, dialogs and logs.
Do not use the same name for a local variable as for a channel in the same
function group, even if it is syntactically allowed.
Do not use reserved words and operators in channel names. For example if a
channel is called “A + B” it will be very confusing if this channel is used in a
Qcode expression.
IQANdesign User manual 431
Qcode guidelines
20 Coding guidelines
Line break
A long expression can be divided into several lines by ending the line with an
underscore. If you wrap a line in this way the second line should be indented.
EXAMPLES
If statements
The most likely case to execute in an if/then/else statement shall be placed in
the then clause, with less likely cases residing in the else clause(s).
When multiple conditions are tested it, sometimes is advisable to have each
condition on a line of its own. This is particularly important in those cases,
where one or more conditional statements are long. If this style is chosen, the
conditions are indented, so that they align to each other.
EXAMPLES
This chapter contains a number of examples. You can find the actual compo-
nents used in these examples in the application file Examples.idsx, which can
be found in the Examples folder created by IQANdesign’s installation pro-
gram.
• Rename the voltage input by clicking on the Name property in the prop-
erty inspector. Enter the new name Hyd. Temperature and press <Enter>.
• For a quick way of configuring the VIN, click Device Type and select
IQAN-ST.
Device type.
• If you use another sensor, you can instead enter the calibration points and
unit manually. Hint: To enter the unit °C, the character ° can be inserted by
typing 248 on your numeric key pad while holding the <Alt> key pressed.
System layout.
• Select the master module by clicking on the MD4-7[0] module that you
added when starting the project.
• Rename the master module by pressing <F2> (shortcut key for Rename),
enter Master and press <Enter>.
• Select Master application in the project manager. Click the voltage input
and drag it to Master (MD4-7[0]) in the project manager.
All items in the module view can be moved around so to give a better graphi-
cal representation of how the real layout looks.
• Now you can select the MD4 block diagram, and move the VIN to the
XA2.
• The next step is to add another input signal. Select Master application in
the project manager. Add a second channel, a frequency input. We’ll use a
different method this time. Click the Frequency in in the Inputs/Outputs
section of the drop down list and drag it to the work area. Drop the chan-
nel where you want it.
Channel renamed.
• Connect the frequency input to the expansion module (XA2) in the same
way as you did with the voltage input.
• Now, we will add a display page and a couple of controls that will be used
to display our voltage input and frequency input values. Right-click on
Master display pages under User interface in the project manager and
select Add display page in the popup menu.
• Rename the display page by pressing <F2>, enter Main page and press
<Enter>. Ensure that the property Show has been set to Always, that makes
this page visible on startup.
• Select Main page in the project manager.
• Add a value control by clicking Add and double-clicking Value in the
Visual controls drop down section.
• Move the value control to another position on the display page. This can
be done in several ways. The easiest is to drag and drop it where you want
it. See section Design tools on page 350 for other methods.
• We want to connect our voltage input to this value control. Go to the prop-
erty Input channel in the property inspector. Click on the drop down arrow
to the right and select our voltage input in the popup menu.
• We want to show not just the value, but also the unit. To use the unit from
the input channel, select Value and unit on property Show.
Linear bar.
• On the properties of the linear bar, select Input channel to be the tempera-
ture in the same way as before.
• Select Orientation, and make it Vertical.
• To make the bar use more than one color, select User interface, and
Gradients. Right click to add a Gradient.
• Rename it to Temperature Gradient.
Adding gradient.
• To make use of the default color from the bar graph, select the display
page, select the linear bar, click on the Bar color, and copy it using Ctrl-C.
• On the gradient again, use Ctrl-V to paste this color as the Start color.
• Click on Color stop, this will add one more intermediate point on the gra-
dient.
• On the display page, select the linear bar. Set the Bar color to the new
Temperature gradient.
• Set the Border Visible to No.
• Set the Pitch to 5.
• For our frequency input we want to use a gauge to present its value. The
quickest way to add a gauge is to use the Gauge in the drop down. This
will give you a gauge where the range can be set as parameters.
• Set property Input channel to our frequency input Vehicle speed [km/h].
Gauge properties.
• We also want to be able to access the built-in menu system on the MD4.
To add a button, under Interactive controls. Use the drop down next to
Symbol Button and select Image Library > Buttons > Menu large.
• The default Action on this button is set to Enter menu system, so we do not
need to change this.
• Now, we want to save our project, but first we should give it a name and a
version. Select Project > Properties from the menu. Change Name and
Version.
• Close the project properties dialog by clicking the OK button. The status
bar of IQANdesign should now show the name and version you entered.
Status bar.
• Select File > Save. A save dialog box is shown. Select folder and file
name and click Save.
• To test our application we will use IQANsimulate. Click the Run button
in the main tool bar. When IQANsimulate starts, select New Simulation.
Simulator running.
• The simulator detects an error on our voltage input. That is because the
default value for all channels is 0 mV, and that is detected as an open
circuit for voltage inputs. We can easily change the value of our voltage
IQANdesign User manual 445
Present inputs on a display module
21 Examples
Simulator running.
• Stop your simulation by clicking the Stop button in the main tool bar.
• Double-click on the function group to open it. You can also select the
function group in the project manager under Application Logic. The editor
should now be empty.
• Now let’s add the channels we need for our crane. Add two Directional
analog channels (DAC) with the names Lever Boom and Lever Telescope.
This is a pre-calibrated channel type for IQAN levers. Its value is -100%
to 100%, where 0% equals center position.
IQANdesign User manual 447
Controlling a boom function, using Object list
21 Examples
• Add two Current output channels (COUT) with the names Boom and Tele-
scope. This is a channel type to control current outputs on IQAN modules.
It is typically used to control a valve.
• Also, to prepare for our end damping function, and for other interlocks we
will add later on, add two Dual direction math channel (DMAC) and name
them Boom function and Telescope function. This channel type can be
found on the Calculation tab in the channel tool bar. It is used to perform
mathematical calculations, which we will do later.
• The editor should now look something like this:
• Some of the channels are red, which means there is some problem with
them. Point your mouse to a channel to see a description of the problem.
In our case it says Error: Unassigned, which means the channel isn’t con-
nected to any module. You can also use the Check project function to get
more details on all your project problems, see section Project check on
page 65.
Problem description.
• To fix this, we need to add modules and assign our channels to them.
Select System Layout in the project manager.
• Drag a lever module (LC5) to the system overview.
• Connect the LC5 lever by dragging its CAN port A to the expansion bus.
• Go back to our Crane function group. Select both lever channels by drag-
ging a box around them. Drag both channels and drop them on the LC5
module in the project manager. Do the same with the current outputs, but
drop them on the XA2 module.
• The current outputs are still red. The problem description now says Error:
Undefined reference. This means the reference property Input channel has
not been defined. The input channel is used by the current output to con-
trol its value. It should range from -100% to 100%. The input value is con-
• The function should now look like the image below. This object type Sin-
gle object has only one property - Input. The value of the object will
always be the same as Input. Since this is the only controlling object, it
will now control the value of the math channel, that is, the math channel
will have the same value as the lever input.
Boom function.
• Also add the Lever Telescope in the controlling group for Telescope func-
tion.
• Lines have been automatically drawn between our channels to indicate
how channels reference each other.
• None of the channels are red anymore. Instead, the line between Telescope
function and Telescope is red. This indicates a calculation order problem.
All channels are calculated in a specific order each sample. The default
order is the order they were added to the application. Remember that we
added the current outputs before we added the math channels. This means
that Telescope will be calculated before Telescope function and thereby
use Telescope function value from the previous sample. With a sample
time of 50 ms, this means you will get a 50 ms delay here. Not dangerous,
but probably not what we wanted.
• To fix this, right-click on the Telescope output and select Calculation
order. A dialog box is shown.
• Change the order by drag and drop of the necessary channels. In this case
we can use the Auto order button, which will try to order the channels for
us so we get as few inverse calculations as possible. Click OK.
• Now it’s time for the end damping function. We want the telescope to slow
down before it reaches any end position. To do this we need to know the
telescope position of course. The telescope position is measured with a
position sensor connected to a voltage input on our XA2 module. There is
one problem though, the telescope position will be used in other function
groups in our application later on. If we put it in our Crane function group,
it is hidden from all other function groups. Channels in a function group
can only reference other channels within the same group. The solution to
this is to use a Function group input channel.
• Add a Function group input channel to the Crane function group. It is
located on the Structure tab in the channel drop down list. Rename it to
Telescope position. Change property Unit to m (meters). Make sure the
property Input type is set to Real, this will allow us to connect analog sig-
nals to this FGI.
• Go back to the Application Logic node and add a voltage input. Rename it
to Telescope position sensor. Change property Unit to m (meters). Change
the Scaled max property to 2. This corresponds to our telescope’s maxi-
mum length, which is 2 meters.
• Drag it to the XA2 module and drop it to connect it to one of its pins.
• To use it in the Crane function group, select the function group. It will
now have a new property, named Telescope position. This is the name of
your function group input that you added earlier. Select Telescope position
sensor at the Telescope position property.
• Press F5 to refresh the view. There is a red line from Telescope position
sensor to Crane. Change the calculation order as before to fix this prob-
lem.
• The function group input channel Telescope position will get the value and
status of the Telescope position sensor voltage input. The voltage input
can be used in other function groups in the same way.
• Now we have everything we need to write our end damping function.
Select the math channel Telescope function. We have already added an
object to the list of Controlling objects. To reduce the speed when we are
near the end of the cylinder stroke, we will use Limiting + and Limiting -.
• The end damping is implemented as limiting objects, one in the positive
direction (out), and one in the negative direction (in). Right-click in the
Limiting + objects list box and select Add Vector. The vector object is a
linear function defined by two points. Set properties as shown in picture:
• The vector object’s value will be 100% for Input values up to 1.75 meters,
decrease linearly down to 20% when Input goes from 1.75 to 2 meters and
then stay at 20% for all Input values higher than 2 meters. Since this
object was placed in the Limiting + object group that has higher priority
than the Controlling object group it will limit the math channel’s value
when we get close to outgoing end position. Note that it will only limit the
value, never increase it. For example, if the controlling object is 25% and
the limiting object is 50% the channel value will still be only 25%.
IQANdesign User manual 453
Controlling a boom function, using Object list
21 Examples
• Add a vector object to the Limiting - object group to get end damping in
the other end position as well. See property values below:
• The Limiting + object group will only be calculated when the output is
controlling the positive direction, that is, when the output value is greater
than 0, and vice versa for the Limiting - object group.
• Fix the last problem by changing the calculation order. You can adjust the
width of the object groups to see all the objects. The function group and
function inspector should now look like this:
Crane function group and function inspector showing the telescope function.
• Start the simulator to test your application. Change values on the telescope
position and levers to see how they affect your current outputs. To mea-
sure the object values in the math channel, go to Crane function group and
select Telescope function in the Channel drop down box in the function
inspector.
• Each channel you added to the measure group has been encapsulated by a
measure item. The measure items are shown in the lower left corner. They
were given the same name as its channel by default, but you can change it
IQANdesign User manual 457
Adding measure groups
21 Examples
if you want to. Remember that this name will be visible to the machine
user, so you might want to give a more self-explanatory name in some
cases.
• You can rearrange the order of the measure items. This could be a good
idea to help giving an indication of signal flow also in the measure group.
E.g., after Lever Boom, place Boom function, and after Boom function,
place Boom (output)
• Each measure item has also been assigned a color and min/max values for
the Y axis. The Y axis will only show values for the selected measure
item.
• Test your measure group by starting the simulator. Select Measure > Start
Measure to begin measuring. After you have stopped measuring, you can
use the cursors to get statistics on your data in the lower right corner of the
measure group’s editor.
• The measure group will also show up in a display module’s menu system.
If you added the Symbol button for menu in the firs section, you can click
on this while simulating to enter the MD4 menu system.
Menu button.
• In the menu, select Measure, and then Crane to view its measure items.
• A dialog box is shown, asking you for a channel name. Enter Engine
Coolant Temperature and click OK.
• Add two more parameters to the parameter group, Fuel Temperature and
Engine Oil Temperature in the same way as described above. Set proper-
ties from the specification.
Fuel temperature and Engine Oil Temperature in the SAE J1939 specification.
• We have on more thing to do with the parameter group, to set the offset of
each parameter within the CAN frame. Start with parameter 1. Click on
the button to the right at property Offset [bits].
• A dialog box is shown. Enter the offset found in the specification for this
parameter group, or click in the grid to position your parameter graphi-
cally. The grid will show you which positions are available.
• Now we will add the diesel engine module and a J1939 CAN bus to the
system. Go to System Layout. Select the J1939 and generic CAN modules
tab in the drop down list. Drag a J1939 module and drop it on the system
overview.
• Rename the module to Engine. The MD4 property J1939 source address
defines IQAN’s address on the J1939 bus and is by default set to 39. This
is the SAE assigned address for “Management computer”. Change this if
the diesel engine requires IQAN to be another address.
• Connect CAN port B on the MD4to the J1939 module.
• Drag the parameter group channel Engine temperatures and drop it on the
Diesel engine module.
• You’re done!
Finite State Machine Contains logic to control the state. Each transi-
(FSM)
tion is defined, and depends on current state.
State Machine Channel Contains logic to control the state. Active state is
(SMC)
evaluated based on priority between the states.
State Parameter (SP) The state controlled via an adjust item or another
channel.
The channels are similar, and all of them can be used in channels and controls
that have either the property function selector or mode selector.
The difference is that the state machine channel (SMC) and finite state
machine (FSM) contains logic to select the active state, while the state param-
eter channel (SP) is controlled as an adjust item or by another channel.
• Add a state machine channel (SMC) to the application and name it Control
station selected. The state machine channel is found on the tab Miscella-
neous in the application view.
• Left click on the state machine channel. On the bottom panel the function
inspector will appear. Right click on the tab named New State and select
Rename. Name it Cabin control.
• Right click on the same tab again and select Add State. Give the new state
the name Radio control.
• Left click on the state machine. In the property inspector to the right a
property called Default state name will appear. Change it to Disabled.
All states in state machine except the default state have activating and block-
ing objects just like internal digital channels. Only one state can be active at
the same time. Each cycle the states are evaluated from left to right; the first
one to be true will become the active state. If no other states are true, the
default state will become true.
• Switch from Qcode to Object List in the function property inspector.
• Select the state Cabin control in the function inspector. Right click in Acti-
vating and select Add Single. In the Property inspector, use the drop down
box to change it from True to Sw Cabin control active.
• Repeat this by making the channel Sw Radio control active the blocking
object for this state.
• Select the state Radio control. Now use Sw Radio control active as the
activating and Sw Cabin control active as the blocking object.
Since the states Cabin control and Radio control are both blocked when the
inputs are equal, the default state Disabled will become the active state.
• Test the function in the simulator to verify that the state changes like the
table below.
• Mark the channel Boom function. In the property inspector to the right
there is a property called Function selector. From the drop down box,
select the state machine Control station selected.
• Tabs with the same names as the states in the state machine will now
appear in the function inspector. Select the tab Cabin control. Under Con-
trolling +/-, add a single object, JS Right X.
• Select the tab Radio control. Add ta multi-vector object, use Radio Right X
as the input. Create a 10% dead band by adding four points, changing the
properties to (-100, -100), (-10, 0), (10, 0), (100, 100)
• Add a MD4 display page, and add a Value control. Select Control station
selected as the Input channel, and make sure the Show property is set to
Value. This will display the name of the currently selected state.
• Test the function in the simulator to verify that the function works as
expected.
• Drag a box around JS Right X, Radio Right X, Boom function and Boom.
Make a copy of these channels using Ctrl-C and Ctrl-V. Name the copied
channels JS Right Y, Radio Right Y, Telescope function and Telescope.
• Once again, test the function in the simulator to verify that the function
works as expected.
• In the application view, select a Finite state machine (FSM) channel from
the drop down Miscellaneous and name it Active control station.
• Double click on Active control station. This will bring up an editor for the
states and transitions.
• Right click and Add state or double-click to add new state.add two more
states.
• Name the states Inactive, Cabin control and Remote control.
• Hold the mouse pointer at the edge of Inactive state so that a yellow circle
appears. Click and draw a transition to Cabin control.
Creating transitions.
• The Inside() function is used for checking that the joysticks are within a ±
10% deadband.
• The transition will happen when the Result of the function becomes True.
The condition is that Sw Cabin control Active is True, Sw Radio control
active is not true, and that CabinJoysticksInNeutral is True. This expres-
sion is slightly longer, if you need to make a line break to continue on the
next row, use the _ character. Type in the following:
Result := Sw Cabin control active and not(Sw Radio control active) and _
CabinJoysticksInNeutral
• To exit the state Cabin control, we need a transition from it back to the
Inactive state. The condition is:
Result := Sw Radio control active or not(Sw Cabin control active)
• Add a transition between Remote control and Inactive, the condition is:
Result := not(Sw Radio control active) or Sw Cabin control active
• Now, to make use of the FSM instead of the SMC, change the Function
selector on the channels Boom function and Telescope function to Active
control station.
Function selector.
State parameter
We will now continue to explain the state parameter channel by implementing
multiple driver settings. This is useful when different machine operators want
to have different settings on the crane.
• In the application view, select a state parameter (SP) channel from the tab
Parameters and name it Driver mode.
• In the property inspector, there is a property called States. Add a few states
by clicking on the + sign.
• On the current out channel, change the property Mode selector to the state
parameter Driver mode.
Use a state parameter as the mode selector for a current out channel.
To make it possible for the operator to change settings and mode, we will
need to make the both the current out and the state parameter channel adjust-
able.
• To the left in the project manager, right click on Adjust groups and select
Add Adjust Group. Rename it to Crane.
• From the application view, drag and drop the channels Boom and Driver
mode onto the new adjust group.
Now it is possible to change settings on the current output, and have different
settings in different states of the mode selector. It is also possible to copy set-
tings between modes, see section Adjust groups on page 286.